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
Julie M SaylorsFranceStephen Shaw NEW
Stacey B FerenczRussiaAmy Elsner NEW
Tony V RimRussiaIoni Bowcher UNQUALIFIED
Tony Y NickaJapanIoni Bowcher QUALIFIED
Maisha Y SchemmerCanadaOnyama Limba UNQUALIFIED
Francesco U NickaJapanAsiya Javayant PROPOSAL
Wickens K SlusarskiGermanyAnna Fali NEGOTIATION
Leon B PerinSpainIoni Bowcher RENEWAL
Antonio E RimRussiaAmy Elsner UNQUALIFIED
Jennifer A IturbideFranceElwin Sharvill QUALIFIED
Isabel P FollerArgentinaElwin Sharvill QUALIFIED
Alejandro P DarakjyIndiaXuxue Feng PROPOSAL
Misaki X GarufiArgentinaIvan Magalhaes NEW
Francesco S SlusarskiRussiaAnna Fali PROPOSAL
Nicolas L IturbideFranceAsiya Javayant PROPOSAL
Aika J DarakjySpainBernardo Dominic QUALIFIED
Johnson H RulapaughBrazilAsiya Javayant QUALIFIED
Claire L ShinkoIndiaBernardo Dominic PROPOSAL
Greenwood B SchemmerBrazilIoni Bowcher NEW
Francesco U MorascaJapanAmy Elsner NEGOTIATION
Darci T ButtIndiaIvan Magalhaes RENEWAL
Mayumi E SlusarskiArgentinaXuxue Feng RENEWAL
Aditya I ChuiIndiaElwin Sharvill NEW
Morrow U MaletGermanyXuxue Feng NEGOTIATION
James A GarufiFranceAnna Fali UNQUALIFIED
Francesco V SchemmerJapanIoni Bowcher UNQUALIFIED
Jeanfrancois P FigeroaSpainIvan Magalhaes RENEWAL
Jennifer A KuskoAustraliaAnna Fali RENEWAL
Aika Y VenereSpainElwin Sharvill RENEWAL
Alejandro I PoquetteAustraliaOnyama Limba PROPOSAL
Aditya K SaylorsGermanyOnyama Limba UNQUALIFIED
Julie N NestleGermanyAnna Fali QUALIFIED
Kadeem J GauchoArgentinaBernardo Dominic NEGOTIATION
Francesco G CaldareraArgentinaAsiya Javayant NEGOTIATION
Juan Y MaletAustraliaAmy Elsner UNQUALIFIED
Maisha C ShinkoIndiaAsiya Javayant RENEWAL
Nicolas K BowleyItalyAnna Fali RENEWAL
Alejandro B NestleUnited KingdomAmy Elsner PROPOSAL
Faith V StockhamBrazilXuxue Feng PROPOSAL
Munro H DoeArgentinaStephen Shaw QUALIFIED
Francesco S SlusarskiRussiaStephen Shaw PROPOSAL
Johnson M CampainRussiaXuxue Feng NEGOTIATION
Octavia K GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Chavez I GauchoAustraliaAsiya Javayant UNQUALIFIED
Emily O CaldareraFranceIoni Bowcher PROPOSAL
Darci Q SchemmerAustraliaAmy Elsner NEGOTIATION
Chavez Y OstroskyUnited KingdomElwin Sharvill RENEWAL
Ricardo C SergiFranceXuxue Feng NEGOTIATION
James G WieserGermanyBernardo Dominic RENEWAL
Maria R KuskoItalyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Stacey K FlosiGermanyBernardo Dominic RENEWAL
Jefferson R MarrierSpainIoni Bowcher UNQUALIFIED
Salvatore D MaletFranceIoni Bowcher NEW
David D FerenczItalyAmy Elsner NEGOTIATION
Misaki G AlbaresSpainAmy Elsner PROPOSAL
Arvin I OstroskyBrazilBernardo Dominic QUALIFIED
Emily H ButtItalyAnna Fali NEGOTIATION
Deepesh Z MaletCanadaXuxue Feng PROPOSAL
Greenwood N RutaIndiaElwin Sharvill NEW
Kadeem O WieserCanadaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez J NickaGermany2026-05-17Feltz Printing Service QUALIFIED73Onyama Limba
1001Deepesh M VenereItaly2026-05-08Commercial Press UNQUALIFIED72Ivan Magalhaes
1002Emily S DoeGermany2026-05-08Chapman, Ross E Esq NEGOTIATION29Ivan Magalhaes
1003Mayumi L SaylorsBrazil2026-05-09Truhlar And Truhlar Attys QUALIFIED64Xuxue Feng
1004Cody M CaudyItaly2026-05-26Feltz Printing Service PROPOSAL46Bernardo Dominic
1005Johnson A DilliardItaly2026-05-10Feiner Bros UNQUALIFIED50Asiya Javayant
1006Smith B TollnerCanada2026-05-25Rangoni Of Florence RENEWAL92Ivan Magalhaes
1007James G GlickCanada2026-05-22Morlong Associates NEW69Bernardo Dominic
1008Julie G PerinBrazil2026-05-25Truhlar And Truhlar Attys PROPOSAL77Stephen Shaw
1009Maisha Q ShinkoFrance2026-05-15Printing Dimensions NEGOTIATION65Anna Fali
1010Rodrigues W GarufiGermany2026-05-06Truhlar And Truhlar Attys RENEWAL4Ivan Magalhaes
1011Cody R MorascaArgentina2026-05-15Rousseaux, Michael Esq QUALIFIED28Xuxue Feng
1012David E AlbaresIndia2026-05-13Chanay, Jeffrey A Esq NEGOTIATION77Amy Elsner
1013Francesco X DarakjyRussia2026-05-14Morlong Associates PROPOSAL93Anna Fali
1014Maria G FigeroaIndia2026-05-20Chapman, Ross E Esq RENEWAL97Anna Fali
1015Clifford R GillianGermany2026-05-10Feiner Bros NEGOTIATION14Asiya Javayant
1016Chavez G InouyeUnited Kingdom2026-05-15Chapman, Ross E Esq NEW79Onyama Limba
1017Greenwood J PoquetteJapan2026-05-13Benton, John B Jr QUALIFIED61Ivan Magalhaes
1018Aruna N DarakjyBrazil2026-05-01Feiner Bros NEW18Xuxue Feng
1019Munro U StockhamRussia2026-05-25Feiner Bros RENEWAL13Anna Fali
1020Stacey R MorascaUnited Kingdom2026-05-24Buckley Miller Wright QUALIFIED26Ioni Bowcher
1021James Q DoeIndia2026-05-24Feiner Bros UNQUALIFIED84Elwin Sharvill
1022Sinclair N NestleFrance2026-05-14Dorl, James J Esq PROPOSAL90Asiya Javayant
1023Mayumi P IturbideFrance2026-05-08Benton, John B Jr NEGOTIATION60Ioni Bowcher
1024Aditya H SlusarskiJapan2026-05-30Chanay, Jeffrey A Esq RENEWAL25Asiya Javayant
1025Tony E FerenczGermany2026-05-27Feltz Printing Service UNQUALIFIED55Xuxue Feng
1026Murillo E KolmetzGermany2026-05-10King, Christopher A Esq NEGOTIATION50Ivan Magalhaes
1027Mujtaba M SergiRussia2026-05-10Rangoni Of Florence PROPOSAL62Stephen Shaw
1028Johnson Y StockhamArgentina2026-05-21Rousseaux, Michael Esq NEGOTIATION1Xuxue Feng
1029Greenwood B MaletUnited Kingdom2026-05-30Truhlar And Truhlar Attys NEGOTIATION87Asiya Javayant
1030Mujtaba W WhobreyGermany2026-05-12Chanay, Jeffrey A Esq UNQUALIFIED67Amy Elsner
1031Aruna R OstroskyGermany2026-05-27Commercial Press QUALIFIED64Amy Elsner
1032Alejandro F AmigonJapan2026-05-10Feiner Bros PROPOSAL76Bernardo Dominic
1033Faith A GauchoAustralia2026-05-19Feltz Printing Service RENEWAL76Anna Fali
1034Kadeem V SlusarskiItaly2026-05-11Chanay, Jeffrey A Esq NEW74Amy Elsner
1035Rodrigues A CampainGermany2026-05-13Feiner Bros NEW96Asiya Javayant
1036Ashley F BowleyAustralia2026-05-04Morlong Associates RENEWAL20Ivan Magalhaes
1037Julie P FollerRussia2026-05-28Truhlar And Truhlar Attys NEW66Xuxue Feng
1038Maisha K FigeroaUnited Kingdom2026-05-19Buckley Miller Wright QUALIFIED0Onyama Limba
1039Isabel A FollerIndia2026-05-11Feiner Bros NEGOTIATION1Asiya Javayant
1040Aditya M BowleyBrazil2026-05-07Rangoni Of Florence PROPOSAL63Bernardo Dominic
1041Mayumi F PaprockiIndia2026-05-14Rangoni Of Florence PROPOSAL72Onyama Limba
1042Mujtaba L InouyeAustralia2026-05-06Rangoni Of Florence UNQUALIFIED50Onyama Limba
1043Octavia V PerinUnited Kingdom2026-05-16Feltz Printing Service NEGOTIATION91Elwin Sharvill
1044Cody U GlickAustralia2026-05-09Commercial Press PROPOSAL18Stephen Shaw
1045Julie W CaudyUnited Kingdom2026-05-20Feltz Printing Service RENEWAL95Stephen Shaw
1046Maria T BriddickUnited Kingdom2026-05-06Commercial Press PROPOSAL32Amy Elsner
1047Chavez O WieserFrance2026-05-09Buckley Miller Wright QUALIFIED40Onyama Limba
1048Jeanfrancois S TollnerSpain2026-05-25King, Christopher A Esq NEW66Xuxue Feng
1049Adams D CampainItaly2026-05-13Rousseaux, Michael Esq PROPOSAL49Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aruna I BowleyCanadaAmy Elsner PROPOSAL
Misaki Z CampainRussiaStephen Shaw NEW
Morrow J PaprockiIndiaAsiya Javayant PROPOSAL
Kaitlin Q FollerAustraliaOnyama Limba UNQUALIFIED
Jones Q FerenczIndiaElwin Sharvill NEGOTIATION
Nicolas F MaletUnited KingdomOnyama Limba UNQUALIFIED
Tony Q StockhamRussiaXuxue Feng NEGOTIATION
Kadeem D WaycottArgentinaIoni Bowcher NEGOTIATION
Mayumi Y AmigonAustraliaOnyama Limba UNQUALIFIED
Nicolas K TollnerFranceOnyama Limba NEGOTIATION
Izzy L MaletCanadaIvan Magalhaes UNQUALIFIED
Morrow F CaldareraBrazilAsiya Javayant QUALIFIED
David K OldroydArgentinaAsiya Javayant NEGOTIATION
Costa H MaletSpainAsiya Javayant NEW
Jefferson D GillianAustraliaOnyama Limba RENEWAL
David P FlosiRussiaAmy Elsner RENEWAL
Kaitlin N FerenczCanadaStephen Shaw QUALIFIED
Kadeem T FollerJapanStephen Shaw QUALIFIED
Aika J FigeroaGermanyElwin Sharvill PROPOSAL
Jefferson Z BriddickGermanyAnna Fali PROPOSAL
Salvatore Y MarrierArgentinaAnna Fali UNQUALIFIED
Greenwood A GlickGermanyXuxue Feng UNQUALIFIED
Stacey T SaylorsJapanAmy Elsner NEGOTIATION
Adams Q ButtJapanXuxue Feng PROPOSAL
Juan N DoeArgentinaIvan Magalhaes PROPOSAL
Ivar G SchemmerSpainOnyama Limba RENEWAL
Julie P BriddickGermanyAmy Elsner UNQUALIFIED
Chavez L OldroydIndiaOnyama Limba NEW
Morrow Y SlusarskiGermanyAnna Fali QUALIFIED
Clifford I WhobreyUnited KingdomXuxue Feng PROPOSAL
Aruna V BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo U FlosiItalyStephen Shaw NEW
Stacey N FerenczJapanAsiya Javayant UNQUALIFIED
Ricardo C FerenczBrazilIvan Magalhaes NEGOTIATION
Julie X ChuiItalyOnyama Limba QUALIFIED
Morrow M AlbaresItalyXuxue Feng PROPOSAL
Aruna N GillianIndiaOnyama Limba NEGOTIATION
James N InouyeFranceElwin Sharvill UNQUALIFIED
Aditya W PerinArgentinaAsiya Javayant UNQUALIFIED
Cody V GillianGermanyIvan Magalhaes RENEWAL
Costa S CaldareraCanadaAnna Fali PROPOSAL
Clifford O KolmetzIndiaOnyama Limba QUALIFIED
Aditya A TollnerBrazilBernardo Dominic UNQUALIFIED
Mujtaba V DarakjyIndiaXuxue Feng UNQUALIFIED
Munro B MarrierAustraliaBernardo Dominic QUALIFIED
Aditya L ShinkoUnited KingdomOnyama Limba QUALIFIED
Stacey S StockhamItalyBernardo Dominic QUALIFIED
Tony E MaletCanadaXuxue Feng QUALIFIED
Chavez U GlickGermanyAsiya Javayant QUALIFIED
Aruna R GarufiCanadaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Morrow B Royster
Jennifer K Maclead
Leja P Rulapaugh
Leja T Royster
James B Rim
Deepesh R Kolmetz
Francesco E Rulapaugh
Alejandro C Flosi
Emily P Slusarski
Cody R Bolognia
Kaitlin G Maclead
Stacey U Garufi
Aika T Paprocki
Tony X Maclead
Clifford P Malet
Kaitlin J Gillian
Julie O Bolognia
Arvin Z Darakjy
Misaki I Rim
Darci O Venere
Wickens W Poquette
Stacey Q Inouye
Nicolas F Poquette
Leja X Rulapaugh
Nicolas W Inouye
Costa H Maclead
Kadeem O Saylors
Kadeem J Shinko
Aruna K Rim
Rodrigues N Stockham
Leja U Tollner
Ricardo W Whobrey
Kadeem K Tollner
Leja F Poquette
Ivar D Gillian
Darci W Paprocki
Clifford N Vocelka
Silvio O Kolmetz
Jennifer A Kusko
Munro C Inouye
Maria J Sergi
Kaitlin P Poquette
Izzy O Inouye
Kadeem J Maclead
Kaitlin O Slusarski
Johnson F Caudy
Julie H Gillian
Rodrigues R Nestle
Octavia G Waycott
Misaki T Tollner
IdCountryDate
1000India2026-05-05
1001Argentina2026-05-09
1002Japan2026-05-01
1003United Kingdom2026-05-10
1004France2026-05-16
1005Argentina2026-05-20
1006Brazil2026-05-13
1007Japan2026-05-08
1008Germany2026-05-15
1009Italy2026-05-26
1010Spain2026-05-21
1011Japan2026-05-03
1012Australia2026-05-13
1013France2026-05-19
1014Spain2026-05-05
1015United Kingdom2026-05-08
1016Italy2026-05-07
1017Spain2026-05-21
1018United Kingdom2026-05-28
1019France2026-05-29
1020Brazil2026-05-29
1021Brazil2026-05-07
1022Italy2026-05-26
1023Italy2026-05-20
1024Australia2026-05-06
1025Germany2026-05-27
1026United Kingdom2026-05-23
1027Spain2026-05-27
1028Canada2026-05-22
1029Italy2026-05-18
1030Germany2026-05-11
1031Canada2026-05-14
1032Italy2026-05-13
1033France2026-05-27
1034Russia2026-05-12
1035Italy2026-05-13
1036United Kingdom2026-05-07
1037Spain2026-05-10
1038Japan2026-05-05
1039Germany2026-05-10
1040France2026-05-07
1041Canada2026-05-12
1042Argentina2026-05-02
1043Brazil2026-05-11
1044Canada2026-05-12
1045Japan2026-05-24
1046Germany2026-05-26
1047Japan2026-05-20
1048Japan2026-05-29
1049Brazil2026-05-23

On-Demand Data

NameIdCountryDate
Aditya K Bowley1000Italy2026-05-25
Claire N Rim1001France2026-05-02
Faith H Waycott1002United Kingdom2026-05-06
Aditya S Nestle1003Italy2026-05-04
Sinclair F Foller1004France2026-05-13
Izzy I Nicka1005France2026-05-26
Francesco C Albares1006Canada2026-05-09
Munro S Chui1007Russia2026-05-24
Maria J Gillian1008Canada2026-05-20
Munro B Butt1009Australia2026-05-06
Leon O Venere1010Canada2026-05-16
Maisha K Schemmer1011Spain2026-05-22
Stacey M Shinko1012Argentina2026-05-14
Faith J Gillian1013Japan2026-05-05
Silvio G Bowley1014United Kingdom2026-05-21
Aika E Bowley1015Japan2026-05-09
Costa Q Wieser1016Germany2026-05-19
Tony V Malet1017Italy2026-05-02
Munro M Butt1018Australia2026-05-05
Maisha G Ferencz1019Australia2026-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika M GlickBrazilAsiya Javayant PROPOSAL
Jennifer M WaycottItalyIoni Bowcher PROPOSAL
Adams H BriddickArgentinaAsiya Javayant RENEWAL
Kadeem X SaylorsUnited KingdomAnna Fali NEW
Isabel H NestleArgentinaXuxue Feng NEGOTIATION
Octavia I BologniaFranceIoni Bowcher NEGOTIATION
Ashley D MaletGermanyElwin Sharvill RENEWAL
Nicolas T MaletFranceStephen Shaw PROPOSAL
Johnson D MorascaBrazilIvan Magalhaes QUALIFIED
Murillo P WaycottGermanyIvan Magalhaes UNQUALIFIED
Julie B VocelkaBrazilAnna Fali RENEWAL
Octavia A FerenczUnited KingdomAmy Elsner PROPOSAL
Francesco X PoquetteIndiaAmy Elsner UNQUALIFIED
Misaki R BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Octavia K DoeArgentinaAnna Fali NEW
Jones B OldroydSpainBernardo Dominic RENEWAL
Izzy D DilliardJapanIoni Bowcher PROPOSAL
James H RulapaughIndiaBernardo Dominic QUALIFIED
Sinclair C PerinArgentinaOnyama Limba UNQUALIFIED
Aika V MorascaBrazilOnyama Limba RENEWAL
Johnson L BologniaFranceBernardo Dominic RENEWAL
Izzy P ShinkoRussiaElwin Sharvill UNQUALIFIED
Octavia P SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Wickens I RutaGermanyAmy Elsner RENEWAL
Deepesh X AmigonArgentinaAsiya Javayant RENEWAL
Nicolas V CampainJapanAsiya Javayant QUALIFIED
Wickens V FerenczBrazilAnna Fali NEGOTIATION
Silvio R PerinUnited KingdomAnna Fali RENEWAL
Chavez F BriddickUnited KingdomBernardo Dominic NEW
Octavia W NestleCanadaAnna Fali UNQUALIFIED
Aditya D PoquetteCanadaIoni Bowcher RENEWAL
Stacey W DarakjyRussiaAmy Elsner RENEWAL
Aditya O StensethArgentinaStephen Shaw NEW
David L BowleySpainOnyama Limba PROPOSAL
Jones Z OstroskyBrazilOnyama Limba PROPOSAL
Claire T SchemmerSpainXuxue Feng NEGOTIATION
Juan P IturbideIndiaXuxue Feng NEGOTIATION
Jones B IturbideArgentinaIoni Bowcher NEGOTIATION
Deepesh T CaldareraRussiaIoni Bowcher PROPOSAL
David C GlickFranceAmy Elsner 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.