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
Munro Q FigeroaFranceAsiya Javayant UNQUALIFIED
Clifford C RoysterUnited KingdomElwin Sharvill QUALIFIED
Francesco B DarakjyArgentinaStephen Shaw QUALIFIED
Aditya X KuskoFranceIvan Magalhaes NEGOTIATION
Maria B OstroskyBrazilAsiya Javayant RENEWAL
Darci O SlusarskiSpainBernardo Dominic RENEWAL
Ashley Z SlusarskiGermanyAmy Elsner UNQUALIFIED
Alejandro U BriddickUnited KingdomAnna Fali NEGOTIATION
Maria Z SaylorsJapanAnna Fali UNQUALIFIED
Octavia N MarrierItalyOnyama Limba RENEWAL
Leja Y AlbaresSpainAnna Fali NEGOTIATION
Claire X GillianSpainOnyama Limba RENEWAL
Jefferson F PerinCanadaXuxue Feng QUALIFIED
Morrow G MarrierCanadaXuxue Feng RENEWAL
Isabel X OstroskyBrazilAmy Elsner UNQUALIFIED
Ricardo V RutaBrazilIvan Magalhaes RENEWAL
Morrow K ButtAustraliaBernardo Dominic PROPOSAL
Alejandro Y BowleyGermanyBernardo Dominic NEW
Kadeem O StockhamArgentinaAmy Elsner QUALIFIED
Francesco E AlbaresCanadaBernardo Dominic NEGOTIATION
Kaitlin B MarrierJapanAmy Elsner UNQUALIFIED
Juan W GillianGermanyIvan Magalhaes QUALIFIED
Wickens R SergiCanadaAsiya Javayant UNQUALIFIED
Octavia Y SlusarskiIndiaAmy Elsner NEGOTIATION
Jeanfrancois U GarufiGermanyIvan Magalhaes PROPOSAL
Isabel X SaylorsArgentinaStephen Shaw PROPOSAL
Rodrigues K RutaFranceElwin Sharvill RENEWAL
Stacey Q OldroydUnited KingdomXuxue Feng RENEWAL
Clifford L MaletJapanIvan Magalhaes UNQUALIFIED
Aika V SlusarskiItalyOnyama Limba PROPOSAL
Alejandro T SergiGermanyAnna Fali NEGOTIATION
Tony F FigeroaSpainAmy Elsner QUALIFIED
Faith C KuskoItalyElwin Sharvill NEW
Johnson F RoysterItalyIoni Bowcher RENEWAL
David T MaletBrazilStephen Shaw NEGOTIATION
Chavez L RimFranceIoni Bowcher RENEWAL
Adams S NestleGermanyXuxue Feng RENEWAL
Aika P MaletJapanAnna Fali UNQUALIFIED
Clifford P BologniaSpainAmy Elsner QUALIFIED
Nicolas D PerinSpainIoni Bowcher RENEWAL
Ricardo N MarrierCanadaStephen Shaw UNQUALIFIED
Emily A NestleAustraliaBernardo Dominic PROPOSAL
Francesco E GarufiArgentinaOnyama Limba UNQUALIFIED
Kaitlin F KolmetzJapanStephen Shaw QUALIFIED
Smith T IturbideFranceBernardo Dominic PROPOSAL
Silvio D FlosiGermanyElwin Sharvill UNQUALIFIED
David F MaletArgentinaXuxue Feng NEW
Mujtaba S ButtCanadaXuxue Feng PROPOSAL
Juan V CampainSpainXuxue Feng UNQUALIFIED
Faith J AmigonBrazilAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio R MorascaIndiaIoni Bowcher UNQUALIFIED
Deepesh K CaudyJapanOnyama Limba NEW
David U FigeroaItalyOnyama Limba UNQUALIFIED
James H OstroskySpainAnna Fali NEGOTIATION
Cody I TollnerAustraliaAsiya Javayant UNQUALIFIED
Leja K MarrierAustraliaStephen Shaw UNQUALIFIED
Stacey L AlbaresBrazilAsiya Javayant NEW
Smith L PerinGermanyElwin Sharvill UNQUALIFIED
David A BriddickArgentinaBernardo Dominic QUALIFIED
Costa T AmigonAustraliaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja P RulapaughRussia2026-06-01Rangoni Of Florence PROPOSAL37Ivan Magalhaes
1001Leon C CaudyRussia2026-05-11Truhlar And Truhlar Attys QUALIFIED82Ioni Bowcher
1002Maria Q IturbideJapan2026-05-09Buckley Miller Wright UNQUALIFIED34Ioni Bowcher
1003Ivar O ShinkoSpain2026-05-23Buckley Miller Wright PROPOSAL38Anna Fali
1004Antonio L InouyeAustralia2026-05-11Morlong Associates NEW25Xuxue Feng
1005Emily Q DilliardArgentina2026-06-01Buckley Miller Wright NEGOTIATION22Stephen Shaw
1006Cody M ShinkoRussia2026-05-10Feltz Printing Service NEGOTIATION71Anna Fali
1007Smith G MarrierCanada2026-05-26Printing Dimensions PROPOSAL74Asiya Javayant
1008Francesco U FerenczRussia2026-05-28Chapman, Ross E Esq NEGOTIATION88Asiya Javayant
1009Adams Z MacleadJapan2026-05-04Printing Dimensions UNQUALIFIED49Bernardo Dominic
1010Stacey X FigeroaFrance2026-05-08King, Christopher A Esq NEGOTIATION80Xuxue Feng
1011David X CaldareraAustralia2026-05-07King, Christopher A Esq NEGOTIATION95Ivan Magalhaes
1012Julie A SchemmerCanada2026-05-19Chapman, Ross E Esq QUALIFIED2Anna Fali
1013Deepesh Z RoysterArgentina2026-05-12Buckley Miller Wright NEGOTIATION8Elwin Sharvill
1014Morrow A VocelkaSpain2026-05-15Dorl, James J Esq NEGOTIATION68Ioni Bowcher
1015David J SchemmerCanada2026-05-13Chapman, Ross E Esq PROPOSAL30Asiya Javayant
1016Jones O ButtArgentina2026-05-14Chanay, Jeffrey A Esq RENEWAL52Amy Elsner
1017Salvatore J GarufiItaly2026-05-14Morlong Associates NEW68Ivan Magalhaes
1018Leon X MarrierRussia2026-05-13Printing Dimensions QUALIFIED0Bernardo Dominic
1019Misaki U WhobreyItaly2026-05-22Benton, John B Jr NEW82Amy Elsner
1020Jennifer U BowleyIndia2026-06-02Chapman, Ross E Esq UNQUALIFIED79Asiya Javayant
1021Ricardo T ShinkoGermany2026-05-26Morlong Associates RENEWAL77Asiya Javayant
1022Jefferson X SaylorsUnited Kingdom2026-05-25Benton, John B Jr NEGOTIATION35Onyama Limba
1023Silvio I CaudySpain2026-05-22Chanay, Jeffrey A Esq RENEWAL96Bernardo Dominic
1024Wickens C TollnerArgentina2026-05-09Chemel, James L Cpa QUALIFIED60Amy Elsner
1025Deepesh G RulapaughJapan2026-05-21Feiner Bros QUALIFIED99Stephen Shaw
1026Tony L ChuiItaly2026-05-10Chanay, Jeffrey A Esq RENEWAL9Asiya Javayant
1027Silvio X FollerGermany2026-05-22Morlong Associates UNQUALIFIED27Amy Elsner
1028Francesco I StensethUnited Kingdom2026-05-30Buckley Miller Wright NEW28Ivan Magalhaes
1029Sinclair N WaycottRussia2026-05-13Chapman, Ross E Esq PROPOSAL55Ioni Bowcher
1030Clifford Z SchemmerIndia2026-05-13Dorl, James J Esq RENEWAL54Asiya Javayant
1031Francesco N CaldareraItaly2026-05-31Chemel, James L Cpa NEGOTIATION60Bernardo Dominic
1032Julie B WieserUnited Kingdom2026-05-17Dorl, James J Esq NEW52Stephen Shaw
1033Claire D PerinArgentina2026-05-30Rangoni Of Florence NEGOTIATION74Bernardo Dominic
1034Antonio H CaldareraJapan2026-06-02Morlong Associates NEGOTIATION72Asiya Javayant
1035Jones R ShinkoCanada2026-05-27Rangoni Of Florence QUALIFIED75Xuxue Feng
1036Jefferson S GarufiJapan2026-05-25Chemel, James L Cpa RENEWAL83Amy Elsner
1037Sinclair I FigeroaSpain2026-05-08Printing Dimensions PROPOSAL85Anna Fali
1038David I SlusarskiRussia2026-05-04Morlong Associates RENEWAL60Amy Elsner
1039Morrow L AlbaresBrazil2026-05-14Chanay, Jeffrey A Esq UNQUALIFIED72Ioni Bowcher
1040Aditya V BologniaItaly2026-05-22Rangoni Of Florence NEGOTIATION7Xuxue Feng
1041Mujtaba W BriddickJapan2026-05-20Rangoni Of Florence NEW30Xuxue Feng
1042Mayumi C FollerIndia2026-05-17Commercial Press NEGOTIATION79Asiya Javayant
1043Kadeem I SaylorsBrazil2026-05-09Buckley Miller Wright QUALIFIED95Ivan Magalhaes
1044Kadeem F SaylorsAustralia2026-05-18Feltz Printing Service QUALIFIED44Amy Elsner
1045Ivar N MaletGermany2026-05-06Rousseaux, Michael Esq RENEWAL38Stephen Shaw
1046Aditya T MaletIndia2026-05-28Chanay, Jeffrey A Esq NEW7Amy Elsner
1047Julie P DoeSpain2026-05-08Commercial Press NEGOTIATION19Onyama Limba
1048Kaitlin E WhobreyGermany2026-05-25Rousseaux, Michael Esq NEW57Onyama Limba
1049Antonio B MorascaCanada2026-05-15Truhlar And Truhlar Attys NEW78Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Q ShinkoCanadaOnyama Limba QUALIFIED
Leon H PaprockiCanadaElwin Sharvill UNQUALIFIED
Nicolas X FigeroaRussiaAsiya Javayant UNQUALIFIED
Nicolas I RutaGermanyElwin Sharvill PROPOSAL
Julie K WieserSpainAmy Elsner QUALIFIED
Julie U FerenczAustraliaOnyama Limba QUALIFIED
James R SaylorsJapanOnyama Limba QUALIFIED
Stacey W PerinFranceAsiya Javayant UNQUALIFIED
Sinclair C PoquetteRussiaBernardo Dominic PROPOSAL
Julie X DoeCanadaStephen Shaw PROPOSAL
Jefferson C ChuiJapanOnyama Limba NEGOTIATION
Julie H FollerItalyElwin Sharvill RENEWAL
Stacey X MorascaCanadaOnyama Limba RENEWAL
Aika G VenereSpainBernardo Dominic UNQUALIFIED
Maria T MacleadArgentinaXuxue Feng NEW
Kaitlin J AlbaresUnited KingdomStephen Shaw NEGOTIATION
Antonio R DoeUnited KingdomIvan Magalhaes NEW
Jones K CaudyJapanAmy Elsner NEW
Mayumi Q OstroskyRussiaOnyama Limba PROPOSAL
Francesco E FollerGermanyAsiya Javayant PROPOSAL
Ricardo O WieserArgentinaOnyama Limba PROPOSAL
Mayumi W BologniaIndiaBernardo Dominic NEW
Cody K KolmetzSpainIvan Magalhaes UNQUALIFIED
Ricardo E DilliardCanadaAsiya Javayant PROPOSAL
Johnson Q FollerSpainIoni Bowcher NEGOTIATION
Deepesh F RimItalyAmy Elsner PROPOSAL
Francesco T PerinIndiaXuxue Feng QUALIFIED
Julie R MacleadJapanIvan Magalhaes PROPOSAL
Ivar G PerinJapanBernardo Dominic UNQUALIFIED
Johnson K FerenczSpainAnna Fali RENEWAL
Aruna N NestleIndiaXuxue Feng QUALIFIED
Murillo K PoquetteJapanOnyama Limba RENEWAL
Leja G CaldareraCanadaElwin Sharvill PROPOSAL
Ashley O FollerBrazilAmy Elsner QUALIFIED
Adams Q SaylorsArgentinaAmy Elsner UNQUALIFIED
Aika G SlusarskiRussiaAmy Elsner RENEWAL
Nicolas B ShinkoItalyStephen Shaw PROPOSAL
Antonio W SaylorsBrazilStephen Shaw QUALIFIED
Octavia X OldroydJapanAmy Elsner NEGOTIATION
Alejandro R IturbideRussiaStephen Shaw QUALIFIED
Arvin R PerinGermanyXuxue Feng RENEWAL
Aika Y IturbideIndiaAmy Elsner UNQUALIFIED
Alejandro S DilliardBrazilAmy Elsner QUALIFIED
Tony X DoeItalyAmy Elsner UNQUALIFIED
Sinclair X SergiUnited KingdomOnyama Limba UNQUALIFIED
Emily W VenereIndiaIoni Bowcher NEGOTIATION
James D RimSpainOnyama Limba PROPOSAL
Morrow X RutaIndiaBernardo Dominic NEW
Francesco R CaudyArgentinaBernardo Dominic NEW
Jennifer O SaylorsSpainXuxue Feng NEW
Frozen Columns
Name
Alejandro C Nestle
Kadeem A Tollner
Smith T Poquette
Clifford B Flosi
Morrow Z Foller
Stacey J Campain
Adams L Whobrey
Ricardo D Campain
Nicolas R Glick
Rodrigues W Paprocki
Deepesh Z Caudy
Kadeem I Darakjy
Izzy O Bowley
Kaitlin Y Nicka
Alejandro C Darakjy
Salvatore W Dilliard
Smith B Doe
Sinclair C Rim
Stacey L Kolmetz
Jefferson I Briddick
James Z Iturbide
Stacey U Flosi
Antonio D Kusko
Aruna H Butt
Emily E Paprocki
Faith J Flosi
Chavez O Caudy
Leja R Stenseth
Greenwood S Nicka
Izzy O Kusko
Jefferson T Kolmetz
Johnson W Ostrosky
Jennifer C Rim
Izzy K Briddick
Rodrigues P Poquette
James S Bolognia
Arvin K Bowley
Antonio F Rim
Greenwood I Malet
Stacey Y Gillian
Misaki A Marrier
Aditya B Garufi
Munro A Garufi
Salvatore Y Kusko
Maria D Gaucho
Wickens M Albares
Ashley U Malet
Octavia U Maclead
Murillo M Caldarera
Faith I Briddick
IdCountryDate
1000United Kingdom2026-05-13
1001India2026-05-29
1002United Kingdom2026-05-19
1003India2026-05-11
1004Italy2026-05-23
1005Canada2026-05-16
1006Canada2026-05-17
1007Germany2026-05-06
1008Canada2026-05-31
1009Japan2026-05-19
1010France2026-05-15
1011United Kingdom2026-05-09
1012United Kingdom2026-05-30
1013Brazil2026-05-13
1014India2026-05-15
1015United Kingdom2026-05-16
1016United Kingdom2026-05-17
1017Australia2026-05-26
1018Germany2026-05-25
1019United Kingdom2026-05-09
1020India2026-05-17
1021United Kingdom2026-05-20
1022Japan2026-05-09
1023Japan2026-05-16
1024France2026-05-12
1025Brazil2026-06-01
1026Russia2026-06-02
1027Italy2026-05-08
1028Spain2026-05-31
1029Russia2026-05-11
1030Germany2026-05-27
1031Canada2026-05-19
1032Japan2026-05-06
1033France2026-05-30
1034United Kingdom2026-05-13
1035Brazil2026-05-20
1036Australia2026-05-08
1037Japan2026-05-13
1038Canada2026-05-08
1039India2026-05-29
1040Japan2026-05-05
1041India2026-05-10
1042Italy2026-05-28
1043Russia2026-05-15
1044Japan2026-05-14
1045Brazil2026-05-19
1046Brazil2026-05-22
1047Australia2026-05-18
1048United Kingdom2026-05-09
1049France2026-05-08

On-Demand Data

NameIdCountryDate
Sinclair H Campain1000Russia2026-05-20
Darci N Oldroyd1001India2026-05-27
Jennifer E Malet1002Brazil2026-05-27
Adams A Figeroa1003France2026-05-05
Silvio G Amigon1004France2026-06-02
Leja U Doe1005Brazil2026-05-11
James S Gillian1006Argentina2026-05-23
Aika B Garufi1007Germany2026-05-29
Chavez T Paprocki1008Spain2026-05-18
Darci W Ruta1009India2026-05-13
Rodrigues G Ostrosky1010Germany2026-05-22
Clifford X Rim1011Canada2026-05-27
Octavia P Chui1012Brazil2026-05-06
Aditya K Whobrey1013Italy2026-05-07
Aruna D Garufi1014Canada2026-05-18
Jeanfrancois F Flosi1015Spain2026-06-02
Isabel R Inouye1016Australia2026-05-17
Misaki E Saylors1017Japan2026-05-14
Isabel N Albares1018Australia2026-05-07
Greenwood C Chui1019Italy2026-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson N ChuiIndiaIoni Bowcher RENEWAL
Stacey R CampainGermanyXuxue Feng QUALIFIED
Chavez L WieserArgentinaElwin Sharvill RENEWAL
Clifford E NickaCanadaIoni Bowcher QUALIFIED
Aruna M DarakjyArgentinaXuxue Feng UNQUALIFIED
Antonio Q MarrierAustraliaStephen Shaw QUALIFIED
Stacey X CaudyUnited KingdomElwin Sharvill QUALIFIED
Munro L OldroydUnited KingdomAnna Fali QUALIFIED
Smith T CaudyAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois L MaletItalyElwin Sharvill QUALIFIED
Ricardo X AlbaresArgentinaOnyama Limba PROPOSAL
Maisha G DoeSpainElwin Sharvill RENEWAL
Greenwood C MarrierCanadaOnyama Limba PROPOSAL
Darci G OstroskyRussiaIvan Magalhaes QUALIFIED
Sinclair C FerenczGermanyIvan Magalhaes UNQUALIFIED
Silvio V NestleGermanyAnna Fali RENEWAL
Jefferson F SergiItalyIvan Magalhaes NEGOTIATION
Jeanfrancois B AlbaresBrazilElwin Sharvill PROPOSAL
Ivar Q BologniaFranceIvan Magalhaes RENEWAL
Jones T StensethRussiaAnna Fali NEGOTIATION
Claire G DilliardAustraliaIoni Bowcher PROPOSAL
Octavia P RutaIndiaIvan Magalhaes RENEWAL
Sinclair T MaletJapanBernardo Dominic RENEWAL
Aika L InouyeArgentinaAmy Elsner QUALIFIED
Izzy Q WhobreyFranceAsiya Javayant PROPOSAL
Claire W MaletBrazilAmy Elsner UNQUALIFIED
Francesco N NestleAustraliaBernardo Dominic NEW
Francesco G SaylorsSpainIoni Bowcher UNQUALIFIED
Morrow C AmigonJapanAsiya Javayant NEGOTIATION
Faith K MorascaRussiaStephen Shaw UNQUALIFIED
Juan X SergiIndiaElwin Sharvill NEGOTIATION
Antonio S NickaIndiaXuxue Feng RENEWAL
Chavez S PerinUnited KingdomAmy Elsner PROPOSAL
Aruna D CaldareraAustraliaIvan Magalhaes NEW
Sinclair C OstroskyUnited KingdomIvan Magalhaes NEW
Costa R GlickJapanBernardo Dominic UNQUALIFIED
Nicolas V FollerJapanStephen Shaw QUALIFIED
Aruna O WhobreyBrazilOnyama Limba QUALIFIED
Kadeem I FlosiBrazilAmy Elsner RENEWAL
Wickens L CaldareraRussiaOnyama Limba 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>

You are using an LTS version of PrimeFaces with an invalid license, you may either switch back to a non-LTS version or purchase a license at PrimeStore.