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 A WhobreyJapanXuxue Feng PROPOSAL
Isabel I GauchoBrazilAmy Elsner UNQUALIFIED
Ashley N FigeroaCanadaOnyama Limba PROPOSAL
Misaki Z PerinUnited KingdomAsiya Javayant NEW
Adams U GillianAustraliaOnyama Limba QUALIFIED
Salvatore Y BologniaIndiaIoni Bowcher RENEWAL
James N PerinArgentinaBernardo Dominic NEW
Wickens R WieserCanadaAsiya Javayant UNQUALIFIED
Jefferson X CaudyArgentinaStephen Shaw RENEWAL
Sinclair L NickaFranceOnyama Limba QUALIFIED
Alejandro Q TollnerIndiaIvan Magalhaes NEGOTIATION
Smith K IturbideCanadaXuxue Feng PROPOSAL
Leja Z InouyeJapanAsiya Javayant QUALIFIED
Faith C MacleadArgentinaBernardo Dominic RENEWAL
Darci V SergiAustraliaOnyama Limba PROPOSAL
Mayumi X WhobreyUnited KingdomBernardo Dominic RENEWAL
Isabel C GarufiArgentinaXuxue Feng NEW
Juan O GillianGermanyXuxue Feng UNQUALIFIED
Ashley U StensethIndiaAnna Fali NEGOTIATION
Maisha R RoysterArgentinaAsiya Javayant NEW
Aditya W StockhamJapanIvan Magalhaes PROPOSAL
Misaki P FigeroaGermanyIvan Magalhaes NEGOTIATION
Isabel V MacleadFranceBernardo Dominic NEGOTIATION
Morrow U SlusarskiAustraliaStephen Shaw QUALIFIED
Murillo U GarufiUnited KingdomOnyama Limba NEGOTIATION
Murillo H FerenczArgentinaStephen Shaw NEGOTIATION
Aditya S FigeroaFranceAsiya Javayant RENEWAL
Tony X GlickBrazilAsiya Javayant NEW
Johnson S CampainArgentinaElwin Sharvill PROPOSAL
Alejandro J DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Jennifer R OstroskyRussiaAmy Elsner RENEWAL
Costa Y RutaGermanyXuxue Feng NEGOTIATION
Octavia Y AlbaresBrazilIvan Magalhaes NEGOTIATION
Salvatore I IturbideIndiaAmy Elsner NEGOTIATION
Mayumi U RimCanadaStephen Shaw NEGOTIATION
Ivar L ShinkoGermanyAmy Elsner PROPOSAL
Clifford A BriddickUnited KingdomOnyama Limba UNQUALIFIED
Silvio T MacleadArgentinaOnyama Limba RENEWAL
Julie R RimJapanOnyama Limba PROPOSAL
Greenwood N BowleyRussiaXuxue Feng QUALIFIED
James Q AlbaresGermanyAsiya Javayant PROPOSAL
Maria T SergiJapanIoni Bowcher NEW
Jones B NickaSpainBernardo Dominic UNQUALIFIED
Aruna Y WaycottCanadaAsiya Javayant UNQUALIFIED
Wickens D AlbaresCanadaBernardo Dominic QUALIFIED
Emily L MacleadBrazilIvan Magalhaes UNQUALIFIED
Adams A FollerBrazilElwin Sharvill NEGOTIATION
Ashley C BologniaFranceIvan Magalhaes QUALIFIED
David V AlbaresItalyAsiya Javayant RENEWAL
David D ButtAustraliaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Francesco O NestleRussiaAnna Fali NEW
Misaki Z RutaArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois M TollnerSpainIvan Magalhaes NEGOTIATION
Arvin E OstroskyBrazilStephen Shaw QUALIFIED
Claire I BowleyGermanyAnna Fali QUALIFIED
Emily Y BowleyGermanyOnyama Limba RENEWAL
Aruna S BowleyItalyStephen Shaw RENEWAL
Aditya D MacleadIndiaIoni Bowcher RENEWAL
Faith P DilliardIndiaOnyama Limba QUALIFIED
Jefferson L PaprockiCanadaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois N FerenczArgentina2026-05-11Feiner Bros NEGOTIATION35Ivan Magalhaes
1001Stacey E AlbaresBrazil2026-05-11Truhlar And Truhlar Attys NEGOTIATION73Bernardo Dominic
1002Sinclair E GillianJapan2026-05-12Rangoni Of Florence NEGOTIATION92Amy Elsner
1003Kaitlin S InouyeIndia2026-05-23Chapman, Ross E Esq UNQUALIFIED77Onyama Limba
1004Emily I FerenczAustralia2026-05-17Dorl, James J Esq NEGOTIATION34Onyama Limba
1005Chavez X KolmetzRussia2026-05-12Benton, John B Jr RENEWAL18Xuxue Feng
1006Silvio X ButtArgentina2026-05-08Rousseaux, Michael Esq UNQUALIFIED96Amy Elsner
1007Chavez F WhobreyBrazil2026-05-11Benton, John B Jr NEGOTIATION29Xuxue Feng
1008Octavia D OstroskyRussia2026-05-25Rangoni Of Florence PROPOSAL20Bernardo Dominic
1009Isabel H GarufiBrazil2026-05-26Chemel, James L Cpa RENEWAL40Ioni Bowcher
1010Maisha G CaudyJapan2026-05-05Feiner Bros UNQUALIFIED96Ivan Magalhaes
1011Aika X BologniaArgentina2026-05-24Benton, John B Jr PROPOSAL65Amy Elsner
1012Aruna F SergiCanada2026-05-10Rangoni Of Florence QUALIFIED77Asiya Javayant
1013Chavez G KuskoUnited Kingdom2026-05-01Buckley Miller Wright NEGOTIATION93Bernardo Dominic
1014Ivar M ChuiItaly2026-05-17Chanay, Jeffrey A Esq NEGOTIATION29Bernardo Dominic
1015Faith X PerinRussia2026-05-18Commercial Press UNQUALIFIED58Ioni Bowcher
1016Costa Y DarakjyUnited Kingdom2026-05-01Printing Dimensions NEGOTIATION43Bernardo Dominic
1017Adams B DilliardAustralia2026-05-17Feltz Printing Service NEGOTIATION2Ivan Magalhaes
1018Greenwood D WieserItaly2026-05-12Truhlar And Truhlar Attys QUALIFIED82Asiya Javayant
1019Jennifer Y OstroskyBrazil2026-05-10Buckley Miller Wright RENEWAL34Asiya Javayant
1020Aditya C CaudyFrance2026-05-10Printing Dimensions UNQUALIFIED84Ivan Magalhaes
1021Costa S CampainGermany2026-05-19Chanay, Jeffrey A Esq RENEWAL18Onyama Limba
1022Stacey X ChuiGermany2026-05-16Chemel, James L Cpa RENEWAL84Elwin Sharvill
1023Stacey A PerinJapan2026-05-22Feltz Printing Service NEGOTIATION76Amy Elsner
1024Sinclair F WaycottGermany2026-05-24Buckley Miller Wright RENEWAL21Elwin Sharvill
1025Leon U CaldareraFrance2026-05-14Chemel, James L Cpa PROPOSAL40Ioni Bowcher
1026Claire A BriddickArgentina2026-05-10Truhlar And Truhlar Attys UNQUALIFIED31Bernardo Dominic
1027Ricardo A GarufiItaly2026-05-02Commercial Press NEW22Elwin Sharvill
1028Leon L AlbaresIndia2026-05-23Rousseaux, Michael Esq UNQUALIFIED81Stephen Shaw
1029Salvatore R VenereItaly2026-05-10Chemel, James L Cpa QUALIFIED85Asiya Javayant
1030Greenwood J RulapaughIndia2026-05-20Chanay, Jeffrey A Esq QUALIFIED58Asiya Javayant
1031Clifford A RutaGermany2026-05-10Truhlar And Truhlar Attys QUALIFIED76Stephen Shaw
1032Rodrigues U OldroydCanada2026-05-23Benton, John B Jr QUALIFIED47Onyama Limba
1033Clifford O InouyeFrance2026-05-09Chanay, Jeffrey A Esq NEW54Stephen Shaw
1034Octavia O RimItaly2026-05-07Benton, John B Jr QUALIFIED26Amy Elsner
1035Antonio P IturbideUnited Kingdom2026-05-20Morlong Associates PROPOSAL69Ivan Magalhaes
1036Morrow E StensethIndia2026-05-10Feiner Bros QUALIFIED60Bernardo Dominic
1037Claire E BologniaRussia2026-05-29Rangoni Of Florence RENEWAL89Amy Elsner
1038Jones B ChuiItaly2026-05-06Chemel, James L Cpa PROPOSAL50Onyama Limba
1039Munro W KolmetzCanada2026-05-22King, Christopher A Esq NEGOTIATION63Bernardo Dominic
1040Izzy Y TollnerRussia2026-05-02Dorl, James J Esq QUALIFIED95Amy Elsner
1041Sinclair G SlusarskiJapan2026-05-01Dorl, James J Esq UNQUALIFIED63Stephen Shaw
1042Morrow D WhobreyBrazil2026-05-16Morlong Associates QUALIFIED91Asiya Javayant
1043Emily I DoeRussia2026-05-03Buckley Miller Wright PROPOSAL13Xuxue Feng
1044Wickens E FlosiGermany2026-05-13Truhlar And Truhlar Attys RENEWAL77Bernardo Dominic
1045Aruna W FigeroaItaly2026-05-27Chapman, Ross E Esq QUALIFIED86Ioni Bowcher
1046Murillo A DoeGermany2026-05-18Chemel, James L Cpa NEW42Xuxue Feng
1047Smith G FerenczUnited Kingdom2026-05-15Dorl, James J Esq NEW28Anna Fali
1048Francesco Z BowleyIndia2026-05-19Feltz Printing Service RENEWAL98Elwin Sharvill
1049Aditya V StensethGermany2026-05-05Chanay, Jeffrey A Esq PROPOSAL75Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Chavez H OstroskyJapanIvan Magalhaes QUALIFIED
Darci C PoquetteGermanyXuxue Feng RENEWAL
Jennifer L BologniaArgentinaIvan Magalhaes RENEWAL
Chavez A KolmetzArgentinaAnna Fali RENEWAL
Octavia X RimCanadaElwin Sharvill UNQUALIFIED
Deepesh I CampainArgentinaOnyama Limba UNQUALIFIED
Greenwood L DilliardFranceAnna Fali QUALIFIED
Sinclair X NestleArgentinaXuxue Feng NEW
Jones U GlickItalyOnyama Limba QUALIFIED
Jennifer P SaylorsUnited KingdomXuxue Feng QUALIFIED
Murillo Q MarrierBrazilStephen Shaw RENEWAL
Ricardo L AmigonRussiaAmy Elsner RENEWAL
Greenwood A WaycottFranceAnna Fali RENEWAL
Aruna Q TollnerIndiaIoni Bowcher NEW
Sinclair V SchemmerJapanOnyama Limba NEW
Mayumi B BowleyFranceAsiya Javayant PROPOSAL
Izzy B InouyeIndiaOnyama Limba NEW
Deepesh A AlbaresFranceIvan Magalhaes PROPOSAL
Johnson I RutaAustraliaOnyama Limba PROPOSAL
Alejandro M PaprockiJapanXuxue Feng PROPOSAL
Aika M RulapaughJapanAnna Fali QUALIFIED
Claire H NestleJapanIoni Bowcher NEW
Jeanfrancois Q MaletRussiaElwin Sharvill RENEWAL
Jeanfrancois V FollerArgentinaIoni Bowcher PROPOSAL
Misaki Y SaylorsUnited KingdomAmy Elsner NEGOTIATION
Mayumi F WaycottSpainAmy Elsner PROPOSAL
Maria E DarakjyRussiaAsiya Javayant PROPOSAL
Ashley O DoeRussiaXuxue Feng UNQUALIFIED
Darci A MarrierArgentinaBernardo Dominic NEW
Juan B SaylorsArgentinaElwin Sharvill RENEWAL
Salvatore C FigeroaJapanElwin Sharvill QUALIFIED
Chavez N TollnerCanadaXuxue Feng PROPOSAL
Ricardo Q PoquetteBrazilStephen Shaw RENEWAL
Salvatore W MacleadGermanyAsiya Javayant NEW
Aruna R DoeCanadaOnyama Limba NEW
Stacey Y FollerSpainAnna Fali RENEWAL
James D FlosiGermanyAmy Elsner UNQUALIFIED
Jefferson I MacleadFranceOnyama Limba NEGOTIATION
Sinclair W SaylorsBrazilOnyama Limba RENEWAL
Mayumi Z MaletItalyStephen Shaw UNQUALIFIED
Octavia Z OldroydIndiaIoni Bowcher UNQUALIFIED
Aditya C NestleAustraliaAnna Fali RENEWAL
Faith K InouyeIndiaBernardo Dominic NEGOTIATION
Mayumi V RutaItalyAmy Elsner RENEWAL
Isabel D ButtUnited KingdomBernardo Dominic RENEWAL
Emily I TollnerRussiaXuxue Feng QUALIFIED
Aditya J KuskoIndiaElwin Sharvill NEW
Misaki P RimRussiaIvan Magalhaes RENEWAL
Kaitlin B KolmetzGermanyBernardo Dominic QUALIFIED
Sinclair E RulapaughAustraliaXuxue Feng RENEWAL
Frozen Columns
Name
Arvin N Butt
Ashley B Figeroa
Cody O Ruta
Claire Z Perin
Aruna H Perin
Octavia Q Bowley
Kadeem B Marrier
Clifford D Waycott
Adams L Slusarski
Kadeem D Perin
Chavez Z Slusarski
Antonio E Perin
Clifford M Maclead
Kaitlin K Iturbide
Jefferson B Marrier
Chavez O Darakjy
Faith N Sergi
Costa Z Ostrosky
Murillo E Whobrey
Julie D Ruta
Wickens P Gillian
Jennifer B Malet
Isabel L Bolognia
Aruna S Caldarera
Tony H Paprocki
Arvin B Garufi
James W Flosi
Ivar C Waycott
Jefferson B Slusarski
Nicolas Y Nestle
Juan Y Gaucho
Jefferson L Nicka
Ricardo R Caldarera
Morrow H Ostrosky
Clifford D Dilliard
Arvin X Maclead
Ivar S Inouye
Rodrigues M Albares
Ivar Y Garufi
Chavez M Shinko
Aika X Saylors
Smith R Butt
Mujtaba K Chui
Silvio B Shinko
Jennifer I Poquette
Emily K Kolmetz
Cody F Marrier
Ashley V Doe
Leon J Bolognia
Mayumi P Kolmetz
IdCountryDate
1000Japan2026-05-15
1001Italy2026-05-16
1002Canada2026-05-01
1003France2026-05-26
1004Spain2026-05-08
1005Brazil2026-05-30
1006Australia2026-05-17
1007Argentina2026-05-27
1008India2026-05-08
1009Australia2026-05-24
1010Germany2026-05-11
1011Germany2026-05-21
1012Germany2026-05-07
1013Argentina2026-05-24
1014Japan2026-05-29
1015Japan2026-05-26
1016Spain2026-05-29
1017India2026-05-18
1018Australia2026-05-21
1019India2026-05-28
1020Australia2026-05-22
1021Brazil2026-05-06
1022Argentina2026-05-08
1023Germany2026-05-15
1024Russia2026-05-07
1025India2026-05-01
1026Japan2026-05-05
1027Brazil2026-05-05
1028Russia2026-05-26
1029India2026-05-06
1030Brazil2026-05-14
1031Spain2026-05-22
1032Italy2026-05-30
1033Brazil2026-05-14
1034Australia2026-05-24
1035United Kingdom2026-05-19
1036Canada2026-05-29
1037Brazil2026-05-30
1038Germany2026-05-26
1039Italy2026-05-29
1040France2026-05-17
1041Brazil2026-05-24
1042Spain2026-05-18
1043Germany2026-05-01
1044India2026-05-08
1045France2026-05-24
1046Brazil2026-05-16
1047India2026-05-10
1048Italy2026-05-30
1049Japan2026-05-30

On-Demand Data

NameIdCountryDate
Faith V Bolognia1000Spain2026-05-14
Juan W Waycott1001India2026-05-24
Arvin J Poquette1002France2026-05-28
Sinclair R Rulapaugh1003Australia2026-05-29
David H Figeroa1004Russia2026-05-19
Mujtaba H Vocelka1005United Kingdom2026-05-18
Julie D Glick1006Germany2026-05-27
Ricardo Y Marrier1007France2026-05-15
Chavez K Paprocki1008Italy2026-05-20
Johnson B Kusko1009Canada2026-05-28
Sinclair K Slusarski1010Australia2026-05-26
Juan C Dilliard1011Brazil2026-05-18
Alejandro T Venere1012Canada2026-05-23
Leon W Ruta1013Italy2026-05-17
Julie M Kusko1014Argentina2026-05-12
Arvin H Foller1015France2026-05-22
Emily M Malet1016Germany2026-05-27
Kadeem R Malet1017Brazil2026-05-27
Ivar M Butt1018Russia2026-05-14
Stacey R Glick1019India2026-05-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson G WaycottJapanIoni Bowcher NEGOTIATION
Tony V KolmetzItalyAsiya Javayant PROPOSAL
Claire K FerenczSpainAnna Fali RENEWAL
Murillo T FigeroaItalyIvan Magalhaes PROPOSAL
Jennifer T DoeCanadaAnna Fali PROPOSAL
Kadeem M KolmetzArgentinaIoni Bowcher RENEWAL
Leja H IturbideFranceOnyama Limba RENEWAL
Alejandro W MaletGermanyStephen Shaw PROPOSAL
Mayumi X FerenczGermanyIvan Magalhaes PROPOSAL
Jefferson M SchemmerSpainElwin Sharvill RENEWAL
Julie Q FigeroaUnited KingdomStephen Shaw NEGOTIATION
Wickens U InouyeArgentinaAnna Fali PROPOSAL
Salvatore D SaylorsCanadaAnna Fali NEGOTIATION
Greenwood P IturbideCanadaIvan Magalhaes UNQUALIFIED
Emily R TollnerArgentinaIoni Bowcher NEGOTIATION
Misaki P MaletRussiaBernardo Dominic QUALIFIED
Antonio Q ChuiCanadaStephen Shaw NEW
Darci X BologniaRussiaStephen Shaw NEGOTIATION
Sinclair C PerinRussiaBernardo Dominic QUALIFIED
Octavia X MacleadGermanyAsiya Javayant NEGOTIATION
Maisha I ShinkoCanadaIvan Magalhaes QUALIFIED
Deepesh O VocelkaCanadaOnyama Limba NEGOTIATION
Rodrigues O CaudyBrazilAnna Fali PROPOSAL
Johnson Z DilliardIndiaStephen Shaw UNQUALIFIED
Francesco R WaycottAustraliaIvan Magalhaes NEGOTIATION
Sinclair R SergiJapanStephen Shaw NEGOTIATION
Ivar I WaycottIndiaAmy Elsner UNQUALIFIED
Claire W PerinUnited KingdomBernardo Dominic UNQUALIFIED
Julie R PoquetteGermanyBernardo Dominic UNQUALIFIED
Wickens H FigeroaRussiaBernardo Dominic QUALIFIED
Claire D StockhamUnited KingdomIoni Bowcher NEW
Johnson N StensethBrazilBernardo Dominic NEGOTIATION
Octavia Y BowleyRussiaBernardo Dominic PROPOSAL
Juan N ChuiRussiaStephen Shaw NEGOTIATION
Mujtaba W KolmetzBrazilIvan Magalhaes RENEWAL
Faith O InouyeArgentinaElwin Sharvill NEW
Silvio A PerinItalyBernardo Dominic RENEWAL
Salvatore W RoysterItalyStephen Shaw RENEWAL
Darci E CampainCanadaElwin Sharvill UNQUALIFIED
Clifford I SergiJapanAnna Fali 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.