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
Stacey M VocelkaItalyAnna Fali QUALIFIED
Chavez Y AmigonUnited KingdomBernardo Dominic QUALIFIED
Jennifer N FollerJapanBernardo Dominic UNQUALIFIED
Smith D SergiRussiaStephen Shaw RENEWAL
Adams Y StensethUnited KingdomAmy Elsner QUALIFIED
Nicolas R StockhamSpainAsiya Javayant NEW
Deepesh F PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Wickens M AlbaresRussiaOnyama Limba NEW
Maria S InouyeItalyAnna Fali PROPOSAL
Costa X VenereCanadaIoni Bowcher RENEWAL
Maisha K VocelkaRussiaAmy Elsner NEW
Munro Q SergiJapanStephen Shaw NEW
Ricardo E WieserUnited KingdomOnyama Limba QUALIFIED
David B MarrierCanadaAmy Elsner RENEWAL
Maisha W FollerGermanyAnna Fali RENEWAL
Johnson A ShinkoJapanAnna Fali UNQUALIFIED
Cody C MaletCanadaXuxue Feng PROPOSAL
Jennifer V KuskoCanadaAsiya Javayant NEGOTIATION
Kadeem G BriddickItalyBernardo Dominic NEGOTIATION
Darci I RutaCanadaOnyama Limba UNQUALIFIED
Mujtaba Y NickaSpainIvan Magalhaes NEW
Jones I OldroydIndiaAsiya Javayant PROPOSAL
Rodrigues W BowleyBrazilAsiya Javayant RENEWAL
Isabel Y KolmetzIndiaIvan Magalhaes PROPOSAL
Jefferson A SaylorsAustraliaElwin Sharvill UNQUALIFIED
Julie S DilliardJapanAnna Fali NEGOTIATION
Greenwood H DilliardGermanyElwin Sharvill PROPOSAL
Kadeem W MorascaJapanBernardo Dominic UNQUALIFIED
Tony L SlusarskiItalyXuxue Feng UNQUALIFIED
Aditya Z WieserIndiaElwin Sharvill PROPOSAL
Munro S IturbideBrazilElwin Sharvill NEGOTIATION
Isabel W RimItalyBernardo Dominic NEW
Silvio Q BologniaIndiaElwin Sharvill QUALIFIED
Ricardo K AmigonSpainIvan Magalhaes UNQUALIFIED
Misaki N SaylorsArgentinaXuxue Feng NEGOTIATION
Jefferson G RutaAustraliaIoni Bowcher QUALIFIED
Aditya W PaprockiFranceXuxue Feng UNQUALIFIED
Maria T KuskoArgentinaStephen Shaw PROPOSAL
Izzy N CaudySpainIvan Magalhaes QUALIFIED
Ashley S GillianIndiaOnyama Limba PROPOSAL
Juan Z MarrierJapanAsiya Javayant QUALIFIED
Antonio Y BowleyArgentinaElwin Sharvill NEW
Julie H OldroydIndiaXuxue Feng NEGOTIATION
Mujtaba M GillianBrazilIvan Magalhaes PROPOSAL
Izzy H SlusarskiSpainElwin Sharvill NEGOTIATION
Claire X SchemmerGermanyXuxue Feng PROPOSAL
Aruna R DilliardJapanIoni Bowcher UNQUALIFIED
Ricardo V PerinJapanIoni Bowcher NEW
Nicolas K AlbaresGermanyOnyama Limba PROPOSAL
Kadeem R RimIndiaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith U MarrierSpainAnna Fali RENEWAL
Smith Y GlickItalyIoni Bowcher UNQUALIFIED
Leja N MaletAustraliaElwin Sharvill UNQUALIFIED
Costa S DilliardAustraliaIvan Magalhaes QUALIFIED
Maisha Z DoeRussiaIvan Magalhaes NEW
Kaitlin C StensethJapanAmy Elsner RENEWAL
Izzy H SergiArgentinaXuxue Feng RENEWAL
Misaki G RoysterUnited KingdomOnyama Limba PROPOSAL
Misaki J ShinkoSpainIvan Magalhaes NEW
Chavez M CaldareraRussiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi F SchemmerCanada2026-06-22Rousseaux, Michael Esq NEGOTIATION87Onyama Limba
1001Kadeem S WaycottIndia2026-06-10Printing Dimensions RENEWAL11Anna Fali
1002Misaki V GlickBrazil2026-06-07Chapman, Ross E Esq QUALIFIED34Bernardo Dominic
1003Sinclair T KolmetzFrance2026-06-09Benton, John B Jr NEW38Bernardo Dominic
1004Rodrigues B MaletRussia2026-06-05Chemel, James L Cpa QUALIFIED41Asiya Javayant
1005Antonio N RimGermany2026-06-13Truhlar And Truhlar Attys PROPOSAL28Onyama Limba
1006Darci D CampainRussia2026-06-04Rangoni Of Florence RENEWAL60Anna Fali
1007Juan O RulapaughRussia2026-06-18Buckley Miller Wright PROPOSAL64Elwin Sharvill
1008Sinclair O VocelkaBrazil2026-06-19Dorl, James J Esq RENEWAL96Amy Elsner
1009Ricardo Z FigeroaCanada2026-06-03Commercial Press PROPOSAL51Ioni Bowcher
1010Aruna F FlosiUnited Kingdom2026-06-18Commercial Press NEGOTIATION44Ivan Magalhaes
1011Leja I MaletJapan2026-06-19Printing Dimensions PROPOSAL28Stephen Shaw
1012Francesco B MorascaAustralia2026-06-08Chapman, Ross E Esq UNQUALIFIED61Asiya Javayant
1013Chavez E BologniaItaly2026-06-08Rangoni Of Florence RENEWAL71Bernardo Dominic
1014Faith C MacleadJapan2026-06-20Buckley Miller Wright UNQUALIFIED89Ivan Magalhaes
1015Izzy D VenereAustralia2026-05-28Dorl, James J Esq QUALIFIED69Asiya Javayant
1016Salvatore N GlickItaly2026-06-02Printing Dimensions NEW61Ioni Bowcher
1017Jennifer N ButtBrazil2026-06-19Feiner Bros RENEWAL63Amy Elsner
1018Francesco D ChuiCanada2026-06-15Commercial Press NEGOTIATION65Elwin Sharvill
1019Mujtaba G ShinkoArgentina2026-06-19Commercial Press PROPOSAL28Ivan Magalhaes
1020Mayumi S AmigonGermany2026-06-05Chemel, James L Cpa RENEWAL24Stephen Shaw
1021Aruna Y BologniaUnited Kingdom2026-05-29Dorl, James J Esq UNQUALIFIED76Ivan Magalhaes
1022Leon J BriddickCanada2026-06-08Rangoni Of Florence PROPOSAL88Ivan Magalhaes
1023Francesco I FollerFrance2026-05-25Feiner Bros QUALIFIED60Bernardo Dominic
1024Jeanfrancois L MacleadRussia2026-06-20Rousseaux, Michael Esq UNQUALIFIED24Asiya Javayant
1025Sinclair X TollnerIndia2026-06-14Rangoni Of Florence NEGOTIATION53Xuxue Feng
1026Sinclair J PerinArgentina2026-06-20Rousseaux, Michael Esq PROPOSAL87Amy Elsner
1027Tony N ShinkoRussia2026-05-24Morlong Associates UNQUALIFIED32Stephen Shaw
1028Arvin B CampainArgentina2026-06-07Chapman, Ross E Esq PROPOSAL17Onyama Limba
1029Tony Z RimFrance2026-05-24Feiner Bros UNQUALIFIED12Bernardo Dominic
1030Salvatore E WaycottBrazil2026-06-16Dorl, James J Esq QUALIFIED32Elwin Sharvill
1031Rodrigues E NestleJapan2026-05-31Buckley Miller Wright UNQUALIFIED0Stephen Shaw
1032Munro D GarufiAustralia2026-06-22Chemel, James L Cpa QUALIFIED27Ioni Bowcher
1033Tony A NickaRussia2026-06-22Commercial Press NEW53Asiya Javayant
1034Stacey K CampainRussia2026-06-02Benton, John B Jr NEW20Bernardo Dominic
1035Costa W FollerIndia2026-06-04Commercial Press UNQUALIFIED21Onyama Limba
1036Aditya J MaletRussia2026-06-08Chemel, James L Cpa RENEWAL74Xuxue Feng
1037Deepesh W WhobreySpain2026-05-25Morlong Associates UNQUALIFIED89Amy Elsner
1038Rodrigues X SlusarskiJapan2026-06-20Chapman, Ross E Esq NEGOTIATION84Bernardo Dominic
1039Wickens W PoquetteGermany2026-05-26Benton, John B Jr RENEWAL41Anna Fali
1040Ivar W SchemmerFrance2026-05-30Commercial Press UNQUALIFIED56Stephen Shaw
1041Rodrigues V ChuiItaly2026-06-20Printing Dimensions NEW93Ioni Bowcher
1042Cody Q ShinkoSpain2026-05-30Truhlar And Truhlar Attys QUALIFIED39Anna Fali
1043Wickens Y PaprockiCanada2026-06-15Buckley Miller Wright NEW18Xuxue Feng
1044Ashley Y StockhamArgentina2026-06-06Rangoni Of Florence QUALIFIED34Anna Fali
1045Clifford R FigeroaSpain2026-06-02Printing Dimensions NEGOTIATION55Stephen Shaw
1046Aika Z PerinItaly2026-05-26Printing Dimensions UNQUALIFIED14Ioni Bowcher
1047Mujtaba U OldroydBrazil2026-06-07Commercial Press PROPOSAL26Anna Fali
1048Aditya M FerenczItaly2026-06-10Benton, John B Jr PROPOSAL14Elwin Sharvill
1049Cody N FigeroaItaly2026-06-08Printing Dimensions NEGOTIATION59Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams P WieserFranceIvan Magalhaes UNQUALIFIED
Jefferson N PoquetteSpainBernardo Dominic QUALIFIED
Faith W WaycottSpainIoni Bowcher RENEWAL
Chavez J MaletAustraliaAnna Fali NEW
James V PoquetteGermanyBernardo Dominic RENEWAL
Arvin U SlusarskiRussiaElwin Sharvill UNQUALIFIED
Misaki U NestleJapanStephen Shaw UNQUALIFIED
Mujtaba X InouyeIndiaAnna Fali RENEWAL
Salvatore B RoysterIndiaOnyama Limba NEW
Misaki C PaprockiJapanBernardo Dominic PROPOSAL
Silvio A VenereAustraliaAnna Fali RENEWAL
Julie G StockhamJapanXuxue Feng NEW
Octavia S OstroskyAustraliaIvan Magalhaes NEGOTIATION
Arvin H MaletSpainAsiya Javayant NEW
Faith T CaudyBrazilAmy Elsner NEGOTIATION
Darci N GarufiBrazilAnna Fali NEGOTIATION
Izzy O MorascaFranceAsiya Javayant RENEWAL
Maisha V MaletAustraliaXuxue Feng QUALIFIED
James S OstroskyCanadaXuxue Feng NEGOTIATION
Kadeem N StensethSpainOnyama Limba NEW
Emily T SlusarskiGermanyBernardo Dominic NEGOTIATION
Faith I RoysterIndiaBernardo Dominic PROPOSAL
Maisha Q OstroskyBrazilIvan Magalhaes NEW
Octavia I OstroskyJapanAmy Elsner NEGOTIATION
Jennifer K SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Cody E NickaUnited KingdomBernardo Dominic UNQUALIFIED
Claire H GillianBrazilAmy Elsner RENEWAL
Antonio A VenereUnited KingdomStephen Shaw PROPOSAL
Sinclair E WieserGermanyAsiya Javayant PROPOSAL
Kadeem W ShinkoSpainIoni Bowcher UNQUALIFIED
Deepesh C BowleyJapanBernardo Dominic RENEWAL
Wickens Z InouyeSpainOnyama Limba QUALIFIED
Deepesh O RutaSpainElwin Sharvill QUALIFIED
Smith N SergiRussiaAmy Elsner QUALIFIED
Ivar N NestleItalyAsiya Javayant RENEWAL
Jeanfrancois L AlbaresFranceAnna Fali PROPOSAL
Francesco W PerinAustraliaStephen Shaw RENEWAL
Nicolas V WaycottBrazilAsiya Javayant RENEWAL
Deepesh S NickaFranceIoni Bowcher QUALIFIED
Kaitlin T BowleyUnited KingdomAsiya Javayant NEW
Faith P OstroskyBrazilXuxue Feng NEW
Ashley R CaldareraJapanOnyama Limba UNQUALIFIED
Murillo V DarakjyJapanAnna Fali UNQUALIFIED
Misaki X PoquetteCanadaIoni Bowcher UNQUALIFIED
Maria B FigeroaAustraliaStephen Shaw NEW
Misaki R CaudyArgentinaBernardo Dominic PROPOSAL
Jeanfrancois I MaletIndiaAnna Fali QUALIFIED
Jeanfrancois C ShinkoCanadaElwin Sharvill NEGOTIATION
Maisha L GarufiFranceAmy Elsner UNQUALIFIED
Arvin T VocelkaGermanyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Chavez J Inouye
Kaitlin F Ruta
Faith V Vocelka
Maisha O Whobrey
Munro H Bowley
Morrow T Morasca
Maria H Bowley
Alejandro Q Iturbide
Antonio P Ruta
Jeanfrancois L Bolognia
Smith B Shinko
Johnson C Caudy
Cody M Inouye
Ashley L Schemmer
Faith K Caldarera
Emily Y Sergi
Silvio V Venere
Clifford D Briddick
Jones H Malet
Jefferson G Caldarera
Emily Y Stockham
Leon N Inouye
Maisha L Kolmetz
Sinclair X Oldroyd
Misaki F Rulapaugh
Murillo N Flosi
Johnson X Nicka
Deepesh U Perin
Maria X Ruta
Adams T Slusarski
David C Poquette
Tony F Briddick
Salvatore K Ruta
Arvin A Malet
Morrow X Dilliard
Morrow L Stenseth
Maisha O Flosi
Mujtaba S Waycott
Claire Z Vocelka
Julie J Amigon
Maria X Gaucho
James E Rulapaugh
Chavez X Iturbide
Mayumi U Marrier
Francesco V Kusko
Greenwood C Albares
Tony R Nestle
Silvio P Malet
Adams K Vocelka
Silvio C Inouye
IdCountryDate
1000Argentina2026-06-11
1001Germany2026-06-12
1002Australia2026-06-08
1003France2026-05-25
1004Japan2026-06-15
1005Germany2026-06-21
1006Germany2026-06-15
1007Canada2026-06-22
1008Russia2026-06-05
1009Germany2026-06-09
1010Spain2026-06-12
1011Brazil2026-06-18
1012Japan2026-05-31
1013Australia2026-05-28
1014Spain2026-06-07
1015Spain2026-06-04
1016Brazil2026-06-07
1017Spain2026-06-01
1018Russia2026-06-01
1019Germany2026-06-15
1020Italy2026-05-27
1021Japan2026-06-15
1022United Kingdom2026-06-04
1023Japan2026-06-01
1024Australia2026-05-27
1025Italy2026-05-30
1026Canada2026-06-19
1027France2026-06-04
1028Australia2026-06-02
1029United Kingdom2026-06-19
1030Russia2026-06-17
1031India2026-06-07
1032Canada2026-06-15
1033Germany2026-06-15
1034United Kingdom2026-06-21
1035United Kingdom2026-05-26
1036India2026-06-03
1037France2026-06-11
1038Argentina2026-05-24
1039Argentina2026-06-12
1040Argentina2026-06-14
1041Brazil2026-05-26
1042Brazil2026-05-28
1043Australia2026-06-01
1044Canada2026-05-29
1045Russia2026-06-19
1046United Kingdom2026-05-29
1047Spain2026-06-08
1048India2026-05-27
1049Germany2026-05-30

On-Demand Data

NameIdCountryDate
David U Albares1000Spain2026-06-13
Francesco G Whobrey1001Australia2026-06-04
Tony H Stockham1002Brazil2026-06-03
Greenwood V Campain1003Brazil2026-06-07
Murillo X Wieser1004Germany2026-06-22
Tony D Flosi1005Spain2026-06-06
David D Caudy1006Brazil2026-06-15
David Z Dilliard1007Germany2026-06-02
Silvio W Caudy1008Spain2026-06-19
Isabel J Albares1009Germany2026-06-09
Ivar E Waycott1010Australia2026-06-22
Leja R Iturbide1011India2026-06-17
Deepesh C Doe1012Russia2026-06-22
Cody B Figeroa1013France2026-06-21
Ricardo U Kusko1014Australia2026-06-14
Clifford F Oldroyd1015United Kingdom2026-05-26
Wickens B Garufi1016Japan2026-06-02
Izzy X Sergi1017France2026-05-30
Aruna P Albares1018India2026-06-16
Alejandro A Amigon1019Germany2026-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson C GlickRussiaIoni Bowcher NEW
Aruna M StockhamUnited KingdomXuxue Feng PROPOSAL
Wickens V FollerCanadaAsiya Javayant NEW
Jeanfrancois U GarufiJapanAnna Fali RENEWAL
Wickens S MaletSpainAnna Fali PROPOSAL
Claire G MorascaUnited KingdomIoni Bowcher NEW
Leja N GlickFranceOnyama Limba QUALIFIED
Darci U WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Cody N RimBrazilOnyama Limba PROPOSAL
Aika M AmigonFranceElwin Sharvill UNQUALIFIED
Ivar D FigeroaRussiaElwin Sharvill PROPOSAL
Isabel M BriddickRussiaElwin Sharvill NEGOTIATION
Jennifer B OldroydJapanAnna Fali NEGOTIATION
Ashley B GlickCanadaOnyama Limba QUALIFIED
Francesco R GauchoIndiaBernardo Dominic RENEWAL
Wickens T FerenczIndiaAmy Elsner NEW
Tony E CaudySpainStephen Shaw UNQUALIFIED
Chavez L ChuiArgentinaStephen Shaw NEW
Ivar T RoysterJapanAnna Fali UNQUALIFIED
Izzy Q MorascaBrazilOnyama Limba UNQUALIFIED
Morrow X IturbideItalyXuxue Feng PROPOSAL
Tony O IturbideRussiaAnna Fali RENEWAL
Jeanfrancois M AlbaresBrazilAnna Fali UNQUALIFIED
Jefferson N ChuiSpainAsiya Javayant PROPOSAL
Silvio V MaletUnited KingdomAsiya Javayant QUALIFIED
Smith T MarrierArgentinaIoni Bowcher NEGOTIATION
Aruna C MacleadJapanAnna Fali QUALIFIED
Adams W StockhamArgentinaAnna Fali NEW
Ashley U MarrierCanadaXuxue Feng NEGOTIATION
Ricardo J DilliardItalyAsiya Javayant RENEWAL
Kadeem R MaletCanadaAmy Elsner NEW
Kadeem D CaldareraSpainElwin Sharvill QUALIFIED
Arvin Z CaldareraGermanyIvan Magalhaes QUALIFIED
Tony O MaletUnited KingdomAmy Elsner RENEWAL
Ivar C KolmetzSpainAnna Fali NEW
Alejandro A RoysterGermanyAmy Elsner PROPOSAL
Maisha X MaletArgentinaAsiya Javayant NEW
Ashley K CampainArgentinaElwin Sharvill PROPOSAL
Aditya W BriddickGermanyElwin Sharvill NEGOTIATION
David X BowleyFranceIvan Magalhaes 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.