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
Kadeem M InouyeJapanOnyama Limba PROPOSAL
Chavez N MaletItalyStephen Shaw RENEWAL
Wickens C AlbaresItalyXuxue Feng PROPOSAL
Munro T WaycottFranceXuxue Feng UNQUALIFIED
Silvio G BowleyUnited KingdomAmy Elsner UNQUALIFIED
Aditya S GauchoSpainAsiya Javayant RENEWAL
Adams R VenereBrazilBernardo Dominic RENEWAL
Aika N FerenczArgentinaStephen Shaw QUALIFIED
Faith K BologniaJapanAnna Fali RENEWAL
Aruna U BowleyGermanyElwin Sharvill NEW
Chavez M GlickItalyIvan Magalhaes QUALIFIED
Mayumi U MacleadUnited KingdomStephen Shaw PROPOSAL
Greenwood M WhobreyJapanAnna Fali NEW
Leon J RutaArgentinaStephen Shaw UNQUALIFIED
Isabel E CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore C WaycottArgentinaAsiya Javayant NEW
Deepesh T DilliardArgentinaBernardo Dominic UNQUALIFIED
Chavez H OldroydUnited KingdomXuxue Feng NEGOTIATION
Claire N CampainBrazilAsiya Javayant NEGOTIATION
Deepesh E GauchoArgentinaBernardo Dominic UNQUALIFIED
Isabel A RulapaughJapanIoni Bowcher NEGOTIATION
Francesco M SlusarskiCanadaAsiya Javayant NEGOTIATION
Tony P NestleArgentinaIvan Magalhaes NEGOTIATION
Juan K ShinkoJapanIoni Bowcher UNQUALIFIED
Rodrigues R RulapaughCanadaBernardo Dominic QUALIFIED
Maisha K StensethUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo S MaletBrazilAmy Elsner UNQUALIFIED
Stacey B VocelkaIndiaStephen Shaw RENEWAL
Chavez U DilliardJapanAnna Fali UNQUALIFIED
Nicolas O WieserFranceOnyama Limba NEW
Stacey I BowleyRussiaXuxue Feng NEGOTIATION
Octavia D TollnerJapanAmy Elsner RENEWAL
Misaki R MaletJapanIvan Magalhaes NEGOTIATION
Wickens J OldroydGermanyBernardo Dominic UNQUALIFIED
Wickens R MacleadArgentinaOnyama Limba UNQUALIFIED
Alejandro E NickaFranceIoni Bowcher PROPOSAL
Jeanfrancois D RoysterItalyAmy Elsner NEW
Aika K CaldareraGermanyAmy Elsner PROPOSAL
Mujtaba P KuskoSpainXuxue Feng QUALIFIED
Sinclair L OldroydIndiaIoni Bowcher RENEWAL
Salvatore F AmigonUnited KingdomElwin Sharvill PROPOSAL
Murillo W RulapaughFranceAsiya Javayant NEW
Ricardo U MaletAustraliaAmy Elsner PROPOSAL
Costa A AmigonSpainOnyama Limba QUALIFIED
Ricardo K WhobreySpainElwin Sharvill UNQUALIFIED
Chavez R MaletGermanyXuxue Feng NEGOTIATION
Silvio C GauchoArgentinaIvan Magalhaes NEW
Chavez D WhobreyGermanyIoni Bowcher PROPOSAL
Misaki I KuskoRussiaElwin Sharvill NEW
Mayumi J FigeroaJapanAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy S FlosiBrazilOnyama Limba NEGOTIATION
Clifford X NickaCanadaBernardo Dominic NEGOTIATION
Silvio O AlbaresJapanIvan Magalhaes NEW
Stacey J GarufiArgentinaAnna Fali QUALIFIED
David O IturbideIndiaIvan Magalhaes PROPOSAL
Ashley P VocelkaSpainBernardo Dominic QUALIFIED
Maisha U RutaAustraliaAsiya Javayant NEW
Morrow Q IturbideFranceAnna Fali NEGOTIATION
Kadeem S GillianArgentinaAmy Elsner RENEWAL
David T IturbideIndiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja P CaldareraBrazil2026-02-20Chemel, James L Cpa UNQUALIFIED58Ioni Bowcher
1001Morrow H FollerIndia2026-02-06Rousseaux, Michael Esq UNQUALIFIED38Amy Elsner
1002Leja Q KolmetzItaly2026-02-20Buckley Miller Wright QUALIFIED86Stephen Shaw
1003Darci E ShinkoUnited Kingdom2026-02-26Morlong Associates NEGOTIATION72Ivan Magalhaes
1004Jeanfrancois J VocelkaArgentina2026-02-12Feltz Printing Service NEW88Stephen Shaw
1005Aditya A CampainAustralia2026-02-06Rousseaux, Michael Esq RENEWAL20Elwin Sharvill
1006Jefferson G OstroskyJapan2026-02-16Feltz Printing Service NEW66Elwin Sharvill
1007Adams A TollnerJapan2026-02-26King, Christopher A Esq RENEWAL76Asiya Javayant
1008Tony E GillianAustralia2026-02-18Buckley Miller Wright RENEWAL20Ivan Magalhaes
1009Clifford P SchemmerBrazil2026-01-29Buckley Miller Wright UNQUALIFIED42Stephen Shaw
1010Mayumi Q ChuiBrazil2026-02-02Commercial Press UNQUALIFIED2Anna Fali
1011Clifford K MarrierUnited Kingdom2026-02-10Morlong Associates QUALIFIED35Amy Elsner
1012David Q ChuiAustralia2026-02-04King, Christopher A Esq RENEWAL82Elwin Sharvill
1013Nicolas W OstroskyCanada2026-02-09Printing Dimensions NEW78Elwin Sharvill
1014Sinclair U SaylorsRussia2026-02-06Printing Dimensions PROPOSAL11Asiya Javayant
1015Juan U MaletGermany2026-02-24Printing Dimensions UNQUALIFIED19Anna Fali
1016Morrow Z OldroydIndia2026-02-21Rangoni Of Florence QUALIFIED31Xuxue Feng
1017Juan D WaycottBrazil2026-02-02Feltz Printing Service QUALIFIED28Asiya Javayant
1018Adams P RimBrazil2026-02-07Rousseaux, Michael Esq PROPOSAL59Amy Elsner
1019Jones Y NestleAustralia2026-02-02Chanay, Jeffrey A Esq PROPOSAL54Onyama Limba
1020Kadeem Y OldroydFrance2026-02-21Commercial Press UNQUALIFIED35Ivan Magalhaes
1021Rodrigues P RutaJapan2026-02-10Rousseaux, Michael Esq QUALIFIED11Ioni Bowcher
1022Julie I AmigonFrance2026-02-09Chapman, Ross E Esq NEGOTIATION76Ioni Bowcher
1023Maria O WhobreyCanada2026-01-28Morlong Associates UNQUALIFIED99Anna Fali
1024Maria I AlbaresAustralia2026-01-30Buckley Miller Wright NEGOTIATION33Amy Elsner
1025Maisha U RulapaughAustralia2026-02-10Printing Dimensions NEGOTIATION2Amy Elsner
1026Chavez P DilliardCanada2026-01-31Printing Dimensions NEW84Ioni Bowcher
1027Octavia V CampainCanada2026-02-01Commercial Press NEW1Ivan Magalhaes
1028Jefferson X InouyeRussia2026-02-07Dorl, James J Esq NEW10Ivan Magalhaes
1029Faith B RoysterGermany2026-02-02Rangoni Of Florence NEW61Amy Elsner
1030Aditya R WieserFrance2026-02-10Commercial Press UNQUALIFIED96Ioni Bowcher
1031Cody R AlbaresRussia2026-01-31Morlong Associates RENEWAL8Asiya Javayant
1032Greenwood B PaprockiUnited Kingdom2026-02-18Morlong Associates NEGOTIATION15Xuxue Feng
1033Octavia V VenereAustralia2026-02-22Dorl, James J Esq UNQUALIFIED59Ivan Magalhaes
1034Ricardo N FerenczCanada2026-02-01Truhlar And Truhlar Attys NEW59Elwin Sharvill
1035Jefferson D GauchoJapan2026-02-17Benton, John B Jr QUALIFIED62Ioni Bowcher
1036David B SlusarskiAustralia2026-02-23Commercial Press RENEWAL54Bernardo Dominic
1037Sinclair S CaudyCanada2026-02-22Chemel, James L Cpa RENEWAL14Elwin Sharvill
1038Ivar Y SaylorsCanada2026-02-22Morlong Associates NEGOTIATION98Stephen Shaw
1039Nicolas F MarrierAustralia2026-01-28Chanay, Jeffrey A Esq QUALIFIED12Asiya Javayant
1040Arvin O ButtIndia2026-02-12Chemel, James L Cpa QUALIFIED8Ioni Bowcher
1041Arvin Q CampainCanada2026-02-20Chapman, Ross E Esq PROPOSAL53Bernardo Dominic
1042Munro Z DarakjyCanada2026-01-31Commercial Press RENEWAL42Amy Elsner
1043Ashley Z PerinSpain2026-02-01Feltz Printing Service NEGOTIATION86Elwin Sharvill
1044Misaki T PerinFrance2026-02-17King, Christopher A Esq UNQUALIFIED34Onyama Limba
1045Leja Z RimItaly2026-02-18Chanay, Jeffrey A Esq UNQUALIFIED2Asiya Javayant
1046Johnson F KolmetzArgentina2026-02-05Rousseaux, Michael Esq PROPOSAL70Ivan Magalhaes
1047Munro O DilliardCanada2026-02-12Truhlar And Truhlar Attys PROPOSAL72Ioni Bowcher
1048Leja V GarufiBrazil2026-02-10Chapman, Ross E Esq PROPOSAL32Elwin Sharvill
1049Isabel L RimFrance2026-02-18Morlong Associates UNQUALIFIED19Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Octavia K CampainUnited KingdomIoni Bowcher QUALIFIED
Cody J DoeGermanyAnna Fali PROPOSAL
Jeanfrancois I AmigonFranceBernardo Dominic UNQUALIFIED
Octavia D FlosiFranceStephen Shaw PROPOSAL
Rodrigues L ButtIndiaBernardo Dominic NEGOTIATION
Johnson G RulapaughAustraliaElwin Sharvill RENEWAL
Claire T NickaGermanyOnyama Limba QUALIFIED
Deepesh P WaycottIndiaIvan Magalhaes UNQUALIFIED
Leja G MorascaIndiaBernardo Dominic RENEWAL
Ricardo I RoysterUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba M AmigonItalyOnyama Limba NEGOTIATION
Morrow H PerinFranceElwin Sharvill NEW
Octavia W DoeAustraliaAnna Fali QUALIFIED
Murillo S BriddickItalyIoni Bowcher RENEWAL
Isabel B IturbideGermanyStephen Shaw PROPOSAL
Aruna Z NickaCanadaIoni Bowcher NEW
Aruna R AlbaresItalyXuxue Feng PROPOSAL
Deepesh D PaprockiIndiaStephen Shaw QUALIFIED
Smith H BologniaAustraliaXuxue Feng UNQUALIFIED
Maria O FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois Q MaletJapanBernardo Dominic UNQUALIFIED
Isabel Q PoquetteUnited KingdomAnna Fali NEGOTIATION
Octavia D ButtGermanyAmy Elsner RENEWAL
Rodrigues A NestleGermanyAmy Elsner NEW
Munro E GarufiJapanAsiya Javayant NEW
Wickens S AmigonArgentinaAmy Elsner QUALIFIED
Tony A BriddickRussiaOnyama Limba NEW
Jones Z GarufiGermanyElwin Sharvill NEW
Silvio Z CaldareraBrazilStephen Shaw PROPOSAL
Aruna V KolmetzGermanyElwin Sharvill NEW
Mayumi B MacleadAustraliaIoni Bowcher NEW
Adams M GillianGermanyStephen Shaw RENEWAL
Arvin G OldroydCanadaOnyama Limba RENEWAL
Tony B TollnerUnited KingdomAsiya Javayant NEGOTIATION
David I ButtBrazilOnyama Limba PROPOSAL
Octavia H GauchoRussiaIvan Magalhaes UNQUALIFIED
Wickens F RulapaughUnited KingdomAnna Fali NEGOTIATION
Rodrigues W MarrierRussiaStephen Shaw PROPOSAL
Salvatore Q PaprockiGermanyStephen Shaw RENEWAL
Ricardo T IturbideItalyStephen Shaw RENEWAL
Aruna M PaprockiJapanAnna Fali NEW
David J ShinkoUnited KingdomStephen Shaw QUALIFIED
Ashley S CaldareraItalyIvan Magalhaes NEGOTIATION
Francesco O AlbaresFranceOnyama Limba PROPOSAL
Faith V VenereArgentinaStephen Shaw NEGOTIATION
Cody U RoysterItalyIoni Bowcher QUALIFIED
Julie P DilliardArgentinaIoni Bowcher NEW
Tony Z ButtBrazilOnyama Limba NEGOTIATION
Ivar M BologniaFranceIoni Bowcher PROPOSAL
Juan W PaprockiAustraliaOnyama Limba PROPOSAL
Frozen Columns
Name
Antonio H Gillian
Jones K Figeroa
James T Saylors
Murillo B Amigon
Clifford Y Perin
Julie F Amigon
Aditya X Royster
Smith A Stenseth
Emily R Stockham
Octavia K Vocelka
Izzy Y Malet
Johnson E Malet
Silvio K Caldarera
Jones D Foller
Adams B Caudy
James V Bowley
Alejandro C Stenseth
James B Inouye
Darci F Stenseth
Maria C Foller
Maisha Z Whobrey
Ivar A Ferencz
Jeanfrancois P Ruta
Cody F Malet
Leon K Iturbide
Salvatore T Perin
Stacey S Paprocki
Ivar G Albares
Wickens R Venere
Emily X Poquette
Sinclair D Chui
Faith Y Garufi
Costa P Paprocki
Smith X Malet
Octavia E Vocelka
Antonio E Slusarski
Greenwood Q Vocelka
Darci B Ferencz
Kadeem A Poquette
Munro G Waycott
Darci U Sergi
Misaki I Ruta
David W Flosi
Maria D Venere
Ivar G Rulapaugh
Kadeem I Slusarski
Isabel L Iturbide
Aditya H Ferencz
Mujtaba D Darakjy
Misaki U Schemmer
IdCountryDate
1000Argentina2026-02-04
1001Italy2026-02-13
1002Italy2026-02-17
1003Australia2026-02-08
1004India2026-02-02
1005France2026-02-19
1006United Kingdom2026-02-11
1007United Kingdom2026-01-30
1008India2026-02-24
1009Russia2026-02-10
1010Russia2026-01-29
1011Australia2026-02-16
1012India2026-01-31
1013Italy2026-02-21
1014Germany2026-01-29
1015Brazil2026-02-15
1016Canada2026-02-06
1017Canada2026-02-24
1018Australia2026-02-12
1019India2026-02-26
1020Brazil2026-02-01
1021Japan2026-02-13
1022Italy2026-02-11
1023Australia2026-02-10
1024United Kingdom2026-01-29
1025Brazil2026-02-15
1026Japan2026-01-30
1027Spain2026-01-31
1028France2026-02-13
1029Germany2026-02-26
1030Japan2026-02-08
1031Argentina2026-02-08
1032Russia2026-02-19
1033France2026-02-23
1034Spain2026-02-20
1035France2026-01-30
1036Russia2026-02-06
1037Canada2026-02-12
1038Argentina2026-02-04
1039Canada2026-02-24
1040Spain2026-01-28
1041Canada2026-02-17
1042France2026-02-01
1043Italy2026-02-03
1044United Kingdom2026-02-23
1045Germany2026-02-23
1046Canada2026-02-11
1047Canada2026-01-30
1048Spain2026-02-24
1049Germany2026-02-26

On-Demand Data

NameIdCountryDate
Isabel U Glick1000Russia2026-02-01
Jeanfrancois O Garufi1001Russia2026-02-15
Alejandro P Caldarera1002France2026-02-07
Misaki Y Amigon1003Australia2026-02-01
Ricardo D Kusko1004Spain2026-01-31
Salvatore X Malet1005Japan2026-02-03
Jones N Schemmer1006Germany2026-02-06
Ricardo F Rim1007Spain2026-02-13
Salvatore P Amigon1008Spain2026-02-24
Clifford D Darakjy1009Canada2026-02-18
Octavia I Maclead1010United Kingdom2026-02-09
Emily S Flosi1011Germany2026-02-23
Aruna J Poquette1012Spain2026-02-26
Aditya O Kolmetz1013Russia2026-02-26
Izzy X Campain1014India2026-02-08
Cody I Dilliard1015India2026-01-30
Maria N Paprocki1016Germany2026-02-01
Costa I Bolognia1017France2026-02-16
Salvatore T Schemmer1018Italy2026-02-24
Kadeem K Campain1019Russia2026-02-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Z VenereIndiaIoni Bowcher QUALIFIED
Tony I MarrierSpainIvan Magalhaes UNQUALIFIED
Arvin S DoeFranceAnna Fali QUALIFIED
Clifford N NickaBrazilXuxue Feng PROPOSAL
Jones N FigeroaItalyAmy Elsner NEGOTIATION
Clifford W KolmetzSpainAnna Fali NEGOTIATION
Morrow P NestleCanadaStephen Shaw UNQUALIFIED
Morrow G PoquetteSpainStephen Shaw UNQUALIFIED
Munro T GarufiArgentinaIoni Bowcher NEGOTIATION
Jennifer W InouyeAustraliaAsiya Javayant NEW
Emily Y RimBrazilElwin Sharvill NEW
Johnson Q WhobreySpainXuxue Feng NEGOTIATION
Jennifer A OldroydItalyAmy Elsner NEW
Antonio V OstroskyItalyBernardo Dominic NEW
Emily R TollnerItalyOnyama Limba NEGOTIATION
Chavez M BriddickRussiaOnyama Limba NEW
Jeanfrancois K DilliardJapanAnna Fali QUALIFIED
Arvin W NickaJapanXuxue Feng QUALIFIED
Antonio A VocelkaFranceIvan Magalhaes UNQUALIFIED
Izzy P VenereJapanXuxue Feng NEGOTIATION
Juan Y GauchoSpainAnna Fali UNQUALIFIED
Izzy A DilliardRussiaOnyama Limba NEW
Nicolas Y FollerItalyBernardo Dominic UNQUALIFIED
Silvio Q SergiCanadaXuxue Feng UNQUALIFIED
Isabel K IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Chavez F OldroydArgentinaXuxue Feng PROPOSAL
Clifford B NickaIndiaXuxue Feng PROPOSAL
Izzy B StockhamFranceAnna Fali NEW
Kaitlin X MorascaItalyXuxue Feng NEW
Maisha S ButtJapanAmy Elsner PROPOSAL
Tony N DilliardSpainElwin Sharvill UNQUALIFIED
Rodrigues W InouyeSpainAmy Elsner NEGOTIATION
Adams J RutaArgentinaBernardo Dominic PROPOSAL
Ivar Z PoquetteIndiaIoni Bowcher UNQUALIFIED
Emily D IturbideGermanyAmy Elsner UNQUALIFIED
Faith K DarakjyItalyXuxue Feng UNQUALIFIED
Johnson B MaletIndiaBernardo Dominic NEGOTIATION
Chavez A SlusarskiIndiaStephen Shaw PROPOSAL
Juan F PerinAustraliaIvan Magalhaes RENEWAL
Emily M WaycottSpainAsiya Javayant NEW

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