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
Ivar P ShinkoItalyAmy Elsner QUALIFIED
Mujtaba X IturbideUnited KingdomStephen Shaw NEGOTIATION
Darci M SergiRussiaXuxue Feng UNQUALIFIED
Tony E StensethGermanyBernardo Dominic RENEWAL
Jefferson K CaldareraFranceAmy Elsner QUALIFIED
Adams M SaylorsRussiaAnna Fali RENEWAL
Stacey W VocelkaFranceAsiya Javayant NEGOTIATION
Antonio N RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Emily A RoysterGermanyXuxue Feng NEGOTIATION
Ivar G MacleadSpainOnyama Limba RENEWAL
Stacey C PaprockiSpainAsiya Javayant RENEWAL
Ashley T NickaUnited KingdomOnyama Limba NEGOTIATION
Ashley F OstroskyBrazilXuxue Feng PROPOSAL
Mayumi S OldroydAustraliaOnyama Limba NEW
David D DarakjyCanadaElwin Sharvill NEGOTIATION
Cody R MaletFranceAnna Fali NEW
Darci D FerenczJapanAmy Elsner PROPOSAL
Antonio V SaylorsCanadaStephen Shaw PROPOSAL
Tony H BologniaGermanyBernardo Dominic UNQUALIFIED
Antonio L CampainFranceIvan Magalhaes RENEWAL
Jones G PoquetteFranceStephen Shaw RENEWAL
Tony Y KuskoArgentinaStephen Shaw RENEWAL
David T DilliardRussiaIvan Magalhaes RENEWAL
Nicolas V SlusarskiRussiaAnna Fali PROPOSAL
Faith V TollnerArgentinaElwin Sharvill RENEWAL
Isabel D AmigonRussiaOnyama Limba NEW
Maria Q RoysterBrazilElwin Sharvill NEGOTIATION
Cody K PerinUnited KingdomAsiya Javayant RENEWAL
Rodrigues E SaylorsItalyBernardo Dominic NEGOTIATION
James M IturbideSpainIoni Bowcher PROPOSAL
Kadeem I RimItalyStephen Shaw NEGOTIATION
Chavez U ShinkoGermanyAnna Fali UNQUALIFIED
Ivar V InouyeGermanyIoni Bowcher NEW
Stacey Z BologniaBrazilElwin Sharvill NEGOTIATION
Costa B OldroydGermanyIvan Magalhaes RENEWAL
Octavia N GarufiAustraliaOnyama Limba QUALIFIED
Deepesh F BowleyUnited KingdomIvan Magalhaes PROPOSAL
Salvatore U RulapaughGermanyIoni Bowcher PROPOSAL
Darci M VocelkaGermanyAmy Elsner PROPOSAL
Antonio C MaletItalyAmy Elsner QUALIFIED
Rodrigues B StockhamRussiaIoni Bowcher NEGOTIATION
Ashley F StockhamItalyAsiya Javayant NEGOTIATION
Emily Y WaycottSpainOnyama Limba PROPOSAL
Jefferson I StockhamBrazilXuxue Feng NEW
Aika V MarrierRussiaIvan Magalhaes NEGOTIATION
Isabel E KuskoRussiaIvan Magalhaes RENEWAL
Tony E MaletUnited KingdomStephen Shaw UNQUALIFIED
Arvin Z DoeJapanAmy Elsner NEGOTIATION
Morrow N CaldareraJapanIvan Magalhaes RENEWAL
Ashley A MaletBrazilStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba I DoeCanadaElwin Sharvill NEW
Sinclair H CaudyIndiaIvan Magalhaes RENEWAL
James N WieserCanadaAsiya Javayant RENEWAL
Cody N SaylorsIndiaIvan Magalhaes QUALIFIED
Kaitlin X FigeroaSpainXuxue Feng QUALIFIED
Mujtaba V TollnerCanadaXuxue Feng NEGOTIATION
Octavia Y PaprockiIndiaAsiya Javayant PROPOSAL
Faith Q DarakjyAustraliaXuxue Feng RENEWAL
Ivar Z NickaGermanyAnna Fali NEW
Jefferson Y FlosiFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow T RutaJapan2026-05-20Feltz Printing Service QUALIFIED24Onyama Limba
1001Silvio L MaletCanada2026-06-01Commercial Press PROPOSAL75Onyama Limba
1002Munro Y BologniaGermany2026-05-25Chanay, Jeffrey A Esq PROPOSAL82Elwin Sharvill
1003Ivar C GauchoBrazil2026-06-08Morlong Associates QUALIFIED40Amy Elsner
1004Nicolas N VocelkaAustralia2026-05-17Chapman, Ross E Esq RENEWAL64Asiya Javayant
1005Silvio B WaycottJapan2026-05-26Chanay, Jeffrey A Esq NEGOTIATION97Ioni Bowcher
1006Nicolas G BologniaBrazil2026-06-07Commercial Press UNQUALIFIED18Xuxue Feng
1007Kadeem S RoysterItaly2026-06-09Chemel, James L Cpa UNQUALIFIED73Amy Elsner
1008Faith F IturbideBrazil2026-05-18Rousseaux, Michael Esq QUALIFIED72Asiya Javayant
1009Jennifer T SergiJapan2026-05-22Chapman, Ross E Esq PROPOSAL14Amy Elsner
1010Rodrigues E DarakjyRussia2026-06-10Chapman, Ross E Esq PROPOSAL29Asiya Javayant
1011Jefferson S CampainItaly2026-05-24Buckley Miller Wright NEGOTIATION88Anna Fali
1012Ashley H StensethIndia2026-05-25Commercial Press NEGOTIATION36Onyama Limba
1013David O TollnerRussia2026-06-04Chanay, Jeffrey A Esq PROPOSAL17Amy Elsner
1014Ashley Q MacleadArgentina2026-06-07Rousseaux, Michael Esq PROPOSAL83Xuxue Feng
1015Mayumi Z FollerFrance2026-05-27Rousseaux, Michael Esq QUALIFIED1Xuxue Feng
1016Arvin U ButtSpain2026-05-19Buckley Miller Wright RENEWAL29Elwin Sharvill
1017Ivar J BologniaArgentina2026-05-26Morlong Associates PROPOSAL38Stephen Shaw
1018Jefferson N IturbideUnited Kingdom2026-05-17Chapman, Ross E Esq QUALIFIED89Anna Fali
1019Nicolas W PoquetteGermany2026-05-18Truhlar And Truhlar Attys QUALIFIED34Stephen Shaw
1020Jones C RimJapan2026-06-10Benton, John B Jr NEW99Ioni Bowcher
1021Salvatore I GarufiGermany2026-06-13Chapman, Ross E Esq NEW92Stephen Shaw
1022Kadeem U WhobreyCanada2026-05-21Dorl, James J Esq NEGOTIATION10Ioni Bowcher
1023Stacey H RutaJapan2026-06-12Chanay, Jeffrey A Esq RENEWAL98Stephen Shaw
1024Faith L TollnerCanada2026-05-24Feltz Printing Service PROPOSAL19Ivan Magalhaes
1025Emily G MaletJapan2026-06-04Chapman, Ross E Esq NEW59Anna Fali
1026Nicolas O BriddickCanada2026-06-04Truhlar And Truhlar Attys NEGOTIATION47Ivan Magalhaes
1027Kaitlin D CaldareraGermany2026-05-16Chapman, Ross E Esq NEW86Onyama Limba
1028Adams X MacleadArgentina2026-05-23Dorl, James J Esq UNQUALIFIED41Asiya Javayant
1029Smith T MorascaUnited Kingdom2026-05-22Rousseaux, Michael Esq PROPOSAL71Asiya Javayant
1030Chavez T AmigonJapan2026-05-16King, Christopher A Esq RENEWAL97Elwin Sharvill
1031Claire V MacleadIndia2026-05-22Benton, John B Jr PROPOSAL74Asiya Javayant
1032Jones Y BologniaCanada2026-05-18Benton, John B Jr PROPOSAL37Elwin Sharvill
1033Ivar C RutaSpain2026-06-10Benton, John B Jr NEW58Stephen Shaw
1034Costa K PerinSpain2026-05-29Chemel, James L Cpa PROPOSAL3Asiya Javayant
1035James G GillianFrance2026-05-23Chapman, Ross E Esq NEGOTIATION70Amy Elsner
1036Ricardo X StensethRussia2026-06-07Rousseaux, Michael Esq UNQUALIFIED29Ioni Bowcher
1037Ricardo H OstroskyCanada2026-05-30Benton, John B Jr NEW89Stephen Shaw
1038Jennifer Z KolmetzIndia2026-05-27Chapman, Ross E Esq PROPOSAL84Ioni Bowcher
1039Jennifer A PaprockiUnited Kingdom2026-06-04Dorl, James J Esq PROPOSAL50Asiya Javayant
1040Mayumi E MaletJapan2026-06-04Morlong Associates NEGOTIATION38Amy Elsner
1041Aika J OstroskyCanada2026-05-27Morlong Associates NEW14Anna Fali
1042Tony K MaletRussia2026-06-13Truhlar And Truhlar Attys QUALIFIED65Ivan Magalhaes
1043Aditya S KolmetzCanada2026-05-17Rousseaux, Michael Esq RENEWAL0Anna Fali
1044Maria Z GauchoIndia2026-05-21Truhlar And Truhlar Attys UNQUALIFIED0Ioni Bowcher
1045Antonio C AmigonGermany2026-06-07Feltz Printing Service NEGOTIATION71Ivan Magalhaes
1046Cody Z ButtRussia2026-06-08Buckley Miller Wright QUALIFIED64Onyama Limba
1047Salvatore B MaletFrance2026-05-30Feiner Bros RENEWAL42Ioni Bowcher
1048Costa W MarrierCanada2026-05-20Feltz Printing Service NEW74Ivan Magalhaes
1049Mujtaba X MaletCanada2026-06-14Chemel, James L Cpa QUALIFIED9Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer B CaudySpainElwin Sharvill NEW
Wickens M SaylorsFranceOnyama Limba NEW
Aditya O WhobreyIndiaBernardo Dominic NEW
Costa L StensethItalyAmy Elsner NEGOTIATION
Costa O TollnerAustraliaAsiya Javayant UNQUALIFIED
Ashley T InouyeRussiaOnyama Limba PROPOSAL
Octavia L IturbideRussiaOnyama Limba QUALIFIED
Ashley K RoysterFranceAsiya Javayant RENEWAL
Alejandro A DarakjyItalyAmy Elsner RENEWAL
Adams Z VocelkaItalyAmy Elsner NEW
Leja C CaldareraFranceElwin Sharvill UNQUALIFIED
Stacey E DilliardRussiaIoni Bowcher UNQUALIFIED
Adams J DilliardItalyElwin Sharvill NEGOTIATION
Clifford Z SchemmerAustraliaIoni Bowcher RENEWAL
Greenwood H KolmetzFranceAmy Elsner PROPOSAL
Jefferson R NestleIndiaIvan Magalhaes PROPOSAL
Sinclair F InouyeRussiaAmy Elsner PROPOSAL
Arvin B WhobreyCanadaBernardo Dominic UNQUALIFIED
Claire C StockhamArgentinaStephen Shaw QUALIFIED
Maria N DoeBrazilElwin Sharvill RENEWAL
Morrow N FlosiBrazilElwin Sharvill RENEWAL
David R SlusarskiArgentinaOnyama Limba RENEWAL
Murillo T BologniaAustraliaAsiya Javayant QUALIFIED
Ashley N PerinBrazilXuxue Feng PROPOSAL
David E InouyeFranceIvan Magalhaes QUALIFIED
Leja R SaylorsItalyAsiya Javayant PROPOSAL
Jones Q FollerGermanyAmy Elsner RENEWAL
Izzy V MaletItalyAnna Fali NEGOTIATION
Johnson X FigeroaBrazilAnna Fali NEGOTIATION
Alejandro Z CaudyRussiaAmy Elsner PROPOSAL
Chavez V WaycottAustraliaAsiya Javayant UNQUALIFIED
Leon P RulapaughAustraliaIoni Bowcher UNQUALIFIED
Ricardo Q WieserArgentinaAnna Fali QUALIFIED
David J MaletJapanElwin Sharvill UNQUALIFIED
Smith K OstroskySpainBernardo Dominic NEGOTIATION
Ricardo P PoquetteSpainStephen Shaw RENEWAL
Isabel P AlbaresRussiaAnna Fali PROPOSAL
Adams A FerenczCanadaStephen Shaw NEGOTIATION
Jones C PaprockiJapanAsiya Javayant UNQUALIFIED
Tony O DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Misaki A OldroydAustraliaXuxue Feng UNQUALIFIED
Salvatore C CaldareraGermanyOnyama Limba PROPOSAL
Leja X RulapaughIndiaIoni Bowcher PROPOSAL
Johnson S SchemmerGermanyOnyama Limba NEW
Emily H StensethUnited KingdomStephen Shaw NEGOTIATION
Francesco N AmigonArgentinaStephen Shaw NEGOTIATION
Emily Y GarufiGermanyAsiya Javayant PROPOSAL
Adams W FerenczAustraliaOnyama Limba NEW
Leon F IturbideCanadaAmy Elsner QUALIFIED
Claire B MaletItalyIoni Bowcher RENEWAL
Frozen Columns
Name
Antonio Y Ostrosky
Aika Q Malet
James F Stockham
Kaitlin O Morasca
Deepesh Q Dilliard
Jennifer V Whobrey
Clifford Z Stenseth
Leon N Rim
Maisha D Garufi
Deepesh W Nicka
Costa J Sergi
Morrow H Perin
Aditya V Wieser
Adams X Rulapaugh
Mujtaba F Saylors
Tony V Ruta
Maisha X Sergi
Aika D Marrier
Maisha G Figeroa
Greenwood X Kolmetz
Rodrigues F Rulapaugh
Ashley K Bowley
Deepesh X Paprocki
Faith P Kusko
Smith W Butt
Juan B Poquette
Morrow G Malet
Izzy E Waycott
Greenwood A Marrier
Rodrigues F Malet
Emily I Ruta
Octavia X Malet
Jones X Nicka
Leon G Bolognia
Mujtaba V Nestle
Julie N Kolmetz
Wickens A Ferencz
Costa K Gaucho
Jefferson J Malet
Mujtaba J Bowley
Ivar E Rim
Morrow B Wieser
Costa G Foller
Ashley W Perin
Leon Q Maclead
Izzy G Whobrey
Octavia U Oldroyd
Ivar P Malet
Jennifer M Paprocki
Jefferson L Saylors
IdCountryDate
1000Argentina2026-06-01
1001Japan2026-05-27
1002France2026-06-05
1003India2026-06-12
1004France2026-05-16
1005Italy2026-06-04
1006Japan2026-06-09
1007Spain2026-06-13
1008Italy2026-06-12
1009Spain2026-05-20
1010Argentina2026-06-02
1011Brazil2026-06-13
1012Spain2026-05-27
1013Italy2026-05-31
1014Australia2026-05-20
1015Germany2026-05-18
1016Russia2026-05-22
1017India2026-06-11
1018Italy2026-05-16
1019France2026-05-28
1020Canada2026-06-06
1021Spain2026-06-11
1022Australia2026-06-14
1023Argentina2026-05-30
1024Germany2026-06-11
1025France2026-05-21
1026Italy2026-06-10
1027France2026-06-08
1028Germany2026-05-21
1029Italy2026-05-31
1030United Kingdom2026-06-05
1031Italy2026-06-04
1032Russia2026-06-13
1033Australia2026-05-29
1034Japan2026-06-01
1035Italy2026-06-07
1036Brazil2026-05-16
1037France2026-06-05
1038France2026-06-06
1039Germany2026-06-04
1040Canada2026-06-01
1041Australia2026-06-07
1042Japan2026-06-02
1043France2026-06-10
1044Argentina2026-06-13
1045Canada2026-05-31
1046India2026-06-11
1047Japan2026-05-19
1048Russia2026-05-16
1049Argentina2026-05-26

On-Demand Data

NameIdCountryDate
Leja J Kusko1000Brazil2026-06-12
Aika M Saylors1001Italy2026-06-11
Faith I Stockham1002Brazil2026-06-06
Aditya O Shinko1003Australia2026-06-01
Arvin B Waycott1004Japan2026-06-09
Juan I Glick1005Australia2026-05-16
Smith T Schemmer1006United Kingdom2026-05-17
Cody R Slusarski1007Germany2026-06-02
Smith K Rim1008France2026-06-09
Adams V Caldarera1009United Kingdom2026-05-17
James R Vocelka1010Russia2026-05-28
Jones V Chui1011Australia2026-06-13
Jennifer J Malet1012India2026-06-12
Adams D Glick1013Spain2026-05-17
Aditya L Darakjy1014Germany2026-05-16
Murillo E Flosi1015Australia2026-06-10
Johnson Q Tollner1016France2026-05-18
James Z Garufi1017Brazil2026-05-29
Silvio D Morasca1018Italy2026-06-01
Leja B Garufi1019United Kingdom2026-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody M GauchoItalyXuxue Feng UNQUALIFIED
Alejandro T TollnerGermanyAnna Fali UNQUALIFIED
Ivar U ShinkoBrazilOnyama Limba RENEWAL
Juan G RimItalyOnyama Limba QUALIFIED
Emily T SchemmerJapanAnna Fali UNQUALIFIED
David M RutaItalyAmy Elsner UNQUALIFIED
Misaki V AlbaresGermanyIvan Magalhaes PROPOSAL
Silvio L OldroydBrazilOnyama Limba RENEWAL
Stacey V FerenczItalyIvan Magalhaes UNQUALIFIED
Kaitlin J MarrierItalyBernardo Dominic UNQUALIFIED
Misaki I KuskoCanadaAmy Elsner NEGOTIATION
Cody A MaletUnited KingdomIoni Bowcher UNQUALIFIED
Costa C SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Stacey A BowleyIndiaElwin Sharvill RENEWAL
Kaitlin E OldroydBrazilElwin Sharvill UNQUALIFIED
Julie O StensethJapanBernardo Dominic PROPOSAL
Morrow S KuskoGermanyAsiya Javayant QUALIFIED
Aruna W RulapaughCanadaIvan Magalhaes QUALIFIED
Morrow S SergiCanadaAsiya Javayant QUALIFIED
Arvin X VenereBrazilAsiya Javayant PROPOSAL
Cody N DilliardItalyXuxue Feng PROPOSAL
Ivar U SchemmerBrazilOnyama Limba NEGOTIATION
Ivar V StensethSpainIvan Magalhaes PROPOSAL
Smith W AlbaresIndiaIoni Bowcher QUALIFIED
Ivar V DoeJapanAnna Fali NEGOTIATION
Ivar L InouyeCanadaStephen Shaw NEGOTIATION
Emily P SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Greenwood S DoeRussiaXuxue Feng NEW
Cody C DarakjyJapanBernardo Dominic QUALIFIED
Stacey Q DilliardUnited KingdomXuxue Feng RENEWAL
Rodrigues F ShinkoSpainStephen Shaw PROPOSAL
Jennifer E SlusarskiBrazilAsiya Javayant NEGOTIATION
Francesco W BowleyRussiaOnyama Limba NEGOTIATION
Deepesh T GauchoArgentinaIvan Magalhaes UNQUALIFIED
Greenwood O DarakjyUnited KingdomIvan Magalhaes NEW
Ivar M CaudyArgentinaXuxue Feng PROPOSAL
Julie A BriddickUnited KingdomElwin Sharvill RENEWAL
Smith S WaycottSpainIoni Bowcher NEW
Rodrigues F DilliardUnited KingdomXuxue Feng QUALIFIED
Rodrigues N PaprockiJapanElwin Sharvill UNQUALIFIED

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