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
Deepesh I MorascaCanadaAmy Elsner UNQUALIFIED
Ashley R BowleyRussiaXuxue Feng PROPOSAL
David K VocelkaGermanyIvan Magalhaes QUALIFIED
Antonio A AmigonBrazilXuxue Feng PROPOSAL
Sinclair C WieserAustraliaStephen Shaw UNQUALIFIED
Kadeem Z GillianGermanyAsiya Javayant NEW
Leja B BowleyArgentinaIoni Bowcher NEGOTIATION
Faith D GillianRussiaBernardo Dominic UNQUALIFIED
Aruna F OldroydFranceBernardo Dominic UNQUALIFIED
Arvin D CaldareraGermanyElwin Sharvill NEW
Chavez Q FollerArgentinaIoni Bowcher UNQUALIFIED
Aika C StensethArgentinaIoni Bowcher RENEWAL
Greenwood I MaletUnited KingdomAmy Elsner UNQUALIFIED
Jefferson V WaycottCanadaIoni Bowcher PROPOSAL
Salvatore K DoeBrazilAmy Elsner RENEWAL
Ricardo M FigeroaArgentinaElwin Sharvill PROPOSAL
James R CaudyIndiaIoni Bowcher UNQUALIFIED
Tony Y PerinIndiaXuxue Feng RENEWAL
Ashley Y MacleadArgentinaOnyama Limba RENEWAL
Izzy X GlickIndiaAnna Fali RENEWAL
Jennifer T InouyeBrazilAsiya Javayant UNQUALIFIED
Ivar C MacleadJapanBernardo Dominic NEGOTIATION
Jefferson O PoquetteArgentinaStephen Shaw NEW
James J CaudyRussiaOnyama Limba QUALIFIED
Kadeem A SlusarskiItalyAmy Elsner RENEWAL
Rodrigues C KuskoFranceXuxue Feng RENEWAL
Izzy I IturbideJapanAsiya Javayant NEW
Johnson V IturbideIndiaIvan Magalhaes NEGOTIATION
Emily U CaldareraJapanIvan Magalhaes NEGOTIATION
Deepesh V BowleyAustraliaXuxue Feng NEGOTIATION
Julie S PerinAustraliaStephen Shaw NEW
Ivar J NickaFranceAmy Elsner NEW
Cody D WieserRussiaBernardo Dominic PROPOSAL
Rodrigues O MaletIndiaAmy Elsner QUALIFIED
Aditya W VenereArgentinaAsiya Javayant PROPOSAL
Aika Z PaprockiIndiaBernardo Dominic PROPOSAL
Jefferson H WieserGermanyAmy Elsner NEGOTIATION
Francesco N RoysterBrazilElwin Sharvill UNQUALIFIED
Kaitlin Q MaletBrazilIvan Magalhaes NEGOTIATION
Darci P GillianBrazilIvan Magalhaes QUALIFIED
Chavez B WhobreyAustraliaAnna Fali NEW
Arvin N PaprockiUnited KingdomAnna Fali NEGOTIATION
Leja I AmigonRussiaStephen Shaw UNQUALIFIED
Aditya R RoysterUnited KingdomAnna Fali NEGOTIATION
Maisha R PaprockiAustraliaAmy Elsner PROPOSAL
Maisha M ChuiIndiaAnna Fali QUALIFIED
Antonio O StensethArgentinaAnna Fali NEW
Maisha C VenereArgentinaAnna Fali RENEWAL
Misaki D NickaIndiaXuxue Feng QUALIFIED
Chavez V WieserIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki A GillianArgentinaAmy Elsner QUALIFIED
Ashley P AlbaresRussiaAmy Elsner NEW
Salvatore D ChuiSpainIoni Bowcher NEW
Nicolas I BriddickJapanElwin Sharvill UNQUALIFIED
Leon W NestleRussiaAmy Elsner RENEWAL
Mujtaba V RoysterGermanyAmy Elsner NEW
Stacey J AlbaresAustraliaOnyama Limba NEW
Darci P AmigonUnited KingdomAsiya Javayant RENEWAL
Costa Q WieserSpainXuxue Feng NEGOTIATION
Juan L PoquetteIndiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams M KuskoCanada2026-05-27Feiner Bros QUALIFIED14Bernardo Dominic
1001Darci F VenereRussia2026-05-28Commercial Press PROPOSAL2Amy Elsner
1002Aditya H SaylorsSpain2026-05-25King, Christopher A Esq NEW71Bernardo Dominic
1003Juan G KuskoFrance2026-05-25Chanay, Jeffrey A Esq NEGOTIATION59Asiya Javayant
1004Wickens U KolmetzBrazil2026-05-28King, Christopher A Esq NEW55Bernardo Dominic
1005Emily O OstroskyUnited Kingdom2026-05-13Chanay, Jeffrey A Esq NEGOTIATION22Stephen Shaw
1006Jones E GillianFrance2026-05-21Commercial Press NEGOTIATION82Amy Elsner
1007Johnson Y WaycottItaly2026-05-30Feiner Bros UNQUALIFIED16Bernardo Dominic
1008Alejandro F ShinkoFrance2026-06-04Feiner Bros PROPOSAL39Amy Elsner
1009Costa F SlusarskiJapan2026-06-05Commercial Press NEW47Elwin Sharvill
1010Wickens Q FigeroaUnited Kingdom2026-05-25Rangoni Of Florence NEW61Bernardo Dominic
1011Deepesh G PerinSpain2026-05-21Buckley Miller Wright QUALIFIED44Amy Elsner
1012Kaitlin Z WaycottBrazil2026-05-13Truhlar And Truhlar Attys QUALIFIED10Bernardo Dominic
1013Octavia A FigeroaFrance2026-05-17Benton, John B Jr PROPOSAL45Amy Elsner
1014Adams C ButtBrazil2026-05-21Commercial Press PROPOSAL24Ioni Bowcher
1015Faith N VenereFrance2026-05-20Truhlar And Truhlar Attys UNQUALIFIED90Onyama Limba
1016David W WaycottIndia2026-05-19Chapman, Ross E Esq NEGOTIATION20Ivan Magalhaes
1017Darci I CampainJapan2026-06-04Feltz Printing Service PROPOSAL33Anna Fali
1018Aruna T ButtItaly2026-05-19Chapman, Ross E Esq NEGOTIATION47Ivan Magalhaes
1019Octavia U AlbaresArgentina2026-05-24Commercial Press NEW66Stephen Shaw
1020Tony M GlickSpain2026-05-23Commercial Press UNQUALIFIED92Asiya Javayant
1021Munro O BowleyUnited Kingdom2026-05-19Truhlar And Truhlar Attys RENEWAL59Ivan Magalhaes
1022Izzy D StockhamIndia2026-05-23King, Christopher A Esq QUALIFIED33Amy Elsner
1023Claire X AlbaresJapan2026-05-29Buckley Miller Wright RENEWAL63Amy Elsner
1024Faith D DoeAustralia2026-05-31Chemel, James L Cpa NEW49Amy Elsner
1025Kaitlin P RutaIndia2026-06-01Chemel, James L Cpa NEGOTIATION5Onyama Limba
1026Clifford F MacleadSpain2026-06-01Commercial Press PROPOSAL91Ivan Magalhaes
1027Chavez P GillianSpain2026-05-29Truhlar And Truhlar Attys UNQUALIFIED38Bernardo Dominic
1028Adams U MacleadAustralia2026-05-12Commercial Press UNQUALIFIED92Amy Elsner
1029Leja R ShinkoCanada2026-05-15Truhlar And Truhlar Attys QUALIFIED56Onyama Limba
1030Antonio I FlosiJapan2026-05-22Morlong Associates PROPOSAL19Amy Elsner
1031Jeanfrancois P ChuiJapan2026-05-23King, Christopher A Esq QUALIFIED18Amy Elsner
1032David U BologniaUnited Kingdom2026-05-20Feltz Printing Service UNQUALIFIED29Stephen Shaw
1033Darci V VocelkaItaly2026-05-28Buckley Miller Wright RENEWAL35Anna Fali
1034Maria A OldroydAustralia2026-05-27Benton, John B Jr RENEWAL36Asiya Javayant
1035Kadeem T KolmetzJapan2026-05-23Benton, John B Jr PROPOSAL38Anna Fali
1036Aditya D WhobreyGermany2026-05-09Chemel, James L Cpa QUALIFIED82Ioni Bowcher
1037Leja S RoysterItaly2026-06-06Dorl, James J Esq NEW76Bernardo Dominic
1038Aruna Z SaylorsGermany2026-05-14Rangoni Of Florence NEGOTIATION31Amy Elsner
1039Francesco J OstroskyGermany2026-05-29Dorl, James J Esq RENEWAL21Amy Elsner
1040Aruna D GillianJapan2026-05-24Morlong Associates PROPOSAL91Xuxue Feng
1041Cody I CaudyBrazil2026-06-05King, Christopher A Esq RENEWAL28Elwin Sharvill
1042Faith A SlusarskiSpain2026-05-31Rousseaux, Michael Esq RENEWAL39Xuxue Feng
1043David J BriddickItaly2026-05-29Feiner Bros QUALIFIED33Ivan Magalhaes
1044Morrow V OldroydUnited Kingdom2026-05-17Buckley Miller Wright UNQUALIFIED10Onyama Limba
1045Aditya S InouyeFrance2026-06-02Buckley Miller Wright QUALIFIED62Anna Fali
1046Octavia R RoysterFrance2026-06-07Chemel, James L Cpa RENEWAL70Ivan Magalhaes
1047Jones R WhobreyAustralia2026-06-07Truhlar And Truhlar Attys UNQUALIFIED73Amy Elsner
1048Antonio L SchemmerRussia2026-05-26Morlong Associates RENEWAL98Elwin Sharvill
1049Ashley L AlbaresGermany2026-05-17King, Christopher A Esq NEGOTIATION60Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F StensethFranceIvan Magalhaes PROPOSAL
Jefferson B CaldareraSpainIvan Magalhaes UNQUALIFIED
Mujtaba H MarrierAustraliaXuxue Feng QUALIFIED
Silvio J RoysterSpainIvan Magalhaes QUALIFIED
Ivar R PerinUnited KingdomIoni Bowcher PROPOSAL
Stacey M RutaJapanBernardo Dominic NEGOTIATION
Sinclair V RutaGermanyXuxue Feng PROPOSAL
Greenwood N SlusarskiIndiaBernardo Dominic RENEWAL
Leja S FigeroaAustraliaIoni Bowcher RENEWAL
Francesco K DilliardRussiaIoni Bowcher RENEWAL
Faith L InouyeGermanyXuxue Feng UNQUALIFIED
Jennifer U VocelkaGermanyAnna Fali PROPOSAL
Salvatore K FerenczGermanyIoni Bowcher PROPOSAL
James Y WaycottJapanAnna Fali NEGOTIATION
Mayumi H PerinItalyStephen Shaw RENEWAL
Jones C NestleRussiaAmy Elsner NEW
Leja R DoeArgentinaBernardo Dominic NEW
Murillo O MacleadAustraliaAsiya Javayant PROPOSAL
Salvatore A PoquetteJapanIvan Magalhaes NEGOTIATION
Leon S SlusarskiJapanAmy Elsner QUALIFIED
Antonio J ChuiSpainIvan Magalhaes QUALIFIED
Ricardo J SlusarskiCanadaOnyama Limba NEGOTIATION
Aditya J DoeGermanyAnna Fali NEGOTIATION
Wickens V CaldareraCanadaAnna Fali UNQUALIFIED
Ricardo J SchemmerBrazilAmy Elsner NEW
Morrow G StensethSpainIoni Bowcher QUALIFIED
Darci H KolmetzItalyIvan Magalhaes NEGOTIATION
Jeanfrancois M IturbideJapanOnyama Limba RENEWAL
Tony R SergiGermanyXuxue Feng UNQUALIFIED
Arvin L NestleJapanStephen Shaw QUALIFIED
Octavia X VenereGermanyAnna Fali NEW
Jefferson T GarufiSpainAsiya Javayant NEGOTIATION
Sinclair W CaudyUnited KingdomAsiya Javayant PROPOSAL
Adams I RoysterSpainAnna Fali UNQUALIFIED
Rodrigues T PaprockiItalyIoni Bowcher PROPOSAL
David B RoysterUnited KingdomXuxue Feng QUALIFIED
Juan J BologniaGermanyStephen Shaw NEGOTIATION
Emily K MaletGermanyBernardo Dominic QUALIFIED
Johnson R StensethRussiaXuxue Feng UNQUALIFIED
Leja R GillianIndiaOnyama Limba NEGOTIATION
James P FlosiRussiaAmy Elsner NEW
Aditya G CampainBrazilOnyama Limba QUALIFIED
Aika Q PoquetteAustraliaIoni Bowcher PROPOSAL
Tony Q GlickItalyOnyama Limba PROPOSAL
Aruna F IturbideCanadaStephen Shaw RENEWAL
Ricardo D NickaJapanStephen Shaw NEGOTIATION
Aditya N OldroydItalyBernardo Dominic PROPOSAL
Adams J RutaBrazilAsiya Javayant PROPOSAL
Rodrigues P PaprockiArgentinaIoni Bowcher NEGOTIATION
Silvio E PerinArgentinaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Clifford F Nestle
Stacey B Slusarski
Maisha J Bolognia
Wickens U Doe
Claire B Slusarski
Silvio J Amigon
Clifford Y Marrier
Jones R Sergi
Morrow S Malet
Kaitlin C Garufi
Emily D Darakjy
Silvio T Poquette
Octavia T Slusarski
Octavia G Vocelka
Jones N Whobrey
Faith I Garufi
Darci Q Gaucho
Jennifer T Rim
David G Flosi
Antonio H Marrier
Johnson B Iturbide
Morrow C Butt
Misaki D Venere
Jennifer H Rulapaugh
Darci C Campain
Ricardo D Malet
Ivar G Oldroyd
Clifford N Whobrey
Johnson Q Malet
Wickens D Rulapaugh
Rodrigues I Morasca
Faith D Waycott
Kadeem Q Ruta
Francesco H Butt
Chavez E Bowley
Salvatore C Foller
Izzy D Stockham
Leja G Wieser
Leja E Shinko
Emily U Waycott
Chavez M Paprocki
Darci E Waycott
Costa I Sergi
Francesco I Kolmetz
Leon V Chui
Costa Z Ostrosky
Adams M Morasca
Julie U Slusarski
Leon S Ostrosky
Claire R Foller
IdCountryDate
1000Canada2026-05-16
1001Australia2026-05-12
1002India2026-05-30
1003India2026-05-21
1004Japan2026-06-02
1005Argentina2026-06-04
1006France2026-05-17
1007Australia2026-05-19
1008Brazil2026-05-29
1009Argentina2026-05-17
1010Italy2026-05-24
1011France2026-05-13
1012Australia2026-05-23
1013Canada2026-05-21
1014Australia2026-05-22
1015United Kingdom2026-05-25
1016United Kingdom2026-05-12
1017Russia2026-05-25
1018Argentina2026-05-16
1019Germany2026-05-09
1020United Kingdom2026-05-18
1021Germany2026-06-03
1022India2026-05-25
1023Germany2026-06-05
1024Russia2026-05-24
1025Russia2026-05-25
1026Germany2026-05-13
1027Russia2026-05-22
1028Australia2026-05-14
1029Germany2026-06-04
1030Italy2026-05-23
1031Argentina2026-05-11
1032Australia2026-05-25
1033Germany2026-05-26
1034France2026-05-27
1035Germany2026-05-11
1036Italy2026-05-24
1037Australia2026-05-13
1038India2026-05-09
1039Argentina2026-06-04
1040France2026-05-28
1041Argentina2026-05-31
1042Italy2026-05-23
1043Canada2026-05-21
1044Australia2026-05-10
1045India2026-06-02
1046Brazil2026-05-10
1047Spain2026-05-31
1048Canada2026-06-03
1049Russia2026-05-14

On-Demand Data

NameIdCountryDate
Greenwood S Kusko1000Germany2026-05-10
Francesco Y Ruta1001France2026-05-23
Salvatore Y Glick1002France2026-05-27
Nicolas K Royster1003Japan2026-05-23
Francesco K Ruta1004Italy2026-05-31
Silvio W Kusko1005Spain2026-05-11
Maisha S Campain1006Brazil2026-06-02
Leja Y Poquette1007Italy2026-05-14
Julie W Marrier1008Japan2026-06-01
Ivar A Waycott1009Italy2026-05-12
Alejandro J Figeroa1010Brazil2026-05-21
Antonio E Albares1011Australia2026-05-30
Claire B Garufi1012Brazil2026-06-07
Maria K Albares1013Japan2026-05-21
Kadeem U Perin1014Italy2026-05-16
Misaki G Darakjy1015United Kingdom2026-05-28
Sinclair L Gaucho1016Australia2026-05-26
Johnson V Ruta1017France2026-05-31
Mayumi E Bowley1018United Kingdom2026-05-16
Kaitlin K Perin1019Russia2026-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba B MaletSpainAnna Fali UNQUALIFIED
Misaki H MaletSpainStephen Shaw RENEWAL
Stacey O MaletIndiaAmy Elsner QUALIFIED
Aika S CampainFranceOnyama Limba UNQUALIFIED
James A MarrierCanadaBernardo Dominic QUALIFIED
Leja L FollerAustraliaStephen Shaw PROPOSAL
Aika X OldroydIndiaOnyama Limba NEGOTIATION
Morrow A BowleyItalyAnna Fali QUALIFIED
Cody M BologniaGermanyAmy Elsner NEGOTIATION
Kaitlin S TollnerIndiaOnyama Limba QUALIFIED
Kadeem L WieserUnited KingdomAsiya Javayant NEGOTIATION
Sinclair N FlosiRussiaIoni Bowcher UNQUALIFIED
Aditya I IturbideUnited KingdomAmy Elsner RENEWAL
Ricardo Y DoeAustraliaElwin Sharvill PROPOSAL
Kaitlin I CampainAustraliaAmy Elsner PROPOSAL
Costa X PaprockiCanadaElwin Sharvill PROPOSAL
Emily U IturbideJapanAmy Elsner PROPOSAL
Rodrigues U CaldareraAustraliaAnna Fali NEW
Misaki J MarrierUnited KingdomXuxue Feng RENEWAL
Munro A BriddickFranceElwin Sharvill NEGOTIATION
Antonio I PerinUnited KingdomXuxue Feng NEW
Nicolas Y BriddickFranceIoni Bowcher PROPOSAL
Wickens I ButtFranceIoni Bowcher NEGOTIATION
Izzy K MaletUnited KingdomAsiya Javayant PROPOSAL
Tony T BologniaBrazilOnyama Limba NEGOTIATION
Juan O WaycottUnited KingdomBernardo Dominic RENEWAL
Darci T IturbideArgentinaOnyama Limba NEGOTIATION
Ricardo W ChuiJapanIoni Bowcher PROPOSAL
Nicolas G CaldareraArgentinaBernardo Dominic RENEWAL
Izzy F WaycottItalyXuxue Feng PROPOSAL
Salvatore Y FollerJapanElwin Sharvill NEW
Adams S MaletBrazilAnna Fali RENEWAL
Francesco C PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Aditya S WieserSpainAsiya Javayant NEGOTIATION
Costa D IturbideSpainOnyama Limba PROPOSAL
Nicolas M GarufiJapanIvan Magalhaes NEGOTIATION
Mayumi N AlbaresBrazilElwin Sharvill NEW
Misaki Q RutaFranceIvan Magalhaes RENEWAL
Jennifer B BowleySpainBernardo Dominic QUALIFIED
Mayumi U NickaRussiaXuxue Feng 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.