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
Salvatore C BowleyBrazilStephen Shaw UNQUALIFIED
Sinclair E MaletJapanBernardo Dominic RENEWAL
Aruna D TollnerSpainOnyama Limba RENEWAL
Faith Q StensethSpainAmy Elsner UNQUALIFIED
Leja E PaprockiItalyBernardo Dominic NEW
Smith M GlickSpainAmy Elsner UNQUALIFIED
Costa O SlusarskiGermanyAnna Fali QUALIFIED
Cody U AmigonAustraliaBernardo Dominic RENEWAL
Maria U InouyeCanadaAmy Elsner PROPOSAL
Alejandro Z VocelkaBrazilStephen Shaw NEGOTIATION
Aruna X TollnerArgentinaOnyama Limba RENEWAL
Ivar B BriddickRussiaIvan Magalhaes QUALIFIED
Jefferson U SaylorsArgentinaBernardo Dominic UNQUALIFIED
Aika M ChuiItalyAsiya Javayant QUALIFIED
Arvin O OldroydAustraliaElwin Sharvill QUALIFIED
Jones O BowleyBrazilIvan Magalhaes QUALIFIED
Ivar Z AlbaresJapanAnna Fali NEGOTIATION
Mayumi I TollnerItalyAmy Elsner UNQUALIFIED
Ashley E OstroskyFranceXuxue Feng QUALIFIED
Munro O SlusarskiIndiaIoni Bowcher NEGOTIATION
Maisha Y GauchoItalyAnna Fali NEW
Maisha I GlickJapanBernardo Dominic NEW
Costa G TollnerGermanyBernardo Dominic PROPOSAL
Morrow F FollerItalyOnyama Limba NEW
Jeanfrancois C PaprockiSpainIvan Magalhaes UNQUALIFIED
Emily U CaudyBrazilAnna Fali NEGOTIATION
Ashley V RutaJapanAsiya Javayant RENEWAL
Tony A RimIndiaIoni Bowcher RENEWAL
Rodrigues W FerenczCanadaOnyama Limba UNQUALIFIED
Maisha J VenereJapanAsiya Javayant QUALIFIED
Juan M BologniaRussiaIvan Magalhaes RENEWAL
Clifford F VenereArgentinaOnyama Limba RENEWAL
Antonio B RoysterItalyElwin Sharvill QUALIFIED
Octavia D DilliardSpainAmy Elsner UNQUALIFIED
Jefferson G AmigonSpainXuxue Feng NEW
Nicolas M TollnerJapanXuxue Feng UNQUALIFIED
Silvio Z MarrierSpainIvan Magalhaes UNQUALIFIED
Leja H MaletFranceIvan Magalhaes UNQUALIFIED
James A ShinkoSpainAmy Elsner NEGOTIATION
Morrow B VenereFranceAmy Elsner PROPOSAL
Adams I FlosiItalyAnna Fali NEGOTIATION
Emily Z OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Maisha H AmigonRussiaAmy Elsner NEGOTIATION
Munro G ChuiIndiaStephen Shaw UNQUALIFIED
Adams C AlbaresCanadaStephen Shaw UNQUALIFIED
Maisha K StockhamFranceElwin Sharvill PROPOSAL
Cody R StensethRussiaElwin Sharvill UNQUALIFIED
Jennifer S PerinItalyXuxue Feng UNQUALIFIED
Aruna W IturbideJapanBernardo Dominic UNQUALIFIED
Stacey A ShinkoItalyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria Z GlickSpainAnna Fali QUALIFIED
Isabel J RulapaughFranceStephen Shaw NEGOTIATION
Maria J FlosiAustraliaIoni Bowcher RENEWAL
James Z FigeroaArgentinaIoni Bowcher NEGOTIATION
Greenwood W NickaRussiaIvan Magalhaes UNQUALIFIED
Alejandro M FigeroaSpainOnyama Limba QUALIFIED
Costa M BologniaBrazilElwin Sharvill UNQUALIFIED
Aruna C GarufiFranceIoni Bowcher RENEWAL
Jefferson C ShinkoUnited KingdomOnyama Limba RENEWAL
Adams C RimArgentinaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco H OldroydIndia2026-06-01Feiner Bros RENEWAL15Onyama Limba
1001Julie L PaprockiGermany2026-06-27Rangoni Of Florence PROPOSAL17Anna Fali
1002Morrow W FigeroaArgentina2026-06-15Chemel, James L Cpa RENEWAL5Stephen Shaw
1003Salvatore B WaycottUnited Kingdom2026-06-14Rousseaux, Michael Esq RENEWAL51Elwin Sharvill
1004Kaitlin K DilliardJapan2026-06-17Morlong Associates NEW4Xuxue Feng
1005Maria V FigeroaRussia2026-06-04Benton, John B Jr RENEWAL59Elwin Sharvill
1006Faith A SchemmerAustralia2026-06-18Printing Dimensions PROPOSAL50Amy Elsner
1007Ashley D BowleyItaly2026-06-13Commercial Press RENEWAL21Stephen Shaw
1008David L OldroydAustralia2026-06-20Dorl, James J Esq QUALIFIED2Ivan Magalhaes
1009Maisha K BologniaAustralia2026-06-19Chemel, James L Cpa RENEWAL22Stephen Shaw
1010Costa R GillianCanada2026-06-17Morlong Associates RENEWAL57Amy Elsner
1011Emily Z BriddickJapan2026-06-23Dorl, James J Esq UNQUALIFIED85Xuxue Feng
1012Alejandro K AmigonCanada2026-06-09Buckley Miller Wright NEW95Anna Fali
1013Ivar F BologniaAustralia2026-06-19Feltz Printing Service RENEWAL2Ioni Bowcher
1014Stacey M VocelkaSpain2026-06-19Dorl, James J Esq RENEWAL24Anna Fali
1015Izzy J BologniaSpain2026-06-10Truhlar And Truhlar Attys RENEWAL63Anna Fali
1016Deepesh S PerinFrance2026-06-26Commercial Press UNQUALIFIED79Bernardo Dominic
1017James M CaldareraGermany2026-06-21Morlong Associates NEW46Xuxue Feng
1018Tony H InouyeGermany2026-06-21King, Christopher A Esq PROPOSAL98Onyama Limba
1019Stacey X InouyeUnited Kingdom2026-06-06Rangoni Of Florence PROPOSAL33Bernardo Dominic
1020Sinclair J WhobreyBrazil2026-06-02Rousseaux, Michael Esq RENEWAL26Ioni Bowcher
1021Faith C AmigonSpain2026-05-30Chemel, James L Cpa UNQUALIFIED47Bernardo Dominic
1022Antonio C MarrierJapan2026-05-30King, Christopher A Esq PROPOSAL18Bernardo Dominic
1023Faith O SchemmerUnited Kingdom2026-06-21Chapman, Ross E Esq NEGOTIATION2Bernardo Dominic
1024Kaitlin M RulapaughJapan2026-06-09King, Christopher A Esq PROPOSAL46Elwin Sharvill
1025Aditya B ButtRussia2026-06-18Rousseaux, Michael Esq NEGOTIATION88Elwin Sharvill
1026Nicolas V TollnerFrance2026-06-07King, Christopher A Esq QUALIFIED24Bernardo Dominic
1027Aditya M SlusarskiBrazil2026-06-17Truhlar And Truhlar Attys QUALIFIED94Ioni Bowcher
1028Kadeem P KuskoGermany2026-06-08Commercial Press QUALIFIED35Asiya Javayant
1029Claire A DilliardFrance2026-06-17Commercial Press NEGOTIATION65Anna Fali
1030Chavez Z SlusarskiGermany2026-06-22Feiner Bros QUALIFIED77Xuxue Feng
1031Chavez D VocelkaCanada2026-05-30King, Christopher A Esq UNQUALIFIED10Asiya Javayant
1032Jones B GauchoIndia2026-06-01Commercial Press UNQUALIFIED17Asiya Javayant
1033Costa L RoysterGermany2026-06-03Chapman, Ross E Esq NEW60Ioni Bowcher
1034James R SlusarskiRussia2026-06-13King, Christopher A Esq NEW75Anna Fali
1035Deepesh Y AlbaresRussia2026-06-16Dorl, James J Esq NEW61Stephen Shaw
1036Leon E StensethAustralia2026-06-04Feiner Bros QUALIFIED84Anna Fali
1037Jefferson W KuskoGermany2026-06-12Morlong Associates NEGOTIATION25Elwin Sharvill
1038Aruna G PaprockiArgentina2026-06-01Feiner Bros UNQUALIFIED69Ivan Magalhaes
1039Faith K RoysterJapan2026-06-11Dorl, James J Esq NEW99Elwin Sharvill
1040Jefferson D WieserRussia2026-06-22Chanay, Jeffrey A Esq UNQUALIFIED40Ivan Magalhaes
1041Stacey U CaldareraRussia2026-06-11Feiner Bros NEW32Ioni Bowcher
1042Deepesh X FigeroaJapan2026-06-03Morlong Associates RENEWAL92Bernardo Dominic
1043Tony T SergiIndia2026-06-07Chapman, Ross E Esq PROPOSAL72Xuxue Feng
1044Salvatore D PerinSpain2026-06-11Chemel, James L Cpa RENEWAL80Stephen Shaw
1045Ashley N RutaItaly2026-06-04Benton, John B Jr NEW17Stephen Shaw
1046Arvin N PaprockiIndia2026-06-11Chapman, Ross E Esq UNQUALIFIED42Ioni Bowcher
1047Cody K MaletGermany2026-06-18Chapman, Ross E Esq UNQUALIFIED64Amy Elsner
1048Cody L BologniaGermany2026-06-03Dorl, James J Esq RENEWAL15Amy Elsner
1049Ricardo C WaycottAustralia2026-06-20Rousseaux, Michael Esq RENEWAL51Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois F RulapaughCanadaIvan Magalhaes PROPOSAL
Mujtaba N MaletArgentinaElwin Sharvill QUALIFIED
Aruna M RimCanadaElwin Sharvill UNQUALIFIED
Leon K MacleadBrazilOnyama Limba NEW
Antonio V WaycottCanadaBernardo Dominic UNQUALIFIED
Alejandro P DilliardBrazilAsiya Javayant NEW
Sinclair E FollerSpainBernardo Dominic RENEWAL
Antonio Z CaldareraRussiaBernardo Dominic PROPOSAL
Maisha V InouyeArgentinaAsiya Javayant PROPOSAL
Mayumi O BologniaItalyOnyama Limba NEW
Chavez S AmigonIndiaIvan Magalhaes RENEWAL
Faith D DoeIndiaOnyama Limba NEW
Antonio E GauchoCanadaIoni Bowcher QUALIFIED
Julie Q MaletItalyOnyama Limba QUALIFIED
Salvatore K PaprockiBrazilElwin Sharvill UNQUALIFIED
Kadeem X FlosiUnited KingdomStephen Shaw NEW
Misaki G VenereItalyAmy Elsner RENEWAL
Johnson A MorascaUnited KingdomXuxue Feng PROPOSAL
Costa T CampainArgentinaOnyama Limba QUALIFIED
Jones B BologniaItalyBernardo Dominic RENEWAL
Ricardo L MaletIndiaIoni Bowcher QUALIFIED
Maria Y WaycottIndiaIvan Magalhaes PROPOSAL
Cody L DarakjyArgentinaAsiya Javayant QUALIFIED
Greenwood U InouyeGermanyIoni Bowcher PROPOSAL
Aruna T DilliardAustraliaIoni Bowcher RENEWAL
Murillo K FigeroaSpainIvan Magalhaes NEW
Rodrigues G NestleCanadaOnyama Limba PROPOSAL
Greenwood L DarakjySpainBernardo Dominic RENEWAL
Rodrigues W PerinSpainIoni Bowcher PROPOSAL
Aditya U BologniaBrazilAnna Fali UNQUALIFIED
Faith Z MacleadSpainElwin Sharvill RENEWAL
Emily V PerinSpainStephen Shaw QUALIFIED
Salvatore Y FlosiAustraliaStephen Shaw PROPOSAL
Mayumi J SlusarskiArgentinaOnyama Limba PROPOSAL
Ashley C ShinkoAustraliaXuxue Feng UNQUALIFIED
Deepesh Z SlusarskiSpainAmy Elsner QUALIFIED
Faith O ChuiGermanyBernardo Dominic UNQUALIFIED
Leja Q SchemmerAustraliaStephen Shaw RENEWAL
Faith Y FerenczUnited KingdomOnyama Limba UNQUALIFIED
Morrow M MaletItalyIvan Magalhaes RENEWAL
Antonio R MarrierArgentinaOnyama Limba QUALIFIED
Jeanfrancois F MorascaSpainBernardo Dominic QUALIFIED
Johnson E PoquetteBrazilElwin Sharvill RENEWAL
Maria P OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Antonio W OldroydUnited KingdomOnyama Limba QUALIFIED
Stacey T FlosiCanadaElwin Sharvill PROPOSAL
Faith K OldroydSpainAmy Elsner QUALIFIED
Wickens E RulapaughBrazilOnyama Limba PROPOSAL
Isabel B DilliardFranceBernardo Dominic UNQUALIFIED
James K DoeGermanyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Ivar P Oldroyd
Munro R Perin
Octavia N Figeroa
Antonio M Nestle
Maria Z Chui
Rodrigues Q Perin
Kaitlin N Bolognia
Aika R Rulapaugh
Johnson C Schemmer
Jefferson Y Slusarski
Kadeem R Paprocki
Arvin K Bolognia
Aruna S Tollner
David I Saylors
Faith V Foller
Rodrigues E Schemmer
Julie U Gaucho
Tony E Whobrey
Deepesh K Paprocki
Francesco Z Maclead
Costa G Maclead
Ashley R Caldarera
Sinclair P Morasca
Alejandro L Doe
Antonio G Flosi
Jennifer B Dilliard
Faith M Malet
Ricardo X Vocelka
Johnson T Oldroyd
Octavia S Malet
Stacey E Butt
Stacey A Tollner
Mujtaba T Slusarski
Aditya V Ferencz
Jones D Ostrosky
David N Figeroa
Clifford K Nicka
Mujtaba T Maclead
David F Maclead
Rodrigues H Chui
Juan I Ruta
Leon V Sergi
Johnson P Perin
Greenwood K Doe
Izzy P Poquette
Kadeem R Flosi
Mayumi P Marrier
Cody B Butt
Smith P Butt
Greenwood P Venere
IdCountryDate
1000Italy2026-06-01
1001France2026-06-25
1002Argentina2026-06-27
1003United Kingdom2026-06-02
1004Brazil2026-06-20
1005Russia2026-06-07
1006Russia2026-06-16
1007Russia2026-06-05
1008Germany2026-06-01
1009France2026-06-22
1010Brazil2026-06-25
1011France2026-06-18
1012Italy2026-06-16
1013France2026-05-30
1014United Kingdom2026-06-28
1015Germany2026-06-19
1016France2026-06-20
1017France2026-06-02
1018India2026-06-10
1019Germany2026-06-08
1020Brazil2026-05-30
1021Italy2026-06-24
1022Germany2026-06-18
1023Brazil2026-06-22
1024Australia2026-06-23
1025France2026-06-14
1026Japan2026-06-14
1027Canada2026-06-12
1028Brazil2026-06-23
1029France2026-06-28
1030Germany2026-06-05
1031Canada2026-06-18
1032Italy2026-06-05
1033Canada2026-06-04
1034Russia2026-06-22
1035Spain2026-06-11
1036Argentina2026-06-26
1037Russia2026-05-31
1038Germany2026-06-11
1039Germany2026-06-19
1040Germany2026-06-18
1041France2026-06-15
1042Canada2026-06-07
1043Brazil2026-06-08
1044Brazil2026-06-12
1045France2026-05-30
1046Brazil2026-06-24
1047Canada2026-06-02
1048Australia2026-06-13
1049India2026-06-05

On-Demand Data

NameIdCountryDate
Salvatore F Perin1000Italy2026-06-19
Misaki S Tollner1001Argentina2026-06-04
Aruna P Whobrey1002Canada2026-06-09
Cody P Ferencz1003India2026-06-07
Leon V Caldarera1004Brazil2026-06-12
Murillo J Rulapaugh1005Brazil2026-06-24
Rodrigues G Nestle1006Russia2026-06-01
Maisha Z Marrier1007Italy2026-06-02
Isabel K Rim1008Argentina2026-06-18
Morrow S Ferencz1009Japan2026-06-14
Arvin K Marrier1010United Kingdom2026-06-19
Ricardo I Ruta1011France2026-05-30
Ivar Z Briddick1012Japan2026-06-26
Isabel I Campain1013India2026-06-16
Salvatore E Darakjy1014Australia2026-06-02
Arvin G Ferencz1015Argentina2026-06-03
Ashley V Tollner1016Canada2026-06-22
James Y Darakjy1017Germany2026-06-19
Kaitlin Z Ruta1018Germany2026-06-03
Kadeem T Caudy1019Germany2026-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco L MorascaIndiaAmy Elsner RENEWAL
Misaki K MarrierGermanyElwin Sharvill PROPOSAL
Murillo K GillianAustraliaAmy Elsner RENEWAL
Chavez V MarrierSpainAsiya Javayant PROPOSAL
Ashley N MarrierBrazilIvan Magalhaes RENEWAL
Emily N SchemmerCanadaAnna Fali RENEWAL
Sinclair Y PoquetteJapanElwin Sharvill UNQUALIFIED
Jeanfrancois C WieserArgentinaXuxue Feng NEGOTIATION
Tony P WaycottAustraliaAnna Fali RENEWAL
Deepesh F WaycottJapanStephen Shaw NEW
Greenwood E StockhamBrazilStephen Shaw PROPOSAL
Nicolas B MacleadFranceAnna Fali RENEWAL
Costa E WhobreyAustraliaOnyama Limba QUALIFIED
Chavez R SlusarskiCanadaAmy Elsner QUALIFIED
Leon Y VocelkaJapanAmy Elsner QUALIFIED
Francesco O ButtIndiaXuxue Feng NEW
David V BologniaIndiaIvan Magalhaes QUALIFIED
Emily F SlusarskiIndiaAnna Fali PROPOSAL
David R OldroydItalyStephen Shaw RENEWAL
Jeanfrancois L CaldareraItalyStephen Shaw PROPOSAL
James J GillianJapanStephen Shaw PROPOSAL
Mujtaba B MorascaFranceXuxue Feng PROPOSAL
Antonio A BologniaAustraliaAnna Fali QUALIFIED
Maisha B PaprockiJapanOnyama Limba UNQUALIFIED
Aditya E FerenczGermanyElwin Sharvill RENEWAL
Johnson E BriddickRussiaXuxue Feng NEGOTIATION
Chavez N CaldareraCanadaAnna Fali RENEWAL
Antonio U FollerFranceAsiya Javayant RENEWAL
Johnson B OldroydGermanyOnyama Limba PROPOSAL
Morrow C GauchoJapanAsiya Javayant UNQUALIFIED
Juan E VenereArgentinaElwin Sharvill PROPOSAL
Deepesh O StockhamUnited KingdomStephen Shaw RENEWAL
Ricardo J GauchoIndiaBernardo Dominic UNQUALIFIED
Chavez G GarufiCanadaIoni Bowcher PROPOSAL
Aditya G ChuiFranceOnyama Limba QUALIFIED
Rodrigues P AmigonBrazilIvan Magalhaes RENEWAL
Morrow H MarrierArgentinaAnna Fali PROPOSAL
Kaitlin W RimUnited KingdomOnyama Limba QUALIFIED
Morrow Y AlbaresBrazilBernardo Dominic UNQUALIFIED
Leon V GarufiCanadaAsiya Javayant NEW

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