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
Aditya B ChuiJapanXuxue Feng NEGOTIATION
Kaitlin E BowleyAustraliaXuxue Feng PROPOSAL
Faith L ButtSpainIvan Magalhaes NEGOTIATION
Leja Q WieserItalyAsiya Javayant QUALIFIED
Aditya A VenereUnited KingdomBernardo Dominic RENEWAL
Antonio I BowleyBrazilBernardo Dominic PROPOSAL
Jones W ChuiIndiaAsiya Javayant NEW
Wickens K PerinCanadaAnna Fali NEGOTIATION
Stacey R IturbideUnited KingdomXuxue Feng NEW
Kadeem F WieserAustraliaIoni Bowcher UNQUALIFIED
Rodrigues S CampainItalyAmy Elsner UNQUALIFIED
Maisha S BriddickGermanyAmy Elsner RENEWAL
Cody Y DoeFranceIoni Bowcher NEGOTIATION
Tony W ChuiFranceAmy Elsner QUALIFIED
Greenwood O BriddickItalyStephen Shaw PROPOSAL
Julie G WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Maisha R InouyeIndiaElwin Sharvill QUALIFIED
Mayumi G StensethIndiaOnyama Limba RENEWAL
Mayumi G MacleadRussiaStephen Shaw QUALIFIED
Julie M NickaSpainAmy Elsner NEGOTIATION
Jennifer N SergiCanadaAnna Fali PROPOSAL
Leon S FerenczCanadaElwin Sharvill NEW
Costa J WieserJapanIvan Magalhaes QUALIFIED
Tony I GlickCanadaOnyama Limba NEW
Maisha T FigeroaAustraliaBernardo Dominic QUALIFIED
James R SergiUnited KingdomXuxue Feng NEGOTIATION
Deepesh K FerenczSpainOnyama Limba RENEWAL
Adams L MarrierGermanyAsiya Javayant RENEWAL
Mujtaba A StensethIndiaAnna Fali RENEWAL
Deepesh O VocelkaIndiaElwin Sharvill UNQUALIFIED
Stacey M DoeItalyIoni Bowcher RENEWAL
David C MaletArgentinaStephen Shaw NEGOTIATION
Cody U WaycottGermanyAsiya Javayant NEGOTIATION
Johnson N DarakjySpainBernardo Dominic RENEWAL
Jones C GlickFranceAmy Elsner NEGOTIATION
Nicolas V WieserJapanElwin Sharvill QUALIFIED
Francesco C AlbaresRussiaOnyama Limba NEW
Jones N DilliardRussiaAnna Fali UNQUALIFIED
Stacey A NestleCanadaIvan Magalhaes RENEWAL
Leon W PerinSpainAnna Fali RENEWAL
Nicolas Q DoeItalyIoni Bowcher UNQUALIFIED
Ashley W BowleySpainAmy Elsner UNQUALIFIED
Silvio G GlickArgentinaAsiya Javayant PROPOSAL
Mujtaba V SaylorsBrazilAnna Fali NEW
Cody Z BriddickRussiaAmy Elsner PROPOSAL
Aika C DoeArgentinaAmy Elsner PROPOSAL
Jones M StockhamCanadaAnna Fali QUALIFIED
Kadeem L IturbideIndiaStephen Shaw UNQUALIFIED
Ricardo M OldroydCanadaIoni Bowcher PROPOSAL
Stacey J GarufiCanadaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford M WhobreyUnited KingdomAmy Elsner RENEWAL
Juan U CampainIndiaIvan Magalhaes UNQUALIFIED
Tony B DilliardBrazilStephen Shaw NEW
Stacey G KuskoItalyOnyama Limba PROPOSAL
Murillo U IturbideArgentinaAsiya Javayant UNQUALIFIED
James T OldroydJapanBernardo Dominic NEW
Deepesh G NestleFranceAnna Fali QUALIFIED
Darci U ChuiArgentinaAsiya Javayant UNQUALIFIED
Chavez N CaldareraArgentinaIvan Magalhaes RENEWAL
Leon P NickaArgentinaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire Y DilliardRussia2026-06-08Benton, John B Jr UNQUALIFIED2Asiya Javayant
1001Francesco N IturbideRussia2026-06-05Chemel, James L Cpa PROPOSAL82Onyama Limba
1002Chavez G GauchoFrance2026-06-17King, Christopher A Esq RENEWAL56Xuxue Feng
1003Antonio F RoysterJapan2026-06-19Commercial Press NEW77Ivan Magalhaes
1004Antonio G WieserJapan2026-05-27Dorl, James J Esq UNQUALIFIED87Anna Fali
1005Jefferson Q WaycottItaly2026-06-12Commercial Press UNQUALIFIED79Onyama Limba
1006Darci H NestleUnited Kingdom2026-06-01Feltz Printing Service NEGOTIATION17Anna Fali
1007Antonio O CaudyArgentina2026-06-05Rangoni Of Florence NEGOTIATION36Ioni Bowcher
1008Kadeem Z OldroydFrance2026-05-26King, Christopher A Esq QUALIFIED39Onyama Limba
1009Kaitlin F RimSpain2026-05-31Feiner Bros NEW71Ivan Magalhaes
1010Faith Q NestleRussia2026-06-15Morlong Associates QUALIFIED64Asiya Javayant
1011Aditya R WaycottUnited Kingdom2026-05-29Dorl, James J Esq NEW69Anna Fali
1012Salvatore E GauchoItaly2026-06-03Chapman, Ross E Esq UNQUALIFIED41Stephen Shaw
1013Sinclair L SaylorsArgentina2026-05-30Commercial Press QUALIFIED42Amy Elsner
1014Emily P FigeroaGermany2026-06-14Benton, John B Jr QUALIFIED48Asiya Javayant
1015Octavia M MarrierSpain2026-05-27Benton, John B Jr UNQUALIFIED37Amy Elsner
1016Francesco C FlosiArgentina2026-06-08Printing Dimensions NEGOTIATION84Onyama Limba
1017Mujtaba L GauchoItaly2026-06-14Rousseaux, Michael Esq NEW17Stephen Shaw
1018Ivar G PaprockiBrazil2026-06-22Printing Dimensions RENEWAL3Bernardo Dominic
1019Rodrigues D WhobreyItaly2026-06-05Rousseaux, Michael Esq NEGOTIATION58Amy Elsner
1020Emily B GlickCanada2026-05-26Chemel, James L Cpa RENEWAL32Asiya Javayant
1021Chavez P DarakjyJapan2026-06-09Truhlar And Truhlar Attys PROPOSAL97Ioni Bowcher
1022Ricardo L IturbideUnited Kingdom2026-06-12Chapman, Ross E Esq UNQUALIFIED15Stephen Shaw
1023Jennifer V GarufiIndia2026-06-08Chanay, Jeffrey A Esq PROPOSAL26Anna Fali
1024Deepesh Z DarakjyItaly2026-06-16Truhlar And Truhlar Attys NEW23Amy Elsner
1025Clifford H GillianIndia2026-06-21Chapman, Ross E Esq RENEWAL26Onyama Limba
1026Maisha R GauchoBrazil2026-06-01Chanay, Jeffrey A Esq NEW54Asiya Javayant
1027Leja K MarrierIndia2026-06-10Morlong Associates PROPOSAL95Stephen Shaw
1028Jeanfrancois K CaldareraGermany2026-06-13Chanay, Jeffrey A Esq RENEWAL55Onyama Limba
1029Tony I NickaSpain2026-05-25Benton, John B Jr QUALIFIED71Anna Fali
1030Nicolas B FigeroaIndia2026-06-03Rangoni Of Florence NEGOTIATION82Ivan Magalhaes
1031Silvio V SergiItaly2026-06-22King, Christopher A Esq NEGOTIATION7Asiya Javayant
1032Murillo P ButtRussia2026-06-20Benton, John B Jr UNQUALIFIED74Stephen Shaw
1033Kaitlin Q DoeFrance2026-06-10Benton, John B Jr RENEWAL62Bernardo Dominic
1034Johnson M InouyeRussia2026-06-16Morlong Associates NEGOTIATION11Xuxue Feng
1035Jennifer C SaylorsItaly2026-06-05Printing Dimensions NEGOTIATION31Onyama Limba
1036Chavez X StensethUnited Kingdom2026-06-03Feltz Printing Service UNQUALIFIED41Elwin Sharvill
1037Faith W VocelkaBrazil2026-06-05Truhlar And Truhlar Attys QUALIFIED19Amy Elsner
1038Adams K RutaCanada2026-06-19Commercial Press NEGOTIATION76Stephen Shaw
1039Silvio N TollnerRussia2026-06-17King, Christopher A Esq NEW71Stephen Shaw
1040Maria Q DarakjyJapan2026-06-17Benton, John B Jr PROPOSAL19Ivan Magalhaes
1041Adams B OstroskySpain2026-06-22Printing Dimensions NEW63Xuxue Feng
1042Antonio K OstroskyFrance2026-06-16Printing Dimensions PROPOSAL60Ivan Magalhaes
1043Octavia U RutaFrance2026-06-01Printing Dimensions NEW22Stephen Shaw
1044Maisha T AlbaresSpain2026-06-08Feiner Bros NEGOTIATION71Stephen Shaw
1045Maria H TollnerCanada2026-06-15Commercial Press RENEWAL57Stephen Shaw
1046Jefferson U PerinAustralia2026-06-15Rousseaux, Michael Esq NEW74Asiya Javayant
1047Kadeem N CaldareraIndia2026-06-05Rousseaux, Michael Esq QUALIFIED23Amy Elsner
1048Juan G BriddickFrance2026-06-12Feiner Bros RENEWAL31Amy Elsner
1049Jennifer M FlosiBrazil2026-06-21King, Christopher A Esq NEGOTIATION17Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya K RutaRussiaAsiya Javayant RENEWAL
Mayumi N SergiJapanAsiya Javayant UNQUALIFIED
Kadeem J NickaSpainAnna Fali UNQUALIFIED
Jeanfrancois J VocelkaJapanOnyama Limba QUALIFIED
Costa G CaudyGermanyAsiya Javayant NEGOTIATION
Tony P StensethBrazilStephen Shaw UNQUALIFIED
Aditya K MarrierIndiaOnyama Limba NEW
Maisha Z KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Maria K WieserGermanyStephen Shaw RENEWAL
Stacey J RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Aika J StockhamBrazilElwin Sharvill QUALIFIED
Alejandro M MaletItalyAsiya Javayant NEW
Leja R SaylorsAustraliaAmy Elsner QUALIFIED
Costa O DarakjyIndiaIvan Magalhaes RENEWAL
Aika O FigeroaIndiaAmy Elsner UNQUALIFIED
Munro B BowleyFranceStephen Shaw PROPOSAL
Murillo B MacleadRussiaAsiya Javayant RENEWAL
Nicolas I WhobreyBrazilBernardo Dominic NEW
Faith F GarufiRussiaAsiya Javayant RENEWAL
Ricardo S DoeCanadaAnna Fali QUALIFIED
Munro K FigeroaUnited KingdomAsiya Javayant NEGOTIATION
Ashley B OstroskySpainIoni Bowcher NEGOTIATION
Juan U DoeJapanAsiya Javayant UNQUALIFIED
Juan R BriddickJapanAsiya Javayant UNQUALIFIED
Darci L SchemmerBrazilElwin Sharvill QUALIFIED
Misaki A AmigonBrazilIoni Bowcher PROPOSAL
Alejandro J InouyeArgentinaIoni Bowcher NEW
Clifford C DarakjyCanadaAnna Fali UNQUALIFIED
Tony E MorascaRussiaStephen Shaw NEW
Costa W GauchoIndiaStephen Shaw QUALIFIED
Chavez W PoquetteBrazilStephen Shaw QUALIFIED
Alejandro V InouyeArgentinaAmy Elsner QUALIFIED
Nicolas K CampainAustraliaXuxue Feng NEGOTIATION
Octavia H BologniaIndiaBernardo Dominic RENEWAL
Johnson L ButtCanadaIvan Magalhaes UNQUALIFIED
Faith P WaycottItalyBernardo Dominic NEW
Maisha R CaldareraUnited KingdomStephen Shaw NEGOTIATION
Alejandro Q CampainJapanOnyama Limba NEW
Kaitlin F SlusarskiIndiaBernardo Dominic QUALIFIED
Emily Q GillianRussiaBernardo Dominic UNQUALIFIED
Smith L AlbaresBrazilAnna Fali UNQUALIFIED
Jefferson L CampainUnited KingdomStephen Shaw NEW
Aruna B NestleFranceBernardo Dominic PROPOSAL
Mayumi O FollerAustraliaXuxue Feng NEW
Maria W OldroydAustraliaAmy Elsner QUALIFIED
Jennifer W CampainCanadaOnyama Limba QUALIFIED
Alejandro V PaprockiIndiaIoni Bowcher RENEWAL
Julie Z SergiSpainAsiya Javayant PROPOSAL
Isabel A MacleadRussiaElwin Sharvill NEW
Nicolas U KuskoUnited KingdomAmy Elsner NEW
Frozen Columns
Name
Aruna N Rim
Antonio Z Doe
Jennifer X Caudy
Ivar T Doe
Alejandro T Stenseth
Jeanfrancois Q Caudy
Darci N Flosi
Munro Q Ferencz
Stacey S Albares
Sinclair R Kusko
Octavia M Morasca
Jones F Vocelka
Silvio Z Whobrey
Izzy W Sergi
Greenwood B Glick
Mujtaba H Bowley
Faith X Butt
Morrow Q Inouye
Antonio B Malet
Jones B Kusko
Costa Z Caldarera
Nicolas E Whobrey
Aruna N Ostrosky
Clifford W Figeroa
Maisha F Royster
Tony I Tollner
Stacey X Albares
Morrow T Malet
Ricardo L Wieser
Izzy K Slusarski
Maria V Rim
Aruna F Ostrosky
Morrow R Albares
Leja R Marrier
Misaki M Dilliard
Mujtaba U Foller
Clifford U Shinko
Ivar L Royster
Jones A Poquette
Jeanfrancois L Slusarski
Izzy Y Rim
Leja E Stockham
Juan A Nestle
Greenwood J Glick
Jeanfrancois B Rulapaugh
Darci D Saylors
Alejandro A Marrier
Jones V Shinko
Mayumi S Bowley
Tony S Rim
IdCountryDate
1000France2026-05-26
1001Italy2026-06-11
1002Italy2026-06-05
1003United Kingdom2026-06-16
1004Spain2026-06-21
1005Italy2026-06-18
1006Germany2026-05-31
1007Canada2026-06-02
1008United Kingdom2026-06-20
1009Argentina2026-06-03
1010Australia2026-06-22
1011Canada2026-06-05
1012Japan2026-06-08
1013Spain2026-06-14
1014Spain2026-06-02
1015Italy2026-06-07
1016Canada2026-05-29
1017France2026-05-28
1018Spain2026-06-16
1019Japan2026-06-18
1020Canada2026-06-07
1021Russia2026-06-08
1022France2026-06-05
1023Spain2026-06-20
1024United Kingdom2026-06-07
1025India2026-06-03
1026Australia2026-06-23
1027Italy2026-06-22
1028Germany2026-06-02
1029Germany2026-06-04
1030Germany2026-06-08
1031France2026-06-02
1032Japan2026-06-23
1033France2026-06-21
1034Italy2026-05-30
1035Japan2026-06-15
1036Brazil2026-06-23
1037India2026-06-17
1038Russia2026-06-16
1039Australia2026-06-03
1040Italy2026-06-15
1041Germany2026-06-19
1042Argentina2026-05-29
1043France2026-06-22
1044Argentina2026-06-15
1045Japan2026-06-19
1046Spain2026-06-17
1047United Kingdom2026-06-06
1048India2026-05-25
1049Brazil2026-06-20

On-Demand Data

NameIdCountryDate
Chavez R Nestle1000Canada2026-06-18
Tony V Whobrey1001Argentina2026-06-04
Sinclair Y Poquette1002Japan2026-06-20
Wickens T Marrier1003Australia2026-06-18
Claire I Amigon1004Russia2026-06-14
Misaki C Perin1005France2026-06-10
Silvio Z Tollner1006Brazil2026-06-07
Ricardo L Iturbide1007Canada2026-06-09
Francesco R Nicka1008Italy2026-06-03
Silvio I Malet1009Canada2026-06-03
Adams H Kolmetz1010India2026-06-07
Chavez N Rim1011Argentina2026-06-12
David B Malet1012France2026-05-28
Jennifer H Paprocki1013Australia2026-06-08
Costa B Venere1014Brazil2026-06-16
Maisha A Flosi1015Spain2026-06-07
David B Royster1016Germany2026-06-15
Johnson X Briddick1017Germany2026-06-13
Misaki G Saylors1018Spain2026-06-11
Izzy L Morasca1019Italy2026-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois O WaycottUnited KingdomAmy Elsner UNQUALIFIED
Emily V MaletArgentinaIoni Bowcher NEW
Costa L ChuiJapanAsiya Javayant UNQUALIFIED
David Z WieserAustraliaAmy Elsner QUALIFIED
Ashley V ButtArgentinaOnyama Limba NEGOTIATION
Maisha K BowleyRussiaElwin Sharvill QUALIFIED
Izzy B WhobreyArgentinaAnna Fali NEGOTIATION
Johnson Z RoysterGermanyAnna Fali RENEWAL
Ivar T InouyeBrazilAsiya Javayant QUALIFIED
Murillo L WhobreySpainElwin Sharvill RENEWAL
Maria T TollnerSpainAsiya Javayant NEW
Deepesh V ChuiGermanyAnna Fali NEW
Alejandro B PoquetteIndiaBernardo Dominic UNQUALIFIED
Faith M MaletUnited KingdomAmy Elsner QUALIFIED
Cody P SergiSpainOnyama Limba PROPOSAL
Juan Y DarakjyAustraliaIvan Magalhaes QUALIFIED
Mayumi M SlusarskiCanadaAsiya Javayant QUALIFIED
Greenwood G MacleadRussiaAsiya Javayant UNQUALIFIED
Smith C RimUnited KingdomBernardo Dominic RENEWAL
Johnson I StockhamGermanyElwin Sharvill NEGOTIATION
Isabel B CampainGermanyXuxue Feng QUALIFIED
Leon R MarrierCanadaOnyama Limba NEGOTIATION
Aditya Q ButtJapanAsiya Javayant QUALIFIED
Chavez M ShinkoGermanyStephen Shaw UNQUALIFIED
Misaki C WaycottArgentinaAsiya Javayant QUALIFIED
Stacey T RulapaughGermanyIvan Magalhaes RENEWAL
Jones L MorascaSpainIoni Bowcher NEGOTIATION
Clifford O IturbideRussiaIoni Bowcher PROPOSAL
Aruna K GauchoIndiaIvan Magalhaes NEW
Smith A WieserSpainXuxue Feng PROPOSAL
Munro H SaylorsFranceBernardo Dominic UNQUALIFIED
Johnson Z GauchoAustraliaIoni Bowcher NEW
Cody J PaprockiRussiaElwin Sharvill QUALIFIED
Izzy R NestleAustraliaIoni Bowcher UNQUALIFIED
Salvatore R BologniaSpainStephen Shaw NEW
Smith I StockhamArgentinaAsiya Javayant PROPOSAL
Murillo F CaudyFranceAsiya Javayant NEGOTIATION
Maisha Q RutaIndiaAsiya Javayant QUALIFIED
Costa J CampainJapanXuxue Feng NEW
Adams Z IturbideSpainStephen Shaw 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.