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
Wickens V KuskoJapanBernardo Dominic NEW
Maisha O VocelkaGermanyBernardo Dominic NEW
Maria G FollerBrazilAnna Fali NEW
Ricardo Q MorascaBrazilOnyama Limba NEGOTIATION
Wickens O MaletFranceIvan Magalhaes RENEWAL
Jones W BowleyGermanyIoni Bowcher RENEWAL
Jeanfrancois A RulapaughUnited KingdomElwin Sharvill PROPOSAL
Kadeem T NickaGermanyAmy Elsner RENEWAL
Leon W SchemmerCanadaElwin Sharvill NEW
Aika F GarufiJapanAnna Fali PROPOSAL
Isabel B WaycottCanadaXuxue Feng NEW
Darci G AlbaresSpainAsiya Javayant PROPOSAL
Silvio T CaldareraCanadaXuxue Feng QUALIFIED
Nicolas F DoeBrazilIvan Magalhaes NEGOTIATION
Nicolas G FlosiJapanAmy Elsner QUALIFIED
Murillo O WhobreyBrazilIoni Bowcher NEGOTIATION
Juan A WhobreyGermanyBernardo Dominic PROPOSAL
Arvin E WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Smith A AlbaresUnited KingdomStephen Shaw NEW
Ricardo Z FigeroaAustraliaXuxue Feng QUALIFIED
Ricardo F OldroydArgentinaIvan Magalhaes PROPOSAL
Jefferson U PerinFranceIoni Bowcher NEW
David O ButtUnited KingdomIvan Magalhaes NEW
Emily L DarakjyRussiaAnna Fali RENEWAL
Tony U StockhamAustraliaXuxue Feng UNQUALIFIED
Aika Z FigeroaFranceStephen Shaw QUALIFIED
Clifford I FigeroaFranceAsiya Javayant PROPOSAL
Wickens P VocelkaFranceXuxue Feng NEW
Nicolas S GarufiIndiaAnna Fali UNQUALIFIED
Octavia T ShinkoBrazilStephen Shaw RENEWAL
Sinclair Q FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Tony M BologniaItalyAnna Fali QUALIFIED
Claire Y IturbideSpainElwin Sharvill RENEWAL
James K GillianCanadaAnna Fali QUALIFIED
Adams Q BriddickUnited KingdomXuxue Feng NEW
Ricardo T PerinBrazilOnyama Limba UNQUALIFIED
Arvin O VocelkaIndiaXuxue Feng NEGOTIATION
Izzy W KuskoItalyAsiya Javayant RENEWAL
Stacey R DarakjyUnited KingdomElwin Sharvill PROPOSAL
Isabel Y WaycottFranceIoni Bowcher QUALIFIED
Wickens E PaprockiCanadaIvan Magalhaes RENEWAL
Izzy B FigeroaUnited KingdomAnna Fali UNQUALIFIED
Ricardo F MarrierBrazilBernardo Dominic QUALIFIED
Johnson A RimCanadaIvan Magalhaes QUALIFIED
Claire G SchemmerItalyIvan Magalhaes QUALIFIED
Wickens L GlickFranceAnna Fali NEW
Tony S BologniaSpainStephen Shaw NEGOTIATION
Sinclair W InouyeRussiaElwin Sharvill QUALIFIED
Rodrigues I DoeItalyBernardo Dominic NEGOTIATION
Rodrigues H VocelkaItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh V NestleBrazilBernardo Dominic QUALIFIED
Kadeem O MaletArgentinaAsiya Javayant NEW
Leon T ChuiArgentinaElwin Sharvill UNQUALIFIED
Salvatore V GauchoIndiaAmy Elsner NEGOTIATION
Aditya R VenereAustraliaAmy Elsner RENEWAL
Kaitlin U SchemmerAustraliaAmy Elsner QUALIFIED
Darci N MacleadGermanyAmy Elsner NEW
Leon J AlbaresUnited KingdomAmy Elsner NEW
Mujtaba C DoeAustraliaAsiya Javayant NEW
Adams C ShinkoBrazilXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya J PoquetteBrazil2026-06-01Printing Dimensions RENEWAL27Asiya Javayant
1001Aika V FerenczArgentina2026-06-20Chapman, Ross E Esq QUALIFIED25Stephen Shaw
1002Mujtaba Z SlusarskiSpain2026-06-02Printing Dimensions QUALIFIED54Bernardo Dominic
1003Misaki I StockhamBrazil2026-06-11Rousseaux, Michael Esq QUALIFIED92Elwin Sharvill
1004Jones S VocelkaSpain2026-06-23Rousseaux, Michael Esq PROPOSAL23Ivan Magalhaes
1005Leon C FerenczIndia2026-05-30Morlong Associates QUALIFIED55Ioni Bowcher
1006Murillo F GillianRussia2026-06-16Rangoni Of Florence RENEWAL87Ioni Bowcher
1007Wickens C RimSpain2026-06-13Chapman, Ross E Esq RENEWAL83Onyama Limba
1008Greenwood R GarufiJapan2026-06-20Morlong Associates PROPOSAL90Ioni Bowcher
1009Adams L RoysterGermany2026-06-24Feiner Bros NEGOTIATION56Ioni Bowcher
1010Aika L DoeItaly2026-06-06Chanay, Jeffrey A Esq NEGOTIATION6Ioni Bowcher
1011David X OstroskyJapan2026-06-08Rangoni Of Florence NEW8Stephen Shaw
1012Mayumi Z BowleyArgentina2026-06-12Dorl, James J Esq NEGOTIATION25Bernardo Dominic
1013Jeanfrancois C RimSpain2026-06-25Commercial Press QUALIFIED76Onyama Limba
1014Mujtaba G VocelkaRussia2026-06-02Rousseaux, Michael Esq QUALIFIED77Amy Elsner
1015Ivar E GillianCanada2026-06-07King, Christopher A Esq UNQUALIFIED24Amy Elsner
1016Johnson E SergiIndia2026-06-01Chemel, James L Cpa UNQUALIFIED32Bernardo Dominic
1017Jefferson P AlbaresUnited Kingdom2026-05-31Truhlar And Truhlar Attys PROPOSAL27Elwin Sharvill
1018Salvatore X KolmetzCanada2026-06-09Buckley Miller Wright NEGOTIATION67Amy Elsner
1019Leon L NestleArgentina2026-06-11Buckley Miller Wright NEW15Onyama Limba
1020Aruna H FerenczAustralia2026-06-17Rangoni Of Florence QUALIFIED71Anna Fali
1021Munro V VocelkaItaly2026-06-18Chapman, Ross E Esq PROPOSAL1Stephen Shaw
1022Maria A AmigonCanada2026-06-02Morlong Associates RENEWAL62Bernardo Dominic
1023Smith Z DarakjyUnited Kingdom2026-06-06Truhlar And Truhlar Attys UNQUALIFIED36Ivan Magalhaes
1024Ricardo U PoquetteIndia2026-05-30Chanay, Jeffrey A Esq UNQUALIFIED36Stephen Shaw
1025Wickens J NickaArgentina2026-06-09Chapman, Ross E Esq UNQUALIFIED78Ivan Magalhaes
1026Julie F RulapaughIndia2026-06-23Chemel, James L Cpa PROPOSAL64Ivan Magalhaes
1027Deepesh O WieserRussia2026-06-14Feiner Bros PROPOSAL18Ioni Bowcher
1028Morrow A KuskoRussia2026-06-08Chapman, Ross E Esq RENEWAL88Anna Fali
1029Murillo A VenereRussia2026-05-31Buckley Miller Wright RENEWAL9Bernardo Dominic
1030Morrow C GauchoGermany2026-06-23Feiner Bros NEW78Asiya Javayant
1031Sinclair E ButtUnited Kingdom2026-05-31Feiner Bros NEW47Elwin Sharvill
1032Johnson W KolmetzSpain2026-06-24Benton, John B Jr PROPOSAL49Ivan Magalhaes
1033Murillo W PaprockiIndia2026-06-07Printing Dimensions UNQUALIFIED51Amy Elsner
1034Clifford A ShinkoFrance2026-06-25Buckley Miller Wright PROPOSAL76Anna Fali
1035Emily X DilliardGermany2026-06-26Benton, John B Jr RENEWAL15Elwin Sharvill
1036Francesco L MorascaGermany2026-06-20Benton, John B Jr NEGOTIATION46Ivan Magalhaes
1037Deepesh F FollerSpain2026-06-26Feltz Printing Service PROPOSAL93Stephen Shaw
1038Greenwood M PoquetteCanada2026-06-23King, Christopher A Esq QUALIFIED21Stephen Shaw
1039Cody M MarrierRussia2026-06-13Chanay, Jeffrey A Esq UNQUALIFIED87Elwin Sharvill
1040Munro D GlickItaly2026-06-28Chapman, Ross E Esq RENEWAL47Amy Elsner
1041Wickens T BowleyCanada2026-06-23Commercial Press QUALIFIED76Ioni Bowcher
1042Deepesh E FigeroaJapan2026-06-27Truhlar And Truhlar Attys UNQUALIFIED29Bernardo Dominic
1043Mujtaba C PoquetteGermany2026-06-26Commercial Press RENEWAL17Xuxue Feng
1044Chavez X PerinAustralia2026-06-11Commercial Press NEGOTIATION19Ivan Magalhaes
1045Clifford W KolmetzGermany2026-06-15Dorl, James J Esq UNQUALIFIED29Onyama Limba
1046Morrow H FerenczArgentina2026-06-13Dorl, James J Esq NEGOTIATION70Onyama Limba
1047Ivar R StockhamUnited Kingdom2026-06-04Chapman, Ross E Esq NEGOTIATION48Onyama Limba
1048Ricardo F StockhamAustralia2026-06-15Chanay, Jeffrey A Esq UNQUALIFIED97Stephen Shaw
1049Isabel W BriddickItaly2026-06-13Feiner Bros RENEWAL98Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore C SchemmerAustraliaIoni Bowcher RENEWAL
Jeanfrancois U DilliardSpainStephen Shaw QUALIFIED
Ricardo Y FollerCanadaElwin Sharvill NEW
Jennifer Z RoysterUnited KingdomBernardo Dominic NEGOTIATION
Maisha O CaudyJapanBernardo Dominic QUALIFIED
Greenwood T NestleAustraliaIvan Magalhaes NEW
Nicolas E AlbaresAustraliaElwin Sharvill UNQUALIFIED
Claire G KuskoJapanOnyama Limba NEW
Nicolas K StockhamIndiaBernardo Dominic QUALIFIED
Ricardo E SergiGermanyAnna Fali RENEWAL
Octavia K FlosiBrazilAsiya Javayant NEGOTIATION
Murillo D OldroydSpainXuxue Feng NEW
Jennifer F GarufiAustraliaAnna Fali PROPOSAL
Octavia M VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Cody A AlbaresIndiaBernardo Dominic QUALIFIED
Emily E SlusarskiRussiaAmy Elsner QUALIFIED
Mujtaba E PoquetteGermanyXuxue Feng QUALIFIED
Octavia B SlusarskiRussiaXuxue Feng RENEWAL
Faith L SaylorsJapanBernardo Dominic NEGOTIATION
Silvio K CaudyItalyAsiya Javayant NEW
Ivar N CampainArgentinaAsiya Javayant QUALIFIED
Deepesh J MaletUnited KingdomStephen Shaw RENEWAL
Darci I DoeRussiaAmy Elsner QUALIFIED
Greenwood H SergiIndiaIvan Magalhaes UNQUALIFIED
Alejandro I SlusarskiRussiaAnna Fali UNQUALIFIED
Wickens C RoysterGermanyAmy Elsner PROPOSAL
Murillo R OldroydRussiaOnyama Limba PROPOSAL
Alejandro F IturbideArgentinaBernardo Dominic RENEWAL
Jones W KuskoFranceElwin Sharvill UNQUALIFIED
Francesco B CaldareraIndiaAmy Elsner PROPOSAL
Ivar X StockhamBrazilXuxue Feng UNQUALIFIED
Octavia Q KuskoBrazilIoni Bowcher PROPOSAL
Aruna O FollerItalyOnyama Limba UNQUALIFIED
Ashley Q DoeAustraliaElwin Sharvill QUALIFIED
Nicolas T WhobreyIndiaAsiya Javayant UNQUALIFIED
Morrow I SaylorsRussiaStephen Shaw NEGOTIATION
Arvin V MaletGermanyStephen Shaw QUALIFIED
Maisha U AmigonSpainAnna Fali NEGOTIATION
Isabel V MacleadUnited KingdomAnna Fali RENEWAL
Adams B ShinkoFranceIvan Magalhaes NEW
Julie I MaletSpainXuxue Feng PROPOSAL
David B FollerUnited KingdomIoni Bowcher PROPOSAL
Francesco B RoysterAustraliaElwin Sharvill UNQUALIFIED
Faith M FigeroaSpainElwin Sharvill NEGOTIATION
Morrow J WieserCanadaAsiya Javayant PROPOSAL
Misaki Q StensethBrazilElwin Sharvill UNQUALIFIED
Leon C NestleUnited KingdomElwin Sharvill NEW
Maisha U SchemmerRussiaAmy Elsner QUALIFIED
Jones Y FollerUnited KingdomIoni Bowcher NEGOTIATION
Johnson W ShinkoArgentinaBernardo Dominic RENEWAL
Frozen Columns
Name
Cody N Morasca
Ricardo C Glick
Alejandro W Waycott
Murillo T Gaucho
Izzy H Ferencz
Aditya V Marrier
Costa J Stenseth
Greenwood X Shinko
Jefferson R Ostrosky
Jones Q Caudy
Clifford U Nestle
Jefferson S Caldarera
Wickens M Malet
Antonio V Amigon
Sinclair W Perin
Salvatore A Saylors
Jeanfrancois P Nicka
Octavia Y Ruta
Ricardo S Dilliard
Jefferson V Paprocki
Aruna M Paprocki
Maria F Perin
Ivar Z Venere
Kaitlin A Schemmer
Jeanfrancois Z Chui
Mujtaba M Morasca
Arvin P Ostrosky
Isabel C Butt
Cody N Malet
James N Foller
Kaitlin G Gaucho
Izzy H Sergi
Alejandro U Maclead
Salvatore B Amigon
Arvin B Ferencz
Chavez L Foller
Costa I Kusko
Johnson E Albares
Stacey X Stenseth
Arvin X Figeroa
Isabel U Poquette
Misaki Q Darakjy
Jefferson K Waycott
Maria C Nestle
Smith L Sergi
Wickens B Whobrey
Deepesh T Iturbide
Mujtaba J Ferencz
Cody D Whobrey
Arvin R Kolmetz
IdCountryDate
1000Russia2026-06-22
1001Spain2026-05-30
1002India2026-06-28
1003Germany2026-06-08
1004Spain2026-06-23
1005United Kingdom2026-06-16
1006Australia2026-06-08
1007Canada2026-06-07
1008Russia2026-06-21
1009Brazil2026-06-19
1010Canada2026-06-07
1011Brazil2026-05-30
1012Germany2026-06-17
1013Japan2026-06-03
1014India2026-06-07
1015Italy2026-06-16
1016Australia2026-06-17
1017United Kingdom2026-06-13
1018Argentina2026-06-01
1019Japan2026-05-31
1020Brazil2026-06-13
1021Japan2026-06-02
1022Brazil2026-05-30
1023Spain2026-06-12
1024Germany2026-06-06
1025Brazil2026-06-14
1026Brazil2026-06-16
1027Brazil2026-06-18
1028Spain2026-06-05
1029Japan2026-06-26
1030Canada2026-06-15
1031Argentina2026-06-15
1032Canada2026-06-21
1033Germany2026-05-30
1034Argentina2026-06-25
1035Argentina2026-06-20
1036United Kingdom2026-06-13
1037United Kingdom2026-06-19
1038Spain2026-06-21
1039Argentina2026-06-13
1040Brazil2026-06-12
1041Germany2026-06-07
1042Spain2026-06-27
1043India2026-06-08
1044Australia2026-06-12
1045Japan2026-06-08
1046Australia2026-06-16
1047United Kingdom2026-06-02
1048Japan2026-06-18
1049Canada2026-06-22

On-Demand Data

NameIdCountryDate
Johnson R Nicka1000Brazil2026-06-23
David S Albares1001India2026-06-08
Mujtaba K Caudy1002Argentina2026-06-17
Claire E Campain1003France2026-06-24
Octavia V Figeroa1004Argentina2026-06-06
Juan T Rim1005Japan2026-05-30
Izzy J Marrier1006Canada2026-06-12
Sinclair B Saylors1007Japan2026-06-14
Kaitlin C Slusarski1008Japan2026-06-17
Antonio A Iturbide1009Brazil2026-06-23
Octavia X Caudy1010France2026-06-06
Maria F Nestle1011United Kingdom2026-06-10
Alejandro I Slusarski1012Russia2026-06-01
Mayumi L Paprocki1013Japan2026-06-24
Izzy A Rulapaugh1014Argentina2026-06-05
David Z Perin1015France2026-06-02
James R Glick1016United Kingdom2026-06-16
Maisha U Kusko1017Spain2026-06-08
Mujtaba F Schemmer1018Canada2026-06-13
Ricardo X Slusarski1019United Kingdom2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James C KolmetzCanadaXuxue Feng NEGOTIATION
Darci N FollerRussiaAnna Fali PROPOSAL
Alejandro Y PerinIndiaBernardo Dominic RENEWAL
Leon N MorascaIndiaIoni Bowcher QUALIFIED
Faith A WieserFranceXuxue Feng NEW
Ashley O GauchoIndiaXuxue Feng NEGOTIATION
Misaki T SlusarskiSpainIoni Bowcher QUALIFIED
Ivar K FerenczUnited KingdomAnna Fali NEGOTIATION
Maria Z ButtUnited KingdomElwin Sharvill QUALIFIED
Jefferson I NickaCanadaXuxue Feng NEGOTIATION
Mayumi K NestleFranceIvan Magalhaes PROPOSAL
Izzy G AmigonBrazilAmy Elsner NEGOTIATION
Sinclair D CaldareraArgentinaBernardo Dominic NEGOTIATION
Silvio B MaletIndiaBernardo Dominic NEGOTIATION
Alejandro T SergiBrazilAmy Elsner RENEWAL
Antonio C MaletAustraliaOnyama Limba NEW
Claire A WhobreyUnited KingdomXuxue Feng PROPOSAL
David L SaylorsIndiaElwin Sharvill QUALIFIED
Jefferson U SlusarskiBrazilOnyama Limba RENEWAL
Jeanfrancois S BriddickFranceIoni Bowcher PROPOSAL
Sinclair L SchemmerUnited KingdomAnna Fali UNQUALIFIED
Rodrigues R DoeItalyAmy Elsner NEGOTIATION
Stacey K VocelkaRussiaAmy Elsner UNQUALIFIED
Alejandro S DoeBrazilOnyama Limba QUALIFIED
Salvatore I VocelkaArgentinaAnna Fali RENEWAL
Leon G FigeroaItalyAsiya Javayant PROPOSAL
Nicolas G NickaGermanyIvan Magalhaes NEW
Octavia Y GauchoArgentinaIvan Magalhaes PROPOSAL
Costa T WaycottCanadaBernardo Dominic QUALIFIED
Clifford L KolmetzRussiaIoni Bowcher PROPOSAL
Murillo Y IturbideUnited KingdomBernardo Dominic RENEWAL
Francesco Q DilliardItalyAsiya Javayant NEW
Aruna W NestleIndiaElwin Sharvill NEW
Izzy V NickaUnited KingdomAnna Fali QUALIFIED
Jeanfrancois X GillianBrazilAsiya Javayant RENEWAL
Johnson Q SaylorsJapanAmy Elsner QUALIFIED
Costa M OldroydRussiaBernardo Dominic PROPOSAL
Ashley Q BriddickJapanIoni Bowcher RENEWAL
Leja R RutaCanadaAnna Fali NEW
Darci S GarufiUnited KingdomAsiya Javayant PROPOSAL

<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.