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
David F CaldareraItalyElwin Sharvill QUALIFIED
Jones M CaudyArgentinaOnyama Limba NEGOTIATION
David D OstroskyAustraliaElwin Sharvill RENEWAL
Octavia Y FerenczGermanyAmy Elsner PROPOSAL
Antonio S StensethJapanIoni Bowcher NEW
Leon W MaletAustraliaOnyama Limba PROPOSAL
Julie O InouyeUnited KingdomOnyama Limba UNQUALIFIED
Ivar N SaylorsJapanIoni Bowcher UNQUALIFIED
Leon A MaletBrazilAmy Elsner PROPOSAL
Izzy C SergiCanadaXuxue Feng NEW
Alejandro J CampainArgentinaXuxue Feng NEGOTIATION
Faith S BriddickUnited KingdomAsiya Javayant RENEWAL
Nicolas M WieserSpainStephen Shaw NEGOTIATION
Aditya O WaycottBrazilXuxue Feng PROPOSAL
Antonio I RoysterJapanAnna Fali RENEWAL
Salvatore M InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Emily M CampainRussiaAnna Fali UNQUALIFIED
Darci Q KuskoRussiaIoni Bowcher RENEWAL
Jennifer E BowleyIndiaStephen Shaw NEW
Julie R FigeroaCanadaAnna Fali RENEWAL
Murillo F MacleadRussiaStephen Shaw RENEWAL
Ricardo M BologniaGermanyElwin Sharvill UNQUALIFIED
Claire U BriddickIndiaAmy Elsner RENEWAL
Leja V WhobreyRussiaXuxue Feng NEW
Faith H ChuiAustraliaXuxue Feng UNQUALIFIED
Adams T PoquetteBrazilBernardo Dominic QUALIFIED
Smith L KolmetzSpainIoni Bowcher RENEWAL
Aika J AmigonArgentinaXuxue Feng NEW
Alejandro N AlbaresItalyAnna Fali UNQUALIFIED
Jennifer L TollnerRussiaXuxue Feng PROPOSAL
James W StockhamCanadaBernardo Dominic RENEWAL
Costa C GarufiBrazilOnyama Limba UNQUALIFIED
Kadeem Q WieserItalyIoni Bowcher UNQUALIFIED
Ivar X GauchoFranceIoni Bowcher PROPOSAL
Morrow H BowleyJapanAnna Fali QUALIFIED
Ricardo W GauchoFranceStephen Shaw UNQUALIFIED
Emily E DarakjyItalyOnyama Limba QUALIFIED
Greenwood M KolmetzAustraliaAsiya Javayant PROPOSAL
Juan M BowleyRussiaBernardo Dominic PROPOSAL
Munro Z NickaGermanyAsiya Javayant NEGOTIATION
Claire W RutaIndiaIoni Bowcher PROPOSAL
David T MorascaRussiaBernardo Dominic PROPOSAL
Costa Z GauchoItalyIoni Bowcher NEGOTIATION
Murillo U CaldareraItalyIoni Bowcher UNQUALIFIED
Greenwood Y SchemmerFranceBernardo Dominic UNQUALIFIED
Johnson H WaycottJapanAsiya Javayant NEGOTIATION
Ricardo E PaprockiJapanXuxue Feng NEGOTIATION
Nicolas S RulapaughBrazilIvan Magalhaes UNQUALIFIED
Deepesh L CampainJapanBernardo Dominic NEW
Munro P FigeroaBrazilAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson I MaletUnited KingdomIoni Bowcher NEW
Aruna I SchemmerFranceAnna Fali UNQUALIFIED
Smith F AmigonCanadaIvan Magalhaes NEW
Tony R RoysterArgentinaAsiya Javayant PROPOSAL
Wickens G WieserBrazilAmy Elsner UNQUALIFIED
Juan Q WhobreyBrazilElwin Sharvill RENEWAL
David M ButtUnited KingdomXuxue Feng UNQUALIFIED
Murillo V FerenczSpainIvan Magalhaes PROPOSAL
Alejandro P MaletItalyStephen Shaw RENEWAL
Wickens E GauchoCanadaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David C MaletArgentina2026-01-30Commercial Press NEGOTIATION77Elwin Sharvill
1001Arvin B OstroskyBrazil2026-01-25Printing Dimensions RENEWAL61Bernardo Dominic
1002Izzy A DilliardCanada2026-02-11Chapman, Ross E Esq NEGOTIATION58Anna Fali
1003Morrow P WhobreyIndia2026-02-10Rangoni Of Florence UNQUALIFIED19Xuxue Feng
1004Nicolas F OstroskyBrazil2026-01-23Printing Dimensions NEGOTIATION44Ivan Magalhaes
1005Antonio W FerenczSpain2026-02-17King, Christopher A Esq NEGOTIATION37Ioni Bowcher
1006Juan Y SlusarskiJapan2026-02-15Printing Dimensions NEW17Amy Elsner
1007Octavia D MaletBrazil2026-01-25Chanay, Jeffrey A Esq UNQUALIFIED75Xuxue Feng
1008Nicolas G WieserAustralia2026-02-04Chemel, James L Cpa UNQUALIFIED43Amy Elsner
1009Claire U TollnerBrazil2026-02-05King, Christopher A Esq UNQUALIFIED32Asiya Javayant
1010Isabel P FigeroaSpain2026-01-30King, Christopher A Esq QUALIFIED34Anna Fali
1011Stacey H CampainArgentina2026-02-13Commercial Press QUALIFIED37Ivan Magalhaes
1012Maisha A IturbideIndia2026-02-04Truhlar And Truhlar Attys NEGOTIATION33Bernardo Dominic
1013Juan L MarrierItaly2026-01-30Commercial Press QUALIFIED59Stephen Shaw
1014Arvin U StensethGermany2026-01-26Morlong Associates RENEWAL49Ioni Bowcher
1015Aruna H SchemmerArgentina2026-02-04Chemel, James L Cpa UNQUALIFIED35Ivan Magalhaes
1016Mujtaba L BologniaFrance2026-02-13Commercial Press PROPOSAL82Anna Fali
1017Costa G TollnerBrazil2026-02-12Dorl, James J Esq QUALIFIED32Asiya Javayant
1018Kaitlin H NickaGermany2026-01-27Morlong Associates QUALIFIED50Ivan Magalhaes
1019Smith U PerinRussia2026-01-28Rousseaux, Michael Esq PROPOSAL57Amy Elsner
1020Maisha Y KolmetzArgentina2026-02-14Chanay, Jeffrey A Esq RENEWAL80Ioni Bowcher
1021Murillo Z StensethIndia2026-02-11Chanay, Jeffrey A Esq PROPOSAL46Anna Fali
1022Misaki Q ChuiUnited Kingdom2026-02-17Chapman, Ross E Esq UNQUALIFIED68Ioni Bowcher
1023Murillo B MarrierFrance2026-02-05Chanay, Jeffrey A Esq NEW77Ioni Bowcher
1024Misaki I StensethUnited Kingdom2026-02-06Buckley Miller Wright QUALIFIED4Elwin Sharvill
1025Ashley M RimIndia2026-02-07Printing Dimensions NEW68Amy Elsner
1026Greenwood K PerinFrance2026-02-17Morlong Associates NEW27Amy Elsner
1027Octavia B SlusarskiGermany2026-01-24Chapman, Ross E Esq NEW88Anna Fali
1028Misaki H RoysterAustralia2026-02-05King, Christopher A Esq UNQUALIFIED28Xuxue Feng
1029Octavia V GillianUnited Kingdom2026-02-04King, Christopher A Esq RENEWAL89Ivan Magalhaes
1030Leja D WaycottFrance2026-02-02Dorl, James J Esq PROPOSAL61Elwin Sharvill
1031Maisha V OldroydArgentina2026-02-04Chanay, Jeffrey A Esq RENEWAL34Ioni Bowcher
1032Francesco J SchemmerBrazil2026-01-26Rousseaux, Michael Esq PROPOSAL15Ivan Magalhaes
1033Claire S OldroydUnited Kingdom2026-01-30Printing Dimensions PROPOSAL55Elwin Sharvill
1034Darci E MaletGermany2026-01-31Chanay, Jeffrey A Esq PROPOSAL48Xuxue Feng
1035Aika H MaletIndia2026-02-12Rousseaux, Michael Esq PROPOSAL17Asiya Javayant
1036Morrow V AlbaresIndia2026-02-08Feiner Bros NEW26Anna Fali
1037Ivar K MacleadJapan2026-01-27Chemel, James L Cpa NEW19Ioni Bowcher
1038Stacey G ChuiUnited Kingdom2026-02-14Buckley Miller Wright UNQUALIFIED63Amy Elsner
1039Stacey Q FigeroaRussia2026-01-31Rangoni Of Florence UNQUALIFIED5Elwin Sharvill
1040David P RutaBrazil2026-02-05Chanay, Jeffrey A Esq RENEWAL84Elwin Sharvill
1041Tony Q WaycottRussia2026-01-25Rangoni Of Florence NEGOTIATION30Onyama Limba
1042Jefferson Q NickaItaly2026-02-18Feltz Printing Service UNQUALIFIED77Elwin Sharvill
1043Faith A BowleyFrance2026-01-31King, Christopher A Esq QUALIFIED92Elwin Sharvill
1044David Y PerinCanada2026-02-06Commercial Press QUALIFIED50Ioni Bowcher
1045Chavez D MacleadJapan2026-02-11Chanay, Jeffrey A Esq NEW62Ioni Bowcher
1046Jones O SchemmerIndia2026-02-08Printing Dimensions QUALIFIED25Stephen Shaw
1047Adams M BologniaIndia2026-02-18Buckley Miller Wright NEGOTIATION16Stephen Shaw
1048Alejandro P AmigonAustralia2026-01-26Truhlar And Truhlar Attys RENEWAL78Ivan Magalhaes
1049Arvin G RulapaughFrance2026-01-25Buckley Miller Wright RENEWAL50Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Salvatore M RulapaughGermanyIvan Magalhaes PROPOSAL
Ashley A CampainBrazilAmy Elsner QUALIFIED
Leja X OldroydCanadaAsiya Javayant UNQUALIFIED
Tony V IturbideGermanyAsiya Javayant NEW
Aditya K RutaRussiaStephen Shaw RENEWAL
Faith Z PaprockiJapanStephen Shaw NEW
Jennifer X IturbideUnited KingdomBernardo Dominic QUALIFIED
Leon N FerenczRussiaStephen Shaw NEW
Alejandro C MorascaSpainBernardo Dominic UNQUALIFIED
Antonio C NestleItalyBernardo Dominic RENEWAL
Leja R StockhamIndiaIoni Bowcher QUALIFIED
Jones Y GlickSpainIvan Magalhaes NEGOTIATION
Kadeem H MaletArgentinaStephen Shaw PROPOSAL
Morrow K MorascaAustraliaAsiya Javayant RENEWAL
Isabel G WhobreyJapanAmy Elsner PROPOSAL
Johnson V VenereGermanyAnna Fali UNQUALIFIED
Maisha F PerinGermanyBernardo Dominic PROPOSAL
Silvio C RutaBrazilAmy Elsner NEGOTIATION
Aditya W PoquetteAustraliaAnna Fali QUALIFIED
Juan N StensethGermanyAsiya Javayant NEW
Sinclair F RoysterFranceIoni Bowcher PROPOSAL
Mujtaba T IturbideFranceAnna Fali QUALIFIED
Alejandro L MarrierCanadaAsiya Javayant NEW
Isabel M WhobreyBrazilIvan Magalhaes NEW
Aruna L MaletBrazilElwin Sharvill QUALIFIED
Juan R SergiGermanyIvan Magalhaes UNQUALIFIED
Aruna X VenereAustraliaIoni Bowcher QUALIFIED
Arvin V DilliardFranceIvan Magalhaes RENEWAL
Adams Z CaldareraAustraliaIvan Magalhaes QUALIFIED
Nicolas Z NestleAustraliaAmy Elsner PROPOSAL
Antonio R WaycottSpainStephen Shaw NEGOTIATION
Arvin A RutaBrazilBernardo Dominic QUALIFIED
Nicolas X BriddickItalyIoni Bowcher UNQUALIFIED
Ivar H GlickIndiaAnna Fali NEGOTIATION
Ivar V GlickSpainIoni Bowcher NEGOTIATION
Mayumi H CaldareraGermanyAsiya Javayant NEGOTIATION
Aika R VocelkaItalyBernardo Dominic NEGOTIATION
Kadeem H MaletArgentinaBernardo Dominic UNQUALIFIED
Juan S MorascaFranceAnna Fali UNQUALIFIED
Francesco V SlusarskiJapanElwin Sharvill RENEWAL
Kaitlin W GillianGermanyStephen Shaw PROPOSAL
Greenwood Q GillianRussiaAsiya Javayant PROPOSAL
Murillo V MorascaGermanyIvan Magalhaes PROPOSAL
Aruna F GlickAustraliaBernardo Dominic NEW
Jones G MaletBrazilAmy Elsner RENEWAL
Arvin L RoysterIndiaIvan Magalhaes RENEWAL
Aruna Y FlosiIndiaIvan Magalhaes PROPOSAL
Aditya B CaldareraAustraliaBernardo Dominic RENEWAL
Aika A PaprockiIndiaAmy Elsner NEGOTIATION
Juan F CaldareraFranceAsiya Javayant NEGOTIATION
Frozen Columns
Name
Mujtaba A Marrier
Jennifer U Ferencz
Kadeem I Oldroyd
Leja A Garufi
Misaki Y Doe
Mujtaba A Darakjy
Misaki T Bowley
Costa R Waycott
Kaitlin I Saylors
Clifford F Chui
Wickens Y Albares
Jennifer S Malet
David Z Butt
Mujtaba D Morasca
Stacey A Morasca
Smith R Schemmer
Jones S Albares
David B Ferencz
Isabel T Doe
Arvin K Venere
Faith U Nestle
Greenwood S Doe
Munro L Briddick
Deepesh X Darakjy
Nicolas O Shinko
Jeanfrancois Y Albares
David T Doe
Faith L Shinko
Murillo I Paprocki
Maria W Paprocki
Cody Q Campain
Faith Z Kusko
Deepesh X Oldroyd
Ivar X Waycott
Izzy L Whobrey
Leon M Kolmetz
Johnson P Butt
Aika Z Caudy
Wickens F Paprocki
Ivar J Perin
Clifford B Albares
Adams X Caldarera
Aditya E Shinko
Ashley O Campain
Misaki M Paprocki
Ivar S Dilliard
Mujtaba V Ruta
Francesco M Ostrosky
Clifford X Ruta
Cody W Butt
IdCountryDate
1000Canada2026-02-21
1001Spain2026-02-01
1002Italy2026-01-30
1003France2026-02-08
1004Russia2026-02-11
1005India2026-02-08
1006Argentina2026-01-27
1007France2026-02-04
1008India2026-02-07
1009Brazil2026-02-01
1010Australia2026-02-10
1011France2026-02-16
1012Russia2026-02-21
1013Spain2026-02-14
1014Argentina2026-01-28
1015United Kingdom2026-01-26
1016Russia2026-01-25
1017Canada2026-02-17
1018Japan2026-02-02
1019Argentina2026-02-15
1020Russia2026-02-09
1021Japan2026-02-17
1022India2026-02-07
1023Italy2026-01-23
1024Italy2026-01-26
1025Australia2026-01-24
1026France2026-02-09
1027Brazil2026-02-05
1028Canada2026-02-11
1029Argentina2026-02-13
1030Canada2026-02-15
1031Japan2026-02-12
1032India2026-02-10
1033Japan2026-01-23
1034Spain2026-02-17
1035India2026-02-08
1036Australia2026-02-13
1037Australia2026-02-21
1038France2026-02-16
1039Australia2026-01-28
1040Brazil2026-02-18
1041Spain2026-02-08
1042India2026-02-11
1043Germany2026-02-10
1044United Kingdom2026-02-17
1045Canada2026-02-09
1046Canada2026-02-09
1047Germany2026-02-02
1048Germany2026-02-02
1049Canada2026-01-28

On-Demand Data

NameIdCountryDate
Clifford L Whobrey1000Australia2026-02-12
Ivar S Glick1001Italy2026-02-18
Adams W Ostrosky1002Australia2026-02-07
Murillo O Gaucho1003France2026-02-18
Tony N Nicka1004Canada2026-02-14
Morrow I Tollner1005India2026-02-02
Ricardo V Royster1006Italy2026-02-07
Sinclair F Sergi1007Australia2026-01-28
Emily I Figeroa1008Japan2026-02-15
Jeanfrancois Z Iturbide1009Spain2026-02-16
Antonio B Bowley1010Germany2026-02-02
Emily E Malet1011Japan2026-02-06
Leja U Sergi1012Argentina2026-01-30
Sinclair G Stenseth1013Argentina2026-02-03
Kadeem T Malet1014Russia2026-01-23
Jones P Inouye1015Japan2026-01-30
Deepesh Y Paprocki1016Germany2026-01-24
Julie Y Chui1017Brazil2026-01-29
Ivar C Kolmetz1018Brazil2026-02-07
Juan V Bowley1019Argentina2026-02-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh J PerinArgentinaOnyama Limba QUALIFIED
Ricardo I WieserAustraliaAnna Fali PROPOSAL
Juan U RoysterJapanElwin Sharvill NEW
Munro K IturbideJapanStephen Shaw NEGOTIATION
Adams N GillianSpainBernardo Dominic NEW
Chavez M CaudyRussiaIoni Bowcher RENEWAL
Julie O NestleUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel R CampainUnited KingdomElwin Sharvill PROPOSAL
Isabel J VenereRussiaOnyama Limba PROPOSAL
Isabel D VenereArgentinaAmy Elsner RENEWAL
Murillo I SaylorsJapanBernardo Dominic UNQUALIFIED
Mayumi T GarufiUnited KingdomXuxue Feng RENEWAL
Johnson F FerenczGermanyXuxue Feng NEW
Leon Q VocelkaItalyBernardo Dominic RENEWAL
Deepesh A KuskoSpainAsiya Javayant UNQUALIFIED
Jeanfrancois X RulapaughBrazilStephen Shaw PROPOSAL
Ricardo X FlosiUnited KingdomOnyama Limba NEW
Cody P GauchoFranceXuxue Feng QUALIFIED
Munro S FlosiAustraliaXuxue Feng QUALIFIED
Munro T PoquetteFranceBernardo Dominic RENEWAL
Kaitlin D AmigonSpainElwin Sharvill RENEWAL
James L PerinAustraliaAnna Fali QUALIFIED
Salvatore V IturbideFranceOnyama Limba RENEWAL
Ivar D MaletArgentinaIoni Bowcher QUALIFIED
Izzy W WieserGermanyAmy Elsner RENEWAL
Leon I RutaSpainAnna Fali PROPOSAL
Misaki N StockhamArgentinaStephen Shaw UNQUALIFIED
Julie E PoquetteGermanyAmy Elsner QUALIFIED
Aditya O MacleadAustraliaOnyama Limba NEGOTIATION
David M MaletUnited KingdomAnna Fali UNQUALIFIED
Sinclair L SchemmerIndiaAmy Elsner QUALIFIED
Maisha I MaletUnited KingdomIvan Magalhaes QUALIFIED
Maisha U OstroskyGermanyElwin Sharvill RENEWAL
Costa N RutaJapanStephen Shaw UNQUALIFIED
Isabel Y FlosiUnited KingdomOnyama Limba PROPOSAL
Chavez E DarakjyFranceIvan Magalhaes NEGOTIATION
Chavez Z FollerGermanyOnyama Limba QUALIFIED
David C NestleIndiaXuxue Feng QUALIFIED
Jennifer H StensethFranceStephen Shaw UNQUALIFIED
Izzy Z GauchoGermanyAsiya Javayant 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.