November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Bangla
Bosnian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Morrow J WieserIndiaOnyama Limba UNQUALIFIED
Jeanfrancois D GarufiJapanIoni Bowcher NEW
David N MorascaArgentinaIoni Bowcher PROPOSAL
James C BriddickFranceXuxue Feng RENEWAL
Clifford O BowleyBrazilBernardo Dominic UNQUALIFIED
Ricardo Z MorascaIndiaAmy Elsner QUALIFIED
Ashley V ChuiIndiaIoni Bowcher UNQUALIFIED
Julie C OstroskySpainIoni Bowcher NEGOTIATION
Johnson X CaldareraUnited KingdomIvan Magalhaes NEW
Jeanfrancois T FigeroaGermanyStephen Shaw RENEWAL
Claire D ShinkoFranceStephen Shaw RENEWAL
Chavez E MaletSpainOnyama Limba NEGOTIATION
Emily Q SchemmerRussiaIoni Bowcher QUALIFIED
Misaki D NickaFranceOnyama Limba PROPOSAL
Faith R DoeJapanIoni Bowcher UNQUALIFIED
Cody F AlbaresCanadaBernardo Dominic UNQUALIFIED
Murillo Z MaletFranceStephen Shaw UNQUALIFIED
Cody Q SlusarskiGermanyAsiya Javayant NEGOTIATION
James L WhobreyFranceAnna Fali NEW
Leja J CaldareraUnited KingdomXuxue Feng PROPOSAL
Ivar W StensethGermanyIoni Bowcher PROPOSAL
Darci E SergiUnited KingdomOnyama Limba NEW
Johnson T WieserBrazilAsiya Javayant UNQUALIFIED
Clifford V WhobreyCanadaAmy Elsner NEGOTIATION
Arvin Y OstroskyIndiaBernardo Dominic NEGOTIATION
Misaki D DoeBrazilAsiya Javayant UNQUALIFIED
Mujtaba D SchemmerAustraliaIoni Bowcher QUALIFIED
Octavia H CaldareraItalyBernardo Dominic UNQUALIFIED
Darci R VenereIndiaElwin Sharvill QUALIFIED
Maisha W SaylorsBrazilIoni Bowcher RENEWAL
Aditya J GauchoJapanElwin Sharvill NEW
Morrow U AlbaresArgentinaIoni Bowcher NEGOTIATION
Darci R RutaFranceAnna Fali QUALIFIED
Claire W GillianSpainAsiya Javayant NEGOTIATION
Izzy J NickaJapanAsiya Javayant RENEWAL
James Y WhobreyIndiaIvan Magalhaes PROPOSAL
Tony Q RulapaughFranceIoni Bowcher QUALIFIED
Mayumi L RulapaughFranceStephen Shaw RENEWAL
Salvatore Q RutaGermanyAsiya Javayant RENEWAL
Ivar M PerinCanadaXuxue Feng RENEWAL
Tony F MaletSpainIvan Magalhaes RENEWAL
Ivar C MarrierJapanAnna Fali PROPOSAL
Darci R OstroskyIndiaStephen Shaw UNQUALIFIED
Sinclair T PaprockiUnited KingdomXuxue Feng QUALIFIED
Aika B GillianRussiaElwin Sharvill NEGOTIATION
Greenwood X TollnerJapanAsiya Javayant UNQUALIFIED
Greenwood S RutaSpainAnna Fali NEGOTIATION
Ivar O NickaGermanyAnna Fali PROPOSAL
Wickens W RimGermanyAsiya Javayant RENEWAL
Leon M AmigonIndiaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci K GarufiCanadaAsiya Javayant NEGOTIATION
Claire V FollerCanadaXuxue Feng UNQUALIFIED
Jeanfrancois L FerenczUnited KingdomIoni Bowcher NEGOTIATION
Costa G SchemmerItalyIvan Magalhaes NEGOTIATION
Mayumi R CaldareraArgentinaStephen Shaw NEW
Faith B SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Jennifer Q IturbideGermanyElwin Sharvill QUALIFIED
Tony G TollnerItalyIoni Bowcher UNQUALIFIED
Stacey L StockhamCanadaBernardo Dominic RENEWAL
Jeanfrancois F MaletItalyBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja D WaycottAustralia2026-09-28Truhlar And Truhlar Attys NEGOTIATION86Stephen Shaw
1001Ashley O StockhamArgentina2026-09-13Morlong Associates NEGOTIATION48Elwin Sharvill
1002Jefferson C MaletGermany2026-09-12Morlong Associates QUALIFIED22Bernardo Dominic
1003Jones H BowleyJapan2026-09-04Buckley Miller Wright RENEWAL18Xuxue Feng
1004Murillo B FlosiUnited Kingdom2026-09-19Rousseaux, Michael Esq RENEWAL83Xuxue Feng
1005Cody B GillianItaly2026-09-04Morlong Associates RENEWAL60Anna Fali
1006Juan B RutaBrazil2026-09-11King, Christopher A Esq PROPOSAL98Bernardo Dominic
1007Jeanfrancois Y DarakjyUnited Kingdom2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED76Asiya Javayant
1008Aruna S KolmetzGermany2026-09-19Feiner Bros NEGOTIATION94Anna Fali
1009Salvatore H TollnerArgentina2026-09-07Dorl, James J Esq NEGOTIATION29Elwin Sharvill
1010Emily X GlickArgentina2026-09-25Commercial Press PROPOSAL3Asiya Javayant
1011Munro Y OldroydArgentina2026-09-19Commercial Press RENEWAL83Asiya Javayant
1012Smith C CaldareraArgentina2026-09-05Morlong Associates NEGOTIATION73Elwin Sharvill
1013Emily B RulapaughAustralia2026-09-21Truhlar And Truhlar Attys PROPOSAL45Onyama Limba
1014Mayumi D MarrierSpain2026-10-02Truhlar And Truhlar Attys RENEWAL2Xuxue Feng
1015Isabel V GillianJapan2026-09-25Morlong Associates NEGOTIATION18Elwin Sharvill
1016Morrow E StensethGermany2026-10-01King, Christopher A Esq RENEWAL22Anna Fali
1017Leja H AmigonGermany2026-09-09Morlong Associates NEW4Ioni Bowcher
1018Rodrigues H MorascaArgentina2026-09-10Benton, John B Jr RENEWAL53Elwin Sharvill
1019Ricardo E FerenczCanada2026-09-03Benton, John B Jr RENEWAL44Bernardo Dominic
1020Rodrigues M PoquetteJapan2026-09-25Commercial Press RENEWAL18Stephen Shaw
1021Johnson I SaylorsJapan2026-09-27Feltz Printing Service NEGOTIATION29Elwin Sharvill
1022Murillo N CampainItaly2026-09-03King, Christopher A Esq NEW83Bernardo Dominic
1023Salvatore E FollerGermany2026-10-02Truhlar And Truhlar Attys NEW70Amy Elsner
1024Aruna N TollnerFrance2026-09-06Feiner Bros PROPOSAL53Asiya Javayant
1025Mayumi T GlickArgentina2026-09-15Commercial Press NEW24Onyama Limba
1026Kadeem W SergiItaly2026-09-30Rangoni Of Florence RENEWAL78Ioni Bowcher
1027Faith Y WhobreyRussia2026-09-12King, Christopher A Esq RENEWAL44Bernardo Dominic
1028Arvin D BologniaBrazil2026-09-28Feltz Printing Service RENEWAL51Amy Elsner
1029Maria K RimRussia2026-09-26Commercial Press NEGOTIATION18Stephen Shaw
1030Murillo Y SchemmerJapan2026-09-15Chanay, Jeffrey A Esq UNQUALIFIED76Onyama Limba
1031Isabel I InouyeJapan2026-09-03Morlong Associates PROPOSAL8Ioni Bowcher
1032Chavez V DilliardRussia2026-09-09Rousseaux, Michael Esq NEW44Amy Elsner
1033Kaitlin R StensethBrazil2026-09-14Chanay, Jeffrey A Esq QUALIFIED47Asiya Javayant
1034Darci B MaletSpain2026-09-10Buckley Miller Wright QUALIFIED68Ioni Bowcher
1035Murillo S NickaSpain2026-09-18Commercial Press PROPOSAL31Ioni Bowcher
1036Stacey G CampainSpain2026-09-21Rousseaux, Michael Esq RENEWAL97Onyama Limba
1037Clifford G NickaSpain2026-09-03Feltz Printing Service QUALIFIED99Elwin Sharvill
1038Salvatore D SlusarskiIndia2026-09-18Chanay, Jeffrey A Esq PROPOSAL87Xuxue Feng
1039Salvatore I AlbaresSpain2026-09-05Truhlar And Truhlar Attys NEGOTIATION58Onyama Limba
1040Izzy D ChuiArgentina2026-09-21Chanay, Jeffrey A Esq PROPOSAL84Stephen Shaw
1041Wickens G BologniaSpain2026-09-20Feltz Printing Service NEW58Ioni Bowcher
1042Faith F ButtBrazil2026-09-03Buckley Miller Wright PROPOSAL76Ioni Bowcher
1043Jefferson A DarakjyFrance2026-10-01Commercial Press PROPOSAL35Ioni Bowcher
1044Costa O DilliardItaly2026-09-05King, Christopher A Esq NEW88Asiya Javayant
1045James E BriddickCanada2026-10-02Morlong Associates NEW63Stephen Shaw
1046Darci R BologniaRussia2026-09-15Commercial Press UNQUALIFIED50Elwin Sharvill
1047David W StockhamGermany2026-09-04Chapman, Ross E Esq NEW56Ivan Magalhaes
1048Izzy M VenereGermany2026-09-06Dorl, James J Esq RENEWAL74Ioni Bowcher
1049Murillo E BologniaGermany2026-09-13Morlong Associates NEW4Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson D FerenczSpainAsiya Javayant NEGOTIATION
Aruna Z WieserBrazilAmy Elsner NEW
Arvin B CampainItalyElwin Sharvill UNQUALIFIED
Jeanfrancois D CaudyCanadaOnyama Limba NEGOTIATION
Claire F BologniaIndiaIvan Magalhaes QUALIFIED
Juan C FerenczFranceIoni Bowcher RENEWAL
Jennifer J WieserItalyIoni Bowcher NEW
Darci F KuskoSpainStephen Shaw QUALIFIED
Jones D MarrierArgentinaAnna Fali NEW
Mujtaba J OstroskyGermanyAsiya Javayant PROPOSAL
Johnson U SergiGermanyAsiya Javayant NEGOTIATION
Juan W CampainIndiaElwin Sharvill RENEWAL
Mayumi P SaylorsArgentinaXuxue Feng QUALIFIED
Isabel A KuskoBrazilElwin Sharvill RENEWAL
Aditya N MorascaFranceBernardo Dominic RENEWAL
Clifford Y RulapaughUnited KingdomAmy Elsner PROPOSAL
Aruna I MaletJapanElwin Sharvill RENEWAL
David Z DarakjyBrazilAmy Elsner NEGOTIATION
Morrow F ChuiRussiaStephen Shaw NEW
Murillo I InouyeGermanyElwin Sharvill NEGOTIATION
David S ChuiSpainAmy Elsner UNQUALIFIED
Mujtaba G DoeItalyElwin Sharvill QUALIFIED
Jeanfrancois B AmigonAustraliaBernardo Dominic QUALIFIED
Leja O VenereIndiaStephen Shaw RENEWAL
Murillo N GillianJapanAnna Fali RENEWAL
Morrow D RimRussiaOnyama Limba NEGOTIATION
Cody F ShinkoIndiaElwin Sharvill NEGOTIATION
Deepesh S OldroydAustraliaElwin Sharvill UNQUALIFIED
Sinclair W WhobreyFranceXuxue Feng UNQUALIFIED
Rodrigues I AmigonBrazilOnyama Limba NEW
Juan E AmigonSpainIvan Magalhaes PROPOSAL
Ivar R SchemmerBrazilElwin Sharvill NEGOTIATION
Tony P OstroskyIndiaBernardo Dominic RENEWAL
Salvatore I PaprockiFranceBernardo Dominic RENEWAL
Wickens W PaprockiUnited KingdomXuxue Feng QUALIFIED
Cody X KolmetzRussiaAnna Fali UNQUALIFIED
Costa Y SlusarskiItalyIoni Bowcher NEGOTIATION
Cody I DoeArgentinaBernardo Dominic NEW
Rodrigues X MacleadFranceAmy Elsner NEGOTIATION
Ricardo F ChuiCanadaAnna Fali QUALIFIED
Ricardo R WaycottAustraliaElwin Sharvill NEW
Emily K DarakjyIndiaIoni Bowcher UNQUALIFIED
Aruna Z KolmetzFranceAsiya Javayant RENEWAL
Maisha I BowleyAustraliaBernardo Dominic PROPOSAL
Mayumi V StockhamCanadaStephen Shaw UNQUALIFIED
Clifford X CampainItalyIvan Magalhaes NEW
David K PerinArgentinaAsiya Javayant QUALIFIED
Clifford Q SchemmerGermanyBernardo Dominic NEGOTIATION
Emily G GillianAustraliaIvan Magalhaes RENEWAL
Cody M WieserRussiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Deepesh K Garufi
Isabel P Venere
Sinclair C Darakjy
Silvio M Bowley
Tony H Royster
Jeanfrancois M Gaucho
Kaitlin T Royster
Smith Y Poquette
Aruna E Morasca
Emily E Caldarera
Alejandro V Caldarera
Smith W Foller
Kadeem H Stenseth
Aruna I Marrier
Smith O Poquette
Julie R Gillian
Stacey Q Sergi
Julie M Venere
Francesco D Waycott
Maria B Nestle
David P Rim
James H Darakjy
Nicolas P Gaucho
Alejandro R Wieser
Jones H Gillian
Isabel Q Slusarski
Aruna T Gaucho
Emily N Butt
Arvin J Flosi
Sinclair R Iturbide
Smith H Maclead
Faith C Nicka
Munro J Kusko
Leon T Kolmetz
James M Oldroyd
Claire C Stenseth
Juan M Campain
Stacey M Kusko
Octavia V Malet
Julie D Marrier
Adams D Rim
Greenwood J Dilliard
Maisha A Foller
Kadeem W Oldroyd
Julie K Marrier
Antonio H Wieser
Munro G Iturbide
Julie R Schemmer
Octavia V Flosi
Jennifer C Ferencz
IdCountryDate
1000United Kingdom2026-10-01
1001Germany2026-09-04
1002United Kingdom2026-09-15
1003Spain2026-09-26
1004Russia2026-09-17
1005Brazil2026-10-02
1006United Kingdom2026-10-01
1007Russia2026-09-30
1008Germany2026-09-07
1009Italy2026-09-04
1010India2026-10-01
1011France2026-09-05
1012Italy2026-09-09
1013India2026-09-06
1014Japan2026-09-06
1015United Kingdom2026-10-01
1016Canada2026-09-22
1017Japan2026-09-24
1018Japan2026-09-27
1019Spain2026-09-27
1020Argentina2026-09-24
1021India2026-09-27
1022France2026-09-09
1023India2026-09-16
1024Japan2026-09-27
1025France2026-09-12
1026Spain2026-09-10
1027France2026-10-02
1028France2026-09-30
1029Brazil2026-09-27
1030France2026-09-21
1031Germany2026-09-17
1032Italy2026-09-26
1033Argentina2026-09-20
1034United Kingdom2026-09-10
1035Germany2026-09-09
1036Brazil2026-09-27
1037Russia2026-09-15
1038Japan2026-09-17
1039Brazil2026-09-23
1040France2026-09-19
1041Canada2026-09-30
1042India2026-09-09
1043Spain2026-09-26
1044Germany2026-09-26
1045Japan2026-10-02
1046Canada2026-09-06
1047France2026-09-11
1048Brazil2026-09-22
1049Germany2026-09-09

On-Demand Data

NameIdCountryDate
Leja G Nicka1000Brazil2026-09-20
Greenwood I Amigon1001Russia2026-09-07
Morrow Y Bowley1002India2026-09-26
Maisha G Morasca1003Argentina2026-09-08
Jeanfrancois N Briddick1004Argentina2026-09-03
Mayumi X Chui1005United Kingdom2026-10-02
Jefferson P Slusarski1006Brazil2026-09-05
Murillo J Iturbide1007Brazil2026-09-12
Deepesh U Briddick1008Spain2026-09-17
Jeanfrancois T Gaucho1009United Kingdom2026-10-01
Misaki O Darakjy1010France2026-09-26
Munro N Sergi1011India2026-09-25
Arvin A Campain1012Italy2026-09-10
Smith M Stockham1013India2026-09-28
Mujtaba T Figeroa1014Australia2026-09-15
Leon A Sergi1015Spain2026-09-18
Nicolas Z Nestle1016Brazil2026-09-20
Ashley E Caldarera1017Australia2026-09-15
Isabel G Caudy1018Brazil2026-09-15
Juan I Ferencz1019Canada2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh R SchemmerArgentinaOnyama Limba NEW
Arvin Z MaletAustraliaAmy Elsner QUALIFIED
Salvatore Y CaldareraUnited KingdomOnyama Limba RENEWAL
Cody M TollnerAustraliaAnna Fali UNQUALIFIED
Maisha V OstroskyRussiaOnyama Limba NEW
Stacey C FlosiFranceAsiya Javayant NEW
Greenwood T BriddickIndiaBernardo Dominic NEW
Ashley H GillianBrazilAnna Fali UNQUALIFIED
Jones I StockhamArgentinaBernardo Dominic QUALIFIED
Izzy F GauchoItalyAsiya Javayant UNQUALIFIED
Maria K AmigonJapanXuxue Feng PROPOSAL
Faith O ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem F RoysterGermanyBernardo Dominic UNQUALIFIED
Maisha O WieserAustraliaXuxue Feng NEGOTIATION
Kadeem V CampainSpainElwin Sharvill QUALIFIED
Izzy S CaldareraRussiaBernardo Dominic NEW
Salvatore G GlickJapanOnyama Limba NEW
James A DoeAustraliaBernardo Dominic PROPOSAL
Munro B OstroskyBrazilAsiya Javayant PROPOSAL
Costa Z DarakjyUnited KingdomAmy Elsner RENEWAL
Adams E GauchoArgentinaAnna Fali PROPOSAL
Alejandro P ButtGermanyStephen Shaw NEW
Clifford I MaletArgentinaIvan Magalhaes NEW
David L SergiFranceBernardo Dominic NEW
Morrow V RimItalyElwin Sharvill NEGOTIATION
Jefferson L NickaRussiaAmy Elsner UNQUALIFIED
Arvin Y OstroskySpainElwin Sharvill RENEWAL
Mujtaba M MacleadFranceOnyama Limba RENEWAL
Greenwood H RimItalyIvan Magalhaes PROPOSAL
Aditya K MacleadItalyStephen Shaw UNQUALIFIED
Adams J FerenczAustraliaBernardo Dominic RENEWAL
Adams A ChuiJapanXuxue Feng NEW
James V WhobreySpainAsiya Javayant PROPOSAL
Deepesh C RoysterUnited KingdomAnna Fali NEGOTIATION
Ricardo T StensethGermanyAsiya Javayant QUALIFIED
Francesco U FollerRussiaXuxue Feng NEGOTIATION
Faith D RulapaughCanadaStephen Shaw QUALIFIED
Cody N WhobreyBrazilAnna Fali QUALIFIED
James U MacleadBrazilBernardo Dominic NEGOTIATION
David M FlosiArgentinaAsiya Javayant UNQUALIFIED

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1" frozenColumnsAlignment="left">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>