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
Rodrigues L SlusarskiIndiaBernardo Dominic QUALIFIED
Claire A BowleySpainElwin Sharvill QUALIFIED
Sinclair A FerenczIndiaAnna Fali NEW
Deepesh K RutaCanadaAmy Elsner NEGOTIATION
Cody L InouyeBrazilXuxue Feng NEGOTIATION
Salvatore R ButtJapanIoni Bowcher RENEWAL
Clifford E GarufiBrazilIoni Bowcher NEW
Juan C AlbaresFranceAmy Elsner PROPOSAL
Jones S DarakjyArgentinaOnyama Limba NEGOTIATION
Claire C TollnerJapanElwin Sharvill NEW
Chavez N TollnerIndiaAmy Elsner PROPOSAL
Jones D VenereJapanElwin Sharvill NEW
Claire W OldroydItalyElwin Sharvill UNQUALIFIED
Ashley Z GarufiItalyIvan Magalhaes PROPOSAL
Darci M BowleyRussiaAnna Fali NEW
Adams I CampainSpainAsiya Javayant PROPOSAL
Antonio H TollnerUnited KingdomIoni Bowcher QUALIFIED
Silvio V SchemmerArgentinaAnna Fali UNQUALIFIED
Antonio O RimCanadaBernardo Dominic PROPOSAL
Ricardo P DarakjyFranceAmy Elsner NEW
Izzy J VenereUnited KingdomXuxue Feng UNQUALIFIED
Alejandro W DilliardUnited KingdomAsiya Javayant RENEWAL
Leon B SchemmerUnited KingdomBernardo Dominic PROPOSAL
Alejandro E VocelkaJapanAsiya Javayant UNQUALIFIED
Stacey Q GauchoRussiaBernardo Dominic NEGOTIATION
Costa H WaycottRussiaIoni Bowcher RENEWAL
Darci O ButtUnited KingdomOnyama Limba NEGOTIATION
Tony O DilliardUnited KingdomStephen Shaw NEGOTIATION
Murillo R RimRussiaBernardo Dominic RENEWAL
Emily G WaycottRussiaAsiya Javayant PROPOSAL
Leja U PerinUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo H KuskoJapanStephen Shaw NEW
Francesco W WhobreyRussiaIvan Magalhaes QUALIFIED
Arvin R VenereUnited KingdomIoni Bowcher PROPOSAL
Mayumi F WhobreyBrazilAsiya Javayant PROPOSAL
Greenwood Y RutaFranceElwin Sharvill QUALIFIED
Maria T FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Jones S PoquetteRussiaIoni Bowcher PROPOSAL
Ashley F CaldareraBrazilBernardo Dominic NEW
Leja L WieserArgentinaAnna Fali NEW
Leja C RulapaughGermanyStephen Shaw RENEWAL
Nicolas V DoeArgentinaIvan Magalhaes UNQUALIFIED
Aika I OstroskyGermanyAsiya Javayant QUALIFIED
Claire I TollnerArgentinaElwin Sharvill PROPOSAL
Kadeem P DilliardItalyStephen Shaw QUALIFIED
Jeanfrancois Y RulapaughBrazilIoni Bowcher NEW
Kaitlin I OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Ivar M PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Greenwood Q MarrierAustraliaAnna Fali NEGOTIATION
Francesco A CaudyJapanElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem Q BologniaBrazilAnna Fali NEW
Arvin Q TollnerArgentinaAnna Fali UNQUALIFIED
Faith S DilliardItalyAnna Fali NEGOTIATION
Jeanfrancois K RimItalyIoni Bowcher NEGOTIATION
Jones J NickaBrazilAnna Fali PROPOSAL
Sinclair N ButtBrazilStephen Shaw PROPOSAL
James L SergiIndiaAmy Elsner PROPOSAL
Tony K GillianFranceElwin Sharvill RENEWAL
Ashley T NickaIndiaAsiya Javayant NEW
Silvio X CaldareraGermanyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues M WieserGermany2025-05-29Commercial Press RENEWAL87Bernardo Dominic
1001Ashley S MarrierGermany2025-05-22Feiner Bros QUALIFIED90Stephen Shaw
1002Murillo H GarufiAustralia2025-06-10Rangoni Of Florence NEW45Stephen Shaw
1003Jefferson B VenereGermany2025-06-09Morlong Associates NEGOTIATION26Bernardo Dominic
1004Jennifer M AmigonSpain2025-06-16Rousseaux, Michael Esq NEGOTIATION30Ivan Magalhaes
1005Leon H ButtAustralia2025-06-13King, Christopher A Esq UNQUALIFIED95Bernardo Dominic
1006Maisha H DoeSpain2025-06-09Rangoni Of Florence UNQUALIFIED12Elwin Sharvill
1007Arvin Q StockhamAustralia2025-05-26Dorl, James J Esq NEGOTIATION65Bernardo Dominic
1008Ivar Q GlickSpain2025-05-31King, Christopher A Esq QUALIFIED60Xuxue Feng
1009Octavia W AlbaresCanada2025-06-15Printing Dimensions UNQUALIFIED84Amy Elsner
1010Morrow B SaylorsGermany2025-06-02Feltz Printing Service NEGOTIATION13Bernardo Dominic
1011Jones J MorascaJapan2025-05-29Chemel, James L Cpa PROPOSAL71Xuxue Feng
1012Aika F MaletSpain2025-05-27Commercial Press RENEWAL23Ioni Bowcher
1013Ivar N WieserItaly2025-06-08Truhlar And Truhlar Attys QUALIFIED65Amy Elsner
1014Jones A MarrierCanada2025-05-19King, Christopher A Esq NEW33Onyama Limba
1015Kaitlin D MaletFrance2025-06-12Feiner Bros NEGOTIATION61Ioni Bowcher
1016Mayumi Z DarakjyGermany2025-05-29Morlong Associates RENEWAL70Onyama Limba
1017Antonio E MacleadBrazil2025-05-26Dorl, James J Esq NEW38Stephen Shaw
1018Leja D DarakjyUnited Kingdom2025-05-29Chemel, James L Cpa RENEWAL78Stephen Shaw
1019Silvio Q WieserArgentina2025-06-03Chanay, Jeffrey A Esq QUALIFIED65Asiya Javayant
1020Francesco X MacleadJapan2025-05-29Buckley Miller Wright NEW1Bernardo Dominic
1021Greenwood Y GlickItaly2025-05-25Feltz Printing Service RENEWAL61Elwin Sharvill
1022Ashley L KolmetzArgentina2025-06-08Printing Dimensions UNQUALIFIED36Bernardo Dominic
1023Aditya S GlickJapan2025-06-12Buckley Miller Wright PROPOSAL57Bernardo Dominic
1024Stacey N CaudyUnited Kingdom2025-06-15Buckley Miller Wright PROPOSAL0Ioni Bowcher
1025Smith N FlosiAustralia2025-05-25Dorl, James J Esq RENEWAL13Bernardo Dominic
1026Cody G AmigonUnited Kingdom2025-06-14Chanay, Jeffrey A Esq QUALIFIED12Bernardo Dominic
1027Arvin P MacleadJapan2025-05-19Rousseaux, Michael Esq NEW35Ioni Bowcher
1028Ivar Q RulapaughFrance2025-05-24Chanay, Jeffrey A Esq PROPOSAL95Elwin Sharvill
1029Ashley R ShinkoGermany2025-06-06Feiner Bros QUALIFIED31Anna Fali
1030Cody A NickaGermany2025-05-30Buckley Miller Wright PROPOSAL97Stephen Shaw
1031Leja E WieserAustralia2025-06-08Feiner Bros NEGOTIATION1Asiya Javayant
1032Julie B OstroskyRussia2025-05-23Chanay, Jeffrey A Esq NEGOTIATION96Asiya Javayant
1033Alejandro N PaprockiFrance2025-06-04Feltz Printing Service UNQUALIFIED92Amy Elsner
1034Jefferson H AlbaresSpain2025-06-01Benton, John B Jr PROPOSAL73Stephen Shaw
1035Izzy S BowleyFrance2025-05-30Chemel, James L Cpa UNQUALIFIED60Asiya Javayant
1036Emily V FerenczGermany2025-05-21Printing Dimensions RENEWAL89Bernardo Dominic
1037Johnson I ChuiArgentina2025-06-05Rousseaux, Michael Esq PROPOSAL73Bernardo Dominic
1038Chavez L GlickFrance2025-06-10Printing Dimensions UNQUALIFIED86Ivan Magalhaes
1039Emily P FerenczArgentina2025-05-18Buckley Miller Wright QUALIFIED33Elwin Sharvill
1040Maria D PaprockiItaly2025-06-16Chemel, James L Cpa QUALIFIED31Asiya Javayant
1041Jefferson L MarrierItaly2025-06-08Benton, John B Jr UNQUALIFIED92Bernardo Dominic
1042Isabel W StensethAustralia2025-05-30Chemel, James L Cpa UNQUALIFIED37Onyama Limba
1043Munro Y SergiArgentina2025-06-02Commercial Press NEW86Onyama Limba
1044Ashley A InouyeArgentina2025-05-29Chanay, Jeffrey A Esq UNQUALIFIED78Ioni Bowcher
1045Francesco K ButtJapan2025-05-18Chapman, Ross E Esq RENEWAL45Ioni Bowcher
1046Ricardo M TollnerGermany2025-05-18Feltz Printing Service NEW68Elwin Sharvill
1047Octavia Y DarakjyJapan2025-05-25Feltz Printing Service RENEWAL46Ivan Magalhaes
1048Julie M MacleadSpain2025-06-10Morlong Associates NEW27Asiya Javayant
1049Tony K CampainUnited Kingdom2025-05-29Rousseaux, Michael Esq PROPOSAL22Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jones X SaylorsUnited KingdomAmy Elsner NEGOTIATION
Sinclair V SchemmerArgentinaStephen Shaw QUALIFIED
Juan D NestleBrazilIoni Bowcher NEW
Morrow T DarakjyUnited KingdomAsiya Javayant PROPOSAL
Clifford H DarakjyArgentinaBernardo Dominic RENEWAL
Emily V MacleadArgentinaAmy Elsner QUALIFIED
Jennifer X OldroydBrazilIoni Bowcher NEGOTIATION
Jeanfrancois N DilliardItalyAnna Fali PROPOSAL
Emily G PerinCanadaAsiya Javayant NEGOTIATION
Johnson D PaprockiItalyAnna Fali NEW
Ivar N WieserRussiaElwin Sharvill NEW
Mujtaba X ChuiRussiaElwin Sharvill NEW
Claire X RimSpainIoni Bowcher RENEWAL
Kaitlin H VocelkaItalyAsiya Javayant NEW
Tony C ChuiIndiaIvan Magalhaes QUALIFIED
Rodrigues F KolmetzRussiaIoni Bowcher UNQUALIFIED
Leja K KolmetzUnited KingdomAmy Elsner NEW
Alejandro H InouyeArgentinaAsiya Javayant NEGOTIATION
Mayumi X KuskoBrazilBernardo Dominic PROPOSAL
James V NestleJapanOnyama Limba NEW
Aruna C SaylorsGermanyAmy Elsner RENEWAL
Juan J VenereSpainOnyama Limba NEW
Kadeem J CaldareraCanadaAnna Fali UNQUALIFIED
Maisha A StensethFranceElwin Sharvill UNQUALIFIED
Ricardo H VocelkaAustraliaElwin Sharvill RENEWAL
Munro K AlbaresJapanElwin Sharvill NEW
Izzy C VenereJapanXuxue Feng UNQUALIFIED
Juan O NickaItalyStephen Shaw QUALIFIED
Aditya G OstroskyFranceAnna Fali NEW
Aika C ChuiCanadaIvan Magalhaes NEW
Jefferson Y ButtRussiaOnyama Limba QUALIFIED
Jefferson I OstroskyJapanOnyama Limba UNQUALIFIED
Tony I RimIndiaIoni Bowcher QUALIFIED
Jefferson X ButtArgentinaElwin Sharvill RENEWAL
James T MacleadFranceAnna Fali NEGOTIATION
James C MaletArgentinaXuxue Feng NEGOTIATION
Leon W PoquetteArgentinaBernardo Dominic UNQUALIFIED
Costa I BowleySpainAmy Elsner NEGOTIATION
Greenwood K PaprockiAustraliaAsiya Javayant NEW
James S VenereArgentinaIvan Magalhaes PROPOSAL
Leja H VenereFranceStephen Shaw PROPOSAL
Maisha U MaletUnited KingdomElwin Sharvill NEW
Ivar J GarufiSpainIvan Magalhaes NEW
Adams J SergiFranceElwin Sharvill QUALIFIED
Morrow P NestleUnited KingdomAmy Elsner QUALIFIED
Wickens R RulapaughJapanAsiya Javayant PROPOSAL
David R TollnerBrazilXuxue Feng QUALIFIED
Kaitlin P PoquetteJapanAmy Elsner UNQUALIFIED
Claire S MaletRussiaStephen Shaw QUALIFIED
Deepesh Q MorascaSpainElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Stacey J Foller
Julie A Ostrosky
Aditya H Perin
Mayumi H Waycott
Ashley Y Waycott
Wickens M Glick
Wickens T Whobrey
Kadeem S Flosi
Claire O Albares
Rodrigues M Tollner
Deepesh Y Marrier
Deepesh U Nicka
Arvin Z Albares
James U Ferencz
Kadeem F Albares
Misaki Q Maclead
Aruna O Garufi
Aditya D Saylors
Silvio E Rim
Kaitlin Q Malet
Faith O Sergi
Smith I Kolmetz
David C Albares
Francesco K Shinko
Cody K Bowley
Claire Z Waycott
Munro V Stenseth
Antonio Y Paprocki
Wickens F Ferencz
Aruna F Maclead
Leja X Paprocki
James I Oldroyd
Octavia J Marrier
Darci A Butt
Alejandro J Foller
Murillo U Wieser
Aika O Bolognia
Jeanfrancois M Kusko
Silvio J Nicka
Jones O Garufi
Alejandro Q Stockham
Stacey G Royster
Leja Y Garufi
Ricardo G Chui
Salvatore K Kolmetz
Morrow W Shinko
Jeanfrancois M Malet
Johnson U Figeroa
Octavia C Albares
Jefferson S Garufi
IdCountryDate
1000Argentina2025-05-31
1001Brazil2025-05-21
1002Brazil2025-05-20
1003Brazil2025-05-20
1004France2025-06-12
1005Germany2025-06-06
1006Argentina2025-05-28
1007Australia2025-06-03
1008India2025-05-20
1009Australia2025-05-28
1010India2025-06-09
1011United Kingdom2025-05-25
1012France2025-05-29
1013Russia2025-06-08
1014Spain2025-05-19
1015Canada2025-06-16
1016Italy2025-05-24
1017United Kingdom2025-06-06
1018India2025-06-10
1019Italy2025-05-29
1020Spain2025-06-07
1021Canada2025-05-22
1022Japan2025-06-08
1023United Kingdom2025-05-24
1024Germany2025-05-24
1025Japan2025-06-07
1026Australia2025-05-30
1027India2025-06-16
1028India2025-05-18
1029Australia2025-05-22
1030France2025-06-16
1031Spain2025-06-12
1032Russia2025-05-18
1033Russia2025-05-29
1034Spain2025-05-19
1035Argentina2025-06-06
1036Brazil2025-06-15
1037India2025-05-29
1038India2025-06-14
1039Japan2025-05-28
1040Spain2025-05-29
1041Spain2025-06-16
1042Germany2025-06-15
1043India2025-05-31
1044Italy2025-06-11
1045Brazil2025-06-11
1046Brazil2025-06-03
1047Russia2025-05-22
1048Spain2025-06-11
1049Germany2025-06-12

On-Demand Data

NameIdCountryDate
Aika R Morasca1000Brazil2025-05-25
Juan B Ruta1001Australia2025-05-21
Cody N Kolmetz1002Italy2025-05-28
Ricardo W Glick1003Russia2025-05-24
Kaitlin T Ostrosky1004Japan2025-05-18
Morrow J Malet1005France2025-06-15
Silvio K Kusko1006United Kingdom2025-05-26
Julie Z Waycott1007Brazil2025-05-25
Juan I Flosi1008Russia2025-06-01
Smith C Stenseth1009Spain2025-06-07
Deepesh Z Bolognia1010Spain2025-05-23
Antonio Y Sergi1011Russia2025-05-21
Isabel M Gaucho1012Japan2025-05-30
Jennifer N Marrier1013Canada2025-05-30
Sinclair Z Royster1014Russia2025-06-06
Claire X Caldarera1015Italy2025-06-14
Antonio X Bowley1016Japan2025-06-02
Octavia P Gillian1017India2025-06-10
Kadeem H Royster1018Italy2025-05-19
Alejandro Z Inouye1019Canada2025-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood T OldroydArgentinaAmy Elsner PROPOSAL
Aika H FlosiIndiaElwin Sharvill QUALIFIED
Claire P ChuiIndiaIvan Magalhaes PROPOSAL
Antonio S ButtFranceIoni Bowcher RENEWAL
Deepesh C RoysterAustraliaBernardo Dominic RENEWAL
Cody Q KuskoItalyIvan Magalhaes NEGOTIATION
Sinclair Y OldroydGermanyStephen Shaw UNQUALIFIED
Leja Q RutaJapanAnna Fali NEGOTIATION
Nicolas L VocelkaFranceAsiya Javayant UNQUALIFIED
Leja X PaprockiGermanyAsiya Javayant NEGOTIATION
Greenwood S GauchoIndiaStephen Shaw UNQUALIFIED
Murillo F SlusarskiIndiaBernardo Dominic RENEWAL
Sinclair W CaudyCanadaStephen Shaw QUALIFIED
Faith X SlusarskiFranceAnna Fali RENEWAL
Stacey C InouyeFranceIvan Magalhaes PROPOSAL
Costa Q PerinBrazilXuxue Feng UNQUALIFIED
Izzy N CampainArgentinaBernardo Dominic PROPOSAL
Deepesh Q BowleyAustraliaAnna Fali QUALIFIED
Maisha H AlbaresItalyXuxue Feng NEW
Johnson S BologniaGermanyIoni Bowcher PROPOSAL
Aditya D RutaRussiaIvan Magalhaes NEGOTIATION
Ivar Y AmigonUnited KingdomElwin Sharvill QUALIFIED
Leon R MarrierItalyOnyama Limba RENEWAL
Maisha N IturbideIndiaIoni Bowcher NEW
Greenwood W OstroskyGermanyBernardo Dominic UNQUALIFIED
Antonio M FigeroaUnited KingdomStephen Shaw RENEWAL
David J VenereSpainStephen Shaw RENEWAL
Isabel B StensethAustraliaStephen Shaw RENEWAL
Clifford Q MaletJapanAnna Fali NEW
James V GlickArgentinaBernardo Dominic UNQUALIFIED
Antonio C StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Smith W GillianCanadaIvan Magalhaes NEGOTIATION
Chavez U GlickItalyStephen Shaw UNQUALIFIED
Adams Y DoeRussiaXuxue Feng NEW
Izzy I PerinArgentinaXuxue Feng RENEWAL
Cody J GauchoJapanBernardo Dominic QUALIFIED
Nicolas Q WaycottItalyOnyama Limba NEW
Stacey O GauchoAustraliaOnyama Limba QUALIFIED
Emily X BologniaItalyAmy Elsner UNQUALIFIED
Maisha F RulapaughArgentinaElwin Sharvill QUALIFIED

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