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
Arvin B DoeRussiaOnyama Limba NEGOTIATION
Jennifer O StensethJapanAmy Elsner NEGOTIATION
Ashley N AmigonItalyStephen Shaw UNQUALIFIED
Jefferson E MaletSpainStephen Shaw NEGOTIATION
Johnson E GauchoBrazilElwin Sharvill NEGOTIATION
Smith Y PerinIndiaBernardo Dominic NEGOTIATION
David Z RimUnited KingdomIoni Bowcher RENEWAL
Ivar O StensethUnited KingdomAnna Fali NEGOTIATION
Tony F SchemmerArgentinaIoni Bowcher NEW
Juan W FollerArgentinaIvan Magalhaes PROPOSAL
Kadeem H SlusarskiRussiaXuxue Feng NEW
Jones H SlusarskiJapanAsiya Javayant NEW
Claire L BowleyBrazilStephen Shaw UNQUALIFIED
Aruna U GauchoItalyAsiya Javayant PROPOSAL
Juan N GauchoAustraliaElwin Sharvill QUALIFIED
Ricardo Z BriddickGermanyAmy Elsner QUALIFIED
Smith R VenereCanadaAmy Elsner PROPOSAL
Johnson E OldroydAustraliaAnna Fali QUALIFIED
Adams R RulapaughCanadaStephen Shaw NEW
Jefferson M PoquetteIndiaIvan Magalhaes NEGOTIATION
Emily I CaldareraAustraliaElwin Sharvill QUALIFIED
Juan O CaudyJapanIvan Magalhaes NEGOTIATION
Alejandro P GillianIndiaXuxue Feng NEW
Jeanfrancois Z RimGermanyAsiya Javayant NEW
Izzy I MorascaItalyAnna Fali PROPOSAL
Costa T RutaFranceStephen Shaw UNQUALIFIED
Ivar I AmigonItalyBernardo Dominic UNQUALIFIED
Smith O NestleArgentinaStephen Shaw QUALIFIED
Aika S StockhamItalyBernardo Dominic PROPOSAL
Ivar K VenereIndiaElwin Sharvill NEGOTIATION
Jefferson A DoeAustraliaBernardo Dominic UNQUALIFIED
Maisha A MaletIndiaElwin Sharvill NEGOTIATION
Aditya Q GillianRussiaAnna Fali UNQUALIFIED
Greenwood P ButtCanadaAnna Fali PROPOSAL
Ivar Y FerenczCanadaAnna Fali UNQUALIFIED
Ashley I WhobreyGermanyIoni Bowcher NEW
Kaitlin P RutaItalyIvan Magalhaes PROPOSAL
Francesco L WhobreyIndiaElwin Sharvill RENEWAL
Aruna M IturbideSpainOnyama Limba PROPOSAL
Faith P PoquetteGermanyXuxue Feng PROPOSAL
Darci U FerenczIndiaAnna Fali PROPOSAL
Julie F VenereGermanyIvan Magalhaes RENEWAL
Kaitlin X DarakjyBrazilAsiya Javayant QUALIFIED
Chavez P PerinIndiaStephen Shaw NEGOTIATION
Leon Q CampainArgentinaIoni Bowcher PROPOSAL
Johnson E WieserItalyIvan Magalhaes UNQUALIFIED
Kaitlin Z NickaUnited KingdomXuxue Feng QUALIFIED
Clifford E StensethBrazilIoni Bowcher NEGOTIATION
Leja B NickaIndiaBernardo Dominic RENEWAL
Maisha H KuskoSpainElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio C OstroskySpainAsiya Javayant NEW
Aruna S AlbaresSpainStephen Shaw UNQUALIFIED
Jefferson Z KuskoItalyAmy Elsner QUALIFIED
Aika I FerenczBrazilIvan Magalhaes RENEWAL
Chavez H WhobreySpainBernardo Dominic NEGOTIATION
Rodrigues U SaylorsIndiaAsiya Javayant RENEWAL
Kadeem E BriddickFranceXuxue Feng UNQUALIFIED
Faith N NickaJapanXuxue Feng QUALIFIED
Maria E OldroydIndiaXuxue Feng NEGOTIATION
Johnson U DilliardRussiaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James M DoeIndia2026-06-06Printing Dimensions UNQUALIFIED58Onyama Limba
1001Rodrigues R VocelkaItaly2026-06-06Chanay, Jeffrey A Esq RENEWAL59Anna Fali
1002Aditya B FlosiUnited Kingdom2026-06-06Feiner Bros NEGOTIATION90Ivan Magalhaes
1003Maria B GauchoItaly2026-06-12Printing Dimensions RENEWAL61Ivan Magalhaes
1004Claire B WieserAustralia2026-05-30Feltz Printing Service RENEWAL77Ivan Magalhaes
1005Costa C MaletArgentina2026-05-21Buckley Miller Wright RENEWAL32Amy Elsner
1006Leja O RulapaughArgentina2026-06-15Chemel, James L Cpa RENEWAL67Anna Fali
1007Mujtaba N DoeCanada2026-06-12Chanay, Jeffrey A Esq PROPOSAL84Onyama Limba
1008Octavia V BologniaFrance2026-05-28Printing Dimensions QUALIFIED95Asiya Javayant
1009Arvin B FollerRussia2026-05-31Dorl, James J Esq NEW12Elwin Sharvill
1010Jones P GauchoArgentina2026-06-14Dorl, James J Esq QUALIFIED38Bernardo Dominic
1011Aditya D GlickJapan2026-05-26Benton, John B Jr QUALIFIED90Ivan Magalhaes
1012Jones O GlickJapan2026-06-16Printing Dimensions NEGOTIATION27Elwin Sharvill
1013Leja Z PerinJapan2026-06-07Commercial Press RENEWAL39Anna Fali
1014Leja U KolmetzBrazil2026-05-22Buckley Miller Wright NEW0Xuxue Feng
1015Antonio Q RulapaughArgentina2026-06-18Dorl, James J Esq PROPOSAL21Onyama Limba
1016Francesco X BriddickRussia2026-06-14Chanay, Jeffrey A Esq QUALIFIED0Ioni Bowcher
1017Jones C AlbaresUnited Kingdom2026-06-16Truhlar And Truhlar Attys RENEWAL35Onyama Limba
1018Mayumi H ShinkoCanada2026-06-12Morlong Associates UNQUALIFIED7Bernardo Dominic
1019Silvio B GarufiGermany2026-05-22Feltz Printing Service PROPOSAL38Asiya Javayant
1020Aruna H CaudyItaly2026-06-13Buckley Miller Wright RENEWAL89Onyama Limba
1021Stacey B MaletAustralia2026-06-02Feiner Bros RENEWAL25Asiya Javayant
1022Wickens H FollerArgentina2026-06-15Feiner Bros UNQUALIFIED63Ivan Magalhaes
1023Costa K OstroskyBrazil2026-06-11Dorl, James J Esq NEGOTIATION96Anna Fali
1024Faith I MaletArgentina2026-05-28Rousseaux, Michael Esq QUALIFIED69Ioni Bowcher
1025Aika D CampainUnited Kingdom2026-06-04Rousseaux, Michael Esq NEGOTIATION82Xuxue Feng
1026Faith L GlickRussia2026-06-14Chemel, James L Cpa NEW2Xuxue Feng
1027Greenwood F PoquetteAustralia2026-06-18Feltz Printing Service QUALIFIED52Anna Fali
1028Faith B GauchoGermany2026-06-10King, Christopher A Esq UNQUALIFIED73Onyama Limba
1029Wickens K PaprockiGermany2026-06-13Chapman, Ross E Esq UNQUALIFIED42Stephen Shaw
1030Greenwood X StensethGermany2026-06-18King, Christopher A Esq NEGOTIATION77Onyama Limba
1031Maria C VenereFrance2026-06-15Buckley Miller Wright NEW15Ivan Magalhaes
1032Clifford U MaletJapan2026-06-12Truhlar And Truhlar Attys NEGOTIATION56Xuxue Feng
1033Alejandro A WaycottBrazil2026-05-23Dorl, James J Esq PROPOSAL70Ivan Magalhaes
1034Greenwood L NickaGermany2026-06-11Benton, John B Jr NEGOTIATION98Xuxue Feng
1035Misaki B PoquetteGermany2026-06-05Dorl, James J Esq RENEWAL70Elwin Sharvill
1036Maisha C VenereRussia2026-06-18Truhlar And Truhlar Attys RENEWAL33Anna Fali
1037Jefferson S BowleyFrance2026-06-16Chapman, Ross E Esq QUALIFIED39Elwin Sharvill
1038Silvio W MorascaJapan2026-06-07Benton, John B Jr QUALIFIED92Stephen Shaw
1039James P GlickBrazil2026-06-13Commercial Press QUALIFIED95Elwin Sharvill
1040Jefferson Y DarakjyItaly2026-06-18Benton, John B Jr PROPOSAL66Xuxue Feng
1041Clifford X RulapaughRussia2026-06-10Chapman, Ross E Esq UNQUALIFIED78Anna Fali
1042Maria T StensethFrance2026-05-29Rangoni Of Florence QUALIFIED3Ioni Bowcher
1043James J MaletIndia2026-06-09Chemel, James L Cpa NEGOTIATION62Onyama Limba
1044Nicolas W VocelkaFrance2026-05-20Buckley Miller Wright UNQUALIFIED26Ivan Magalhaes
1045Jefferson L SchemmerCanada2026-06-02Morlong Associates NEGOTIATION67Xuxue Feng
1046Misaki T SlusarskiRussia2026-06-06Chapman, Ross E Esq UNQUALIFIED19Anna Fali
1047Izzy J AlbaresRussia2026-06-02Rangoni Of Florence QUALIFIED82Onyama Limba
1048David W PoquetteFrance2026-06-01Morlong Associates QUALIFIED15Bernardo Dominic
1049Antonio O StensethJapan2026-06-14King, Christopher A Esq NEW70Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily B OldroydBrazilIoni Bowcher NEW
Morrow D GauchoIndiaOnyama Limba NEGOTIATION
Darci R OstroskyArgentinaOnyama Limba RENEWAL
Morrow V ShinkoBrazilStephen Shaw NEGOTIATION
Mujtaba M DilliardArgentinaAmy Elsner PROPOSAL
Clifford H BowleyUnited KingdomStephen Shaw UNQUALIFIED
Emily W CaldareraSpainXuxue Feng QUALIFIED
Jeanfrancois D BowleyIndiaElwin Sharvill PROPOSAL
Greenwood D GlickIndiaXuxue Feng NEGOTIATION
Octavia H VocelkaGermanyOnyama Limba NEGOTIATION
Clifford T PaprockiRussiaStephen Shaw RENEWAL
Jeanfrancois P KolmetzJapanAsiya Javayant QUALIFIED
Jefferson F MaletSpainAnna Fali RENEWAL
James H AmigonFranceBernardo Dominic UNQUALIFIED
Misaki D AmigonArgentinaStephen Shaw RENEWAL
Maisha Y SchemmerSpainIvan Magalhaes UNQUALIFIED
Mujtaba Z MarrierBrazilAsiya Javayant UNQUALIFIED
Ivar X DilliardJapanBernardo Dominic UNQUALIFIED
Emily Z ButtItalyXuxue Feng RENEWAL
Ricardo M DoeFranceElwin Sharvill PROPOSAL
Sinclair R PaprockiFranceXuxue Feng NEGOTIATION
Antonio Y BriddickBrazilBernardo Dominic QUALIFIED
Arvin T KolmetzFranceAsiya Javayant NEGOTIATION
Jones Z FigeroaArgentinaStephen Shaw UNQUALIFIED
Leja E OldroydArgentinaXuxue Feng UNQUALIFIED
Salvatore Y KolmetzCanadaAsiya Javayant PROPOSAL
David G WaycottRussiaStephen Shaw NEGOTIATION
Cody W KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Maisha U VenereItalyIvan Magalhaes QUALIFIED
Emily G FerenczSpainAnna Fali UNQUALIFIED
Silvio O MaletItalyXuxue Feng NEGOTIATION
Izzy E GarufiItalyIoni Bowcher NEGOTIATION
Jennifer N MaletIndiaAnna Fali NEW
Munro C RimRussiaOnyama Limba UNQUALIFIED
Costa B ShinkoCanadaOnyama Limba NEW
Chavez V DoeIndiaIoni Bowcher NEGOTIATION
Juan M SchemmerRussiaAsiya Javayant PROPOSAL
Izzy N InouyeItalyBernardo Dominic RENEWAL
Deepesh H PaprockiUnited KingdomAsiya Javayant PROPOSAL
Silvio K FollerJapanIoni Bowcher RENEWAL
Isabel X ShinkoArgentinaOnyama Limba NEW
Johnson X AmigonFranceAsiya Javayant QUALIFIED
Silvio B BowleyArgentinaElwin Sharvill QUALIFIED
Leon R BologniaJapanOnyama Limba NEGOTIATION
Antonio X ButtItalyAmy Elsner RENEWAL
Maisha G NickaUnited KingdomElwin Sharvill NEGOTIATION
Stacey O OldroydSpainAsiya Javayant PROPOSAL
Darci Y DilliardBrazilAmy Elsner QUALIFIED
Ashley V InouyeJapanStephen Shaw UNQUALIFIED
Smith I ChuiRussiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Munro E Inouye
Emily Z Darakjy
Rodrigues M Nicka
Mujtaba U Vocelka
Ashley V Foller
Francesco Z Chui
Aditya B Gillian
Ivar Y Inouye
Aika N Amigon
Morrow F Figeroa
Arvin X Stenseth
Antonio O Rim
Aruna D Caudy
Silvio Z Tollner
Misaki P Stockham
Tony D Oldroyd
Greenwood K Flosi
Claire T Saylors
Munro L Whobrey
Misaki C Venere
Nicolas L Saylors
Clifford J Amigon
Clifford N Vocelka
Alejandro P Briddick
Munro Y Caudy
Aika A Kolmetz
Leon E Doe
Nicolas R Dilliard
Juan P Chui
Jennifer P Paprocki
Francesco X Albares
Deepesh N Nicka
Ivar X Foller
Aditya N Morasca
Arvin X Saylors
Johnson T Saylors
Jones C Amigon
Kadeem U Schemmer
Rodrigues H Marrier
Kadeem P Garufi
Clifford Z Shinko
Jones A Paprocki
Leon R Tollner
Kadeem C Whobrey
Deepesh C Bowley
Izzy N Whobrey
Arvin C Marrier
Darci G Foller
Claire T Glick
Aika H Iturbide
IdCountryDate
1000Italy2026-06-14
1001Japan2026-06-12
1002India2026-06-06
1003Brazil2026-06-06
1004France2026-06-08
1005Russia2026-06-07
1006Germany2026-05-24
1007Russia2026-06-11
1008France2026-06-05
1009Italy2026-05-31
1010France2026-06-17
1011Brazil2026-05-30
1012Australia2026-05-30
1013France2026-06-15
1014Russia2026-05-24
1015Russia2026-06-17
1016Argentina2026-06-18
1017Germany2026-06-04
1018France2026-06-03
1019France2026-06-01
1020Brazil2026-06-08
1021Germany2026-05-26
1022Argentina2026-05-25
1023India2026-06-11
1024United Kingdom2026-05-21
1025Spain2026-05-20
1026Spain2026-05-25
1027Spain2026-05-26
1028Australia2026-06-09
1029Germany2026-05-26
1030France2026-05-31
1031Japan2026-06-01
1032Brazil2026-06-02
1033India2026-06-16
1034India2026-06-01
1035Germany2026-06-16
1036Argentina2026-06-05
1037Russia2026-06-16
1038Brazil2026-06-11
1039United Kingdom2026-06-17
1040Australia2026-06-12
1041Japan2026-06-01
1042Australia2026-06-04
1043Russia2026-05-30
1044Spain2026-06-03
1045Argentina2026-06-14
1046France2026-06-16
1047Italy2026-06-09
1048Spain2026-06-02
1049Russia2026-06-02

On-Demand Data

NameIdCountryDate
Deepesh U Campain1000India2026-05-23
Julie W Figeroa1001Canada2026-05-30
Jones K Paprocki1002France2026-05-24
Kaitlin H Iturbide1003Germany2026-06-16
Johnson Y Kolmetz1004France2026-05-28
Mujtaba P Rim1005Australia2026-05-25
Sinclair H Kolmetz1006Australia2026-06-16
Faith S Ostrosky1007France2026-06-18
Murillo N Malet1008United Kingdom2026-05-25
Isabel G Butt1009Brazil2026-06-14
Leon Q Nestle1010India2026-05-24
Aika Z Kolmetz1011Canada2026-05-30
Rodrigues A Foller1012Germany2026-06-15
Jones D Sergi1013United Kingdom2026-06-16
Jefferson P Nestle1014India2026-06-04
Octavia J Rim1015Argentina2026-06-11
Silvio C Bowley1016Spain2026-05-27
Greenwood K Kolmetz1017United Kingdom2026-06-04
Chavez H Iturbide1018United Kingdom2026-05-26
Faith X Foller1019India2026-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams E OstroskyUnited KingdomBernardo Dominic QUALIFIED
Sinclair H DoeCanadaIvan Magalhaes RENEWAL
Murillo F BowleySpainXuxue Feng UNQUALIFIED
Greenwood I CaudyIndiaIoni Bowcher NEGOTIATION
Julie M MacleadAustraliaIoni Bowcher UNQUALIFIED
Arvin F SlusarskiUnited KingdomOnyama Limba QUALIFIED
Costa Q RoysterIndiaElwin Sharvill PROPOSAL
Silvio Y BowleyJapanAnna Fali UNQUALIFIED
Clifford Z GlickItalyOnyama Limba PROPOSAL
Stacey Y MaletJapanAsiya Javayant QUALIFIED
Kadeem U OldroydIndiaIvan Magalhaes PROPOSAL
Cody S DilliardFranceStephen Shaw NEGOTIATION
Leja J MarrierGermanyElwin Sharvill NEGOTIATION
Smith R SlusarskiJapanStephen Shaw UNQUALIFIED
Kaitlin B BowleySpainXuxue Feng PROPOSAL
Leon M PoquetteCanadaIvan Magalhaes QUALIFIED
Salvatore T StensethAustraliaOnyama Limba PROPOSAL
Emily U FollerFranceAsiya Javayant NEGOTIATION
Clifford L KolmetzUnited KingdomElwin Sharvill PROPOSAL
Octavia F VocelkaFranceOnyama Limba UNQUALIFIED
Maria U NickaCanadaAsiya Javayant PROPOSAL
Deepesh P BriddickGermanyBernardo Dominic NEW
Isabel R FerenczRussiaXuxue Feng PROPOSAL
Alejandro L BowleyCanadaAsiya Javayant QUALIFIED
Aditya X GlickSpainIvan Magalhaes PROPOSAL
Silvio P StockhamItalyOnyama Limba RENEWAL
Francesco H RutaUnited KingdomIvan Magalhaes QUALIFIED
Izzy N MaletGermanyXuxue Feng NEW
Maria A NickaIndiaXuxue Feng QUALIFIED
Nicolas R SergiIndiaAmy Elsner UNQUALIFIED
Jones U PaprockiRussiaAmy Elsner UNQUALIFIED
Murillo H KuskoCanadaAsiya Javayant UNQUALIFIED
Claire V FlosiFranceBernardo Dominic QUALIFIED
Smith N DilliardCanadaStephen Shaw PROPOSAL
Mayumi W FerenczIndiaAsiya Javayant RENEWAL
Adams Y RoysterIndiaElwin Sharvill QUALIFIED
Aruna H MaletArgentinaElwin Sharvill QUALIFIED
Mayumi P WhobreyRussiaBernardo Dominic QUALIFIED
Rodrigues P SlusarskiSpainXuxue Feng QUALIFIED
Chavez H GlickBrazilStephen Shaw 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.