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
Faith J RoysterGermanyIvan Magalhaes UNQUALIFIED
Silvio Z TollnerArgentinaAnna Fali NEGOTIATION
Leja D WaycottRussiaIvan Magalhaes NEGOTIATION
Jefferson U StockhamBrazilAsiya Javayant NEW
Aruna P OstroskyArgentinaXuxue Feng PROPOSAL
Aditya V FollerIndiaOnyama Limba QUALIFIED
Ashley K RulapaughJapanBernardo Dominic NEGOTIATION
Murillo I FerenczArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois Q DoeSpainAmy Elsner RENEWAL
Munro K CaudyFranceAsiya Javayant PROPOSAL
Maria J BologniaGermanyIvan Magalhaes UNQUALIFIED
Aika P InouyeBrazilIvan Magalhaes PROPOSAL
Deepesh I OstroskyAustraliaStephen Shaw QUALIFIED
Clifford F NestleAustraliaBernardo Dominic UNQUALIFIED
Sinclair U FerenczRussiaOnyama Limba NEW
James K FollerIndiaAnna Fali NEW
Mayumi B DilliardSpainStephen Shaw UNQUALIFIED
Rodrigues K OstroskyArgentinaStephen Shaw NEGOTIATION
Claire X WieserSpainIoni Bowcher PROPOSAL
David M OldroydItalyOnyama Limba UNQUALIFIED
David A InouyeCanadaBernardo Dominic RENEWAL
Aruna R BologniaUnited KingdomOnyama Limba PROPOSAL
Mayumi A GauchoItalyStephen Shaw NEW
Murillo T IturbideAustraliaAmy Elsner UNQUALIFIED
Greenwood B NestleFranceIoni Bowcher UNQUALIFIED
Sinclair F MaletUnited KingdomAsiya Javayant PROPOSAL
Isabel R BowleyItalyStephen Shaw PROPOSAL
Morrow C FlosiArgentinaBernardo Dominic QUALIFIED
Sinclair E MaletCanadaElwin Sharvill NEGOTIATION
Isabel M WieserFranceStephen Shaw PROPOSAL
Darci F PaprockiJapanAnna Fali NEW
Jones Q WaycottRussiaOnyama Limba QUALIFIED
Stacey K InouyeItalyIvan Magalhaes UNQUALIFIED
Greenwood P FlosiJapanOnyama Limba NEGOTIATION
Sinclair W OldroydCanadaIoni Bowcher UNQUALIFIED
Leon W PoquetteFranceElwin Sharvill NEW
Ivar D MaletFranceOnyama Limba NEGOTIATION
Costa X GarufiArgentinaIvan Magalhaes NEGOTIATION
Juan J MaletBrazilOnyama Limba UNQUALIFIED
Aditya F TollnerCanadaAmy Elsner QUALIFIED
Alejandro I SchemmerSpainIoni Bowcher UNQUALIFIED
Sinclair T FigeroaCanadaOnyama Limba RENEWAL
Claire K FlosiAustraliaAmy Elsner QUALIFIED
Maisha M BowleyArgentinaStephen Shaw RENEWAL
Silvio G StensethJapanStephen Shaw UNQUALIFIED
Johnson U PaprockiSpainElwin Sharvill PROPOSAL
Johnson T StensethBrazilIoni Bowcher PROPOSAL
Francesco B BowleyIndiaIvan Magalhaes NEGOTIATION
Emily B GarufiUnited KingdomAsiya Javayant QUALIFIED
Mujtaba T StensethGermanyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie E NickaSpainIvan Magalhaes RENEWAL
Silvio B PoquetteCanadaAsiya Javayant PROPOSAL
Smith L FlosiArgentinaIvan Magalhaes NEW
Antonio X SchemmerAustraliaXuxue Feng RENEWAL
Kaitlin O AlbaresItalyIvan Magalhaes QUALIFIED
Mujtaba O RulapaughIndiaOnyama Limba QUALIFIED
Leon N WaycottItalyBernardo Dominic NEW
Misaki L AlbaresSpainBernardo Dominic NEGOTIATION
Leon N TollnerArgentinaIvan Magalhaes UNQUALIFIED
Arvin P IturbideArgentinaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith I SchemmerAustralia2026-05-13Buckley Miller Wright NEW83Anna Fali
1001David B ButtArgentina2026-05-17King, Christopher A Esq QUALIFIED17Ivan Magalhaes
1002Jefferson K NickaItaly2026-05-13Commercial Press QUALIFIED85Asiya Javayant
1003Jefferson A AmigonUnited Kingdom2026-05-30Benton, John B Jr QUALIFIED28Anna Fali
1004Jefferson S MorascaItaly2026-05-26Dorl, James J Esq NEGOTIATION42Anna Fali
1005Ashley L IturbideItaly2026-06-01Benton, John B Jr NEW73Elwin Sharvill
1006Juan Z DoeIndia2026-05-16Truhlar And Truhlar Attys RENEWAL92Bernardo Dominic
1007Isabel V BologniaBrazil2026-05-25Benton, John B Jr RENEWAL13Amy Elsner
1008Stacey A SaylorsArgentina2026-05-17Commercial Press PROPOSAL64Anna Fali
1009Antonio S PerinCanada2026-06-01Benton, John B Jr PROPOSAL22Asiya Javayant
1010Rodrigues Y PaprockiGermany2026-05-09Commercial Press QUALIFIED26Ivan Magalhaes
1011Claire Q StockhamSpain2026-05-31Rangoni Of Florence UNQUALIFIED57Xuxue Feng
1012Leja F MaletUnited Kingdom2026-05-24Chemel, James L Cpa NEW15Asiya Javayant
1013Darci V GlickArgentina2026-05-28Buckley Miller Wright NEW15Amy Elsner
1014Aika F BologniaAustralia2026-05-24Dorl, James J Esq RENEWAL68Stephen Shaw
1015Mujtaba D DoeCanada2026-05-21King, Christopher A Esq RENEWAL69Onyama Limba
1016Adams L StockhamGermany2026-05-05Chemel, James L Cpa PROPOSAL34Stephen Shaw
1017Ivar P AmigonRussia2026-05-07Chanay, Jeffrey A Esq NEGOTIATION5Stephen Shaw
1018Faith K NickaFrance2026-05-23Feiner Bros QUALIFIED1Onyama Limba
1019Silvio V CampainUnited Kingdom2026-05-31Chapman, Ross E Esq RENEWAL25Stephen Shaw
1020Ricardo I ButtBrazil2026-05-13Printing Dimensions PROPOSAL27Xuxue Feng
1021Deepesh T KuskoFrance2026-05-08King, Christopher A Esq NEW98Onyama Limba
1022Clifford F NestleItaly2026-05-21Dorl, James J Esq NEGOTIATION15Asiya Javayant
1023Emily N TollnerJapan2026-05-07Chapman, Ross E Esq NEGOTIATION76Xuxue Feng
1024Mayumi L FollerItaly2026-05-09Morlong Associates NEGOTIATION76Onyama Limba
1025David P RutaIndia2026-05-14Benton, John B Jr NEW54Onyama Limba
1026Claire C KuskoFrance2026-05-11Rangoni Of Florence NEGOTIATION14Ivan Magalhaes
1027Aruna W DilliardSpain2026-05-07Buckley Miller Wright UNQUALIFIED91Stephen Shaw
1028Ivar N WhobreyUnited Kingdom2026-05-26Chemel, James L Cpa NEGOTIATION90Ioni Bowcher
1029Jeanfrancois U WaycottSpain2026-05-27Printing Dimensions QUALIFIED67Ioni Bowcher
1030Aika A StockhamItaly2026-05-22Chapman, Ross E Esq NEGOTIATION13Ioni Bowcher
1031Morrow E StensethGermany2026-05-29Rousseaux, Michael Esq NEGOTIATION47Bernardo Dominic
1032Cody Q SergiBrazil2026-05-29Chapman, Ross E Esq NEGOTIATION68Xuxue Feng
1033Ricardo U GauchoArgentina2026-05-08Truhlar And Truhlar Attys UNQUALIFIED45Amy Elsner
1034Alejandro L RulapaughSpain2026-05-25Printing Dimensions RENEWAL43Anna Fali
1035Clifford M RulapaughAustralia2026-05-21Truhlar And Truhlar Attys NEGOTIATION35Anna Fali
1036Izzy D MaletGermany2026-06-02Truhlar And Truhlar Attys PROPOSAL28Stephen Shaw
1037Johnson G DilliardArgentina2026-05-12Truhlar And Truhlar Attys PROPOSAL12Bernardo Dominic
1038Rodrigues D RulapaughArgentina2026-06-02Rangoni Of Florence PROPOSAL99Amy Elsner
1039James E ButtUnited Kingdom2026-05-27Dorl, James J Esq RENEWAL47Anna Fali
1040Ashley I FigeroaGermany2026-05-12Morlong Associates UNQUALIFIED87Elwin Sharvill
1041Costa S BologniaCanada2026-05-31Commercial Press UNQUALIFIED11Stephen Shaw
1042Antonio V AmigonBrazil2026-05-12Chemel, James L Cpa PROPOSAL49Asiya Javayant
1043Clifford G MaletBrazil2026-05-15Printing Dimensions NEGOTIATION45Onyama Limba
1044Jefferson C MacleadSpain2026-05-08King, Christopher A Esq NEW82Ioni Bowcher
1045Smith J PaprockiBrazil2026-05-11Printing Dimensions NEGOTIATION22Elwin Sharvill
1046Francesco Q BologniaSpain2026-05-20Rousseaux, Michael Esq RENEWAL5Onyama Limba
1047Aditya E PerinRussia2026-05-28Chemel, James L Cpa NEGOTIATION65Anna Fali
1048Morrow X OstroskySpain2026-05-12Rousseaux, Michael Esq NEGOTIATION94Onyama Limba
1049Maisha A BowleyIndia2026-05-20Rangoni Of Florence PROPOSAL23Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leon O OstroskyBrazilAnna Fali UNQUALIFIED
Mayumi H PaprockiJapanOnyama Limba UNQUALIFIED
Misaki P FollerUnited KingdomXuxue Feng QUALIFIED
Ricardo T MacleadRussiaIvan Magalhaes NEW
Claire N FollerRussiaAmy Elsner UNQUALIFIED
Mayumi J SchemmerJapanElwin Sharvill PROPOSAL
Johnson L BriddickItalyIvan Magalhaes NEGOTIATION
Nicolas Z SaylorsSpainOnyama Limba NEW
Izzy P MorascaSpainIvan Magalhaes PROPOSAL
Silvio U KuskoRussiaBernardo Dominic RENEWAL
Cody Q KuskoRussiaElwin Sharvill UNQUALIFIED
Ricardo O CaldareraRussiaIoni Bowcher RENEWAL
Jones J TollnerFranceXuxue Feng QUALIFIED
Jeanfrancois P WhobreyJapanXuxue Feng PROPOSAL
Leja A NickaCanadaAsiya Javayant RENEWAL
Juan U ButtCanadaIvan Magalhaes NEGOTIATION
Chavez N NickaSpainOnyama Limba UNQUALIFIED
Costa W PerinIndiaAsiya Javayant PROPOSAL
Aditya K PerinUnited KingdomAsiya Javayant NEW
Jefferson G MaletCanadaAmy Elsner PROPOSAL
Nicolas L MorascaUnited KingdomStephen Shaw QUALIFIED
Alejandro V WaycottBrazilAsiya Javayant NEW
Antonio A AlbaresCanadaAmy Elsner UNQUALIFIED
Leon Q OstroskyCanadaOnyama Limba UNQUALIFIED
Leja Y WhobreyIndiaStephen Shaw RENEWAL
Chavez J GlickGermanyIoni Bowcher QUALIFIED
Ashley L PoquetteUnited KingdomElwin Sharvill NEW
Wickens W SlusarskiIndiaAnna Fali QUALIFIED
Greenwood X FigeroaJapanBernardo Dominic NEW
Maisha T StensethSpainOnyama Limba NEGOTIATION
Francesco F DoeGermanyIoni Bowcher UNQUALIFIED
Octavia E SaylorsBrazilOnyama Limba QUALIFIED
Murillo Q DarakjyCanadaStephen Shaw RENEWAL
Emily A IturbideRussiaAnna Fali QUALIFIED
Misaki V CampainArgentinaIvan Magalhaes UNQUALIFIED
Darci W ShinkoFranceElwin Sharvill UNQUALIFIED
Kadeem W DarakjyGermanyIvan Magalhaes RENEWAL
Chavez L SchemmerRussiaIvan Magalhaes NEW
Mujtaba R GauchoUnited KingdomAmy Elsner QUALIFIED
Leon Y SergiUnited KingdomOnyama Limba RENEWAL
Kadeem K WaycottSpainBernardo Dominic RENEWAL
Antonio Y MacleadItalyAnna Fali QUALIFIED
Silvio R MacleadUnited KingdomElwin Sharvill PROPOSAL
Smith K MaletUnited KingdomXuxue Feng PROPOSAL
Darci J AlbaresIndiaAmy Elsner NEGOTIATION
Deepesh U DarakjyArgentinaAmy Elsner NEW
Claire H KolmetzBrazilOnyama Limba RENEWAL
Leon P SlusarskiFranceElwin Sharvill NEW
Kadeem T PoquetteGermanyStephen Shaw UNQUALIFIED
Deepesh P StockhamArgentinaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Cody I Garufi
Isabel O Nicka
James H Gaucho
Deepesh D Waycott
James P Foller
James R Maclead
Leon S Oldroyd
Antonio U Gillian
Adams G Amigon
Salvatore W Doe
Silvio P Gaucho
Munro J Foller
Rodrigues W Stenseth
Darci L Doe
Aruna Q Darakjy
Ivar C Vocelka
Claire W Tollner
Emily R Poquette
Maria Z Glick
Faith F Poquette
Greenwood B Foller
Izzy Y Perin
Jennifer E Kusko
Juan R Waycott
Misaki L Caudy
Jones R Rim
Aika S Oldroyd
Smith L Doe
Maria L Nestle
Antonio N Butt
Claire B Foller
Ivar B Gaucho
Isabel Z Figeroa
Jefferson H Albares
Munro C Foller
Aditya Q Tollner
Leon M Paprocki
Stacey K Poquette
Emily C Sergi
Wickens L Campain
Mayumi V Albares
Ricardo I Butt
Jennifer W Nestle
Leon U Nestle
Aika K Poquette
Francesco O Whobrey
Juan N Bowley
Silvio T Dilliard
Emily U Vocelka
Mayumi X Flosi
IdCountryDate
1000Spain2026-06-01
1001France2026-05-18
1002Germany2026-05-08
1003India2026-05-17
1004Argentina2026-05-13
1005Canada2026-05-30
1006Argentina2026-05-19
1007United Kingdom2026-05-18
1008Argentina2026-05-18
1009Spain2026-05-26
1010Germany2026-06-03
1011France2026-05-30
1012Canada2026-06-01
1013Spain2026-05-06
1014Australia2026-05-30
1015Italy2026-05-14
1016Canada2026-05-18
1017United Kingdom2026-05-09
1018Italy2026-05-15
1019Japan2026-06-01
1020India2026-05-21
1021Russia2026-05-30
1022Italy2026-05-09
1023Brazil2026-05-05
1024Brazil2026-05-12
1025Canada2026-05-29
1026France2026-06-03
1027Germany2026-05-06
1028Japan2026-05-18
1029Spain2026-05-26
1030United Kingdom2026-05-10
1031Brazil2026-05-05
1032United Kingdom2026-05-19
1033United Kingdom2026-05-07
1034India2026-05-09
1035Brazil2026-05-14
1036India2026-05-12
1037Canada2026-06-01
1038India2026-05-22
1039India2026-05-16
1040Russia2026-05-12
1041Argentina2026-05-31
1042France2026-05-10
1043United Kingdom2026-05-25
1044Canada2026-05-27
1045Canada2026-05-26
1046Australia2026-05-28
1047Argentina2026-05-07
1048Spain2026-05-27
1049France2026-05-26

On-Demand Data

NameIdCountryDate
Nicolas C Rim1000India2026-05-20
Kaitlin C Royster1001France2026-05-18
Silvio O Bowley1002Russia2026-05-24
Claire N Wieser1003Australia2026-05-17
Chavez T Figeroa1004France2026-05-19
Misaki W Foller1005India2026-05-12
Salvatore Q Gaucho1006Argentina2026-05-15
Izzy L Flosi1007Canada2026-05-12
Izzy X Kusko1008India2026-05-28
Isabel T Stockham1009Argentina2026-05-30
Rodrigues S Albares1010Spain2026-05-08
Chavez C Morasca1011Italy2026-05-29
Aruna S Maclead1012Germany2026-05-30
Tony I Stockham1013Spain2026-05-24
Chavez V Saylors1014France2026-05-11
Morrow W Rim1015Italy2026-06-03
Isabel S Rim1016Australia2026-05-14
Mayumi A Rim1017India2026-05-19
Rodrigues M Caudy1018Italy2026-05-18
Kadeem Q Malet1019Russia2026-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer D BowleyUnited KingdomAmy Elsner NEW
Misaki U VenereItalyOnyama Limba RENEWAL
Maisha Y FigeroaRussiaElwin Sharvill QUALIFIED
Aika L IturbideBrazilStephen Shaw RENEWAL
Claire Q RutaCanadaElwin Sharvill QUALIFIED
Aruna X OstroskyItalyIvan Magalhaes NEW
Tony O DilliardSpainXuxue Feng NEGOTIATION
Sinclair V StensethBrazilAnna Fali RENEWAL
Jones N BriddickFranceOnyama Limba NEGOTIATION
Greenwood T BologniaIndiaElwin Sharvill NEGOTIATION
Jennifer S SergiFranceStephen Shaw QUALIFIED
Munro U KuskoItalyAsiya Javayant NEW
Morrow K OldroydArgentinaAsiya Javayant PROPOSAL
Greenwood F KuskoSpainElwin Sharvill UNQUALIFIED
Chavez X SaylorsRussiaXuxue Feng UNQUALIFIED
Darci U FollerJapanAsiya Javayant NEW
Juan B BologniaSpainElwin Sharvill NEGOTIATION
Alejandro H OldroydBrazilAmy Elsner UNQUALIFIED
Ivar Q DarakjyGermanyBernardo Dominic PROPOSAL
Leja R VenereUnited KingdomIoni Bowcher UNQUALIFIED
Stacey E CampainArgentinaAnna Fali UNQUALIFIED
Ashley M NickaItalyAmy Elsner QUALIFIED
Chavez S VenereFranceIvan Magalhaes QUALIFIED
Juan T GlickAustraliaIoni Bowcher QUALIFIED
Izzy P GlickGermanyXuxue Feng NEGOTIATION
Murillo A DoeItalyElwin Sharvill PROPOSAL
Aditya Y VenereItalyElwin Sharvill QUALIFIED
Alejandro J DilliardBrazilXuxue Feng PROPOSAL
Misaki A CaldareraFranceIoni Bowcher QUALIFIED
Darci M MaletItalyIoni Bowcher QUALIFIED
Ivar F WhobreyUnited KingdomAmy Elsner PROPOSAL
Munro L ChuiBrazilOnyama Limba QUALIFIED
Greenwood Y NestleUnited KingdomOnyama Limba PROPOSAL
Leon T PaprockiSpainXuxue Feng NEW
Octavia V SaylorsFranceXuxue Feng NEGOTIATION
Mayumi O AmigonRussiaAmy Elsner NEGOTIATION
Izzy U WaycottBrazilAmy Elsner NEGOTIATION
Ivar T SaylorsSpainAsiya Javayant NEGOTIATION
Morrow G MaletRussiaXuxue Feng NEGOTIATION
Salvatore V SergiGermanyElwin Sharvill 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>

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.