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
Aika T NickaGermanyAsiya Javayant UNQUALIFIED
Maria A FerenczGermanyIoni Bowcher PROPOSAL
Rodrigues A SaylorsIndiaStephen Shaw PROPOSAL
Kadeem D TollnerItalyAmy Elsner UNQUALIFIED
Alejandro Z FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Deepesh A SchemmerJapanElwin Sharvill UNQUALIFIED
Juan M NickaAustraliaAnna Fali NEGOTIATION
Adams L MorascaAustraliaAmy Elsner NEW
Salvatore Y StockhamCanadaIvan Magalhaes NEGOTIATION
Juan N BologniaAustraliaElwin Sharvill PROPOSAL
Tony N VenereIndiaAsiya Javayant NEGOTIATION
Jefferson D CaldareraFranceIoni Bowcher NEGOTIATION
Smith G RulapaughSpainAnna Fali UNQUALIFIED
Morrow W WieserIndiaOnyama Limba QUALIFIED
Francesco W CampainItalyStephen Shaw PROPOSAL
Stacey Z SchemmerFranceOnyama Limba RENEWAL
Wickens N StockhamGermanyStephen Shaw NEGOTIATION
Adams R SaylorsArgentinaAsiya Javayant UNQUALIFIED
Cody S SergiItalyElwin Sharvill UNQUALIFIED
Smith U RulapaughJapanElwin Sharvill NEGOTIATION
Julie E SlusarskiArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois X KuskoCanadaXuxue Feng PROPOSAL
Darci X NestleUnited KingdomOnyama Limba UNQUALIFIED
Jones E OldroydSpainAsiya Javayant NEGOTIATION
Faith X InouyeItalyAmy Elsner NEGOTIATION
Faith W PerinBrazilAmy Elsner NEW
Claire L PoquetteJapanStephen Shaw RENEWAL
Clifford T GauchoRussiaOnyama Limba NEW
Arvin C FigeroaSpainXuxue Feng RENEWAL
Murillo D ShinkoGermanyStephen Shaw PROPOSAL
Mujtaba J GillianJapanAsiya Javayant PROPOSAL
Izzy U NickaItalyAsiya Javayant NEGOTIATION
James T BologniaBrazilElwin Sharvill NEGOTIATION
Jones Q PerinRussiaBernardo Dominic UNQUALIFIED
Stacey J GarufiArgentinaAmy Elsner RENEWAL
Clifford Y VenereCanadaXuxue Feng NEGOTIATION
Leon U RutaJapanStephen Shaw NEW
Clifford P TollnerSpainAmy Elsner UNQUALIFIED
Adams J PoquetteArgentinaAnna Fali NEGOTIATION
Chavez Q FigeroaCanadaAnna Fali QUALIFIED
Ivar N GillianAustraliaStephen Shaw NEGOTIATION
Isabel P ButtItalyAsiya Javayant NEW
Jones M GillianSpainXuxue Feng NEGOTIATION
Stacey J AlbaresRussiaAmy Elsner UNQUALIFIED
David T IturbideFranceAsiya Javayant RENEWAL
Darci L VenereFranceIoni Bowcher NEGOTIATION
Claire R VocelkaFranceBernardo Dominic UNQUALIFIED
Claire M MaletItalyOnyama Limba QUALIFIED
Murillo N RimArgentinaIvan Magalhaes QUALIFIED
Aditya Z IturbideSpainStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha R IturbideItalyAnna Fali NEW
Juan V RulapaughBrazilBernardo Dominic NEGOTIATION
Juan O CaudyBrazilElwin Sharvill QUALIFIED
Faith I KolmetzFranceOnyama Limba NEGOTIATION
Rodrigues H DilliardIndiaAmy Elsner NEW
Costa O GillianIndiaIvan Magalhaes NEW
Nicolas E SchemmerAustraliaAmy Elsner UNQUALIFIED
Salvatore H FigeroaJapanXuxue Feng NEW
Leja G CaudyJapanAnna Fali RENEWAL
Stacey W CaudyRussiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones S ButtAustralia2026-05-28Benton, John B Jr QUALIFIED45Bernardo Dominic
1001Leja U MarrierIndia2026-06-05Truhlar And Truhlar Attys RENEWAL10Asiya Javayant
1002Nicolas N KolmetzFrance2026-06-20King, Christopher A Esq RENEWAL90Onyama Limba
1003Johnson I NickaRussia2026-06-25Feltz Printing Service NEGOTIATION34Ivan Magalhaes
1004Arvin E OstroskyJapan2026-06-26Chapman, Ross E Esq UNQUALIFIED62Stephen Shaw
1005Aditya E MaletGermany2026-06-23Feltz Printing Service RENEWAL66Amy Elsner
1006Wickens E GlickGermany2026-06-01Feiner Bros NEGOTIATION4Amy Elsner
1007Leon Q BowleyIndia2026-05-30Rangoni Of Florence NEGOTIATION42Elwin Sharvill
1008Kaitlin B DoeBrazil2026-06-13Feltz Printing Service NEGOTIATION45Anna Fali
1009Isabel C RoysterUnited Kingdom2026-06-25Truhlar And Truhlar Attys PROPOSAL45Anna Fali
1010Ivar Z SchemmerRussia2026-06-05Commercial Press RENEWAL18Amy Elsner
1011Costa M FerenczRussia2026-06-10Truhlar And Truhlar Attys PROPOSAL34Asiya Javayant
1012Silvio G FerenczCanada2026-06-06Feltz Printing Service RENEWAL28Elwin Sharvill
1013Salvatore R MaletArgentina2026-06-15Chemel, James L Cpa QUALIFIED8Onyama Limba
1014Costa C OldroydFrance2026-06-06Rangoni Of Florence QUALIFIED65Stephen Shaw
1015Wickens U GillianArgentina2026-06-23Dorl, James J Esq RENEWAL74Stephen Shaw
1016Alejandro U MaletAustralia2026-06-10King, Christopher A Esq QUALIFIED82Anna Fali
1017Kadeem F StensethFrance2026-06-01Chemel, James L Cpa RENEWAL4Ioni Bowcher
1018Deepesh F StensethGermany2026-06-21Truhlar And Truhlar Attys NEW19Ioni Bowcher
1019Cody R WaycottAustralia2026-06-24Rangoni Of Florence RENEWAL67Xuxue Feng
1020Izzy D RutaItaly2026-05-28Commercial Press UNQUALIFIED13Anna Fali
1021Juan J MorascaFrance2026-06-25Rangoni Of Florence RENEWAL64Anna Fali
1022Jeanfrancois E KuskoUnited Kingdom2026-05-30Chapman, Ross E Esq NEGOTIATION86Amy Elsner
1023Clifford C WieserAustralia2026-06-12Buckley Miller Wright UNQUALIFIED28Anna Fali
1024Wickens L CaudyFrance2026-06-19Chemel, James L Cpa QUALIFIED20Ivan Magalhaes
1025Kaitlin E ButtAustralia2026-06-06Morlong Associates RENEWAL12Xuxue Feng
1026Arvin I SlusarskiArgentina2026-06-05Rousseaux, Michael Esq UNQUALIFIED70Amy Elsner
1027Johnson Z DarakjyFrance2026-05-30Dorl, James J Esq PROPOSAL19Ivan Magalhaes
1028Izzy G PaprockiGermany2026-06-12Benton, John B Jr PROPOSAL86Elwin Sharvill
1029Nicolas S ChuiIndia2026-06-15Benton, John B Jr QUALIFIED43Ivan Magalhaes
1030Murillo X PerinCanada2026-06-06Truhlar And Truhlar Attys PROPOSAL50Asiya Javayant
1031Ashley U OstroskyRussia2026-06-20Benton, John B Jr NEGOTIATION61Onyama Limba
1032Rodrigues V WaycottFrance2026-06-21Feiner Bros RENEWAL96Xuxue Feng
1033Octavia J VocelkaArgentina2026-06-09Rangoni Of Florence UNQUALIFIED90Anna Fali
1034Aika T CaldareraIndia2026-06-02Dorl, James J Esq PROPOSAL4Elwin Sharvill
1035Aika F GlickSpain2026-05-28Chemel, James L Cpa NEW86Bernardo Dominic
1036Johnson T SlusarskiBrazil2026-06-15Rangoni Of Florence QUALIFIED37Bernardo Dominic
1037Jennifer F ButtRussia2026-06-08King, Christopher A Esq QUALIFIED14Ivan Magalhaes
1038Stacey E MorascaUnited Kingdom2026-05-31Truhlar And Truhlar Attys RENEWAL65Anna Fali
1039Costa K FollerCanada2026-05-29Truhlar And Truhlar Attys PROPOSAL65Stephen Shaw
1040Francesco X MaletJapan2026-06-13Morlong Associates QUALIFIED61Anna Fali
1041Maisha V SchemmerFrance2026-05-30Rangoni Of Florence PROPOSAL57Amy Elsner
1042Leon S StensethRussia2026-06-25Buckley Miller Wright NEW98Bernardo Dominic
1043Leon K CaudyJapan2026-06-19Truhlar And Truhlar Attys NEW79Onyama Limba
1044Chavez Y GauchoRussia2026-06-11Chemel, James L Cpa QUALIFIED80Elwin Sharvill
1045Sinclair D WieserCanada2026-06-15Rousseaux, Michael Esq NEW77Xuxue Feng
1046Cody G WhobreyItaly2026-06-13Chapman, Ross E Esq QUALIFIED19Bernardo Dominic
1047Octavia E MarrierIndia2026-06-01Commercial Press NEGOTIATION79Ivan Magalhaes
1048James I NestleGermany2026-06-21Chemel, James L Cpa NEGOTIATION76Elwin Sharvill
1049Rodrigues T FerenczFrance2026-06-26Buckley Miller Wright RENEWAL39Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Francesco S DoeUnited KingdomIoni Bowcher QUALIFIED
Ivar R OldroydFranceIoni Bowcher NEGOTIATION
Silvio X AlbaresArgentinaStephen Shaw NEGOTIATION
Johnson N MorascaIndiaElwin Sharvill NEW
Chavez R RutaJapanOnyama Limba RENEWAL
Costa Z NickaFranceElwin Sharvill RENEWAL
Nicolas L FerenczCanadaElwin Sharvill NEW
Leon V SergiJapanAnna Fali PROPOSAL
Smith B CaudyJapanOnyama Limba NEGOTIATION
Francesco N PaprockiIndiaElwin Sharvill NEGOTIATION
Clifford W BowleyAustraliaAnna Fali NEW
Wickens O GillianAustraliaElwin Sharvill PROPOSAL
Octavia S DoeFranceIvan Magalhaes UNQUALIFIED
Johnson Q MaletArgentinaAnna Fali NEGOTIATION
Mujtaba B CaudyFranceElwin Sharvill UNQUALIFIED
Kaitlin M DilliardSpainIvan Magalhaes QUALIFIED
Morrow I PaprockiCanadaIvan Magalhaes PROPOSAL
Clifford Y SchemmerUnited KingdomXuxue Feng RENEWAL
Jefferson T MacleadItalyAsiya Javayant QUALIFIED
Francesco C IturbideGermanyBernardo Dominic NEW
Chavez K FlosiAustraliaBernardo Dominic NEW
Arvin E RimGermanyStephen Shaw NEGOTIATION
Johnson P KuskoCanadaBernardo Dominic NEGOTIATION
Jones S MarrierCanadaBernardo Dominic UNQUALIFIED
Jefferson T FigeroaSpainXuxue Feng QUALIFIED
Nicolas Q NickaSpainAsiya Javayant UNQUALIFIED
Ricardo E FigeroaIndiaStephen Shaw NEGOTIATION
Adams E KolmetzAustraliaStephen Shaw PROPOSAL
Smith S MaletFranceStephen Shaw UNQUALIFIED
James I CaldareraUnited KingdomIoni Bowcher PROPOSAL
Maisha S AmigonArgentinaXuxue Feng NEGOTIATION
Mujtaba X WhobreyItalyIvan Magalhaes NEW
Ivar Q DarakjyFranceIvan Magalhaes UNQUALIFIED
Darci T DilliardItalyOnyama Limba NEW
Jeanfrancois T WaycottCanadaIoni Bowcher RENEWAL
Ashley W TollnerItalyOnyama Limba NEW
Claire C WaycottBrazilIvan Magalhaes UNQUALIFIED
Mayumi Y GauchoItalyIvan Magalhaes RENEWAL
Maria X CaudyJapanIvan Magalhaes RENEWAL
Alejandro L RutaAustraliaIoni Bowcher PROPOSAL
Wickens N CaudyBrazilOnyama Limba PROPOSAL
Isabel J VocelkaIndiaAsiya Javayant UNQUALIFIED
Leja J CaldareraJapanAsiya Javayant NEGOTIATION
Jennifer O ShinkoBrazilAsiya Javayant UNQUALIFIED
Julie N SchemmerRussiaAnna Fali NEW
Tony Y PerinUnited KingdomElwin Sharvill UNQUALIFIED
Maria F WaycottUnited KingdomStephen Shaw PROPOSAL
Jefferson T CaudyBrazilIvan Magalhaes RENEWAL
Jones G ButtUnited KingdomIvan Magalhaes RENEWAL
Stacey Z GlickItalyAnna Fali RENEWAL
Frozen Columns
Name
Jennifer H Chui
Jeanfrancois V Malet
Jones Q Figeroa
Clifford H Foller
Mujtaba W Venere
Julie L Inouye
Emily F Malet
Mujtaba G Ruta
Costa Y Dilliard
Kadeem X Nicka
Kaitlin Y Gillian
Misaki Q Wieser
Nicolas Q Malet
Ashley H Bolognia
Leja W Perin
Greenwood R Saylors
Costa A Gaucho
Johnson P Perin
Jones I Gaucho
Kaitlin C Dilliard
Jeanfrancois U Briddick
Alejandro G Chui
Aruna S Nicka
Ivar S Tollner
Arvin A Maclead
Maisha Z Nicka
Aika F Marrier
Aditya H Garufi
Sinclair Q Darakjy
Juan Z Malet
Kadeem E Rim
Maisha I Caudy
Claire A Caldarera
Juan R Nestle
Maria L Gaucho
Octavia X Darakjy
Juan F Marrier
Jefferson L Schemmer
James R Vocelka
Emily F Venere
Cody E Nicka
Ashley W Glick
Ashley W Darakjy
Clifford N Amigon
Jennifer W Malet
Ricardo N Stockham
Ricardo V Waycott
Smith G Kusko
Maisha C Bolognia
Johnson O Venere
IdCountryDate
1000India2026-06-17
1001Canada2026-06-07
1002India2026-06-07
1003France2026-06-14
1004Australia2026-06-11
1005Australia2026-06-07
1006Canada2026-06-03
1007France2026-06-10
1008Germany2026-06-05
1009Spain2026-06-08
1010Russia2026-06-21
1011Australia2026-06-21
1012Spain2026-06-22
1013Brazil2026-06-08
1014Argentina2026-06-01
1015India2026-06-06
1016Canada2026-06-15
1017Japan2026-06-14
1018United Kingdom2026-06-26
1019Italy2026-06-17
1020Canada2026-06-09
1021France2026-06-15
1022Italy2026-06-07
1023Russia2026-06-24
1024Spain2026-05-29
1025Italy2026-06-19
1026Germany2026-06-19
1027Italy2026-06-03
1028Germany2026-06-22
1029Germany2026-05-29
1030Germany2026-06-16
1031Japan2026-06-23
1032Italy2026-06-22
1033Argentina2026-05-31
1034Canada2026-06-22
1035Japan2026-06-13
1036Spain2026-05-31
1037France2026-06-04
1038Spain2026-05-30
1039Australia2026-06-02
1040Argentina2026-06-14
1041India2026-06-05
1042United Kingdom2026-06-13
1043Argentina2026-06-04
1044Australia2026-06-13
1045Spain2026-06-24
1046Brazil2026-06-15
1047Japan2026-06-19
1048India2026-06-02
1049Argentina2026-05-29

On-Demand Data

NameIdCountryDate
Aika J Rulapaugh1000Italy2026-06-10
Julie F Rulapaugh1001Canada2026-06-25
Julie F Wieser1002Italy2026-06-25
Wickens I Rulapaugh1003Argentina2026-06-07
Faith D Venere1004Argentina2026-05-28
Salvatore U Waycott1005Italy2026-06-06
Arvin D Slusarski1006Japan2026-06-04
Maria C Saylors1007France2026-06-05
Jennifer X Slusarski1008France2026-06-20
Ivar E Amigon1009Argentina2026-06-18
James S Garufi1010Australia2026-06-17
Adams D Bowley1011Australia2026-06-16
Silvio F Maclead1012Japan2026-06-19
Misaki S Bolognia1013Canada2026-06-21
Darci N Ostrosky1014Germany2026-06-13
Aika K Saylors1015Germany2026-06-14
Kaitlin I Rulapaugh1016Australia2026-06-20
Jeanfrancois X Nicka1017India2026-06-01
Chavez D Rim1018Germany2026-06-02
Arvin N Campain1019Spain2026-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey B RutaAustraliaBernardo Dominic NEW
Smith W FollerUnited KingdomAmy Elsner NEW
Antonio N MorascaBrazilOnyama Limba RENEWAL
Jennifer X ButtSpainXuxue Feng NEW
Mayumi A RimGermanyOnyama Limba RENEWAL
Chavez Y DilliardCanadaIvan Magalhaes UNQUALIFIED
Leja Q DilliardArgentinaIoni Bowcher PROPOSAL
Kaitlin M SergiGermanyIvan Magalhaes QUALIFIED
Salvatore L SergiGermanyElwin Sharvill NEW
David D AmigonFranceXuxue Feng QUALIFIED
Mujtaba Q CampainIndiaOnyama Limba NEGOTIATION
Claire Z DoeGermanyXuxue Feng UNQUALIFIED
Juan C NestleRussiaAnna Fali RENEWAL
Izzy T SlusarskiBrazilAmy Elsner UNQUALIFIED
Munro R FlosiGermanyAsiya Javayant NEGOTIATION
Antonio Z RimItalyIvan Magalhaes NEW
Sinclair D BologniaCanadaIoni Bowcher NEGOTIATION
Francesco P VenereRussiaIoni Bowcher QUALIFIED
Morrow W SlusarskiBrazilAmy Elsner RENEWAL
Jennifer O ChuiAustraliaOnyama Limba NEW
Chavez F WieserCanadaAsiya Javayant NEGOTIATION
Juan F MorascaFranceAmy Elsner NEGOTIATION
Tony W FollerItalyAmy Elsner UNQUALIFIED
Costa R StensethSpainIoni Bowcher RENEWAL
Aruna N AmigonRussiaAsiya Javayant NEGOTIATION
Aika S FlosiFranceAsiya Javayant NEW
Adams Z NestleSpainElwin Sharvill UNQUALIFIED
Stacey W GlickGermanyAsiya Javayant NEW
Leon V MorascaUnited KingdomElwin Sharvill PROPOSAL
Salvatore F GillianBrazilXuxue Feng PROPOSAL
Alejandro B NickaSpainXuxue Feng PROPOSAL
Deepesh T NestleBrazilIoni Bowcher UNQUALIFIED
Chavez E GlickSpainIvan Magalhaes RENEWAL
Ricardo X StockhamAustraliaStephen Shaw NEW
Tony X PoquetteArgentinaOnyama Limba NEW
Chavez K SergiRussiaOnyama Limba UNQUALIFIED
Kaitlin S DoeIndiaBernardo Dominic UNQUALIFIED
Munro O StensethFranceElwin Sharvill NEGOTIATION
Leja Y KolmetzAustraliaIoni Bowcher PROPOSAL
Maisha K StockhamBrazilAnna Fali RENEWAL

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