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
Isabel H ChuiBrazilIoni Bowcher PROPOSAL
Jones H NestleIndiaAsiya Javayant RENEWAL
Maria Q PoquetteJapanStephen Shaw UNQUALIFIED
Arvin P SchemmerGermanyIvan Magalhaes UNQUALIFIED
Stacey T KolmetzSpainOnyama Limba PROPOSAL
Salvatore V CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Tony Q AmigonJapanOnyama Limba NEW
Nicolas V MorascaGermanyBernardo Dominic UNQUALIFIED
Ivar Z RutaItalyXuxue Feng RENEWAL
Salvatore Z PaprockiItalyAsiya Javayant QUALIFIED
Kadeem R PoquetteRussiaAmy Elsner UNQUALIFIED
Clifford N NestleSpainAnna Fali PROPOSAL
Julie X GlickSpainOnyama Limba UNQUALIFIED
Deepesh T CaudyJapanOnyama Limba NEGOTIATION
James Z AmigonJapanStephen Shaw QUALIFIED
Johnson P RimCanadaXuxue Feng RENEWAL
Izzy Q AmigonCanadaIvan Magalhaes RENEWAL
Silvio K GauchoGermanyOnyama Limba UNQUALIFIED
Ashley P ButtItalyXuxue Feng PROPOSAL
Mayumi G AmigonAustraliaBernardo Dominic UNQUALIFIED
Alejandro N RulapaughJapanOnyama Limba NEW
Arvin C ChuiAustraliaIvan Magalhaes NEGOTIATION
Salvatore L RulapaughGermanyBernardo Dominic UNQUALIFIED
Alejandro O SergiAustraliaOnyama Limba PROPOSAL
Aditya E WhobreyJapanAmy Elsner QUALIFIED
Adams O MacleadJapanBernardo Dominic PROPOSAL
Juan L GauchoUnited KingdomAnna Fali PROPOSAL
Claire R GlickGermanyIoni Bowcher QUALIFIED
Clifford M SaylorsSpainAmy Elsner PROPOSAL
Ricardo K InouyeSpainAmy Elsner UNQUALIFIED
Tony Z FigeroaIndiaStephen Shaw NEGOTIATION
David T StockhamCanadaIoni Bowcher NEW
Alejandro L IturbideArgentinaAmy Elsner RENEWAL
Jefferson C WaycottBrazilIvan Magalhaes NEW
David Y BowleyRussiaXuxue Feng UNQUALIFIED
Maria S PoquetteCanadaXuxue Feng RENEWAL
Jefferson H VocelkaFranceOnyama Limba NEGOTIATION
Mayumi R MaletJapanOnyama Limba UNQUALIFIED
Cody G FerenczItalyAsiya Javayant PROPOSAL
Clifford B KolmetzCanadaBernardo Dominic RENEWAL
Clifford J MarrierUnited KingdomElwin Sharvill PROPOSAL
James V RimBrazilXuxue Feng RENEWAL
Salvatore M SchemmerRussiaIoni Bowcher PROPOSAL
Munro X PerinBrazilOnyama Limba PROPOSAL
Emily V SaylorsSpainAsiya Javayant NEW
Antonio P RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Leja X PoquetteGermanyIvan Magalhaes NEGOTIATION
Adams I IturbideIndiaOnyama Limba NEGOTIATION
Juan O FerenczRussiaBernardo Dominic PROPOSAL
Emily Y DarakjyBrazilAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore H PoquetteIndiaAsiya Javayant RENEWAL
Ivar R ButtRussiaIvan Magalhaes NEW
Sinclair F CampainItalyAnna Fali NEW
Aruna C FigeroaBrazilAnna Fali QUALIFIED
Antonio Y GillianIndiaOnyama Limba NEW
Leja Q AlbaresAustraliaElwin Sharvill UNQUALIFIED
Kaitlin K NickaIndiaStephen Shaw RENEWAL
Munro F RulapaughRussiaIoni Bowcher UNQUALIFIED
Antonio G OstroskyRussiaStephen Shaw NEW
Greenwood O PerinItalyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa J PoquetteRussia2026-04-15Feltz Printing Service RENEWAL8Onyama Limba
1001Darci F NestleGermany2026-04-20King, Christopher A Esq UNQUALIFIED39Ioni Bowcher
1002Adams Y FerenczSpain2026-04-15Rangoni Of Florence QUALIFIED51Ivan Magalhaes
1003Silvio Q MorascaFrance2026-04-25Commercial Press QUALIFIED21Stephen Shaw
1004Rodrigues P TollnerCanada2026-04-20Rousseaux, Michael Esq RENEWAL9Ioni Bowcher
1005Darci V FerenczItaly2026-05-07King, Christopher A Esq NEGOTIATION22Bernardo Dominic
1006Leja Y AlbaresCanada2026-04-22Benton, John B Jr NEGOTIATION9Onyama Limba
1007Maria X BologniaFrance2026-04-28Chemel, James L Cpa QUALIFIED57Amy Elsner
1008David Q DoeItaly2026-04-30Buckley Miller Wright QUALIFIED76Anna Fali
1009Misaki P FollerAustralia2026-05-06Dorl, James J Esq NEW63Amy Elsner
1010Leon F NickaFrance2026-04-25Chanay, Jeffrey A Esq RENEWAL71Elwin Sharvill
1011Nicolas Q SchemmerArgentina2026-04-28Printing Dimensions PROPOSAL87Xuxue Feng
1012Stacey W KuskoUnited Kingdom2026-04-10King, Christopher A Esq UNQUALIFIED85Elwin Sharvill
1013Antonio M PaprockiSpain2026-04-11Chanay, Jeffrey A Esq QUALIFIED11Ioni Bowcher
1014Greenwood N GlickBrazil2026-05-05Benton, John B Jr PROPOSAL83Anna Fali
1015Deepesh L ShinkoBrazil2026-04-17Buckley Miller Wright UNQUALIFIED52Ioni Bowcher
1016Chavez W RimAustralia2026-04-23Commercial Press QUALIFIED83Asiya Javayant
1017Juan R CaldareraBrazil2026-04-21Chemel, James L Cpa RENEWAL29Onyama Limba
1018Cody X ShinkoFrance2026-04-20Buckley Miller Wright NEW19Bernardo Dominic
1019Emily B FigeroaRussia2026-04-26Rousseaux, Michael Esq UNQUALIFIED81Amy Elsner
1020Octavia O VenereSpain2026-04-14Feiner Bros PROPOSAL3Asiya Javayant
1021Ashley J AlbaresRussia2026-04-27King, Christopher A Esq UNQUALIFIED57Anna Fali
1022Francesco G KolmetzUnited Kingdom2026-04-16Feltz Printing Service NEW33Stephen Shaw
1023Greenwood P IturbideItaly2026-04-23Morlong Associates NEW14Ivan Magalhaes
1024Ashley P WieserBrazil2026-05-06Printing Dimensions QUALIFIED49Asiya Javayant
1025Faith C MaletRussia2026-04-24Feiner Bros UNQUALIFIED21Ioni Bowcher
1026Claire E KuskoArgentina2026-04-14Feltz Printing Service UNQUALIFIED39Amy Elsner
1027Aruna Y StockhamRussia2026-05-02Morlong Associates UNQUALIFIED52Stephen Shaw
1028Clifford P AmigonSpain2026-04-09King, Christopher A Esq RENEWAL84Ioni Bowcher
1029Alejandro P SergiGermany2026-05-02Commercial Press UNQUALIFIED22Elwin Sharvill
1030Claire F FerenczRussia2026-04-12Printing Dimensions NEGOTIATION75Ivan Magalhaes
1031Faith C AlbaresUnited Kingdom2026-05-05Printing Dimensions PROPOSAL0Onyama Limba
1032Mayumi S PoquetteCanada2026-04-14Rangoni Of Florence PROPOSAL93Xuxue Feng
1033Ricardo H NickaCanada2026-04-22Chanay, Jeffrey A Esq NEGOTIATION20Amy Elsner
1034Aika K DilliardUnited Kingdom2026-04-12King, Christopher A Esq UNQUALIFIED48Anna Fali
1035Wickens B GlickGermany2026-05-03Buckley Miller Wright UNQUALIFIED14Stephen Shaw
1036Greenwood Y PerinArgentina2026-04-22King, Christopher A Esq RENEWAL54Asiya Javayant
1037Octavia L FigeroaAustralia2026-05-04Morlong Associates NEW94Bernardo Dominic
1038Juan I GarufiCanada2026-04-12Benton, John B Jr NEGOTIATION93Asiya Javayant
1039James F SchemmerCanada2026-04-27Dorl, James J Esq RENEWAL20Ivan Magalhaes
1040Costa A BriddickItaly2026-04-13Feiner Bros UNQUALIFIED62Elwin Sharvill
1041Darci F NestleSpain2026-04-13Rangoni Of Florence NEW97Onyama Limba
1042Izzy A OstroskyIndia2026-04-09Feltz Printing Service QUALIFIED88Xuxue Feng
1043Aditya H NestleIndia2026-05-08Commercial Press RENEWAL84Ivan Magalhaes
1044Juan H MaletFrance2026-04-18Feltz Printing Service NEGOTIATION96Bernardo Dominic
1045Nicolas V SaylorsBrazil2026-05-06Buckley Miller Wright NEW55Ioni Bowcher
1046Jones J BologniaRussia2026-05-05Chemel, James L Cpa QUALIFIED46Amy Elsner
1047Mayumi U ShinkoItaly2026-05-08Truhlar And Truhlar Attys PROPOSAL54Onyama Limba
1048Rodrigues P WieserUnited Kingdom2026-04-11Truhlar And Truhlar Attys UNQUALIFIED89Ioni Bowcher
1049Maisha B WhobreySpain2026-04-18Truhlar And Truhlar Attys RENEWAL74Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Julie G RimJapanBernardo Dominic PROPOSAL
Chavez R NickaGermanyIoni Bowcher PROPOSAL
Silvio D GauchoSpainAmy Elsner NEGOTIATION
Tony H MaletFranceIoni Bowcher QUALIFIED
Aditya C StockhamBrazilAmy Elsner QUALIFIED
James U RimIndiaElwin Sharvill NEGOTIATION
Darci K BowleyIndiaAmy Elsner UNQUALIFIED
Silvio N SaylorsJapanBernardo Dominic NEW
Munro T FigeroaFranceAsiya Javayant RENEWAL
Murillo G ShinkoUnited KingdomXuxue Feng RENEWAL
Emily W PerinRussiaAmy Elsner PROPOSAL
Kadeem M BologniaGermanyStephen Shaw QUALIFIED
Julie P SlusarskiArgentinaIoni Bowcher NEGOTIATION
Darci C BowleyFranceAnna Fali NEW
Deepesh F DarakjyFranceXuxue Feng NEW
James G CaldareraRussiaBernardo Dominic UNQUALIFIED
Julie G PoquetteJapanStephen Shaw UNQUALIFIED
Juan V DilliardJapanBernardo Dominic QUALIFIED
Kadeem X GlickIndiaAmy Elsner NEW
Johnson H FigeroaCanadaOnyama Limba RENEWAL
Arvin Z DoeRussiaXuxue Feng QUALIFIED
Silvio S FollerFranceBernardo Dominic NEGOTIATION
Murillo D FerenczCanadaXuxue Feng UNQUALIFIED
Aika G AlbaresAustraliaAmy Elsner PROPOSAL
Adams S WhobreyUnited KingdomOnyama Limba RENEWAL
Ricardo D TollnerIndiaBernardo Dominic QUALIFIED
Octavia F ButtRussiaAsiya Javayant RENEWAL
Leon O PaprockiCanadaOnyama Limba NEW
James R PerinBrazilAsiya Javayant QUALIFIED
Jefferson L ChuiFranceAsiya Javayant PROPOSAL
Tony E ChuiUnited KingdomIoni Bowcher QUALIFIED
Leja R DarakjyGermanyOnyama Limba QUALIFIED
Claire Z ShinkoItalyXuxue Feng PROPOSAL
Isabel U NickaItalyAnna Fali NEW
Clifford H DoeUnited KingdomAnna Fali NEGOTIATION
Rodrigues C BologniaArgentinaStephen Shaw PROPOSAL
Jones Y MaletSpainAnna Fali NEGOTIATION
Stacey L SaylorsCanadaBernardo Dominic NEW
James R BriddickItalyStephen Shaw NEW
Izzy O MorascaArgentinaAsiya Javayant NEW
Emily B GauchoAustraliaStephen Shaw UNQUALIFIED
David J RulapaughIndiaIvan Magalhaes NEW
Maisha B CaudyFranceIvan Magalhaes UNQUALIFIED
David D GlickBrazilIoni Bowcher RENEWAL
Deepesh R ButtAustraliaIoni Bowcher UNQUALIFIED
Arvin H StockhamJapanAnna Fali PROPOSAL
Aditya J GlickAustraliaAmy Elsner NEW
Morrow H SlusarskiSpainIoni Bowcher NEGOTIATION
Kadeem W NickaJapanAmy Elsner QUALIFIED
Alejandro I VocelkaAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Jefferson H Albares
Faith I Caudy
Clifford H Wieser
Wickens A Sergi
Kadeem N Perin
Juan H Kusko
Octavia T Bolognia
Morrow I Inouye
Sinclair M Poquette
Octavia X Bolognia
Arvin R Dilliard
Mayumi J Iturbide
Izzy L Albares
Nicolas N Paprocki
Leja M Caudy
Juan K Venere
Wickens X Stenseth
Maria I Saylors
James S Dilliard
Murillo B Gillian
Darci F Vocelka
Aruna Y Chui
James L Oldroyd
Adams J Saylors
Munro Q Bowley
Antonio V Venere
Faith C Figeroa
David O Flosi
Stacey N Bolognia
Claire Q Ostrosky
Smith B Bolognia
Mujtaba N Shinko
Ricardo W Stenseth
Johnson Q Maclead
Silvio B Campain
Aditya J Oldroyd
Chavez S Stenseth
Silvio R Slusarski
Costa W Whobrey
Wickens B Malet
Aditya B Schemmer
Cody D Whobrey
Jones R Inouye
Smith G Saylors
Jefferson R Stockham
Costa E Dilliard
Johnson P Waycott
Ashley R Caldarera
Chavez E Wieser
Johnson V Wieser
IdCountryDate
1000Spain2026-05-03
1001Germany2026-04-23
1002Italy2026-05-05
1003United Kingdom2026-04-11
1004Germany2026-04-28
1005Spain2026-04-30
1006Spain2026-05-03
1007Australia2026-04-25
1008Brazil2026-04-24
1009Canada2026-04-16
1010Argentina2026-04-12
1011Japan2026-04-14
1012Russia2026-05-01
1013India2026-05-06
1014Brazil2026-04-19
1015United Kingdom2026-05-07
1016Argentina2026-04-13
1017France2026-04-23
1018Brazil2026-04-19
1019Canada2026-04-29
1020Italy2026-04-23
1021France2026-04-10
1022Argentina2026-04-25
1023Japan2026-04-28
1024Germany2026-04-18
1025Brazil2026-04-16
1026Spain2026-04-11
1027Japan2026-04-25
1028Brazil2026-05-06
1029United Kingdom2026-04-10
1030Japan2026-04-30
1031Argentina2026-04-26
1032Germany2026-04-23
1033France2026-04-23
1034Russia2026-05-05
1035Russia2026-05-04
1036Australia2026-04-27
1037India2026-05-07
1038Italy2026-04-15
1039Brazil2026-04-10
1040Spain2026-04-09
1041India2026-05-03
1042Brazil2026-05-02
1043India2026-04-20
1044Brazil2026-04-09
1045Argentina2026-04-15
1046Brazil2026-04-24
1047Argentina2026-04-29
1048Italy2026-04-24
1049Canada2026-04-27

On-Demand Data

NameIdCountryDate
Leja F Poquette1000United Kingdom2026-04-14
Alejandro N Poquette1001Spain2026-04-17
Juan F Whobrey1002Canada2026-05-07
Adams M Figeroa1003Russia2026-05-03
Maria R Chui1004Italy2026-05-06
Faith C Caudy1005United Kingdom2026-04-27
Smith I Chui1006United Kingdom2026-04-24
Julie J Saylors1007Germany2026-05-01
Isabel R Venere1008Australia2026-04-16
Maisha V Shinko1009Brazil2026-05-07
Munro A Chui1010Russia2026-05-01
Aditya C Kolmetz1011United Kingdom2026-05-03
Mayumi H Figeroa1012Australia2026-04-09
Izzy D Marrier1013Germany2026-04-24
Leja U Gillian1014Germany2026-05-04
Francesco V Nicka1015Germany2026-05-07
Cody R Darakjy1016France2026-04-16
Nicolas L Waycott1017Japan2026-04-11
Mujtaba D Campain1018United Kingdom2026-05-04
James T Gaucho1019Canada2026-04-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya C SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Ivar C KuskoBrazilBernardo Dominic NEW
Cody V SergiCanadaIvan Magalhaes NEGOTIATION
Rodrigues E InouyeSpainBernardo Dominic PROPOSAL
Aruna Z GauchoBrazilAmy Elsner NEGOTIATION
Costa R BologniaJapanAsiya Javayant QUALIFIED
Rodrigues E SlusarskiJapanIoni Bowcher RENEWAL
Francesco Q ButtIndiaXuxue Feng NEW
Jennifer E SaylorsAustraliaStephen Shaw UNQUALIFIED
Jones Q GauchoItalyIoni Bowcher UNQUALIFIED
Jones J FerenczItalyAmy Elsner NEGOTIATION
Morrow N SergiArgentinaXuxue Feng UNQUALIFIED
Smith L GarufiAustraliaXuxue Feng UNQUALIFIED
Kadeem M WaycottGermanyBernardo Dominic QUALIFIED
Chavez L BriddickUnited KingdomIoni Bowcher NEGOTIATION
Isabel D DilliardUnited KingdomOnyama Limba UNQUALIFIED
Juan E MaletCanadaAsiya Javayant UNQUALIFIED
Johnson D BowleyFranceXuxue Feng NEGOTIATION
Ashley C ButtJapanIvan Magalhaes RENEWAL
Francesco M CaldareraRussiaIoni Bowcher QUALIFIED
Stacey M DilliardJapanStephen Shaw RENEWAL
Jones B NickaFranceElwin Sharvill RENEWAL
Aditya Z WaycottCanadaStephen Shaw PROPOSAL
Silvio C SergiJapanAmy Elsner NEW
James P OldroydJapanAsiya Javayant NEW
Maisha E WhobreyFranceIvan Magalhaes PROPOSAL
Juan H FerenczBrazilAnna Fali NEGOTIATION
Adams F NestleBrazilStephen Shaw QUALIFIED
Salvatore X VocelkaJapanBernardo Dominic NEW
Rodrigues I MaletJapanAmy Elsner QUALIFIED
Arvin V ShinkoRussiaAsiya Javayant QUALIFIED
Morrow L PerinSpainIvan Magalhaes UNQUALIFIED
Stacey Z OstroskyBrazilAsiya Javayant RENEWAL
Cody M BriddickRussiaStephen Shaw NEW
Wickens A DoeIndiaAmy Elsner RENEWAL
Izzy N MarrierUnited KingdomAsiya Javayant PROPOSAL
Emily Y BriddickCanadaIvan Magalhaes PROPOSAL
Darci Z RutaItalyAmy Elsner RENEWAL
Jeanfrancois T StensethBrazilAnna Fali PROPOSAL
Ashley L FigeroaSpainBernardo Dominic 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.