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
Ivar J AlbaresArgentinaAnna Fali PROPOSAL
Faith N DilliardUnited KingdomStephen Shaw QUALIFIED
James B AmigonItalyBernardo Dominic UNQUALIFIED
Izzy F ChuiAustraliaStephen Shaw UNQUALIFIED
Deepesh J MarrierItalyAsiya Javayant NEGOTIATION
Smith A RimIndiaStephen Shaw NEGOTIATION
Kadeem W StockhamIndiaAmy Elsner NEW
Izzy O NestleCanadaBernardo Dominic QUALIFIED
Aika V FollerJapanIoni Bowcher NEGOTIATION
Antonio Y SaylorsRussiaIvan Magalhaes RENEWAL
Silvio E MaletSpainBernardo Dominic QUALIFIED
Isabel U GillianItalyIoni Bowcher QUALIFIED
Kadeem Q BologniaUnited KingdomIvan Magalhaes PROPOSAL
Morrow Z GauchoGermanyOnyama Limba PROPOSAL
Costa Y ChuiBrazilIoni Bowcher QUALIFIED
Emily O MorascaBrazilIoni Bowcher NEGOTIATION
Aditya T FerenczAustraliaAnna Fali UNQUALIFIED
Sinclair C GlickRussiaOnyama Limba UNQUALIFIED
Morrow W NestleGermanyAsiya Javayant UNQUALIFIED
Antonio J MorascaJapanOnyama Limba NEW
Leon L OldroydGermanyIoni Bowcher PROPOSAL
Arvin K WieserBrazilAmy Elsner NEGOTIATION
Julie O FlosiRussiaElwin Sharvill QUALIFIED
Maria B RulapaughArgentinaStephen Shaw QUALIFIED
Murillo Y SchemmerItalyStephen Shaw RENEWAL
Greenwood Y WaycottRussiaAmy Elsner NEGOTIATION
James P StockhamGermanyXuxue Feng NEGOTIATION
Julie T KuskoGermanyStephen Shaw RENEWAL
Misaki T MacleadIndiaStephen Shaw RENEWAL
Jeanfrancois F ChuiItalyIoni Bowcher PROPOSAL
Stacey H StensethIndiaIvan Magalhaes PROPOSAL
Emily U FollerRussiaAnna Fali RENEWAL
Alejandro P StockhamItalyAmy Elsner UNQUALIFIED
Aditya L OstroskyCanadaAmy Elsner NEW
Misaki A ButtUnited KingdomOnyama Limba NEW
Adams G StockhamRussiaXuxue Feng NEGOTIATION
Munro A StensethIndiaAnna Fali RENEWAL
Antonio F CaldareraRussiaXuxue Feng UNQUALIFIED
Cody I WieserCanadaXuxue Feng QUALIFIED
Antonio L FerenczUnited KingdomIoni Bowcher QUALIFIED
Deepesh P RimUnited KingdomAmy Elsner QUALIFIED
Johnson J GarufiBrazilOnyama Limba QUALIFIED
Aditya I SaylorsArgentinaStephen Shaw UNQUALIFIED
Juan B CaldareraRussiaElwin Sharvill RENEWAL
Mujtaba D GauchoGermanyStephen Shaw RENEWAL
Ivar T MaletGermanyOnyama Limba RENEWAL
Costa A NickaRussiaOnyama Limba PROPOSAL
Aditya G StockhamJapanOnyama Limba NEW
Nicolas H MorascaIndiaOnyama Limba NEW
Aika J SaylorsSpainAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas T MorascaCanadaAsiya Javayant UNQUALIFIED
Stacey S StockhamRussiaAsiya Javayant NEW
Tony H MorascaCanadaIvan Magalhaes NEGOTIATION
Aditya X VenereGermanyIvan Magalhaes PROPOSAL
Deepesh A KolmetzAustraliaXuxue Feng RENEWAL
Morrow Y SchemmerCanadaElwin Sharvill QUALIFIED
Silvio K KolmetzUnited KingdomXuxue Feng QUALIFIED
Darci W SaylorsCanadaAnna Fali RENEWAL
Murillo S SlusarskiArgentinaBernardo Dominic RENEWAL
Ivar Y BriddickIndiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily L StensethIndia2026-07-31Benton, John B Jr NEGOTIATION21Stephen Shaw
1001Aika A WieserArgentina2026-07-21Chapman, Ross E Esq RENEWAL70Amy Elsner
1002Misaki O SlusarskiBrazil2026-08-03Rousseaux, Michael Esq RENEWAL2Onyama Limba
1003Jeanfrancois X RutaItaly2026-07-29Rousseaux, Michael Esq RENEWAL70Anna Fali
1004Wickens L RimJapan2026-07-26King, Christopher A Esq QUALIFIED99Asiya Javayant
1005Kaitlin I PoquetteAustralia2026-08-04Buckley Miller Wright UNQUALIFIED17Xuxue Feng
1006Cody N SergiArgentina2026-07-25Truhlar And Truhlar Attys NEW65Anna Fali
1007Kadeem F MarrierRussia2026-08-03Dorl, James J Esq UNQUALIFIED38Xuxue Feng
1008Darci L BriddickJapan2026-08-10King, Christopher A Esq RENEWAL16Stephen Shaw
1009Kaitlin W MacleadUnited Kingdom2026-08-01Chemel, James L Cpa RENEWAL38Bernardo Dominic
1010Emily N IturbideSpain2026-07-19Benton, John B Jr QUALIFIED87Ivan Magalhaes
1011Adams N SaylorsSpain2026-07-15Commercial Press NEGOTIATION9Xuxue Feng
1012Aika D WhobreyAustralia2026-07-26Dorl, James J Esq PROPOSAL78Elwin Sharvill
1013Kadeem U MaletGermany2026-08-06Morlong Associates PROPOSAL2Ivan Magalhaes
1014Leon B FlosiArgentina2026-07-22Commercial Press NEW85Amy Elsner
1015Tony U NestleItaly2026-07-31Commercial Press NEW73Anna Fali
1016Aruna B FollerJapan2026-07-30King, Christopher A Esq NEGOTIATION96Stephen Shaw
1017Kaitlin P StensethJapan2026-07-30Chapman, Ross E Esq UNQUALIFIED61Xuxue Feng
1018Jones L GlickRussia2026-08-04King, Christopher A Esq NEW25Anna Fali
1019Chavez M IturbideArgentina2026-07-31Feltz Printing Service PROPOSAL67Onyama Limba
1020Mujtaba T FerenczFrance2026-08-10Truhlar And Truhlar Attys PROPOSAL93Xuxue Feng
1021Leja B SchemmerFrance2026-07-18Rangoni Of Florence NEW66Asiya Javayant
1022Morrow C StensethSpain2026-08-02Feiner Bros UNQUALIFIED33Onyama Limba
1023Salvatore Q GauchoArgentina2026-07-17Feltz Printing Service QUALIFIED41Ioni Bowcher
1024Johnson G VenereAustralia2026-07-31Rangoni Of Florence NEGOTIATION65Ivan Magalhaes
1025Wickens A BologniaIndia2026-08-11Truhlar And Truhlar Attys QUALIFIED81Elwin Sharvill
1026Adams I RulapaughUnited Kingdom2026-08-10Chanay, Jeffrey A Esq NEGOTIATION2Ioni Bowcher
1027Wickens D BologniaSpain2026-07-15Chanay, Jeffrey A Esq UNQUALIFIED44Amy Elsner
1028Chavez N StensethJapan2026-07-18Chanay, Jeffrey A Esq UNQUALIFIED1Ioni Bowcher
1029Francesco V ChuiSpain2026-07-17Morlong Associates QUALIFIED40Elwin Sharvill
1030Cody R VenereArgentina2026-07-28Dorl, James J Esq UNQUALIFIED41Stephen Shaw
1031Ivar C SergiBrazil2026-08-02Benton, John B Jr RENEWAL24Ivan Magalhaes
1032Clifford Y CaldareraSpain2026-07-21Chanay, Jeffrey A Esq RENEWAL37Stephen Shaw
1033Wickens C MaletFrance2026-07-26Morlong Associates PROPOSAL3Onyama Limba
1034Silvio R PaprockiRussia2026-07-23Printing Dimensions NEW11Onyama Limba
1035Julie C WaycottJapan2026-08-04Dorl, James J Esq UNQUALIFIED84Stephen Shaw
1036Jefferson U PoquetteFrance2026-07-21Commercial Press PROPOSAL21Ioni Bowcher
1037Juan I BologniaBrazil2026-07-29Commercial Press QUALIFIED14Amy Elsner
1038Smith X TollnerFrance2026-08-04Buckley Miller Wright RENEWAL0Bernardo Dominic
1039Smith D BologniaJapan2026-08-10Chapman, Ross E Esq QUALIFIED46Xuxue Feng
1040Nicolas S WhobreyIndia2026-08-06Truhlar And Truhlar Attys RENEWAL50Stephen Shaw
1041Emily U RimBrazil2026-08-08Dorl, James J Esq QUALIFIED13Anna Fali
1042Ashley M OstroskyJapan2026-08-08Rousseaux, Michael Esq NEGOTIATION23Anna Fali
1043Leon E IturbideItaly2026-07-30Feiner Bros PROPOSAL61Amy Elsner
1044Deepesh S ButtUnited Kingdom2026-08-12Rousseaux, Michael Esq PROPOSAL32Bernardo Dominic
1045David M RulapaughAustralia2026-08-02Buckley Miller Wright QUALIFIED69Onyama Limba
1046Julie N RoysterItaly2026-07-31King, Christopher A Esq RENEWAL14Amy Elsner
1047Arvin Z ButtJapan2026-08-02King, Christopher A Esq RENEWAL79Ivan Magalhaes
1048Jefferson Z BowleyRussia2026-08-08Dorl, James J Esq RENEWAL21Anna Fali
1049Sinclair Z NickaItaly2026-08-01Chemel, James L Cpa QUALIFIED14Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Silvio P ButtArgentinaStephen Shaw NEGOTIATION
Leja D GlickFranceElwin Sharvill NEW
Sinclair L RutaSpainAsiya Javayant QUALIFIED
Arvin F SlusarskiFranceAsiya Javayant NEGOTIATION
Munro C RulapaughIndiaAnna Fali NEGOTIATION
Salvatore W OstroskyBrazilIvan Magalhaes PROPOSAL
Stacey J GlickIndiaAsiya Javayant NEGOTIATION
Alejandro M MorascaArgentinaElwin Sharvill QUALIFIED
Chavez J RimAustraliaAsiya Javayant PROPOSAL
Leon P RulapaughArgentinaOnyama Limba NEW
Ricardo I DoeSpainIoni Bowcher PROPOSAL
Arvin U KuskoBrazilBernardo Dominic UNQUALIFIED
Maria I RoysterGermanyAnna Fali NEGOTIATION
Jeanfrancois X CaldareraIndiaXuxue Feng PROPOSAL
Claire Y FigeroaAustraliaXuxue Feng UNQUALIFIED
Nicolas N MaletFranceIvan Magalhaes UNQUALIFIED
Ivar P FlosiArgentinaAmy Elsner UNQUALIFIED
Costa J KolmetzAustraliaAmy Elsner NEW
Nicolas Q CampainBrazilIvan Magalhaes NEGOTIATION
Mujtaba N PerinGermanyStephen Shaw QUALIFIED
Jennifer O FerenczUnited KingdomOnyama Limba NEW
Kaitlin P ShinkoItalyElwin Sharvill NEGOTIATION
Costa L BowleyIndiaOnyama Limba NEW
Morrow A TollnerArgentinaBernardo Dominic UNQUALIFIED
Kadeem A StockhamCanadaIvan Magalhaes QUALIFIED
Leja L VocelkaBrazilStephen Shaw UNQUALIFIED
Aika J SlusarskiFranceAmy Elsner NEW
Johnson E KuskoRussiaAmy Elsner NEW
Jeanfrancois N DoeSpainXuxue Feng UNQUALIFIED
David K GauchoFranceStephen Shaw NEGOTIATION
Alejandro J CaldareraIndiaXuxue Feng NEGOTIATION
James A FollerCanadaAsiya Javayant RENEWAL
Emily K RimBrazilStephen Shaw RENEWAL
Darci W PaprockiBrazilAmy Elsner NEW
Ricardo Y AlbaresCanadaXuxue Feng RENEWAL
Faith F KuskoAustraliaAsiya Javayant NEGOTIATION
Leon R BriddickBrazilXuxue Feng NEW
David H RutaGermanyAsiya Javayant QUALIFIED
Antonio T WaycottSpainAsiya Javayant NEGOTIATION
Maisha Y AmigonSpainAnna Fali NEGOTIATION
Darci L ShinkoRussiaBernardo Dominic QUALIFIED
Silvio E FigeroaCanadaOnyama Limba UNQUALIFIED
Smith B PerinCanadaStephen Shaw NEGOTIATION
Octavia Z NickaItalyOnyama Limba UNQUALIFIED
Emily B VenereFranceStephen Shaw PROPOSAL
Greenwood F VocelkaJapanAmy Elsner RENEWAL
Silvio Z WaycottUnited KingdomXuxue Feng QUALIFIED
Maisha T WieserFranceOnyama Limba NEGOTIATION
Darci Y StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Ivar P CaudyItalyBernardo Dominic NEW
Frozen Columns
Name
Jones W Vocelka
Cody N Amigon
Ricardo P Doe
Morrow J Briddick
Silvio D Chui
Julie C Tollner
Claire B Marrier
Aruna F Maclead
Smith D Doe
Stacey B Ferencz
Greenwood F Poquette
Aika Q Vocelka
Ricardo E Figeroa
Ricardo Z Morasca
Stacey N Waycott
Arvin E Oldroyd
Johnson T Saylors
Costa M Tollner
Juan Q Nicka
Maria K Perin
Misaki H Whobrey
Adams A Oldroyd
Isabel F Chui
Octavia T Kusko
Wickens A Ruta
Greenwood T Chui
Alejandro G Wieser
Leja W Tollner
Jeanfrancois L Albares
Izzy M Tollner
Aika I Schemmer
Wickens Z Paprocki
Jennifer P Gaucho
Greenwood P Iturbide
Sinclair N Maclead
Adams X Malet
Aruna O Glick
Izzy S Bowley
Mayumi E Foller
Stacey A Waycott
Kadeem D Paprocki
Greenwood K Bowley
Adams Q Ruta
David T Bolognia
Ashley U Figeroa
Kadeem Y Schemmer
Silvio I Inouye
James H Tollner
Emily J Saylors
Faith X Kolmetz
IdCountryDate
1000Japan2026-07-26
1001Russia2026-08-01
1002Australia2026-07-19
1003Germany2026-07-14
1004Japan2026-08-09
1005Australia2026-07-25
1006Canada2026-08-04
1007United Kingdom2026-08-09
1008India2026-08-06
1009France2026-07-23
1010Germany2026-07-15
1011United Kingdom2026-08-11
1012France2026-08-11
1013Brazil2026-07-14
1014Brazil2026-07-22
1015Argentina2026-07-23
1016Australia2026-08-08
1017Russia2026-07-20
1018France2026-07-18
1019Japan2026-07-25
1020United Kingdom2026-07-23
1021Italy2026-08-06
1022Australia2026-08-08
1023United Kingdom2026-07-19
1024India2026-08-11
1025Brazil2026-07-25
1026United Kingdom2026-08-11
1027Italy2026-08-09
1028Russia2026-08-09
1029Argentina2026-08-08
1030Germany2026-08-05
1031Germany2026-07-22
1032France2026-08-03
1033Australia2026-07-23
1034Spain2026-07-29
1035Canada2026-07-27
1036Brazil2026-08-03
1037United Kingdom2026-08-12
1038Argentina2026-07-25
1039Brazil2026-07-15
1040United Kingdom2026-07-31
1041United Kingdom2026-07-16
1042Russia2026-07-26
1043United Kingdom2026-08-05
1044Germany2026-07-26
1045Germany2026-08-07
1046Canada2026-08-09
1047Brazil2026-07-23
1048Russia2026-08-06
1049India2026-08-11

On-Demand Data

NameIdCountryDate
David F Ostrosky1000Argentina2026-08-06
Darci V Stockham1001Russia2026-07-23
Cody G Vocelka1002United Kingdom2026-08-11
Salvatore J Poquette1003Germany2026-07-24
Claire U Ostrosky1004France2026-07-21
Johnson R Paprocki1005Japan2026-08-01
Nicolas R Iturbide1006Japan2026-07-22
Izzy T Ruta1007Japan2026-08-09
Murillo R Perin1008Canada2026-07-25
Maisha F Oldroyd1009Japan2026-07-23
Clifford O Bolognia1010India2026-07-19
Salvatore V Chui1011Australia2026-08-11
Jennifer P Gaucho1012Germany2026-08-08
Octavia R Nicka1013Argentina2026-08-07
Kadeem W Malet1014United Kingdom2026-08-07
Murillo W Kolmetz1015India2026-08-12
Jones P Kusko1016Spain2026-07-31
Morrow B Waycott1017Brazil2026-08-03
Alejandro D Maclead1018Germany2026-07-29
Murillo Y Nestle1019United Kingdom2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James D CaudyAustraliaAmy Elsner RENEWAL
Morrow N DoeBrazilAnna Fali PROPOSAL
Ivar W SergiSpainOnyama Limba NEW
Francesco K WaycottGermanyIvan Magalhaes NEGOTIATION
Jefferson H MaletRussiaElwin Sharvill QUALIFIED
Julie E ShinkoArgentinaStephen Shaw QUALIFIED
Julie B GauchoFranceAmy Elsner NEW
Ricardo P InouyeJapanStephen Shaw NEW
Adams G OldroydUnited KingdomXuxue Feng QUALIFIED
Sinclair J RoysterUnited KingdomStephen Shaw NEGOTIATION
Jones M KolmetzSpainIvan Magalhaes NEGOTIATION
Jefferson S MaletArgentinaAsiya Javayant PROPOSAL
Silvio J MaletBrazilBernardo Dominic QUALIFIED
Murillo T DoeBrazilBernardo Dominic QUALIFIED
Juan I InouyeCanadaAmy Elsner RENEWAL
Jefferson S FlosiJapanBernardo Dominic UNQUALIFIED
Smith M MaletGermanyIoni Bowcher UNQUALIFIED
Jeanfrancois W IturbideCanadaBernardo Dominic NEW
Misaki C DilliardBrazilElwin Sharvill PROPOSAL
Jennifer U KuskoJapanAmy Elsner PROPOSAL
Julie Q ButtIndiaIoni Bowcher NEW
Cody G FigeroaJapanOnyama Limba NEW
Juan I IturbideBrazilAmy Elsner PROPOSAL
Jennifer N NestleJapanAmy Elsner UNQUALIFIED
Jeanfrancois B OldroydUnited KingdomAmy Elsner RENEWAL
Salvatore B RimRussiaAmy Elsner NEGOTIATION
Ivar U SergiRussiaOnyama Limba PROPOSAL
Wickens D TollnerUnited KingdomStephen Shaw PROPOSAL
Wickens A MacleadGermanyAsiya Javayant PROPOSAL
Aika U WhobreyJapanAnna Fali NEW
Rodrigues N KolmetzRussiaElwin Sharvill RENEWAL
Leon U OstroskyBrazilAmy Elsner UNQUALIFIED
Clifford T ShinkoBrazilAnna Fali NEW
Darci V AmigonRussiaBernardo Dominic NEW
Isabel B KuskoJapanIvan Magalhaes UNQUALIFIED
Stacey W PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Morrow I BowleyIndiaStephen Shaw UNQUALIFIED
Octavia P StensethCanadaStephen Shaw RENEWAL
Aditya C SaylorsBrazilStephen Shaw NEW
Jeanfrancois G TollnerFranceAnna Fali 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>