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
Jefferson E StockhamItalyIvan Magalhaes UNQUALIFIED
Salvatore T IturbideJapanXuxue Feng NEW
Julie S DoeBrazilAmy Elsner UNQUALIFIED
Clifford M RimUnited KingdomAsiya Javayant NEW
Jennifer J KolmetzAustraliaStephen Shaw QUALIFIED
Kaitlin V WhobreyJapanBernardo Dominic NEGOTIATION
Johnson A InouyeItalyAnna Fali UNQUALIFIED
Adams O IturbideSpainAsiya Javayant PROPOSAL
Mayumi O DilliardGermanyElwin Sharvill RENEWAL
Jones Q MorascaArgentinaAmy Elsner PROPOSAL
Stacey S KolmetzCanadaIoni Bowcher NEGOTIATION
Aruna Y SlusarskiFranceOnyama Limba PROPOSAL
Aika F MorascaAustraliaIvan Magalhaes NEGOTIATION
Julie B TollnerArgentinaAnna Fali PROPOSAL
Leon Z DarakjyArgentinaStephen Shaw UNQUALIFIED
Alejandro B FollerBrazilOnyama Limba UNQUALIFIED
Emily B BriddickItalyIvan Magalhaes UNQUALIFIED
Morrow H BowleyIndiaIoni Bowcher NEW
Kadeem Q FigeroaItalyIvan Magalhaes RENEWAL
Stacey F StockhamUnited KingdomXuxue Feng NEW
Emily O ButtBrazilBernardo Dominic QUALIFIED
Francesco W MorascaGermanyElwin Sharvill QUALIFIED
Isabel E GauchoJapanOnyama Limba NEGOTIATION
Octavia X FigeroaGermanyAnna Fali NEGOTIATION
Emily U PoquetteSpainAmy Elsner NEW
Cody E WaycottIndiaIvan Magalhaes UNQUALIFIED
Costa C DilliardBrazilAsiya Javayant NEW
Deepesh R VocelkaFranceIoni Bowcher QUALIFIED
Mayumi F SergiFranceAmy Elsner QUALIFIED
Maria T MaletCanadaXuxue Feng NEGOTIATION
Greenwood S MacleadCanadaElwin Sharvill UNQUALIFIED
Tony N CaudyGermanyStephen Shaw UNQUALIFIED
Darci L FollerSpainIvan Magalhaes UNQUALIFIED
Tony L GlickCanadaElwin Sharvill QUALIFIED
Deepesh N CaldareraAustraliaOnyama Limba RENEWAL
Rodrigues O StensethUnited KingdomAnna Fali RENEWAL
Darci Q ButtItalyAsiya Javayant PROPOSAL
Johnson M NestleAustraliaBernardo Dominic QUALIFIED
Costa U VenereGermanyAmy Elsner PROPOSAL
Alejandro S CaudyBrazilOnyama Limba RENEWAL
Alejandro L FollerIndiaBernardo Dominic RENEWAL
Maisha C TollnerGermanyXuxue Feng QUALIFIED
Arvin B RoysterFranceStephen Shaw QUALIFIED
Jefferson P SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Antonio M PerinIndiaElwin Sharvill NEGOTIATION
Ashley Q WieserCanadaStephen Shaw NEGOTIATION
Octavia Y RoysterRussiaOnyama Limba QUALIFIED
Jones H SchemmerBrazilAmy Elsner UNQUALIFIED
Izzy Y GarufiFranceStephen Shaw NEGOTIATION
Maisha F FollerCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon Q FigeroaItalyStephen Shaw NEGOTIATION
Murillo T CaudyAustraliaIvan Magalhaes PROPOSAL
Mujtaba L KolmetzAustraliaElwin Sharvill NEGOTIATION
Misaki M RoysterSpainOnyama Limba RENEWAL
Isabel X VenereJapanElwin Sharvill PROPOSAL
Johnson Z WhobreyJapanIvan Magalhaes RENEWAL
Munro U MaletJapanOnyama Limba NEW
Sinclair I FerenczJapanXuxue Feng PROPOSAL
Mayumi N GlickBrazilAsiya Javayant QUALIFIED
Morrow L ChuiBrazilBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh J PerinJapan2026-04-30Printing Dimensions UNQUALIFIED81Asiya Javayant
1001Cody X TollnerRussia2026-05-04Chapman, Ross E Esq NEW96Bernardo Dominic
1002Juan N DoeAustralia2026-05-06Chapman, Ross E Esq UNQUALIFIED15Ioni Bowcher
1003Sinclair S RimItaly2026-05-12Rangoni Of Florence RENEWAL13Asiya Javayant
1004Leon P SergiJapan2026-05-10Truhlar And Truhlar Attys UNQUALIFIED41Ivan Magalhaes
1005Isabel L InouyeItaly2026-05-16Feiner Bros RENEWAL99Stephen Shaw
1006Julie Y DilliardUnited Kingdom2026-05-17Morlong Associates UNQUALIFIED89Ivan Magalhaes
1007Arvin Q TollnerAustralia2026-05-18Rangoni Of Florence QUALIFIED31Bernardo Dominic
1008Maisha N SergiGermany2026-05-13Rangoni Of Florence NEW28Anna Fali
1009Aika J BologniaRussia2026-05-10Chemel, James L Cpa NEW42Stephen Shaw
1010Mujtaba P RulapaughBrazil2026-05-15Commercial Press PROPOSAL71Stephen Shaw
1011Clifford N PoquetteGermany2026-05-09Printing Dimensions RENEWAL56Amy Elsner
1012Maria A SlusarskiSpain2026-05-22Dorl, James J Esq RENEWAL4Onyama Limba
1013David S FollerBrazil2026-04-29Rousseaux, Michael Esq NEGOTIATION39Bernardo Dominic
1014Izzy L SlusarskiGermany2026-05-11Feiner Bros NEGOTIATION41Asiya Javayant
1015Ivar E ShinkoCanada2026-04-28Rangoni Of Florence UNQUALIFIED6Ivan Magalhaes
1016Antonio Z CaudyGermany2026-05-06Feiner Bros PROPOSAL82Ivan Magalhaes
1017Jeanfrancois V PaprockiCanada2026-05-05Benton, John B Jr RENEWAL86Elwin Sharvill
1018Sinclair A FollerSpain2026-05-15Morlong Associates NEW92Anna Fali
1019Smith K RulapaughAustralia2026-05-09Chanay, Jeffrey A Esq UNQUALIFIED74Anna Fali
1020Stacey D DarakjyFrance2026-05-01Buckley Miller Wright PROPOSAL23Anna Fali
1021Octavia D CampainArgentina2026-05-23Printing Dimensions NEGOTIATION34Amy Elsner
1022Jefferson P CampainCanada2026-05-13Chemel, James L Cpa NEW85Xuxue Feng
1023Alejandro W KuskoAustralia2026-05-13Chemel, James L Cpa RENEWAL23Xuxue Feng
1024Darci D WhobreyAustralia2026-05-02Morlong Associates RENEWAL88Asiya Javayant
1025Rodrigues R PerinSpain2026-05-03Benton, John B Jr NEGOTIATION11Xuxue Feng
1026Ashley E NickaFrance2026-05-24Dorl, James J Esq NEW23Ivan Magalhaes
1027Sinclair W RoysterFrance2026-05-27Feltz Printing Service QUALIFIED58Anna Fali
1028Cody A NestleBrazil2026-05-27Feltz Printing Service NEW10Ioni Bowcher
1029Leon Y FlosiSpain2026-05-19Dorl, James J Esq NEW65Ioni Bowcher
1030Aika F WieserJapan2026-05-17Buckley Miller Wright QUALIFIED12Elwin Sharvill
1031Ivar T WaycottAustralia2026-05-23Rangoni Of Florence NEGOTIATION84Ioni Bowcher
1032Darci G FollerIndia2026-05-01Benton, John B Jr QUALIFIED2Bernardo Dominic
1033Cody P WaycottJapan2026-05-16Printing Dimensions QUALIFIED59Onyama Limba
1034Sinclair C RimUnited Kingdom2026-05-04Benton, John B Jr QUALIFIED0Onyama Limba
1035Clifford K WieserItaly2026-05-21Feltz Printing Service NEW26Stephen Shaw
1036Aruna V AmigonIndia2026-04-28Chanay, Jeffrey A Esq NEW68Onyama Limba
1037Deepesh A WaycottJapan2026-05-11Buckley Miller Wright NEGOTIATION66Xuxue Feng
1038Octavia K DarakjyIndia2026-05-16Buckley Miller Wright RENEWAL46Asiya Javayant
1039Octavia T CaldareraBrazil2026-05-11Dorl, James J Esq NEW51Anna Fali
1040Silvio P CaldareraFrance2026-05-03Printing Dimensions NEW81Xuxue Feng
1041Maria R KuskoArgentina2026-05-06Truhlar And Truhlar Attys NEW4Ivan Magalhaes
1042Faith E InouyeArgentina2026-05-21Rangoni Of Florence QUALIFIED7Ivan Magalhaes
1043Arvin W WieserArgentina2026-05-09Feiner Bros NEGOTIATION52Ioni Bowcher
1044Julie F SchemmerJapan2026-05-01Morlong Associates UNQUALIFIED43Ivan Magalhaes
1045Kaitlin P CaldareraIndia2026-05-11Dorl, James J Esq UNQUALIFIED96Onyama Limba
1046Adams P InouyeGermany2026-05-12Chanay, Jeffrey A Esq PROPOSAL5Xuxue Feng
1047Leon L BologniaJapan2026-05-22Feiner Bros PROPOSAL40Onyama Limba
1048Alejandro P GlickSpain2026-05-26Printing Dimensions QUALIFIED75Ivan Magalhaes
1049Salvatore A PaprockiBrazil2026-05-24Truhlar And Truhlar Attys NEW4Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Antonio K RimRussiaAmy Elsner NEW
Octavia G OstroskyArgentinaIoni Bowcher QUALIFIED
Chavez M GauchoAustraliaIvan Magalhaes NEW
Isabel H ChuiBrazilAsiya Javayant NEGOTIATION
Tony G StockhamBrazilXuxue Feng NEGOTIATION
Ricardo G FlosiArgentinaAnna Fali NEGOTIATION
Mayumi F WhobreyItalyAnna Fali QUALIFIED
Smith Q NickaBrazilIvan Magalhaes RENEWAL
James M VenereRussiaAmy Elsner QUALIFIED
Aruna Y DilliardIndiaIoni Bowcher PROPOSAL
Aika V MorascaJapanElwin Sharvill NEW
Johnson Q ChuiJapanOnyama Limba QUALIFIED
Johnson M PerinItalyIvan Magalhaes NEGOTIATION
Antonio Y SergiSpainAsiya Javayant RENEWAL
Mujtaba V DarakjyItalyAmy Elsner QUALIFIED
Octavia B SaylorsCanadaXuxue Feng UNQUALIFIED
Silvio N PaprockiFranceAnna Fali NEGOTIATION
Stacey O SlusarskiGermanyIvan Magalhaes NEGOTIATION
Arvin Z WieserJapanElwin Sharvill QUALIFIED
Ivar M InouyeArgentinaAsiya Javayant NEW
Kaitlin J RoysterFranceElwin Sharvill NEW
Deepesh D TollnerArgentinaOnyama Limba NEGOTIATION
Rodrigues W FlosiItalyAmy Elsner UNQUALIFIED
Silvio N KuskoUnited KingdomOnyama Limba PROPOSAL
Leon B SergiAustraliaOnyama Limba NEW
Ricardo M GillianArgentinaOnyama Limba PROPOSAL
Julie I AmigonItalyBernardo Dominic QUALIFIED
Alejandro G GarufiSpainIvan Magalhaes UNQUALIFIED
Leja E MaletAustraliaAsiya Javayant NEW
Mayumi O RutaGermanyElwin Sharvill NEW
Kaitlin P DarakjySpainOnyama Limba RENEWAL
Rodrigues C TollnerCanadaOnyama Limba RENEWAL
Nicolas F ButtAustraliaIoni Bowcher QUALIFIED
Alejandro R FerenczIndiaBernardo Dominic NEW
Julie O PaprockiItalyAnna Fali NEGOTIATION
Chavez I BowleyIndiaOnyama Limba RENEWAL
Murillo K MarrierArgentinaIvan Magalhaes PROPOSAL
Emily Q AlbaresCanadaOnyama Limba NEGOTIATION
David F MacleadUnited KingdomBernardo Dominic RENEWAL
Mujtaba L FollerBrazilOnyama Limba UNQUALIFIED
Morrow H KolmetzUnited KingdomElwin Sharvill RENEWAL
Alejandro Y VocelkaRussiaElwin Sharvill NEW
Arvin K WieserAustraliaAsiya Javayant UNQUALIFIED
Darci X MaletArgentinaElwin Sharvill QUALIFIED
Costa B FigeroaRussiaIoni Bowcher NEGOTIATION
Aika U BowleyIndiaAnna Fali PROPOSAL
Tony M SaylorsItalyElwin Sharvill PROPOSAL
Jefferson H RutaIndiaBernardo Dominic NEGOTIATION
Jeanfrancois R FerenczBrazilBernardo Dominic QUALIFIED
Arvin P MaletIndiaStephen Shaw NEW
Frozen Columns
Name
Julie D Caldarera
Wickens X Venere
Jefferson E Ruta
Aruna X Wieser
Claire E Gillian
Greenwood R Ruta
Emily A Schemmer
Costa R Chui
David A Figeroa
Emily W Malet
James C Bowley
Octavia G Whobrey
Sinclair H Rim
Cody O Bowley
Julie T Briddick
Munro K Malet
Izzy R Foller
Chavez V Inouye
Alejandro C Paprocki
Deepesh G Tollner
Clifford S Perin
Smith V Briddick
Ricardo X Gillian
David X Briddick
Faith T Inouye
Aditya S Campain
Maria J Foller
Isabel T Garufi
Morrow C Bowley
Silvio A Foller
Sinclair N Garufi
Jones J Briddick
Chavez Z Caudy
James L Stenseth
Aika V Saylors
Juan C Ruta
Jennifer P Perin
Claire L Stenseth
Maisha X Kolmetz
Morrow W Malet
Smith D Sergi
Misaki E Malet
Maria J Gaucho
Cody F Ferencz
Stacey T Royster
Antonio K Bowley
Francesco L Flosi
Wickens Z Amigon
Leja V Ruta
Chavez J Perin
IdCountryDate
1000Japan2026-04-29
1001France2026-05-13
1002Italy2026-05-07
1003Canada2026-05-10
1004Brazil2026-04-29
1005Germany2026-05-25
1006Japan2026-05-11
1007France2026-05-27
1008Spain2026-05-22
1009France2026-04-30
1010Italy2026-05-09
1011Argentina2026-05-18
1012Spain2026-05-04
1013Italy2026-05-07
1014Germany2026-05-27
1015United Kingdom2026-05-02
1016Canada2026-05-16
1017Brazil2026-05-05
1018France2026-05-01
1019Argentina2026-05-17
1020Australia2026-05-05
1021Australia2026-05-15
1022Japan2026-05-05
1023Germany2026-05-24
1024Russia2026-05-12
1025Japan2026-05-26
1026India2026-05-11
1027Canada2026-05-21
1028Brazil2026-05-19
1029Australia2026-05-12
1030Russia2026-05-06
1031Brazil2026-05-14
1032Spain2026-05-27
1033Russia2026-05-10
1034Japan2026-04-28
1035Canada2026-05-22
1036Germany2026-05-11
1037Argentina2026-05-23
1038Argentina2026-05-20
1039Brazil2026-05-27
1040India2026-05-24
1041France2026-05-14
1042France2026-05-15
1043India2026-05-19
1044Germany2026-05-01
1045United Kingdom2026-05-23
1046Russia2026-05-13
1047France2026-05-19
1048Japan2026-05-18
1049Japan2026-05-15

On-Demand Data

NameIdCountryDate
Misaki U Amigon1000Japan2026-05-10
Leon D Poquette1001Italy2026-05-19
Maisha J Campain1002United Kingdom2026-05-02
Octavia L Stenseth1003Australia2026-05-19
Faith B Campain1004Germany2026-05-21
Misaki W Malet1005Canada2026-04-29
Aditya T Royster1006Argentina2026-04-28
Smith Q Amigon1007Russia2026-05-03
Maria V Nestle1008Australia2026-05-17
Alejandro N Briddick1009Japan2026-05-16
Johnson W Ruta1010United Kingdom2026-05-19
Clifford U Sergi1011Russia2026-05-05
Leon N Oldroyd1012Spain2026-05-02
Misaki L Ferencz1013Australia2026-05-02
Aika K Gaucho1014India2026-05-08
Aruna O Stenseth1015Argentina2026-05-26
Jones H Malet1016Japan2026-05-13
Wickens Y Whobrey1017Italy2026-05-18
Jeanfrancois J Inouye1018Spain2026-05-03
Greenwood O Kolmetz1019Argentina2026-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues P MacleadIndiaIvan Magalhaes QUALIFIED
Johnson S GarufiJapanIoni Bowcher QUALIFIED
Ivar I BriddickArgentinaAsiya Javayant RENEWAL
Rodrigues W GillianItalyIvan Magalhaes PROPOSAL
Juan J FerenczArgentinaXuxue Feng NEW
Clifford Q MaletUnited KingdomAsiya Javayant NEW
Smith T PoquetteFranceStephen Shaw PROPOSAL
Leon J MaletCanadaAsiya Javayant PROPOSAL
Greenwood H CampainGermanyXuxue Feng UNQUALIFIED
Salvatore U MacleadAustraliaStephen Shaw NEGOTIATION
Silvio X TollnerArgentinaXuxue Feng NEW
Adams E DoeGermanyIoni Bowcher QUALIFIED
Juan P GillianJapanElwin Sharvill RENEWAL
Morrow Z AlbaresIndiaOnyama Limba NEW
Maisha F KolmetzSpainAmy Elsner QUALIFIED
Octavia Q SchemmerUnited KingdomXuxue Feng PROPOSAL
Jefferson U AlbaresAustraliaXuxue Feng PROPOSAL
Clifford O VenereGermanyIoni Bowcher NEGOTIATION
Leon G TollnerAustraliaIvan Magalhaes UNQUALIFIED
Adams P PoquetteFranceOnyama Limba PROPOSAL
Salvatore S GlickCanadaIoni Bowcher QUALIFIED
Arvin D RimJapanElwin Sharvill PROPOSAL
David O GarufiJapanXuxue Feng PROPOSAL
Rodrigues C MacleadCanadaAsiya Javayant NEW
Morrow Y VenereFranceBernardo Dominic QUALIFIED
Faith S NickaGermanyAnna Fali NEW
Leon T RulapaughArgentinaStephen Shaw PROPOSAL
Stacey Y CampainBrazilAmy Elsner NEGOTIATION
Faith G DilliardGermanyIvan Magalhaes RENEWAL
Jefferson E MarrierBrazilAnna Fali PROPOSAL
Antonio J RimBrazilXuxue Feng NEGOTIATION
Ashley L DoeJapanOnyama Limba PROPOSAL
Nicolas O GauchoBrazilBernardo Dominic PROPOSAL
James E VocelkaGermanyIvan Magalhaes QUALIFIED
Nicolas N InouyeJapanAnna Fali NEGOTIATION
Juan L PerinCanadaXuxue Feng UNQUALIFIED
Greenwood D FigeroaBrazilIvan Magalhaes NEW
Leon Q TollnerRussiaXuxue Feng NEW
Darci Z AmigonArgentinaIoni Bowcher QUALIFIED
Octavia K AmigonItalyElwin Sharvill PROPOSAL

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