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
Johnson H FigeroaIndiaIoni Bowcher PROPOSAL
Darci O MaletUnited KingdomElwin Sharvill NEW
Cody S SaylorsBrazilStephen Shaw PROPOSAL
Greenwood G WaycottRussiaIvan Magalhaes NEW
Jeanfrancois K CampainItalyBernardo Dominic PROPOSAL
Salvatore I PaprockiRussiaOnyama Limba RENEWAL
David G MarrierBrazilBernardo Dominic PROPOSAL
Jefferson E WhobreySpainAnna Fali QUALIFIED
Mayumi O ButtSpainBernardo Dominic PROPOSAL
Deepesh W OstroskyCanadaXuxue Feng NEW
Leon N MacleadSpainStephen Shaw PROPOSAL
Cody J RutaCanadaAsiya Javayant QUALIFIED
Ivar V NestleCanadaAsiya Javayant PROPOSAL
Misaki E CampainIndiaAnna Fali NEGOTIATION
Antonio S VenereGermanyAsiya Javayant RENEWAL
Stacey O AmigonGermanyBernardo Dominic RENEWAL
Salvatore C KuskoSpainIvan Magalhaes UNQUALIFIED
Faith C ChuiAustraliaElwin Sharvill QUALIFIED
Johnson D PoquetteCanadaElwin Sharvill QUALIFIED
Mayumi U KolmetzJapanIvan Magalhaes UNQUALIFIED
Jones R FerenczBrazilIoni Bowcher PROPOSAL
Ricardo G AlbaresRussiaXuxue Feng RENEWAL
Maria T InouyeAustraliaIvan Magalhaes NEW
Misaki I WieserArgentinaIoni Bowcher QUALIFIED
Jeanfrancois D IturbideBrazilOnyama Limba NEW
Arvin N GlickBrazilAsiya Javayant QUALIFIED
Nicolas N AmigonArgentinaElwin Sharvill QUALIFIED
Misaki E VocelkaArgentinaXuxue Feng QUALIFIED
David F CaudyGermanyElwin Sharvill NEGOTIATION
Deepesh P WhobreyCanadaXuxue Feng NEW
Cody X SlusarskiSpainIvan Magalhaes UNQUALIFIED
Leon P MarrierRussiaAmy Elsner NEW
Jones K SergiBrazilAmy Elsner NEGOTIATION
James Z ChuiIndiaElwin Sharvill NEW
Tony K MarrierGermanyElwin Sharvill PROPOSAL
Silvio A WieserSpainAsiya Javayant PROPOSAL
Leon Q GillianJapanIvan Magalhaes NEW
James M RulapaughGermanyIoni Bowcher NEGOTIATION
Kadeem Z SaylorsJapanXuxue Feng PROPOSAL
Greenwood Y CaudyFranceIoni Bowcher QUALIFIED
Aika T GillianAustraliaAmy Elsner QUALIFIED
Jeanfrancois B FigeroaSpainElwin Sharvill RENEWAL
Isabel A NestleItalyBernardo Dominic NEGOTIATION
Julie E IturbideArgentinaXuxue Feng QUALIFIED
Morrow T RoysterSpainOnyama Limba NEW
Nicolas U WaycottSpainAsiya Javayant NEW
Johnson L WhobreyItalyBernardo Dominic UNQUALIFIED
Jefferson X NestleGermanyOnyama Limba NEGOTIATION
Morrow Y WaycottArgentinaAmy Elsner NEGOTIATION
Darci A MaletFranceAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson B ButtFranceAnna Fali QUALIFIED
Morrow B IturbideSpainElwin Sharvill PROPOSAL
Mayumi F OstroskyFranceAsiya Javayant QUALIFIED
Nicolas A ChuiJapanOnyama Limba RENEWAL
Jennifer H CampainIndiaAnna Fali PROPOSAL
Chavez S CaudyIndiaIvan Magalhaes UNQUALIFIED
Octavia H WaycottSpainXuxue Feng NEGOTIATION
James V IturbideIndiaOnyama Limba QUALIFIED
Izzy J NickaGermanyOnyama Limba PROPOSAL
Salvatore U FerenczIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez Z MaletItaly2026-05-27Benton, John B Jr NEGOTIATION48Elwin Sharvill
1001Maria N InouyeIndia2026-05-28Chanay, Jeffrey A Esq PROPOSAL66Onyama Limba
1002Francesco P GillianRussia2026-06-02Printing Dimensions UNQUALIFIED48Elwin Sharvill
1003Ivar D InouyeIndia2026-06-24King, Christopher A Esq QUALIFIED40Ioni Bowcher
1004Juan H RoysterSpain2026-05-27Dorl, James J Esq PROPOSAL27Ioni Bowcher
1005Ivar R MaletArgentina2026-06-10Morlong Associates QUALIFIED64Stephen Shaw
1006Clifford B PoquetteGermany2026-06-05Feltz Printing Service UNQUALIFIED67Xuxue Feng
1007Greenwood Z RulapaughUnited Kingdom2026-06-03Rousseaux, Michael Esq NEGOTIATION33Stephen Shaw
1008Jennifer H CaudyFrance2026-06-23Rangoni Of Florence NEGOTIATION90Bernardo Dominic
1009Octavia R NestleRussia2026-06-04Printing Dimensions QUALIFIED81Ioni Bowcher
1010Adams Y KuskoAustralia2026-05-31Chapman, Ross E Esq PROPOSAL87Ioni Bowcher
1011Kadeem Z FerenczUnited Kingdom2026-06-07Truhlar And Truhlar Attys RENEWAL49Ioni Bowcher
1012Emily F OstroskySpain2026-06-21King, Christopher A Esq QUALIFIED21Onyama Limba
1013Aika B WaycottBrazil2026-06-21Chapman, Ross E Esq NEW79Xuxue Feng
1014Faith B AmigonCanada2026-06-25Truhlar And Truhlar Attys QUALIFIED80Stephen Shaw
1015Salvatore W OldroydGermany2026-06-10Benton, John B Jr PROPOSAL16Xuxue Feng
1016Silvio A AmigonCanada2026-05-29Commercial Press QUALIFIED9Onyama Limba
1017Alejandro D StockhamUnited Kingdom2026-06-22Rousseaux, Michael Esq RENEWAL98Onyama Limba
1018Maria R GauchoBrazil2026-06-20Printing Dimensions RENEWAL22Bernardo Dominic
1019Antonio V BriddickGermany2026-06-10Buckley Miller Wright UNQUALIFIED53Bernardo Dominic
1020David P KuskoUnited Kingdom2026-06-22Feltz Printing Service QUALIFIED43Bernardo Dominic
1021Rodrigues Q StockhamAustralia2026-06-01Feltz Printing Service NEW71Ivan Magalhaes
1022Ivar Q InouyeArgentina2026-06-24Feltz Printing Service NEW65Ioni Bowcher
1023Costa X SaylorsCanada2026-06-12Chapman, Ross E Esq RENEWAL69Anna Fali
1024Francesco B MaletArgentina2026-06-25Chanay, Jeffrey A Esq UNQUALIFIED94Stephen Shaw
1025Julie X SaylorsRussia2026-05-27Benton, John B Jr QUALIFIED38Xuxue Feng
1026Ashley H FigeroaBrazil2026-06-20Truhlar And Truhlar Attys RENEWAL77Elwin Sharvill
1027Deepesh W GauchoItaly2026-05-29Truhlar And Truhlar Attys NEGOTIATION2Anna Fali
1028Leja E OldroydIndia2026-06-04Chemel, James L Cpa UNQUALIFIED39Anna Fali
1029Aditya F VenereAustralia2026-06-14Chanay, Jeffrey A Esq QUALIFIED51Stephen Shaw
1030Jones S InouyeArgentina2026-06-06Benton, John B Jr UNQUALIFIED68Amy Elsner
1031Claire R InouyeBrazil2026-06-23King, Christopher A Esq RENEWAL71Ioni Bowcher
1032Ashley E StensethSpain2026-06-09Benton, John B Jr NEW98Stephen Shaw
1033Adams K WaycottRussia2026-06-02Feiner Bros QUALIFIED6Stephen Shaw
1034Adams P MacleadJapan2026-06-05Chapman, Ross E Esq NEGOTIATION75Xuxue Feng
1035Nicolas V DilliardIndia2026-06-18Chapman, Ross E Esq NEGOTIATION24Xuxue Feng
1036Aruna L GillianIndia2026-06-22Chapman, Ross E Esq NEW54Amy Elsner
1037Kadeem Z ChuiArgentina2026-06-02Buckley Miller Wright UNQUALIFIED70Ioni Bowcher
1038Jeanfrancois Q BriddickItaly2026-06-13Dorl, James J Esq RENEWAL10Bernardo Dominic
1039Morrow B KolmetzItaly2026-06-25Feltz Printing Service NEGOTIATION38Stephen Shaw
1040Izzy B SchemmerItaly2026-06-23Rangoni Of Florence RENEWAL52Stephen Shaw
1041Jeanfrancois H GlickBrazil2026-06-17Feiner Bros UNQUALIFIED83Stephen Shaw
1042Adams F InouyeJapan2026-05-28Commercial Press PROPOSAL65Onyama Limba
1043Chavez J RoysterGermany2026-05-30Rangoni Of Florence NEW7Ivan Magalhaes
1044Rodrigues K TollnerAustralia2026-06-06Dorl, James J Esq QUALIFIED66Ioni Bowcher
1045Deepesh V FerenczArgentina2026-06-08Truhlar And Truhlar Attys QUALIFIED91Bernardo Dominic
1046Mujtaba G NickaBrazil2026-05-29Truhlar And Truhlar Attys NEW99Stephen Shaw
1047Jeanfrancois H MacleadUnited Kingdom2026-06-07Printing Dimensions QUALIFIED39Asiya Javayant
1048Salvatore T FlosiArgentina2026-06-25Rousseaux, Michael Esq NEW14Elwin Sharvill
1049Smith Z PaprockiRussia2026-06-15Dorl, James J Esq PROPOSAL4Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ivar P WaycottRussiaOnyama Limba UNQUALIFIED
Misaki C NickaItalyAnna Fali PROPOSAL
Jefferson W RutaSpainBernardo Dominic UNQUALIFIED
Adams M TollnerAustraliaBernardo Dominic RENEWAL
Izzy B SlusarskiGermanyAmy Elsner QUALIFIED
Izzy H CaudyGermanyXuxue Feng NEGOTIATION
Tony X AmigonJapanAnna Fali PROPOSAL
Stacey J OstroskyItalyAnna Fali UNQUALIFIED
Arvin V SchemmerIndiaBernardo Dominic NEGOTIATION
Antonio A CaudyBrazilElwin Sharvill QUALIFIED
Chavez L FigeroaSpainIvan Magalhaes QUALIFIED
Salvatore Y CampainCanadaIvan Magalhaes NEGOTIATION
Johnson Z OstroskyGermanyStephen Shaw NEW
Kadeem F TollnerBrazilAsiya Javayant NEW
Cody T OstroskyUnited KingdomIvan Magalhaes NEW
Ricardo D GauchoSpainIoni Bowcher RENEWAL
James E FerenczUnited KingdomIvan Magalhaes PROPOSAL
Deepesh K FigeroaSpainIoni Bowcher RENEWAL
Tony M VenereCanadaXuxue Feng RENEWAL
Johnson A DilliardCanadaAmy Elsner NEGOTIATION
Jennifer K SergiBrazilIvan Magalhaes NEGOTIATION
Octavia K WaycottSpainAnna Fali QUALIFIED
Emily Q CaudyRussiaXuxue Feng RENEWAL
Smith Z SaylorsRussiaBernardo Dominic QUALIFIED
Faith U WhobreyRussiaElwin Sharvill PROPOSAL
Tony Y TollnerFranceXuxue Feng PROPOSAL
Tony F KolmetzArgentinaAnna Fali RENEWAL
Chavez H RulapaughFranceElwin Sharvill QUALIFIED
Juan K MarrierIndiaStephen Shaw QUALIFIED
Aditya D RulapaughSpainStephen Shaw PROPOSAL
Stacey V InouyeGermanyStephen Shaw QUALIFIED
Emily J KuskoUnited KingdomAsiya Javayant PROPOSAL
Leon E RimItalyIvan Magalhaes NEGOTIATION
Kadeem E BriddickIndiaIoni Bowcher UNQUALIFIED
Faith E GauchoItalyAsiya Javayant NEW
Jefferson N RulapaughItalyAsiya Javayant RENEWAL
Alejandro G DoeBrazilOnyama Limba QUALIFIED
Darci U RutaGermanyOnyama Limba UNQUALIFIED
Emily G CaldareraAustraliaXuxue Feng PROPOSAL
Ricardo G DoeRussiaAsiya Javayant QUALIFIED
Nicolas I OstroskyFranceStephen Shaw NEGOTIATION
Aruna Z CaldareraBrazilXuxue Feng RENEWAL
Misaki R MarrierAustraliaIvan Magalhaes NEW
Murillo K NickaArgentinaElwin Sharvill RENEWAL
Jones F KolmetzJapanAmy Elsner NEGOTIATION
Silvio V KolmetzUnited KingdomOnyama Limba QUALIFIED
Kadeem W NickaUnited KingdomBernardo Dominic RENEWAL
Ivar W KuskoCanadaIoni Bowcher PROPOSAL
Arvin B GauchoIndiaIvan Magalhaes UNQUALIFIED
Salvatore S KolmetzFranceIvan Magalhaes QUALIFIED
Frozen Columns
Name
Antonio W Nicka
Kaitlin Y Nestle
Claire G Figeroa
Nicolas H Vocelka
Clifford R Iturbide
Arvin B Tollner
Cody D Nicka
Izzy A Iturbide
Mayumi B Whobrey
Adams F Vocelka
Isabel R Nicka
Arvin H Wieser
David O Perin
Clifford T Kolmetz
Francesco J Albares
Antonio T Foller
Antonio I Butt
Costa G Gaucho
Misaki V Rulapaugh
Nicolas V Kusko
Aika Q Figeroa
Octavia Y Slusarski
James M Campain
Stacey X Ferencz
David T Inouye
Maisha L Oldroyd
Leon Z Royster
Smith G Figeroa
Darci F Kolmetz
Juan N Caldarera
Alejandro M Nicka
Darci K Whobrey
Ricardo I Figeroa
Nicolas W Malet
Juan G Garufi
Jennifer F Schemmer
Octavia D Rulapaugh
David E Royster
Clifford J Nicka
Mayumi H Slusarski
Munro H Wieser
Misaki B Garufi
James R Albares
Aditya L Nicka
Murillo H Doe
Jeanfrancois W Kusko
Nicolas G Ferencz
Francesco L Ostrosky
Munro J Rulapaugh
Emily N Malet
IdCountryDate
1000Italy2026-06-20
1001India2026-06-16
1002United Kingdom2026-06-19
1003Brazil2026-06-09
1004France2026-06-07
1005Spain2026-06-24
1006Canada2026-06-11
1007Japan2026-05-28
1008United Kingdom2026-05-27
1009India2026-06-05
1010India2026-06-16
1011Brazil2026-05-27
1012France2026-06-19
1013India2026-05-30
1014Germany2026-05-30
1015France2026-06-20
1016Japan2026-05-28
1017Canada2026-05-27
1018Brazil2026-05-28
1019Canada2026-06-01
1020India2026-06-25
1021United Kingdom2026-06-15
1022Russia2026-06-24
1023Japan2026-06-02
1024Canada2026-06-25
1025India2026-06-06
1026India2026-05-27
1027United Kingdom2026-06-22
1028Brazil2026-06-25
1029Germany2026-06-18
1030France2026-06-25
1031Spain2026-06-05
1032Russia2026-06-21
1033India2026-06-03
1034Germany2026-06-08
1035Japan2026-06-24
1036Canada2026-06-11
1037United Kingdom2026-05-28
1038Russia2026-05-30
1039United Kingdom2026-06-20
1040Spain2026-06-16
1041Russia2026-06-20
1042India2026-05-31
1043Russia2026-06-15
1044Brazil2026-06-07
1045Brazil2026-06-25
1046Germany2026-06-12
1047Russia2026-06-23
1048Argentina2026-06-07
1049Argentina2026-05-30

On-Demand Data

NameIdCountryDate
Morrow Y Bolognia1000Italy2026-06-18
Claire V Slusarski1001Japan2026-06-11
Wickens W Gillian1002India2026-06-11
Ashley X Poquette1003Canada2026-05-28
Sinclair F Sergi1004India2026-06-10
Deepesh Y Poquette1005Russia2026-05-29
Juan G Shinko1006Russia2026-06-03
Darci W Ferencz1007India2026-06-08
Deepesh C Figeroa1008United Kingdom2026-06-07
Mayumi X Waycott1009Germany2026-06-04
Arvin V Gaucho1010India2026-06-21
Arvin W Paprocki1011Canada2026-06-14
Arvin G Malet1012Spain2026-06-20
Misaki Z Nestle1013India2026-06-15
Aruna R Doe1014Canada2026-06-08
Cody L Venere1015Russia2026-06-03
Aruna O Whobrey1016Australia2026-05-28
Juan A Ostrosky1017Canada2026-05-31
James B Oldroyd1018Argentina2026-06-19
David O Dilliard1019India2026-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie P DilliardAustraliaOnyama Limba NEGOTIATION
David A ChuiArgentinaElwin Sharvill NEGOTIATION
Jones Q KolmetzRussiaStephen Shaw UNQUALIFIED
Misaki C InouyeArgentinaAsiya Javayant PROPOSAL
Chavez D MarrierFranceStephen Shaw QUALIFIED
Maisha I MacleadGermanyXuxue Feng NEGOTIATION
Tony Q InouyeBrazilIoni Bowcher UNQUALIFIED
Jones N DilliardSpainAmy Elsner NEGOTIATION
Tony M RoysterCanadaOnyama Limba NEW
Clifford O GlickJapanIvan Magalhaes PROPOSAL
David Q BowleyFranceBernardo Dominic UNQUALIFIED
Kadeem O KuskoAustraliaAsiya Javayant UNQUALIFIED
Jefferson Q BowleyAustraliaAnna Fali RENEWAL
Nicolas K RutaRussiaAnna Fali NEGOTIATION
Deepesh A KuskoIndiaAmy Elsner PROPOSAL
Misaki B WieserArgentinaAnna Fali UNQUALIFIED
Leja A IturbideFranceXuxue Feng NEW
Smith U ShinkoSpainAnna Fali UNQUALIFIED
Ashley A PaprockiJapanAsiya Javayant PROPOSAL
Darci C SergiJapanElwin Sharvill NEW
Adams A VocelkaIndiaElwin Sharvill NEGOTIATION
Adams D NestleFranceElwin Sharvill NEGOTIATION
Emily U BologniaAustraliaStephen Shaw NEW
Jennifer F ChuiItalyAsiya Javayant RENEWAL
Faith I SaylorsBrazilAmy Elsner UNQUALIFIED
Johnson N RimFranceStephen Shaw NEGOTIATION
Maisha S ShinkoSpainElwin Sharvill NEGOTIATION
James T SaylorsGermanyAmy Elsner NEGOTIATION
Alejandro J SaylorsBrazilOnyama Limba RENEWAL
Cody V SchemmerBrazilStephen Shaw NEW
Cody F RulapaughRussiaAsiya Javayant UNQUALIFIED
Greenwood T MacleadUnited KingdomAsiya Javayant PROPOSAL
Leon S RimItalyStephen Shaw NEW
Izzy C SchemmerUnited KingdomOnyama Limba NEGOTIATION
Kaitlin M RoysterIndiaIvan Magalhaes NEW
Arvin N VenereGermanyAnna Fali NEGOTIATION
Jefferson D RoysterAustraliaAmy Elsner PROPOSAL
Salvatore E BriddickCanadaAsiya Javayant UNQUALIFIED
Arvin P FollerBrazilElwin Sharvill UNQUALIFIED
Munro C AmigonBrazilAmy Elsner NEGOTIATION

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