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
Kadeem W CaldareraItalyIoni Bowcher UNQUALIFIED
Mujtaba T RulapaughBrazilXuxue Feng PROPOSAL
Nicolas I GarufiItalyAnna Fali UNQUALIFIED
Misaki U WieserUnited KingdomAsiya Javayant UNQUALIFIED
Arvin D PaprockiAustraliaBernardo Dominic RENEWAL
Leja E GlickFranceBernardo Dominic UNQUALIFIED
Kadeem I PoquetteCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois H TollnerAustraliaStephen Shaw NEGOTIATION
Rodrigues V IturbideArgentinaStephen Shaw UNQUALIFIED
Stacey U VocelkaArgentinaAnna Fali RENEWAL
Stacey W TollnerArgentinaOnyama Limba UNQUALIFIED
Arvin B MorascaCanadaIoni Bowcher QUALIFIED
Ivar O GillianJapanElwin Sharvill NEW
Izzy G CaudyJapanAsiya Javayant NEW
Leon P DoeBrazilAsiya Javayant UNQUALIFIED
Maisha S OldroydJapanXuxue Feng UNQUALIFIED
Munro S StockhamRussiaXuxue Feng QUALIFIED
Tony U FollerRussiaIoni Bowcher UNQUALIFIED
Jones J OstroskyAustraliaAsiya Javayant NEW
Arvin S SergiGermanyOnyama Limba NEW
Aruna S GarufiFranceAnna Fali NEGOTIATION
Munro Q CampainFranceIoni Bowcher PROPOSAL
Aruna S VenereGermanyElwin Sharvill NEW
Ricardo T OldroydBrazilIvan Magalhaes QUALIFIED
Jennifer S MacleadRussiaIoni Bowcher RENEWAL
Kaitlin X BriddickJapanXuxue Feng NEW
Ricardo T WieserUnited KingdomIvan Magalhaes PROPOSAL
Tony O DilliardCanadaAnna Fali PROPOSAL
Rodrigues E MarrierFranceElwin Sharvill PROPOSAL
Salvatore E KolmetzJapanIoni Bowcher RENEWAL
Aruna T CaudyFranceIvan Magalhaes QUALIFIED
Ricardo S DarakjyItalyAnna Fali NEW
Salvatore E OstroskyItalyStephen Shaw NEGOTIATION
Greenwood V VenereArgentinaBernardo Dominic RENEWAL
Deepesh D FlosiAustraliaAsiya Javayant QUALIFIED
Kaitlin Z OstroskyIndiaIvan Magalhaes NEGOTIATION
Munro B ButtJapanIoni Bowcher PROPOSAL
Alejandro V VenereFranceIvan Magalhaes QUALIFIED
Silvio X CampainSpainXuxue Feng QUALIFIED
Aruna F ChuiJapanXuxue Feng PROPOSAL
Jeanfrancois B WieserUnited KingdomAsiya Javayant RENEWAL
Wickens F TollnerCanadaStephen Shaw PROPOSAL
Aruna S GlickUnited KingdomElwin Sharvill RENEWAL
Octavia A AmigonItalyAmy Elsner NEGOTIATION
Juan J FerenczCanadaAsiya Javayant UNQUALIFIED
Ivar M FollerGermanyBernardo Dominic NEW
Munro S NickaBrazilXuxue Feng UNQUALIFIED
Rodrigues Z AmigonIndiaIvan Magalhaes NEW
Rodrigues N FerenczArgentinaAmy Elsner NEGOTIATION
Isabel G FollerIndiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia R PoquetteIndiaIoni Bowcher RENEWAL
Mayumi A BowleyIndiaAnna Fali UNQUALIFIED
Smith J DilliardIndiaOnyama Limba NEGOTIATION
Wickens L MorascaSpainAmy Elsner UNQUALIFIED
Aditya O PerinFranceAnna Fali NEGOTIATION
Izzy C PoquetteRussiaElwin Sharvill NEW
Cody O BologniaRussiaBernardo Dominic NEGOTIATION
Ashley E MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Costa T CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Faith V KolmetzArgentinaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro V MarrierJapan2026-06-26Feiner Bros NEW46Amy Elsner
1001Faith H KolmetzJapan2026-06-08Buckley Miller Wright PROPOSAL70Ivan Magalhaes
1002Rodrigues B WaycottJapan2026-06-06Benton, John B Jr NEW6Ivan Magalhaes
1003Sinclair L KolmetzGermany2026-06-02Benton, John B Jr PROPOSAL7Ivan Magalhaes
1004Arvin V PoquetteJapan2026-06-07Benton, John B Jr NEGOTIATION1Stephen Shaw
1005Wickens R AlbaresRussia2026-06-15Printing Dimensions UNQUALIFIED62Asiya Javayant
1006Morrow Q WaycottUnited Kingdom2026-06-18Truhlar And Truhlar Attys UNQUALIFIED18Asiya Javayant
1007Ivar U StensethAustralia2026-06-23Chanay, Jeffrey A Esq NEGOTIATION98Ioni Bowcher
1008Salvatore X DarakjyJapan2026-06-28Chapman, Ross E Esq PROPOSAL13Ioni Bowcher
1009Francesco P BowleyBrazil2026-06-06Rangoni Of Florence PROPOSAL11Elwin Sharvill
1010Maisha N NestleIndia2026-06-01Benton, John B Jr QUALIFIED24Onyama Limba
1011Francesco F PoquetteGermany2026-06-08Chanay, Jeffrey A Esq QUALIFIED27Stephen Shaw
1012Aditya U DilliardGermany2026-06-28Chapman, Ross E Esq PROPOSAL60Onyama Limba
1013Maria W SlusarskiRussia2026-06-28Dorl, James J Esq UNQUALIFIED88Xuxue Feng
1014Emily A PerinBrazil2026-05-31Printing Dimensions NEGOTIATION39Asiya Javayant
1015Rodrigues W CaldareraFrance2026-06-14Rousseaux, Michael Esq NEW86Elwin Sharvill
1016Wickens D KuskoItaly2026-06-06Feiner Bros RENEWAL72Onyama Limba
1017Misaki A StensethCanada2026-05-30Rousseaux, Michael Esq PROPOSAL18Ivan Magalhaes
1018Murillo Q WaycottBrazil2026-06-26Printing Dimensions RENEWAL54Stephen Shaw
1019Nicolas O StensethIndia2026-05-30Dorl, James J Esq NEGOTIATION2Xuxue Feng
1020Maria S TollnerIndia2026-06-14Feiner Bros NEW59Amy Elsner
1021Mujtaba R DoeUnited Kingdom2026-06-02Chemel, James L Cpa NEW9Ivan Magalhaes
1022Claire F MaletCanada2026-06-25Rangoni Of Florence RENEWAL50Ivan Magalhaes
1023Johnson G DilliardRussia2026-06-02Morlong Associates PROPOSAL36Amy Elsner
1024Cody Y ChuiIndia2026-06-01Chemel, James L Cpa NEGOTIATION50Anna Fali
1025Kadeem Z FerenczArgentina2026-06-25Rousseaux, Michael Esq QUALIFIED6Asiya Javayant
1026Jeanfrancois H AmigonFrance2026-06-09Rousseaux, Michael Esq NEGOTIATION12Onyama Limba
1027Aika H StockhamItaly2026-06-12Chapman, Ross E Esq PROPOSAL14Onyama Limba
1028Mujtaba Y CampainCanada2026-06-08Printing Dimensions NEGOTIATION20Amy Elsner
1029Emily P CaldareraFrance2026-06-17Feiner Bros NEGOTIATION91Stephen Shaw
1030Arvin X VocelkaArgentina2026-06-15Printing Dimensions QUALIFIED88Elwin Sharvill
1031Chavez U InouyeCanada2026-06-04Benton, John B Jr NEW25Ioni Bowcher
1032Izzy Y KuskoArgentina2026-06-13Buckley Miller Wright UNQUALIFIED97Asiya Javayant
1033Ashley U SergiSpain2026-06-25Commercial Press QUALIFIED90Elwin Sharvill
1034Alejandro S VocelkaUnited Kingdom2026-06-25Feiner Bros NEW22Stephen Shaw
1035Stacey Q ChuiArgentina2026-06-13King, Christopher A Esq RENEWAL8Asiya Javayant
1036Salvatore Q VenereGermany2026-06-12Truhlar And Truhlar Attys NEGOTIATION40Elwin Sharvill
1037Ricardo P SergiArgentina2026-06-16Morlong Associates QUALIFIED26Amy Elsner
1038Kaitlin D KolmetzJapan2026-06-28Rangoni Of Florence QUALIFIED5Onyama Limba
1039Octavia W PerinAustralia2026-05-31Morlong Associates NEGOTIATION77Bernardo Dominic
1040Darci Z BowleyRussia2026-06-06Benton, John B Jr PROPOSAL81Stephen Shaw
1041Francesco W SergiCanada2026-05-31Chemel, James L Cpa PROPOSAL29Ivan Magalhaes
1042Aruna E RulapaughIndia2026-06-22Commercial Press NEGOTIATION24Ioni Bowcher
1043Wickens Q BriddickSpain2026-06-06Rangoni Of Florence NEGOTIATION45Anna Fali
1044Maisha I AmigonSpain2026-06-15Rangoni Of Florence QUALIFIED4Bernardo Dominic
1045Emily U PerinBrazil2026-06-15Dorl, James J Esq RENEWAL79Stephen Shaw
1046Salvatore V MorascaBrazil2026-06-17Morlong Associates NEW70Bernardo Dominic
1047Cody O CaldareraAustralia2026-06-05Truhlar And Truhlar Attys QUALIFIED92Xuxue Feng
1048Darci K MarrierFrance2026-06-01Dorl, James J Esq PROPOSAL23Xuxue Feng
1049Jeanfrancois H CaldareraIndia2026-06-06Commercial Press UNQUALIFIED17Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leja C SergiIndiaAsiya Javayant NEW
Leja H NestleItalyStephen Shaw QUALIFIED
Murillo Z WieserJapanIvan Magalhaes UNQUALIFIED
Ricardo A MarrierSpainIvan Magalhaes PROPOSAL
Alejandro Y CampainGermanyBernardo Dominic PROPOSAL
Aditya R AmigonJapanStephen Shaw NEW
Johnson O MaletRussiaOnyama Limba PROPOSAL
Kadeem W MaletRussiaAsiya Javayant NEW
Arvin D RutaItalyOnyama Limba NEW
Izzy E VenereJapanXuxue Feng NEGOTIATION
Silvio O KolmetzIndiaElwin Sharvill RENEWAL
Alejandro P SergiArgentinaXuxue Feng PROPOSAL
Kadeem H OstroskyCanadaAsiya Javayant PROPOSAL
Mujtaba D OldroydArgentinaStephen Shaw PROPOSAL
James C SergiAustraliaElwin Sharvill RENEWAL
Nicolas C DilliardUnited KingdomAmy Elsner PROPOSAL
Antonio S ButtFranceAnna Fali NEW
Octavia W CaldareraJapanAsiya Javayant PROPOSAL
Nicolas Q GauchoBrazilIoni Bowcher NEGOTIATION
Sinclair M GarufiIndiaElwin Sharvill PROPOSAL
Maria P CaldareraJapanElwin Sharvill UNQUALIFIED
Octavia F ChuiArgentinaElwin Sharvill NEW
Munro A RutaJapanIoni Bowcher UNQUALIFIED
Misaki X VocelkaArgentinaIoni Bowcher QUALIFIED
Kaitlin H TollnerGermanyStephen Shaw QUALIFIED
Jefferson Z RutaCanadaAsiya Javayant PROPOSAL
Nicolas J IturbideGermanyAmy Elsner RENEWAL
David Z PerinArgentinaBernardo Dominic UNQUALIFIED
Ricardo D CampainRussiaStephen Shaw NEW
Claire W NestleFranceAmy Elsner UNQUALIFIED
Rodrigues P ButtAustraliaAsiya Javayant PROPOSAL
David Z GarufiRussiaAnna Fali RENEWAL
Munro L FollerBrazilAnna Fali NEGOTIATION
Ricardo P RulapaughJapanElwin Sharvill PROPOSAL
Juan Z BowleyAustraliaIvan Magalhaes NEW
Wickens M VocelkaBrazilAsiya Javayant QUALIFIED
Jennifer J VenereGermanyStephen Shaw RENEWAL
Ashley S DoeArgentinaElwin Sharvill NEW
Nicolas P MaletGermanyAmy Elsner NEW
Ivar A RutaArgentinaOnyama Limba NEGOTIATION
Aruna X GarufiSpainIoni Bowcher RENEWAL
Clifford I ShinkoGermanyStephen Shaw PROPOSAL
Clifford Y StockhamUnited KingdomAnna Fali NEW
Izzy P IturbideRussiaAmy Elsner NEW
Aika V WhobreySpainStephen Shaw UNQUALIFIED
Arvin E FigeroaItalyAmy Elsner NEGOTIATION
Sinclair U KuskoBrazilElwin Sharvill NEGOTIATION
Faith C OldroydBrazilStephen Shaw PROPOSAL
Chavez Z OldroydJapanAsiya Javayant NEW
Chavez Q GlickJapanElwin Sharvill PROPOSAL
Frozen Columns
Name
Wickens O Ruta
Jeanfrancois M Waycott
Mayumi U Kolmetz
Jefferson B Perin
Kaitlin S Nicka
Faith H Albares
Aika L Malet
Wickens J Nestle
Misaki B Slusarski
Francesco Q Garufi
Aditya V Ferencz
Jeanfrancois A Venere
Julie H Albares
Jeanfrancois Z Perin
Julie A Butt
Antonio B Doe
Leja W Saylors
Munro X Sergi
Leon U Butt
Wickens U Inouye
David Q Figeroa
Jennifer G Rim
Emily L Figeroa
Faith X Royster
Faith Q Stenseth
Clifford K Butt
Aditya W Campain
Isabel L Sergi
Silvio K Venere
Munro M Royster
Johnson N Vocelka
Jefferson R Bowley
Maria R Shinko
Aika Z Sergi
Octavia U Marrier
Nicolas B Caudy
Ivar B Whobrey
Clifford N Gillian
Salvatore M Ostrosky
Kaitlin H Schemmer
Cody S Poquette
Ashley N Campain
Ashley G Stenseth
Juan O Caldarera
Aika J Malet
Adams X Stenseth
Nicolas A Poquette
Salvatore F Marrier
Clifford K Maclead
Tony S Morasca
IdCountryDate
1000France2026-06-24
1001India2026-06-28
1002Spain2026-06-06
1003Italy2026-06-20
1004Argentina2026-06-15
1005Canada2026-06-27
1006Australia2026-06-23
1007Italy2026-06-24
1008Canada2026-05-31
1009Spain2026-06-18
1010Argentina2026-06-13
1011Australia2026-06-28
1012France2026-06-17
1013Argentina2026-06-13
1014United Kingdom2026-06-18
1015Argentina2026-06-14
1016Japan2026-06-15
1017Spain2026-06-20
1018Germany2026-06-12
1019Germany2026-06-27
1020Argentina2026-06-21
1021Russia2026-06-13
1022Brazil2026-05-31
1023Australia2026-06-03
1024France2026-06-13
1025United Kingdom2026-06-10
1026Germany2026-06-10
1027Brazil2026-06-20
1028Brazil2026-06-13
1029Japan2026-06-26
1030United Kingdom2026-06-03
1031Germany2026-06-27
1032Australia2026-06-19
1033Argentina2026-06-18
1034Japan2026-06-27
1035Russia2026-06-05
1036Brazil2026-06-22
1037Canada2026-06-09
1038Japan2026-06-26
1039Japan2026-06-19
1040India2026-06-12
1041Canada2026-06-14
1042India2026-06-01
1043Spain2026-06-05
1044Germany2026-06-26
1045Australia2026-06-24
1046Brazil2026-06-04
1047Spain2026-05-31
1048Japan2026-06-07
1049United Kingdom2026-06-24

On-Demand Data

NameIdCountryDate
Morrow X Iturbide1000India2026-06-19
Darci Q Flosi1001Spain2026-06-03
Sinclair S Perin1002Italy2026-06-13
Francesco J Morasca1003Spain2026-06-06
Silvio O Royster1004Australia2026-06-11
Sinclair P Stenseth1005Japan2026-06-13
Arvin A Ruta1006India2026-06-16
Mujtaba B Iturbide1007Argentina2026-06-03
James G Poquette1008India2026-06-10
Aruna S Glick1009Australia2026-06-16
Nicolas L Kusko1010Germany2026-06-08
Misaki B Darakjy1011Japan2026-06-22
Emily Q Foller1012Australia2026-06-23
Costa O Figeroa1013France2026-06-03
Mayumi J Caudy1014France2026-06-15
Antonio P Royster1015France2026-06-22
Silvio R Rim1016Spain2026-06-14
Aika R Rim1017Argentina2026-06-13
Smith A Malet1018Germany2026-06-27
Alejandro R Slusarski1019Argentina2026-06-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford B WieserBrazilXuxue Feng NEGOTIATION
Morrow N GlickGermanyStephen Shaw UNQUALIFIED
Chavez J StockhamGermanyElwin Sharvill RENEWAL
Kaitlin I KuskoSpainStephen Shaw QUALIFIED
Mujtaba L DilliardItalyIoni Bowcher RENEWAL
Leja S GauchoItalyXuxue Feng QUALIFIED
Tony V OldroydIndiaAsiya Javayant PROPOSAL
Smith B PerinSpainStephen Shaw PROPOSAL
Leon P FlosiRussiaBernardo Dominic NEW
Mujtaba N AlbaresAustraliaAmy Elsner QUALIFIED
Kaitlin A AlbaresBrazilStephen Shaw QUALIFIED
Maisha R OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Juan I PoquetteItalyElwin Sharvill NEW
Claire W GarufiGermanyAmy Elsner PROPOSAL
Salvatore C MaletItalyIoni Bowcher UNQUALIFIED
Ricardo L SergiCanadaAnna Fali PROPOSAL
Francesco Z StensethJapanAsiya Javayant RENEWAL
Murillo G WieserGermanyOnyama Limba PROPOSAL
Maria K CaldareraBrazilBernardo Dominic QUALIFIED
Ivar D RutaSpainElwin Sharvill RENEWAL
Johnson K AmigonBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois N KuskoUnited KingdomBernardo Dominic NEW
Octavia I PaprockiSpainAnna Fali QUALIFIED
Sinclair Q OldroydUnited KingdomAnna Fali NEGOTIATION
Munro P GauchoSpainIvan Magalhaes NEGOTIATION
Leja H SchemmerSpainAnna Fali NEGOTIATION
Misaki J TollnerRussiaOnyama Limba QUALIFIED
James N DoeIndiaIvan Magalhaes RENEWAL
Kadeem I WieserCanadaBernardo Dominic NEGOTIATION
Clifford G GauchoUnited KingdomOnyama Limba UNQUALIFIED
Leja S SlusarskiFranceIoni Bowcher QUALIFIED
Salvatore T WhobreyUnited KingdomStephen Shaw PROPOSAL
Chavez Y PoquetteGermanyBernardo Dominic NEGOTIATION
Izzy M IturbideArgentinaIoni Bowcher UNQUALIFIED
Silvio R KuskoCanadaStephen Shaw QUALIFIED
Nicolas N FlosiFranceOnyama Limba RENEWAL
Isabel Q FerenczIndiaXuxue Feng NEGOTIATION
Octavia G GillianAustraliaStephen Shaw NEGOTIATION
Jones J VocelkaBrazilElwin Sharvill QUALIFIED
James X StensethSpainXuxue Feng 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.