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
Adams D KolmetzAustraliaIoni Bowcher QUALIFIED
Clifford T CaldareraUnited KingdomAnna Fali QUALIFIED
Claire G StensethAustraliaStephen Shaw QUALIFIED
Tony J CampainJapanStephen Shaw NEGOTIATION
Francesco G MacleadFranceIoni Bowcher NEW
Octavia O IturbideGermanyXuxue Feng PROPOSAL
Arvin B MorascaGermanyElwin Sharvill QUALIFIED
Nicolas T VocelkaAustraliaBernardo Dominic NEGOTIATION
Costa A PaprockiRussiaAsiya Javayant RENEWAL
Ivar Z ButtItalyAsiya Javayant RENEWAL
Cody F MaletJapanOnyama Limba NEW
Izzy P StensethJapanAnna Fali UNQUALIFIED
Deepesh O StensethGermanyStephen Shaw RENEWAL
Leon J ButtRussiaAnna Fali NEW
Octavia D SergiIndiaXuxue Feng UNQUALIFIED
Clifford X CampainFranceXuxue Feng RENEWAL
Ashley O KolmetzRussiaAnna Fali RENEWAL
Salvatore W SaylorsIndiaElwin Sharvill PROPOSAL
Wickens G StockhamBrazilIvan Magalhaes RENEWAL
Cody G DoeSpainElwin Sharvill RENEWAL
Cody N PaprockiCanadaAnna Fali QUALIFIED
Munro K MaletRussiaXuxue Feng UNQUALIFIED
Nicolas U AlbaresRussiaAmy Elsner NEGOTIATION
Leja T PerinJapanIvan Magalhaes NEGOTIATION
Rodrigues A NestleIndiaStephen Shaw QUALIFIED
Faith N SchemmerSpainBernardo Dominic NEGOTIATION
David C OldroydRussiaBernardo Dominic PROPOSAL
Salvatore G DoeBrazilAmy Elsner NEW
Arvin F OstroskyBrazilAnna Fali NEGOTIATION
Adams O RoysterUnited KingdomOnyama Limba UNQUALIFIED
Ashley K BologniaGermanyElwin Sharvill UNQUALIFIED
Emily H ChuiArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois J StensethAustraliaIvan Magalhaes UNQUALIFIED
Leon N SergiFranceIoni Bowcher RENEWAL
Kadeem A ShinkoJapanXuxue Feng NEW
Aruna F BriddickAustraliaElwin Sharvill NEW
Munro Z KuskoUnited KingdomOnyama Limba QUALIFIED
Morrow O FlosiUnited KingdomAsiya Javayant RENEWAL
Nicolas K VocelkaRussiaElwin Sharvill UNQUALIFIED
Ashley W KolmetzFranceElwin Sharvill UNQUALIFIED
Misaki M NickaBrazilAnna Fali NEGOTIATION
Murillo L DilliardBrazilAnna Fali NEW
Ivar S OstroskyBrazilAnna Fali NEGOTIATION
Arvin L VenereGermanyAnna Fali PROPOSAL
Sinclair Y NestleBrazilBernardo Dominic UNQUALIFIED
Darci D ButtGermanyAmy Elsner UNQUALIFIED
David A DoeGermanyAsiya Javayant QUALIFIED
Izzy B TollnerUnited KingdomIvan Magalhaes NEW
Smith S FlosiCanadaElwin Sharvill NEGOTIATION
Isabel K PoquetteSpainXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio G RulapaughBrazilOnyama Limba RENEWAL
Kaitlin V InouyeUnited KingdomElwin Sharvill NEGOTIATION
Juan L WhobreyAustraliaAmy Elsner QUALIFIED
Aruna G RimSpainAmy Elsner NEGOTIATION
Jefferson T WhobreySpainIoni Bowcher NEW
Maisha T TollnerIndiaXuxue Feng NEW
Alejandro Q StensethItalyElwin Sharvill UNQUALIFIED
Antonio M NickaUnited KingdomAmy Elsner RENEWAL
Leja J SchemmerGermanyOnyama Limba NEW
Costa D StockhamBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba M CaudyIndia2026-04-10Rousseaux, Michael Esq NEGOTIATION22Ivan Magalhaes
1001Julie V FlosiCanada2026-04-14Rousseaux, Michael Esq NEW8Asiya Javayant
1002Isabel L TollnerBrazil2026-04-22Commercial Press PROPOSAL92Xuxue Feng
1003Arvin A WieserFrance2026-04-16Truhlar And Truhlar Attys RENEWAL73Elwin Sharvill
1004Leja V FerenczBrazil2026-04-13Chemel, James L Cpa UNQUALIFIED65Bernardo Dominic
1005Faith U SaylorsGermany2026-04-29Truhlar And Truhlar Attys PROPOSAL40Asiya Javayant
1006Adams U WhobreyFrance2026-04-12Rousseaux, Michael Esq PROPOSAL40Ivan Magalhaes
1007Mayumi N GillianArgentina2026-04-22Chemel, James L Cpa PROPOSAL22Amy Elsner
1008Jones U GauchoBrazil2026-05-04Feltz Printing Service NEGOTIATION91Elwin Sharvill
1009Aditya A AmigonUnited Kingdom2026-04-11Dorl, James J Esq NEW98Ioni Bowcher
1010Kadeem W WhobreyAustralia2026-04-22Chapman, Ross E Esq NEW93Asiya Javayant
1011Octavia M AlbaresArgentina2026-04-17King, Christopher A Esq RENEWAL23Ivan Magalhaes
1012Jefferson F AlbaresSpain2026-05-03Commercial Press PROPOSAL7Ioni Bowcher
1013Deepesh Q TollnerArgentina2026-04-11Chapman, Ross E Esq PROPOSAL79Stephen Shaw
1014Aika M FigeroaArgentina2026-04-22Buckley Miller Wright QUALIFIED72Stephen Shaw
1015Jennifer P BowleyUnited Kingdom2026-04-09Chemel, James L Cpa PROPOSAL26Ioni Bowcher
1016Ricardo S GarufiBrazil2026-04-29Benton, John B Jr QUALIFIED79Elwin Sharvill
1017Sinclair D OstroskyArgentina2026-04-12Feiner Bros RENEWAL26Amy Elsner
1018Tony U CaudyCanada2026-04-28Chanay, Jeffrey A Esq QUALIFIED98Xuxue Feng
1019Smith X BriddickItaly2026-05-02Feiner Bros RENEWAL13Asiya Javayant
1020Aika Q GarufiBrazil2026-04-27Buckley Miller Wright QUALIFIED56Elwin Sharvill
1021Johnson E MorascaSpain2026-04-15Dorl, James J Esq NEGOTIATION31Xuxue Feng
1022Jones G KuskoFrance2026-05-05Benton, John B Jr PROPOSAL3Ioni Bowcher
1023Jones M RimItaly2026-04-07Dorl, James J Esq RENEWAL95Asiya Javayant
1024Alejandro H DoeSpain2026-04-10Printing Dimensions UNQUALIFIED39Stephen Shaw
1025James X SlusarskiSpain2026-04-15Commercial Press NEW81Stephen Shaw
1026Smith F FerenczUnited Kingdom2026-04-28Chemel, James L Cpa QUALIFIED41Asiya Javayant
1027Mayumi E TollnerAustralia2026-04-14Chanay, Jeffrey A Esq QUALIFIED64Asiya Javayant
1028Morrow S RutaRussia2026-04-09Feiner Bros PROPOSAL18Ioni Bowcher
1029Salvatore O GlickUnited Kingdom2026-04-10Chanay, Jeffrey A Esq PROPOSAL79Amy Elsner
1030Antonio W StockhamUnited Kingdom2026-04-17Printing Dimensions NEGOTIATION7Asiya Javayant
1031Salvatore L WaycottBrazil2026-05-04King, Christopher A Esq PROPOSAL12Xuxue Feng
1032Leon B OstroskySpain2026-04-21Benton, John B Jr UNQUALIFIED4Ivan Magalhaes
1033Stacey Z RimAustralia2026-04-19Commercial Press UNQUALIFIED96Ivan Magalhaes
1034Mujtaba A PaprockiUnited Kingdom2026-04-28Rousseaux, Michael Esq PROPOSAL13Asiya Javayant
1035Wickens D GlickIndia2026-04-25Truhlar And Truhlar Attys NEW1Ioni Bowcher
1036Julie D MaletItaly2026-04-28Buckley Miller Wright RENEWAL6Stephen Shaw
1037Maria O MaletRussia2026-04-24Buckley Miller Wright NEGOTIATION25Xuxue Feng
1038Wickens C SergiSpain2026-04-30Truhlar And Truhlar Attys PROPOSAL11Ioni Bowcher
1039Tony D MacleadFrance2026-04-23Rousseaux, Michael Esq RENEWAL40Stephen Shaw
1040Nicolas U WhobreyCanada2026-05-04Commercial Press UNQUALIFIED34Xuxue Feng
1041Mujtaba I OstroskyCanada2026-04-16Rangoni Of Florence RENEWAL28Elwin Sharvill
1042Mujtaba C SlusarskiJapan2026-05-01Commercial Press PROPOSAL22Stephen Shaw
1043Antonio X OstroskyItaly2026-04-19Feltz Printing Service NEW50Ivan Magalhaes
1044Nicolas T MaletItaly2026-05-03King, Christopher A Esq RENEWAL48Ioni Bowcher
1045Misaki X FerenczRussia2026-05-06Feltz Printing Service UNQUALIFIED36Asiya Javayant
1046Octavia F BriddickIndia2026-04-23Feiner Bros UNQUALIFIED22Elwin Sharvill
1047Tony Y CampainRussia2026-05-01Rangoni Of Florence QUALIFIED93Xuxue Feng
1048Alejandro Z ShinkoUnited Kingdom2026-05-02King, Christopher A Esq NEGOTIATION48Ivan Magalhaes
1049Faith X InouyeAustralia2026-04-16Truhlar And Truhlar Attys QUALIFIED46Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
David G KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Ashley K KuskoIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois S FerenczGermanyAmy Elsner RENEWAL
Mayumi X MacleadUnited KingdomXuxue Feng NEGOTIATION
Alejandro Q BriddickCanadaBernardo Dominic UNQUALIFIED
Francesco A GlickSpainIoni Bowcher NEW
Arvin R BologniaSpainBernardo Dominic NEGOTIATION
Deepesh Z RutaCanadaAsiya Javayant NEW
Chavez P PaprockiBrazilOnyama Limba QUALIFIED
Jeanfrancois O NestleAustraliaIvan Magalhaes UNQUALIFIED
Antonio Y PerinUnited KingdomAsiya Javayant PROPOSAL
Cody M SchemmerSpainAnna Fali NEGOTIATION
Stacey Q RutaBrazilIvan Magalhaes UNQUALIFIED
Darci Q ButtSpainAmy Elsner PROPOSAL
Aruna J NickaGermanyElwin Sharvill RENEWAL
Misaki S MarrierBrazilXuxue Feng PROPOSAL
Aruna Y SlusarskiBrazilAnna Fali NEGOTIATION
Sinclair L BowleyBrazilIvan Magalhaes NEW
Jeanfrancois A BowleyItalyAnna Fali RENEWAL
Aditya Q FerenczArgentinaAnna Fali UNQUALIFIED
Sinclair F SergiSpainIvan Magalhaes PROPOSAL
Jennifer O StensethIndiaOnyama Limba RENEWAL
Salvatore K BologniaBrazilOnyama Limba NEW
Jennifer U SaylorsSpainBernardo Dominic RENEWAL
Ashley L NickaAustraliaIoni Bowcher QUALIFIED
Faith C TollnerAustraliaElwin Sharvill PROPOSAL
Adams M PoquetteCanadaOnyama Limba NEGOTIATION
Rodrigues S PoquetteAustraliaIoni Bowcher QUALIFIED
Jennifer C RulapaughGermanyStephen Shaw PROPOSAL
Aruna I FollerGermanyIvan Magalhaes NEW
Emily H StensethSpainAnna Fali RENEWAL
Murillo R KolmetzGermanyOnyama Limba QUALIFIED
Aditya S TollnerItalyAsiya Javayant RENEWAL
Clifford Q ButtJapanXuxue Feng UNQUALIFIED
Mayumi H BowleyRussiaOnyama Limba UNQUALIFIED
Arvin X KuskoRussiaIvan Magalhaes NEW
Clifford F RutaCanadaOnyama Limba QUALIFIED
Wickens Q SchemmerSpainOnyama Limba PROPOSAL
Juan Y RoysterIndiaIvan Magalhaes PROPOSAL
Adams O WaycottItalyXuxue Feng NEW
Johnson K MacleadGermanyIoni Bowcher PROPOSAL
Ivar F KuskoSpainBernardo Dominic RENEWAL
Claire O OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Costa M SlusarskiIndiaStephen Shaw PROPOSAL
Greenwood A StensethUnited KingdomIvan Magalhaes QUALIFIED
Nicolas E FigeroaArgentinaOnyama Limba PROPOSAL
Leon R RimItalyElwin Sharvill QUALIFIED
Juan G GillianRussiaIoni Bowcher NEGOTIATION
Smith R BologniaArgentinaOnyama Limba RENEWAL
Kaitlin M IturbideFranceIoni Bowcher NEGOTIATION
Frozen Columns
Name
Aika M Marrier
Salvatore W Caldarera
Cody Y Marrier
David R Albares
Jefferson T Maclead
Aditya O Paprocki
Clifford B Garufi
Aika E Inouye
Salvatore F Gillian
Tony R Malet
Stacey Z Wieser
David I Gillian
Cody A Paprocki
Ashley M Saylors
Ivar E Amigon
Rodrigues F Gaucho
Kadeem X Marrier
Tony C Rulapaugh
Chavez H Whobrey
Kaitlin S Tollner
David L Malet
David H Albares
Jennifer Y Foller
Mayumi O Flosi
Francesco D Rulapaugh
Silvio T Inouye
Francesco R Briddick
Julie L Malet
Johnson L Whobrey
Jeanfrancois Y Stenseth
Stacey Q Bolognia
Maisha O Garufi
Johnson Y Foller
Johnson N Kusko
Faith K Rim
Greenwood I Caldarera
Antonio Q Bolognia
Emily R Gillian
Clifford Z Morasca
Tony M Butt
Isabel R Slusarski
Clifford Z Ferencz
Morrow U Bolognia
Faith P Waycott
Stacey C Rulapaugh
Murillo K Schemmer
Kaitlin Y Tollner
Darci Q Shinko
Salvatore Y Malet
Stacey Y Venere
IdCountryDate
1000Italy2026-04-07
1001Germany2026-04-08
1002Australia2026-04-27
1003Spain2026-04-27
1004France2026-04-27
1005Australia2026-04-18
1006India2026-04-23
1007Germany2026-04-14
1008Germany2026-04-17
1009France2026-04-28
1010Brazil2026-04-11
1011France2026-04-17
1012Canada2026-05-01
1013Japan2026-04-07
1014United Kingdom2026-04-10
1015United Kingdom2026-04-21
1016India2026-04-09
1017Japan2026-04-08
1018United Kingdom2026-04-27
1019United Kingdom2026-04-24
1020Australia2026-04-26
1021Argentina2026-04-19
1022Brazil2026-04-19
1023Argentina2026-04-17
1024Germany2026-04-12
1025Japan2026-05-05
1026Russia2026-04-09
1027Italy2026-05-03
1028Japan2026-04-19
1029France2026-05-01
1030Italy2026-04-25
1031Italy2026-04-17
1032Australia2026-04-25
1033Australia2026-04-12
1034India2026-05-03
1035Argentina2026-04-25
1036Russia2026-04-07
1037Canada2026-04-30
1038Russia2026-04-07
1039Canada2026-05-04
1040Australia2026-04-30
1041United Kingdom2026-04-09
1042Germany2026-05-02
1043Italy2026-04-09
1044United Kingdom2026-04-22
1045Italy2026-04-11
1046India2026-04-26
1047Australia2026-05-04
1048Australia2026-04-09
1049Spain2026-04-27

On-Demand Data

NameIdCountryDate
Tony Q Slusarski1000Russia2026-04-08
Kadeem T Nicka1001France2026-05-05
Isabel O Nicka1002Argentina2026-05-02
James F Stockham1003Argentina2026-04-30
James I Nicka1004Germany2026-04-07
Aditya E Nicka1005Brazil2026-05-05
Leja I Wieser1006Argentina2026-04-08
Leon A Rulapaugh1007Russia2026-04-08
Ivar U Stenseth1008India2026-04-25
Murillo S Ruta1009Argentina2026-04-22
Munro D Kolmetz1010Germany2026-04-15
Jefferson B Kolmetz1011Spain2026-04-18
Smith G Stockham1012Argentina2026-05-01
Faith R Schemmer1013Spain2026-04-14
Kaitlin S Maclead1014Argentina2026-04-25
Nicolas W Slusarski1015Japan2026-04-19
Costa O Amigon1016Japan2026-04-15
Salvatore V Stockham1017Spain2026-04-27
Claire V Whobrey1018Russia2026-04-22
Aditya Y Garufi1019France2026-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo W NickaGermanyStephen Shaw NEW
Juan D TollnerIndiaBernardo Dominic UNQUALIFIED
Faith R MaletCanadaIoni Bowcher UNQUALIFIED
Mayumi D DarakjyFranceStephen Shaw QUALIFIED
Francesco A VenereBrazilStephen Shaw UNQUALIFIED
Jeanfrancois U BriddickRussiaElwin Sharvill NEGOTIATION
Adams T DilliardAustraliaIoni Bowcher PROPOSAL
Adams T AlbaresArgentinaAnna Fali NEGOTIATION
Julie W BriddickFranceBernardo Dominic QUALIFIED
Rodrigues P GauchoIndiaAsiya Javayant NEGOTIATION
Mayumi G VocelkaGermanyOnyama Limba NEW
Mayumi C NickaRussiaBernardo Dominic PROPOSAL
Maria D ShinkoUnited KingdomAnna Fali UNQUALIFIED
Maisha E PerinGermanyIvan Magalhaes RENEWAL
David K ChuiRussiaBernardo Dominic RENEWAL
Rodrigues Q ShinkoSpainBernardo Dominic RENEWAL
Antonio K NestleItalyStephen Shaw NEW
Wickens J SaylorsSpainXuxue Feng NEW
Izzy O OldroydJapanOnyama Limba RENEWAL
Smith L FerenczAustraliaElwin Sharvill PROPOSAL
Leon R MacleadIndiaElwin Sharvill RENEWAL
Julie C DarakjyAustraliaIoni Bowcher UNQUALIFIED
Deepesh X PoquetteSpainOnyama Limba PROPOSAL
Leja T VenereIndiaIoni Bowcher NEGOTIATION
Emily O BriddickIndiaAnna Fali QUALIFIED
Deepesh D DoeFranceElwin Sharvill UNQUALIFIED
Mujtaba B OstroskyItalyAsiya Javayant QUALIFIED
Johnson Y PaprockiItalyAsiya Javayant PROPOSAL
Isabel K CaudySpainBernardo Dominic PROPOSAL
Nicolas O StensethFranceStephen Shaw QUALIFIED
Adams K FollerItalyAmy Elsner RENEWAL
Sinclair H InouyeIndiaBernardo Dominic NEW
Misaki E WhobreyItalyOnyama Limba UNQUALIFIED
Leja Q MarrierArgentinaOnyama Limba RENEWAL
Ivar G MorascaIndiaAsiya Javayant PROPOSAL
Murillo T NickaCanadaBernardo Dominic NEGOTIATION
Greenwood N ShinkoAustraliaIvan Magalhaes QUALIFIED
Nicolas Q BriddickArgentinaIvan Magalhaes NEW
Misaki S ChuiUnited KingdomAsiya Javayant RENEWAL
Aditya F GarufiArgentinaBernardo Dominic 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.