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
Leja J MaletJapanAsiya Javayant PROPOSAL
Johnson Z SergiJapanAnna Fali NEW
Adams M MorascaJapanXuxue Feng NEW
Ricardo I OldroydRussiaXuxue Feng UNQUALIFIED
Deepesh M SchemmerBrazilAsiya Javayant RENEWAL
Clifford U CampainArgentinaAnna Fali NEGOTIATION
Jeanfrancois V NickaCanadaIvan Magalhaes UNQUALIFIED
Emily K ShinkoSpainAmy Elsner UNQUALIFIED
Isabel T PoquetteJapanIvan Magalhaes NEGOTIATION
Antonio G PaprockiItalyOnyama Limba RENEWAL
Deepesh L TollnerAustraliaIoni Bowcher PROPOSAL
Jeanfrancois A StockhamGermanyAsiya Javayant QUALIFIED
Stacey O OldroydSpainStephen Shaw QUALIFIED
Misaki M BowleyFranceStephen Shaw PROPOSAL
Deepesh T SergiItalyOnyama Limba RENEWAL
Faith X NestleFranceAnna Fali QUALIFIED
Emily F GarufiJapanBernardo Dominic NEGOTIATION
Rodrigues Z DarakjySpainXuxue Feng QUALIFIED
Costa L MaletBrazilIvan Magalhaes UNQUALIFIED
Stacey M BologniaItalyXuxue Feng NEGOTIATION
Adams S PaprockiSpainOnyama Limba RENEWAL
Clifford H ShinkoUnited KingdomXuxue Feng QUALIFIED
Jennifer S KuskoGermanyAnna Fali QUALIFIED
Antonio M MaletBrazilBernardo Dominic NEGOTIATION
Jefferson X SlusarskiFranceBernardo Dominic RENEWAL
Wickens G IturbideAustraliaIoni Bowcher UNQUALIFIED
Jefferson X StensethRussiaAnna Fali NEGOTIATION
Alejandro A VocelkaItalyXuxue Feng PROPOSAL
Nicolas R PoquetteArgentinaElwin Sharvill NEW
Kaitlin X AmigonUnited KingdomXuxue Feng NEGOTIATION
Ivar B WieserAustraliaAnna Fali NEW
Nicolas C AlbaresCanadaXuxue Feng PROPOSAL
Arvin D ChuiItalyXuxue Feng NEW
Mujtaba M OldroydJapanIvan Magalhaes NEW
Jones O TollnerArgentinaElwin Sharvill RENEWAL
Leja K ButtJapanBernardo Dominic RENEWAL
David B DarakjyAustraliaIoni Bowcher RENEWAL
Darci O StensethItalyIoni Bowcher UNQUALIFIED
Rodrigues E MorascaUnited KingdomStephen Shaw QUALIFIED
Kaitlin E StensethRussiaAnna Fali PROPOSAL
Costa H ShinkoSpainAmy Elsner NEGOTIATION
Jones E VenereGermanyBernardo Dominic PROPOSAL
Greenwood P OstroskyCanadaOnyama Limba QUALIFIED
Stacey I PoquetteItalyIoni Bowcher QUALIFIED
Murillo L MarrierFranceOnyama Limba NEGOTIATION
Faith J StensethFranceOnyama Limba QUALIFIED
Emily H GauchoArgentinaAnna Fali QUALIFIED
Rodrigues W MacleadSpainXuxue Feng QUALIFIED
Smith M MarrierFranceIvan Magalhaes NEW
Nicolas Q NickaUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro Q MarrierSpainAsiya Javayant QUALIFIED
Jeanfrancois N RutaRussiaElwin Sharvill NEW
Maria Z BriddickBrazilAmy Elsner PROPOSAL
Sinclair G VocelkaArgentinaElwin Sharvill NEW
Emily I GauchoJapanStephen Shaw QUALIFIED
Smith W SlusarskiArgentinaAsiya Javayant RENEWAL
Arvin C BriddickJapanAmy Elsner UNQUALIFIED
Murillo J SaylorsFranceIoni Bowcher NEW
Misaki P WieserIndiaAsiya Javayant PROPOSAL
Leja P SchemmerGermanyStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez R GillianItaly2026-03-14Chanay, Jeffrey A Esq UNQUALIFIED51Anna Fali
1001Aika L MorascaArgentina2026-03-08Chapman, Ross E Esq RENEWAL54Asiya Javayant
1002Rodrigues I RutaRussia2026-03-23King, Christopher A Esq RENEWAL34Xuxue Feng
1003Adams W IturbideBrazil2026-03-30Feiner Bros PROPOSAL48Xuxue Feng
1004Ashley Y SaylorsUnited Kingdom2026-03-30Truhlar And Truhlar Attys PROPOSAL2Bernardo Dominic
1005Clifford N GarufiBrazil2026-03-04Commercial Press RENEWAL66Ivan Magalhaes
1006Tony J SchemmerArgentina2026-03-09Feltz Printing Service NEW26Amy Elsner
1007Cody F VenereJapan2026-03-22Chemel, James L Cpa RENEWAL61Ioni Bowcher
1008Cody J TollnerFrance2026-03-15Rangoni Of Florence PROPOSAL9Xuxue Feng
1009Alejandro F MacleadCanada2026-03-29Rousseaux, Michael Esq UNQUALIFIED72Bernardo Dominic
1010Misaki Q OldroydJapan2026-03-08Chanay, Jeffrey A Esq UNQUALIFIED11Anna Fali
1011Leon L DilliardItaly2026-03-28Buckley Miller Wright RENEWAL83Stephen Shaw
1012Izzy F NickaBrazil2026-03-03Morlong Associates NEGOTIATION65Amy Elsner
1013Ricardo E IturbideSpain2026-03-30Morlong Associates QUALIFIED77Amy Elsner
1014Arvin E WhobreyAustralia2026-03-23Dorl, James J Esq RENEWAL37Ivan Magalhaes
1015Tony L IturbideSpain2026-03-26Benton, John B Jr PROPOSAL46Stephen Shaw
1016Munro L AlbaresIndia2026-03-11Rangoni Of Florence RENEWAL54Stephen Shaw
1017Chavez K KuskoCanada2026-03-16Dorl, James J Esq PROPOSAL18Anna Fali
1018Alejandro D BologniaUnited Kingdom2026-03-16Commercial Press NEGOTIATION3Ivan Magalhaes
1019Emily C FigeroaGermany2026-03-14Rousseaux, Michael Esq NEGOTIATION49Amy Elsner
1020Claire Z ButtGermany2026-03-23Morlong Associates PROPOSAL84Asiya Javayant
1021Maria W BowleyRussia2026-03-06King, Christopher A Esq PROPOSAL93Bernardo Dominic
1022Julie T BriddickJapan2026-03-08Feltz Printing Service UNQUALIFIED29Anna Fali
1023Julie K FigeroaCanada2026-03-26Chanay, Jeffrey A Esq UNQUALIFIED1Anna Fali
1024James P MaletUnited Kingdom2026-03-04Feiner Bros NEGOTIATION36Bernardo Dominic
1025Morrow Q MaletGermany2026-03-27Truhlar And Truhlar Attys PROPOSAL24Onyama Limba
1026Chavez J PerinUnited Kingdom2026-03-29Truhlar And Truhlar Attys NEW65Asiya Javayant
1027Jeanfrancois O ButtJapan2026-03-29Buckley Miller Wright UNQUALIFIED64Asiya Javayant
1028Arvin H SaylorsJapan2026-03-23Chemel, James L Cpa UNQUALIFIED50Ivan Magalhaes
1029Darci V MaletCanada2026-03-23Commercial Press NEW49Elwin Sharvill
1030Ricardo C NestleAustralia2026-03-19Commercial Press PROPOSAL82Bernardo Dominic
1031Mayumi L PoquetteIndia2026-03-13Feiner Bros RENEWAL57Ivan Magalhaes
1032Aditya P CaldareraGermany2026-03-30Benton, John B Jr QUALIFIED81Anna Fali
1033Cody A ChuiArgentina2026-03-13Rousseaux, Michael Esq QUALIFIED94Xuxue Feng
1034Francesco K CampainSpain2026-03-07Chapman, Ross E Esq NEGOTIATION23Onyama Limba
1035Ricardo D WhobreyAustralia2026-03-19Dorl, James J Esq QUALIFIED35Anna Fali
1036Jennifer J CaudyRussia2026-03-30Rangoni Of Florence NEGOTIATION35Elwin Sharvill
1037Arvin U MaletJapan2026-03-03Feiner Bros RENEWAL87Ioni Bowcher
1038Mujtaba U PoquetteUnited Kingdom2026-03-06Chanay, Jeffrey A Esq RENEWAL20Bernardo Dominic
1039Johnson M SchemmerIndia2026-03-22Rangoni Of Florence RENEWAL47Stephen Shaw
1040Sinclair C VocelkaSpain2026-03-14Rousseaux, Michael Esq NEGOTIATION26Amy Elsner
1041Maria V PaprockiArgentina2026-03-24Benton, John B Jr NEW95Stephen Shaw
1042Octavia E FollerCanada2026-03-21Benton, John B Jr NEW87Onyama Limba
1043David F ShinkoRussia2026-03-31Dorl, James J Esq UNQUALIFIED35Onyama Limba
1044Munro G SlusarskiAustralia2026-03-16Chemel, James L Cpa PROPOSAL21Ivan Magalhaes
1045Jefferson M StockhamSpain2026-03-13King, Christopher A Esq QUALIFIED53Elwin Sharvill
1046Wickens L AmigonGermany2026-03-29Feiner Bros RENEWAL74Bernardo Dominic
1047Octavia Z RimBrazil2026-03-06Rousseaux, Michael Esq UNQUALIFIED40Xuxue Feng
1048James K MarrierBrazil2026-03-11Printing Dimensions UNQUALIFIED89Bernardo Dominic
1049Rodrigues Q RoysterBrazil2026-03-25Chanay, Jeffrey A Esq NEW69Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Johnson F ChuiGermanyAsiya Javayant NEGOTIATION
Cody D PaprockiArgentinaIvan Magalhaes NEW
Murillo A GillianGermanyAmy Elsner QUALIFIED
Misaki K FerenczCanadaBernardo Dominic QUALIFIED
Costa R BowleyBrazilStephen Shaw QUALIFIED
Clifford G ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Silvio L SaylorsCanadaOnyama Limba UNQUALIFIED
Maria G GillianGermanyStephen Shaw NEW
Stacey U NestleFranceIvan Magalhaes UNQUALIFIED
Emily W StockhamAustraliaBernardo Dominic PROPOSAL
Aika Q WhobreyIndiaElwin Sharvill PROPOSAL
Aika P WieserAustraliaAnna Fali QUALIFIED
Greenwood C BowleySpainOnyama Limba NEGOTIATION
Smith C TollnerSpainAnna Fali PROPOSAL
Munro X MarrierItalyBernardo Dominic RENEWAL
Murillo W BriddickFranceIvan Magalhaes QUALIFIED
Jones M OldroydFranceAmy Elsner NEGOTIATION
Tony B SlusarskiItalyBernardo Dominic PROPOSAL
Octavia I PerinArgentinaXuxue Feng RENEWAL
James D DarakjyCanadaXuxue Feng NEW
Aditya C AmigonBrazilAnna Fali NEW
Wickens I WaycottUnited KingdomXuxue Feng UNQUALIFIED
Cody Y AlbaresItalyElwin Sharvill NEGOTIATION
Kadeem Z RulapaughArgentinaIvan Magalhaes NEW
Stacey M SlusarskiUnited KingdomAnna Fali RENEWAL
Deepesh M AlbaresItalyAmy Elsner PROPOSAL
Adams S ShinkoGermanyAmy Elsner UNQUALIFIED
Chavez R PaprockiCanadaElwin Sharvill QUALIFIED
Darci F BologniaJapanAsiya Javayant UNQUALIFIED
David I CaldareraUnited KingdomAmy Elsner RENEWAL
Mayumi D FerenczItalyXuxue Feng QUALIFIED
Morrow A KolmetzArgentinaOnyama Limba QUALIFIED
Jeanfrancois T CaldareraBrazilAmy Elsner NEW
Tony E CaldareraAustraliaAnna Fali NEW
James Z MaletCanadaStephen Shaw UNQUALIFIED
Silvio D RutaCanadaAmy Elsner NEGOTIATION
Adams Q DilliardRussiaIvan Magalhaes QUALIFIED
Jennifer Z RutaItalyElwin Sharvill NEGOTIATION
Johnson Z GarufiFranceAsiya Javayant NEGOTIATION
Smith J MorascaRussiaElwin Sharvill RENEWAL
Darci N AlbaresRussiaAmy Elsner RENEWAL
Faith H MarrierCanadaIvan Magalhaes RENEWAL
Salvatore Y OldroydItalyAmy Elsner PROPOSAL
Munro Q KuskoFranceBernardo Dominic UNQUALIFIED
Mujtaba O OldroydIndiaStephen Shaw RENEWAL
Chavez U PerinCanadaXuxue Feng RENEWAL
Aditya U IturbideUnited KingdomAnna Fali QUALIFIED
Jefferson D CaudyCanadaOnyama Limba NEW
James X AlbaresJapanIvan Magalhaes UNQUALIFIED
Octavia R MaletItalyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Ivar N Gillian
Aditya O Stockham
Izzy O Whobrey
Francesco T Stockham
Silvio L Oldroyd
Ashley J Butt
Julie A Kusko
David C Bolognia
David N Albares
Octavia O Foller
Salvatore I Doe
Arvin U Oldroyd
Arvin W Whobrey
Arvin V Darakjy
Ivar O Rim
Chavez B Wieser
Juan A Chui
Cody U Whobrey
Misaki T Albares
Kaitlin D Glick
Clifford P Wieser
Kadeem Q Butt
Jones F Nicka
Maria B Butt
Jones M Malet
Wickens K Kusko
Johnson N Shinko
Maria K Venere
Isabel N Campain
Ricardo K Malet
Munro I Caldarera
Murillo X Doe
Leon Z Ostrosky
Costa J Stenseth
Misaki I Waycott
Maria E Waycott
Nicolas M Schemmer
Leja E Bolognia
David C Ferencz
Octavia I Gillian
Munro T Sergi
Ashley Q Bowley
Francesco T Marrier
Johnson H Ostrosky
Murillo V Sergi
Rodrigues Q Albares
Jones H Nicka
David P Iturbide
Sinclair R Rulapaugh
Ivar G Sergi
IdCountryDate
1000United Kingdom2026-03-10
1001United Kingdom2026-03-08
1002France2026-03-09
1003France2026-03-07
1004Australia2026-03-28
1005Japan2026-03-04
1006Italy2026-03-07
1007Australia2026-03-06
1008Italy2026-03-19
1009Canada2026-03-10
1010France2026-04-01
1011Spain2026-03-24
1012Japan2026-03-17
1013Russia2026-03-27
1014Canada2026-03-18
1015Japan2026-03-24
1016Brazil2026-03-10
1017Russia2026-03-04
1018Canada2026-03-17
1019Japan2026-03-29
1020Australia2026-03-03
1021Japan2026-03-17
1022United Kingdom2026-03-23
1023Australia2026-03-15
1024Argentina2026-03-11
1025Japan2026-03-06
1026Japan2026-03-28
1027France2026-03-29
1028France2026-03-11
1029India2026-03-22
1030Italy2026-03-23
1031United Kingdom2026-03-21
1032Australia2026-03-26
1033France2026-03-07
1034Italy2026-04-01
1035Germany2026-03-10
1036Australia2026-03-15
1037India2026-03-10
1038Germany2026-03-17
1039Canada2026-03-10
1040Russia2026-03-23
1041Germany2026-03-03
1042Italy2026-03-29
1043Japan2026-03-21
1044Russia2026-03-10
1045India2026-03-11
1046United Kingdom2026-03-20
1047Spain2026-03-10
1048United Kingdom2026-03-29
1049Spain2026-03-18

On-Demand Data

NameIdCountryDate
Chavez P Foller1000Brazil2026-03-03
Salvatore D Rulapaugh1001Argentina2026-03-03
Misaki Z Amigon1002Brazil2026-03-18
Juan X Slusarski1003Argentina2026-03-28
Morrow D Ferencz1004India2026-03-22
Ricardo T Venere1005Italy2026-03-12
Francesco X Ostrosky1006United Kingdom2026-03-28
Jeanfrancois A Flosi1007Spain2026-03-26
Maisha L Perin1008Japan2026-03-22
Jennifer I Rulapaugh1009Italy2026-03-21
Deepesh H Inouye1010India2026-03-07
Aruna I Bolognia1011Japan2026-03-06
Julie R Glick1012France2026-03-12
Ivar Q Gaucho1013Italy2026-03-18
Cody Y Shinko1014United Kingdom2026-03-20
Smith T Saylors1015Russia2026-04-01
Aditya F Gaucho1016Italy2026-03-17
Munro F Briddick1017Spain2026-03-06
Mayumi T Amigon1018United Kingdom2026-03-28
Clifford M Saylors1019Brazil2026-03-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon L CaldareraItalyXuxue Feng UNQUALIFIED
Jeanfrancois N VocelkaIndiaAsiya Javayant QUALIFIED
Nicolas M BriddickIndiaStephen Shaw QUALIFIED
Alejandro I NestleItalyAmy Elsner NEW
Alejandro R GillianItalyStephen Shaw UNQUALIFIED
Juan M GarufiSpainIvan Magalhaes QUALIFIED
Izzy J FlosiArgentinaIvan Magalhaes RENEWAL
Kaitlin N VocelkaSpainXuxue Feng UNQUALIFIED
Smith I VocelkaRussiaAmy Elsner NEGOTIATION
Isabel P ButtSpainStephen Shaw NEGOTIATION
Aika J MaletUnited KingdomStephen Shaw PROPOSAL
Arvin V RimIndiaOnyama Limba PROPOSAL
David O StensethUnited KingdomElwin Sharvill NEGOTIATION
Jones U BowleyFranceIoni Bowcher QUALIFIED
Ivar X WieserFranceAmy Elsner PROPOSAL
Antonio S WieserAustraliaAsiya Javayant UNQUALIFIED
Emily L CaudyAustraliaAnna Fali PROPOSAL
Adams E BriddickIndiaAmy Elsner NEW
Leon O BologniaFranceAnna Fali NEW
Juan U GauchoJapanAsiya Javayant PROPOSAL
Francesco J OstroskyGermanyElwin Sharvill PROPOSAL
Maria H SaylorsJapanAmy Elsner RENEWAL
Tony J MaletIndiaIvan Magalhaes UNQUALIFIED
James T SchemmerCanadaBernardo Dominic RENEWAL
Jeanfrancois I RulapaughItalyBernardo Dominic UNQUALIFIED
Maisha W BowleySpainAnna Fali NEGOTIATION
Smith H WaycottCanadaOnyama Limba NEGOTIATION
Jennifer U AlbaresCanadaAsiya Javayant NEGOTIATION
Jefferson E AlbaresIndiaIoni Bowcher NEW
Clifford X CampainFranceBernardo Dominic NEGOTIATION
Salvatore P WhobreyBrazilAnna Fali UNQUALIFIED
Munro B OldroydAustraliaAnna Fali PROPOSAL
Silvio R WieserRussiaAnna Fali NEW
Maisha P SergiFranceAmy Elsner UNQUALIFIED
Silvio X PoquetteRussiaIvan Magalhaes PROPOSAL
Julie U VenereItalyAnna Fali NEGOTIATION
Kadeem Z RimAustraliaAnna Fali UNQUALIFIED
Leja P GarufiItalyAmy Elsner QUALIFIED
David S WaycottFranceAsiya Javayant NEGOTIATION
Leon Y FlosiAustraliaAnna Fali 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.