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
Maisha S WieserItalyBernardo Dominic PROPOSAL
Emily C OstroskyCanadaStephen Shaw UNQUALIFIED
Leja K DoeCanadaAmy Elsner QUALIFIED
David V WhobreyIndiaXuxue Feng UNQUALIFIED
James X IturbideSpainAmy Elsner RENEWAL
Maria J GarufiUnited KingdomIoni Bowcher NEGOTIATION
Chavez X FollerCanadaAmy Elsner NEW
Jennifer I IturbideUnited KingdomIoni Bowcher NEW
Maisha B VenereAustraliaIvan Magalhaes NEGOTIATION
Salvatore V SchemmerJapanElwin Sharvill NEW
Aika W StockhamUnited KingdomAmy Elsner NEW
Clifford Y PerinFranceAsiya Javayant NEW
Costa G SergiCanadaStephen Shaw UNQUALIFIED
Aruna L OstroskyArgentinaAsiya Javayant UNQUALIFIED
Maria Q KuskoUnited KingdomIvan Magalhaes RENEWAL
Adams V DoeIndiaAsiya Javayant NEW
Claire J BologniaAustraliaXuxue Feng NEGOTIATION
Deepesh O RoysterRussiaAsiya Javayant NEW
Arvin A SlusarskiArgentinaOnyama Limba QUALIFIED
Jeanfrancois Q KuskoJapanBernardo Dominic QUALIFIED
Nicolas Z BologniaBrazilIoni Bowcher NEW
Ivar X SergiItalyElwin Sharvill NEW
Mujtaba E ButtRussiaIvan Magalhaes UNQUALIFIED
Smith K ShinkoBrazilBernardo Dominic UNQUALIFIED
Julie T SergiFranceAnna Fali QUALIFIED
Octavia K StockhamFranceOnyama Limba RENEWAL
Cody N ButtSpainXuxue Feng QUALIFIED
Greenwood K VocelkaAustraliaStephen Shaw QUALIFIED
Leon J AlbaresCanadaStephen Shaw UNQUALIFIED
James T MacleadRussiaBernardo Dominic NEGOTIATION
Aruna K TollnerBrazilOnyama Limba RENEWAL
Izzy D MaletUnited KingdomOnyama Limba QUALIFIED
Faith V BriddickBrazilOnyama Limba QUALIFIED
Sinclair K GillianBrazilStephen Shaw NEGOTIATION
Leja L MaletAustraliaBernardo Dominic PROPOSAL
Jefferson A BriddickBrazilStephen Shaw QUALIFIED
David S PerinAustraliaAnna Fali NEW
Ashley W CaldareraIndiaAnna Fali NEGOTIATION
Nicolas I NestleIndiaAnna Fali PROPOSAL
Deepesh H RutaJapanElwin Sharvill UNQUALIFIED
Cody I MaletFranceStephen Shaw NEW
Clifford I MorascaBrazilIvan Magalhaes PROPOSAL
Johnson W MaletRussiaBernardo Dominic QUALIFIED
Faith B BologniaUnited KingdomIvan Magalhaes RENEWAL
Munro A AlbaresJapanOnyama Limba UNQUALIFIED
Chavez V ChuiGermanyIvan Magalhaes NEGOTIATION
Johnson P FlosiGermanyAsiya Javayant NEGOTIATION
Adams G PerinUnited KingdomElwin Sharvill UNQUALIFIED
Arvin J FerenczFranceXuxue Feng QUALIFIED
Cody N GauchoSpainElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Leon X FerenczRussiaAnna Fali QUALIFIED
David T WhobreyJapanElwin Sharvill UNQUALIFIED
Tony C MacleadFranceOnyama Limba PROPOSAL
Julie I CaldareraSpainXuxue Feng UNQUALIFIED
Octavia R VenereJapanAnna Fali UNQUALIFIED
Smith M StockhamSpainStephen Shaw PROPOSAL
Jennifer A FerenczGermanyOnyama Limba PROPOSAL
Clifford R SaylorsArgentinaAnna Fali UNQUALIFIED
Rodrigues H RimIndiaIvan Magalhaes QUALIFIED
Chavez F SaylorsIndiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Y AmigonUnited Kingdom2026-05-28Rangoni Of Florence PROPOSAL41Onyama Limba
1001Cody B FollerAustralia2026-05-29King, Christopher A Esq QUALIFIED57Bernardo Dominic
1002Claire L PoquetteBrazil2026-06-01Feiner Bros PROPOSAL74Ioni Bowcher
1003Francesco W CaudyAustralia2026-05-24Chapman, Ross E Esq NEW50Amy Elsner
1004Claire O NickaUnited Kingdom2026-06-18Morlong Associates NEGOTIATION28Onyama Limba
1005Cody V GlickUnited Kingdom2026-05-31King, Christopher A Esq RENEWAL30Xuxue Feng
1006Deepesh Q RoysterBrazil2026-06-21Truhlar And Truhlar Attys RENEWAL86Stephen Shaw
1007Antonio B DilliardJapan2026-06-20Dorl, James J Esq QUALIFIED43Xuxue Feng
1008Darci J GlickFrance2026-06-01Chanay, Jeffrey A Esq QUALIFIED22Anna Fali
1009Mayumi L SaylorsCanada2026-05-28Chemel, James L Cpa UNQUALIFIED48Anna Fali
1010Juan X RoysterCanada2026-06-08Printing Dimensions PROPOSAL16Xuxue Feng
1011Kadeem O FerenczFrance2026-06-02Truhlar And Truhlar Attys QUALIFIED66Elwin Sharvill
1012Smith I BowleyCanada2026-06-06Morlong Associates NEW30Onyama Limba
1013Antonio X VenereRussia2026-05-30Chanay, Jeffrey A Esq NEW0Xuxue Feng
1014Izzy M MaletSpain2026-05-25King, Christopher A Esq PROPOSAL42Stephen Shaw
1015Cody R StensethItaly2026-06-02Benton, John B Jr PROPOSAL59Xuxue Feng
1016Stacey G WhobreyCanada2026-05-26Rousseaux, Michael Esq NEW74Onyama Limba
1017Leja V VenereAustralia2026-06-09King, Christopher A Esq QUALIFIED62Asiya Javayant
1018Ivar P MacleadItaly2026-05-27King, Christopher A Esq PROPOSAL87Elwin Sharvill
1019Greenwood N NickaCanada2026-06-21Benton, John B Jr RENEWAL95Amy Elsner
1020Stacey Y ButtJapan2026-06-03Feltz Printing Service RENEWAL98Onyama Limba
1021Rodrigues W GlickRussia2026-06-11Rangoni Of Florence RENEWAL81Elwin Sharvill
1022Izzy C IturbideJapan2026-06-20Feiner Bros UNQUALIFIED9Ioni Bowcher
1023Julie J PerinCanada2026-05-31Feiner Bros NEW51Stephen Shaw
1024Jeanfrancois D MacleadArgentina2026-06-20King, Christopher A Esq RENEWAL24Asiya Javayant
1025Izzy S MaletFrance2026-06-13Chapman, Ross E Esq UNQUALIFIED66Elwin Sharvill
1026Stacey M BologniaBrazil2026-06-02Benton, John B Jr RENEWAL63Elwin Sharvill
1027Aditya C StensethArgentina2026-05-31Chemel, James L Cpa UNQUALIFIED99Amy Elsner
1028Faith H RoysterFrance2026-06-09King, Christopher A Esq UNQUALIFIED58Asiya Javayant
1029Rodrigues K WieserFrance2026-06-12Truhlar And Truhlar Attys RENEWAL39Onyama Limba
1030Octavia B GlickUnited Kingdom2026-06-11Morlong Associates UNQUALIFIED53Asiya Javayant
1031Chavez T MaletCanada2026-06-09Feltz Printing Service UNQUALIFIED2Onyama Limba
1032David O TollnerIndia2026-05-29Commercial Press NEW32Xuxue Feng
1033Faith F MarrierArgentina2026-05-28Chanay, Jeffrey A Esq PROPOSAL24Xuxue Feng
1034David N VocelkaBrazil2026-06-16Feiner Bros QUALIFIED52Onyama Limba
1035Salvatore C PaprockiCanada2026-06-11Rangoni Of Florence UNQUALIFIED66Ivan Magalhaes
1036Ivar M VocelkaRussia2026-06-20Rangoni Of Florence NEGOTIATION1Xuxue Feng
1037Jefferson F WieserIndia2026-06-14Rangoni Of Florence NEW50Xuxue Feng
1038Leon J NestleCanada2026-06-11Printing Dimensions RENEWAL15Bernardo Dominic
1039Kaitlin M AmigonSpain2026-06-06Benton, John B Jr UNQUALIFIED44Ivan Magalhaes
1040Emily R BowleyCanada2026-06-08Truhlar And Truhlar Attys UNQUALIFIED46Xuxue Feng
1041Aika L RoysterUnited Kingdom2026-06-10Rousseaux, Michael Esq NEGOTIATION89Ioni Bowcher
1042Darci V MaletIndia2026-06-02Chemel, James L Cpa RENEWAL37Asiya Javayant
1043Misaki C TollnerFrance2026-05-25Feiner Bros QUALIFIED78Anna Fali
1044Aditya V GillianJapan2026-06-07Buckley Miller Wright RENEWAL24Ivan Magalhaes
1045Octavia A OldroydUnited Kingdom2026-06-07Truhlar And Truhlar Attys UNQUALIFIED47Bernardo Dominic
1046Jeanfrancois A SlusarskiFrance2026-06-11King, Christopher A Esq QUALIFIED94Amy Elsner
1047Munro I VenereRussia2026-06-06Chanay, Jeffrey A Esq NEGOTIATION0Ioni Bowcher
1048Misaki M WieserArgentina2026-06-18Rangoni Of Florence UNQUALIFIED72Ioni Bowcher
1049Ashley B ShinkoIndia2026-05-28Chanay, Jeffrey A Esq PROPOSAL84Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
David E SlusarskiGermanyIoni Bowcher NEGOTIATION
Adams E VocelkaAustraliaStephen Shaw RENEWAL
Jennifer Y IturbideItalyBernardo Dominic NEW
Jennifer D ShinkoAustraliaIoni Bowcher RENEWAL
David L TollnerSpainIoni Bowcher QUALIFIED
James S TollnerCanadaAnna Fali PROPOSAL
Jennifer N AmigonSpainElwin Sharvill PROPOSAL
Jones P FollerArgentinaIoni Bowcher RENEWAL
Mayumi C WhobreyGermanyElwin Sharvill QUALIFIED
Murillo H GarufiRussiaStephen Shaw QUALIFIED
Kaitlin D DarakjyIndiaAmy Elsner RENEWAL
Aika Y CaudyBrazilStephen Shaw NEGOTIATION
Kaitlin W MarrierAustraliaIvan Magalhaes PROPOSAL
Leja V MacleadBrazilIvan Magalhaes QUALIFIED
Mujtaba I OstroskySpainAsiya Javayant NEW
Wickens M BowleyCanadaOnyama Limba QUALIFIED
Chavez I StockhamRussiaElwin Sharvill QUALIFIED
Stacey R PoquetteRussiaBernardo Dominic NEW
Juan B GarufiIndiaIvan Magalhaes QUALIFIED
Sinclair I SergiFranceAmy Elsner QUALIFIED
Octavia U ButtSpainStephen Shaw QUALIFIED
Octavia A NickaFranceIoni Bowcher RENEWAL
Maria R DilliardArgentinaStephen Shaw UNQUALIFIED
Munro W VocelkaIndiaOnyama Limba QUALIFIED
Aditya G FerenczCanadaStephen Shaw NEW
Arvin L RimRussiaXuxue Feng PROPOSAL
Tony G MaletRussiaElwin Sharvill UNQUALIFIED
Johnson C FlosiBrazilOnyama Limba PROPOSAL
Misaki Z SchemmerBrazilXuxue Feng PROPOSAL
Maisha W MorascaSpainXuxue Feng PROPOSAL
Johnson E GlickGermanyIoni Bowcher PROPOSAL
Jones D MarrierItalyIvan Magalhaes PROPOSAL
Ricardo W RimUnited KingdomStephen Shaw NEW
Kaitlin Z WieserFranceAsiya Javayant PROPOSAL
Adams I PaprockiAustraliaElwin Sharvill UNQUALIFIED
Jones E PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Ashley N CaudyCanadaOnyama Limba NEGOTIATION
Murillo H CaldareraIndiaAsiya Javayant PROPOSAL
Greenwood M DoeJapanElwin Sharvill RENEWAL
Isabel B VenereBrazilStephen Shaw NEW
James M AlbaresCanadaStephen Shaw QUALIFIED
Leja Z SaylorsFranceAmy Elsner NEW
Jefferson V CampainAustraliaXuxue Feng RENEWAL
Aika T FollerBrazilIoni Bowcher PROPOSAL
Costa T ShinkoSpainBernardo Dominic NEGOTIATION
Johnson U ButtFranceIoni Bowcher UNQUALIFIED
Emily S MorascaRussiaIvan Magalhaes QUALIFIED
Francesco I DilliardUnited KingdomStephen Shaw QUALIFIED
Jennifer V FigeroaGermanyBernardo Dominic QUALIFIED
Leja R KuskoArgentinaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Darci V Shinko
Sinclair S Marrier
Mayumi Z Malet
Cody Q Vocelka
Cody T Perin
Adams D Royster
David X Maclead
Munro P Flosi
Costa N Glick
Aruna X Amigon
Johnson E Foller
Silvio D Foller
Aika V Inouye
Darci V Rulapaugh
Ricardo O Wieser
Mujtaba W Morasca
Aika E Dilliard
Costa F Briddick
Izzy D Nicka
Jones S Maclead
Ashley I Bolognia
Misaki Z Gaucho
David D Royster
Leon G Rulapaugh
Kadeem I Campain
Salvatore H Figeroa
Wickens W Paprocki
Ricardo I Malet
Leja O Maclead
Tony H Rim
David X Marrier
Salvatore H Dilliard
Maisha C Glick
Juan J Garufi
Antonio R Slusarski
Julie A Darakjy
Arvin D Paprocki
Smith J Albares
Francesco W Flosi
Antonio J Nicka
Alejandro B Tollner
Julie T Inouye
Francesco H Glick
Morrow U Gaucho
Adams T Ferencz
Jennifer S Ostrosky
David T Inouye
Salvatore G Campain
Isabel P Waycott
Jeanfrancois Z Albares
IdCountryDate
1000Japan2026-06-06
1001France2026-05-31
1002Brazil2026-06-01
1003Canada2026-06-04
1004France2026-05-26
1005Japan2026-05-30
1006Australia2026-06-08
1007Canada2026-06-02
1008India2026-06-19
1009Canada2026-06-22
1010United Kingdom2026-05-31
1011Spain2026-05-31
1012Australia2026-06-22
1013Australia2026-06-07
1014Russia2026-06-20
1015Italy2026-06-02
1016Japan2026-05-24
1017Australia2026-06-22
1018Germany2026-06-04
1019France2026-06-01
1020France2026-05-25
1021Argentina2026-05-28
1022Brazil2026-05-31
1023France2026-06-14
1024France2026-06-21
1025Italy2026-06-18
1026Argentina2026-05-24
1027Australia2026-06-08
1028Spain2026-06-10
1029Italy2026-06-15
1030Japan2026-06-16
1031Canada2026-05-27
1032Australia2026-06-09
1033India2026-06-01
1034Italy2026-06-01
1035India2026-06-17
1036Brazil2026-06-06
1037Germany2026-06-13
1038Argentina2026-06-19
1039Australia2026-06-13
1040Australia2026-06-16
1041Japan2026-06-16
1042United Kingdom2026-05-30
1043Australia2026-06-18
1044India2026-06-22
1045United Kingdom2026-06-17
1046Spain2026-05-26
1047Spain2026-06-16
1048Japan2026-06-16
1049Russia2026-05-25

On-Demand Data

NameIdCountryDate
Rodrigues P Oldroyd1000Germany2026-05-30
Izzy K Schemmer1001Russia2026-05-26
Juan D Briddick1002India2026-06-14
Izzy S Morasca1003Spain2026-05-24
Octavia O Saylors1004Russia2026-05-30
Darci Y Kusko1005Germany2026-05-26
Jennifer Q Bowley1006United Kingdom2026-06-16
Salvatore S Shinko1007Japan2026-06-03
Claire K Venere1008Spain2026-06-07
Izzy H Butt1009Spain2026-05-30
Murillo O Flosi1010Spain2026-05-28
Adams C Albares1011Italy2026-06-03
Jeanfrancois O Rim1012France2026-06-07
Aditya T Shinko1013India2026-05-26
Aika Y Poquette1014Canada2026-06-10
Costa P Iturbide1015Russia2026-06-18
Aditya C Slusarski1016France2026-06-02
Deepesh R Kolmetz1017Germany2026-06-21
Leon H Gaucho1018Italy2026-05-24
Arvin H Butt1019Spain2026-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya P NestleCanadaAnna Fali NEW
James O BologniaItalyAmy Elsner UNQUALIFIED
Claire W StensethGermanyOnyama Limba NEW
Munro D CaldareraIndiaIoni Bowcher NEGOTIATION
Tony F SaylorsItalyXuxue Feng RENEWAL
Murillo J KuskoAustraliaIvan Magalhaes UNQUALIFIED
Antonio Y CampainCanadaAmy Elsner UNQUALIFIED
Morrow F GlickItalyIvan Magalhaes NEGOTIATION
Jeanfrancois I BriddickBrazilOnyama Limba NEGOTIATION
Octavia F MaletRussiaIoni Bowcher QUALIFIED
Misaki J ChuiIndiaStephen Shaw QUALIFIED
Munro I RoysterUnited KingdomAmy Elsner QUALIFIED
Juan N PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Misaki X KolmetzRussiaOnyama Limba RENEWAL
Morrow T GauchoJapanElwin Sharvill QUALIFIED
Juan H BriddickCanadaXuxue Feng PROPOSAL
Faith L SergiAustraliaAmy Elsner PROPOSAL
Ricardo Z PoquetteUnited KingdomAnna Fali NEGOTIATION
Deepesh N NickaBrazilStephen Shaw PROPOSAL
Johnson A BologniaGermanyAsiya Javayant QUALIFIED
Kaitlin C CaldareraAustraliaElwin Sharvill NEW
Munro C SlusarskiRussiaElwin Sharvill QUALIFIED
Aruna W AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Maria O NickaBrazilAmy Elsner QUALIFIED
Jeanfrancois Q BriddickArgentinaAnna Fali QUALIFIED
Julie E WieserUnited KingdomAmy Elsner RENEWAL
Salvatore P SchemmerBrazilOnyama Limba QUALIFIED
Johnson X MaletBrazilAsiya Javayant NEGOTIATION
Misaki A DarakjyIndiaBernardo Dominic PROPOSAL
Murillo G PaprockiUnited KingdomOnyama Limba NEGOTIATION
Clifford M AmigonSpainBernardo Dominic NEGOTIATION
Faith J PaprockiFranceStephen Shaw PROPOSAL
Claire N DarakjySpainAsiya Javayant QUALIFIED
Smith K FerenczAustraliaIoni Bowcher RENEWAL
Arvin N KolmetzArgentinaAnna Fali PROPOSAL
Munro K AlbaresIndiaAmy Elsner PROPOSAL
Juan D MacleadRussiaOnyama Limba NEGOTIATION
Silvio O WaycottAustraliaXuxue Feng UNQUALIFIED
Maria W BologniaArgentinaIvan Magalhaes PROPOSAL
Deepesh T RoysterArgentinaIvan Magalhaes NEGOTIATION

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