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
Cody A ButtItalyElwin Sharvill QUALIFIED
Kadeem W TollnerBrazilAnna Fali NEW
Aruna L AlbaresCanadaAmy Elsner NEW
Octavia C WaycottFranceXuxue Feng UNQUALIFIED
Maria J BowleyArgentinaAsiya Javayant PROPOSAL
Mujtaba S MaletFranceIvan Magalhaes RENEWAL
Nicolas V AlbaresAustraliaXuxue Feng NEW
Mujtaba T KolmetzRussiaOnyama Limba QUALIFIED
Clifford Q CaudyAustraliaAnna Fali NEW
Claire R NickaIndiaAmy Elsner NEW
Adams R PerinBrazilIoni Bowcher UNQUALIFIED
Ashley P FlosiRussiaIoni Bowcher UNQUALIFIED
Wickens U WhobreyItalyIoni Bowcher RENEWAL
Greenwood X CaudyFranceAmy Elsner UNQUALIFIED
Sinclair C BriddickUnited KingdomAnna Fali NEW
Antonio G KuskoItalyElwin Sharvill UNQUALIFIED
Arvin M ShinkoUnited KingdomElwin Sharvill PROPOSAL
Misaki E OldroydGermanyElwin Sharvill NEGOTIATION
Faith S InouyeIndiaBernardo Dominic PROPOSAL
Emily W CampainRussiaOnyama Limba NEGOTIATION
Salvatore R BriddickIndiaOnyama Limba RENEWAL
Leja H DoeUnited KingdomStephen Shaw UNQUALIFIED
Salvatore V KuskoCanadaStephen Shaw UNQUALIFIED
Mujtaba M DilliardUnited KingdomAnna Fali QUALIFIED
Mujtaba F VocelkaFranceIvan Magalhaes NEW
Jefferson C DoeGermanyElwin Sharvill NEGOTIATION
Stacey G FollerGermanyXuxue Feng RENEWAL
Maria H KuskoAustraliaXuxue Feng RENEWAL
Jefferson C WieserCanadaBernardo Dominic PROPOSAL
Deepesh S FollerIndiaIoni Bowcher UNQUALIFIED
Aika C MarrierItalyAsiya Javayant UNQUALIFIED
Izzy E SchemmerCanadaAnna Fali RENEWAL
Stacey Z GarufiBrazilXuxue Feng QUALIFIED
Mujtaba E RutaBrazilXuxue Feng NEGOTIATION
Rodrigues L KolmetzGermanyStephen Shaw RENEWAL
Juan C KolmetzJapanAsiya Javayant PROPOSAL
Leja U OstroskySpainBernardo Dominic UNQUALIFIED
Mujtaba A DarakjyFranceAmy Elsner QUALIFIED
Aditya H FlosiCanadaAnna Fali QUALIFIED
Octavia Z OldroydSpainAnna Fali RENEWAL
Chavez S BologniaSpainStephen Shaw RENEWAL
Silvio X NickaSpainStephen Shaw PROPOSAL
Leja N FigeroaArgentinaAmy Elsner QUALIFIED
Morrow O SergiRussiaAsiya Javayant UNQUALIFIED
Chavez X MarrierUnited KingdomElwin Sharvill NEW
Alejandro K GauchoGermanyOnyama Limba RENEWAL
Jeanfrancois A PerinIndiaAnna Fali NEW
Ricardo I AmigonGermanyXuxue Feng UNQUALIFIED
Sinclair O OstroskyCanadaElwin Sharvill PROPOSAL
Stacey W MacleadIndiaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams W CampainCanadaStephen Shaw NEGOTIATION
Ivar X RimGermanyAsiya Javayant NEGOTIATION
Johnson N CaudyFranceXuxue Feng NEW
Jeanfrancois V CaldareraFranceIoni Bowcher UNQUALIFIED
Faith Z FigeroaIndiaElwin Sharvill RENEWAL
Johnson U NestleItalyBernardo Dominic QUALIFIED
Jeanfrancois S MaletItalyAnna Fali RENEWAL
Izzy W KuskoGermanyIoni Bowcher NEGOTIATION
Costa G IturbideCanadaElwin Sharvill RENEWAL
Aditya Y DarakjyAustraliaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas O RutaRussia2025-04-22Feiner Bros UNQUALIFIED85Bernardo Dominic
1001Kadeem X MacleadItaly2025-04-27Rousseaux, Michael Esq UNQUALIFIED94Ioni Bowcher
1002Aruna C TollnerAustralia2025-04-11Dorl, James J Esq NEW3Ivan Magalhaes
1003Smith E FigeroaBrazil2025-04-04Chapman, Ross E Esq QUALIFIED32Elwin Sharvill
1004Leon U PerinAustralia2025-04-23Buckley Miller Wright QUALIFIED90Onyama Limba
1005Antonio O PoquetteBrazil2025-04-07Commercial Press NEW0Anna Fali
1006Darci U KuskoRussia2025-04-20Chapman, Ross E Esq NEGOTIATION19Elwin Sharvill
1007Aika O GarufiRussia2025-04-10Rousseaux, Michael Esq QUALIFIED28Ioni Bowcher
1008Wickens E GillianRussia2025-04-07Dorl, James J Esq QUALIFIED52Onyama Limba
1009David T RimSpain2025-04-24Rousseaux, Michael Esq NEGOTIATION93Asiya Javayant
1010Jennifer U FerenczBrazil2025-04-02Chemel, James L Cpa PROPOSAL30Stephen Shaw
1011Salvatore S SchemmerUnited Kingdom2025-04-10Feiner Bros QUALIFIED87Amy Elsner
1012Aika M MarrierIndia2025-04-11Printing Dimensions QUALIFIED23Asiya Javayant
1013Claire H WieserSpain2025-04-30Morlong Associates QUALIFIED47Elwin Sharvill
1014Greenwood P OstroskyIndia2025-04-27Chanay, Jeffrey A Esq UNQUALIFIED70Onyama Limba
1015Isabel A BologniaSpain2025-04-03Benton, John B Jr PROPOSAL29Ivan Magalhaes
1016Tony E DarakjyItaly2025-04-25Feltz Printing Service NEW14Asiya Javayant
1017Julie X KolmetzArgentina2025-04-12Chanay, Jeffrey A Esq RENEWAL71Ivan Magalhaes
1018Misaki P MacleadRussia2025-04-29Benton, John B Jr NEW12Xuxue Feng
1019Octavia Z NickaSpain2025-04-22Morlong Associates RENEWAL21Elwin Sharvill
1020Salvatore E PoquetteItaly2025-04-24Chapman, Ross E Esq NEGOTIATION44Xuxue Feng
1021Leja C RutaGermany2025-04-28Dorl, James J Esq QUALIFIED96Asiya Javayant
1022Claire D MacleadUnited Kingdom2025-04-26Rangoni Of Florence UNQUALIFIED86Anna Fali
1023Costa D KolmetzFrance2025-04-18Truhlar And Truhlar Attys NEGOTIATION87Amy Elsner
1024Mayumi S GarufiAustralia2025-04-06King, Christopher A Esq NEGOTIATION31Ivan Magalhaes
1025Morrow H SaylorsCanada2025-04-16King, Christopher A Esq PROPOSAL84Asiya Javayant
1026Clifford S VocelkaAustralia2025-04-22Printing Dimensions NEGOTIATION14Amy Elsner
1027Jefferson H FerenczBrazil2025-04-23Chemel, James L Cpa NEW57Ioni Bowcher
1028Aruna A SchemmerItaly2025-04-19Morlong Associates PROPOSAL36Asiya Javayant
1029Jeanfrancois V FollerItaly2025-04-07Rangoni Of Florence NEGOTIATION92Bernardo Dominic
1030Julie T RutaItaly2025-04-09Feltz Printing Service NEGOTIATION79Ioni Bowcher
1031Jeanfrancois T DoeFrance2025-04-06Truhlar And Truhlar Attys RENEWAL52Onyama Limba
1032Nicolas Z NestleSpain2025-04-10Truhlar And Truhlar Attys NEW79Stephen Shaw
1033Rodrigues X DilliardBrazil2025-04-23Chapman, Ross E Esq QUALIFIED29Anna Fali
1034Antonio V NestleArgentina2025-04-10Benton, John B Jr QUALIFIED78Asiya Javayant
1035Morrow F ButtSpain2025-04-30Commercial Press RENEWAL60Ivan Magalhaes
1036Cody F MaletFrance2025-04-03Feiner Bros PROPOSAL28Anna Fali
1037Cody T WaycottUnited Kingdom2025-04-25Morlong Associates PROPOSAL45Xuxue Feng
1038Arvin P KolmetzRussia2025-04-23King, Christopher A Esq QUALIFIED2Anna Fali
1039Jones L WaycottArgentina2025-04-06Feltz Printing Service NEGOTIATION64Stephen Shaw
1040Johnson A NickaArgentina2025-04-07Morlong Associates NEGOTIATION45Amy Elsner
1041Stacey O WhobreyArgentina2025-04-04Chanay, Jeffrey A Esq NEW74Ivan Magalhaes
1042Salvatore D ButtJapan2025-04-14Commercial Press NEW4Ioni Bowcher
1043Ashley R TollnerBrazil2025-04-03Chemel, James L Cpa PROPOSAL85Asiya Javayant
1044Cody V MaletArgentina2025-04-30Dorl, James J Esq PROPOSAL8Onyama Limba
1045Stacey N CampainBrazil2025-04-25Chapman, Ross E Esq RENEWAL10Onyama Limba
1046Aruna V ChuiAustralia2025-04-19Chapman, Ross E Esq UNQUALIFIED2Bernardo Dominic
1047Claire M RutaGermany2025-04-26Truhlar And Truhlar Attys UNQUALIFIED97Asiya Javayant
1048Faith Z OstroskyArgentina2025-04-17Rousseaux, Michael Esq QUALIFIED41Anna Fali
1049Nicolas G GlickCanada2025-04-16Buckley Miller Wright NEW95Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika X CaldareraBrazilBernardo Dominic UNQUALIFIED
David A GlickSpainAnna Fali NEGOTIATION
Faith U NickaJapanIvan Magalhaes UNQUALIFIED
Nicolas I PaprockiFranceBernardo Dominic NEGOTIATION
Francesco B NickaFranceAsiya Javayant NEGOTIATION
Darci Z SchemmerAustraliaBernardo Dominic QUALIFIED
Arvin I StockhamGermanyElwin Sharvill UNQUALIFIED
Francesco S MacleadArgentinaXuxue Feng NEW
Ricardo N GarufiIndiaElwin Sharvill QUALIFIED
Mujtaba W IturbideItalyIoni Bowcher PROPOSAL
Ashley V ChuiUnited KingdomIvan Magalhaes QUALIFIED
Misaki H CampainGermanyAnna Fali UNQUALIFIED
Isabel I OldroydIndiaIoni Bowcher QUALIFIED
Leja X StensethGermanyBernardo Dominic UNQUALIFIED
Jennifer L FlosiCanadaElwin Sharvill NEW
Ricardo G SchemmerItalyIoni Bowcher UNQUALIFIED
Morrow Z StensethJapanElwin Sharvill QUALIFIED
Maisha W TollnerArgentinaAmy Elsner NEGOTIATION
Greenwood J WaycottFranceXuxue Feng NEW
Leja O DoeSpainStephen Shaw PROPOSAL
Ivar U RimCanadaIoni Bowcher PROPOSAL
Johnson J OldroydAustraliaOnyama Limba NEW
Munro D NickaIndiaIoni Bowcher QUALIFIED
Kaitlin J BologniaFranceElwin Sharvill RENEWAL
Faith W FerenczGermanyOnyama Limba QUALIFIED
James Y BologniaIndiaStephen Shaw PROPOSAL
Morrow U ChuiIndiaStephen Shaw NEW
Nicolas L StockhamFranceStephen Shaw QUALIFIED
Nicolas F DilliardSpainIoni Bowcher UNQUALIFIED
Darci K AmigonBrazilStephen Shaw UNQUALIFIED
James A KuskoUnited KingdomXuxue Feng NEGOTIATION
Jennifer O PaprockiFranceAsiya Javayant PROPOSAL
Salvatore U GillianJapanAsiya Javayant NEW
Leon U DilliardBrazilIvan Magalhaes UNQUALIFIED
Antonio N DilliardArgentinaAnna Fali NEGOTIATION
Darci X WieserArgentinaStephen Shaw UNQUALIFIED
Kaitlin J StensethJapanXuxue Feng NEGOTIATION
Greenwood G ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood A InouyeFranceAnna Fali PROPOSAL
Salvatore N CaudyGermanyElwin Sharvill NEW
Tony A ChuiBrazilAsiya Javayant PROPOSAL
Adams F SchemmerGermanyBernardo Dominic NEW
Clifford W SlusarskiFranceAnna Fali QUALIFIED
Maisha N SaylorsFranceStephen Shaw QUALIFIED
Smith Y CaudyRussiaIvan Magalhaes PROPOSAL
Kadeem F GillianSpainXuxue Feng NEW
Johnson X KolmetzFranceIvan Magalhaes NEGOTIATION
Deepesh W ButtGermanyBernardo Dominic PROPOSAL
Smith B BowleyIndiaIoni Bowcher QUALIFIED
Maisha N OstroskyBrazilIvan Magalhaes PROPOSAL
Frozen Columns
Name
Johnson Y Whobrey
Juan G Wieser
Izzy O Iturbide
Ivar F Schemmer
Isabel P Butt
Ivar Z Amigon
Munro P Flosi
Maria A Slusarski
Johnson G Figeroa
Juan D Ferencz
Francesco Y Saylors
Kadeem X Malet
James C Doe
James D Albares
Isabel X Briddick
Wickens Z Shinko
Johnson V Rulapaugh
Faith E Gillian
Ashley U Inouye
Ivar T Caldarera
Jefferson I Tollner
Murillo Z Bolognia
Leja G Caudy
Emily Q Shinko
Greenwood F Gaucho
Ivar M Butt
James N Shinko
Isabel S Shinko
Chavez S Kusko
James H Shinko
Maisha W Nestle
Johnson U Doe
Smith C Campain
Murillo H Nicka
Kadeem P Kusko
Wickens H Nestle
Smith M Stockham
Ricardo W Glick
Mayumi E Saylors
Maisha P Stockham
Ivar X Saylors
Izzy I Campain
Ricardo W Whobrey
Jones J Ferencz
Leon J Nestle
Kaitlin Z Saylors
Octavia I Chui
Smith G Darakjy
Emily R Malet
Nicolas U Foller
IdCountryDate
1000Argentina2025-04-10
1001France2025-04-06
1002Brazil2025-04-30
1003Australia2025-04-22
1004Germany2025-04-11
1005Australia2025-04-07
1006Russia2025-04-23
1007Canada2025-04-08
1008Spain2025-04-15
1009Japan2025-04-17
1010United Kingdom2025-04-19
1011Canada2025-04-25
1012Australia2025-04-12
1013Argentina2025-04-01
1014Argentina2025-04-25
1015Spain2025-04-30
1016Brazil2025-04-22
1017Russia2025-04-11
1018Italy2025-04-22
1019Japan2025-04-26
1020India2025-04-30
1021Brazil2025-04-08
1022Russia2025-04-21
1023Australia2025-04-22
1024Germany2025-04-11
1025Russia2025-04-27
1026Japan2025-04-24
1027United Kingdom2025-04-05
1028France2025-04-29
1029Italy2025-04-06
1030Argentina2025-04-19
1031Australia2025-04-27
1032Australia2025-04-04
1033Brazil2025-04-28
1034France2025-04-03
1035Spain2025-04-11
1036Russia2025-04-26
1037Canada2025-04-26
1038India2025-04-23
1039Spain2025-04-13
1040United Kingdom2025-04-06
1041Japan2025-04-19
1042Argentina2025-04-20
1043Australia2025-04-23
1044Russia2025-04-17
1045United Kingdom2025-04-21
1046Brazil2025-04-20
1047Argentina2025-04-08
1048Argentina2025-04-11
1049Spain2025-04-13

On-Demand Data

NameIdCountryDate
Ivar F Malet1000Argentina2025-04-17
Aruna T Doe1001Argentina2025-04-20
Smith N Stenseth1002United Kingdom2025-04-09
Ashley F Kolmetz1003Canada2025-04-22
Aruna Q Dilliard1004Argentina2025-04-24
Francesco D Ruta1005Russia2025-04-22
Francesco O Glick1006India2025-04-04
Maria W Briddick1007United Kingdom2025-04-13
Ivar J Venere1008Japan2025-04-25
Johnson X Kusko1009Germany2025-04-01
Kadeem A Oldroyd1010Italy2025-04-13
Francesco P Perin1011Brazil2025-04-04
Stacey T Kolmetz1012Argentina2025-04-18
Tony H Ferencz1013Canada2025-04-27
Darci B Ostrosky1014United Kingdom2025-04-30
Maria B Ferencz1015India2025-04-12
David T Butt1016France2025-04-01
Clifford N Garufi1017Italy2025-04-11
Morrow F Darakjy1018Japan2025-04-06
Leja S Amigon1019United Kingdom2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson R MaletArgentinaBernardo Dominic UNQUALIFIED
Ivar Y CaldareraCanadaXuxue Feng UNQUALIFIED
Jennifer A DoeFranceIvan Magalhaes NEW
Greenwood N NickaGermanyOnyama Limba PROPOSAL
Greenwood X WhobreyJapanAsiya Javayant RENEWAL
Mujtaba Q RimCanadaAmy Elsner UNQUALIFIED
Cody W GauchoIndiaIoni Bowcher PROPOSAL
Sinclair I OstroskyFranceElwin Sharvill UNQUALIFIED
Izzy R PerinCanadaStephen Shaw UNQUALIFIED
Kaitlin N MarrierGermanyIvan Magalhaes QUALIFIED
Rodrigues L MaletIndiaElwin Sharvill QUALIFIED
Salvatore K DoeRussiaAnna Fali QUALIFIED
Emily C InouyeSpainIvan Magalhaes UNQUALIFIED
Mujtaba P CaudyJapanBernardo Dominic RENEWAL
Silvio Y SaylorsRussiaIvan Magalhaes RENEWAL
Misaki O AmigonAustraliaStephen Shaw QUALIFIED
Chavez Q ChuiBrazilIoni Bowcher NEGOTIATION
Stacey G GarufiFranceXuxue Feng NEGOTIATION
Leon I SlusarskiBrazilElwin Sharvill QUALIFIED
Antonio Z PoquetteItalyXuxue Feng UNQUALIFIED
Cody B WhobreyRussiaXuxue Feng NEW
Maria N VocelkaUnited KingdomAsiya Javayant NEW
Isabel Q SlusarskiAustraliaBernardo Dominic UNQUALIFIED
Morrow M StockhamRussiaOnyama Limba PROPOSAL
Cody L InouyeItalyStephen Shaw RENEWAL
Aika G SlusarskiItalyElwin Sharvill UNQUALIFIED
Emily V ShinkoItalyAnna Fali QUALIFIED
Jeanfrancois S GlickAustraliaBernardo Dominic PROPOSAL
Octavia B GillianJapanOnyama Limba NEW
Silvio E NestleFranceStephen Shaw PROPOSAL
Leon L BowleyGermanyOnyama Limba NEW
Wickens X RulapaughAustraliaIoni Bowcher PROPOSAL
Johnson N OstroskyCanadaStephen Shaw RENEWAL
Wickens U DarakjyItalyOnyama Limba NEW
Costa O BologniaRussiaOnyama Limba RENEWAL
Nicolas P CampainBrazilAsiya Javayant RENEWAL
Wickens Y FlosiItalyBernardo Dominic NEGOTIATION
Mayumi V DarakjyUnited KingdomAmy Elsner PROPOSAL
Deepesh G RulapaughIndiaStephen Shaw PROPOSAL
Adams L ShinkoRussiaStephen Shaw 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">
            <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>