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
Isabel Z IturbideSpainAmy Elsner QUALIFIED
Aika J SaylorsItalyElwin Sharvill QUALIFIED
Costa E KuskoItalyElwin Sharvill QUALIFIED
Misaki P MacleadFranceAsiya Javayant NEGOTIATION
Maisha L VocelkaUnited KingdomAnna Fali RENEWAL
Jeanfrancois Z MacleadArgentinaAnna Fali PROPOSAL
David Z OstroskyUnited KingdomStephen Shaw RENEWAL
Kadeem F NestleUnited KingdomIoni Bowcher PROPOSAL
Darci Q BriddickCanadaStephen Shaw PROPOSAL
Octavia K InouyeItalyIoni Bowcher PROPOSAL
Leon N OldroydRussiaElwin Sharvill PROPOSAL
Faith G WieserItalyIvan Magalhaes UNQUALIFIED
Murillo E PerinArgentinaAmy Elsner QUALIFIED
David S CaldareraIndiaAsiya Javayant NEW
Ashley L WhobreyJapanIvan Magalhaes UNQUALIFIED
Deepesh I DoeBrazilIvan Magalhaes NEW
Jefferson Y GarufiJapanOnyama Limba NEGOTIATION
Darci Y SchemmerFranceIoni Bowcher NEGOTIATION
Antonio J WhobreySpainStephen Shaw PROPOSAL
Costa N AmigonGermanyOnyama Limba UNQUALIFIED
Munro Q TollnerBrazilStephen Shaw RENEWAL
Nicolas O CaldareraSpainXuxue Feng RENEWAL
Jeanfrancois S KolmetzUnited KingdomXuxue Feng UNQUALIFIED
David O BriddickGermanyXuxue Feng NEGOTIATION
Francesco H WhobreyCanadaAsiya Javayant NEGOTIATION
Juan I StensethSpainOnyama Limba QUALIFIED
Alejandro R WieserBrazilElwin Sharvill QUALIFIED
Mayumi H GlickJapanStephen Shaw RENEWAL
Silvio A MarrierJapanElwin Sharvill UNQUALIFIED
Francesco H FerenczAustraliaStephen Shaw NEW
Ricardo H MaletCanadaElwin Sharvill QUALIFIED
Ashley N CaudyIndiaAnna Fali NEGOTIATION
Munro B KolmetzIndiaIvan Magalhaes NEW
Munro C NickaSpainElwin Sharvill QUALIFIED
Mujtaba L BologniaBrazilAsiya Javayant RENEWAL
David L GillianAustraliaAnna Fali NEW
Leon V KuskoItalyElwin Sharvill PROPOSAL
Aditya P BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Juan K CampainJapanIoni Bowcher RENEWAL
Cody X RoysterIndiaAsiya Javayant NEGOTIATION
Octavia M FollerJapanIvan Magalhaes PROPOSAL
Greenwood G MaletSpainStephen Shaw NEGOTIATION
Clifford S InouyeFranceElwin Sharvill RENEWAL
Alejandro P PoquetteFranceAnna Fali UNQUALIFIED
Faith C MarrierGermanyIvan Magalhaes NEGOTIATION
Izzy B KuskoItalyAnna Fali NEGOTIATION
David F GarufiRussiaStephen Shaw UNQUALIFIED
Ivar T AlbaresIndiaIoni Bowcher UNQUALIFIED
Leja M WhobreyAustraliaIvan Magalhaes RENEWAL
Ashley N NickaGermanyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan K BologniaIndiaStephen Shaw RENEWAL
Aditya A GarufiArgentinaIvan Magalhaes RENEWAL
Johnson N GauchoGermanyIvan Magalhaes PROPOSAL
Juan G NestleAustraliaOnyama Limba PROPOSAL
Mujtaba K OstroskyIndiaAmy Elsner NEW
Aruna L PaprockiRussiaIvan Magalhaes QUALIFIED
Mayumi P MarrierItalyBernardo Dominic RENEWAL
Maisha K OldroydGermanyAmy Elsner NEW
Ivar C KolmetzCanadaStephen Shaw RENEWAL
Deepesh M FerenczIndiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow M MorascaUnited Kingdom2026-07-15Chapman, Ross E Esq NEW44Bernardo Dominic
1001Maria S MorascaUnited Kingdom2026-07-17Feltz Printing Service NEW25Amy Elsner
1002Alejandro S RoysterIndia2026-07-01Commercial Press PROPOSAL20Ivan Magalhaes
1003Nicolas H OstroskyJapan2026-07-20Chapman, Ross E Esq UNQUALIFIED33Elwin Sharvill
1004Leon V IturbideFrance2026-06-28Chapman, Ross E Esq QUALIFIED34Bernardo Dominic
1005Mujtaba R TollnerFrance2026-07-18Rangoni Of Florence UNQUALIFIED32Elwin Sharvill
1006Jones V ChuiItaly2026-07-18Morlong Associates UNQUALIFIED44Xuxue Feng
1007Mayumi Q GlickFrance2026-07-01Rousseaux, Michael Esq PROPOSAL61Stephen Shaw
1008Misaki G MacleadRussia2026-07-14Chemel, James L Cpa RENEWAL45Stephen Shaw
1009Isabel G VocelkaGermany2026-07-17Dorl, James J Esq RENEWAL61Asiya Javayant
1010Emily E GlickCanada2026-07-08Chemel, James L Cpa QUALIFIED51Bernardo Dominic
1011Chavez Z GarufiCanada2026-07-09King, Christopher A Esq RENEWAL97Onyama Limba
1012Ricardo K TollnerItaly2026-06-25Benton, John B Jr RENEWAL14Anna Fali
1013Johnson N RulapaughIndia2026-07-22Chapman, Ross E Esq UNQUALIFIED24Anna Fali
1014Maisha F MarrierIndia2026-07-20Dorl, James J Esq PROPOSAL58Asiya Javayant
1015Claire E AlbaresAustralia2026-06-28Chanay, Jeffrey A Esq UNQUALIFIED76Stephen Shaw
1016Stacey O RutaGermany2026-07-16Dorl, James J Esq PROPOSAL82Onyama Limba
1017Jefferson E MacleadFrance2026-07-10Benton, John B Jr RENEWAL33Asiya Javayant
1018Sinclair V BowleyCanada2026-07-05Feltz Printing Service UNQUALIFIED39Stephen Shaw
1019Wickens E MaletUnited Kingdom2026-06-23Feltz Printing Service RENEWAL26Ioni Bowcher
1020Murillo W CaudyFrance2026-07-12Chapman, Ross E Esq PROPOSAL46Xuxue Feng
1021Morrow M MaletIndia2026-07-21Chapman, Ross E Esq RENEWAL64Bernardo Dominic
1022Leon P WieserAustralia2026-06-26Chemel, James L Cpa RENEWAL72Ioni Bowcher
1023Leon B MacleadBrazil2026-07-13Dorl, James J Esq RENEWAL67Elwin Sharvill
1024Greenwood O NestleGermany2026-07-20Morlong Associates QUALIFIED94Ioni Bowcher
1025Ashley E GauchoIndia2026-06-24Chanay, Jeffrey A Esq QUALIFIED58Amy Elsner
1026Wickens P RimSpain2026-07-15Printing Dimensions NEW64Ioni Bowcher
1027Johnson Z MarrierArgentina2026-06-29Feiner Bros UNQUALIFIED30Bernardo Dominic
1028Sinclair O KolmetzBrazil2026-07-10Chemel, James L Cpa PROPOSAL15Xuxue Feng
1029Faith Z FollerCanada2026-07-13Buckley Miller Wright RENEWAL70Stephen Shaw
1030Aditya K StensethJapan2026-07-19Chemel, James L Cpa RENEWAL70Anna Fali
1031Ivar N WieserIndia2026-07-04King, Christopher A Esq NEGOTIATION32Xuxue Feng
1032Jeanfrancois J ButtItaly2026-06-30Feltz Printing Service PROPOSAL60Elwin Sharvill
1033Silvio F NickaRussia2026-07-10Truhlar And Truhlar Attys NEW99Bernardo Dominic
1034Sinclair V OstroskyCanada2026-07-08Chanay, Jeffrey A Esq NEGOTIATION26Stephen Shaw
1035Mujtaba L FlosiRussia2026-06-25Chapman, Ross E Esq NEW80Ioni Bowcher
1036Arvin S CaudyAustralia2026-07-20Chapman, Ross E Esq NEW25Amy Elsner
1037Arvin Y RoysterAustralia2026-06-25Printing Dimensions NEW0Amy Elsner
1038James C AlbaresSpain2026-07-20Buckley Miller Wright QUALIFIED67Ivan Magalhaes
1039Jeanfrancois M CaldareraUnited Kingdom2026-07-15King, Christopher A Esq PROPOSAL57Stephen Shaw
1040Francesco P TollnerIndia2026-07-16Chapman, Ross E Esq PROPOSAL42Anna Fali
1041Maria N VenereArgentina2026-07-02Rousseaux, Michael Esq NEGOTIATION43Elwin Sharvill
1042Jones V BowleyAustralia2026-07-20King, Christopher A Esq UNQUALIFIED94Amy Elsner
1043Wickens C RulapaughJapan2026-07-04Chemel, James L Cpa UNQUALIFIED44Stephen Shaw
1044Izzy V StensethAustralia2026-07-07Printing Dimensions NEGOTIATION85Elwin Sharvill
1045Faith B OstroskyRussia2026-07-08Feltz Printing Service NEW9Anna Fali
1046Faith Q FigeroaJapan2026-07-03Rangoni Of Florence PROPOSAL33Ivan Magalhaes
1047Cody T KolmetzItaly2026-07-08Printing Dimensions PROPOSAL98Elwin Sharvill
1048Faith N ChuiUnited Kingdom2026-07-12Chanay, Jeffrey A Esq NEW96Anna Fali
1049Wickens G KolmetzUnited Kingdom2026-07-10Morlong Associates UNQUALIFIED48Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika T KuskoArgentinaElwin Sharvill RENEWAL
Adams A CaudyJapanOnyama Limba RENEWAL
Smith F MarrierArgentinaXuxue Feng NEW
Wickens D CampainSpainBernardo Dominic RENEWAL
Cody P VocelkaCanadaXuxue Feng QUALIFIED
Greenwood T FerenczItalyAsiya Javayant UNQUALIFIED
Greenwood A NickaUnited KingdomIvan Magalhaes RENEWAL
Johnson N AmigonIndiaBernardo Dominic NEGOTIATION
Kaitlin G IturbideBrazilStephen Shaw NEGOTIATION
David O ShinkoFranceAnna Fali NEGOTIATION
David N DarakjySpainAmy Elsner NEGOTIATION
Antonio B CaldareraGermanyAmy Elsner PROPOSAL
Leon M MacleadSpainElwin Sharvill RENEWAL
Rodrigues O SaylorsCanadaXuxue Feng UNQUALIFIED
Murillo H VenereBrazilIoni Bowcher NEGOTIATION
Costa M AlbaresIndiaOnyama Limba UNQUALIFIED
Ricardo F CaudyArgentinaAsiya Javayant UNQUALIFIED
Isabel V RoysterCanadaAmy Elsner PROPOSAL
Deepesh N WaycottGermanyBernardo Dominic QUALIFIED
Mujtaba J ShinkoAustraliaAmy Elsner RENEWAL
Murillo J MarrierAustraliaBernardo Dominic NEW
Kaitlin O DoeRussiaAsiya Javayant PROPOSAL
Arvin A GlickItalyElwin Sharvill UNQUALIFIED
Smith X WieserGermanyElwin Sharvill QUALIFIED
Kaitlin E MarrierFranceElwin Sharvill UNQUALIFIED
Maisha R OstroskyGermanyElwin Sharvill RENEWAL
Izzy S AmigonUnited KingdomBernardo Dominic RENEWAL
Murillo P AmigonUnited KingdomAnna Fali RENEWAL
Antonio J DarakjyFranceElwin Sharvill RENEWAL
Jennifer W MorascaItalyAsiya Javayant NEW
Darci B DarakjyIndiaAnna Fali PROPOSAL
Johnson T BologniaSpainOnyama Limba RENEWAL
Adams W DilliardItalyOnyama Limba QUALIFIED
Murillo N RutaSpainAnna Fali RENEWAL
Smith R BriddickJapanIvan Magalhaes NEW
Jeanfrancois N FigeroaRussiaAnna Fali RENEWAL
Octavia N RimIndiaAnna Fali NEGOTIATION
Antonio F PaprockiItalyXuxue Feng NEW
Leja T ShinkoUnited KingdomStephen Shaw NEGOTIATION
Francesco S RulapaughGermanyStephen Shaw NEW
Emily E DilliardSpainIoni Bowcher NEW
Isabel E FollerRussiaIoni Bowcher RENEWAL
Ricardo K KuskoItalyAsiya Javayant QUALIFIED
Smith L PoquetteJapanOnyama Limba PROPOSAL
Maria B MacleadGermanyBernardo Dominic NEGOTIATION
Deepesh O StockhamItalyAnna Fali NEW
Jefferson E IturbideArgentinaIoni Bowcher NEGOTIATION
Tony R InouyeAustraliaAsiya Javayant RENEWAL
Maria Y OldroydSpainIvan Magalhaes NEW
James I GillianRussiaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Alejandro J Bowley
Stacey Z Kolmetz
Faith V Oldroyd
Jennifer C Inouye
Izzy S Darakjy
Mayumi N Kolmetz
Maisha J Ostrosky
Jones C Briddick
Cody A Campain
Ivar T Vocelka
Leon I Maclead
Juan C Marrier
Rodrigues Q Schemmer
Wickens L Bolognia
Stacey F Bolognia
Izzy R Caudy
James X Poquette
David V Tollner
Munro K Ferencz
Silvio L Vocelka
Deepesh J Sergi
Ivar P Ferencz
Ricardo X Garufi
Clifford F Sergi
Leja B Caudy
Rodrigues Z Iturbide
Jones J Slusarski
Jones I Oldroyd
Claire L Rulapaugh
Mayumi B Stenseth
Cody Q Schemmer
Rodrigues H Briddick
Murillo O Foller
Darci Z Briddick
Aruna B Whobrey
Munro N Ferencz
Emily W Gaucho
Munro E Tollner
Murillo J Darakjy
Ashley M Nestle
Deepesh T Ferencz
Claire X Slusarski
Aruna R Caudy
Jennifer W Amigon
Misaki N Paprocki
Wickens W Caudy
Emily D Flosi
Rodrigues E Nicka
Wickens W Vocelka
Mayumi P Darakjy
IdCountryDate
1000Japan2026-06-25
1001Russia2026-07-16
1002India2026-07-17
1003Argentina2026-07-21
1004India2026-07-15
1005Russia2026-07-05
1006Italy2026-07-02
1007Argentina2026-07-01
1008Brazil2026-07-12
1009India2026-07-22
1010France2026-06-30
1011Canada2026-07-21
1012Canada2026-07-12
1013Italy2026-07-20
1014United Kingdom2026-07-13
1015India2026-07-18
1016Australia2026-07-21
1017Brazil2026-07-06
1018Canada2026-07-11
1019France2026-06-27
1020France2026-07-01
1021India2026-07-20
1022India2026-07-21
1023Russia2026-06-28
1024Brazil2026-06-29
1025Argentina2026-07-04
1026Spain2026-07-01
1027Germany2026-07-21
1028India2026-07-06
1029Japan2026-06-24
1030United Kingdom2026-07-08
1031Italy2026-06-23
1032Japan2026-07-14
1033United Kingdom2026-06-29
1034India2026-07-20
1035Australia2026-07-12
1036Brazil2026-07-21
1037Australia2026-06-29
1038France2026-07-22
1039United Kingdom2026-07-21
1040Australia2026-07-03
1041Russia2026-07-02
1042India2026-06-28
1043United Kingdom2026-07-12
1044Germany2026-07-11
1045Spain2026-07-03
1046Russia2026-07-17
1047Brazil2026-07-11
1048Italy2026-07-12
1049France2026-06-29

On-Demand Data

NameIdCountryDate
Maria H Inouye1000Russia2026-07-04
Alejandro P Darakjy1001Japan2026-07-10
Tony F Ferencz1002Spain2026-06-24
Maria G Figeroa1003Germany2026-07-04
Kaitlin N Gaucho1004Australia2026-07-14
Maria B Waycott1005France2026-06-27
Adams Y Gillian1006Canada2026-07-05
Aditya K Dilliard1007India2026-06-25
Smith U Shinko1008Canada2026-07-16
Antonio S Stockham1009United Kingdom2026-07-12
Mayumi W Vocelka1010India2026-07-14
Francesco J Rulapaugh1011Brazil2026-07-08
Jones G Bowley1012Canada2026-07-07
Chavez L Flosi1013United Kingdom2026-07-12
Kadeem G Stockham1014Brazil2026-07-06
Smith P Albares1015Germany2026-07-10
Rodrigues V Garufi1016Russia2026-07-11
Kaitlin R Malet1017Spain2026-06-23
Jennifer Z Bolognia1018Argentina2026-07-22
Misaki N Slusarski1019Canada2026-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja L MarrierItalyAnna Fali PROPOSAL
Isabel X BowleyBrazilAsiya Javayant PROPOSAL
Mayumi E FerenczIndiaAsiya Javayant PROPOSAL
Emily N GillianArgentinaIoni Bowcher NEW
Morrow O WaycottItalyAmy Elsner NEGOTIATION
Faith P DarakjyCanadaIoni Bowcher NEW
Maria Z PerinArgentinaAmy Elsner NEGOTIATION
Mujtaba F BowleySpainAnna Fali PROPOSAL
Morrow X CaudyJapanAmy Elsner QUALIFIED
Emily U AlbaresIndiaOnyama Limba PROPOSAL
Kadeem C DarakjyAustraliaAmy Elsner NEW
Faith I ButtFranceAsiya Javayant QUALIFIED
Arvin Y FerenczJapanXuxue Feng UNQUALIFIED
Tony R MaletUnited KingdomXuxue Feng PROPOSAL
Costa A VenereUnited KingdomBernardo Dominic QUALIFIED
Faith X BologniaJapanAnna Fali NEW
Octavia O GarufiRussiaAnna Fali NEW
Jefferson D CampainIndiaBernardo Dominic QUALIFIED
Cody F GauchoSpainAsiya Javayant NEGOTIATION
Octavia P RimGermanyAsiya Javayant PROPOSAL
Isabel R PerinItalyAsiya Javayant NEW
Aruna P CaldareraRussiaOnyama Limba NEGOTIATION
Octavia U RulapaughJapanAmy Elsner PROPOSAL
Jefferson B KuskoCanadaBernardo Dominic NEW
Adams V RutaAustraliaAmy Elsner NEW
Silvio P IturbideUnited KingdomStephen Shaw PROPOSAL
Ivar V MaletJapanAsiya Javayant QUALIFIED
Chavez F GauchoCanadaIvan Magalhaes RENEWAL
Costa P CaudyGermanyAnna Fali PROPOSAL
Leja B AlbaresCanadaIvan Magalhaes RENEWAL
Ricardo G WieserSpainBernardo Dominic UNQUALIFIED
Maria L KuskoGermanyElwin Sharvill RENEWAL
Stacey Y PaprockiBrazilAnna Fali NEW
Morrow M BriddickBrazilXuxue Feng QUALIFIED
Leja U BriddickAustraliaElwin Sharvill NEW
Mujtaba W OstroskySpainXuxue Feng RENEWAL
Jeanfrancois A GlickFranceBernardo Dominic NEGOTIATION
Emily D PoquetteIndiaAmy Elsner NEW
Sinclair Z NickaRussiaIvan Magalhaes UNQUALIFIED
Leja S StockhamBrazilStephen Shaw QUALIFIED

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