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
James M DilliardJapanAsiya Javayant NEGOTIATION
Costa V AmigonArgentinaIvan Magalhaes RENEWAL
Munro Z BologniaUnited KingdomAsiya Javayant NEW
Salvatore V CaudyArgentinaBernardo Dominic UNQUALIFIED
Antonio N PaprockiItalyIoni Bowcher QUALIFIED
Morrow C FigeroaGermanyOnyama Limba NEW
Greenwood U WieserAustraliaElwin Sharvill RENEWAL
Antonio J WhobreyRussiaStephen Shaw NEW
Stacey M StockhamSpainIoni Bowcher RENEWAL
Rodrigues S SlusarskiArgentinaOnyama Limba NEW
Antonio E SergiGermanyAsiya Javayant PROPOSAL
James Y VenereJapanElwin Sharvill NEGOTIATION
David X CampainCanadaAsiya Javayant NEW
Maria W SergiIndiaAnna Fali PROPOSAL
Mayumi G WieserUnited KingdomIvan Magalhaes RENEWAL
Deepesh L SlusarskiJapanIvan Magalhaes PROPOSAL
Misaki K AmigonAustraliaBernardo Dominic RENEWAL
Cody S ButtIndiaAsiya Javayant NEGOTIATION
Jones W WieserItalyAsiya Javayant UNQUALIFIED
Octavia Y NickaBrazilIvan Magalhaes QUALIFIED
Darci Z GillianUnited KingdomAsiya Javayant NEW
Jeanfrancois M PerinRussiaOnyama Limba QUALIFIED
Isabel U GillianBrazilElwin Sharvill NEGOTIATION
Aruna G WaycottAustraliaAsiya Javayant QUALIFIED
Chavez S RimAustraliaElwin Sharvill PROPOSAL
Morrow Q BriddickJapanStephen Shaw NEGOTIATION
Alejandro D DilliardRussiaIvan Magalhaes NEGOTIATION
Munro B GlickGermanyAnna Fali QUALIFIED
Nicolas H PerinCanadaAmy Elsner RENEWAL
Misaki B NestleUnited KingdomStephen Shaw NEGOTIATION
Chavez U SchemmerRussiaAnna Fali QUALIFIED
Adams Q FlosiCanadaAnna Fali PROPOSAL
Alejandro F MaletIndiaElwin Sharvill QUALIFIED
Emily J AmigonRussiaStephen Shaw NEW
Izzy R MaletGermanyXuxue Feng QUALIFIED
Rodrigues C InouyeAustraliaStephen Shaw PROPOSAL
Chavez M MacleadIndiaIoni Bowcher NEGOTIATION
Ivar I OldroydJapanBernardo Dominic UNQUALIFIED
Cody O MacleadCanadaOnyama Limba UNQUALIFIED
Aditya N OstroskyCanadaAsiya Javayant PROPOSAL
Smith E NickaBrazilIvan Magalhaes UNQUALIFIED
Francesco K GarufiAustraliaAnna Fali QUALIFIED
Octavia E IturbideJapanAsiya Javayant QUALIFIED
Smith N StockhamBrazilXuxue Feng NEGOTIATION
David Q GlickAustraliaIvan Magalhaes NEW
Darci I RutaCanadaIvan Magalhaes PROPOSAL
Jones C SaylorsRussiaAnna Fali RENEWAL
Ashley F FlosiAustraliaIvan Magalhaes UNQUALIFIED
Clifford H SaylorsIndiaBernardo Dominic NEW
Silvio W RoysterArgentinaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois J FlosiBrazilIvan Magalhaes UNQUALIFIED
Adams G ShinkoRussiaIoni Bowcher NEW
Darci Y KuskoAustraliaElwin Sharvill NEW
Julie K GillianItalyIoni Bowcher NEW
Arvin N GauchoIndiaBernardo Dominic PROPOSAL
Adams X GauchoAustraliaAmy Elsner RENEWAL
Julie Q SlusarskiBrazilAsiya Javayant NEW
Costa S DoeIndiaElwin Sharvill UNQUALIFIED
Juan K FlosiIndiaStephen Shaw QUALIFIED
Sinclair T KuskoFranceBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily A MarrierGermany2026-08-21Morlong Associates PROPOSAL7Amy Elsner
1001Aditya K SchemmerFrance2026-08-08Commercial Press QUALIFIED2Anna Fali
1002Jeanfrancois T SlusarskiSpain2026-08-26Chanay, Jeffrey A Esq QUALIFIED13Onyama Limba
1003Sinclair Z FigeroaAustralia2026-08-05King, Christopher A Esq NEGOTIATION73Elwin Sharvill
1004Jefferson Q SergiBrazil2026-08-14Rangoni Of Florence UNQUALIFIED64Anna Fali
1005Mayumi R ChuiSpain2026-08-29Rangoni Of Florence NEW38Stephen Shaw
1006Isabel Q SaylorsBrazil2026-08-28King, Christopher A Esq NEGOTIATION66Asiya Javayant
1007Leja U FollerUnited Kingdom2026-08-08Benton, John B Jr NEGOTIATION20Elwin Sharvill
1008Silvio E DilliardJapan2026-08-17Dorl, James J Esq PROPOSAL22Ioni Bowcher
1009Silvio C FerenczRussia2026-08-05Commercial Press QUALIFIED8Anna Fali
1010Nicolas G KolmetzBrazil2026-08-04Commercial Press UNQUALIFIED79Onyama Limba
1011Deepesh B IturbideIndia2026-08-13Chanay, Jeffrey A Esq NEW38Bernardo Dominic
1012Isabel S GillianBrazil2026-08-10Feiner Bros NEW67Stephen Shaw
1013Emily I GauchoIndia2026-08-07Feiner Bros UNQUALIFIED20Xuxue Feng
1014Aika N RutaUnited Kingdom2026-08-07Feltz Printing Service QUALIFIED12Onyama Limba
1015Faith W SlusarskiUnited Kingdom2026-08-11Truhlar And Truhlar Attys RENEWAL1Ivan Magalhaes
1016Mayumi E BowleyBrazil2026-08-10King, Christopher A Esq RENEWAL58Ioni Bowcher
1017Morrow S GauchoIndia2026-08-21King, Christopher A Esq NEW46Asiya Javayant
1018Darci D SergiSpain2026-08-18Morlong Associates RENEWAL16Xuxue Feng
1019Misaki Y VenereFrance2026-08-27Chanay, Jeffrey A Esq RENEWAL24Anna Fali
1020Leon J WaycottSpain2026-08-18Feiner Bros UNQUALIFIED77Bernardo Dominic
1021Faith B PoquetteCanada2026-08-02Commercial Press UNQUALIFIED70Ivan Magalhaes
1022Murillo C InouyeUnited Kingdom2026-08-04Rousseaux, Michael Esq NEW24Ioni Bowcher
1023Francesco C MaletArgentina2026-08-29Commercial Press RENEWAL63Ivan Magalhaes
1024Jefferson I BologniaCanada2026-08-19Truhlar And Truhlar Attys QUALIFIED96Ivan Magalhaes
1025Costa L CampainGermany2026-08-25King, Christopher A Esq RENEWAL63Xuxue Feng
1026Jones Z TollnerUnited Kingdom2026-08-07Buckley Miller Wright NEW58Elwin Sharvill
1027Misaki N RoysterItaly2026-08-19Buckley Miller Wright NEGOTIATION67Ioni Bowcher
1028David W BologniaItaly2026-08-21Truhlar And Truhlar Attys QUALIFIED32Onyama Limba
1029Johnson K NestleIndia2026-08-09Chemel, James L Cpa PROPOSAL75Bernardo Dominic
1030Faith M InouyeFrance2026-08-07Commercial Press UNQUALIFIED25Stephen Shaw
1031Chavez P GarufiBrazil2026-08-07Commercial Press NEGOTIATION85Bernardo Dominic
1032James A ButtItaly2026-08-03Morlong Associates RENEWAL12Ivan Magalhaes
1033Munro G FigeroaSpain2026-08-30Chapman, Ross E Esq NEW12Ioni Bowcher
1034Misaki V RulapaughCanada2026-08-27Rousseaux, Michael Esq UNQUALIFIED66Amy Elsner
1035Murillo J GillianCanada2026-08-15Chapman, Ross E Esq PROPOSAL42Anna Fali
1036Munro W AlbaresIndia2026-08-06Commercial Press QUALIFIED45Elwin Sharvill
1037Kadeem V GarufiUnited Kingdom2026-08-16Feltz Printing Service QUALIFIED19Xuxue Feng
1038Silvio P BowleyGermany2026-08-19Buckley Miller Wright QUALIFIED99Elwin Sharvill
1039Emily R StockhamUnited Kingdom2026-08-24Morlong Associates NEW54Ivan Magalhaes
1040James R AlbaresCanada2026-08-20Chanay, Jeffrey A Esq RENEWAL88Ivan Magalhaes
1041Clifford L SchemmerRussia2026-08-17Morlong Associates QUALIFIED47Ioni Bowcher
1042Wickens O VocelkaGermany2026-08-28Chapman, Ross E Esq QUALIFIED59Asiya Javayant
1043Antonio X InouyeJapan2026-08-29King, Christopher A Esq PROPOSAL32Stephen Shaw
1044Emily I WieserFrance2026-08-10Printing Dimensions UNQUALIFIED77Ivan Magalhaes
1045Ricardo D SaylorsFrance2026-08-22Feltz Printing Service NEW6Xuxue Feng
1046Darci N PoquetteRussia2026-08-29Rangoni Of Florence RENEWAL50Anna Fali
1047Faith Z DarakjyUnited Kingdom2026-08-10Morlong Associates NEW36Onyama Limba
1048Mayumi W SchemmerUnited Kingdom2026-08-15Feiner Bros NEGOTIATION79Onyama Limba
1049Chavez N AlbaresUnited Kingdom2026-08-28Printing Dimensions PROPOSAL33Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Izzy B WhobreyRussiaOnyama Limba QUALIFIED
Aika L MaletBrazilStephen Shaw RENEWAL
Claire F WhobreyFranceBernardo Dominic NEGOTIATION
James Q GarufiCanadaAmy Elsner PROPOSAL
Antonio W CampainItalyOnyama Limba RENEWAL
Alejandro H DarakjyArgentinaIoni Bowcher UNQUALIFIED
Nicolas I MaletGermanyXuxue Feng NEGOTIATION
Johnson I AmigonAustraliaStephen Shaw UNQUALIFIED
Salvatore F MorascaRussiaStephen Shaw QUALIFIED
Mayumi A WaycottAustraliaXuxue Feng UNQUALIFIED
Mayumi L BologniaJapanElwin Sharvill PROPOSAL
Silvio N GarufiSpainStephen Shaw PROPOSAL
Darci R MarrierGermanyOnyama Limba QUALIFIED
Greenwood P ButtSpainAnna Fali NEGOTIATION
Francesco A RulapaughItalyOnyama Limba NEGOTIATION
Jefferson X CaldareraGermanyOnyama Limba RENEWAL
Octavia Y ShinkoCanadaBernardo Dominic UNQUALIFIED
Leon J RulapaughSpainAsiya Javayant UNQUALIFIED
Smith V InouyeSpainAmy Elsner NEGOTIATION
Faith K BowleyRussiaAsiya Javayant QUALIFIED
Faith T VocelkaSpainElwin Sharvill UNQUALIFIED
Alejandro M NestleJapanStephen Shaw PROPOSAL
Mayumi M FlosiCanadaOnyama Limba QUALIFIED
Rodrigues X RimSpainAsiya Javayant UNQUALIFIED
Aika L SlusarskiGermanyElwin Sharvill RENEWAL
Nicolas D OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Misaki I FlosiAustraliaXuxue Feng QUALIFIED
Mujtaba E MarrierAustraliaStephen Shaw QUALIFIED
Kaitlin V WieserFranceXuxue Feng NEW
Jennifer G MorascaGermanyIvan Magalhaes RENEWAL
James R StockhamBrazilOnyama Limba PROPOSAL
Greenwood V AlbaresIndiaStephen Shaw NEGOTIATION
Kadeem A GillianJapanAnna Fali PROPOSAL
Wickens V RutaIndiaAnna Fali PROPOSAL
Maisha H AmigonGermanyAnna Fali UNQUALIFIED
Murillo K BowleyAustraliaStephen Shaw PROPOSAL
Julie T MaletRussiaOnyama Limba NEW
Ricardo J IturbideIndiaIvan Magalhaes NEGOTIATION
Rodrigues X PoquetteArgentinaIoni Bowcher QUALIFIED
Salvatore C BologniaUnited KingdomAsiya Javayant PROPOSAL
Ivar M DoeCanadaAnna Fali NEGOTIATION
Aruna U DilliardIndiaBernardo Dominic PROPOSAL
Kadeem P GarufiItalyIoni Bowcher NEW
Alejandro S RimFranceIvan Magalhaes RENEWAL
Sinclair S ShinkoGermanyAmy Elsner RENEWAL
Clifford X FlosiSpainStephen Shaw NEGOTIATION
Costa E RutaJapanBernardo Dominic UNQUALIFIED
Chavez H DoeFranceOnyama Limba QUALIFIED
Costa F RimArgentinaIoni Bowcher RENEWAL
Munro P PaprockiIndiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Faith V Flosi
Kadeem B Malet
Octavia L Rulapaugh
Jeanfrancois Z Vocelka
Wickens E Rim
Silvio O Ferencz
Arvin A Butt
Emily X Ostrosky
Morrow O Rim
Darci D Slusarski
Leja N Wieser
Kadeem V Slusarski
Emily L Rim
Cody Q Marrier
Cody N Saylors
Nicolas K Nicka
Jennifer N Iturbide
Octavia C Garufi
Chavez X Ostrosky
Chavez W Venere
Francesco Z Ostrosky
Kadeem U Stockham
Munro K Morasca
Jones P Caudy
Kadeem V Caudy
James B Stockham
Johnson Z Oldroyd
David W Nicka
Chavez M Inouye
Mujtaba R Marrier
Julie I Darakjy
Arvin R Dilliard
Misaki R Shinko
Izzy L Caudy
Izzy S Ostrosky
Izzy L Perin
Maisha E Shinko
Isabel S Darakjy
Mayumi K Kusko
Rodrigues W Bolognia
Juan W Maclead
David J Garufi
Smith J Rim
James Y Butt
Murillo L Saylors
Alejandro F Dilliard
Claire H Paprocki
Munro I Ruta
Mayumi S Glick
David T Albares
IdCountryDate
1000Russia2026-08-26
1001Canada2026-08-03
1002France2026-08-22
1003Canada2026-08-17
1004Argentina2026-08-05
1005Australia2026-08-12
1006United Kingdom2026-08-28
1007United Kingdom2026-08-27
1008Italy2026-08-07
1009Spain2026-08-02
1010Germany2026-08-13
1011Spain2026-08-18
1012Italy2026-08-27
1013France2026-08-29
1014India2026-08-22
1015Japan2026-08-12
1016Australia2026-08-15
1017Argentina2026-08-24
1018Italy2026-08-28
1019Italy2026-08-11
1020Argentina2026-08-08
1021Australia2026-08-16
1022Japan2026-08-03
1023Canada2026-08-26
1024Germany2026-08-27
1025Russia2026-08-31
1026Brazil2026-08-05
1027Germany2026-08-27
1028Russia2026-08-04
1029France2026-08-05
1030United Kingdom2026-08-02
1031France2026-08-25
1032Japan2026-08-22
1033United Kingdom2026-08-20
1034Germany2026-08-12
1035Argentina2026-08-03
1036Russia2026-08-19
1037Japan2026-08-15
1038Argentina2026-08-06
1039Japan2026-08-30
1040Australia2026-08-28
1041Spain2026-08-11
1042France2026-08-24
1043Italy2026-08-06
1044Canada2026-08-04
1045Spain2026-08-17
1046Italy2026-08-04
1047Australia2026-08-29
1048United Kingdom2026-08-23
1049Australia2026-08-08

On-Demand Data

NameIdCountryDate
James V Campain1000Brazil2026-08-03
Julie H Iturbide1001Russia2026-08-31
Emily E Slusarski1002India2026-08-02
Claire C Morasca1003Canada2026-08-10
Jefferson Q Gillian1004Brazil2026-08-03
Stacey P Kusko1005France2026-08-19
Nicolas J Inouye1006Brazil2026-08-14
Stacey S Stockham1007Russia2026-08-15
Octavia S Maclead1008Australia2026-08-05
Isabel B Saylors1009Australia2026-08-04
Ricardo T Stenseth1010Australia2026-08-07
Isabel K Albares1011Australia2026-08-13
Octavia P Albares1012Spain2026-08-20
Mujtaba D Whobrey1013Russia2026-08-14
Octavia R Royster1014United Kingdom2026-08-04
Chavez P Venere1015Japan2026-08-10
Chavez X Paprocki1016Germany2026-08-15
Morrow B Doe1017Germany2026-08-13
Jeanfrancois I Gaucho1018Canada2026-08-04
Jefferson H Butt1019Spain2026-08-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki U MaletJapanAnna Fali NEGOTIATION
Murillo M PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Clifford U OstroskyIndiaIoni Bowcher NEGOTIATION
Cody M VenereSpainIvan Magalhaes RENEWAL
Aika Y GauchoSpainIvan Magalhaes PROPOSAL
Arvin Z GlickSpainOnyama Limba UNQUALIFIED
Mujtaba S FollerCanadaOnyama Limba NEW
Wickens O FlosiIndiaElwin Sharvill NEGOTIATION
Maria U DarakjyJapanStephen Shaw NEGOTIATION
Aditya B CampainItalyIvan Magalhaes RENEWAL
Jeanfrancois N TollnerSpainIoni Bowcher NEGOTIATION
Costa D VenereJapanAsiya Javayant RENEWAL
Costa K StockhamSpainStephen Shaw NEGOTIATION
Kaitlin E SergiCanadaBernardo Dominic PROPOSAL
Darci U KuskoAustraliaBernardo Dominic UNQUALIFIED
Francesco Y ChuiCanadaStephen Shaw NEGOTIATION
Claire H NickaJapanOnyama Limba RENEWAL
Claire K DilliardAustraliaXuxue Feng NEW
David T CaudyJapanStephen Shaw UNQUALIFIED
Wickens I OstroskyArgentinaIvan Magalhaes RENEWAL
Greenwood K FlosiJapanBernardo Dominic QUALIFIED
David V AlbaresRussiaIvan Magalhaes PROPOSAL
James T RimFranceBernardo Dominic NEW
Aruna X ChuiBrazilAsiya Javayant QUALIFIED
Johnson Q GauchoItalyStephen Shaw QUALIFIED
Sinclair Y StockhamGermanyAsiya Javayant NEGOTIATION
Francesco O InouyeBrazilStephen Shaw QUALIFIED
Silvio P MaletJapanAnna Fali PROPOSAL
Clifford G MaletRussiaStephen Shaw RENEWAL
Aika I CaldareraRussiaBernardo Dominic NEW
Octavia Q MarrierJapanOnyama Limba QUALIFIED
Smith M NestleArgentinaAmy Elsner PROPOSAL
Adams V SchemmerJapanIvan Magalhaes UNQUALIFIED
Faith D KuskoJapanOnyama Limba NEGOTIATION
Greenwood R GauchoGermanyIoni Bowcher PROPOSAL
Greenwood N AlbaresGermanyBernardo Dominic NEW
Maisha T OstroskyIndiaIoni Bowcher RENEWAL
Ricardo V KuskoCanadaAnna Fali UNQUALIFIED
Costa X PaprockiRussiaBernardo Dominic QUALIFIED
Francesco U FerenczJapanAnna Fali 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>