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
Greenwood I PerinRussiaIvan Magalhaes UNQUALIFIED
Antonio Z SaylorsRussiaElwin Sharvill NEW
Kaitlin G BowleyArgentinaAsiya Javayant NEGOTIATION
Leon M NestleGermanyStephen Shaw NEW
Johnson N PoquetteGermanyAmy Elsner QUALIFIED
Faith T MorascaIndiaStephen Shaw NEW
Izzy C BriddickFranceStephen Shaw PROPOSAL
Jennifer M MarrierIndiaIvan Magalhaes NEW
Julie X GlickFranceBernardo Dominic UNQUALIFIED
Emily E AmigonFranceElwin Sharvill RENEWAL
Smith C CampainItalyAmy Elsner PROPOSAL
Darci P OstroskyBrazilIvan Magalhaes RENEWAL
Murillo D CampainJapanElwin Sharvill PROPOSAL
Chavez O RoysterAustraliaBernardo Dominic QUALIFIED
Misaki Y WieserItalyOnyama Limba RENEWAL
Morrow B GarufiBrazilAsiya Javayant NEGOTIATION
Adams E StensethBrazilXuxue Feng RENEWAL
Ivar V MaletSpainIvan Magalhaes NEGOTIATION
Kadeem O GillianGermanyAmy Elsner RENEWAL
Tony Z MaletSpainStephen Shaw UNQUALIFIED
Octavia N VocelkaRussiaOnyama Limba NEW
Isabel E FlosiSpainOnyama Limba NEGOTIATION
Jeanfrancois H GlickAustraliaAnna Fali RENEWAL
Greenwood X PerinSpainOnyama Limba UNQUALIFIED
Ricardo O FerenczArgentinaAnna Fali NEGOTIATION
Rodrigues U DoeJapanAmy Elsner NEW
Morrow X SaylorsArgentinaStephen Shaw QUALIFIED
Aika H TollnerUnited KingdomOnyama Limba UNQUALIFIED
Octavia V NickaJapanElwin Sharvill NEGOTIATION
Antonio B StensethFranceStephen Shaw UNQUALIFIED
Rodrigues E VocelkaRussiaAnna Fali RENEWAL
Aditya P KuskoIndiaBernardo Dominic PROPOSAL
Munro U NickaSpainIvan Magalhaes RENEWAL
Julie W WieserArgentinaAsiya Javayant NEGOTIATION
Darci Y RimCanadaAnna Fali RENEWAL
Claire J SaylorsSpainBernardo Dominic PROPOSAL
Leon T FerenczJapanIvan Magalhaes RENEWAL
Mayumi L AmigonUnited KingdomAsiya Javayant NEW
Mujtaba P RoysterRussiaIoni Bowcher UNQUALIFIED
Maria V PoquetteGermanyIvan Magalhaes UNQUALIFIED
Misaki M MaletSpainStephen Shaw NEGOTIATION
Johnson U MaletSpainIvan Magalhaes NEW
Emily A BologniaUnited KingdomAmy Elsner QUALIFIED
Jefferson H StensethCanadaAmy Elsner QUALIFIED
Cody M CaudyJapanIvan Magalhaes NEW
Stacey W SlusarskiIndiaBernardo Dominic RENEWAL
Adams M FlosiRussiaAmy Elsner UNQUALIFIED
Maria Y NickaSpainAnna Fali QUALIFIED
Francesco A GauchoGermanyIoni Bowcher UNQUALIFIED
Smith D ChuiRussiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson X ChuiBrazilAmy Elsner RENEWAL
Jones Q SaylorsRussiaIoni Bowcher NEGOTIATION
Leon V RimGermanyBernardo Dominic QUALIFIED
Nicolas E MaletItalyIvan Magalhaes NEW
Darci P MaletSpainElwin Sharvill NEGOTIATION
Ivar F ButtArgentinaIvan Magalhaes RENEWAL
Jennifer P FigeroaItalyIoni Bowcher UNQUALIFIED
Arvin W OldroydIndiaOnyama Limba QUALIFIED
Tony W PoquetteFranceAsiya Javayant NEW
Costa B ChuiCanadaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony C NestleItaly2026-03-20Rangoni Of Florence QUALIFIED66Anna Fali
1001Kaitlin E CampainUnited Kingdom2026-03-03Chapman, Ross E Esq NEGOTIATION30Asiya Javayant
1002Clifford V BowleyArgentina2026-03-14Commercial Press QUALIFIED80Elwin Sharvill
1003Leja Y RimUnited Kingdom2026-03-19Commercial Press RENEWAL15Xuxue Feng
1004Octavia C AmigonFrance2026-03-29Truhlar And Truhlar Attys PROPOSAL81Anna Fali
1005Arvin B WaycottAustralia2026-03-13Chanay, Jeffrey A Esq NEW30Onyama Limba
1006Darci J SchemmerIndia2026-03-18Buckley Miller Wright RENEWAL33Amy Elsner
1007Maria I ChuiAustralia2026-03-28Truhlar And Truhlar Attys PROPOSAL73Ivan Magalhaes
1008Ricardo X FerenczFrance2026-03-16Dorl, James J Esq NEW64Stephen Shaw
1009Ashley P WaycottJapan2026-03-13Truhlar And Truhlar Attys PROPOSAL44Ioni Bowcher
1010Jones I SchemmerArgentina2026-03-03Chanay, Jeffrey A Esq RENEWAL78Stephen Shaw
1011Misaki N CaudyFrance2026-03-06Rousseaux, Michael Esq NEW75Amy Elsner
1012Aika Y RoysterArgentina2026-03-25Chemel, James L Cpa PROPOSAL44Onyama Limba
1013Maisha B SaylorsSpain2026-03-30Chapman, Ross E Esq NEW5Xuxue Feng
1014Darci I FigeroaFrance2026-03-29Rangoni Of Florence NEGOTIATION66Onyama Limba
1015Jefferson D GauchoItaly2026-03-24Commercial Press QUALIFIED33Ioni Bowcher
1016Adams P ShinkoJapan2026-03-23Buckley Miller Wright NEGOTIATION15Onyama Limba
1017Kaitlin L AmigonRussia2026-03-10Truhlar And Truhlar Attys NEW17Asiya Javayant
1018Jeanfrancois E IturbideJapan2026-03-22Rousseaux, Michael Esq RENEWAL62Ioni Bowcher
1019Ricardo O GauchoRussia2026-03-30Chanay, Jeffrey A Esq UNQUALIFIED85Bernardo Dominic
1020Jones M MacleadAustralia2026-03-29Commercial Press RENEWAL0Amy Elsner
1021Jefferson Z CampainIndia2026-03-07Commercial Press NEGOTIATION88Asiya Javayant
1022Mujtaba H SergiItaly2026-03-29Commercial Press PROPOSAL99Bernardo Dominic
1023Misaki Z KuskoFrance2026-03-28Printing Dimensions UNQUALIFIED72Elwin Sharvill
1024Clifford Q BologniaSpain2026-03-13Buckley Miller Wright PROPOSAL32Amy Elsner
1025Tony B TollnerArgentina2026-03-12Commercial Press UNQUALIFIED19Stephen Shaw
1026Mayumi P FerenczIndia2026-03-16Feiner Bros UNQUALIFIED2Stephen Shaw
1027Murillo F RulapaughFrance2026-03-27Rangoni Of Florence NEGOTIATION35Ioni Bowcher
1028Ivar I DarakjyArgentina2026-03-07Morlong Associates NEGOTIATION2Onyama Limba
1029Ivar B IturbideGermany2026-03-16King, Christopher A Esq NEGOTIATION19Amy Elsner
1030Juan Z CaudyUnited Kingdom2026-03-01Commercial Press NEW81Asiya Javayant
1031Nicolas D ButtFrance2026-03-11Chemel, James L Cpa NEGOTIATION79Stephen Shaw
1032Deepesh O RimCanada2026-03-17Truhlar And Truhlar Attys RENEWAL65Bernardo Dominic
1033Silvio E SlusarskiCanada2026-03-02Printing Dimensions QUALIFIED21Anna Fali
1034Emily L SergiFrance2026-03-18Rangoni Of Florence PROPOSAL82Ivan Magalhaes
1035Wickens M AlbaresGermany2026-03-12Morlong Associates NEW1Amy Elsner
1036Nicolas L SergiUnited Kingdom2026-03-15Rousseaux, Michael Esq NEGOTIATION39Ivan Magalhaes
1037Rodrigues Z ShinkoGermany2026-03-04Printing Dimensions UNQUALIFIED8Elwin Sharvill
1038Ashley V SergiAustralia2026-03-12Feiner Bros PROPOSAL58Onyama Limba
1039Johnson Z NestleBrazil2026-03-13Chanay, Jeffrey A Esq RENEWAL20Onyama Limba
1040Cody H CampainBrazil2026-03-24Benton, John B Jr QUALIFIED73Asiya Javayant
1041Isabel I CaudyCanada2026-03-03Chapman, Ross E Esq PROPOSAL94Ivan Magalhaes
1042Mayumi M WieserAustralia2026-03-30Feltz Printing Service RENEWAL26Ioni Bowcher
1043Silvio Q VenereUnited Kingdom2026-03-10King, Christopher A Esq QUALIFIED4Stephen Shaw
1044Smith Y FollerJapan2026-03-21Dorl, James J Esq NEGOTIATION93Elwin Sharvill
1045Sinclair S RoysterSpain2026-03-05Morlong Associates PROPOSAL45Ioni Bowcher
1046Cody I BowleyItaly2026-03-16Benton, John B Jr NEGOTIATION33Ivan Magalhaes
1047Antonio H StensethBrazil2026-03-20Rousseaux, Michael Esq UNQUALIFIED81Asiya Javayant
1048Claire W ChuiBrazil2026-03-17Buckley Miller Wright NEW73Bernardo Dominic
1049Arvin J RimArgentina2026-03-13Chapman, Ross E Esq PROPOSAL56Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mayumi D PaprockiRussiaOnyama Limba NEW
Jennifer U StensethGermanyIoni Bowcher RENEWAL
Greenwood C RimIndiaElwin Sharvill QUALIFIED
Antonio V FerenczIndiaAsiya Javayant NEGOTIATION
James Z GauchoJapanAnna Fali UNQUALIFIED
Ivar O DilliardFranceAmy Elsner RENEWAL
Kaitlin Y AlbaresSpainBernardo Dominic UNQUALIFIED
Smith J NickaFranceIoni Bowcher NEGOTIATION
Adams I BriddickItalyIvan Magalhaes QUALIFIED
Jones S AmigonUnited KingdomStephen Shaw QUALIFIED
Leon O VenereGermanyAmy Elsner QUALIFIED
Costa L ChuiGermanyIoni Bowcher NEGOTIATION
Aika G FigeroaGermanyXuxue Feng PROPOSAL
Costa Z ButtCanadaBernardo Dominic PROPOSAL
Kadeem S ChuiJapanBernardo Dominic PROPOSAL
Wickens P ShinkoAustraliaIvan Magalhaes NEGOTIATION
Aika N GarufiRussiaOnyama Limba PROPOSAL
James C NickaSpainIvan Magalhaes UNQUALIFIED
Izzy L WieserGermanyIoni Bowcher PROPOSAL
Greenwood P MorascaIndiaIvan Magalhaes RENEWAL
Octavia Z PerinIndiaIoni Bowcher NEGOTIATION
Claire I InouyeIndiaAmy Elsner RENEWAL
Munro Z DarakjyArgentinaAmy Elsner NEW
Maria S ShinkoFranceIoni Bowcher QUALIFIED
Leon I IturbideSpainAnna Fali UNQUALIFIED
Chavez A ChuiUnited KingdomIvan Magalhaes NEW
Isabel Q IturbideCanadaIvan Magalhaes QUALIFIED
Aditya J OldroydBrazilBernardo Dominic QUALIFIED
Francesco Z RoysterBrazilIvan Magalhaes NEW
Julie T WhobreyCanadaXuxue Feng RENEWAL
Jefferson D DilliardItalyAnna Fali RENEWAL
Leja Q SlusarskiItalyIvan Magalhaes NEGOTIATION
Misaki T BologniaArgentinaOnyama Limba PROPOSAL
Francesco X BriddickFranceBernardo Dominic UNQUALIFIED
Antonio I StockhamFranceStephen Shaw RENEWAL
Jones K AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Stacey X MorascaUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois C WaycottFranceAnna Fali PROPOSAL
Sinclair O CaudyGermanyElwin Sharvill QUALIFIED
Ivar B MaletUnited KingdomXuxue Feng UNQUALIFIED
David A FigeroaSpainXuxue Feng QUALIFIED
Jones I AmigonBrazilElwin Sharvill RENEWAL
Arvin Q OldroydFranceBernardo Dominic PROPOSAL
Munro X MacleadAustraliaBernardo Dominic NEGOTIATION
Nicolas I PoquetteUnited KingdomStephen Shaw NEW
Mayumi W ShinkoRussiaXuxue Feng QUALIFIED
Johnson O MacleadCanadaAmy Elsner UNQUALIFIED
Murillo L KuskoSpainAmy Elsner NEGOTIATION
Misaki P NickaBrazilAmy Elsner NEW
Costa N MorascaItalyBernardo Dominic NEW
Frozen Columns
Name
Maisha T Perin
Tony P Gaucho
Murillo I Caudy
Ashley J Whobrey
Salvatore R Malet
Wickens U Amigon
Munro D Sergi
Nicolas S Whobrey
David M Dilliard
Izzy W Amigon
Isabel T Caudy
Maria M Malet
Clifford W Malet
Isabel H Vocelka
Ivar G Vocelka
Salvatore S Kolmetz
Arvin M Caudy
Costa N Oldroyd
Clifford J Butt
Mujtaba S Whobrey
Leon I Stenseth
Munro A Malet
Munro Z Royster
Aika G Dilliard
Costa R Poquette
Aruna Z Sergi
Arvin L Gillian
Izzy P Foller
Juan F Gillian
Murillo V Albares
Costa P Gillian
Juan F Amigon
Cody K Nestle
Silvio J Caudy
Izzy S Saylors
Jones O Garufi
Johnson C Sergi
Aika U Ostrosky
David U Royster
Adams Q Shinko
Juan W Ferencz
Greenwood H Slusarski
Claire U Morasca
Antonio W Oldroyd
Francesco C Doe
Aruna Q Maclead
Francesco H Garufi
Rodrigues S Kusko
Costa Y Glick
Emily D Tollner
IdCountryDate
1000France2026-03-26
1001Russia2026-03-01
1002Canada2026-03-13
1003Argentina2026-03-10
1004Australia2026-03-02
1005Germany2026-03-16
1006Australia2026-03-14
1007United Kingdom2026-03-06
1008Japan2026-03-24
1009Italy2026-03-06
1010France2026-03-21
1011Argentina2026-03-07
1012Germany2026-03-09
1013France2026-03-16
1014Russia2026-03-06
1015Australia2026-03-12
1016Canada2026-03-15
1017Germany2026-03-16
1018Germany2026-03-24
1019India2026-03-23
1020Italy2026-03-17
1021India2026-03-30
1022United Kingdom2026-03-04
1023Spain2026-03-20
1024Russia2026-03-26
1025Russia2026-03-12
1026France2026-03-28
1027India2026-03-14
1028Germany2026-03-12
1029Brazil2026-03-19
1030Brazil2026-03-08
1031Japan2026-03-25
1032Canada2026-03-09
1033Japan2026-03-01
1034India2026-03-26
1035Spain2026-03-28
1036Russia2026-03-28
1037India2026-03-24
1038United Kingdom2026-03-14
1039Brazil2026-03-30
1040Russia2026-03-10
1041Russia2026-03-30
1042Canada2026-03-21
1043United Kingdom2026-03-03
1044Brazil2026-03-13
1045France2026-03-25
1046Brazil2026-03-30
1047Russia2026-03-29
1048Germany2026-03-20
1049Argentina2026-03-25

On-Demand Data

NameIdCountryDate
Antonio B Saylors1000Australia2026-03-23
Rodrigues A Perin1001Brazil2026-03-21
Juan I Wieser1002Canada2026-03-13
Julie G Figeroa1003Germany2026-03-12
Greenwood O Perin1004Japan2026-03-23
Clifford O Schemmer1005Italy2026-03-06
Clifford H Ruta1006Japan2026-03-28
Izzy B Waycott1007Canada2026-03-03
Salvatore H Doe1008Russia2026-03-16
Smith L Tollner1009Brazil2026-03-18
Murillo Q Perin1010France2026-03-11
Leon H Waycott1011Brazil2026-03-01
Francesco X Figeroa1012United Kingdom2026-03-21
Silvio I Paprocki1013Japan2026-03-21
Sinclair M Butt1014Russia2026-03-17
Ivar S Paprocki1015Brazil2026-03-22
Ricardo L Bowley1016Brazil2026-03-16
Costa X Butt1017Japan2026-03-30
Jennifer Q Wieser1018India2026-03-30
Cody P Bolognia1019United Kingdom2026-03-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood U WhobreyIndiaStephen Shaw PROPOSAL
Darci M FlosiJapanAmy Elsner RENEWAL
Izzy D InouyeGermanyIoni Bowcher QUALIFIED
Rodrigues L VenereJapanXuxue Feng UNQUALIFIED
Rodrigues G SaylorsFranceIvan Magalhaes RENEWAL
Salvatore C GarufiJapanIvan Magalhaes NEW
Munro K SergiBrazilAsiya Javayant QUALIFIED
Rodrigues Q StensethArgentinaBernardo Dominic RENEWAL
Greenwood M SlusarskiIndiaIoni Bowcher NEW
Jones I InouyeIndiaElwin Sharvill PROPOSAL
Rodrigues X ButtGermanyElwin Sharvill NEW
Kadeem D KolmetzUnited KingdomXuxue Feng PROPOSAL
Johnson N DilliardAustraliaOnyama Limba UNQUALIFIED
Julie W KolmetzBrazilAsiya Javayant NEGOTIATION
Emily U NestleSpainStephen Shaw UNQUALIFIED
Ricardo W FlosiAustraliaIvan Magalhaes PROPOSAL
Ashley Q ButtJapanAsiya Javayant UNQUALIFIED
Ashley I MorascaArgentinaIoni Bowcher NEGOTIATION
Murillo Y DilliardJapanXuxue Feng NEGOTIATION
Emily P NestleIndiaAmy Elsner NEGOTIATION
Faith L TollnerFranceElwin Sharvill PROPOSAL
Maisha M TollnerRussiaBernardo Dominic RENEWAL
Jefferson J CaudyArgentinaIoni Bowcher PROPOSAL
Mujtaba K IturbideArgentinaStephen Shaw PROPOSAL
Chavez P KuskoBrazilAsiya Javayant PROPOSAL
Adams R OstroskyCanadaAmy Elsner RENEWAL
Jefferson Y GillianItalyAmy Elsner UNQUALIFIED
Leon W NickaArgentinaAsiya Javayant NEW
Ricardo X DoeBrazilAmy Elsner NEW
Maria E NestleJapanXuxue Feng NEGOTIATION
Octavia W CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Alejandro Z NickaRussiaAnna Fali UNQUALIFIED
Murillo C BowleyAustraliaIvan Magalhaes RENEWAL
Darci O FollerArgentinaElwin Sharvill RENEWAL
Antonio C TollnerIndiaOnyama Limba NEW
Faith F KolmetzFranceIoni Bowcher PROPOSAL
James A CaldareraFranceElwin Sharvill NEGOTIATION
Claire L OldroydUnited KingdomIvan Magalhaes NEW
Adams E TollnerAustraliaXuxue Feng QUALIFIED
Isabel I FlosiFranceXuxue Feng PROPOSAL

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