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
Deepesh W BriddickJapanAnna Fali QUALIFIED
Jeanfrancois A AmigonGermanyIvan Magalhaes QUALIFIED
Adams Z FlosiFranceAnna Fali NEGOTIATION
Costa P FigeroaBrazilAnna Fali UNQUALIFIED
Murillo Y CampainCanadaBernardo Dominic PROPOSAL
Jones I MarrierGermanyOnyama Limba NEW
Octavia S NickaBrazilIoni Bowcher QUALIFIED
Jones M MorascaCanadaIoni Bowcher NEW
Wickens D BologniaBrazilBernardo Dominic NEGOTIATION
Misaki S MaletRussiaBernardo Dominic QUALIFIED
Mayumi P SlusarskiCanadaAnna Fali UNQUALIFIED
Alejandro G FollerAustraliaXuxue Feng NEW
Morrow O SaylorsAustraliaElwin Sharvill PROPOSAL
Aditya F RimGermanyIvan Magalhaes PROPOSAL
Smith N SergiSpainOnyama Limba NEW
Wickens Z MacleadItalyIvan Magalhaes RENEWAL
Johnson V DarakjyArgentinaIoni Bowcher QUALIFIED
Arvin N InouyeItalyOnyama Limba NEW
Francesco T RutaBrazilElwin Sharvill NEGOTIATION
Aruna S DilliardGermanyAnna Fali RENEWAL
Maria B RimGermanyOnyama Limba NEW
Faith S NestleRussiaAnna Fali QUALIFIED
Maisha E SaylorsCanadaAmy Elsner QUALIFIED
Aika P StockhamUnited KingdomElwin Sharvill NEW
Silvio C WaycottBrazilStephen Shaw NEGOTIATION
Isabel R KolmetzSpainAsiya Javayant UNQUALIFIED
Kaitlin I GarufiIndiaAmy Elsner NEGOTIATION
Misaki M ButtIndiaXuxue Feng RENEWAL
Aditya U SaylorsCanadaIvan Magalhaes PROPOSAL
Deepesh W MaletJapanElwin Sharvill UNQUALIFIED
Ashley S MaletAustraliaAsiya Javayant QUALIFIED
Octavia S GarufiIndiaAmy Elsner QUALIFIED
Octavia B RoysterGermanyStephen Shaw QUALIFIED
Francesco J PaprockiFranceOnyama Limba QUALIFIED
Juan K IturbideRussiaAmy Elsner UNQUALIFIED
Kaitlin H VocelkaItalyIvan Magalhaes PROPOSAL
Stacey S GlickItalyOnyama Limba UNQUALIFIED
Maisha E AlbaresBrazilAsiya Javayant RENEWAL
Aika K CaudySpainXuxue Feng UNQUALIFIED
Octavia F KolmetzRussiaIvan Magalhaes RENEWAL
David X VenereSpainElwin Sharvill UNQUALIFIED
Chavez V AlbaresCanadaIoni Bowcher UNQUALIFIED
Jefferson D SergiAustraliaAnna Fali NEGOTIATION
Maisha C AlbaresCanadaIoni Bowcher RENEWAL
Costa H WieserRussiaAnna Fali QUALIFIED
Adams N MacleadUnited KingdomStephen Shaw UNQUALIFIED
Aika K BologniaRussiaBernardo Dominic QUALIFIED
Murillo K FollerBrazilAsiya Javayant QUALIFIED
Costa R OstroskyJapanBernardo Dominic UNQUALIFIED
Tony H PerinGermanyElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya S StensethFranceStephen Shaw UNQUALIFIED
Leon M InouyeGermanyBernardo Dominic NEW
Leja L PaprockiGermanyBernardo Dominic PROPOSAL
Maria S StockhamBrazilAsiya Javayant RENEWAL
Misaki Z AmigonUnited KingdomElwin Sharvill PROPOSAL
Salvatore R RimIndiaStephen Shaw NEW
Mujtaba J SergiUnited KingdomXuxue Feng NEW
Misaki N KolmetzSpainXuxue Feng UNQUALIFIED
Jones X MacleadUnited KingdomOnyama Limba QUALIFIED
Greenwood Y FigeroaUnited KingdomIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro T WieserArgentina2026-06-11Benton, John B Jr PROPOSAL66Amy Elsner
1001Wickens U DoeBrazil2026-05-24Dorl, James J Esq NEGOTIATION50Stephen Shaw
1002Clifford K PoquetteJapan2026-06-06Feltz Printing Service PROPOSAL96Ivan Magalhaes
1003Silvio L KuskoGermany2026-06-07Benton, John B Jr UNQUALIFIED0Asiya Javayant
1004Julie C IturbideCanada2026-06-15Dorl, James J Esq PROPOSAL41Bernardo Dominic
1005Ashley M FigeroaGermany2026-05-17Rangoni Of Florence RENEWAL99Ivan Magalhaes
1006Silvio N AlbaresJapan2026-06-13Morlong Associates UNQUALIFIED48Ioni Bowcher
1007Johnson Z VocelkaGermany2026-05-21Benton, John B Jr NEW66Elwin Sharvill
1008Johnson E DilliardUnited Kingdom2026-06-08Chanay, Jeffrey A Esq RENEWAL79Anna Fali
1009Izzy I DarakjySpain2026-05-21King, Christopher A Esq QUALIFIED1Stephen Shaw
1010Jeanfrancois W PoquetteIndia2026-06-06Feltz Printing Service QUALIFIED57Xuxue Feng
1011Maisha H NestleIndia2026-06-02King, Christopher A Esq NEW35Bernardo Dominic
1012Adams M WhobreyJapan2026-06-13Feiner Bros UNQUALIFIED98Onyama Limba
1013Morrow X BologniaItaly2026-05-29Rousseaux, Michael Esq NEGOTIATION72Ivan Magalhaes
1014Sinclair P ButtJapan2026-05-26Buckley Miller Wright NEW60Ivan Magalhaes
1015Leja D WieserIndia2026-06-06Chanay, Jeffrey A Esq QUALIFIED55Xuxue Feng
1016Mujtaba A MaletJapan2026-05-28Benton, John B Jr UNQUALIFIED70Xuxue Feng
1017Isabel K PerinRussia2026-05-18Rousseaux, Michael Esq NEW89Asiya Javayant
1018Aika W BriddickJapan2026-06-05Feltz Printing Service NEGOTIATION16Amy Elsner
1019Murillo A RoysterAustralia2026-06-04King, Christopher A Esq RENEWAL60Ivan Magalhaes
1020Jeanfrancois C FollerUnited Kingdom2026-05-29Commercial Press RENEWAL4Stephen Shaw
1021Munro U ShinkoCanada2026-05-26Feltz Printing Service NEGOTIATION27Ioni Bowcher
1022Kaitlin E MaletFrance2026-05-27Commercial Press NEGOTIATION17Ioni Bowcher
1023Smith K SlusarskiArgentina2026-05-20Feltz Printing Service NEW2Amy Elsner
1024Nicolas Q VocelkaGermany2026-06-02Commercial Press PROPOSAL76Onyama Limba
1025Costa R OldroydRussia2026-05-27Chanay, Jeffrey A Esq NEW29Xuxue Feng
1026Murillo U PoquetteItaly2026-05-18Printing Dimensions QUALIFIED30Elwin Sharvill
1027Alejandro K FerenczFrance2026-06-02Commercial Press NEGOTIATION12Ivan Magalhaes
1028Antonio K OstroskyGermany2026-05-17Chemel, James L Cpa UNQUALIFIED58Amy Elsner
1029Leon A BriddickGermany2026-06-11Rangoni Of Florence PROPOSAL65Bernardo Dominic
1030Tony C GauchoRussia2026-05-18Rousseaux, Michael Esq PROPOSAL15Ivan Magalhaes
1031Francesco B NickaUnited Kingdom2026-05-17Rousseaux, Michael Esq UNQUALIFIED86Onyama Limba
1032Arvin S OldroydBrazil2026-05-19King, Christopher A Esq PROPOSAL95Anna Fali
1033Jefferson M CampainIndia2026-05-30King, Christopher A Esq QUALIFIED99Onyama Limba
1034Arvin Q GauchoItaly2026-06-14Buckley Miller Wright RENEWAL15Ivan Magalhaes
1035Salvatore Y StockhamUnited Kingdom2026-06-10Feltz Printing Service NEGOTIATION18Stephen Shaw
1036Arvin D DilliardArgentina2026-06-02Printing Dimensions RENEWAL16Onyama Limba
1037Ricardo T BologniaFrance2026-05-26Buckley Miller Wright RENEWAL4Xuxue Feng
1038Kadeem X SergiFrance2026-06-10Rangoni Of Florence NEW68Anna Fali
1039Chavez S AlbaresBrazil2026-06-04Truhlar And Truhlar Attys QUALIFIED23Onyama Limba
1040Greenwood M OstroskyAustralia2026-06-13Rangoni Of Florence UNQUALIFIED39Xuxue Feng
1041Alejandro U GlickRussia2026-06-11Feiner Bros NEW54Xuxue Feng
1042Kadeem M SergiIndia2026-06-02Feltz Printing Service NEW43Ivan Magalhaes
1043Murillo K WieserAustralia2026-06-04Feiner Bros NEGOTIATION52Ioni Bowcher
1044Munro E StensethAustralia2026-05-21King, Christopher A Esq NEGOTIATION47Asiya Javayant
1045Wickens U StensethRussia2026-05-27Printing Dimensions PROPOSAL29Anna Fali
1046Wickens P PaprockiItaly2026-06-02Printing Dimensions QUALIFIED10Elwin Sharvill
1047Emily O SchemmerAustralia2026-06-09Buckley Miller Wright QUALIFIED47Stephen Shaw
1048Jones J NickaArgentina2026-06-01Buckley Miller Wright RENEWAL64Ioni Bowcher
1049Murillo N MarrierBrazil2026-06-09Benton, John B Jr NEGOTIATION5Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leja A BologniaRussiaAmy Elsner PROPOSAL
Juan X StockhamArgentinaIvan Magalhaes QUALIFIED
Jennifer Y WieserUnited KingdomAmy Elsner QUALIFIED
Mayumi Y RoysterItalyElwin Sharvill RENEWAL
Juan P RulapaughFranceAmy Elsner PROPOSAL
Deepesh P MacleadItalyOnyama Limba RENEWAL
Emily O CaldareraRussiaStephen Shaw RENEWAL
Darci E SlusarskiIndiaAmy Elsner RENEWAL
James J AlbaresBrazilOnyama Limba PROPOSAL
Faith I MorascaIndiaIvan Magalhaes RENEWAL
Rodrigues E IturbideRussiaAnna Fali UNQUALIFIED
Isabel T KolmetzRussiaBernardo Dominic NEW
Wickens Z BriddickCanadaOnyama Limba UNQUALIFIED
Ashley J CaldareraBrazilStephen Shaw NEW
Clifford P WhobreyFranceOnyama Limba UNQUALIFIED
Rodrigues G GillianCanadaBernardo Dominic PROPOSAL
Chavez I PaprockiFranceBernardo Dominic UNQUALIFIED
Johnson P RoysterUnited KingdomIoni Bowcher PROPOSAL
Kadeem C DarakjyAustraliaAmy Elsner PROPOSAL
Claire N GillianArgentinaIoni Bowcher QUALIFIED
Clifford I StockhamAustraliaStephen Shaw PROPOSAL
Faith I GillianSpainAsiya Javayant NEGOTIATION
Jennifer C DilliardUnited KingdomAsiya Javayant NEW
David F StensethIndiaAnna Fali RENEWAL
Sinclair T FollerGermanyStephen Shaw QUALIFIED
Darci N BologniaRussiaBernardo Dominic PROPOSAL
Deepesh T MaletCanadaIoni Bowcher RENEWAL
Tony K WaycottCanadaIvan Magalhaes PROPOSAL
Misaki F PaprockiIndiaIoni Bowcher RENEWAL
Aditya V AmigonAustraliaAmy Elsner UNQUALIFIED
Ashley K BriddickJapanAmy Elsner NEW
Salvatore S DilliardSpainAnna Fali QUALIFIED
Munro Q DilliardFranceAnna Fali PROPOSAL
Ricardo R CaudyItalyAmy Elsner QUALIFIED
Aruna F FollerSpainIoni Bowcher PROPOSAL
Ashley R GlickIndiaBernardo Dominic RENEWAL
Sinclair K NestleIndiaIvan Magalhaes PROPOSAL
Jennifer U MaletArgentinaAmy Elsner RENEWAL
Adams C StockhamJapanBernardo Dominic NEW
Greenwood H CaldareraJapanStephen Shaw NEW
Silvio F OstroskyBrazilIoni Bowcher UNQUALIFIED
Costa B KolmetzJapanIoni Bowcher UNQUALIFIED
Jones G MaletAustraliaIvan Magalhaes NEW
David R MaletArgentinaIoni Bowcher QUALIFIED
Wickens E MacleadIndiaBernardo Dominic NEGOTIATION
Octavia X DoeUnited KingdomXuxue Feng NEGOTIATION
Juan S CaudyUnited KingdomAnna Fali RENEWAL
Stacey X NickaFranceAmy Elsner QUALIFIED
Julie D GauchoUnited KingdomAsiya Javayant QUALIFIED
Claire N FollerUnited KingdomAsiya Javayant NEW
Frozen Columns
Name
Ivar Y Nicka
Emily W Paprocki
Silvio L Caudy
Nicolas J Ruta
Aditya G Schemmer
Faith Q Perin
Johnson M Inouye
Greenwood B Rim
Leon D Albares
Rodrigues B Malet
Jennifer T Malet
Jennifer Y Malet
Cody N Ostrosky
Juan I Wieser
Adams N Slusarski
Aditya I Perin
Adams S Royster
Rodrigues H Venere
Chavez U Rulapaugh
Francesco Q Perin
Julie N Whobrey
David A Slusarski
Aditya Z Shinko
Stacey K Wieser
Aruna Z Albares
Aditya Y Butt
Murillo F Nicka
Ricardo Z Glick
Maisha X Royster
Jeanfrancois B Kusko
Cody A Iturbide
Wickens N Schemmer
Aika T Garufi
Johnson F Vocelka
David B Malet
Izzy U Flosi
Jefferson W Marrier
Mayumi G Kusko
Octavia E Slusarski
Arvin X Dilliard
Emily K Slusarski
Munro J Butt
Costa A Caudy
Rodrigues C Bowley
Salvatore D Waycott
Maisha G Ferencz
Antonio A Ruta
Deepesh Z Royster
Deepesh M Foller
Kadeem K Rulapaugh
IdCountryDate
1000Argentina2026-05-26
1001India2026-05-27
1002Russia2026-06-06
1003Spain2026-06-05
1004France2026-06-04
1005Spain2026-06-12
1006Russia2026-05-26
1007United Kingdom2026-05-21
1008Italy2026-06-07
1009India2026-05-24
1010Japan2026-06-10
1011Spain2026-06-03
1012United Kingdom2026-06-07
1013Germany2026-06-13
1014Russia2026-05-19
1015Russia2026-06-12
1016Canada2026-06-08
1017Japan2026-06-05
1018Japan2026-05-22
1019Russia2026-05-22
1020Brazil2026-06-05
1021Italy2026-05-27
1022India2026-06-02
1023United Kingdom2026-05-28
1024France2026-06-12
1025Argentina2026-05-26
1026India2026-06-08
1027Germany2026-05-17
1028Russia2026-05-17
1029Australia2026-06-02
1030Germany2026-05-28
1031Germany2026-05-31
1032Brazil2026-06-10
1033India2026-06-08
1034Argentina2026-05-21
1035Argentina2026-06-14
1036France2026-05-25
1037Japan2026-06-15
1038Japan2026-06-03
1039Australia2026-05-30
1040Canada2026-06-13
1041Italy2026-06-08
1042Spain2026-05-22
1043Japan2026-06-09
1044France2026-06-10
1045Italy2026-05-27
1046United Kingdom2026-06-12
1047Spain2026-06-13
1048Spain2026-05-31
1049Russia2026-06-04

On-Demand Data

NameIdCountryDate
Claire Q Nicka1000Australia2026-06-12
Adams W Slusarski1001Canada2026-05-21
Jeanfrancois Q Stockham1002France2026-06-04
Deepesh T Marrier1003Spain2026-06-12
Murillo A Ferencz1004France2026-06-08
Ricardo W Ruta1005Canada2026-06-02
Faith V Marrier1006Russia2026-06-03
Emily K Poquette1007Canada2026-05-27
Aika O Bolognia1008Canada2026-06-10
Clifford O Albares1009Canada2026-05-20
Isabel E Bowley1010Russia2026-05-21
Sinclair L Malet1011Argentina2026-06-04
Sinclair M Gillian1012Russia2026-06-01
Cody K Iturbide1013India2026-06-02
Ivar H Foller1014Canada2026-05-23
Mayumi A Inouye1015United Kingdom2026-06-12
Cody Z Caldarera1016Spain2026-06-03
Ricardo K Gaucho1017Spain2026-06-04
Isabel K Waycott1018France2026-06-09
Darci X Gaucho1019India2026-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley A WhobreyFranceStephen Shaw UNQUALIFIED
Jefferson L BriddickItalyAnna Fali QUALIFIED
Nicolas N DilliardAustraliaAnna Fali UNQUALIFIED
Aruna Q FigeroaBrazilAmy Elsner UNQUALIFIED
Aruna S GlickUnited KingdomXuxue Feng NEW
Alejandro L SaylorsJapanStephen Shaw NEGOTIATION
Aika D StensethRussiaStephen Shaw RENEWAL
Julie F SlusarskiRussiaAsiya Javayant PROPOSAL
Maisha W CaldareraAustraliaElwin Sharvill UNQUALIFIED
Faith E CaudyArgentinaOnyama Limba PROPOSAL
Kaitlin G MaletGermanyAmy Elsner QUALIFIED
Claire I DilliardArgentinaAsiya Javayant RENEWAL
Juan F KuskoItalyBernardo Dominic UNQUALIFIED
Sinclair O MacleadJapanAsiya Javayant QUALIFIED
Nicolas W PerinUnited KingdomXuxue Feng QUALIFIED
James K RutaAustraliaAnna Fali UNQUALIFIED
Smith N CampainCanadaBernardo Dominic RENEWAL
Deepesh K StensethJapanStephen Shaw PROPOSAL
Maisha R WhobreySpainBernardo Dominic UNQUALIFIED
Leon U MorascaItalyAnna Fali PROPOSAL
Rodrigues Q NestleFranceAsiya Javayant RENEWAL
Chavez P StensethItalyElwin Sharvill NEW
Arvin J DilliardGermanyIoni Bowcher UNQUALIFIED
Johnson P PoquetteAustraliaAmy Elsner RENEWAL
Munro B FollerItalyIvan Magalhaes QUALIFIED
Jones L MorascaFranceAmy Elsner RENEWAL
Jefferson E WieserAustraliaIoni Bowcher NEW
Ivar F WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Deepesh W VenereBrazilAsiya Javayant NEGOTIATION
Octavia M GlickArgentinaStephen Shaw QUALIFIED
David R OstroskyArgentinaBernardo Dominic UNQUALIFIED
Munro T PaprockiJapanAnna Fali NEGOTIATION
Alejandro R MorascaSpainIoni Bowcher QUALIFIED
Julie L GarufiAustraliaStephen Shaw NEGOTIATION
James Z WhobreyIndiaBernardo Dominic PROPOSAL
Ivar Q MorascaUnited KingdomElwin Sharvill QUALIFIED
Leon W SchemmerRussiaIoni Bowcher UNQUALIFIED
Clifford U BologniaItalyAnna Fali NEW
Adams G BowleyCanadaBernardo Dominic NEW
Octavia I NestleJapanAsiya Javayant 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.