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
Rodrigues W BriddickCanadaAnna Fali PROPOSAL
Jennifer H PaprockiBrazilAmy Elsner UNQUALIFIED
Francesco Z CaldareraRussiaAmy Elsner NEW
Aruna V PoquetteUnited KingdomBernardo Dominic QUALIFIED
Clifford X PerinRussiaAsiya Javayant NEW
Arvin C DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Jones R WaycottUnited KingdomOnyama Limba NEW
Antonio G SlusarskiGermanyIvan Magalhaes PROPOSAL
Aditya Z CampainJapanIvan Magalhaes UNQUALIFIED
Claire Y FigeroaIndiaElwin Sharvill PROPOSAL
Jennifer U PaprockiUnited KingdomAnna Fali NEW
Faith N ChuiArgentinaAmy Elsner UNQUALIFIED
Clifford W IturbideSpainXuxue Feng NEW
Faith A TollnerRussiaAmy Elsner RENEWAL
Deepesh U DoeJapanXuxue Feng NEGOTIATION
James B AmigonJapanBernardo Dominic UNQUALIFIED
Aika H FerenczRussiaXuxue Feng NEGOTIATION
Antonio E AlbaresRussiaXuxue Feng UNQUALIFIED
Francesco H MaletGermanyXuxue Feng NEW
Deepesh N FollerGermanyBernardo Dominic RENEWAL
Nicolas M SlusarskiCanadaBernardo Dominic NEGOTIATION
Clifford M SlusarskiJapanElwin Sharvill NEW
Kaitlin J NestleItalyBernardo Dominic NEGOTIATION
Leon K NestleUnited KingdomStephen Shaw NEW
Antonio U FollerRussiaAnna Fali QUALIFIED
Mujtaba K CampainArgentinaXuxue Feng UNQUALIFIED
Maisha U TollnerIndiaBernardo Dominic PROPOSAL
Darci P CampainSpainXuxue Feng NEW
Tony O AlbaresItalyStephen Shaw QUALIFIED
Chavez R CaudyFranceAmy Elsner PROPOSAL
Leja V DoeItalyXuxue Feng QUALIFIED
Claire K FigeroaRussiaXuxue Feng RENEWAL
Wickens R SlusarskiBrazilElwin Sharvill NEW
Isabel W NickaArgentinaXuxue Feng UNQUALIFIED
Adams V CaldareraFranceAsiya Javayant PROPOSAL
Mujtaba W WhobreyJapanStephen Shaw RENEWAL
Adams H GarufiBrazilAsiya Javayant RENEWAL
Chavez B TollnerArgentinaAnna Fali RENEWAL
Jennifer E RutaSpainAnna Fali UNQUALIFIED
Francesco C SchemmerAustraliaAsiya Javayant RENEWAL
Julie T PerinItalyAsiya Javayant RENEWAL
Jennifer I BriddickItalyOnyama Limba UNQUALIFIED
Darci W StockhamRussiaXuxue Feng QUALIFIED
Nicolas O FigeroaIndiaAsiya Javayant PROPOSAL
Maria T MorascaBrazilBernardo Dominic NEW
Jeanfrancois A NestleUnited KingdomBernardo Dominic NEGOTIATION
Octavia B FerenczJapanIvan Magalhaes PROPOSAL
David O KolmetzSpainStephen Shaw RENEWAL
Silvio R MaletBrazilStephen Shaw NEGOTIATION
Juan K FerenczCanadaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Francesco Y GillianRussiaAnna Fali QUALIFIED
Ashley T DilliardFranceIvan Magalhaes NEW
Isabel N FollerIndiaElwin Sharvill UNQUALIFIED
Adams P WieserArgentinaStephen Shaw NEGOTIATION
Jones B PaprockiItalyAmy Elsner NEGOTIATION
Mayumi K TollnerGermanyElwin Sharvill PROPOSAL
Aruna J MaletCanadaBernardo Dominic UNQUALIFIED
Stacey Q FigeroaJapanAmy Elsner UNQUALIFIED
Darci V CaldareraAustraliaAnna Fali NEGOTIATION
Misaki Z AlbaresIndiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci V BowleyFrance2026-02-19Truhlar And Truhlar Attys RENEWAL98Ivan Magalhaes
1001Leja T BriddickSpain2026-02-07Truhlar And Truhlar Attys PROPOSAL46Bernardo Dominic
1002Aditya B OstroskyRussia2026-01-24Feiner Bros QUALIFIED50Onyama Limba
1003Greenwood Z RoysterCanada2026-02-17Dorl, James J Esq NEW9Elwin Sharvill
1004Antonio J DilliardUnited Kingdom2026-02-17Chapman, Ross E Esq NEW5Xuxue Feng
1005Wickens T GarufiRussia2026-02-21Feiner Bros NEW82Ivan Magalhaes
1006Adams P KuskoSpain2026-02-20Chanay, Jeffrey A Esq RENEWAL85Ivan Magalhaes
1007Sinclair P VocelkaRussia2026-02-18Truhlar And Truhlar Attys NEW75Ivan Magalhaes
1008Murillo T OstroskyJapan2026-02-17Rangoni Of Florence UNQUALIFIED0Asiya Javayant
1009Chavez Z MarrierSpain2026-01-27Dorl, James J Esq RENEWAL90Onyama Limba
1010Morrow P TollnerJapan2026-02-20Buckley Miller Wright QUALIFIED62Bernardo Dominic
1011Faith X CampainIndia2026-02-19Benton, John B Jr UNQUALIFIED75Bernardo Dominic
1012Greenwood W DoeAustralia2026-01-30King, Christopher A Esq QUALIFIED89Amy Elsner
1013David W ChuiIndia2026-02-02Feiner Bros NEGOTIATION35Asiya Javayant
1014Octavia H AmigonIndia2026-01-27Rousseaux, Michael Esq NEW98Ivan Magalhaes
1015Jeanfrancois U GlickBrazil2026-02-14Buckley Miller Wright QUALIFIED60Onyama Limba
1016Misaki I BologniaFrance2026-01-29Morlong Associates UNQUALIFIED64Bernardo Dominic
1017Emily T WieserSpain2026-02-01Chemel, James L Cpa UNQUALIFIED64Amy Elsner
1018Alejandro B GauchoSpain2026-01-31Chemel, James L Cpa NEGOTIATION64Elwin Sharvill
1019Sinclair B AmigonGermany2026-02-21Commercial Press RENEWAL20Amy Elsner
1020Nicolas S WhobreySpain2026-02-03Morlong Associates NEW59Anna Fali
1021Silvio M BologniaGermany2026-02-09Chemel, James L Cpa PROPOSAL3Asiya Javayant
1022Antonio H OstroskyBrazil2026-02-22Benton, John B Jr NEW97Bernardo Dominic
1023Darci F RulapaughUnited Kingdom2026-02-02Chemel, James L Cpa NEGOTIATION84Onyama Limba
1024Misaki H FerenczBrazil2026-01-27Morlong Associates NEGOTIATION9Ioni Bowcher
1025Arvin X RulapaughUnited Kingdom2026-02-15Printing Dimensions PROPOSAL79Ivan Magalhaes
1026Emily U SlusarskiItaly2026-02-14Rousseaux, Michael Esq RENEWAL97Ioni Bowcher
1027Kaitlin D DoeSpain2026-02-12King, Christopher A Esq PROPOSAL92Ioni Bowcher
1028Johnson S CampainArgentina2026-02-12Printing Dimensions NEGOTIATION99Asiya Javayant
1029Kadeem W ChuiRussia2026-01-29Chapman, Ross E Esq NEW52Ioni Bowcher
1030Ricardo H PerinRussia2026-01-29Dorl, James J Esq RENEWAL14Anna Fali
1031Nicolas W BowleySpain2026-02-21Morlong Associates NEGOTIATION75Ioni Bowcher
1032Chavez C NickaArgentina2026-01-27Rousseaux, Michael Esq NEW21Xuxue Feng
1033Arvin N MacleadGermany2026-02-21Truhlar And Truhlar Attys UNQUALIFIED86Asiya Javayant
1034Francesco V PerinIndia2026-01-26Morlong Associates PROPOSAL13Ioni Bowcher
1035Smith L OldroydItaly2026-01-28Rangoni Of Florence NEW86Xuxue Feng
1036Silvio W NickaAustralia2026-02-11Rousseaux, Michael Esq NEW15Stephen Shaw
1037David X MacleadJapan2026-01-30Chanay, Jeffrey A Esq NEGOTIATION77Anna Fali
1038Ivar I KuskoItaly2026-02-02Chanay, Jeffrey A Esq NEW40Xuxue Feng
1039Ricardo A VocelkaBrazil2026-01-29Morlong Associates UNQUALIFIED32Ivan Magalhaes
1040Izzy A FerenczItaly2026-02-14Feiner Bros QUALIFIED38Elwin Sharvill
1041Isabel R MarrierFrance2026-01-26Feiner Bros PROPOSAL4Xuxue Feng
1042Maria Z OstroskyGermany2026-02-12Printing Dimensions NEW41Bernardo Dominic
1043Maisha E StockhamBrazil2026-02-21Truhlar And Truhlar Attys NEGOTIATION92Ioni Bowcher
1044Isabel S SaylorsRussia2026-01-29Chapman, Ross E Esq QUALIFIED69Bernardo Dominic
1045Maisha I WaycottGermany2026-01-31Rangoni Of Florence UNQUALIFIED53Ivan Magalhaes
1046Francesco Z WhobreyAustralia2026-02-04Feltz Printing Service RENEWAL99Ivan Magalhaes
1047Mayumi E WhobreyUnited Kingdom2026-02-13Rangoni Of Florence QUALIFIED69Amy Elsner
1048Greenwood D SaylorsFrance2026-02-19King, Christopher A Esq UNQUALIFIED1Anna Fali
1049Mujtaba P MorascaRussia2026-02-22Chemel, James L Cpa UNQUALIFIED97Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Leja D PoquetteBrazilIvan Magalhaes NEW
Nicolas P MorascaUnited KingdomXuxue Feng UNQUALIFIED
Sinclair K RimCanadaAnna Fali PROPOSAL
Tony Z PerinItalyIoni Bowcher PROPOSAL
Leon A MarrierGermanyElwin Sharvill PROPOSAL
Deepesh P WieserUnited KingdomOnyama Limba NEW
Misaki W AmigonIndiaAmy Elsner RENEWAL
Ricardo W StockhamGermanyIvan Magalhaes QUALIFIED
Aditya K NestleFranceAsiya Javayant PROPOSAL
Costa C ChuiUnited KingdomStephen Shaw QUALIFIED
Deepesh M PaprockiArgentinaAsiya Javayant NEW
Nicolas W CaldareraCanadaIvan Magalhaes NEGOTIATION
Stacey M ShinkoIndiaAmy Elsner NEW
Juan P TollnerCanadaIvan Magalhaes PROPOSAL
Leon Q CaldareraRussiaAsiya Javayant PROPOSAL
Costa L SaylorsRussiaIvan Magalhaes UNQUALIFIED
Ivar G BriddickAustraliaBernardo Dominic NEW
Murillo L PoquetteSpainAsiya Javayant PROPOSAL
Sinclair R PaprockiAustraliaStephen Shaw NEGOTIATION
Nicolas D SchemmerIndiaAmy Elsner QUALIFIED
Ashley M WhobreyIndiaIvan Magalhaes NEGOTIATION
Aika Y PaprockiSpainBernardo Dominic PROPOSAL
Antonio K VocelkaAustraliaAmy Elsner QUALIFIED
Aika D CampainGermanyElwin Sharvill RENEWAL
Kadeem C KolmetzArgentinaStephen Shaw UNQUALIFIED
Murillo S ButtGermanyAnna Fali PROPOSAL
Kaitlin N StensethArgentinaStephen Shaw UNQUALIFIED
Emily L RutaCanadaElwin Sharvill NEW
Aika F RoysterArgentinaBernardo Dominic QUALIFIED
Rodrigues J OldroydFranceIoni Bowcher RENEWAL
Jennifer C VocelkaArgentinaIoni Bowcher NEW
Claire N VenereGermanyBernardo Dominic NEW
Claire T SchemmerRussiaOnyama Limba PROPOSAL
Jones O PaprockiAustraliaAnna Fali QUALIFIED
Deepesh R DilliardBrazilAsiya Javayant RENEWAL
Nicolas P CaudyAustraliaIvan Magalhaes UNQUALIFIED
Francesco G CaldareraSpainAsiya Javayant PROPOSAL
Stacey Z NestleSpainAmy Elsner PROPOSAL
Claire O SlusarskiRussiaIvan Magalhaes QUALIFIED
Maisha Z VocelkaIndiaBernardo Dominic PROPOSAL
Emily G FlosiJapanElwin Sharvill RENEWAL
Salvatore F SchemmerUnited KingdomBernardo Dominic QUALIFIED
Maisha C GarufiAustraliaBernardo Dominic PROPOSAL
Kaitlin G StensethCanadaXuxue Feng RENEWAL
Faith A DarakjyJapanBernardo Dominic QUALIFIED
Aruna Y AmigonUnited KingdomXuxue Feng PROPOSAL
Tony Y CaldareraBrazilXuxue Feng RENEWAL
Clifford N OstroskyCanadaBernardo Dominic RENEWAL
Darci O StockhamBrazilOnyama Limba RENEWAL
Salvatore G AmigonBrazilElwin Sharvill QUALIFIED
Frozen Columns
Name
Darci B Dilliard
Mujtaba I Gillian
Greenwood V Nestle
Jefferson V Saylors
Jefferson H Iturbide
Claire G Whobrey
Johnson R Malet
Maisha V Doe
Mayumi W Gillian
Aruna S Amigon
Claire Z Vocelka
Maisha F Doe
Leja D Kusko
Sinclair S Shinko
Aika U Kolmetz
Wickens W Poquette
Costa V Wieser
Isabel R Inouye
Ricardo H Inouye
Sinclair A Whobrey
Ashley J Ruta
Faith K Saylors
Adams E Ostrosky
Jennifer X Foller
Tony L Ostrosky
Ricardo G Royster
Cody Q Wieser
Murillo I Nestle
Isabel W Gillian
Sinclair Q Saylors
Jennifer T Stenseth
Smith L Albares
Ivar W Maclead
Costa J Venere
Kaitlin C Marrier
Munro L Sergi
Leon D Gillian
Jones P Bolognia
Aditya L Flosi
Deepesh B Nicka
Clifford W Dilliard
Smith C Rim
Maria E Whobrey
Jeanfrancois V Kolmetz
Kadeem V Rim
Claire W Flosi
Octavia V Albares
Antonio S Nestle
Ricardo Q Oldroyd
Cody V Wieser
IdCountryDate
1000Spain2026-01-31
1001Russia2026-02-02
1002Italy2026-02-03
1003France2026-02-18
1004Australia2026-01-28
1005India2026-02-08
1006France2026-02-17
1007Spain2026-02-11
1008Australia2026-02-19
1009France2026-02-12
1010Brazil2026-02-18
1011Canada2026-02-08
1012Brazil2026-01-29
1013India2026-02-14
1014Germany2026-02-10
1015Russia2026-02-17
1016France2026-02-04
1017Italy2026-02-13
1018Argentina2026-02-20
1019Argentina2026-02-05
1020Spain2026-02-21
1021Brazil2026-02-01
1022United Kingdom2026-01-28
1023Germany2026-02-03
1024Australia2026-01-27
1025Italy2026-02-02
1026Australia2026-01-26
1027France2026-02-03
1028Spain2026-02-01
1029India2026-02-07
1030Argentina2026-01-29
1031Brazil2026-01-29
1032United Kingdom2026-01-24
1033France2026-02-02
1034Australia2026-02-22
1035India2026-02-03
1036Spain2026-02-04
1037Spain2026-02-19
1038India2026-02-12
1039Germany2026-02-06
1040India2026-02-05
1041Brazil2026-02-14
1042Canada2026-01-31
1043Japan2026-02-06
1044Japan2026-02-17
1045Canada2026-02-21
1046France2026-02-12
1047Russia2026-02-10
1048Canada2026-02-11
1049United Kingdom2026-02-03

On-Demand Data

NameIdCountryDate
Maisha W Ruta1000Australia2026-01-24
Salvatore D Chui1001France2026-01-25
Jeanfrancois E Royster1002Germany2026-02-21
Emily D Oldroyd1003Japan2026-02-04
Adams P Venere1004Canada2026-02-11
Emily D Sergi1005India2026-02-06
Faith Y Sergi1006Russia2026-01-25
Chavez X Marrier1007Italy2026-02-18
Jones J Stockham1008United Kingdom2026-02-20
Mayumi R Kolmetz1009Germany2026-02-10
Greenwood L Ostrosky1010Australia2026-02-01
Mujtaba G Butt1011Spain2026-02-03
Leja F Kolmetz1012Spain2026-02-21
Isabel N Kolmetz1013Brazil2026-02-10
Mayumi U Ostrosky1014Brazil2026-02-10
Morrow Z Nicka1015Argentina2026-02-13
Emily O Iturbide1016Canada2026-01-29
Isabel P Dilliard1017Spain2026-01-26
Izzy M Gaucho1018Germany2026-02-19
Deepesh N Caudy1019Canada2026-02-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey W VenereArgentinaAnna Fali QUALIFIED
Leon K SaylorsRussiaIvan Magalhaes PROPOSAL
Maisha W RoysterFranceAmy Elsner RENEWAL
Alejandro P WieserSpainXuxue Feng PROPOSAL
Ashley G StensethIndiaAmy Elsner NEGOTIATION
Adams I CaldareraArgentinaBernardo Dominic QUALIFIED
Stacey Z AlbaresArgentinaXuxue Feng NEGOTIATION
Adams T OldroydCanadaBernardo Dominic NEGOTIATION
Munro B PerinFranceAsiya Javayant NEGOTIATION
Mayumi A BologniaFranceBernardo Dominic RENEWAL
Faith N StockhamItalyIvan Magalhaes NEGOTIATION
Tony S InouyeSpainIvan Magalhaes UNQUALIFIED
Cody T MaletJapanBernardo Dominic NEW
Isabel P GauchoSpainStephen Shaw NEGOTIATION
Johnson I GauchoSpainAmy Elsner UNQUALIFIED
Leon W AmigonAustraliaOnyama Limba PROPOSAL
Greenwood J DarakjyJapanAnna Fali RENEWAL
Wickens M RimRussiaStephen Shaw PROPOSAL
Greenwood O GauchoBrazilAsiya Javayant QUALIFIED
Rodrigues D RutaBrazilStephen Shaw PROPOSAL
Jeanfrancois T InouyeRussiaIoni Bowcher NEW
Leja F PaprockiIndiaXuxue Feng QUALIFIED
Isabel G GauchoUnited KingdomAsiya Javayant QUALIFIED
Ashley N RoysterArgentinaElwin Sharvill UNQUALIFIED
Ashley Y RimArgentinaAnna Fali NEGOTIATION
Mayumi J StensethCanadaXuxue Feng UNQUALIFIED
Smith K DilliardFranceXuxue Feng UNQUALIFIED
Murillo T DilliardBrazilIvan Magalhaes UNQUALIFIED
Smith W MaletItalyIvan Magalhaes QUALIFIED
Ivar J ShinkoAustraliaElwin Sharvill RENEWAL
Julie O MacleadGermanyElwin Sharvill NEW
Sinclair V ButtItalyOnyama Limba QUALIFIED
Tony I PaprockiGermanyIvan Magalhaes NEW
Emily C BowleyItalyStephen Shaw NEGOTIATION
David W NickaGermanyBernardo Dominic NEGOTIATION
Jennifer M KolmetzAustraliaAmy Elsner NEW
Tony Z FerenczArgentinaStephen Shaw NEGOTIATION
David F BowleyAustraliaOnyama Limba UNQUALIFIED
Aika N OstroskyArgentinaOnyama Limba NEW
Costa G WhobreyAustraliaXuxue 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.