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
Jones E KolmetzBrazilIoni Bowcher QUALIFIED
Johnson V MarrierCanadaElwin Sharvill NEGOTIATION
Chavez G PoquetteCanadaAmy Elsner PROPOSAL
Morrow E RutaBrazilOnyama Limba RENEWAL
Arvin X WaycottUnited KingdomElwin Sharvill PROPOSAL
Morrow V GlickSpainIvan Magalhaes QUALIFIED
Rodrigues A MorascaItalyAsiya Javayant PROPOSAL
Darci R BowleyArgentinaAmy Elsner NEW
Isabel A RoysterBrazilAmy Elsner PROPOSAL
Salvatore I VenereGermanyAnna Fali NEGOTIATION
Kadeem H WieserRussiaAnna Fali QUALIFIED
Silvio R FlosiCanadaBernardo Dominic NEGOTIATION
Faith K NickaCanadaAmy Elsner RENEWAL
Aruna O SlusarskiAustraliaIoni Bowcher PROPOSAL
Munro J SaylorsAustraliaOnyama Limba NEW
Emily R FollerRussiaStephen Shaw NEGOTIATION
Faith B PoquetteFranceOnyama Limba PROPOSAL
Faith R GlickSpainStephen Shaw RENEWAL
Morrow V NestleBrazilBernardo Dominic NEGOTIATION
Cody N GlickJapanIvan Magalhaes UNQUALIFIED
Octavia Y StockhamBrazilXuxue Feng NEGOTIATION
Salvatore G AlbaresArgentinaStephen Shaw NEGOTIATION
Jones K CaudyArgentinaAnna Fali RENEWAL
Aruna O FlosiRussiaAnna Fali PROPOSAL
Kaitlin M GlickBrazilIoni Bowcher NEGOTIATION
Stacey C NestleRussiaAnna Fali PROPOSAL
Izzy B BologniaRussiaStephen Shaw QUALIFIED
Maisha X TollnerIndiaIoni Bowcher PROPOSAL
Stacey Q PerinAustraliaAmy Elsner UNQUALIFIED
Stacey X FlosiRussiaOnyama Limba PROPOSAL
Smith Q CampainIndiaStephen Shaw RENEWAL
Greenwood Q BriddickUnited KingdomAsiya Javayant NEW
Faith M CaldareraRussiaAsiya Javayant QUALIFIED
Kadeem S CaldareraFranceStephen Shaw PROPOSAL
Chavez A BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh L AmigonFranceBernardo Dominic QUALIFIED
Darci Y SlusarskiUnited KingdomAnna Fali NEW
Jones B SaylorsRussiaIoni Bowcher PROPOSAL
Adams M MacleadItalyAmy Elsner RENEWAL
Salvatore M CaudyCanadaAnna Fali RENEWAL
Emily T SergiArgentinaAnna Fali QUALIFIED
Francesco K OldroydSpainXuxue Feng RENEWAL
Rodrigues U ShinkoAustraliaIvan Magalhaes QUALIFIED
Juan T OstroskyIndiaBernardo Dominic NEW
Octavia N ButtBrazilAmy Elsner NEGOTIATION
Jeanfrancois Q GillianBrazilIoni Bowcher UNQUALIFIED
Wickens I RoysterJapanAsiya Javayant NEGOTIATION
Antonio N CampainJapanElwin Sharvill PROPOSAL
Jones Q OstroskyFranceIvan Magalhaes UNQUALIFIED
Wickens L FollerBrazilElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan E BowleyItalyStephen Shaw QUALIFIED
Kaitlin L CaudyAustraliaStephen Shaw NEW
Darci Z OstroskySpainIvan Magalhaes NEGOTIATION
Cody J OstroskyItalyAsiya Javayant UNQUALIFIED
Sinclair A WieserSpainIvan Magalhaes QUALIFIED
Tony A RutaBrazilBernardo Dominic QUALIFIED
Deepesh E MaletIndiaIoni Bowcher UNQUALIFIED
Leon V WaycottSpainBernardo Dominic RENEWAL
Adams Z PerinRussiaElwin Sharvill QUALIFIED
Smith G MorascaArgentinaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois U StensethJapan2026-05-27Chapman, Ross E Esq PROPOSAL60Anna Fali
1001Leja K RoysterCanada2026-05-20Chanay, Jeffrey A Esq NEW71Ioni Bowcher
1002Ivar U AlbaresGermany2026-05-24King, Christopher A Esq QUALIFIED35Amy Elsner
1003Ashley C BowleySpain2026-05-18Benton, John B Jr PROPOSAL44Elwin Sharvill
1004Ricardo S CampainJapan2026-06-01Truhlar And Truhlar Attys NEGOTIATION80Bernardo Dominic
1005Deepesh Z FollerJapan2026-05-24Buckley Miller Wright RENEWAL37Ivan Magalhaes
1006Leon B InouyeCanada2026-05-29Commercial Press NEW1Ivan Magalhaes
1007Ricardo T ChuiArgentina2026-05-17Feiner Bros QUALIFIED20Bernardo Dominic
1008Adams J CampainJapan2026-06-07Rousseaux, Michael Esq QUALIFIED23Onyama Limba
1009Murillo X TollnerIndia2026-05-20Buckley Miller Wright NEW66Ioni Bowcher
1010Morrow F StockhamJapan2026-05-31Chemel, James L Cpa NEGOTIATION79Stephen Shaw
1011Tony G SchemmerFrance2026-06-05Chapman, Ross E Esq RENEWAL40Onyama Limba
1012Octavia V DoeCanada2026-06-09Benton, John B Jr UNQUALIFIED28Ioni Bowcher
1013Silvio E InouyeUnited Kingdom2026-06-02Printing Dimensions RENEWAL65Anna Fali
1014Jennifer C GauchoRussia2026-06-07Morlong Associates PROPOSAL91Anna Fali
1015Tony E DoeBrazil2026-06-01Buckley Miller Wright UNQUALIFIED56Asiya Javayant
1016Chavez T BriddickIndia2026-05-23Benton, John B Jr PROPOSAL66Stephen Shaw
1017Isabel X SergiArgentina2026-05-26Benton, John B Jr PROPOSAL58Anna Fali
1018Aika Q WieserRussia2026-05-28Buckley Miller Wright RENEWAL36Elwin Sharvill
1019Isabel M ShinkoArgentina2026-06-07Feltz Printing Service QUALIFIED72Ivan Magalhaes
1020Costa T WhobreyRussia2026-06-05Truhlar And Truhlar Attys RENEWAL23Bernardo Dominic
1021Chavez Z AmigonUnited Kingdom2026-06-01Truhlar And Truhlar Attys PROPOSAL0Bernardo Dominic
1022Octavia H WieserUnited Kingdom2026-06-13Rousseaux, Michael Esq UNQUALIFIED71Ivan Magalhaes
1023James U RutaRussia2026-05-31Dorl, James J Esq RENEWAL14Amy Elsner
1024Mujtaba O ShinkoSpain2026-06-07Morlong Associates UNQUALIFIED37Elwin Sharvill
1025Kaitlin B NestleJapan2026-06-09Commercial Press NEW65Onyama Limba
1026Murillo U WieserFrance2026-05-21Commercial Press NEGOTIATION30Asiya Javayant
1027Octavia Y BriddickBrazil2026-05-17Buckley Miller Wright RENEWAL81Anna Fali
1028Aruna O NickaIndia2026-05-31King, Christopher A Esq NEW73Ioni Bowcher
1029Smith E CampainSpain2026-05-22Printing Dimensions NEW1Stephen Shaw
1030Tony E RutaCanada2026-05-21Feiner Bros NEW66Ivan Magalhaes
1031Jeanfrancois B VenereItaly2026-05-18Truhlar And Truhlar Attys UNQUALIFIED62Onyama Limba
1032Emily P GlickJapan2026-06-10Printing Dimensions UNQUALIFIED10Bernardo Dominic
1033Faith X PoquetteAustralia2026-05-18King, Christopher A Esq NEGOTIATION74Asiya Javayant
1034Stacey M BriddickJapan2026-06-15Truhlar And Truhlar Attys RENEWAL6Bernardo Dominic
1035Morrow C KuskoSpain2026-06-05Dorl, James J Esq NEGOTIATION58Stephen Shaw
1036Faith L DilliardUnited Kingdom2026-06-01Feiner Bros NEW19Xuxue Feng
1037Mujtaba L GauchoBrazil2026-05-28Truhlar And Truhlar Attys UNQUALIFIED78Onyama Limba
1038Cody Z DoeUnited Kingdom2026-05-18Rangoni Of Florence RENEWAL47Xuxue Feng
1039Ivar R AlbaresGermany2026-05-30Commercial Press RENEWAL34Anna Fali
1040Aika H WieserArgentina2026-06-06Feiner Bros RENEWAL3Amy Elsner
1041Octavia E VenereBrazil2026-06-08Truhlar And Truhlar Attys NEW28Anna Fali
1042Antonio Y SergiAustralia2026-06-11Benton, John B Jr RENEWAL98Amy Elsner
1043Juan C RutaRussia2026-06-07Rangoni Of Florence UNQUALIFIED72Stephen Shaw
1044Nicolas M InouyeRussia2026-05-18Rangoni Of Florence QUALIFIED96Amy Elsner
1045Ashley B GillianJapan2026-06-06Chapman, Ross E Esq NEW93Xuxue Feng
1046Octavia N KuskoSpain2026-05-30Dorl, James J Esq NEGOTIATION19Amy Elsner
1047Izzy I KolmetzSpain2026-06-09Feltz Printing Service QUALIFIED60Onyama Limba
1048Maria Y CampainSpain2026-05-28Rousseaux, Michael Esq RENEWAL95Ioni Bowcher
1049Mayumi P DoeIndia2026-06-04Chemel, James L Cpa RENEWAL69Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Cody D SchemmerGermanyStephen Shaw RENEWAL
Izzy S FerenczJapanElwin Sharvill PROPOSAL
Munro G MarrierIndiaAnna Fali NEGOTIATION
Alejandro V FigeroaRussiaBernardo Dominic UNQUALIFIED
Chavez M FollerArgentinaElwin Sharvill UNQUALIFIED
Nicolas N MaletIndiaXuxue Feng NEW
Aika P MarrierAustraliaIoni Bowcher QUALIFIED
Jefferson N OldroydItalyAsiya Javayant NEGOTIATION
Izzy C ChuiItalyIvan Magalhaes NEGOTIATION
Aruna E PaprockiGermanyOnyama Limba UNQUALIFIED
Kaitlin K SchemmerArgentinaAmy Elsner QUALIFIED
Kadeem U TollnerAustraliaStephen Shaw QUALIFIED
Nicolas H PaprockiGermanyOnyama Limba NEW
Jennifer R SergiIndiaAnna Fali NEW
Jeanfrancois W PaprockiBrazilIoni Bowcher NEW
Cody D VocelkaFranceBernardo Dominic UNQUALIFIED
Mujtaba D OstroskyArgentinaIoni Bowcher NEW
Misaki Z RoysterCanadaIvan Magalhaes UNQUALIFIED
Aika E CaldareraRussiaAnna Fali RENEWAL
Aika I WhobreyRussiaBernardo Dominic NEW
Izzy P FollerRussiaBernardo Dominic RENEWAL
Claire V WhobreyJapanAnna Fali UNQUALIFIED
Mujtaba Z FlosiArgentinaOnyama Limba NEGOTIATION
Morrow H CaudySpainAmy Elsner NEGOTIATION
Johnson H NickaSpainElwin Sharvill RENEWAL
Cody N RoysterJapanXuxue Feng NEW
Maria X RutaSpainElwin Sharvill NEW
Sinclair T ButtIndiaAsiya Javayant RENEWAL
Jennifer N FlosiCanadaAmy Elsner QUALIFIED
Darci M BologniaFranceIoni Bowcher UNQUALIFIED
Darci S StockhamItalyAmy Elsner UNQUALIFIED
Antonio I RimArgentinaAmy Elsner QUALIFIED
Adams H ShinkoUnited KingdomElwin Sharvill PROPOSAL
Tony Y ChuiBrazilIvan Magalhaes NEGOTIATION
Rodrigues A NickaBrazilBernardo Dominic NEGOTIATION
Murillo V GarufiJapanElwin Sharvill PROPOSAL
Aditya I InouyeArgentinaBernardo Dominic NEGOTIATION
Jeanfrancois Q FlosiCanadaStephen Shaw NEW
Stacey T MacleadIndiaOnyama Limba RENEWAL
Adams H CaldareraUnited KingdomAsiya Javayant PROPOSAL
Jennifer V SlusarskiAustraliaOnyama Limba RENEWAL
Maria C GlickIndiaAsiya Javayant QUALIFIED
Cody R SergiGermanyStephen Shaw NEGOTIATION
Octavia J DoeUnited KingdomAnna Fali NEGOTIATION
Maria S KolmetzRussiaElwin Sharvill RENEWAL
Francesco B WieserAustraliaAsiya Javayant UNQUALIFIED
Jones O CaudyFranceAsiya Javayant RENEWAL
Johnson U DarakjyGermanyAnna Fali NEW
Emily V SchemmerArgentinaIoni Bowcher QUALIFIED
Kaitlin B WaycottJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Jefferson V Briddick
Maria I Briddick
Ashley Q Slusarski
Claire B Chui
Adams E Maclead
Ivar E Foller
Clifford F Whobrey
Maisha Z Marrier
Faith R Briddick
Jones F Campain
Salvatore V Poquette
Misaki C Kusko
Adams B Slusarski
Maria H Morasca
Francesco Z Shinko
Salvatore P Tollner
Alejandro V Briddick
Leja F Briddick
Ivar S Paprocki
Kaitlin H Maclead
Aditya U Glick
Antonio E Bowley
Antonio U Slusarski
Ricardo R Schemmer
Faith D Tollner
Misaki B Kolmetz
Leon P Venere
James I Nicka
Faith V Ferencz
Juan F Ruta
Sinclair M Caudy
Antonio Q Malet
Adams O Butt
Ricardo G Tollner
Misaki R Flosi
Francesco N Foller
Aruna C Gaucho
James T Rulapaugh
Nicolas N Malet
Jefferson D Ostrosky
Silvio L Kusko
Salvatore I Ostrosky
Faith C Nicka
Jones E Kolmetz
Julie Q Doe
Cody F Poquette
Maria W Ferencz
Julie V Paprocki
Francesco V Garufi
Stacey J Campain
IdCountryDate
1000Spain2026-05-17
1001Australia2026-06-11
1002Australia2026-05-17
1003Russia2026-05-19
1004United Kingdom2026-06-01
1005Canada2026-05-30
1006Spain2026-06-03
1007Japan2026-06-11
1008Russia2026-06-13
1009Japan2026-06-11
1010United Kingdom2026-06-06
1011France2026-05-21
1012Brazil2026-05-23
1013Spain2026-06-08
1014United Kingdom2026-06-12
1015Australia2026-06-06
1016Argentina2026-06-10
1017France2026-06-02
1018Spain2026-05-21
1019Australia2026-05-25
1020India2026-06-11
1021Brazil2026-05-25
1022Germany2026-05-18
1023France2026-05-26
1024Japan2026-06-05
1025Russia2026-06-11
1026Brazil2026-05-27
1027Spain2026-06-13
1028India2026-05-22
1029Germany2026-06-05
1030India2026-06-05
1031Germany2026-05-24
1032Germany2026-06-01
1033Germany2026-06-03
1034Germany2026-05-20
1035Spain2026-05-24
1036Spain2026-05-18
1037Germany2026-06-08
1038Italy2026-06-04
1039France2026-05-28
1040Australia2026-06-14
1041Spain2026-06-11
1042Australia2026-05-20
1043Japan2026-05-19
1044Australia2026-06-11
1045Australia2026-05-30
1046Russia2026-05-31
1047France2026-06-05
1048Brazil2026-06-02
1049United Kingdom2026-05-27

On-Demand Data

NameIdCountryDate
Rodrigues O Briddick1000Germany2026-06-01
Stacey V Caldarera1001United Kingdom2026-05-31
Francesco O Sergi1002Russia2026-06-11
Johnson F Dilliard1003France2026-06-05
Maria Z Slusarski1004United Kingdom2026-06-04
Clifford E Stenseth1005Russia2026-06-08
Smith T Oldroyd1006Australia2026-06-05
Tony G Malet1007France2026-06-01
Adams A Kolmetz1008United Kingdom2026-06-02
Ivar J Ruta1009Australia2026-06-13
Kaitlin V Bolognia1010United Kingdom2026-05-17
Munro M Ferencz1011Russia2026-06-14
Antonio U Dilliard1012Japan2026-06-07
David T Schemmer1013Australia2026-05-23
Murillo S Slusarski1014Italy2026-05-28
Aditya B Royster1015India2026-05-21
Wickens E Rulapaugh1016Brazil2026-06-09
Murillo M Garufi1017Japan2026-06-08
Aruna A Ferencz1018Canada2026-06-11
Kaitlin W Glick1019Japan2026-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie N NickaCanadaAnna Fali NEGOTIATION
Jennifer B BologniaArgentinaAmy Elsner PROPOSAL
Jones O SlusarskiIndiaAmy Elsner UNQUALIFIED
Greenwood P PoquetteSpainIvan Magalhaes QUALIFIED
Jefferson G FlosiCanadaOnyama Limba RENEWAL
Arvin O MarrierJapanXuxue Feng UNQUALIFIED
Cody E OstroskyAustraliaXuxue Feng PROPOSAL
Sinclair J MaletSpainElwin Sharvill PROPOSAL
Alejandro F TollnerUnited KingdomXuxue Feng UNQUALIFIED
Izzy H PoquetteArgentinaIvan Magalhaes PROPOSAL
Salvatore P DilliardFranceOnyama Limba UNQUALIFIED
Johnson A WhobreyBrazilElwin Sharvill NEW
Antonio B RulapaughRussiaElwin Sharvill PROPOSAL
Wickens S WhobreyJapanIoni Bowcher QUALIFIED
Octavia X MaletCanadaAsiya Javayant NEGOTIATION
Aditya P KuskoAustraliaBernardo Dominic PROPOSAL
Misaki X StensethJapanOnyama Limba UNQUALIFIED
Jones E CaldareraGermanyAnna Fali PROPOSAL
Ashley E ChuiCanadaXuxue Feng NEGOTIATION
Smith L RoysterCanadaOnyama Limba RENEWAL
Emily T FerenczCanadaOnyama Limba RENEWAL
Salvatore D CaldareraItalyOnyama Limba NEGOTIATION
James H ChuiIndiaBernardo Dominic RENEWAL
Salvatore Y VocelkaRussiaOnyama Limba NEW
Stacey M FerenczUnited KingdomAmy Elsner RENEWAL
David F TollnerUnited KingdomStephen Shaw PROPOSAL
Stacey C PoquetteCanadaIoni Bowcher UNQUALIFIED
Leja B WieserItalyBernardo Dominic RENEWAL
Cody R NestleAustraliaXuxue Feng UNQUALIFIED
Claire A SchemmerAustraliaIvan Magalhaes NEGOTIATION
Isabel Z RimAustraliaAsiya Javayant PROPOSAL
James X CampainBrazilIvan Magalhaes PROPOSAL
Chavez X WhobreyCanadaAmy Elsner PROPOSAL
Munro B NickaRussiaAnna Fali QUALIFIED
Sinclair H BriddickFranceAnna Fali UNQUALIFIED
Aika T PoquetteAustraliaAnna Fali PROPOSAL
Tony F FollerJapanIoni Bowcher QUALIFIED
Ricardo O IturbideAustraliaIoni Bowcher PROPOSAL
Octavia X GillianItalyAnna Fali QUALIFIED
Kaitlin U BologniaItalyOnyama Limba 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.