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
Ivar S StensethItalyStephen Shaw RENEWAL
Johnson X GauchoBrazilAsiya Javayant PROPOSAL
Mayumi B RulapaughIndiaBernardo Dominic QUALIFIED
Darci R InouyeRussiaXuxue Feng UNQUALIFIED
Sinclair Z BologniaBrazilElwin Sharvill RENEWAL
Francesco I FerenczIndiaAnna Fali RENEWAL
Julie Q BologniaSpainAnna Fali NEW
Chavez N MaletAustraliaIvan Magalhaes NEW
Silvio U MorascaAustraliaXuxue Feng PROPOSAL
Jones S RimBrazilAsiya Javayant UNQUALIFIED
Sinclair U StensethIndiaOnyama Limba NEW
Jones B AlbaresGermanyXuxue Feng NEW
Antonio X DoeItalyXuxue Feng PROPOSAL
Aditya Z GlickCanadaBernardo Dominic QUALIFIED
Ashley R BowleyUnited KingdomStephen Shaw RENEWAL
Arvin H TollnerRussiaIoni Bowcher NEGOTIATION
Clifford J BriddickArgentinaBernardo Dominic PROPOSAL
Leja M StensethItalyXuxue Feng RENEWAL
Darci E GarufiIndiaIoni Bowcher NEW
James P NestleUnited KingdomElwin Sharvill RENEWAL
James A RutaFranceBernardo Dominic UNQUALIFIED
Deepesh D WieserAustraliaElwin Sharvill NEW
Aika L BowleyUnited KingdomAnna Fali PROPOSAL
Wickens G BowleyIndiaAsiya Javayant NEGOTIATION
Smith L SergiItalyXuxue Feng NEGOTIATION
Mujtaba O SergiFranceOnyama Limba NEGOTIATION
Mujtaba Z KuskoJapanAmy Elsner QUALIFIED
Juan D SergiRussiaAnna Fali RENEWAL
Chavez A SaylorsSpainOnyama Limba PROPOSAL
Aruna T AmigonUnited KingdomBernardo Dominic NEGOTIATION
Clifford Z GauchoSpainAsiya Javayant UNQUALIFIED
Nicolas S MacleadItalyIoni Bowcher PROPOSAL
Izzy M KolmetzJapanAmy Elsner PROPOSAL
Darci I PoquetteBrazilAsiya Javayant RENEWAL
Adams D RutaBrazilIvan Magalhaes UNQUALIFIED
Jennifer N WieserCanadaStephen Shaw QUALIFIED
Aditya U MorascaGermanyOnyama Limba NEGOTIATION
Jones M BologniaArgentinaIvan Magalhaes NEGOTIATION
Antonio Y FlosiUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez O StensethBrazilBernardo Dominic NEW
Greenwood V ButtAustraliaAmy Elsner QUALIFIED
Kadeem Y FerenczAustraliaElwin Sharvill PROPOSAL
Maria A ButtCanadaAmy Elsner NEGOTIATION
Juan O GauchoGermanyIvan Magalhaes NEGOTIATION
Maria N GillianBrazilAnna Fali PROPOSAL
Murillo I ShinkoSpainOnyama Limba UNQUALIFIED
Greenwood F AmigonGermanyIoni Bowcher RENEWAL
Nicolas Z FerenczJapanXuxue Feng QUALIFIED
Jennifer B MaletBrazilIvan Magalhaes UNQUALIFIED
Misaki S KolmetzSpainStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson F RulapaughBrazilIoni Bowcher NEW
Kaitlin C WhobreyBrazilAmy Elsner UNQUALIFIED
Ricardo Q OldroydAustraliaBernardo Dominic UNQUALIFIED
Costa A MaletSpainElwin Sharvill PROPOSAL
Izzy Z ChuiCanadaIoni Bowcher PROPOSAL
Kadeem F StockhamJapanAnna Fali UNQUALIFIED
James L BowleyCanadaOnyama Limba QUALIFIED
Kaitlin P DoeCanadaBernardo Dominic UNQUALIFIED
Maisha X DarakjyJapanXuxue Feng NEW
Arvin U OstroskyUnited KingdomIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas C WhobreyGermany2024-06-10Benton, John B Jr QUALIFIED6Ivan Magalhaes
1001Kadeem F MaletRussia2024-06-03King, Christopher A Esq NEGOTIATION14Elwin Sharvill
1002Sinclair F RutaArgentina2024-05-31Dorl, James J Esq NEGOTIATION6Amy Elsner
1003Julie E AlbaresItaly2024-06-20Morlong Associates NEGOTIATION62Bernardo Dominic
1004Cody S CaldareraAustralia2024-05-27Commercial Press NEW74Bernardo Dominic
1005Darci A FerenczArgentina2024-05-31Chanay, Jeffrey A Esq QUALIFIED45Asiya Javayant
1006Alejandro K RoysterItaly2024-06-19Chemel, James L Cpa NEGOTIATION51Amy Elsner
1007Izzy P CampainIndia2024-06-08Truhlar And Truhlar Attys UNQUALIFIED22Amy Elsner
1008Mujtaba Y ButtCanada2024-06-08Rousseaux, Michael Esq PROPOSAL1Xuxue Feng
1009Sinclair Q WieserBrazil2024-06-16Rangoni Of Florence RENEWAL98Elwin Sharvill
1010Tony U FigeroaRussia2024-06-02Chapman, Ross E Esq PROPOSAL59Anna Fali
1011Isabel L FigeroaCanada2024-06-18Rangoni Of Florence NEW52Elwin Sharvill
1012Salvatore W PoquetteBrazil2024-06-03Feiner Bros RENEWAL82Bernardo Dominic
1013Leon Q MaletBrazil2024-06-06Buckley Miller Wright PROPOSAL18Stephen Shaw
1014Smith D GillianCanada2024-06-06Morlong Associates NEW65Asiya Javayant
1015Smith K DoeGermany2024-06-11Truhlar And Truhlar Attys RENEWAL61Elwin Sharvill
1016Maria F CampainIndia2024-06-24Benton, John B Jr NEW99Ioni Bowcher
1017Darci W VenereAustralia2024-05-28Chemel, James L Cpa QUALIFIED49Asiya Javayant
1018Francesco Q MaletFrance2024-06-01Chapman, Ross E Esq NEW17Elwin Sharvill
1019Salvatore R GillianAustralia2024-06-21Chapman, Ross E Esq QUALIFIED8Xuxue Feng
1020Misaki W AlbaresIndia2024-06-01Rangoni Of Florence NEGOTIATION67Asiya Javayant
1021Munro U GillianUnited Kingdom2024-06-10Feltz Printing Service QUALIFIED54Xuxue Feng
1022Salvatore R MarrierGermany2024-06-14Chemel, James L Cpa NEGOTIATION95Stephen Shaw
1023Munro A SergiItaly2024-06-03Truhlar And Truhlar Attys UNQUALIFIED58Xuxue Feng
1024Emily N DarakjyItaly2024-06-10Chapman, Ross E Esq PROPOSAL41Xuxue Feng
1025Greenwood L CaldareraJapan2024-06-09Rousseaux, Michael Esq RENEWAL70Elwin Sharvill
1026Nicolas L SlusarskiItaly2024-06-19Buckley Miller Wright RENEWAL65Elwin Sharvill
1027Aruna A DoeRussia2024-06-16Chapman, Ross E Esq QUALIFIED57Anna Fali
1028Jeanfrancois W MaletRussia2024-06-23Chemel, James L Cpa RENEWAL74Elwin Sharvill
1029Faith O NestleCanada2024-06-18King, Christopher A Esq NEGOTIATION14Ioni Bowcher
1030Cody B BowleyFrance2024-06-03Chemel, James L Cpa NEGOTIATION63Anna Fali
1031Alejandro I FollerSpain2024-06-20Dorl, James J Esq NEW29Stephen Shaw
1032Chavez C ShinkoArgentina2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED63Bernardo Dominic
1033Maria X IturbideFrance2024-06-11Rousseaux, Michael Esq NEGOTIATION43Bernardo Dominic
1034Sinclair X WieserIndia2024-05-31Printing Dimensions NEW74Amy Elsner
1035Rodrigues I InouyeGermany2024-06-11Benton, John B Jr QUALIFIED34Anna Fali
1036Aruna J MarrierGermany2024-06-19Chanay, Jeffrey A Esq NEGOTIATION14Ivan Magalhaes
1037Nicolas Z MaletJapan2024-06-09Chemel, James L Cpa NEGOTIATION27Stephen Shaw
1038Smith U CaldareraFrance2024-05-26Morlong Associates NEW27Stephen Shaw
1039Maria R PaprockiAustralia2024-06-17Buckley Miller Wright NEW43Amy Elsner
1040Greenwood J TollnerRussia2024-05-26Rangoni Of Florence NEGOTIATION5Ioni Bowcher
1041Julie R RimAustralia2024-06-18Truhlar And Truhlar Attys NEGOTIATION9Amy Elsner
1042James B GauchoUnited Kingdom2024-06-20Rangoni Of Florence NEGOTIATION98Anna Fali
1043Chavez R DoeUnited Kingdom2024-06-18Commercial Press RENEWAL79Bernardo Dominic
1044Murillo O OldroydJapan2024-06-21Dorl, James J Esq RENEWAL86Ivan Magalhaes
1045Costa U DarakjyJapan2024-06-22Feltz Printing Service QUALIFIED44Stephen Shaw
1046Misaki Z SaylorsJapan2024-06-11Truhlar And Truhlar Attys PROPOSAL87Onyama Limba
1047Murillo B GlickRussia2024-06-16Chemel, James L Cpa UNQUALIFIED51Elwin Sharvill
1048Aditya R DilliardJapan2024-05-29Rangoni Of Florence QUALIFIED59Amy Elsner
1049Jones P DoeItaly2024-06-01Rangoni Of Florence UNQUALIFIED59Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa G VenereUnited KingdomIvan Magalhaes PROPOSAL
Maria L GauchoJapanXuxue Feng RENEWAL
Jennifer Z BowleyBrazilStephen Shaw NEW
Morrow Q SlusarskiAustraliaStephen Shaw QUALIFIED
Tony H SaylorsFranceStephen Shaw NEGOTIATION
Aditya K RulapaughAustraliaXuxue Feng NEGOTIATION
Greenwood D PaprockiRussiaXuxue Feng QUALIFIED
Nicolas I MacleadAustraliaOnyama Limba UNQUALIFIED
Darci X SaylorsIndiaAsiya Javayant PROPOSAL
Deepesh K TollnerArgentinaAnna Fali NEW
Leon Z GarufiBrazilAsiya Javayant QUALIFIED
Jeanfrancois W StensethArgentinaStephen Shaw PROPOSAL
Maria R PerinJapanOnyama Limba RENEWAL
Leon J ChuiFranceBernardo Dominic UNQUALIFIED
Leon F GillianItalyIvan Magalhaes UNQUALIFIED
Silvio F GlickRussiaElwin Sharvill NEGOTIATION
Tony R FlosiAustraliaIoni Bowcher PROPOSAL
Tony T InouyeFranceIoni Bowcher QUALIFIED
Jefferson Z GarufiItalyBernardo Dominic PROPOSAL
Aruna E OldroydItalyIoni Bowcher NEGOTIATION
Antonio O AmigonArgentinaIoni Bowcher QUALIFIED
Isabel Q WieserArgentinaAmy Elsner QUALIFIED
Faith S OstroskyUnited KingdomAnna Fali RENEWAL
Ivar O KuskoGermanyAmy Elsner NEGOTIATION
Ricardo T GauchoItalyElwin Sharvill QUALIFIED
Aika K FlosiGermanyXuxue Feng QUALIFIED
David J PoquetteArgentinaAmy Elsner PROPOSAL
Rodrigues K InouyeFranceAmy Elsner PROPOSAL
Jefferson S AmigonArgentinaBernardo Dominic UNQUALIFIED
Arvin U FigeroaAustraliaAsiya Javayant NEGOTIATION
Maisha Q DilliardRussiaAmy Elsner NEW
Mayumi Y CaudyIndiaXuxue Feng QUALIFIED
Munro Q PoquetteAustraliaOnyama Limba NEW
Leon U DoeJapanXuxue Feng RENEWAL
Cody D DoeJapanIoni Bowcher PROPOSAL
Johnson U MarrierFranceStephen Shaw NEW
Wickens N VenereAustraliaOnyama Limba UNQUALIFIED
Aditya M FlosiUnited KingdomXuxue Feng QUALIFIED
Kaitlin N ChuiGermanyBernardo Dominic UNQUALIFIED
Claire D PoquetteAustraliaBernardo Dominic UNQUALIFIED
Arvin E NickaIndiaAsiya Javayant PROPOSAL
Jeanfrancois T OldroydAustraliaElwin Sharvill PROPOSAL
Jefferson O PoquetteBrazilStephen Shaw UNQUALIFIED
Sinclair S FerenczFranceAsiya Javayant UNQUALIFIED
Rodrigues R RutaBrazilOnyama Limba UNQUALIFIED
Sinclair W TollnerUnited KingdomElwin Sharvill NEGOTIATION
Murillo A WaycottGermanyAmy Elsner NEW
Darci P SlusarskiArgentinaAmy Elsner RENEWAL
Mayumi R SaylorsCanadaAnna Fali NEGOTIATION
Faith Z DarakjyIndiaStephen Shaw PROPOSAL
Frozen Columns
Name
Munro U Rulapaugh
Aditya M Kusko
Jones K Figeroa
Jeanfrancois T Gillian
Jennifer K Gaucho
Adams E Doe
Emily R Malet
Stacey Q Sergi
Jennifer Y Ruta
Stacey E Sergi
Jefferson E Chui
Leon Q Vocelka
Sinclair T Shinko
Rodrigues A Ruta
Nicolas S Foller
Aditya M Bolognia
Stacey W Caudy
Leja G Bolognia
Antonio D Rim
Leon Z Doe
Aruna Z Kusko
Deepesh Q Ferencz
Maria K Nicka
Arvin W Ostrosky
Costa D Whobrey
Leon A Malet
Leja T Chui
Izzy Q Stockham
Aditya M Amigon
Isabel I Vocelka
Jones G Briddick
Antonio S Bowley
Aruna K Inouye
Sinclair B Nicka
Johnson I Stenseth
Deepesh B Perin
Adams J Albares
Maria Z Albares
Leon G Amigon
Salvatore E Caldarera
Jones N Darakjy
Emily X Figeroa
Juan D Rim
Julie Z Butt
Wickens L Glick
Ivar F Garufi
Costa V Malet
Claire P Campain
Mayumi V Schemmer
Smith U Maclead
IdCountryDate
1000Germany2024-06-05
1001Australia2024-06-08
1002Canada2024-05-31
1003France2024-06-13
1004France2024-06-08
1005Canada2024-06-11
1006Russia2024-05-29
1007Russia2024-06-19
1008Italy2024-06-20
1009Italy2024-06-13
1010Spain2024-06-23
1011Italy2024-06-01
1012Italy2024-06-19
1013France2024-06-10
1014Spain2024-05-30
1015Canada2024-06-11
1016Australia2024-06-22
1017Italy2024-05-26
1018Argentina2024-06-11
1019Brazil2024-06-12
1020Argentina2024-05-30
1021Germany2024-06-09
1022Canada2024-06-20
1023Russia2024-06-04
1024Italy2024-06-09
1025Canada2024-06-19
1026India2024-06-17
1027Argentina2024-05-29
1028Germany2024-06-02
1029Russia2024-06-22
1030Japan2024-06-11
1031Spain2024-06-20
1032United Kingdom2024-06-16
1033Canada2024-06-11
1034Canada2024-06-23
1035Italy2024-06-10
1036Italy2024-06-18
1037Brazil2024-06-15
1038Germany2024-05-27
1039United Kingdom2024-06-18
1040India2024-05-29
1041Germany2024-06-19
1042United Kingdom2024-06-03
1043Brazil2024-06-15
1044United Kingdom2024-06-09
1045Russia2024-06-23
1046France2024-06-08
1047France2024-06-19
1048Australia2024-06-16
1049Brazil2024-06-14

On-Demand Data

NameIdCountryDate
James G Nicka1000Argentina2024-06-20
Salvatore V Schemmer1001Argentina2024-05-30
Jeanfrancois Z Stockham1002India2024-06-16
Costa A Gillian1003Russia2024-06-12
Jones J Iturbide1004Spain2024-06-15
Faith R Stenseth1005Germany2024-06-16
Juan W Bowley1006Argentina2024-06-21
Smith I Ruta1007Germany2024-06-18
Ashley P Nestle1008France2024-06-11
Aditya N Stenseth1009United Kingdom2024-06-13
David X Garufi1010Germany2024-06-22
Kaitlin U Bowley1011Spain2024-06-22
Darci V Rim1012India2024-06-22
Costa Z Rim1013Canada2024-06-21
Claire O Figeroa1014Russia2024-06-12
Darci A Venere1015Argentina2024-06-24
Faith C Ruta1016Italy2024-06-13
Deepesh P Venere1017Japan2024-06-05
Darci T Oldroyd1018Germany2024-06-03
Deepesh X Garufi1019Canada2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire X MaletBrazilAmy Elsner NEW
Maria A PoquetteAustraliaAmy Elsner UNQUALIFIED
Isabel H WieserCanadaBernardo Dominic NEW
Aika J GauchoArgentinaIoni Bowcher NEGOTIATION
Arvin O PoquetteArgentinaIvan Magalhaes NEGOTIATION
Izzy Y ButtFranceStephen Shaw RENEWAL
Leja B FigeroaJapanAsiya Javayant QUALIFIED
Kadeem W NestleJapanAmy Elsner RENEWAL
Juan F RulapaughFranceElwin Sharvill QUALIFIED
Leon X RulapaughAustraliaOnyama Limba RENEWAL
Alejandro S CampainBrazilAsiya Javayant UNQUALIFIED
Leon H NestleSpainOnyama Limba NEW
Mayumi S BowleyItalyAsiya Javayant UNQUALIFIED
Smith H RoysterUnited KingdomXuxue Feng NEGOTIATION
Kadeem E CampainAustraliaStephen Shaw NEW
Adams Y CaudyArgentinaAnna Fali UNQUALIFIED
Stacey N IturbideGermanyBernardo Dominic QUALIFIED
Claire Z GillianIndiaAmy Elsner NEW
Sinclair W VenereUnited KingdomOnyama Limba RENEWAL
Munro C GillianGermanyXuxue Feng NEW
Arvin R RoysterAustraliaAnna Fali QUALIFIED
Munro L OldroydRussiaOnyama Limba UNQUALIFIED
Stacey G MacleadUnited KingdomElwin Sharvill QUALIFIED
Adams T CaudyArgentinaAmy Elsner NEW
Wickens N OstroskyBrazilElwin Sharvill PROPOSAL
James H CaldareraCanadaAsiya Javayant NEGOTIATION
Ricardo R DilliardUnited KingdomAnna Fali NEGOTIATION
Ivar A CaudyAustraliaAsiya Javayant UNQUALIFIED
Alejandro L StensethSpainAsiya Javayant RENEWAL
Rodrigues S InouyeUnited KingdomXuxue Feng NEW
Faith G DilliardBrazilAsiya Javayant RENEWAL
Darci N RutaBrazilAnna Fali RENEWAL
Rodrigues W IturbideAustraliaXuxue Feng PROPOSAL
Arvin O StockhamSpainBernardo Dominic PROPOSAL
Isabel Q OstroskySpainXuxue Feng RENEWAL
Costa C SlusarskiCanadaAmy Elsner QUALIFIED
Aruna W TollnerFranceAmy Elsner RENEWAL
Jennifer P NickaRussiaOnyama Limba NEGOTIATION
Maisha I SergiUnited KingdomXuxue Feng QUALIFIED
Aditya O GillianFranceElwin Sharvill RENEWAL

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