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
Juan S FigeroaJapanXuxue Feng PROPOSAL
Juan S VocelkaSpainIvan Magalhaes NEW
Aruna N VocelkaGermanyBernardo Dominic UNQUALIFIED
Mayumi Z OstroskySpainIoni Bowcher QUALIFIED
Izzy P NickaItalyIvan Magalhaes RENEWAL
Maisha U WieserItalyStephen Shaw QUALIFIED
Leon O ButtGermanyStephen Shaw NEGOTIATION
Costa B WieserBrazilAmy Elsner RENEWAL
Misaki Z DoeIndiaOnyama Limba PROPOSAL
Julie K OstroskySpainIvan Magalhaes QUALIFIED
Sinclair Q InouyeRussiaXuxue Feng NEGOTIATION
Emily Q ShinkoJapanStephen Shaw QUALIFIED
Octavia J FerenczArgentinaIoni Bowcher NEGOTIATION
Clifford C IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba U PerinSpainBernardo Dominic QUALIFIED
Jones O RulapaughFranceXuxue Feng UNQUALIFIED
Tony Y FigeroaItalyIoni Bowcher PROPOSAL
Alejandro C RutaArgentinaElwin Sharvill PROPOSAL
Izzy W PaprockiUnited KingdomAmy Elsner RENEWAL
Adams P BowleyCanadaXuxue Feng RENEWAL
Faith U RoysterBrazilIoni Bowcher NEW
Aditya O InouyeBrazilAsiya Javayant NEW
Silvio J PerinUnited KingdomElwin Sharvill RENEWAL
Silvio N InouyeFranceAmy Elsner QUALIFIED
Emily H TollnerItalyOnyama Limba PROPOSAL
Adams Y MarrierSpainAsiya Javayant NEGOTIATION
Francesco N OldroydFranceAmy Elsner QUALIFIED
Emily Q FerenczIndiaIoni Bowcher UNQUALIFIED
Ivar K StockhamArgentinaOnyama Limba UNQUALIFIED
Wickens E SlusarskiRussiaAmy Elsner UNQUALIFIED
Wickens T InouyeSpainBernardo Dominic NEW
Isabel M DarakjyIndiaBernardo Dominic UNQUALIFIED
Rodrigues C TollnerGermanyXuxue Feng PROPOSAL
Costa P KolmetzArgentinaAsiya Javayant NEGOTIATION
Kadeem M MorascaUnited KingdomOnyama Limba NEGOTIATION
Nicolas D PoquetteItalyOnyama Limba PROPOSAL
Morrow W GlickJapanStephen Shaw PROPOSAL
Nicolas G FlosiSpainStephen Shaw NEGOTIATION
Nicolas K WaycottJapanStephen Shaw UNQUALIFIED
Arvin D RoysterJapanStephen Shaw NEGOTIATION
Mujtaba Y PerinAustraliaOnyama Limba RENEWAL
Wickens D OstroskyAustraliaIoni Bowcher QUALIFIED
Francesco I VenereJapanBernardo Dominic QUALIFIED
Leon F RutaBrazilAsiya Javayant QUALIFIED
Maria V RutaGermanyIvan Magalhaes UNQUALIFIED
Izzy X AlbaresItalyAmy Elsner RENEWAL
Smith V MarrierAustraliaAnna Fali QUALIFIED
Aika F IturbideFranceOnyama Limba NEGOTIATION
Adams X GlickBrazilAnna Fali QUALIFIED
Aditya T ButtUnited KingdomAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams J CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Emily W DoeBrazilAmy Elsner NEGOTIATION
Izzy W CaldareraArgentinaXuxue Feng NEW
Sinclair K PaprockiCanadaOnyama Limba NEGOTIATION
Misaki S CaldareraFranceXuxue Feng NEGOTIATION
Adams G NickaCanadaStephen Shaw NEW
Wickens Z StensethUnited KingdomStephen Shaw PROPOSAL
Greenwood O DilliardUnited KingdomIoni Bowcher PROPOSAL
Morrow U SchemmerRussiaStephen Shaw RENEWAL
Stacey D TollnerCanadaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson G FerenczJapan2026-06-22Dorl, James J Esq UNQUALIFIED26Ioni Bowcher
1001Ivar G MaletAustralia2026-06-04Dorl, James J Esq UNQUALIFIED7Xuxue Feng
1002Isabel C RimRussia2026-05-28Rangoni Of Florence UNQUALIFIED95Bernardo Dominic
1003Adams H GarufiArgentina2026-06-10Feiner Bros RENEWAL81Xuxue Feng
1004Johnson Z IturbideGermany2026-06-03Rangoni Of Florence PROPOSAL35Asiya Javayant
1005Leon G KuskoArgentina2026-06-07King, Christopher A Esq NEW21Xuxue Feng
1006Mujtaba M ShinkoRussia2026-06-23King, Christopher A Esq NEW96Asiya Javayant
1007Jeanfrancois Q VocelkaRussia2026-06-21Feiner Bros NEW28Ivan Magalhaes
1008Kaitlin Q AmigonUnited Kingdom2026-06-14Morlong Associates PROPOSAL61Xuxue Feng
1009Jones F NickaSpain2026-05-28Benton, John B Jr PROPOSAL1Xuxue Feng
1010Arvin M PerinJapan2026-06-03Rangoni Of Florence RENEWAL18Asiya Javayant
1011Misaki M SlusarskiItaly2026-06-25Benton, John B Jr UNQUALIFIED24Stephen Shaw
1012Faith Y CaudyRussia2026-06-23Rangoni Of Florence PROPOSAL59Elwin Sharvill
1013Juan B RutaGermany2026-06-13Chapman, Ross E Esq QUALIFIED61Stephen Shaw
1014Clifford O FlosiRussia2026-06-10Chemel, James L Cpa UNQUALIFIED85Ioni Bowcher
1015Ricardo N GarufiRussia2026-06-25Benton, John B Jr NEGOTIATION30Stephen Shaw
1016Tony G BowleyBrazil2026-05-29King, Christopher A Esq NEGOTIATION11Asiya Javayant
1017Emily M GauchoFrance2026-06-16Commercial Press RENEWAL11Asiya Javayant
1018Maisha R RimIndia2026-06-16Buckley Miller Wright RENEWAL70Bernardo Dominic
1019Ivar S WieserJapan2026-06-24Feltz Printing Service QUALIFIED44Ivan Magalhaes
1020Octavia T BologniaArgentina2026-06-25Morlong Associates PROPOSAL84Anna Fali
1021Jennifer V IturbideSpain2026-05-27Chemel, James L Cpa PROPOSAL50Anna Fali
1022Jennifer L WieserArgentina2026-06-06Rangoni Of Florence RENEWAL32Ivan Magalhaes
1023Tony H DarakjyJapan2026-06-03Chanay, Jeffrey A Esq PROPOSAL41Elwin Sharvill
1024Emily W StockhamAustralia2026-06-05Chemel, James L Cpa NEGOTIATION18Amy Elsner
1025Stacey S WieserGermany2026-06-20King, Christopher A Esq NEW35Asiya Javayant
1026Juan W KolmetzCanada2026-06-06Chemel, James L Cpa NEW77Anna Fali
1027Sinclair R StockhamIndia2026-06-04Truhlar And Truhlar Attys RENEWAL67Anna Fali
1028Mujtaba Z TollnerRussia2026-06-23Chemel, James L Cpa NEW12Anna Fali
1029Juan I VocelkaArgentina2026-06-15Feiner Bros NEW33Amy Elsner
1030Juan R DarakjyJapan2026-05-29Chemel, James L Cpa NEGOTIATION97Stephen Shaw
1031Adams Q VenereRussia2026-06-14King, Christopher A Esq UNQUALIFIED37Stephen Shaw
1032Ashley F FerenczArgentina2026-06-11King, Christopher A Esq NEW48Stephen Shaw
1033Isabel Y VocelkaUnited Kingdom2026-06-03Morlong Associates NEGOTIATION93Elwin Sharvill
1034Rodrigues Q WhobreySpain2026-06-25Dorl, James J Esq RENEWAL60Bernardo Dominic
1035Cody E CaldareraUnited Kingdom2026-06-11Morlong Associates NEGOTIATION66Amy Elsner
1036Clifford L BowleyAustralia2026-06-16Feiner Bros UNQUALIFIED43Amy Elsner
1037Octavia Q TollnerFrance2026-06-24Benton, John B Jr PROPOSAL56Elwin Sharvill
1038Wickens S RutaRussia2026-06-18Feiner Bros PROPOSAL80Onyama Limba
1039Adams E OldroydGermany2026-06-09King, Christopher A Esq QUALIFIED18Ivan Magalhaes
1040Faith C RoysterRussia2026-06-11Truhlar And Truhlar Attys UNQUALIFIED7Stephen Shaw
1041Claire E MorascaFrance2026-06-15Commercial Press QUALIFIED7Elwin Sharvill
1042Wickens A GauchoRussia2026-05-29Feltz Printing Service UNQUALIFIED55Amy Elsner
1043Deepesh G MarrierIndia2026-06-08Morlong Associates NEGOTIATION1Elwin Sharvill
1044Leja K FollerAustralia2026-06-06Buckley Miller Wright NEGOTIATION22Bernardo Dominic
1045Darci U CaudyIndia2026-06-14Buckley Miller Wright PROPOSAL4Ivan Magalhaes
1046Rodrigues B SaylorsJapan2026-06-08Morlong Associates RENEWAL44Elwin Sharvill
1047Francesco G WieserUnited Kingdom2026-06-22Rangoni Of Florence QUALIFIED99Asiya Javayant
1048Sinclair R NestleFrance2026-06-09Benton, John B Jr UNQUALIFIED78Ivan Magalhaes
1049Stacey U DilliardArgentina2026-06-16Commercial Press PROPOSAL67Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Munro W NestleJapanIoni Bowcher RENEWAL
Sinclair Q RoysterUnited KingdomAsiya Javayant NEW
Murillo Q IturbideIndiaIoni Bowcher UNQUALIFIED
Arvin A PoquetteRussiaIoni Bowcher NEW
Mayumi B ButtAustraliaIoni Bowcher NEGOTIATION
Mayumi V RoysterSpainOnyama Limba NEGOTIATION
Salvatore L ButtCanadaXuxue Feng UNQUALIFIED
Adams S DoeAustraliaBernardo Dominic NEW
Arvin M RoysterUnited KingdomElwin Sharvill QUALIFIED
Mujtaba V FlosiIndiaAsiya Javayant NEW
Murillo L FerenczSpainAnna Fali QUALIFIED
Leon L VocelkaSpainOnyama Limba NEW
Alejandro M RulapaughBrazilIvan Magalhaes NEW
Clifford J WieserSpainBernardo Dominic UNQUALIFIED
Johnson C FerenczBrazilIoni Bowcher NEGOTIATION
Leon B RoysterRussiaBernardo Dominic QUALIFIED
Aditya B MarrierItalyXuxue Feng NEGOTIATION
Munro H RutaUnited KingdomAsiya Javayant PROPOSAL
Francesco Z SlusarskiFranceAnna Fali RENEWAL
Greenwood J ShinkoJapanIvan Magalhaes PROPOSAL
Munro D RimGermanyElwin Sharvill NEW
Nicolas L KolmetzGermanyAsiya Javayant RENEWAL
Maria A GillianCanadaIoni Bowcher RENEWAL
Alejandro N NickaJapanIoni Bowcher RENEWAL
Mayumi W BriddickSpainOnyama Limba NEGOTIATION
Leon A FlosiSpainXuxue Feng RENEWAL
Ivar D BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Emily X PoquetteFranceAmy Elsner RENEWAL
Juan Y StockhamSpainAnna Fali NEGOTIATION
Ivar X ShinkoArgentinaStephen Shaw NEW
Salvatore V BowleySpainBernardo Dominic NEW
Rodrigues V AlbaresCanadaStephen Shaw RENEWAL
Clifford N GarufiRussiaAmy Elsner QUALIFIED
Tony I ButtGermanyIoni Bowcher PROPOSAL
Morrow E FerenczGermanyIoni Bowcher UNQUALIFIED
Aika U FlosiRussiaOnyama Limba NEGOTIATION
Leon F NickaRussiaBernardo Dominic NEGOTIATION
Ivar P RutaGermanyStephen Shaw RENEWAL
Rodrigues W SaylorsUnited KingdomOnyama Limba QUALIFIED
James I ButtAustraliaIoni Bowcher QUALIFIED
Ashley G MaletUnited KingdomStephen Shaw UNQUALIFIED
Francesco K VocelkaCanadaAsiya Javayant NEW
Maisha J ButtIndiaAsiya Javayant UNQUALIFIED
Kadeem K FlosiUnited KingdomXuxue Feng PROPOSAL
David S VenereRussiaIoni Bowcher NEGOTIATION
Morrow U FollerCanadaXuxue Feng NEGOTIATION
Mayumi C NestleCanadaBernardo Dominic UNQUALIFIED
Jennifer O BologniaFranceAsiya Javayant RENEWAL
Leon A CaudyBrazilBernardo Dominic QUALIFIED
Ivar V PerinGermanyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Aruna J Royster
Jeanfrancois Y Poquette
Juan J Glick
Aditya F Caldarera
Misaki K Bowley
Leja C Rim
Wickens X Oldroyd
Rodrigues P Nestle
Salvatore W Tollner
Deepesh Y Inouye
Alejandro X Malet
Adams R Dilliard
Faith R Royster
Darci F Ruta
Clifford S Rulapaugh
Octavia V Foller
Jennifer O Kolmetz
Stacey H Caldarera
Maisha Y Morasca
Murillo C Caldarera
Silvio Z Iturbide
Izzy J Garufi
Ivar C Stockham
Aditya M Whobrey
Jennifer I Stockham
Leon J Dilliard
Izzy I Albares
Ricardo K Nestle
Claire L Nestle
Aika K Gaucho
Darci F Bolognia
Leja X Caldarera
Maisha O Tollner
Smith Z Slusarski
Costa R Darakjy
Sinclair Q Vocelka
Costa B Malet
Ashley R Stockham
Rodrigues O Inouye
Kaitlin P Garufi
Ricardo S Foller
Jennifer B Royster
Ivar I Bowley
Salvatore C Perin
Sinclair J Saylors
Jeanfrancois Z Nestle
Kadeem V Rulapaugh
Greenwood M Albares
Alejandro V Saylors
David W Nestle
IdCountryDate
1000Canada2026-06-11
1001India2026-05-27
1002Australia2026-06-07
1003United Kingdom2026-06-24
1004Argentina2026-06-03
1005Australia2026-06-20
1006Italy2026-06-05
1007Canada2026-06-05
1008Germany2026-06-07
1009Australia2026-05-30
1010Germany2026-06-23
1011Italy2026-06-15
1012India2026-06-14
1013Australia2026-06-15
1014Spain2026-06-04
1015Spain2026-06-03
1016India2026-06-24
1017Japan2026-06-10
1018Italy2026-06-18
1019United Kingdom2026-06-09
1020India2026-05-27
1021Japan2026-06-04
1022France2026-06-02
1023Japan2026-05-30
1024Japan2026-05-27
1025Canada2026-06-19
1026Canada2026-06-22
1027Germany2026-06-22
1028Argentina2026-06-05
1029Italy2026-06-12
1030Spain2026-06-07
1031Spain2026-06-09
1032Argentina2026-06-01
1033Japan2026-06-01
1034Canada2026-06-23
1035Italy2026-05-28
1036Spain2026-06-04
1037Spain2026-06-20
1038Japan2026-06-18
1039Canada2026-06-03
1040Canada2026-06-17
1041Canada2026-05-31
1042Canada2026-06-04
1043Japan2026-06-01
1044United Kingdom2026-06-21
1045Canada2026-06-20
1046Italy2026-06-06
1047Italy2026-06-21
1048Argentina2026-06-16
1049Italy2026-06-20

On-Demand Data

NameIdCountryDate
Izzy Q Gillian1000Canada2026-06-11
Greenwood L Figeroa1001France2026-06-12
Silvio U Maclead1002Italy2026-05-27
Maisha O Ostrosky1003Germany2026-06-12
Misaki W Whobrey1004Australia2026-06-10
Jeanfrancois U Kusko1005United Kingdom2026-06-05
Silvio A Ruta1006India2026-06-22
Misaki D Caudy1007Brazil2026-06-23
Alejandro D Marrier1008Italy2026-06-12
Aruna A Glick1009Brazil2026-06-04
Adams T Marrier1010Italy2026-05-27
Izzy O Glick1011Japan2026-05-28
Leja Q Marrier1012Japan2026-06-21
Aika P Kolmetz1013India2026-06-09
Izzy L Poquette1014Brazil2026-06-12
David V Schemmer1015Canada2026-06-19
Maisha X Garufi1016France2026-06-09
Silvio Q Ostrosky1017France2026-06-21
Julie J Briddick1018Germany2026-05-30
Jefferson E Gillian1019France2026-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci X DoeCanadaIoni Bowcher NEW
Deepesh M SaylorsFranceIoni Bowcher PROPOSAL
Salvatore S RimRussiaXuxue Feng NEW
James O CaudyArgentinaElwin Sharvill QUALIFIED
Kadeem T SaylorsCanadaIvan Magalhaes UNQUALIFIED
Antonio N WhobreyFranceBernardo Dominic PROPOSAL
Octavia H KuskoCanadaAsiya Javayant RENEWAL
Cody R WhobreyArgentinaBernardo Dominic QUALIFIED
Maria V SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Aditya F RoysterSpainBernardo Dominic NEGOTIATION
Jeanfrancois Q KolmetzGermanyIoni Bowcher RENEWAL
Rodrigues O MacleadAustraliaIoni Bowcher QUALIFIED
Chavez H RoysterArgentinaAnna Fali NEGOTIATION
Stacey V MarrierGermanyIvan Magalhaes NEGOTIATION
Adams A FlosiCanadaBernardo Dominic NEGOTIATION
Clifford L PoquetteItalyAsiya Javayant RENEWAL
Emily I MorascaJapanAsiya Javayant NEGOTIATION
Claire E KuskoArgentinaElwin Sharvill UNQUALIFIED
James V DarakjyJapanAnna Fali QUALIFIED
Johnson J SlusarskiGermanyIvan Magalhaes PROPOSAL
Morrow O GillianItalyStephen Shaw RENEWAL
Maisha F StensethItalyAmy Elsner QUALIFIED
Clifford R GillianIndiaElwin Sharvill NEGOTIATION
Kaitlin T PerinArgentinaOnyama Limba PROPOSAL
Emily O MorascaRussiaAmy Elsner RENEWAL
Juan O MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo T TollnerAustraliaAnna Fali PROPOSAL
Morrow I PoquetteArgentinaXuxue Feng NEW
Ivar J RutaIndiaBernardo Dominic NEW
Salvatore R RulapaughRussiaOnyama Limba UNQUALIFIED
Misaki F NestleFranceElwin Sharvill UNQUALIFIED
Sinclair J BowleyIndiaBernardo Dominic UNQUALIFIED
Salvatore P CaldareraArgentinaAnna Fali UNQUALIFIED
Adams I PoquetteBrazilAmy Elsner RENEWAL
Emily Z ChuiSpainStephen Shaw NEW
Francesco K NickaItalyIvan Magalhaes QUALIFIED
Leon N PoquetteArgentinaOnyama Limba QUALIFIED
Darci S VenereItalyOnyama Limba UNQUALIFIED
Mayumi T RutaArgentinaElwin Sharvill PROPOSAL
Jeanfrancois V SchemmerItalyAmy 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.