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
Adams V GillianAustraliaAsiya Javayant PROPOSAL
Ivar Q ButtAustraliaBernardo Dominic NEGOTIATION
James A MorascaFranceAnna Fali NEGOTIATION
Smith R FlosiAustraliaIvan Magalhaes NEGOTIATION
Jones K KuskoGermanyOnyama Limba NEGOTIATION
Munro L GlickIndiaAnna Fali UNQUALIFIED
Salvatore R FlosiIndiaAnna Fali QUALIFIED
Wickens M SaylorsJapanIoni Bowcher NEGOTIATION
James E BowleyAustraliaIoni Bowcher RENEWAL
Aruna V ChuiSpainStephen Shaw NEGOTIATION
Murillo R FlosiJapanElwin Sharvill RENEWAL
Johnson D WieserArgentinaAnna Fali RENEWAL
Aruna P MaletArgentinaAnna Fali UNQUALIFIED
Juan A GarufiUnited KingdomStephen Shaw RENEWAL
Faith W ButtAustraliaAsiya Javayant UNQUALIFIED
Salvatore C FollerItalyElwin Sharvill PROPOSAL
Darci F PoquetteRussiaAsiya Javayant UNQUALIFIED
Silvio E KuskoRussiaIvan Magalhaes QUALIFIED
Cody O OldroydAustraliaAmy Elsner UNQUALIFIED
Morrow A GillianSpainElwin Sharvill PROPOSAL
Deepesh P StensethAustraliaXuxue Feng NEGOTIATION
Isabel M MorascaArgentinaXuxue Feng QUALIFIED
Isabel L RulapaughArgentinaOnyama Limba PROPOSAL
Aika O KuskoUnited KingdomStephen Shaw QUALIFIED
Munro O MaletItalyIvan Magalhaes QUALIFIED
Juan B BologniaAustraliaStephen Shaw NEGOTIATION
Isabel L GauchoBrazilAmy Elsner QUALIFIED
Maria J GillianCanadaIvan Magalhaes RENEWAL
Julie S CaldareraSpainBernardo Dominic NEGOTIATION
Julie B RutaUnited KingdomIoni Bowcher UNQUALIFIED
Darci P FerenczCanadaXuxue Feng PROPOSAL
Aditya V RutaBrazilStephen Shaw NEW
Rodrigues T BowleySpainIvan Magalhaes RENEWAL
Cody U TollnerAustraliaAnna Fali UNQUALIFIED
Clifford C DarakjyGermanyAnna Fali NEW
Rodrigues X DilliardGermanyElwin Sharvill UNQUALIFIED
Darci R OldroydCanadaBernardo Dominic QUALIFIED
Nicolas R VenereFranceOnyama Limba UNQUALIFIED
Aika R KolmetzIndiaStephen Shaw PROPOSAL
Cody X NestleIndiaElwin Sharvill PROPOSAL
Ricardo K AmigonRussiaBernardo Dominic PROPOSAL
Aika S FigeroaJapanStephen Shaw UNQUALIFIED
Chavez F ButtArgentinaElwin Sharvill NEGOTIATION
Morrow P MaletArgentinaBernardo Dominic NEGOTIATION
Silvio G MacleadRussiaIoni Bowcher QUALIFIED
Maisha X MarrierCanadaIvan Magalhaes RENEWAL
Jennifer I AmigonIndiaElwin Sharvill QUALIFIED
Johnson K IturbideRussiaElwin Sharvill NEW
Darci Q PaprockiCanadaXuxue Feng UNQUALIFIED
Murillo P AmigonUnited KingdomXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh V ButtFranceAmy Elsner UNQUALIFIED
Jeanfrancois L CaldareraCanadaIoni Bowcher QUALIFIED
Faith S NestleItalyAnna Fali NEGOTIATION
Leon A RoysterSpainElwin Sharvill RENEWAL
Emily X DilliardAustraliaIvan Magalhaes PROPOSAL
Leja V InouyeBrazilAmy Elsner RENEWAL
James B ChuiAustraliaIvan Magalhaes PROPOSAL
Salvatore H BowleyAustraliaStephen Shaw PROPOSAL
Misaki J PaprockiCanadaAsiya Javayant NEGOTIATION
Sinclair B GarufiIndiaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson U MaletJapan2026-06-19Feiner Bros NEW43Asiya Javayant
1001Cody F StockhamBrazil2026-06-20Feiner Bros UNQUALIFIED31Ivan Magalhaes
1002Julie V CaudyCanada2026-07-02Rousseaux, Michael Esq PROPOSAL65Xuxue Feng
1003Darci P TollnerBrazil2026-07-06Buckley Miller Wright QUALIFIED52Xuxue Feng
1004Jeanfrancois F RutaArgentina2026-06-22Feiner Bros QUALIFIED5Stephen Shaw
1005Stacey E KuskoUnited Kingdom2026-07-12Dorl, James J Esq UNQUALIFIED56Asiya Javayant
1006Emily H ChuiJapan2026-07-02Morlong Associates NEGOTIATION25Asiya Javayant
1007Sinclair I AlbaresAustralia2026-07-02Chemel, James L Cpa UNQUALIFIED17Ivan Magalhaes
1008Antonio M ShinkoUnited Kingdom2026-07-14Truhlar And Truhlar Attys NEW25Xuxue Feng
1009Silvio P IturbideUnited Kingdom2026-06-22Feltz Printing Service NEW88Elwin Sharvill
1010Morrow A FlosiArgentina2026-07-15Rousseaux, Michael Esq NEW26Stephen Shaw
1011Isabel Z FlosiUnited Kingdom2026-07-17Chanay, Jeffrey A Esq QUALIFIED74Ivan Magalhaes
1012Misaki T VocelkaUnited Kingdom2026-06-18Chapman, Ross E Esq QUALIFIED94Elwin Sharvill
1013James L MarrierUnited Kingdom2026-06-26Chapman, Ross E Esq UNQUALIFIED5Xuxue Feng
1014Stacey N FollerBrazil2026-07-02Chemel, James L Cpa QUALIFIED44Onyama Limba
1015Kadeem R MaletIndia2026-06-25Chemel, James L Cpa NEGOTIATION35Ivan Magalhaes
1016Kaitlin H RimAustralia2026-06-30Feiner Bros RENEWAL69Stephen Shaw
1017David A WaycottJapan2026-07-14Commercial Press NEW26Elwin Sharvill
1018Ivar B RimIndia2026-06-19Chapman, Ross E Esq NEGOTIATION10Onyama Limba
1019Aika R KuskoArgentina2026-07-07Dorl, James J Esq QUALIFIED88Elwin Sharvill
1020Ivar U SaylorsIndia2026-06-25Feltz Printing Service UNQUALIFIED73Bernardo Dominic
1021Aruna F FigeroaItaly2026-06-29Printing Dimensions NEW59Ivan Magalhaes
1022Claire M DoeUnited Kingdom2026-07-09King, Christopher A Esq PROPOSAL43Bernardo Dominic
1023Octavia W RulapaughIndia2026-07-06Benton, John B Jr NEGOTIATION34Anna Fali
1024Aditya P FerenczItaly2026-07-03Benton, John B Jr RENEWAL60Bernardo Dominic
1025Stacey G VocelkaIndia2026-06-19Rangoni Of Florence RENEWAL75Bernardo Dominic
1026Ricardo U StensethFrance2026-06-20Chanay, Jeffrey A Esq NEGOTIATION38Asiya Javayant
1027Izzy K BowleyRussia2026-07-12Morlong Associates NEW62Ioni Bowcher
1028Morrow S VenereSpain2026-06-23Rousseaux, Michael Esq PROPOSAL71Ioni Bowcher
1029James F MaletBrazil2026-07-01Chemel, James L Cpa RENEWAL61Stephen Shaw
1030Nicolas U BriddickSpain2026-07-13Chapman, Ross E Esq UNQUALIFIED22Elwin Sharvill
1031Jennifer L PoquetteAustralia2026-07-13King, Christopher A Esq NEGOTIATION52Elwin Sharvill
1032Isabel Y FerenczGermany2026-06-26Chanay, Jeffrey A Esq PROPOSAL6Elwin Sharvill
1033Emily E DoeAustralia2026-07-09Dorl, James J Esq RENEWAL6Xuxue Feng
1034Adams N StockhamItaly2026-06-28King, Christopher A Esq NEGOTIATION60Ivan Magalhaes
1035Jennifer W BologniaFrance2026-06-20Commercial Press RENEWAL26Asiya Javayant
1036Stacey R SchemmerItaly2026-06-19Benton, John B Jr QUALIFIED26Onyama Limba
1037Cody W MacleadGermany2026-07-05Dorl, James J Esq NEW71Onyama Limba
1038Smith X WieserCanada2026-06-18Chapman, Ross E Esq UNQUALIFIED20Xuxue Feng
1039Salvatore D BowleyCanada2026-06-21Morlong Associates UNQUALIFIED92Ioni Bowcher
1040Antonio B KuskoJapan2026-07-12Chanay, Jeffrey A Esq NEW54Asiya Javayant
1041Stacey C WieserJapan2026-06-29Printing Dimensions NEW32Ivan Magalhaes
1042Jennifer I WieserItaly2026-07-16Benton, John B Jr NEW56Anna Fali
1043Aditya C BologniaItaly2026-07-07Morlong Associates NEGOTIATION17Ivan Magalhaes
1044Maria A MacleadRussia2026-07-17Morlong Associates NEW64Amy Elsner
1045Mayumi T RimUnited Kingdom2026-07-14Chemel, James L Cpa NEGOTIATION10Stephen Shaw
1046Kaitlin M SlusarskiIndia2026-06-22Morlong Associates NEW63Ioni Bowcher
1047Isabel X MaletFrance2026-07-15Benton, John B Jr NEGOTIATION55Elwin Sharvill
1048Stacey I WaycottArgentina2026-06-22Feltz Printing Service NEGOTIATION50Anna Fali
1049Jefferson V WieserBrazil2026-06-23King, Christopher A Esq NEGOTIATION80Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ivar R KolmetzRussiaIvan Magalhaes UNQUALIFIED
Murillo L NestleRussiaBernardo Dominic QUALIFIED
Faith S StensethUnited KingdomXuxue Feng NEGOTIATION
David O MacleadUnited KingdomXuxue Feng QUALIFIED
Claire A SchemmerRussiaXuxue Feng PROPOSAL
Morrow C GlickAustraliaAnna Fali NEW
Izzy K GillianIndiaElwin Sharvill RENEWAL
Maria C SlusarskiFranceAnna Fali PROPOSAL
Morrow G PerinGermanyAsiya Javayant PROPOSAL
Tony B MarrierBrazilElwin Sharvill RENEWAL
Arvin U PerinBrazilAsiya Javayant NEW
Ivar G VocelkaJapanAnna Fali NEGOTIATION
Salvatore P MaletItalyAnna Fali PROPOSAL
Costa W VocelkaAustraliaOnyama Limba QUALIFIED
Mujtaba B RoysterIndiaXuxue Feng RENEWAL
Salvatore I PerinJapanElwin Sharvill PROPOSAL
Kadeem U FollerGermanyIvan Magalhaes NEW
Octavia G GillianJapanXuxue Feng NEGOTIATION
Kadeem L KolmetzIndiaAsiya Javayant NEW
Salvatore Z InouyeItalyBernardo Dominic RENEWAL
Aruna L FigeroaJapanOnyama Limba QUALIFIED
Antonio M WaycottGermanyAmy Elsner RENEWAL
Antonio O MorascaUnited KingdomStephen Shaw RENEWAL
Costa V ShinkoGermanyIvan Magalhaes NEGOTIATION
Maisha N WieserAustraliaStephen Shaw QUALIFIED
Jones I FerenczRussiaBernardo Dominic NEW
Isabel O InouyeUnited KingdomStephen Shaw NEGOTIATION
Kadeem T FigeroaJapanAmy Elsner RENEWAL
Costa E StockhamArgentinaIoni Bowcher UNQUALIFIED
Darci Z GillianAustraliaAmy Elsner QUALIFIED
Alejandro E PaprockiRussiaXuxue Feng PROPOSAL
Stacey P FerenczAustraliaStephen Shaw NEW
Ivar I AlbaresAustraliaIvan Magalhaes RENEWAL
Emily V WieserAustraliaBernardo Dominic NEGOTIATION
Aruna N AlbaresCanadaBernardo Dominic NEW
Deepesh C FollerAustraliaOnyama Limba PROPOSAL
Murillo O GauchoIndiaStephen Shaw NEGOTIATION
Ricardo K WieserFranceAsiya Javayant NEGOTIATION
Nicolas N ButtAustraliaIvan Magalhaes UNQUALIFIED
Smith K PoquetteCanadaIoni Bowcher PROPOSAL
Kaitlin G GarufiRussiaIoni Bowcher NEW
Ashley L SchemmerJapanBernardo Dominic PROPOSAL
Faith V MorascaArgentinaIoni Bowcher RENEWAL
Kadeem X DoeFranceOnyama Limba QUALIFIED
James H GarufiGermanyAmy Elsner RENEWAL
Juan N DoeJapanOnyama Limba RENEWAL
Jeanfrancois E ChuiArgentinaXuxue Feng UNQUALIFIED
Juan X GillianJapanStephen Shaw PROPOSAL
Clifford S TollnerAustraliaStephen Shaw RENEWAL
Morrow I FollerItalyElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Jeanfrancois O Caldarera
Aditya Q Venere
Tony P Rulapaugh
Antonio K Campain
David Y Chui
Sinclair V Rim
Smith K Albares
Alejandro A Amigon
Francesco L Albares
Octavia F Royster
Octavia H Chui
Arvin G Garufi
Aruna M Sergi
Alejandro N Stockham
Ivar G Ferencz
Francesco M Inouye
Antonio W Oldroyd
Smith B Vocelka
Chavez N Malet
Salvatore G Amigon
Aika O Maclead
Aika X Rim
Aruna K Gillian
Rodrigues J Ferencz
Murillo E Rim
Nicolas P Maclead
Kaitlin U Stenseth
Murillo N Malet
Maria A Venere
Julie E Marrier
Maria P Briddick
Isabel M Figeroa
Arvin L Doe
Misaki U Foller
Aruna K Schemmer
Darci G Malet
Ivar S Doe
Aika Y Dilliard
Isabel E Flosi
Jennifer O Nestle
Johnson X Amigon
Kaitlin A Tollner
Mujtaba K Bolognia
Isabel H Nestle
Leon A Glick
Rodrigues Q Glick
Julie C Slusarski
Tony K Inouye
Leon R Nicka
Leon G Foller
IdCountryDate
1000India2026-06-27
1001Italy2026-07-16
1002Canada2026-07-13
1003Australia2026-07-10
1004Germany2026-07-15
1005Italy2026-07-15
1006Japan2026-06-29
1007United Kingdom2026-07-15
1008Japan2026-06-21
1009France2026-06-29
1010Australia2026-06-23
1011United Kingdom2026-07-07
1012Italy2026-07-05
1013Argentina2026-07-05
1014France2026-07-02
1015Canada2026-06-24
1016Italy2026-06-28
1017Argentina2026-07-02
1018Brazil2026-07-10
1019Germany2026-06-18
1020Italy2026-06-20
1021Japan2026-07-02
1022Italy2026-07-10
1023France2026-07-09
1024Spain2026-07-02
1025Australia2026-06-22
1026Australia2026-06-26
1027Germany2026-06-23
1028Brazil2026-06-25
1029Canada2026-07-03
1030France2026-07-14
1031Japan2026-06-23
1032Japan2026-06-22
1033Canada2026-06-19
1034Canada2026-06-26
1035India2026-06-27
1036Germany2026-07-16
1037Germany2026-07-15
1038France2026-07-13
1039Japan2026-06-23
1040Italy2026-07-03
1041France2026-06-25
1042Russia2026-07-05
1043United Kingdom2026-06-27
1044Australia2026-06-22
1045Germany2026-06-29
1046Argentina2026-07-17
1047France2026-06-23
1048Spain2026-07-13
1049United Kingdom2026-07-09

On-Demand Data

NameIdCountryDate
Kadeem B Wieser1000Australia2026-07-04
Costa F Foller1001Japan2026-07-13
Leon D Perin1002India2026-07-05
Kaitlin K Butt1003Japan2026-07-05
Deepesh C Stockham1004Spain2026-07-03
Izzy W Gillian1005India2026-06-27
Deepesh Q Ferencz1006Australia2026-07-14
Cody O Marrier1007Canada2026-07-16
Jennifer I Bowley1008Brazil2026-06-18
Morrow Z Poquette1009Australia2026-06-26
Rodrigues M Flosi1010Italy2026-07-14
Jennifer X Flosi1011Argentina2026-07-08
Wickens A Bowley1012France2026-07-08
Maria L Marrier1013Brazil2026-07-01
Faith Q Butt1014Australia2026-06-18
Francesco W Stockham1015Brazil2026-07-06
Smith Y Rim1016Argentina2026-06-20
Rodrigues Y Darakjy1017Australia2026-07-13
Maria X Stenseth1018Brazil2026-06-22
Maria C Paprocki1019Argentina2026-06-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas C OldroydArgentinaIvan Magalhaes NEW
Stacey D SergiSpainIvan Magalhaes NEGOTIATION
Kadeem T WhobreyIndiaStephen Shaw RENEWAL
Maisha X SlusarskiAustraliaIvan Magalhaes RENEWAL
Maisha C PoquetteAustraliaXuxue Feng NEGOTIATION
Munro Y ButtJapanAmy Elsner PROPOSAL
Murillo K OstroskyGermanyIoni Bowcher NEW
Aruna E NickaUnited KingdomXuxue Feng QUALIFIED
Ivar Z IturbideArgentinaOnyama Limba RENEWAL
Misaki E BowleyBrazilStephen Shaw NEW
Salvatore N AmigonArgentinaOnyama Limba QUALIFIED
Mayumi H MaletItalyElwin Sharvill RENEWAL
Mujtaba N ChuiArgentinaAnna Fali NEGOTIATION
Adams N MaletArgentinaXuxue Feng PROPOSAL
Greenwood P IturbideBrazilStephen Shaw PROPOSAL
Cody K FerenczSpainOnyama Limba NEW
Jones N InouyeFranceAmy Elsner QUALIFIED
Jennifer H MorascaJapanAnna Fali RENEWAL
Kadeem V SaylorsSpainStephen Shaw UNQUALIFIED
Adams N AlbaresAustraliaAsiya Javayant RENEWAL
David C SchemmerFranceAsiya Javayant UNQUALIFIED
Chavez Y CaudyUnited KingdomIoni Bowcher NEW
Cody L WaycottItalyStephen Shaw NEW
Maisha B RutaAustraliaIoni Bowcher RENEWAL
Costa A MacleadGermanyBernardo Dominic RENEWAL
Smith H VocelkaGermanyAnna Fali PROPOSAL
Smith Y DarakjyIndiaOnyama Limba QUALIFIED
Silvio V NestleSpainStephen Shaw PROPOSAL
Leon A NickaItalyAmy Elsner NEW
James O AlbaresJapanIoni Bowcher QUALIFIED
Emily E MarrierItalyElwin Sharvill PROPOSAL
Murillo F DarakjyRussiaAnna Fali NEW
Stacey Z SergiRussiaAsiya Javayant NEGOTIATION
Aditya N SergiArgentinaOnyama Limba QUALIFIED
Ivar D AmigonRussiaElwin Sharvill QUALIFIED
Nicolas A AmigonAustraliaIvan Magalhaes NEW
Silvio Z MacleadGermanyElwin Sharvill NEGOTIATION
Darci M VocelkaUnited KingdomElwin Sharvill QUALIFIED
Clifford X FlosiFranceAnna Fali UNQUALIFIED
Izzy G CaudyCanadaElwin Sharvill 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>