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
Jeanfrancois C MarrierAustraliaIoni Bowcher UNQUALIFIED
Julie Q MorascaArgentinaElwin Sharvill NEGOTIATION
Arvin F AlbaresArgentinaElwin Sharvill NEW
Arvin B MorascaJapanOnyama Limba QUALIFIED
Munro Y BriddickArgentinaIoni Bowcher PROPOSAL
Tony U WaycottIndiaXuxue Feng QUALIFIED
Darci C KuskoFranceAmy Elsner PROPOSAL
Antonio A ShinkoFranceIvan Magalhaes RENEWAL
Johnson Y RulapaughSpainIvan Magalhaes NEW
Jefferson H CaudyRussiaOnyama Limba RENEWAL
Misaki Y StensethCanadaAnna Fali NEW
Darci D FerenczCanadaBernardo Dominic UNQUALIFIED
Mayumi Y RimIndiaIvan Magalhaes UNQUALIFIED
Jeanfrancois X DoeRussiaElwin Sharvill PROPOSAL
Francesco S DarakjyItalyIvan Magalhaes PROPOSAL
Sinclair O RoysterItalyOnyama Limba PROPOSAL
Arvin N SchemmerCanadaAsiya Javayant NEGOTIATION
Francesco H KolmetzSpainAmy Elsner QUALIFIED
Clifford R NestleJapanAsiya Javayant PROPOSAL
Jeanfrancois F GarufiArgentinaStephen Shaw QUALIFIED
Julie D MacleadAustraliaStephen Shaw NEGOTIATION
Wickens V MaletCanadaAsiya Javayant UNQUALIFIED
Smith U MacleadBrazilIoni Bowcher PROPOSAL
Leon N RutaCanadaStephen Shaw QUALIFIED
Sinclair K SaylorsBrazilAsiya Javayant PROPOSAL
Isabel K PerinUnited KingdomAsiya Javayant RENEWAL
Octavia Y TollnerIndiaAmy Elsner RENEWAL
Salvatore V RoysterUnited KingdomAsiya Javayant NEW
Aditya W BriddickIndiaAnna Fali NEW
Munro U SergiSpainBernardo Dominic QUALIFIED
Deepesh R MarrierUnited KingdomXuxue Feng RENEWAL
Murillo W NickaItalyAnna Fali NEGOTIATION
Salvatore P OstroskyBrazilIoni Bowcher UNQUALIFIED
Aruna S StockhamSpainAsiya Javayant QUALIFIED
Aditya O CaldareraCanadaIvan Magalhaes PROPOSAL
Rodrigues Q StensethArgentinaIoni Bowcher RENEWAL
Jeanfrancois R MaletSpainAnna Fali UNQUALIFIED
Wickens X KolmetzJapanAnna Fali NEGOTIATION
Izzy J MaletJapanBernardo Dominic NEGOTIATION
Rodrigues W ChuiRussiaElwin Sharvill NEGOTIATION
Munro Q StockhamJapanAmy Elsner QUALIFIED
Costa X SaylorsAustraliaAmy Elsner RENEWAL
Morrow H SlusarskiGermanyAsiya Javayant PROPOSAL
Jeanfrancois G VenereSpainAsiya Javayant QUALIFIED
Leja U FerenczJapanElwin Sharvill PROPOSAL
Stacey I IturbideJapanAsiya Javayant UNQUALIFIED
Munro S PaprockiJapanElwin Sharvill NEGOTIATION
Francesco T IturbideBrazilAnna Fali UNQUALIFIED
Clifford E WaycottIndiaXuxue Feng NEGOTIATION
Stacey P RulapaughFranceStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha A BologniaRussiaAsiya Javayant QUALIFIED
Rodrigues T AmigonAustraliaBernardo Dominic RENEWAL
Morrow L ChuiBrazilOnyama Limba PROPOSAL
Stacey W RimSpainElwin Sharvill PROPOSAL
Sinclair Z GillianCanadaStephen Shaw UNQUALIFIED
Misaki H NickaAustraliaAsiya Javayant UNQUALIFIED
Aika S TollnerFranceBernardo Dominic PROPOSAL
Rodrigues B ChuiUnited KingdomOnyama Limba UNQUALIFIED
Ivar S BriddickJapanOnyama Limba PROPOSAL
Chavez N CaudyFranceAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow D MorascaJapan2025-05-21Feiner Bros NEW67Ioni Bowcher
1001Smith S PerinCanada2025-05-09Printing Dimensions NEGOTIATION76Stephen Shaw
1002Aika W SaylorsBrazil2025-05-24Benton, John B Jr RENEWAL86Stephen Shaw
1003Sinclair F BowleyItaly2025-05-24Chanay, Jeffrey A Esq PROPOSAL50Ivan Magalhaes
1004Isabel L BologniaJapan2025-05-29Chemel, James L Cpa NEGOTIATION72Anna Fali
1005Misaki K SchemmerArgentina2025-05-17Buckley Miller Wright NEW99Bernardo Dominic
1006James L IturbideCanada2025-05-19Chapman, Ross E Esq UNQUALIFIED81Ivan Magalhaes
1007Darci E VocelkaBrazil2025-05-24Printing Dimensions NEGOTIATION46Xuxue Feng
1008Alejandro O NestleFrance2025-05-28Dorl, James J Esq RENEWAL79Ivan Magalhaes
1009Arvin R FollerRussia2025-05-15Feiner Bros PROPOSAL39Xuxue Feng
1010Silvio R OstroskyUnited Kingdom2025-05-21Benton, John B Jr UNQUALIFIED40Ioni Bowcher
1011Morrow C VocelkaFrance2025-05-17Commercial Press NEGOTIATION32Bernardo Dominic
1012Stacey N IturbideCanada2025-05-22Chapman, Ross E Esq RENEWAL93Elwin Sharvill
1013Ivar B AmigonArgentina2025-05-28Buckley Miller Wright QUALIFIED5Bernardo Dominic
1014Salvatore G RimFrance2025-05-07Truhlar And Truhlar Attys PROPOSAL90Amy Elsner
1015Clifford F RimAustralia2025-05-11Chemel, James L Cpa UNQUALIFIED5Ivan Magalhaes
1016Mayumi Q ButtSpain2025-05-18Printing Dimensions NEW96Asiya Javayant
1017Aika Z DarakjyGermany2025-05-03Chapman, Ross E Esq RENEWAL71Ioni Bowcher
1018Salvatore V CaldareraUnited Kingdom2025-05-09Morlong Associates NEW58Asiya Javayant
1019Mujtaba M WhobreyCanada2025-05-30Buckley Miller Wright NEGOTIATION61Onyama Limba
1020Aruna I ButtBrazil2025-05-25Chapman, Ross E Esq UNQUALIFIED0Stephen Shaw
1021Salvatore S BowleyRussia2025-05-05Printing Dimensions PROPOSAL54Bernardo Dominic
1022Cody I PerinIndia2025-05-30Chanay, Jeffrey A Esq NEW56Onyama Limba
1023Izzy R PaprockiGermany2025-05-06Chanay, Jeffrey A Esq UNQUALIFIED88Anna Fali
1024Isabel S FollerBrazil2025-05-05Truhlar And Truhlar Attys UNQUALIFIED10Bernardo Dominic
1025Ivar H BowleyUnited Kingdom2025-05-19Printing Dimensions NEGOTIATION7Xuxue Feng
1026Leon D FerenczFrance2025-05-30Chanay, Jeffrey A Esq RENEWAL88Asiya Javayant
1027Isabel Z GarufiItaly2025-05-24Rousseaux, Michael Esq NEGOTIATION25Bernardo Dominic
1028Greenwood N StensethArgentina2025-05-17Chapman, Ross E Esq NEW46Onyama Limba
1029Jefferson V WieserFrance2025-05-04Rousseaux, Michael Esq UNQUALIFIED62Elwin Sharvill
1030Juan W StensethRussia2025-05-05Feltz Printing Service NEGOTIATION35Bernardo Dominic
1031David D GlickArgentina2025-05-08Buckley Miller Wright PROPOSAL67Stephen Shaw
1032Mujtaba D AmigonGermany2025-05-19Feiner Bros PROPOSAL13Bernardo Dominic
1033Morrow P SchemmerRussia2025-05-09Buckley Miller Wright NEW22Amy Elsner
1034Leja R KolmetzRussia2025-05-25King, Christopher A Esq PROPOSAL85Amy Elsner
1035Octavia H WhobreyGermany2025-05-17King, Christopher A Esq RENEWAL19Xuxue Feng
1036Costa U ButtRussia2025-05-07Printing Dimensions UNQUALIFIED96Asiya Javayant
1037Clifford W CaldareraItaly2025-05-29Chemel, James L Cpa QUALIFIED97Onyama Limba
1038Jones F FigeroaAustralia2025-05-22Rousseaux, Michael Esq PROPOSAL21Bernardo Dominic
1039Julie W BriddickJapan2025-05-14Rousseaux, Michael Esq NEGOTIATION50Ioni Bowcher
1040Tony V DoeCanada2025-06-01Chemel, James L Cpa UNQUALIFIED50Amy Elsner
1041Aditya P AmigonBrazil2025-05-30King, Christopher A Esq PROPOSAL76Ivan Magalhaes
1042Ashley Q ButtArgentina2025-05-26Chanay, Jeffrey A Esq RENEWAL79Bernardo Dominic
1043Leon S GillianUnited Kingdom2025-05-14Feiner Bros UNQUALIFIED54Elwin Sharvill
1044Greenwood E StensethItaly2025-05-18Rousseaux, Michael Esq NEW7Asiya Javayant
1045James L BowleyArgentina2025-05-30Commercial Press NEGOTIATION96Asiya Javayant
1046Greenwood V PoquetteBrazil2025-05-06Rousseaux, Michael Esq NEGOTIATION47Anna Fali
1047Mujtaba I FigeroaAustralia2025-05-12Commercial Press RENEWAL72Elwin Sharvill
1048Kadeem E GillianGermany2025-05-11Rousseaux, Michael Esq NEGOTIATION16Ivan Magalhaes
1049Jennifer I ButtBrazil2025-05-30Benton, John B Jr UNQUALIFIED30Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Deepesh R MarrierItalyBernardo Dominic PROPOSAL
Smith C GillianUnited KingdomOnyama Limba QUALIFIED
Cody X PoquetteBrazilIoni Bowcher PROPOSAL
Ashley P BriddickJapanStephen Shaw NEGOTIATION
Arvin P GarufiBrazilElwin Sharvill PROPOSAL
Octavia W CaldareraRussiaAsiya Javayant RENEWAL
Jeanfrancois R NestleJapanIoni Bowcher NEW
Julie X TollnerUnited KingdomAmy Elsner PROPOSAL
Morrow G SaylorsUnited KingdomIoni Bowcher RENEWAL
Munro X DoeGermanyOnyama Limba PROPOSAL
Jones K StockhamJapanIvan Magalhaes QUALIFIED
Izzy Q CaudyUnited KingdomAsiya Javayant RENEWAL
Rodrigues K WaycottAustraliaIoni Bowcher NEW
Ricardo G WhobreyFranceIvan Magalhaes UNQUALIFIED
Morrow B AlbaresBrazilStephen Shaw UNQUALIFIED
James P WaycottGermanyOnyama Limba PROPOSAL
Misaki M BriddickCanadaStephen Shaw NEW
Johnson R CaldareraSpainBernardo Dominic PROPOSAL
Mujtaba K DilliardAustraliaAsiya Javayant QUALIFIED
Arvin G TollnerUnited KingdomStephen Shaw QUALIFIED
Alejandro P CaldareraIndiaXuxue Feng QUALIFIED
Nicolas E VenereSpainOnyama Limba NEW
Faith X SaylorsCanadaIvan Magalhaes NEGOTIATION
Wickens P PerinCanadaAnna Fali RENEWAL
Tony I MarrierFranceAnna Fali NEGOTIATION
Murillo U MarrierJapanStephen Shaw QUALIFIED
Smith W ButtJapanAmy Elsner UNQUALIFIED
Maria C WaycottArgentinaAsiya Javayant RENEWAL
Kadeem I CampainGermanyElwin Sharvill NEW
Leon I OstroskyItalyStephen Shaw RENEWAL
Costa X GlickItalyBernardo Dominic RENEWAL
Ivar X GlickArgentinaAmy Elsner UNQUALIFIED
Jones T VocelkaIndiaAmy Elsner QUALIFIED
Cody Q CaudyJapanElwin Sharvill NEGOTIATION
Aika D DoeCanadaIvan Magalhaes RENEWAL
Sinclair W FlosiGermanyXuxue Feng NEGOTIATION
Leja Y VocelkaSpainIoni Bowcher NEGOTIATION
Maisha H WieserRussiaAsiya Javayant PROPOSAL
Cody T RulapaughRussiaIvan Magalhaes NEGOTIATION
Aditya O KuskoGermanyBernardo Dominic QUALIFIED
Maisha Q RutaSpainStephen Shaw QUALIFIED
Francesco Z RulapaughSpainElwin Sharvill PROPOSAL
Juan M GillianCanadaIoni Bowcher QUALIFIED
Claire R KuskoItalyStephen Shaw NEW
Antonio G ButtAustraliaAsiya Javayant NEGOTIATION
Munro Q PerinArgentinaIvan Magalhaes NEGOTIATION
Silvio Z ChuiJapanAsiya Javayant NEW
Leja R StensethArgentinaBernardo Dominic RENEWAL
Darci G GillianCanadaXuxue Feng PROPOSAL
Francesco O BriddickItalyIoni Bowcher RENEWAL
Frozen Columns
Name
Alejandro G Saylors
Costa I Caudy
Julie J Campain
Mujtaba X Glick
Salvatore T Oldroyd
Francesco D Tollner
Johnson T Briddick
Ivar C Saylors
David J Gillian
Kadeem E Rulapaugh
Munro S Wieser
Antonio E Whobrey
Jefferson Z Chui
Chavez Q Poquette
Deepesh K Marrier
Maria N Whobrey
Aditya A Chui
Jennifer V Venere
Juan P Whobrey
Maria N Albares
Ivar W Royster
Claire Z Kolmetz
Kadeem N Gillian
Sinclair F Oldroyd
Johnson W Slusarski
Misaki M Wieser
Clifford I Malet
Ashley D Albares
Aditya I Chui
Leon C Kolmetz
Stacey C Marrier
Smith P Albares
Emily U Wieser
Sinclair O Gillian
Morrow T Figeroa
Adams I Royster
Jefferson E Slusarski
Juan T Nestle
Costa C Bolognia
Juan X Marrier
Aditya I Sergi
Murillo S Royster
Adams J Darakjy
Izzy O Rim
Stacey V Schemmer
Darci G Campain
Smith T Wieser
Leon Y Doe
Deepesh R Waycott
Isabel K Campain
IdCountryDate
1000France2025-05-05
1001Spain2025-05-23
1002Germany2025-05-22
1003Canada2025-05-15
1004United Kingdom2025-05-21
1005Argentina2025-05-07
1006Germany2025-05-22
1007Russia2025-05-07
1008Germany2025-05-11
1009United Kingdom2025-05-09
1010Australia2025-05-18
1011Russia2025-05-30
1012Spain2025-05-28
1013India2025-05-11
1014Spain2025-05-12
1015Japan2025-05-30
1016India2025-05-15
1017France2025-05-15
1018Italy2025-05-08
1019Japan2025-05-19
1020United Kingdom2025-05-19
1021Germany2025-05-14
1022Japan2025-06-01
1023Germany2025-05-07
1024Argentina2025-05-28
1025Canada2025-05-18
1026Russia2025-05-07
1027Spain2025-05-21
1028Brazil2025-05-28
1029Russia2025-05-26
1030Germany2025-05-28
1031Spain2025-05-14
1032Spain2025-05-10
1033Russia2025-05-19
1034United Kingdom2025-05-29
1035France2025-05-23
1036Canada2025-05-21
1037Russia2025-05-07
1038Italy2025-05-16
1039Japan2025-05-14
1040Argentina2025-05-04
1041Canada2025-05-19
1042Brazil2025-05-20
1043Argentina2025-05-16
1044Spain2025-05-03
1045Italy2025-05-28
1046Italy2025-05-29
1047Australia2025-05-25
1048Italy2025-05-22
1049Germany2025-05-08

On-Demand Data

NameIdCountryDate
Aditya A Glick1000United Kingdom2025-05-31
Misaki X Darakjy1001India2025-05-10
Smith E Gaucho1002United Kingdom2025-05-16
Kaitlin W Albares1003Brazil2025-05-26
Claire Z Kusko1004Spain2025-05-26
Aditya L Dilliard1005Australia2025-05-12
Ivar M Kusko1006Spain2025-05-17
James Y Albares1007Spain2025-05-08
Cody O Caudy1008France2025-05-20
Clifford P Nicka1009France2025-05-21
Salvatore H Bolognia1010France2025-05-15
David F Caudy1011France2025-05-09
Jeanfrancois Z Wieser1012United Kingdom2025-05-29
Clifford H Nestle1013Germany2025-05-09
Stacey F Venere1014Germany2025-05-19
Jennifer T Stenseth1015Italy2025-05-26
Isabel B Figeroa1016India2025-05-29
Greenwood Q Marrier1017Russia2025-05-20
Aruna E Poquette1018Argentina2025-05-25
Costa U Royster1019Australia2025-05-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones C DarakjyArgentinaElwin Sharvill UNQUALIFIED
Alejandro Q TollnerAustraliaAnna Fali UNQUALIFIED
Deepesh P CaldareraJapanAmy Elsner UNQUALIFIED
Aditya P IturbideAustraliaAsiya Javayant NEW
Mayumi N FerenczIndiaXuxue Feng NEW
Tony U NickaFranceAnna Fali NEW
Arvin D InouyeItalyAnna Fali NEGOTIATION
Leja T FerenczRussiaBernardo Dominic NEW
Sinclair E BriddickRussiaAnna Fali NEGOTIATION
Murillo J AmigonIndiaAmy Elsner UNQUALIFIED
Claire X KuskoIndiaAmy Elsner NEW
Jones I CaldareraJapanStephen Shaw QUALIFIED
Isabel A PerinArgentinaXuxue Feng PROPOSAL
Murillo I KuskoFranceBernardo Dominic UNQUALIFIED
Cody L FerenczAustraliaAsiya Javayant QUALIFIED
Emily N SergiBrazilIoni Bowcher QUALIFIED
Ashley D OldroydItalyBernardo Dominic NEGOTIATION
Antonio U GlickUnited KingdomAsiya Javayant QUALIFIED
Johnson H FigeroaAustraliaAsiya Javayant NEW
Ivar S KuskoFranceAsiya Javayant QUALIFIED
Jeanfrancois C RulapaughJapanAsiya Javayant UNQUALIFIED
Leja O StensethJapanAnna Fali NEGOTIATION
Stacey E RoysterUnited KingdomIvan Magalhaes NEW
Jefferson L RulapaughAustraliaAnna Fali UNQUALIFIED
Octavia T PoquetteItalyOnyama Limba RENEWAL
Deepesh S SergiArgentinaAmy Elsner PROPOSAL
Salvatore L FerenczCanadaAnna Fali RENEWAL
James F DilliardItalyIoni Bowcher NEGOTIATION
Jennifer V SaylorsJapanIvan Magalhaes PROPOSAL
Octavia G SaylorsCanadaIoni Bowcher NEGOTIATION
Aika F RulapaughSpainElwin Sharvill RENEWAL
Clifford A InouyeJapanAnna Fali NEGOTIATION
Cody M FigeroaArgentinaStephen Shaw UNQUALIFIED
Ashley B BowleyJapanBernardo Dominic NEGOTIATION
David N PaprockiUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois M GillianRussiaBernardo Dominic NEW
Jennifer V KolmetzSpainOnyama Limba NEW
Silvio N StockhamRussiaIoni Bowcher NEGOTIATION
Stacey U SergiGermanyAsiya Javayant RENEWAL
Darci T PaprockiRussiaStephen Shaw 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>