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
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
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

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

Vertical
NameCountryRepresentativeStatus
Julie L CaldareraItalyIoni Bowcher RENEWAL
Jefferson C MacleadArgentinaElwin Sharvill UNQUALIFIED
Ricardo J CaldareraGermanyElwin Sharvill NEW
Antonio Q AmigonSpainAnna Fali NEW
Izzy D DoeJapanStephen Shaw RENEWAL
Leon C WaycottRussiaIoni Bowcher RENEWAL
Claire C WieserSpainBernardo Dominic QUALIFIED
Chavez B MacleadArgentinaAsiya Javayant NEGOTIATION
Adams R OldroydIndiaStephen Shaw RENEWAL
Costa B DoeCanadaAsiya Javayant UNQUALIFIED
Rodrigues X StockhamFranceBernardo Dominic UNQUALIFIED
Darci N WhobreyCanadaAnna Fali NEW
Kadeem R MarrierCanadaStephen Shaw NEW
Kaitlin X NestleJapanIvan Magalhaes RENEWAL
Leon I BologniaGermanyAnna Fali NEW
Aika L FollerSpainOnyama Limba NEGOTIATION
Aditya A FigeroaUnited KingdomAsiya Javayant NEGOTIATION
Aruna V InouyeUnited KingdomXuxue Feng QUALIFIED
Jones K RulapaughUnited KingdomAsiya Javayant QUALIFIED
Costa H IturbideGermanyElwin Sharvill NEW
Johnson W AlbaresIndiaBernardo Dominic QUALIFIED
Clifford O StensethCanadaAmy Elsner NEGOTIATION
David X GlickGermanyIoni Bowcher RENEWAL
Jefferson V OstroskyRussiaElwin Sharvill PROPOSAL
Murillo N FerenczArgentinaStephen Shaw QUALIFIED
Stacey F PaprockiJapanAnna Fali PROPOSAL
Arvin B GillianBrazilStephen Shaw NEW
Jeanfrancois E NickaSpainAnna Fali NEGOTIATION
Arvin Y MacleadRussiaElwin Sharvill NEGOTIATION
Juan F FollerGermanyAmy Elsner NEGOTIATION
Jones P VocelkaItalyXuxue Feng NEW
Smith Q MarrierRussiaIvan Magalhaes RENEWAL
Greenwood K NickaBrazilOnyama Limba RENEWAL
Alejandro J DoeFranceIvan Magalhaes NEW
Maria D DilliardCanadaAmy Elsner PROPOSAL
Murillo R PoquetteAustraliaBernardo Dominic UNQUALIFIED
Greenwood A WhobreyArgentinaElwin Sharvill PROPOSAL
Ivar T MacleadRussiaAnna Fali NEGOTIATION
Kaitlin W RulapaughGermanyXuxue Feng NEGOTIATION
David I RulapaughFranceIvan Magalhaes UNQUALIFIED
Izzy R NestleFranceXuxue Feng PROPOSAL
Maria M MaletSpainAnna Fali UNQUALIFIED
Antonio C GauchoJapanAnna Fali QUALIFIED
Ricardo H RulapaughUnited KingdomOnyama Limba PROPOSAL
Faith B FigeroaFranceBernardo Dominic NEW
Kadeem L DarakjyCanadaIvan Magalhaes NEGOTIATION
Costa U PoquetteArgentinaAnna Fali QUALIFIED
Ivar D StockhamUnited KingdomStephen Shaw QUALIFIED
David Y IturbideRussiaAnna Fali UNQUALIFIED
Jones H RutaJapanIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Tony H PerinJapanElwin Sharvill NEW
Maisha R OstroskyAustraliaAnna Fali PROPOSAL
Jefferson A DarakjyBrazilAmy Elsner QUALIFIED
Stacey B RoysterSpainAmy Elsner NEW
James N MacleadFranceIvan Magalhaes RENEWAL
Emily D MaletBrazilIvan Magalhaes RENEWAL
Silvio Q AlbaresJapanIvan Magalhaes PROPOSAL
Cody W InouyeGermanyElwin Sharvill NEGOTIATION
Darci Z RutaRussiaIvan Magalhaes NEW
Jennifer U IturbideItalyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan V OstroskyArgentina2026-07-23Commercial Press UNQUALIFIED39Amy Elsner
1001Mujtaba T ButtAustralia2026-08-05Chemel, James L Cpa PROPOSAL71Ivan Magalhaes
1002Faith B SergiBrazil2026-07-20Dorl, James J Esq NEGOTIATION15Asiya Javayant
1003Murillo U RimBrazil2026-08-04Chemel, James L Cpa NEGOTIATION68Amy Elsner
1004Deepesh A BologniaBrazil2026-08-02Dorl, James J Esq PROPOSAL8Onyama Limba
1005Silvio P RulapaughRussia2026-07-30King, Christopher A Esq NEW36Amy Elsner
1006Ivar I PoquetteBrazil2026-07-31King, Christopher A Esq RENEWAL67Anna Fali
1007Francesco X NestleIndia2026-07-23Printing Dimensions PROPOSAL82Stephen Shaw
1008Mayumi N GillianFrance2026-07-30Chemel, James L Cpa UNQUALIFIED0Bernardo Dominic
1009Rodrigues I TollnerArgentina2026-07-12Feltz Printing Service QUALIFIED56Onyama Limba
1010Isabel B PaprockiIndia2026-07-26Feltz Printing Service NEGOTIATION51Xuxue Feng
1011Mayumi Y MarrierItaly2026-07-30Commercial Press NEGOTIATION85Ioni Bowcher
1012Costa C SlusarskiUnited Kingdom2026-08-03Dorl, James J Esq QUALIFIED21Onyama Limba
1013Alejandro E MacleadBrazil2026-07-24Dorl, James J Esq PROPOSAL32Bernardo Dominic
1014Jones Z PerinRussia2026-07-12Chanay, Jeffrey A Esq NEGOTIATION76Asiya Javayant
1015Aika V BriddickSpain2026-08-07Chanay, Jeffrey A Esq PROPOSAL27Ivan Magalhaes
1016Francesco S PerinFrance2026-07-17Benton, John B Jr RENEWAL83Amy Elsner
1017Rodrigues I MaletBrazil2026-08-01Benton, John B Jr NEW68Bernardo Dominic
1018Aruna X RulapaughFrance2026-07-23Chapman, Ross E Esq NEGOTIATION59Bernardo Dominic
1019Deepesh D RoysterItaly2026-07-24Dorl, James J Esq UNQUALIFIED83Amy Elsner
1020Aruna O ShinkoAustralia2026-07-30Feiner Bros UNQUALIFIED49Onyama Limba
1021Silvio B RimUnited Kingdom2026-07-20Truhlar And Truhlar Attys PROPOSAL41Onyama Limba
1022Johnson N SaylorsIndia2026-07-24Truhlar And Truhlar Attys UNQUALIFIED21Elwin Sharvill
1023Kadeem W BowleyJapan2026-07-27Benton, John B Jr PROPOSAL85Ivan Magalhaes
1024Jeanfrancois H DarakjyCanada2026-07-23Dorl, James J Esq UNQUALIFIED39Onyama Limba
1025Ricardo L PaprockiCanada2026-07-26Buckley Miller Wright NEW62Ioni Bowcher
1026Silvio C StockhamBrazil2026-07-23Benton, John B Jr NEW68Ivan Magalhaes
1027Nicolas R OldroydCanada2026-07-26Buckley Miller Wright PROPOSAL94Onyama Limba
1028Ricardo G OstroskyItaly2026-07-22Feiner Bros RENEWAL91Ioni Bowcher
1029Emily D WieserIndia2026-07-18King, Christopher A Esq RENEWAL69Anna Fali
1030Francesco J WhobreyGermany2026-07-11Chemel, James L Cpa RENEWAL1Elwin Sharvill
1031Claire C CampainGermany2026-08-02Printing Dimensions NEW63Ioni Bowcher
1032Octavia R ChuiJapan2026-07-18Buckley Miller Wright RENEWAL43Asiya Javayant
1033Faith T SchemmerJapan2026-07-16Truhlar And Truhlar Attys QUALIFIED50Asiya Javayant
1034Kadeem R ButtItaly2026-07-14Commercial Press RENEWAL70Onyama Limba
1035Costa Q ShinkoJapan2026-07-20Chemel, James L Cpa UNQUALIFIED82Anna Fali
1036David A GauchoCanada2026-07-16Chanay, Jeffrey A Esq NEW15Ioni Bowcher
1037Kadeem P KuskoFrance2026-07-12Truhlar And Truhlar Attys UNQUALIFIED51Anna Fali
1038Juan Z WhobreyGermany2026-07-22Dorl, James J Esq RENEWAL87Elwin Sharvill
1039Jennifer N SergiBrazil2026-07-11Feiner Bros NEGOTIATION74Asiya Javayant
1040Ivar R WhobreyIndia2026-07-25King, Christopher A Esq PROPOSAL54Ivan Magalhaes
1041Isabel T NestleArgentina2026-08-06Chanay, Jeffrey A Esq UNQUALIFIED36Amy Elsner
1042Nicolas G VenereFrance2026-08-07Truhlar And Truhlar Attys UNQUALIFIED59Elwin Sharvill
1043Jones O RimFrance2026-08-02Commercial Press QUALIFIED41Anna Fali
1044Costa A FlosiAustralia2026-07-16Feltz Printing Service UNQUALIFIED19Elwin Sharvill
1045Alejandro P GarufiFrance2026-08-04Truhlar And Truhlar Attys NEGOTIATION44Amy Elsner
1046Darci T IturbideUnited Kingdom2026-07-19Feltz Printing Service NEW17Ivan Magalhaes
1047Morrow F GauchoCanada2026-08-02Rousseaux, Michael Esq QUALIFIED6Amy Elsner
1048Johnson R ButtSpain2026-07-12Chanay, Jeffrey A Esq NEGOTIATION87Elwin Sharvill
1049Ricardo W PaprockiJapan2026-08-01King, Christopher A Esq NEW70Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Octavia D GarufiArgentinaElwin Sharvill QUALIFIED
Aruna M MacleadGermanyAnna Fali RENEWAL
Jeanfrancois K CaudySpainAsiya Javayant NEGOTIATION
Julie F NickaRussiaAmy Elsner NEW
Jennifer M GillianSpainBernardo Dominic QUALIFIED
Smith F MorascaIndiaAnna Fali PROPOSAL
Julie H MarrierSpainIvan Magalhaes RENEWAL
James E AlbaresItalyXuxue Feng NEW
Rodrigues G CaldareraGermanyElwin Sharvill NEGOTIATION
Aruna B TollnerBrazilIoni Bowcher QUALIFIED
Sinclair Q BriddickRussiaElwin Sharvill RENEWAL
Murillo J PoquetteCanadaBernardo Dominic NEW
Faith N RulapaughItalyAmy Elsner UNQUALIFIED
Aruna C RoysterFranceElwin Sharvill NEGOTIATION
Emily Z WhobreyJapanAnna Fali NEW
Aruna X CaldareraUnited KingdomOnyama Limba NEW
Antonio J MacleadSpainStephen Shaw UNQUALIFIED
Leja P GarufiIndiaXuxue Feng QUALIFIED
Smith J PaprockiJapanOnyama Limba NEW
Aruna R CampainArgentinaAsiya Javayant UNQUALIFIED
Maria A TollnerRussiaStephen Shaw PROPOSAL
Sinclair K GauchoJapanStephen Shaw QUALIFIED
Chavez Z MaletSpainBernardo Dominic UNQUALIFIED
Isabel A OldroydIndiaElwin Sharvill QUALIFIED
Julie P ShinkoJapanAsiya Javayant UNQUALIFIED
Leon G OldroydSpainAsiya Javayant PROPOSAL
Jefferson N IturbideCanadaAsiya Javayant QUALIFIED
Alejandro I OstroskyBrazilAmy Elsner RENEWAL
Jennifer K RoysterFranceAmy Elsner QUALIFIED
Aika D VenereSpainAmy Elsner UNQUALIFIED
Costa A GarufiCanadaIvan Magalhaes NEW
Darci A StockhamJapanAsiya Javayant QUALIFIED
Juan W GarufiAustraliaElwin Sharvill UNQUALIFIED
Antonio O WieserGermanyStephen Shaw QUALIFIED
Sinclair K WieserAustraliaOnyama Limba QUALIFIED
Misaki E IturbideAustraliaIvan Magalhaes UNQUALIFIED
Morrow F BowleyAustraliaElwin Sharvill QUALIFIED
Arvin P SlusarskiCanadaAsiya Javayant QUALIFIED
Jefferson K GarufiAustraliaAmy Elsner RENEWAL
James X RutaJapanAsiya Javayant NEW
Clifford E TollnerAustraliaStephen Shaw PROPOSAL
Sinclair H TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood K NickaAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois L MarrierItalyIvan Magalhaes RENEWAL
Mujtaba X AlbaresItalyAmy Elsner UNQUALIFIED
Maisha M DoeAustraliaOnyama Limba RENEWAL
Costa H DoeItalyStephen Shaw NEGOTIATION
Faith E AmigonSpainAnna Fali RENEWAL
Cody Q DarakjyCanadaElwin Sharvill NEGOTIATION
Kaitlin P OldroydItalyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Darci D Malet
Greenwood I Slusarski
Misaki L Kolmetz
Jennifer G Schemmer
James H Briddick
Munro Z Ostrosky
Octavia V Malet
Munro I Venere
Jennifer Q Malet
Octavia V Glick
Wickens P Caldarera
Darci J Whobrey
Aditya V Figeroa
Chavez B Amigon
Leja Q Albares
Jefferson Q Vocelka
Sinclair B Morasca
David V Kusko
Adams C Figeroa
Tony C Venere
Jennifer Z Garufi
Chavez D Chui
Juan V Malet
Antonio U Saylors
Ashley L Chui
Mujtaba G Stockham
Claire T Shinko
Emily X Gillian
Leja X Slusarski
Aditya O Ostrosky
Juan R Paprocki
Aruna H Ostrosky
Julie B Gaucho
Darci H Schemmer
Darci W Shinko
Stacey G Stockham
Kaitlin I Malet
Leja G Figeroa
Misaki X Dilliard
Wickens K Nicka
Morrow T Flosi
Rodrigues Q Glick
Claire Y Dilliard
Sinclair U Ostrosky
Izzy H Flosi
Stacey B Dilliard
Salvatore A Chui
Stacey P Slusarski
David U Saylors
Chavez A Schemmer
IdCountryDate
1000Japan2026-07-16
1001United Kingdom2026-07-31
1002Russia2026-07-29
1003United Kingdom2026-08-07
1004Italy2026-07-26
1005Canada2026-07-18
1006Canada2026-07-30
1007France2026-07-10
1008France2026-07-20
1009Canada2026-08-02
1010India2026-08-03
1011France2026-07-18
1012Germany2026-07-23
1013Russia2026-07-09
1014India2026-07-20
1015Canada2026-07-16
1016Brazil2026-07-21
1017United Kingdom2026-07-26
1018Germany2026-07-10
1019Canada2026-07-26
1020Canada2026-08-01
1021United Kingdom2026-08-02
1022Spain2026-08-05
1023Brazil2026-07-22
1024Germany2026-07-24
1025France2026-07-21
1026United Kingdom2026-08-02
1027United Kingdom2026-07-24
1028Russia2026-07-09
1029France2026-08-07
1030Japan2026-08-05
1031Russia2026-07-09
1032Japan2026-07-24
1033Japan2026-07-30
1034France2026-07-24
1035Argentina2026-07-24
1036Canada2026-07-27
1037United Kingdom2026-07-31
1038France2026-07-28
1039Brazil2026-07-31
1040France2026-08-04
1041Spain2026-08-03
1042United Kingdom2026-07-28
1043Brazil2026-07-10
1044Argentina2026-07-25
1045Brazil2026-08-05
1046Spain2026-07-14
1047Brazil2026-07-20
1048Canada2026-07-19
1049Brazil2026-07-22

On-Demand Data

NameIdCountryDate
Francesco W Inouye1000Brazil2026-08-01
Sinclair Z Butt1001Italy2026-07-15
Silvio T Saylors1002Argentina2026-08-04
Jones U Saylors1003Canada2026-07-29
Deepesh W Malet1004India2026-07-17
Kadeem X Maclead1005Australia2026-07-30
Chavez S Royster1006Brazil2026-07-21
Rodrigues B Vocelka1007Russia2026-07-24
Nicolas D Chui1008France2026-07-11
Johnson D Caldarera1009Japan2026-07-31
Ivar R Iturbide1010Argentina2026-07-12
Mayumi G Darakjy1011United Kingdom2026-07-21
Leja J Maclead1012India2026-08-06
Darci X Albares1013India2026-08-03
Julie X Caldarera1014France2026-08-05
Nicolas C Whobrey1015Argentina2026-08-01
Jennifer J Sergi1016Argentina2026-07-18
Stacey T Rulapaugh1017Russia2026-07-20
Juan J Garufi1018Italy2026-07-13
Costa T Poquette1019India2026-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily H FerenczGermanyIvan Magalhaes NEW
Mujtaba S RimSpainAsiya Javayant NEW
Chavez F OstroskyRussiaElwin Sharvill UNQUALIFIED
Ricardo A RulapaughGermanyXuxue Feng NEGOTIATION
Jeanfrancois K VocelkaBrazilOnyama Limba NEGOTIATION
Mujtaba J FigeroaJapanOnyama Limba NEGOTIATION
Sinclair Q SchemmerSpainAsiya Javayant UNQUALIFIED
Adams I ButtJapanAsiya Javayant QUALIFIED
Kadeem B VocelkaUnited KingdomIvan Magalhaes NEW
Stacey D StensethRussiaStephen Shaw UNQUALIFIED
Maria H CaudyIndiaAmy Elsner NEW
David J TollnerCanadaAmy Elsner NEW
Kaitlin U BologniaItalyIvan Magalhaes NEW
Isabel F FigeroaGermanyStephen Shaw NEW
Leja Q AmigonGermanyIvan Magalhaes PROPOSAL
Alejandro J PaprockiUnited KingdomXuxue Feng NEGOTIATION
Jefferson X DarakjyAustraliaIvan Magalhaes NEGOTIATION
Silvio L BologniaIndiaIvan Magalhaes UNQUALIFIED
Clifford O BowleyIndiaBernardo Dominic UNQUALIFIED
Aruna J AlbaresCanadaBernardo Dominic QUALIFIED
Rodrigues H NickaItalyAsiya Javayant UNQUALIFIED
Misaki C RoysterJapanBernardo Dominic NEGOTIATION
Darci E AlbaresJapanElwin Sharvill QUALIFIED
Tony Y FlosiBrazilBernardo Dominic RENEWAL
Maria N MorascaItalyIoni Bowcher RENEWAL
James B DilliardFranceStephen Shaw NEW
Antonio A RutaGermanyElwin Sharvill RENEWAL
Ricardo N PoquetteArgentinaElwin Sharvill UNQUALIFIED
Kadeem O MaletBrazilIoni Bowcher NEGOTIATION
Alejandro E PoquetteItalyAmy Elsner NEGOTIATION
Clifford X CampainBrazilAnna Fali PROPOSAL
Johnson B GillianUnited KingdomXuxue Feng PROPOSAL
Leon V MacleadRussiaStephen Shaw NEGOTIATION
Alejandro Z GlickAustraliaXuxue Feng NEW
Leon O GauchoArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues K WieserSpainElwin Sharvill NEW
Leja S FlosiUnited KingdomAnna Fali QUALIFIED
Francesco A MaletRussiaXuxue Feng PROPOSAL
Kadeem O SergiItalyIvan Magalhaes NEW
Mujtaba Y RoysterSpainIvan Magalhaes NEW

<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">
            <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>