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
Kaitlin F BriddickArgentinaStephen Shaw PROPOSAL
Tony A CaldareraJapanIvan Magalhaes RENEWAL
David M PoquetteFranceAsiya Javayant QUALIFIED
Greenwood K PoquetteItalyAsiya Javayant RENEWAL
Alejandro Y WieserGermanyXuxue Feng QUALIFIED
Francesco C VocelkaBrazilIoni Bowcher PROPOSAL
Alejandro W DilliardUnited KingdomOnyama Limba QUALIFIED
James C MorascaUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois K SaylorsSpainAnna Fali RENEWAL
Silvio J AlbaresUnited KingdomXuxue Feng NEGOTIATION
James R PoquetteRussiaXuxue Feng PROPOSAL
Murillo A FigeroaBrazilAsiya Javayant PROPOSAL
Ricardo B StensethUnited KingdomXuxue Feng UNQUALIFIED
Mayumi L FigeroaSpainElwin Sharvill NEW
Ivar V WhobreyRussiaAnna Fali PROPOSAL
Ricardo Q DoeBrazilOnyama Limba PROPOSAL
Leon K MaletItalyXuxue Feng RENEWAL
Emily Y CaudyRussiaOnyama Limba PROPOSAL
Clifford K GauchoSpainOnyama Limba PROPOSAL
Octavia E SaylorsFranceIvan Magalhaes UNQUALIFIED
Jefferson W PaprockiIndiaIvan Magalhaes RENEWAL
Adams N WieserBrazilBernardo Dominic QUALIFIED
Leja X InouyeRussiaAnna Fali PROPOSAL
David L CaudyRussiaAsiya Javayant NEGOTIATION
Rodrigues E ChuiFranceIoni Bowcher UNQUALIFIED
Aruna P GlickJapanAnna Fali PROPOSAL
Maria R ButtSpainOnyama Limba RENEWAL
Aruna O ShinkoFranceIvan Magalhaes UNQUALIFIED
David M SaylorsCanadaAsiya Javayant NEGOTIATION
Tony R BowleyFranceOnyama Limba QUALIFIED
Jefferson I BologniaGermanyAsiya Javayant PROPOSAL
Aditya C NestleUnited KingdomStephen Shaw UNQUALIFIED
Munro L IturbideArgentinaAnna Fali QUALIFIED
Ricardo P RoysterUnited KingdomXuxue Feng PROPOSAL
Maisha L FollerItalyElwin Sharvill PROPOSAL
Isabel H NestleUnited KingdomOnyama Limba QUALIFIED
Mayumi F MorascaGermanyAmy Elsner NEGOTIATION
James R FigeroaBrazilAsiya Javayant RENEWAL
Emily T BologniaUnited KingdomBernardo Dominic NEW
Silvio Q TollnerAustraliaAsiya Javayant NEW
Cody T FerenczArgentinaIoni Bowcher RENEWAL
Kadeem Z PaprockiItalyAnna Fali RENEWAL
Darci K SlusarskiBrazilBernardo Dominic QUALIFIED
Cody P SlusarskiSpainBernardo Dominic PROPOSAL
Deepesh Q GillianBrazilAsiya Javayant QUALIFIED
Smith P KuskoArgentinaXuxue Feng NEGOTIATION
Maisha S VenereUnited KingdomAsiya Javayant NEGOTIATION
Claire J BriddickGermanyStephen Shaw NEGOTIATION
Arvin O PerinIndiaAsiya Javayant UNQUALIFIED
Alejandro J NestleAustraliaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez G MarrierFranceBernardo Dominic QUALIFIED
Chavez R MacleadSpainAmy Elsner NEGOTIATION
Smith H TollnerGermanyIvan Magalhaes NEGOTIATION
Maria V MaletAustraliaAsiya Javayant NEW
Johnson A SergiGermanyOnyama Limba QUALIFIED
Misaki N BologniaArgentinaAnna Fali QUALIFIED
Emily O MacleadBrazilIvan Magalhaes NEW
Claire S BologniaAustraliaIoni Bowcher RENEWAL
Costa I NickaJapanIvan Magalhaes NEGOTIATION
Cody F IturbideItalyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco R MaletItaly2026-05-02Chemel, James L Cpa UNQUALIFIED27Asiya Javayant
1001Jeanfrancois F ButtUnited Kingdom2026-05-12Feltz Printing Service PROPOSAL58Anna Fali
1002Johnson O MorascaCanada2026-04-28Commercial Press NEGOTIATION46Anna Fali
1003Cody G BowleyArgentina2026-05-18King, Christopher A Esq PROPOSAL13Asiya Javayant
1004Chavez X RutaRussia2026-05-08Chapman, Ross E Esq UNQUALIFIED23Ioni Bowcher
1005Mujtaba Y FollerAustralia2026-04-23Rangoni Of Florence NEW81Onyama Limba
1006Izzy A SlusarskiSpain2026-05-19Rangoni Of Florence PROPOSAL5Bernardo Dominic
1007Ashley J SergiFrance2026-04-24Dorl, James J Esq PROPOSAL85Anna Fali
1008Leja B ShinkoArgentina2026-05-21Feiner Bros QUALIFIED0Ioni Bowcher
1009Jones L ChuiJapan2026-05-15Commercial Press NEGOTIATION32Onyama Limba
1010Octavia J MorascaSpain2026-05-18Buckley Miller Wright RENEWAL69Bernardo Dominic
1011Darci F AlbaresJapan2026-05-19Dorl, James J Esq UNQUALIFIED96Onyama Limba
1012Munro S NickaSpain2026-04-26Buckley Miller Wright UNQUALIFIED85Elwin Sharvill
1013Ivar J KolmetzRussia2026-05-16Printing Dimensions NEGOTIATION28Ioni Bowcher
1014Arvin X StockhamBrazil2026-04-27Benton, John B Jr QUALIFIED17Bernardo Dominic
1015Costa Z BriddickAustralia2026-05-02Feiner Bros UNQUALIFIED68Stephen Shaw
1016Johnson Q BriddickRussia2026-04-30Rangoni Of Florence UNQUALIFIED71Elwin Sharvill
1017Antonio P ChuiAustralia2026-04-23Commercial Press UNQUALIFIED8Elwin Sharvill
1018Octavia N TollnerRussia2026-05-21Rousseaux, Michael Esq NEW97Bernardo Dominic
1019Isabel U AmigonSpain2026-05-18King, Christopher A Esq QUALIFIED36Ioni Bowcher
1020Julie X WhobreyFrance2026-04-24Dorl, James J Esq PROPOSAL94Anna Fali
1021Juan J TollnerGermany2026-05-21Benton, John B Jr RENEWAL37Anna Fali
1022Clifford L DarakjyCanada2026-05-02Chapman, Ross E Esq PROPOSAL19Ioni Bowcher
1023Clifford J IturbideFrance2026-05-04Printing Dimensions RENEWAL24Onyama Limba
1024Leon U CampainBrazil2026-05-16Benton, John B Jr UNQUALIFIED31Stephen Shaw
1025Aruna O StockhamJapan2026-04-25Commercial Press UNQUALIFIED38Anna Fali
1026Deepesh S IturbideAustralia2026-05-05Morlong Associates NEGOTIATION8Elwin Sharvill
1027Mayumi T DoeArgentina2026-05-16Printing Dimensions PROPOSAL13Bernardo Dominic
1028Leja V AmigonCanada2026-05-12Morlong Associates QUALIFIED96Amy Elsner
1029Greenwood Q PerinGermany2026-05-03Chanay, Jeffrey A Esq PROPOSAL29Ivan Magalhaes
1030Costa W WieserItaly2026-05-03Chemel, James L Cpa NEGOTIATION74Ivan Magalhaes
1031Salvatore Z SaylorsSpain2026-05-22Dorl, James J Esq PROPOSAL23Amy Elsner
1032Munro Z SaylorsUnited Kingdom2026-05-14Buckley Miller Wright PROPOSAL40Stephen Shaw
1033Aika H RutaArgentina2026-04-25Benton, John B Jr RENEWAL88Asiya Javayant
1034Smith X PerinAustralia2026-05-07Truhlar And Truhlar Attys QUALIFIED25Amy Elsner
1035Arvin B VocelkaSpain2026-05-11Commercial Press UNQUALIFIED10Anna Fali
1036Sinclair U RoysterItaly2026-05-06Rousseaux, Michael Esq NEGOTIATION23Ivan Magalhaes
1037Claire R NickaRussia2026-05-04Buckley Miller Wright RENEWAL0Stephen Shaw
1038Adams A OldroydGermany2026-05-06Chapman, Ross E Esq RENEWAL25Ioni Bowcher
1039Deepesh G FerenczCanada2026-05-15Rangoni Of Florence UNQUALIFIED54Bernardo Dominic
1040Silvio K SergiJapan2026-05-08Printing Dimensions NEW63Elwin Sharvill
1041Johnson Y FigeroaItaly2026-05-06Benton, John B Jr NEGOTIATION79Onyama Limba
1042Jennifer X RoysterSpain2026-05-15Benton, John B Jr QUALIFIED7Stephen Shaw
1043Aika B ShinkoArgentina2026-05-16Feiner Bros NEGOTIATION3Anna Fali
1044Mujtaba H CaudyGermany2026-05-20Buckley Miller Wright QUALIFIED75Onyama Limba
1045Leon I VenereFrance2026-05-20Commercial Press QUALIFIED92Xuxue Feng
1046Kadeem W DarakjyItaly2026-05-09Feiner Bros NEW52Xuxue Feng
1047Aika S GauchoArgentina2026-05-18Rangoni Of Florence QUALIFIED35Amy Elsner
1048Mujtaba R KolmetzJapan2026-05-04Morlong Associates UNQUALIFIED90Bernardo Dominic
1049Jefferson V AlbaresSpain2026-05-18Rangoni Of Florence RENEWAL96Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens D GauchoCanadaElwin Sharvill RENEWAL
Johnson L SlusarskiBrazilStephen Shaw NEW
Greenwood E AlbaresSpainIoni Bowcher NEGOTIATION
Emily X KolmetzIndiaOnyama Limba NEW
Tony T CaudyFranceBernardo Dominic RENEWAL
Izzy R RoysterGermanyAnna Fali NEW
Leja B SergiCanadaElwin Sharvill UNQUALIFIED
Tony C VenereItalyStephen Shaw PROPOSAL
Murillo N OstroskyIndiaOnyama Limba UNQUALIFIED
Aruna M IturbideBrazilAmy Elsner RENEWAL
Adams B TollnerBrazilElwin Sharvill NEW
Isabel A AmigonJapanAmy Elsner PROPOSAL
Sinclair N RulapaughRussiaXuxue Feng QUALIFIED
Clifford H PerinIndiaIvan Magalhaes RENEWAL
Mujtaba Q AlbaresRussiaStephen Shaw UNQUALIFIED
Ivar W WhobreyJapanAnna Fali NEW
Nicolas H VocelkaBrazilAnna Fali NEGOTIATION
Juan U WaycottCanadaAmy Elsner NEGOTIATION
Faith D GauchoArgentinaAmy Elsner PROPOSAL
Aruna I KolmetzJapanElwin Sharvill NEGOTIATION
Johnson Z ButtArgentinaElwin Sharvill RENEWAL
Kaitlin W FigeroaItalyAmy Elsner RENEWAL
Mayumi H MorascaRussiaBernardo Dominic UNQUALIFIED
Greenwood E MaletSpainOnyama Limba NEGOTIATION
Aruna E NestleArgentinaAnna Fali NEGOTIATION
Antonio M GauchoAustraliaElwin Sharvill NEGOTIATION
Wickens R DilliardIndiaOnyama Limba PROPOSAL
Rodrigues J ChuiAustraliaBernardo Dominic QUALIFIED
Jefferson Z OldroydFranceIoni Bowcher UNQUALIFIED
Costa W GauchoJapanStephen Shaw UNQUALIFIED
Arvin Z MaletFranceOnyama Limba NEGOTIATION
Morrow K FlosiJapanIoni Bowcher QUALIFIED
Murillo V KolmetzRussiaIvan Magalhaes UNQUALIFIED
Aruna T RutaCanadaBernardo Dominic PROPOSAL
Deepesh Q WaycottItalyAmy Elsner NEGOTIATION
Jeanfrancois A GlickIndiaAsiya Javayant UNQUALIFIED
Cody W FerenczFranceIvan Magalhaes NEGOTIATION
Sinclair O CaudyJapanIvan Magalhaes UNQUALIFIED
Sinclair F MaletRussiaIoni Bowcher UNQUALIFIED
Jefferson A ChuiRussiaStephen Shaw QUALIFIED
Isabel S CaldareraAustraliaStephen Shaw PROPOSAL
Aditya F CampainGermanyAmy Elsner RENEWAL
Julie I ShinkoRussiaXuxue Feng NEW
Izzy Z ButtCanadaAnna Fali NEW
Nicolas I StockhamItalyXuxue Feng PROPOSAL
Jeanfrancois C MaletItalyAmy Elsner NEGOTIATION
Julie A InouyeSpainStephen Shaw NEW
Johnson M BologniaGermanyStephen Shaw QUALIFIED
Maria R DoeGermanyOnyama Limba NEW
Arvin X SlusarskiCanadaAsiya Javayant RENEWAL
Frozen Columns
Name
Aika G Oldroyd
Aika F Caldarera
Wickens M Bolognia
Murillo R Dilliard
Smith S Kusko
Claire W Rim
Mujtaba F Malet
Wickens I Flosi
Juan A Doe
Kaitlin A Caudy
Mayumi X Kolmetz
Stacey E Perin
Johnson H Glick
Munro N Kusko
Faith P Rim
Munro Z Gaucho
Arvin N Glick
Munro W Morasca
Ricardo X Royster
Morrow J Shinko
Maisha J Malet
Murillo D Dilliard
Octavia B Malet
Wickens O Doe
Ashley Y Perin
Tony N Perin
Juan G Shinko
Darci N Campain
Darci N Tollner
Ricardo J Waycott
Murillo U Waycott
Ricardo D Schemmer
Kaitlin V Stenseth
Misaki Y Malet
Juan X Inouye
Emily H Sergi
Maria P Ferencz
Morrow W Oldroyd
Claire R Caldarera
Aruna W Maclead
Faith P Waycott
Wickens I Nestle
David N Stockham
Alejandro A Morasca
Stacey E Inouye
Izzy Z Butt
Ashley J Iturbide
Alejandro S Whobrey
Maisha A Shinko
Aditya O Morasca
IdCountryDate
1000Italy2026-05-06
1001United Kingdom2026-05-18
1002Spain2026-05-02
1003Spain2026-05-20
1004Germany2026-05-16
1005Germany2026-05-01
1006Spain2026-05-13
1007Australia2026-05-12
1008Brazil2026-04-27
1009Brazil2026-05-04
1010Argentina2026-05-09
1011United Kingdom2026-05-20
1012Brazil2026-05-07
1013United Kingdom2026-05-11
1014Italy2026-05-10
1015Brazil2026-04-28
1016Russia2026-05-18
1017Japan2026-05-13
1018Russia2026-05-05
1019Spain2026-05-02
1020Italy2026-05-15
1021Brazil2026-05-05
1022Spain2026-05-07
1023Australia2026-05-07
1024Spain2026-04-29
1025Argentina2026-04-29
1026Japan2026-04-24
1027Japan2026-05-12
1028India2026-05-10
1029United Kingdom2026-05-16
1030India2026-05-09
1031France2026-05-08
1032Germany2026-04-28
1033Australia2026-05-19
1034India2026-05-02
1035Germany2026-05-18
1036Canada2026-04-29
1037United Kingdom2026-04-30
1038Italy2026-05-19
1039France2026-05-11
1040Australia2026-05-21
1041India2026-04-24
1042United Kingdom2026-05-19
1043United Kingdom2026-05-04
1044Italy2026-05-20
1045Italy2026-05-19
1046France2026-05-14
1047Japan2026-05-09
1048Germany2026-05-19
1049India2026-05-03

On-Demand Data

NameIdCountryDate
Sinclair B Rulapaugh1000Australia2026-05-05
Rodrigues G Nicka1001Russia2026-05-05
Izzy A Tollner1002Germany2026-05-10
Ivar Q Rulapaugh1003France2026-05-07
Morrow M Sergi1004United Kingdom2026-04-26
Francesco Y Chui1005Germany2026-05-19
Alejandro H Glick1006Spain2026-05-04
Morrow O Chui1007Brazil2026-05-11
Kaitlin T Kusko1008Russia2026-05-08
Greenwood H Sergi1009United Kingdom2026-05-20
Ivar Y Slusarski1010Spain2026-04-28
Sinclair S Kolmetz1011Canada2026-05-18
Ivar Z Saylors1012Argentina2026-04-26
Alejandro F Whobrey1013Japan2026-05-17
Kaitlin S Venere1014Brazil2026-05-14
Aika K Gaucho1015Italy2026-04-30
Tony P Chui1016Australia2026-05-20
Maisha F Butt1017Italy2026-05-03
Maria Q Waycott1018Japan2026-04-28
Rodrigues C Schemmer1019Italy2026-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily N AmigonRussiaAmy Elsner NEW
Costa R NestleGermanyIvan Magalhaes RENEWAL
Darci M StensethAustraliaElwin Sharvill NEGOTIATION
Salvatore P SaylorsSpainAmy Elsner NEW
Munro S GauchoGermanyIoni Bowcher RENEWAL
Sinclair S BowleyArgentinaAnna Fali NEGOTIATION
Murillo U RutaBrazilBernardo Dominic RENEWAL
Leon Q CaldareraJapanXuxue Feng RENEWAL
Leja O CaudyFranceAmy Elsner RENEWAL
Octavia X StensethUnited KingdomIvan Magalhaes UNQUALIFIED
James I RutaGermanyOnyama Limba NEGOTIATION
Chavez K NestleRussiaXuxue Feng NEGOTIATION
Adams O ChuiRussiaIvan Magalhaes RENEWAL
Ricardo O KuskoCanadaElwin Sharvill UNQUALIFIED
Izzy L RoysterAustraliaBernardo Dominic RENEWAL
Aruna O SlusarskiRussiaIoni Bowcher UNQUALIFIED
Maria Q OldroydBrazilBernardo Dominic NEW
Tony H BriddickSpainBernardo Dominic NEW
Cody O DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Maria N NickaBrazilBernardo Dominic QUALIFIED
Darci F CampainFranceElwin Sharvill NEW
Cody X VenereIndiaElwin Sharvill UNQUALIFIED
Darci G StockhamAustraliaAsiya Javayant UNQUALIFIED
Ricardo P MacleadItalyStephen Shaw NEGOTIATION
Julie F MaletFranceAmy Elsner PROPOSAL
Ricardo Z VocelkaJapanIoni Bowcher NEGOTIATION
Ashley A PaprockiSpainStephen Shaw UNQUALIFIED
Tony C RulapaughFranceBernardo Dominic PROPOSAL
Jeanfrancois W NestleIndiaIoni Bowcher NEGOTIATION
Ashley X MaletItalyElwin Sharvill QUALIFIED
Munro N MorascaBrazilOnyama Limba NEGOTIATION
Emily K FerenczSpainElwin Sharvill NEW
Nicolas U GlickCanadaIvan Magalhaes RENEWAL
Morrow X WaycottItalyBernardo Dominic NEW
Cody V DarakjySpainAnna Fali UNQUALIFIED
Faith S BologniaBrazilXuxue Feng QUALIFIED
Antonio E DarakjyArgentinaXuxue Feng RENEWAL
Jeanfrancois Q PoquetteIndiaOnyama Limba NEW
Julie Y PaprockiRussiaElwin Sharvill RENEWAL
Murillo I PoquetteSpainAsiya Javayant NEW

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