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
Maria O PoquetteItalyAsiya Javayant NEW
David A BriddickBrazilAmy Elsner PROPOSAL
Alejandro E VocelkaJapanIvan Magalhaes NEGOTIATION
Murillo D SaylorsRussiaAsiya Javayant NEGOTIATION
James O FerenczAustraliaIoni Bowcher UNQUALIFIED
Wickens T MaletIndiaIoni Bowcher NEGOTIATION
Julie K FerenczItalyOnyama Limba PROPOSAL
Munro N ShinkoSpainAmy Elsner QUALIFIED
Faith K CaudyUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois X VenereJapanXuxue Feng NEW
Morrow E MaletIndiaStephen Shaw PROPOSAL
Mayumi H GillianFranceElwin Sharvill QUALIFIED
Morrow Q AmigonItalyAsiya Javayant NEGOTIATION
Arvin T BowleyBrazilAmy Elsner PROPOSAL
Tony E AmigonBrazilOnyama Limba RENEWAL
Ricardo K RoysterGermanyAsiya Javayant NEW
Ricardo M OstroskyCanadaIvan Magalhaes NEW
Munro X MaletAustraliaAnna Fali NEGOTIATION
Greenwood M FlosiBrazilIvan Magalhaes NEGOTIATION
Ivar L MaletGermanyAnna Fali NEW
Arvin X ButtRussiaIoni Bowcher NEGOTIATION
Tony Y GarufiUnited KingdomAnna Fali UNQUALIFIED
Emily G SergiIndiaAsiya Javayant PROPOSAL
Cody O DilliardAustraliaXuxue Feng UNQUALIFIED
Morrow R VenereAustraliaBernardo Dominic UNQUALIFIED
Smith C BologniaSpainIoni Bowcher PROPOSAL
Costa G KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Jones G WaycottArgentinaAnna Fali NEGOTIATION
Jennifer P PaprockiAustraliaAnna Fali QUALIFIED
Isabel T StensethRussiaElwin Sharvill QUALIFIED
Octavia V SergiUnited KingdomAsiya Javayant NEGOTIATION
Darci A CaudyItalyXuxue Feng PROPOSAL
Jones D PoquetteRussiaAsiya Javayant QUALIFIED
Kaitlin I FigeroaRussiaElwin Sharvill NEGOTIATION
Ricardo T PoquetteSpainElwin Sharvill QUALIFIED
Tony N DoeArgentinaAmy Elsner RENEWAL
Greenwood Z MacleadGermanyAmy Elsner QUALIFIED
James O BowleyRussiaStephen Shaw QUALIFIED
Deepesh J StensethUnited KingdomElwin Sharvill NEW
Smith D RoysterFranceIoni Bowcher NEW
Mujtaba S WaycottArgentinaAmy Elsner NEW
Arvin K ButtJapanXuxue Feng NEGOTIATION
Izzy D SchemmerIndiaAnna Fali NEGOTIATION
Juan D CampainCanadaAsiya Javayant NEW
Alejandro Q MaletArgentinaStephen Shaw RENEWAL
Mayumi M DilliardCanadaStephen Shaw QUALIFIED
Silvio Z GauchoCanadaStephen Shaw PROPOSAL
Mayumi J FigeroaBrazilBernardo Dominic QUALIFIED
Ashley V DarakjyFranceIoni Bowcher RENEWAL
Nicolas D PerinItalyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire V SchemmerArgentinaAsiya Javayant RENEWAL
Alejandro E RutaIndiaStephen Shaw QUALIFIED
Jones U GarufiJapanBernardo Dominic NEW
Octavia M MaletArgentinaIoni Bowcher UNQUALIFIED
Greenwood I RutaRussiaIoni Bowcher NEGOTIATION
David P ButtUnited KingdomOnyama Limba NEW
Nicolas T CaldareraFranceAsiya Javayant QUALIFIED
Wickens I MarrierArgentinaIvan Magalhaes NEGOTIATION
Deepesh L OldroydCanadaXuxue Feng QUALIFIED
Kaitlin D IturbideFranceIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba Y BowleyJapan2026-08-04King, Christopher A Esq UNQUALIFIED85Amy Elsner
1001Faith I WaycottIndia2026-08-11Chapman, Ross E Esq RENEWAL55Bernardo Dominic
1002Antonio D RoysterArgentina2026-08-03Rousseaux, Michael Esq NEW64Xuxue Feng
1003Leja D RimFrance2026-08-18King, Christopher A Esq UNQUALIFIED4Stephen Shaw
1004Stacey S SchemmerFrance2026-08-27King, Christopher A Esq RENEWAL77Stephen Shaw
1005Ashley U PoquetteRussia2026-08-24Benton, John B Jr RENEWAL61Stephen Shaw
1006Stacey I FollerArgentina2026-08-16Feiner Bros QUALIFIED75Anna Fali
1007Silvio Q IturbideRussia2026-08-21King, Christopher A Esq PROPOSAL74Onyama Limba
1008Francesco R KuskoUnited Kingdom2026-08-14King, Christopher A Esq NEW31Onyama Limba
1009Julie K TollnerCanada2026-08-11Printing Dimensions RENEWAL4Ioni Bowcher
1010Ivar X MarrierFrance2026-08-03Rousseaux, Michael Esq RENEWAL33Stephen Shaw
1011Isabel G MacleadBrazil2026-08-07Buckley Miller Wright NEGOTIATION57Asiya Javayant
1012Morrow X DoeJapan2026-08-04Chanay, Jeffrey A Esq NEGOTIATION62Xuxue Feng
1013David P MaletItaly2026-08-19King, Christopher A Esq QUALIFIED56Bernardo Dominic
1014Darci T WieserAustralia2026-08-28Truhlar And Truhlar Attys NEGOTIATION60Stephen Shaw
1015Greenwood N SergiIndia2026-08-04Morlong Associates QUALIFIED61Ioni Bowcher
1016Ricardo H MarrierJapan2026-08-24Chemel, James L Cpa RENEWAL88Bernardo Dominic
1017Maria U InouyeRussia2026-08-02Buckley Miller Wright PROPOSAL48Stephen Shaw
1018Salvatore V StockhamRussia2026-08-25Chemel, James L Cpa NEGOTIATION93Stephen Shaw
1019Aditya Q RutaGermany2026-08-16Commercial Press RENEWAL18Xuxue Feng
1020Jefferson K WhobreySpain2026-08-15Feiner Bros NEW52Anna Fali
1021Costa A StensethAustralia2026-08-11Morlong Associates NEW73Xuxue Feng
1022Deepesh Y NickaJapan2026-08-25Printing Dimensions PROPOSAL49Amy Elsner
1023Murillo R MarrierFrance2026-08-28Chemel, James L Cpa PROPOSAL68Bernardo Dominic
1024Arvin Y WieserIndia2026-08-11Rangoni Of Florence PROPOSAL33Stephen Shaw
1025Faith I NestleFrance2026-08-25Printing Dimensions PROPOSAL80Stephen Shaw
1026Adams M FollerUnited Kingdom2026-08-02Chanay, Jeffrey A Esq QUALIFIED11Anna Fali
1027Deepesh I KuskoItaly2026-07-30Truhlar And Truhlar Attys PROPOSAL88Xuxue Feng
1028Tony Z NestleIndia2026-08-20Chanay, Jeffrey A Esq NEGOTIATION66Elwin Sharvill
1029Julie J FollerUnited Kingdom2026-08-05Rangoni Of Florence NEGOTIATION58Amy Elsner
1030Costa X VocelkaAustralia2026-08-11Chemel, James L Cpa NEGOTIATION66Onyama Limba
1031Emily S RulapaughAustralia2026-08-05Feiner Bros NEW88Stephen Shaw
1032Maisha P PoquetteBrazil2026-08-24Rangoni Of Florence QUALIFIED18Asiya Javayant
1033Francesco C MaletSpain2026-08-19Rangoni Of Florence PROPOSAL86Ioni Bowcher
1034Sinclair J RulapaughUnited Kingdom2026-08-12Rangoni Of Florence PROPOSAL6Stephen Shaw
1035Leon Y IturbideAustralia2026-08-09Chanay, Jeffrey A Esq PROPOSAL2Ioni Bowcher
1036Greenwood L ButtCanada2026-08-19Chapman, Ross E Esq RENEWAL74Ioni Bowcher
1037Juan I SergiUnited Kingdom2026-08-19Truhlar And Truhlar Attys RENEWAL39Ivan Magalhaes
1038Kaitlin K OldroydUnited Kingdom2026-08-21Buckley Miller Wright RENEWAL72Ioni Bowcher
1039Aditya S SlusarskiJapan2026-08-26Commercial Press UNQUALIFIED22Anna Fali
1040Claire F DarakjyIndia2026-08-26Rousseaux, Michael Esq QUALIFIED49Amy Elsner
1041Leja I GarufiItaly2026-08-28King, Christopher A Esq UNQUALIFIED28Xuxue Feng
1042Mayumi T SchemmerSpain2026-08-16Feiner Bros RENEWAL4Elwin Sharvill
1043Arvin Y KolmetzBrazil2026-08-06Dorl, James J Esq NEW53Xuxue Feng
1044Jeanfrancois N BowleyGermany2026-08-17Printing Dimensions QUALIFIED99Bernardo Dominic
1045Claire K FigeroaUnited Kingdom2026-08-09Chapman, Ross E Esq RENEWAL50Bernardo Dominic
1046Munro P IturbideJapan2026-08-11Feltz Printing Service NEGOTIATION43Ivan Magalhaes
1047Adams Q KolmetzFrance2026-08-21Chanay, Jeffrey A Esq UNQUALIFIED69Asiya Javayant
1048Nicolas A RulapaughUnited Kingdom2026-08-25Dorl, James J Esq NEGOTIATION79Ivan Magalhaes
1049Maria R GauchoGermany2026-08-28King, Christopher A Esq NEW93Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro H BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Johnson L FigeroaSpainAnna Fali NEGOTIATION
Mujtaba J GillianItalyIvan Magalhaes QUALIFIED
Rodrigues A GauchoFranceBernardo Dominic QUALIFIED
Misaki C MaletIndiaOnyama Limba QUALIFIED
Misaki I RulapaughJapanOnyama Limba NEGOTIATION
Jefferson K CampainJapanBernardo Dominic UNQUALIFIED
Morrow X MarrierRussiaAmy Elsner RENEWAL
Greenwood Y ChuiFranceXuxue Feng UNQUALIFIED
Jeanfrancois S BriddickAustraliaAmy Elsner RENEWAL
Tony B VenereJapanStephen Shaw QUALIFIED
Leja W KolmetzJapanStephen Shaw PROPOSAL
Munro A FollerJapanOnyama Limba UNQUALIFIED
Ricardo S NestleGermanyStephen Shaw NEW
Salvatore D FerenczItalyIoni Bowcher PROPOSAL
Jeanfrancois V NestleCanadaXuxue Feng QUALIFIED
Ricardo J InouyeSpainStephen Shaw UNQUALIFIED
Aika A OstroskyArgentinaIvan Magalhaes QUALIFIED
Kadeem Z BriddickArgentinaIoni Bowcher RENEWAL
Costa O MarrierGermanyXuxue Feng NEW
Silvio K CaldareraArgentinaAnna Fali NEGOTIATION
Greenwood R SaylorsIndiaAmy Elsner NEGOTIATION
Wickens G BowleyItalyAmy Elsner NEW
Aika H WhobreySpainOnyama Limba PROPOSAL
Aruna D SchemmerJapanAsiya Javayant NEW
Chavez X IturbideJapanAsiya Javayant QUALIFIED
Tony U DarakjyIndiaBernardo Dominic QUALIFIED
Morrow A RimItalyAsiya Javayant NEGOTIATION
Nicolas V MacleadArgentinaXuxue Feng QUALIFIED
Kaitlin W CaldareraAustraliaBernardo Dominic NEW
Deepesh X RulapaughCanadaAmy Elsner NEW
Julie A MarrierGermanyBernardo Dominic NEGOTIATION
Johnson H FlosiCanadaAmy Elsner NEGOTIATION
Alejandro J AlbaresAustraliaAmy Elsner UNQUALIFIED
Mujtaba F CaudyRussiaAmy Elsner PROPOSAL
Alejandro N CaudyGermanyXuxue Feng UNQUALIFIED
Aruna Q ChuiSpainXuxue Feng PROPOSAL
Costa B GauchoBrazilIvan Magalhaes NEGOTIATION
Leja V CaudyIndiaOnyama Limba RENEWAL
Adams E OldroydUnited KingdomIoni Bowcher QUALIFIED
James F NickaSpainXuxue Feng RENEWAL
Octavia W MarrierBrazilXuxue Feng UNQUALIFIED
Murillo I KuskoAustraliaIvan Magalhaes NEW
Chavez M VocelkaFranceElwin Sharvill RENEWAL
Claire F GarufiRussiaXuxue Feng RENEWAL
Jones X VocelkaRussiaAsiya Javayant RENEWAL
James H MacleadCanadaXuxue Feng QUALIFIED
Aika O MarrierAustraliaOnyama Limba RENEWAL
Jefferson W CaldareraUnited KingdomAmy Elsner QUALIFIED
Murillo R MorascaCanadaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Greenwood H Wieser
Stacey X Campain
Ivar E Maclead
Juan A Tollner
Aditya E Darakjy
Maria V Oldroyd
Isabel N Inouye
Mujtaba R Maclead
Ashley W Schemmer
Kaitlin K Doe
Greenwood Q Nicka
Kadeem Q Venere
Murillo Q Slusarski
Claire F Albares
Aika P Tollner
Emily E Oldroyd
Chavez U Rim
Aruna O Shinko
Isabel V Ferencz
Clifford Q Dilliard
Aditya N Butt
Jennifer Q Oldroyd
Deepesh I Royster
Leon E Paprocki
Ivar R Kolmetz
Leja M Whobrey
Ricardo Z Wieser
Costa K Whobrey
Tony J Maclead
Chavez B Doe
Sinclair R Ruta
Salvatore M Vocelka
Nicolas T Rim
Clifford T Bowley
Ivar B Venere
Costa V Campain
Johnson U Schemmer
Alejandro Y Whobrey
Misaki C Bowley
Isabel V Figeroa
Jefferson F Vocelka
James U Wieser
Julie A Marrier
Ivar G Iturbide
Munro K Sergi
Emily F Maclead
Jones A Schemmer
Chavez Y Nestle
Aika S Garufi
Juan Q Ostrosky
IdCountryDate
1000Italy2026-07-30
1001United Kingdom2026-08-19
1002Brazil2026-08-20
1003United Kingdom2026-08-17
1004Japan2026-08-25
1005Australia2026-08-03
1006United Kingdom2026-08-08
1007Canada2026-08-13
1008Germany2026-08-13
1009India2026-08-14
1010Spain2026-08-18
1011India2026-08-20
1012Russia2026-08-01
1013Russia2026-08-26
1014Russia2026-08-22
1015Russia2026-08-28
1016Germany2026-07-31
1017Australia2026-08-24
1018United Kingdom2026-08-16
1019Russia2026-08-24
1020France2026-08-12
1021Spain2026-08-08
1022Brazil2026-08-11
1023Germany2026-08-26
1024Argentina2026-08-04
1025India2026-07-31
1026Argentina2026-08-15
1027France2026-08-12
1028Germany2026-08-18
1029Canada2026-08-17
1030Argentina2026-08-10
1031Argentina2026-08-03
1032United Kingdom2026-08-09
1033Spain2026-08-12
1034Argentina2026-08-02
1035Japan2026-08-20
1036Australia2026-08-09
1037Japan2026-08-06
1038Italy2026-08-27
1039United Kingdom2026-08-19
1040Germany2026-08-01
1041France2026-08-07
1042Japan2026-08-01
1043Brazil2026-08-09
1044Russia2026-08-04
1045Australia2026-08-04
1046Japan2026-08-28
1047Argentina2026-08-05
1048Brazil2026-08-19
1049Italy2026-08-25

On-Demand Data

NameIdCountryDate
Arvin Y Shinko1000United Kingdom2026-08-09
Julie T Caudy1001Germany2026-08-05
Ivar X Vocelka1002Spain2026-08-01
Smith L Schemmer1003France2026-08-23
Maisha Q Glick1004Japan2026-08-22
Mujtaba P Stenseth1005Russia2026-08-24
Morrow M Poquette1006France2026-08-18
Smith U Sergi1007Australia2026-08-15
Costa O Iturbide1008Brazil2026-08-06
Darci W Nestle1009Canada2026-07-31
Munro F Inouye1010United Kingdom2026-08-02
Antonio H Kolmetz1011Germany2026-08-12
Ashley D Perin1012Canada2026-08-23
Ivar P Campain1013Russia2026-08-26
Alejandro M Bolognia1014Russia2026-08-22
Aditya T Chui1015Russia2026-08-26
Leon B Briddick1016Russia2026-08-04
Smith R Butt1017France2026-07-30
Claire V Stockham1018Russia2026-08-15
Mujtaba I Nicka1019Australia2026-08-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja D DarakjyRussiaStephen Shaw NEW
Munro D TollnerCanadaXuxue Feng UNQUALIFIED
Clifford Q FigeroaAustraliaIoni Bowcher PROPOSAL
Jones Z ShinkoSpainStephen Shaw UNQUALIFIED
Alejandro Q VocelkaItalyElwin Sharvill QUALIFIED
Kadeem R VocelkaUnited KingdomAsiya Javayant RENEWAL
Salvatore M MaletAustraliaIvan Magalhaes RENEWAL
Jefferson X BriddickRussiaIoni Bowcher NEGOTIATION
Stacey H WieserIndiaIvan Magalhaes RENEWAL
Aruna Z DilliardFranceBernardo Dominic RENEWAL
Mujtaba N CaldareraAustraliaElwin Sharvill QUALIFIED
Emily F MorascaIndiaIoni Bowcher UNQUALIFIED
Octavia X VenereCanadaAnna Fali QUALIFIED
Claire F SchemmerJapanAnna Fali NEGOTIATION
Leja E RimItalyBernardo Dominic NEGOTIATION
Clifford F CampainSpainIvan Magalhaes PROPOSAL
Johnson F VenereUnited KingdomAnna Fali NEW
Emily V IturbideJapanIvan Magalhaes NEW
Maisha Z CaudyAustraliaXuxue Feng NEGOTIATION
Murillo O MorascaCanadaIvan Magalhaes PROPOSAL
James F FerenczJapanAsiya Javayant UNQUALIFIED
Jennifer S SchemmerJapanIoni Bowcher UNQUALIFIED
Alejandro C SlusarskiCanadaAmy Elsner UNQUALIFIED
Cody K NickaFranceOnyama Limba UNQUALIFIED
Murillo N SergiUnited KingdomIvan Magalhaes RENEWAL
Faith P ShinkoJapanAmy Elsner PROPOSAL
Arvin E BologniaRussiaIvan Magalhaes NEW
Misaki S IturbideBrazilAnna Fali UNQUALIFIED
Aruna T RulapaughJapanAmy Elsner UNQUALIFIED
Munro V MarrierSpainBernardo Dominic NEGOTIATION
Jennifer H NestleCanadaIoni Bowcher PROPOSAL
Deepesh E GlickGermanyOnyama Limba QUALIFIED
Costa B DarakjyGermanyAsiya Javayant UNQUALIFIED
David B StensethRussiaAnna Fali NEW
Leon S CampainUnited KingdomIoni Bowcher QUALIFIED
Aditya O CaudyBrazilAsiya Javayant RENEWAL
Sinclair T CampainArgentinaIvan Magalhaes NEW
Octavia Q DarakjyAustraliaAnna Fali NEW
Julie A DoeFranceIvan Magalhaes PROPOSAL
Juan T InouyeAustraliaAmy Elsner 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>