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
Mayumi W GauchoGermanyStephen Shaw NEGOTIATION
Aika F BologniaJapanAsiya Javayant PROPOSAL
Costa T VocelkaCanadaIvan Magalhaes NEGOTIATION
Ivar U ButtFranceBernardo Dominic RENEWAL
Jones E MacleadUnited KingdomBernardo Dominic QUALIFIED
Deepesh V SaylorsSpainElwin Sharvill UNQUALIFIED
Adams N OldroydJapanXuxue Feng NEW
James J WaycottGermanyStephen Shaw QUALIFIED
Francesco H NestleAustraliaOnyama Limba NEW
Kadeem T DoeArgentinaAmy Elsner PROPOSAL
Alejandro H StockhamSpainIoni Bowcher NEGOTIATION
Aika Z BowleyUnited KingdomStephen Shaw UNQUALIFIED
Clifford O CampainJapanIvan Magalhaes PROPOSAL
Morrow D RimJapanAmy Elsner UNQUALIFIED
Juan C SergiCanadaBernardo Dominic PROPOSAL
Clifford Y MarrierCanadaXuxue Feng NEW
Isabel H SergiItalyBernardo Dominic UNQUALIFIED
Adams E FollerItalyAmy Elsner RENEWAL
Emily P RulapaughAustraliaBernardo Dominic NEW
Silvio O FerenczArgentinaAsiya Javayant RENEWAL
Leja B MacleadBrazilIoni Bowcher UNQUALIFIED
Wickens X CaudyJapanAsiya Javayant RENEWAL
Faith O StensethIndiaAnna Fali QUALIFIED
Julie R GauchoBrazilAnna Fali RENEWAL
Cody L GlickRussiaBernardo Dominic NEGOTIATION
Julie N FigeroaJapanOnyama Limba UNQUALIFIED
Murillo S AlbaresBrazilOnyama Limba NEGOTIATION
Isabel N DilliardAustraliaXuxue Feng UNQUALIFIED
Rodrigues S AlbaresFranceOnyama Limba PROPOSAL
Ivar T GlickFranceBernardo Dominic NEGOTIATION
Johnson W IturbideCanadaIoni Bowcher UNQUALIFIED
Juan P CaudyArgentinaIoni Bowcher NEW
Greenwood L DarakjyFranceOnyama Limba PROPOSAL
Antonio J WieserItalyOnyama Limba RENEWAL
Johnson U GillianSpainAnna Fali NEGOTIATION
Silvio G StockhamAustraliaIvan Magalhaes RENEWAL
Aditya K GauchoRussiaBernardo Dominic UNQUALIFIED
Aruna R NestleFranceXuxue Feng PROPOSAL
Ivar D MarrierIndiaXuxue Feng NEGOTIATION
Adams D PoquetteRussiaIvan Magalhaes NEGOTIATION
Wickens I RimRussiaAsiya Javayant UNQUALIFIED
Ashley S RulapaughSpainAnna Fali QUALIFIED
Costa D FerenczArgentinaAnna Fali RENEWAL
Jennifer H NestleIndiaOnyama Limba RENEWAL
Stacey L GauchoAustraliaXuxue Feng RENEWAL
Maisha T PerinBrazilOnyama Limba RENEWAL
Octavia D MaletJapanIvan Magalhaes UNQUALIFIED
Mujtaba J MorascaItalyIvan Magalhaes NEW
Jones S RulapaughFranceIvan Magalhaes PROPOSAL
Mayumi O CaudyFranceIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa L InouyeAustraliaElwin Sharvill UNQUALIFIED
Nicolas L MorascaItalyBernardo Dominic PROPOSAL
Ivar Q MarrierJapanElwin Sharvill RENEWAL
Murillo K GillianBrazilIvan Magalhaes RENEWAL
Aruna G DoeUnited KingdomElwin Sharvill NEGOTIATION
Izzy O ShinkoSpainBernardo Dominic NEW
Juan I WieserAustraliaBernardo Dominic NEGOTIATION
Chavez B MaletCanadaBernardo Dominic UNQUALIFIED
Faith Y DoeBrazilStephen Shaw PROPOSAL
Murillo S GauchoIndiaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci E SlusarskiItaly2026-05-23Buckley Miller Wright RENEWAL53Bernardo Dominic
1001Jennifer U FlosiItaly2026-05-28Printing Dimensions QUALIFIED91Onyama Limba
1002Leon Q BriddickAustralia2026-06-12Benton, John B Jr UNQUALIFIED1Stephen Shaw
1003Sinclair V PaprockiAustralia2026-05-18Rousseaux, Michael Esq NEGOTIATION85Asiya Javayant
1004Tony H BologniaSpain2026-06-12Rangoni Of Florence UNQUALIFIED88Anna Fali
1005Antonio E CaldareraArgentina2026-06-14Buckley Miller Wright RENEWAL94Bernardo Dominic
1006Mayumi E WhobreySpain2026-06-11Morlong Associates NEGOTIATION72Stephen Shaw
1007Smith N BologniaAustralia2026-06-07Morlong Associates QUALIFIED14Asiya Javayant
1008Isabel L DilliardSpain2026-06-05Chanay, Jeffrey A Esq PROPOSAL30Ivan Magalhaes
1009Emily M ButtItaly2026-06-10Commercial Press NEGOTIATION83Bernardo Dominic
1010Wickens B FollerAustralia2026-05-30Chanay, Jeffrey A Esq NEGOTIATION43Elwin Sharvill
1011David F ChuiItaly2026-05-25Truhlar And Truhlar Attys NEGOTIATION24Stephen Shaw
1012Munro A RoysterFrance2026-06-02Feiner Bros NEW59Stephen Shaw
1013Cody A BowleyUnited Kingdom2026-05-26Truhlar And Truhlar Attys QUALIFIED82Ivan Magalhaes
1014Ashley W ShinkoItaly2026-05-27Printing Dimensions UNQUALIFIED93Anna Fali
1015Ivar L StensethBrazil2026-05-28Commercial Press RENEWAL58Stephen Shaw
1016Clifford X CampainJapan2026-06-01Benton, John B Jr NEW14Asiya Javayant
1017Isabel W WaycottAustralia2026-05-31Morlong Associates UNQUALIFIED67Onyama Limba
1018Emily G DarakjyUnited Kingdom2026-05-19Dorl, James J Esq RENEWAL57Bernardo Dominic
1019Arvin W CaudyBrazil2026-05-23Truhlar And Truhlar Attys UNQUALIFIED25Bernardo Dominic
1020Maria Y StockhamArgentina2026-06-13Buckley Miller Wright NEGOTIATION82Onyama Limba
1021Aika B CaldareraCanada2026-05-28Printing Dimensions QUALIFIED74Elwin Sharvill
1022Emily M DarakjyGermany2026-06-01Rangoni Of Florence QUALIFIED16Onyama Limba
1023Leon X VenereArgentina2026-06-13Commercial Press RENEWAL31Ivan Magalhaes
1024Maisha E VocelkaArgentina2026-06-08Truhlar And Truhlar Attys QUALIFIED19Onyama Limba
1025Wickens K AlbaresSpain2026-06-03Printing Dimensions NEGOTIATION26Ioni Bowcher
1026Sinclair R CampainAustralia2026-05-24Printing Dimensions UNQUALIFIED31Ivan Magalhaes
1027Adams Q KuskoAustralia2026-05-30Chanay, Jeffrey A Esq NEW31Elwin Sharvill
1028Chavez D SchemmerCanada2026-06-01Commercial Press NEGOTIATION20Elwin Sharvill
1029Smith P CaldareraItaly2026-06-03Rousseaux, Michael Esq QUALIFIED44Asiya Javayant
1030Octavia T PaprockiGermany2026-06-06Rangoni Of Florence NEGOTIATION24Stephen Shaw
1031Wickens T RimArgentina2026-06-08Chanay, Jeffrey A Esq UNQUALIFIED51Ioni Bowcher
1032David U BriddickRussia2026-05-30Buckley Miller Wright UNQUALIFIED62Elwin Sharvill
1033Faith N FigeroaItaly2026-06-10Truhlar And Truhlar Attys UNQUALIFIED63Ivan Magalhaes
1034Greenwood H WieserSpain2026-05-18Feiner Bros NEGOTIATION58Ioni Bowcher
1035Misaki Y IturbideFrance2026-05-23Dorl, James J Esq NEW33Amy Elsner
1036Munro Y RutaUnited Kingdom2026-06-06Benton, John B Jr PROPOSAL42Anna Fali
1037Julie G StockhamFrance2026-05-26Truhlar And Truhlar Attys PROPOSAL72Xuxue Feng
1038Costa S SergiSpain2026-05-24Chapman, Ross E Esq UNQUALIFIED31Stephen Shaw
1039Smith R GarufiSpain2026-05-19King, Christopher A Esq NEGOTIATION65Stephen Shaw
1040Costa Q RutaSpain2026-06-06Benton, John B Jr RENEWAL90Amy Elsner
1041Rodrigues T SchemmerJapan2026-05-19Printing Dimensions RENEWAL57Onyama Limba
1042Aika A SchemmerUnited Kingdom2026-06-06Rangoni Of Florence QUALIFIED34Anna Fali
1043Arvin A OldroydUnited Kingdom2026-06-14Truhlar And Truhlar Attys NEW87Anna Fali
1044Sinclair I FlosiAustralia2026-06-12Chemel, James L Cpa QUALIFIED90Xuxue Feng
1045Adams U PaprockiSpain2026-06-03Benton, John B Jr UNQUALIFIED86Ioni Bowcher
1046Jennifer K MaletJapan2026-06-01Commercial Press NEW43Bernardo Dominic
1047Jeanfrancois J RimGermany2026-06-09Printing Dimensions PROPOSAL38Ivan Magalhaes
1048Maisha F TollnerItaly2026-06-14Feiner Bros RENEWAL41Bernardo Dominic
1049Juan T DilliardRussia2026-06-04Chapman, Ross E Esq NEW99Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha F NickaItalyAnna Fali RENEWAL
Octavia D VocelkaFranceElwin Sharvill UNQUALIFIED
Deepesh B CaudyAustraliaIvan Magalhaes PROPOSAL
Octavia X FlosiJapanAnna Fali QUALIFIED
Juan U DoeCanadaAnna Fali PROPOSAL
Salvatore T OstroskyIndiaAsiya Javayant NEGOTIATION
Mujtaba S NickaGermanyElwin Sharvill NEW
Octavia O NickaSpainXuxue Feng NEW
Adams R VenereItalyAnna Fali UNQUALIFIED
Kadeem H DilliardArgentinaIvan Magalhaes RENEWAL
Julie Y MorascaJapanIvan Magalhaes NEW
Julie J TollnerSpainAsiya Javayant PROPOSAL
Maria K PoquetteAustraliaBernardo Dominic RENEWAL
Claire O WhobreyCanadaAnna Fali QUALIFIED
Julie H OstroskyCanadaStephen Shaw NEGOTIATION
Deepesh N StockhamGermanyBernardo Dominic RENEWAL
Chavez J DarakjyCanadaBernardo Dominic QUALIFIED
Smith W CampainSpainStephen Shaw RENEWAL
Silvio Y RoysterItalyAnna Fali NEW
Chavez U CaudyGermanyAnna Fali QUALIFIED
Faith V WieserGermanyBernardo Dominic PROPOSAL
Julie M StensethBrazilOnyama Limba UNQUALIFIED
Kaitlin Y DilliardSpainXuxue Feng UNQUALIFIED
Munro Y RulapaughRussiaAnna Fali UNQUALIFIED
Ricardo G AlbaresIndiaStephen Shaw RENEWAL
Adams S TollnerCanadaBernardo Dominic NEGOTIATION
Kadeem E CaldareraSpainAmy Elsner UNQUALIFIED
Leon D RoysterArgentinaAmy Elsner NEW
Silvio C InouyeGermanyAmy Elsner RENEWAL
Smith F WaycottFranceIoni Bowcher NEGOTIATION
Rodrigues X ChuiAustraliaAnna Fali UNQUALIFIED
Julie T StockhamCanadaIoni Bowcher UNQUALIFIED
Claire U BriddickJapanElwin Sharvill PROPOSAL
Mujtaba C DarakjyFranceElwin Sharvill NEW
Mujtaba E SchemmerBrazilIoni Bowcher QUALIFIED
Ricardo Q GarufiItalyBernardo Dominic QUALIFIED
James R GillianJapanAmy Elsner UNQUALIFIED
Mujtaba E StockhamAustraliaElwin Sharvill NEW
Kadeem D MaletRussiaAsiya Javayant PROPOSAL
Darci B FlosiFranceXuxue Feng NEW
Darci N MaletGermanyStephen Shaw RENEWAL
Ivar Y MaletItalyStephen Shaw NEGOTIATION
Jeanfrancois M CampainGermanyBernardo Dominic RENEWAL
Munro I CaudyUnited KingdomOnyama Limba RENEWAL
Silvio Y RoysterJapanXuxue Feng UNQUALIFIED
Tony E KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
Octavia J OldroydFranceAsiya Javayant NEW
Munro Z WhobreySpainBernardo Dominic QUALIFIED
Ashley I ButtFranceAmy Elsner RENEWAL
Ricardo B BologniaBrazilStephen Shaw UNQUALIFIED
Frozen Columns
Name
Aika C Waycott
Leja N Vocelka
James R Malet
Ivar Z Poquette
Chavez U Ostrosky
Jeanfrancois B Foller
Sinclair V Flosi
Leon O Malet
David F Gillian
Aruna E Saylors
Smith S Tollner
Silvio B Stockham
Antonio Y Glick
Juan O Maclead
Darci B Royster
Isabel U Sergi
Emily V Campain
Arvin M Gillian
Stacey P Iturbide
Isabel C Darakjy
Sinclair S Ostrosky
Arvin J Wieser
Adams C Perin
Johnson Y Schemmer
Munro D Marrier
Smith B Foller
Jeanfrancois B Chui
Maria T Paprocki
James Q Wieser
Costa Z Rulapaugh
Jennifer N Foller
Greenwood L Perin
Stacey T Foller
Deepesh A Caudy
Kadeem B Ruta
Munro M Shinko
Francesco P Garufi
Jeanfrancois L Inouye
Mujtaba O Rim
Julie B Butt
Kaitlin E Nestle
Jones V Perin
Julie O Doe
Aruna O Amigon
Rodrigues X Paprocki
Kadeem B Kolmetz
Tony I Flosi
Mayumi J Waycott
Alejandro R Gaucho
Cody F Marrier
IdCountryDate
1000Canada2026-05-30
1001India2026-06-14
1002Italy2026-05-22
1003Germany2026-05-30
1004Russia2026-06-15
1005France2026-06-10
1006France2026-05-27
1007United Kingdom2026-06-14
1008Australia2026-06-10
1009Russia2026-05-25
1010Germany2026-06-09
1011Germany2026-06-11
1012Australia2026-05-31
1013Germany2026-06-08
1014India2026-05-17
1015Germany2026-05-31
1016Japan2026-06-10
1017Brazil2026-05-24
1018Spain2026-06-07
1019Spain2026-05-17
1020Italy2026-06-02
1021Germany2026-06-11
1022United Kingdom2026-05-24
1023Japan2026-06-07
1024Germany2026-05-25
1025Italy2026-05-25
1026Spain2026-05-18
1027France2026-06-14
1028Australia2026-05-23
1029Germany2026-05-30
1030India2026-06-11
1031Australia2026-06-04
1032Spain2026-05-22
1033Australia2026-06-11
1034Argentina2026-05-19
1035Japan2026-06-10
1036France2026-06-08
1037Russia2026-05-21
1038United Kingdom2026-05-23
1039Italy2026-06-01
1040Spain2026-05-29
1041India2026-05-21
1042Germany2026-05-22
1043Germany2026-05-17
1044Canada2026-05-31
1045Australia2026-06-11
1046Brazil2026-06-03
1047Spain2026-06-10
1048France2026-06-11
1049Russia2026-06-03

On-Demand Data

NameIdCountryDate
Mujtaba V Glick1000India2026-05-19
Aruna Q Oldroyd1001Germany2026-05-23
Nicolas V Chui1002Italy2026-06-08
Aika N Venere1003Japan2026-06-12
Mujtaba C Garufi1004Russia2026-05-25
Wickens I Figeroa1005Germany2026-05-21
Claire K Kusko1006Argentina2026-06-04
Johnson K Amigon1007Japan2026-06-13
Leja T Garufi1008Italy2026-06-11
Ashley A Wieser1009Japan2026-05-31
Leja S Vocelka1010Italy2026-05-31
Salvatore N Iturbide1011Canada2026-05-26
James Z Glick1012France2026-06-02
Misaki U Rim1013Argentina2026-06-06
Arvin I Malet1014Spain2026-06-08
Kadeem F Kusko1015Canada2026-06-09
Isabel Q Darakjy1016Brazil2026-05-29
Silvio R Royster1017Brazil2026-06-13
Adams G Shinko1018France2026-06-09
Stacey B Ferencz1019France2026-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba Q DoeItalyAmy Elsner NEGOTIATION
Alejandro U PaprockiJapanIvan Magalhaes QUALIFIED
Kaitlin H FlosiAustraliaAmy Elsner UNQUALIFIED
Darci V CaldareraFranceAsiya Javayant RENEWAL
Clifford G GlickCanadaBernardo Dominic NEGOTIATION
Kadeem W SchemmerArgentinaElwin Sharvill NEGOTIATION
Emily X RulapaughAustraliaAnna Fali PROPOSAL
Jefferson B FerenczBrazilAsiya Javayant PROPOSAL
Juan I KuskoAustraliaAmy Elsner NEGOTIATION
Murillo R RoysterRussiaAsiya Javayant RENEWAL
Jennifer I KuskoRussiaAsiya Javayant NEGOTIATION
Ivar L SergiRussiaAnna Fali PROPOSAL
Deepesh H RutaSpainBernardo Dominic RENEWAL
Tony L MacleadSpainAnna Fali QUALIFIED
Salvatore P DoeUnited KingdomAsiya Javayant NEGOTIATION
Mayumi L DarakjyRussiaAnna Fali PROPOSAL
Claire N CampainJapanAsiya Javayant NEW
Antonio L AmigonUnited KingdomIoni Bowcher NEW
Aruna R MarrierSpainAnna Fali QUALIFIED
Jennifer F MaletCanadaAnna Fali PROPOSAL
Kaitlin N WieserArgentinaElwin Sharvill NEGOTIATION
Arvin T RoysterItalyAsiya Javayant QUALIFIED
Aruna Q AmigonRussiaXuxue Feng RENEWAL
Darci T SchemmerJapanAsiya Javayant UNQUALIFIED
Munro F BologniaBrazilIoni Bowcher QUALIFIED
Misaki E GillianUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois O VenereFranceBernardo Dominic RENEWAL
Julie T RulapaughRussiaIvan Magalhaes QUALIFIED
Munro K RutaBrazilBernardo Dominic UNQUALIFIED
Ivar L DoeRussiaXuxue Feng NEW
Ivar Q NickaJapanAsiya Javayant RENEWAL
Rodrigues D GauchoBrazilAmy Elsner NEGOTIATION
James K DarakjyFranceStephen Shaw PROPOSAL
Isabel E GillianAustraliaAnna Fali RENEWAL
Ivar V CampainJapanIoni Bowcher PROPOSAL
Salvatore P KolmetzJapanXuxue Feng UNQUALIFIED
David I MarrierUnited KingdomOnyama Limba PROPOSAL
Sinclair U OldroydItalyIvan Magalhaes QUALIFIED
Arvin M SaylorsCanadaElwin Sharvill RENEWAL
Ricardo N CampainItalyStephen Shaw UNQUALIFIED

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