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
Jones O DarakjySpainAnna Fali UNQUALIFIED
Adams E FollerBrazilBernardo Dominic PROPOSAL
Mujtaba Y ButtAustraliaElwin Sharvill UNQUALIFIED
Ricardo U GarufiAustraliaIoni Bowcher NEGOTIATION
Maria A MacleadItalyStephen Shaw UNQUALIFIED
Chavez Q MaletJapanAmy Elsner NEGOTIATION
Kadeem U SchemmerJapanStephen Shaw QUALIFIED
Julie G IturbideFranceIoni Bowcher RENEWAL
Wickens Y BowleyArgentinaOnyama Limba QUALIFIED
Silvio B OldroydJapanOnyama Limba RENEWAL
Silvio L ShinkoSpainIoni Bowcher RENEWAL
Smith S MaletArgentinaIvan Magalhaes UNQUALIFIED
Kadeem V OldroydItalyIoni Bowcher QUALIFIED
Kadeem M FlosiFranceAnna Fali NEGOTIATION
Chavez K MaletBrazilXuxue Feng RENEWAL
James A ButtGermanyAmy Elsner NEW
Ashley V OldroydBrazilStephen Shaw PROPOSAL
Costa K VenereSpainIoni Bowcher PROPOSAL
Johnson R NickaSpainElwin Sharvill NEGOTIATION
Silvio O RulapaughArgentinaIvan Magalhaes PROPOSAL
Ivar X RoysterGermanyAnna Fali PROPOSAL
Adams G DarakjyUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois Z SergiGermanyAsiya Javayant PROPOSAL
Jefferson T VocelkaBrazilIoni Bowcher QUALIFIED
Ashley Q BologniaUnited KingdomAnna Fali UNQUALIFIED
David Z KolmetzUnited KingdomAmy Elsner RENEWAL
Antonio B GarufiUnited KingdomAmy Elsner PROPOSAL
Darci H PoquetteGermanyBernardo Dominic PROPOSAL
Tony C AlbaresCanadaStephen Shaw PROPOSAL
Cody W ButtSpainOnyama Limba UNQUALIFIED
James R MaletCanadaXuxue Feng UNQUALIFIED
Ashley A PerinBrazilAnna Fali QUALIFIED
Tony Z SaylorsItalyIvan Magalhaes PROPOSAL
Tony D DilliardAustraliaXuxue Feng UNQUALIFIED
Aika B WieserArgentinaAsiya Javayant UNQUALIFIED
Rodrigues X RutaArgentinaAsiya Javayant RENEWAL
David H StockhamGermanyOnyama Limba NEW
Stacey G SlusarskiRussiaStephen Shaw PROPOSAL
Maria L WhobreyArgentinaAmy Elsner UNQUALIFIED
Isabel K WaycottItalyAnna Fali NEGOTIATION
Jeanfrancois I FerenczIndiaStephen Shaw NEW
Aditya M WaycottSpainStephen Shaw NEW
Ricardo A KolmetzSpainOnyama Limba RENEWAL
Leon J MacleadSpainIvan Magalhaes PROPOSAL
Mujtaba H DoeArgentinaStephen Shaw PROPOSAL
Izzy B FigeroaIndiaIoni Bowcher UNQUALIFIED
Morrow S MacleadGermanyIvan Magalhaes NEGOTIATION
Julie S PaprockiGermanyIvan Magalhaes NEGOTIATION
Salvatore B MarrierCanadaAmy Elsner RENEWAL
Maria Q TollnerFranceElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood Z SlusarskiUnited KingdomOnyama Limba NEW
Aditya W GarufiArgentinaStephen Shaw UNQUALIFIED
Alejandro Y ChuiCanadaXuxue Feng UNQUALIFIED
Misaki X GlickJapanIvan Magalhaes UNQUALIFIED
James U OstroskyCanadaOnyama Limba NEGOTIATION
Antonio H GauchoGermanyIoni Bowcher NEGOTIATION
Darci P CaldareraJapanAsiya Javayant UNQUALIFIED
Izzy B PerinIndiaAmy Elsner PROPOSAL
Deepesh J BowleyBrazilIoni Bowcher RENEWAL
Leja X OstroskyAustraliaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood L KolmetzGermany2026-05-22Rousseaux, Michael Esq NEGOTIATION40Stephen Shaw
1001Antonio F MacleadBrazil2026-05-20Chapman, Ross E Esq PROPOSAL84Onyama Limba
1002Ricardo J KolmetzJapan2026-05-18Chemel, James L Cpa NEW85Amy Elsner
1003James C PoquetteItaly2026-05-30Feltz Printing Service QUALIFIED5Amy Elsner
1004Jefferson M AmigonCanada2026-06-09Chapman, Ross E Esq QUALIFIED71Onyama Limba
1005Isabel M SchemmerGermany2026-05-12Rangoni Of Florence RENEWAL36Ioni Bowcher
1006Chavez M FlosiBrazil2026-06-09Chemel, James L Cpa QUALIFIED90Xuxue Feng
1007Julie I GauchoSpain2026-06-02Rangoni Of Florence NEW86Amy Elsner
1008Antonio Y MarrierArgentina2026-06-01Dorl, James J Esq PROPOSAL53Anna Fali
1009Silvio V PaprockiSpain2026-05-16Feltz Printing Service NEW43Ioni Bowcher
1010Kaitlin V OstroskyCanada2026-05-26Truhlar And Truhlar Attys NEW97Bernardo Dominic
1011Costa W BriddickRussia2026-06-07Dorl, James J Esq PROPOSAL18Ivan Magalhaes
1012Mayumi O RutaRussia2026-05-20Buckley Miller Wright PROPOSAL0Ivan Magalhaes
1013Aruna D CampainFrance2026-05-14King, Christopher A Esq NEGOTIATION69Onyama Limba
1014Jones B SaylorsRussia2026-05-13Morlong Associates QUALIFIED34Anna Fali
1015Munro E GlickAustralia2026-05-18Chanay, Jeffrey A Esq NEGOTIATION53Elwin Sharvill
1016Mujtaba E InouyeAustralia2026-05-11Chemel, James L Cpa UNQUALIFIED75Amy Elsner
1017Costa D StensethIndia2026-06-08Dorl, James J Esq QUALIFIED25Ioni Bowcher
1018Ricardo S GauchoArgentina2026-06-03Truhlar And Truhlar Attys RENEWAL34Elwin Sharvill
1019Murillo G RoysterArgentina2026-05-24Dorl, James J Esq PROPOSAL11Ioni Bowcher
1020Kaitlin B MaletAustralia2026-05-14Printing Dimensions NEW19Stephen Shaw
1021Adams A FigeroaCanada2026-05-16Morlong Associates NEW51Onyama Limba
1022Johnson I GillianCanada2026-05-15Printing Dimensions QUALIFIED22Ivan Magalhaes
1023Tony D ChuiFrance2026-05-21Truhlar And Truhlar Attys QUALIFIED17Amy Elsner
1024Aditya F MaletRussia2026-05-18Buckley Miller Wright RENEWAL12Ivan Magalhaes
1025Darci S AmigonSpain2026-06-09Feiner Bros NEGOTIATION41Xuxue Feng
1026Sinclair A SlusarskiJapan2026-05-14Chapman, Ross E Esq RENEWAL69Anna Fali
1027Emily F PerinCanada2026-05-26Rangoni Of Florence QUALIFIED23Onyama Limba
1028Costa Z RoysterUnited Kingdom2026-05-27King, Christopher A Esq UNQUALIFIED45Elwin Sharvill
1029Alejandro Z DarakjyItaly2026-05-22Feiner Bros NEGOTIATION71Bernardo Dominic
1030Greenwood N FlosiCanada2026-05-18Rangoni Of Florence NEW21Anna Fali
1031David E OldroydCanada2026-05-18Rangoni Of Florence RENEWAL99Ivan Magalhaes
1032Ricardo A GlickGermany2026-05-18Feltz Printing Service QUALIFIED39Stephen Shaw
1033Aika B KolmetzGermany2026-05-21Rousseaux, Michael Esq QUALIFIED31Bernardo Dominic
1034Chavez F AmigonSpain2026-05-21Buckley Miller Wright PROPOSAL56Anna Fali
1035Ricardo N BriddickItaly2026-05-29Benton, John B Jr NEW98Ioni Bowcher
1036Darci H StockhamUnited Kingdom2026-05-19Truhlar And Truhlar Attys UNQUALIFIED29Elwin Sharvill
1037Isabel E ChuiRussia2026-06-06Chanay, Jeffrey A Esq RENEWAL6Amy Elsner
1038Antonio N SchemmerAustralia2026-05-18Truhlar And Truhlar Attys UNQUALIFIED57Xuxue Feng
1039Aruna U BologniaFrance2026-06-04Morlong Associates UNQUALIFIED38Ioni Bowcher
1040Ivar H ChuiCanada2026-05-11Benton, John B Jr QUALIFIED84Elwin Sharvill
1041Faith P ShinkoCanada2026-05-13Benton, John B Jr NEGOTIATION4Ioni Bowcher
1042Munro K GarufiGermany2026-05-24Commercial Press UNQUALIFIED80Xuxue Feng
1043Antonio M VocelkaItaly2026-06-04Buckley Miller Wright NEGOTIATION72Xuxue Feng
1044Clifford J SergiIndia2026-05-23Morlong Associates NEW86Anna Fali
1045Johnson N FigeroaItaly2026-05-11Printing Dimensions UNQUALIFIED26Anna Fali
1046Jeanfrancois M FlosiRussia2026-06-07Commercial Press UNQUALIFIED86Onyama Limba
1047Arvin V IturbideArgentina2026-05-14Chanay, Jeffrey A Esq PROPOSAL86Ivan Magalhaes
1048Emily E RutaUnited Kingdom2026-05-14Truhlar And Truhlar Attys QUALIFIED84Bernardo Dominic
1049Jones C IturbideRussia2026-06-08Chemel, James L Cpa UNQUALIFIED77Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja I OstroskyJapanXuxue Feng PROPOSAL
Smith R GarufiFranceAmy Elsner NEGOTIATION
Johnson M OldroydGermanyXuxue Feng UNQUALIFIED
Francesco W RutaArgentinaXuxue Feng PROPOSAL
Emily W SergiCanadaAsiya Javayant UNQUALIFIED
Aruna E DoeIndiaAnna Fali PROPOSAL
Antonio Y BologniaRussiaStephen Shaw UNQUALIFIED
Francesco F MaletSpainAnna Fali PROPOSAL
Antonio U RutaSpainAnna Fali PROPOSAL
Cody J BologniaUnited KingdomIoni Bowcher PROPOSAL
Mayumi G AlbaresFranceIvan Magalhaes NEGOTIATION
Morrow M SergiUnited KingdomIoni Bowcher NEGOTIATION
Wickens J GauchoFranceIvan Magalhaes NEGOTIATION
Cody E NickaIndiaXuxue Feng RENEWAL
Sinclair P ShinkoFranceStephen Shaw UNQUALIFIED
Deepesh D ChuiItalyElwin Sharvill QUALIFIED
Chavez Q GarufiBrazilStephen Shaw UNQUALIFIED
Arvin B RoysterArgentinaBernardo Dominic QUALIFIED
Alejandro V DilliardJapanStephen Shaw NEGOTIATION
Aika K BowleyItalyAnna Fali NEGOTIATION
Jennifer T WaycottGermanyOnyama Limba UNQUALIFIED
Rodrigues H StockhamBrazilIoni Bowcher NEGOTIATION
Clifford K SaylorsBrazilAsiya Javayant UNQUALIFIED
Alejandro J NestleUnited KingdomAmy Elsner NEW
Chavez I MorascaJapanAmy Elsner QUALIFIED
Emily B BologniaIndiaIvan Magalhaes PROPOSAL
Costa M IturbideArgentinaIvan Magalhaes RENEWAL
Claire G MaletBrazilIoni Bowcher UNQUALIFIED
Mayumi W PoquetteIndiaElwin Sharvill UNQUALIFIED
Jefferson F FigeroaJapanBernardo Dominic NEGOTIATION
Munro G DoeArgentinaXuxue Feng RENEWAL
Jeanfrancois E BologniaItalyIoni Bowcher NEGOTIATION
Mujtaba Z NestleRussiaIvan Magalhaes QUALIFIED
Greenwood U CaudyFranceBernardo Dominic UNQUALIFIED
Smith G StockhamAustraliaIvan Magalhaes PROPOSAL
Kadeem P RoysterItalyAsiya Javayant RENEWAL
Johnson Q PerinAustraliaBernardo Dominic NEGOTIATION
Munro L WieserCanadaAsiya Javayant NEGOTIATION
Antonio L PerinItalyIoni Bowcher NEGOTIATION
Alejandro Q MarrierRussiaAmy Elsner NEW
Octavia Y FerenczCanadaXuxue Feng UNQUALIFIED
Antonio S BriddickBrazilElwin Sharvill RENEWAL
Salvatore Y NestleFranceOnyama Limba PROPOSAL
Ricardo P NickaAustraliaElwin Sharvill UNQUALIFIED
Izzy E AmigonFranceIoni Bowcher NEGOTIATION
Mayumi Z PerinBrazilElwin Sharvill QUALIFIED
Jones H GillianSpainOnyama Limba UNQUALIFIED
Jeanfrancois E VenereBrazilStephen Shaw UNQUALIFIED
James D WaycottArgentinaIvan Magalhaes QUALIFIED
Johnson Y KuskoIndiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Salvatore Z Sergi
Ivar E Nicka
Mujtaba J Briddick
Ivar L Gillian
Rodrigues B Briddick
Kaitlin U Gillian
Murillo Z Sergi
Jeanfrancois G Sergi
Darci P Albares
Morrow P Shinko
Antonio P Poquette
Izzy I Saylors
Sinclair V Saylors
Francesco T Rim
James T Figeroa
Emily A Marrier
Costa C Schemmer
Leon R Poquette
Isabel G Foller
Wickens V Oldroyd
Antonio E Paprocki
Maisha P Amigon
Jefferson F Kusko
Isabel M Stockham
Munro T Gaucho
Leon T Briddick
Johnson T Garufi
Antonio O Sergi
Mujtaba E Stenseth
Jennifer F Slusarski
Deepesh J Garufi
Antonio S Shinko
Adams L Nicka
Aditya U Shinko
Chavez I Schemmer
Salvatore K Paprocki
David Y Albares
Darci A Ostrosky
Mayumi U Tollner
Izzy T Foller
Munro E Iturbide
Jeanfrancois Q Albares
Rodrigues C Kusko
Mayumi N Chui
Deepesh V Slusarski
Nicolas L Kusko
Deepesh M Rulapaugh
Juan A Caldarera
Wickens G Figeroa
Chavez N Dilliard
IdCountryDate
1000Italy2026-06-06
1001Japan2026-06-09
1002Spain2026-06-03
1003Canada2026-05-25
1004Italy2026-05-20
1005Russia2026-05-15
1006Germany2026-05-27
1007Brazil2026-05-28
1008France2026-06-06
1009Argentina2026-05-26
1010France2026-06-09
1011Canada2026-05-22
1012Spain2026-05-17
1013Argentina2026-06-08
1014Japan2026-05-18
1015France2026-05-16
1016Canada2026-05-27
1017Japan2026-05-12
1018Germany2026-05-26
1019Canada2026-05-20
1020Australia2026-05-11
1021Brazil2026-06-03
1022Italy2026-06-04
1023Australia2026-06-06
1024Brazil2026-05-28
1025Germany2026-05-24
1026Spain2026-06-06
1027Canada2026-05-31
1028United Kingdom2026-05-25
1029Japan2026-06-02
1030Germany2026-05-14
1031Germany2026-05-31
1032Argentina2026-05-13
1033Italy2026-05-14
1034India2026-05-27
1035Brazil2026-05-19
1036Germany2026-06-01
1037Japan2026-05-27
1038France2026-05-29
1039Brazil2026-05-18
1040Brazil2026-05-12
1041Argentina2026-05-13
1042France2026-05-16
1043United Kingdom2026-05-29
1044Japan2026-06-09
1045United Kingdom2026-05-21
1046United Kingdom2026-05-23
1047Spain2026-06-05
1048Germany2026-05-26
1049France2026-06-02

On-Demand Data

NameIdCountryDate
Misaki Q Gillian1000France2026-05-22
Sinclair H Malet1001Brazil2026-05-13
Leja D Wieser1002Argentina2026-05-25
Stacey A Venere1003Canada2026-05-27
Claire F Foller1004United Kingdom2026-05-14
Silvio V Iturbide1005Australia2026-05-14
Silvio E Slusarski1006United Kingdom2026-06-01
Alejandro O Amigon1007Italy2026-05-13
Isabel V Kolmetz1008Argentina2026-05-26
Clifford Y Darakjy1009Italy2026-05-14
Jefferson H Perin1010Italy2026-06-08
Munro N Gaucho1011Japan2026-05-21
Antonio U Schemmer1012Argentina2026-05-27
Isabel C Inouye1013Japan2026-06-03
Aruna Q Rim1014Germany2026-05-15
Munro Y Whobrey1015Spain2026-05-31
Jennifer J Flosi1016Brazil2026-05-24
Nicolas I Caudy1017Argentina2026-06-06
Francesco L Stenseth1018United Kingdom2026-05-31
James P Bowley1019France2026-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues P GarufiAustraliaIoni Bowcher QUALIFIED
Salvatore R RimBrazilAnna Fali QUALIFIED
Silvio R GauchoRussiaAnna Fali NEGOTIATION
Clifford A KolmetzSpainAmy Elsner NEW
Juan P KuskoGermanyAnna Fali RENEWAL
Faith R GlickGermanyAsiya Javayant RENEWAL
Faith D PaprockiBrazilAmy Elsner RENEWAL
Ricardo R SaylorsCanadaElwin Sharvill NEW
Maria G FollerItalyAnna Fali RENEWAL
Jennifer A DarakjyFranceAsiya Javayant RENEWAL
Clifford E ShinkoBrazilIvan Magalhaes NEGOTIATION
Kadeem R StensethFranceAmy Elsner PROPOSAL
Nicolas K PoquetteBrazilStephen Shaw RENEWAL
Ivar Q ShinkoGermanyXuxue Feng QUALIFIED
Johnson X KolmetzArgentinaIvan Magalhaes RENEWAL
Smith L FerenczAustraliaAsiya Javayant UNQUALIFIED
Julie O GarufiIndiaAsiya Javayant NEGOTIATION
Wickens H WieserRussiaAsiya Javayant UNQUALIFIED
Ashley J CaudyJapanXuxue Feng UNQUALIFIED
David W BowleyItalyAnna Fali RENEWAL
James T FerenczFranceStephen Shaw UNQUALIFIED
Chavez A IturbideAustraliaElwin Sharvill UNQUALIFIED
Tony R KolmetzRussiaElwin Sharvill NEW
David D MacleadBrazilAsiya Javayant UNQUALIFIED
Costa Z MaletBrazilBernardo Dominic UNQUALIFIED
Izzy E DarakjyCanadaOnyama Limba PROPOSAL
Munro S ButtJapanElwin Sharvill NEGOTIATION
Juan B RutaRussiaXuxue Feng UNQUALIFIED
Kaitlin U PoquetteJapanBernardo Dominic NEW
Aditya O VenereCanadaBernardo Dominic RENEWAL
Octavia Y SaylorsItalyElwin Sharvill UNQUALIFIED
Tony Z GauchoItalyAsiya Javayant NEW
Aika R ChuiGermanyAnna Fali RENEWAL
Chavez O RoysterUnited KingdomIoni Bowcher PROPOSAL
Alejandro H RoysterRussiaOnyama Limba RENEWAL
Antonio Z NestleBrazilXuxue Feng NEGOTIATION
Alejandro Z OldroydBrazilIvan Magalhaes RENEWAL
Julie J OstroskyRussiaIoni Bowcher UNQUALIFIED
Morrow K MarrierItalyAmy Elsner NEW
Arvin Q MorascaUnited KingdomAsiya Javayant 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.