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
Kadeem D SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Emily N SchemmerUnited KingdomXuxue Feng PROPOSAL
Deepesh W FigeroaJapanElwin Sharvill PROPOSAL
Jeanfrancois G ShinkoItalyBernardo Dominic UNQUALIFIED
Francesco W AlbaresUnited KingdomOnyama Limba QUALIFIED
Cody G GauchoIndiaAnna Fali NEW
Tony S DoeBrazilOnyama Limba NEGOTIATION
Claire F FlosiCanadaOnyama Limba NEW
Salvatore A PoquetteJapanXuxue Feng PROPOSAL
Ivar G FigeroaArgentinaAsiya Javayant UNQUALIFIED
Mujtaba Y MacleadSpainAnna Fali UNQUALIFIED
Tony J BriddickJapanOnyama Limba UNQUALIFIED
Johnson J PaprockiRussiaOnyama Limba QUALIFIED
Morrow B ButtJapanElwin Sharvill PROPOSAL
Isabel D CampainArgentinaAmy Elsner RENEWAL
Smith R VenereItalyIoni Bowcher NEGOTIATION
Costa B CampainBrazilAsiya Javayant PROPOSAL
Jennifer V StockhamCanadaIvan Magalhaes PROPOSAL
Alejandro D SergiIndiaAmy Elsner RENEWAL
Johnson J ShinkoIndiaAmy Elsner RENEWAL
James B ChuiCanadaBernardo Dominic QUALIFIED
Rodrigues P IturbideItalyStephen Shaw QUALIFIED
Juan J CaudyRussiaStephen Shaw UNQUALIFIED
Salvatore L SergiJapanElwin Sharvill NEGOTIATION
Darci Z TollnerBrazilAsiya Javayant RENEWAL
Costa G SlusarskiAustraliaXuxue Feng PROPOSAL
Costa R NestleItalyAmy Elsner PROPOSAL
Johnson F WaycottSpainAnna Fali UNQUALIFIED
Jeanfrancois O IturbideGermanyElwin Sharvill NEW
Ivar P PaprockiBrazilIvan Magalhaes NEW
Deepesh A ButtGermanyIvan Magalhaes NEGOTIATION
Jefferson T AlbaresRussiaAsiya Javayant QUALIFIED
Mayumi G PoquetteIndiaAnna Fali QUALIFIED
Wickens X OldroydBrazilOnyama Limba UNQUALIFIED
Ivar J WaycottIndiaIoni Bowcher UNQUALIFIED
Stacey W AlbaresAustraliaAmy Elsner NEW
Clifford U FerenczFranceElwin Sharvill UNQUALIFIED
Mujtaba J WieserUnited KingdomAnna Fali QUALIFIED
Aika C BriddickFranceAmy Elsner NEW
Claire B IturbideRussiaElwin Sharvill PROPOSAL
Smith U DilliardBrazilAsiya Javayant UNQUALIFIED
Jeanfrancois R OstroskyUnited KingdomAnna Fali NEGOTIATION
Deepesh K FlosiAustraliaOnyama Limba PROPOSAL
Clifford M PerinRussiaOnyama Limba NEW
Mayumi H AmigonRussiaAmy Elsner RENEWAL
Greenwood L CaudyIndiaOnyama Limba NEGOTIATION
Cody Z CampainCanadaOnyama Limba QUALIFIED
Julie F TollnerSpainIoni Bowcher NEGOTIATION
Aika C PoquetteGermanyElwin Sharvill UNQUALIFIED
Aruna Y ShinkoArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja N RutaJapanElwin Sharvill PROPOSAL
Costa X NickaUnited KingdomStephen Shaw NEW
Deepesh U SchemmerFranceOnyama Limba UNQUALIFIED
Misaki W DarakjyCanadaIoni Bowcher NEGOTIATION
Jefferson O DarakjyIndiaOnyama Limba PROPOSAL
Wickens N CaudyFranceIoni Bowcher QUALIFIED
Kaitlin A TollnerFranceOnyama Limba RENEWAL
Tony B GauchoFranceIvan Magalhaes UNQUALIFIED
Jennifer T NickaBrazilAmy Elsner NEGOTIATION
Cody M BriddickJapanOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire N ButtBrazil2026-05-03Chanay, Jeffrey A Esq PROPOSAL42Elwin Sharvill
1001Costa F SlusarskiBrazil2026-04-30Benton, John B Jr QUALIFIED3Bernardo Dominic
1002Aika D StensethIndia2026-04-23Buckley Miller Wright UNQUALIFIED91Stephen Shaw
1003Clifford Z AmigonJapan2026-05-09Buckley Miller Wright RENEWAL48Onyama Limba
1004Aruna F SergiItaly2026-04-13Rangoni Of Florence QUALIFIED22Xuxue Feng
1005Francesco N GauchoCanada2026-05-08Rangoni Of Florence PROPOSAL64Amy Elsner
1006Francesco P BriddickBrazil2026-04-21Morlong Associates UNQUALIFIED91Asiya Javayant
1007Chavez R StensethBrazil2026-04-15Morlong Associates RENEWAL39Amy Elsner
1008Emily W InouyeRussia2026-04-28Truhlar And Truhlar Attys NEW48Bernardo Dominic
1009Ivar R AmigonGermany2026-05-08Printing Dimensions UNQUALIFIED10Xuxue Feng
1010David N DilliardUnited Kingdom2026-04-30Dorl, James J Esq PROPOSAL81Onyama Limba
1011Wickens G OldroydRussia2026-05-06Commercial Press UNQUALIFIED20Ioni Bowcher
1012Ashley S IturbideAustralia2026-04-11King, Christopher A Esq NEGOTIATION73Ioni Bowcher
1013Sinclair X GlickFrance2026-04-13Benton, John B Jr NEGOTIATION11Asiya Javayant
1014Greenwood B OldroydUnited Kingdom2026-04-14Rousseaux, Michael Esq QUALIFIED58Xuxue Feng
1015Izzy T MarrierUnited Kingdom2026-04-17Chemel, James L Cpa QUALIFIED60Ioni Bowcher
1016Adams T ChuiFrance2026-04-22Feiner Bros QUALIFIED35Elwin Sharvill
1017Juan G GarufiFrance2026-04-18Truhlar And Truhlar Attys RENEWAL61Xuxue Feng
1018Leon R FollerAustralia2026-04-20Commercial Press PROPOSAL55Anna Fali
1019Aruna G GarufiItaly2026-04-25Chemel, James L Cpa UNQUALIFIED28Bernardo Dominic
1020Adams T NickaGermany2026-04-29Truhlar And Truhlar Attys PROPOSAL55Ivan Magalhaes
1021Nicolas X CaudyFrance2026-05-03Dorl, James J Esq NEW66Elwin Sharvill
1022Antonio J BriddickJapan2026-04-30Rangoni Of Florence RENEWAL1Stephen Shaw
1023Leja J DarakjyArgentina2026-04-20Rangoni Of Florence RENEWAL99Ioni Bowcher
1024Aika F KolmetzRussia2026-05-05Benton, John B Jr UNQUALIFIED51Bernardo Dominic
1025Leon T MarrierIndia2026-05-01Chemel, James L Cpa NEW72Asiya Javayant
1026Alejandro Q ChuiCanada2026-04-12Buckley Miller Wright PROPOSAL99Stephen Shaw
1027Cody N InouyeRussia2026-05-08Chemel, James L Cpa NEGOTIATION15Ioni Bowcher
1028Nicolas A InouyeJapan2026-05-10Rousseaux, Michael Esq NEGOTIATION58Stephen Shaw
1029Claire D DoeItaly2026-04-12Morlong Associates NEW43Anna Fali
1030Wickens E DarakjyUnited Kingdom2026-04-13Rangoni Of Florence UNQUALIFIED15Amy Elsner
1031Julie B AlbaresUnited Kingdom2026-04-17Chapman, Ross E Esq RENEWAL61Asiya Javayant
1032Rodrigues A PerinJapan2026-05-04Chapman, Ross E Esq NEGOTIATION97Stephen Shaw
1033Ricardo D OldroydArgentina2026-04-11Rousseaux, Michael Esq RENEWAL5Asiya Javayant
1034Misaki T SchemmerBrazil2026-04-12Feiner Bros UNQUALIFIED22Xuxue Feng
1035Stacey L WhobreyAustralia2026-04-28Buckley Miller Wright RENEWAL39Anna Fali
1036Sinclair K GlickBrazil2026-04-29Rousseaux, Michael Esq NEGOTIATION92Stephen Shaw
1037Nicolas Y ShinkoCanada2026-04-24Buckley Miller Wright RENEWAL58Xuxue Feng
1038Sinclair E RutaFrance2026-04-21King, Christopher A Esq NEW32Bernardo Dominic
1039Stacey E WhobreyFrance2026-05-05Chanay, Jeffrey A Esq NEW27Stephen Shaw
1040Costa U MaletRussia2026-05-03Chapman, Ross E Esq NEW86Amy Elsner
1041Clifford A RulapaughGermany2026-04-17Feiner Bros UNQUALIFIED83Amy Elsner
1042Isabel F CaldareraAustralia2026-04-20Rousseaux, Michael Esq NEGOTIATION76Ivan Magalhaes
1043Faith S WaycottGermany2026-05-02Benton, John B Jr NEGOTIATION50Onyama Limba
1044Ivar H GauchoUnited Kingdom2026-05-01Rangoni Of Florence NEW56Ivan Magalhaes
1045Costa B PoquetteUnited Kingdom2026-04-27Dorl, James J Esq UNQUALIFIED34Ivan Magalhaes
1046Antonio E SlusarskiGermany2026-04-15Commercial Press QUALIFIED7Onyama Limba
1047Francesco G MacleadUnited Kingdom2026-04-27Rousseaux, Michael Esq RENEWAL15Ioni Bowcher
1048Salvatore A StensethCanada2026-04-19Buckley Miller Wright NEW48Stephen Shaw
1049Adams H BowleyGermany2026-04-29Chemel, James L Cpa NEW15Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson E MorascaFranceOnyama Limba UNQUALIFIED
Jennifer P DoeFranceStephen Shaw RENEWAL
Jefferson J WaycottFranceBernardo Dominic PROPOSAL
Ivar V StensethItalyAmy Elsner RENEWAL
Cody C RulapaughGermanyIvan Magalhaes RENEWAL
Johnson L MorascaUnited KingdomStephen Shaw NEGOTIATION
Rodrigues O ShinkoArgentinaOnyama Limba UNQUALIFIED
Ashley T SergiAustraliaIoni Bowcher NEGOTIATION
Aika C GillianGermanyAsiya Javayant PROPOSAL
Deepesh B InouyeGermanyBernardo Dominic RENEWAL
Octavia T MaletArgentinaElwin Sharvill NEW
Alejandro B RoysterFranceAsiya Javayant PROPOSAL
Chavez P FollerRussiaAmy Elsner QUALIFIED
Julie T WaycottSpainOnyama Limba RENEWAL
Tony Q MacleadItalyStephen Shaw RENEWAL
Alejandro F GillianCanadaElwin Sharvill PROPOSAL
Alejandro E MarrierCanadaBernardo Dominic PROPOSAL
Jeanfrancois E KolmetzUnited KingdomAnna Fali RENEWAL
Greenwood C VocelkaArgentinaAsiya Javayant UNQUALIFIED
Leja X DarakjyBrazilAnna Fali NEW
Smith D MarrierAustraliaAnna Fali NEGOTIATION
Leon D BowleyJapanAnna Fali NEGOTIATION
Emily X OldroydArgentinaAmy Elsner UNQUALIFIED
Nicolas E ButtBrazilAnna Fali NEGOTIATION
Antonio G ShinkoBrazilIvan Magalhaes NEW
Murillo I CaudyCanadaAsiya Javayant RENEWAL
Aditya S AlbaresJapanAsiya Javayant NEW
Morrow J SlusarskiFranceAsiya Javayant UNQUALIFIED
Deepesh A ButtUnited KingdomAnna Fali PROPOSAL
Wickens W VocelkaRussiaBernardo Dominic UNQUALIFIED
Leon X WieserItalyAsiya Javayant NEW
Mayumi Y KuskoAustraliaIoni Bowcher QUALIFIED
Munro B MaletRussiaBernardo Dominic UNQUALIFIED
Darci C RulapaughRussiaElwin Sharvill NEW
Smith Z GillianSpainXuxue Feng RENEWAL
Wickens W MarrierUnited KingdomBernardo Dominic QUALIFIED
Morrow Z FlosiSpainElwin Sharvill NEW
Arvin X WaycottArgentinaXuxue Feng PROPOSAL
Cody J StensethAustraliaElwin Sharvill UNQUALIFIED
Mujtaba U MarrierGermanyElwin Sharvill PROPOSAL
Mujtaba L GlickGermanyAsiya Javayant QUALIFIED
Antonio R WhobreyAustraliaStephen Shaw QUALIFIED
Faith X IturbideJapanIvan Magalhaes RENEWAL
Rodrigues S RutaRussiaAmy Elsner UNQUALIFIED
Alejandro A InouyeRussiaOnyama Limba NEW
Misaki O InouyeRussiaBernardo Dominic NEGOTIATION
Kadeem B FlosiGermanyAnna Fali UNQUALIFIED
David O KolmetzIndiaAmy Elsner UNQUALIFIED
Aika B RulapaughBrazilElwin Sharvill RENEWAL
Kaitlin S VenereSpainXuxue Feng QUALIFIED
Frozen Columns
Name
Mujtaba W Garufi
Claire K Inouye
Kadeem N Oldroyd
Misaki C Inouye
Wickens R Bolognia
Maisha J Nestle
Ashley K Iturbide
Rodrigues L Morasca
Arvin G Waycott
Arvin G Flosi
Maisha T Ostrosky
Julie D Schemmer
Cody U Paprocki
Smith K Bowley
Munro F Caudy
Mujtaba H Kolmetz
Ricardo C Gillian
Morrow C Maclead
Stacey I Oldroyd
Claire V Bowley
Leon B Flosi
Arvin N Gaucho
Wickens B Iturbide
Cody Q Vocelka
Darci Y Stenseth
Silvio I Paprocki
Wickens K Stenseth
Alejandro K Foller
Arvin T Saylors
Jefferson T Oldroyd
Jefferson J Figeroa
Kaitlin E Ruta
Kaitlin C Gaucho
Jeanfrancois C Campain
Aditya L Saylors
Nicolas R Ostrosky
Nicolas N Doe
Salvatore F Dilliard
Francesco R Darakjy
Costa D Figeroa
Jennifer G Rim
Jefferson S Caudy
Deepesh I Tollner
David I Oldroyd
Stacey U Inouye
Mujtaba C Caudy
Ivar K Royster
Silvio O Caudy
Faith D Nicka
Cody E Venere
IdCountryDate
1000Russia2026-04-12
1001Argentina2026-05-01
1002France2026-05-04
1003Spain2026-05-07
1004Italy2026-04-17
1005Australia2026-04-21
1006Brazil2026-05-07
1007India2026-04-28
1008Canada2026-04-18
1009France2026-04-29
1010Brazil2026-04-20
1011France2026-04-23
1012United Kingdom2026-04-29
1013France2026-04-18
1014Australia2026-05-10
1015United Kingdom2026-04-26
1016United Kingdom2026-04-26
1017Japan2026-05-08
1018Germany2026-04-11
1019France2026-04-18
1020Italy2026-05-08
1021Germany2026-04-21
1022United Kingdom2026-04-21
1023Australia2026-05-07
1024Russia2026-04-24
1025Canada2026-05-03
1026France2026-05-09
1027Australia2026-05-09
1028Italy2026-05-05
1029United Kingdom2026-04-27
1030Spain2026-05-03
1031Argentina2026-05-07
1032Germany2026-05-01
1033Brazil2026-05-05
1034Germany2026-04-28
1035Japan2026-04-21
1036United Kingdom2026-05-04
1037Italy2026-05-05
1038France2026-05-09
1039Russia2026-04-16
1040India2026-04-15
1041Spain2026-04-14
1042Japan2026-04-24
1043United Kingdom2026-04-15
1044France2026-04-20
1045Brazil2026-04-28
1046Spain2026-04-11
1047Spain2026-04-22
1048Spain2026-04-19
1049Russia2026-04-24

On-Demand Data

NameIdCountryDate
Murillo E Ostrosky1000United Kingdom2026-05-01
Jefferson Q Ruta1001France2026-04-27
Salvatore C Gaucho1002India2026-05-04
Jennifer D Ostrosky1003Germany2026-05-07
Claire B Saylors1004Australia2026-05-10
Kadeem Y Malet1005Brazil2026-04-19
Jennifer U Butt1006Australia2026-04-25
Silvio A Waycott1007Japan2026-04-22
Jeanfrancois Y Darakjy1008Australia2026-04-23
Chavez F Kusko1009Japan2026-05-03
Ivar I Wieser1010Argentina2026-05-03
Wickens Z Rulapaugh1011Germany2026-05-06
Maisha K Amigon1012Germany2026-04-23
Octavia O Ruta1013Argentina2026-04-25
Stacey M Oldroyd1014Italy2026-04-13
Isabel X Paprocki1015France2026-04-24
Tony F Caldarera1016Russia2026-04-28
Deepesh I Kusko1017Germany2026-05-06
Greenwood U Amigon1018Argentina2026-04-24
Kadeem A Gaucho1019France2026-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas N ButtGermanyElwin Sharvill NEGOTIATION
Ricardo W MacleadItalyOnyama Limba UNQUALIFIED
Costa N TollnerAustraliaOnyama Limba NEW
Arvin R GauchoGermanyIoni Bowcher UNQUALIFIED
Wickens F StockhamRussiaIoni Bowcher UNQUALIFIED
Aruna T GillianItalyStephen Shaw RENEWAL
Francesco B FerenczAustraliaStephen Shaw QUALIFIED
Nicolas H BriddickSpainStephen Shaw RENEWAL
Tony W BowleyAustraliaXuxue Feng NEGOTIATION
Jefferson R SaylorsAustraliaIoni Bowcher NEGOTIATION
Clifford E DarakjyUnited KingdomAsiya Javayant NEW
Octavia J FlosiJapanIoni Bowcher RENEWAL
Tony M MaletBrazilBernardo Dominic RENEWAL
Jeanfrancois H AmigonRussiaAmy Elsner UNQUALIFIED
Misaki H DarakjyJapanAnna Fali NEW
Morrow I NestleIndiaBernardo Dominic PROPOSAL
Adams D MaletUnited KingdomAsiya Javayant UNQUALIFIED
Izzy X BowleyAustraliaElwin Sharvill NEW
Murillo N PaprockiIndiaIoni Bowcher RENEWAL
Ivar H WaycottAustraliaOnyama Limba NEW
Jones F VenereUnited KingdomAsiya Javayant QUALIFIED
Tony S NickaSpainStephen Shaw RENEWAL
Smith Y MaletItalyIoni Bowcher NEW
Salvatore C WhobreyRussiaAsiya Javayant QUALIFIED
Ivar O SlusarskiIndiaXuxue Feng RENEWAL
Murillo O WhobreySpainAnna Fali RENEWAL
Morrow I KuskoBrazilIvan Magalhaes PROPOSAL
Misaki U KuskoBrazilOnyama Limba NEGOTIATION
Aruna K GauchoUnited KingdomAsiya Javayant PROPOSAL
Stacey M BowleyGermanyAsiya Javayant NEW
Julie G NestleJapanAsiya Javayant NEW
Aditya U MarrierRussiaAnna Fali NEW
Octavia N VenereAustraliaIvan Magalhaes RENEWAL
Jennifer R FerenczGermanyXuxue Feng NEGOTIATION
Darci F GarufiCanadaElwin Sharvill QUALIFIED
Murillo T RutaAustraliaIoni Bowcher RENEWAL
Jefferson G MorascaCanadaXuxue Feng PROPOSAL
James U NickaBrazilOnyama Limba UNQUALIFIED
Tony W DoeRussiaStephen Shaw NEGOTIATION
Alejandro T IturbideAustraliaXuxue Feng QUALIFIED

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