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
Leon M SaylorsAustraliaAsiya Javayant NEW
Morrow Z NestleCanadaOnyama Limba NEGOTIATION
Greenwood W InouyeFranceIvan Magalhaes RENEWAL
Silvio J NickaRussiaBernardo Dominic NEGOTIATION
Johnson H FollerItalyAmy Elsner PROPOSAL
Murillo W AlbaresRussiaStephen Shaw UNQUALIFIED
Octavia K CaudySpainElwin Sharvill NEW
Clifford O IturbideJapanOnyama Limba NEGOTIATION
Kaitlin S CampainArgentinaIvan Magalhaes NEGOTIATION
Greenwood X CaudyFranceOnyama Limba NEW
Octavia L NickaRussiaXuxue Feng RENEWAL
Isabel B BologniaGermanyIoni Bowcher PROPOSAL
Munro A OldroydRussiaElwin Sharvill PROPOSAL
Wickens F WhobreyCanadaIoni Bowcher NEW
Silvio P FlosiBrazilAnna Fali PROPOSAL
Cody O WhobreyItalyAsiya Javayant PROPOSAL
Nicolas J OstroskyAustraliaAmy Elsner NEGOTIATION
Aika F SaylorsAustraliaIoni Bowcher UNQUALIFIED
Rodrigues W WaycottCanadaIvan Magalhaes QUALIFIED
Tony Z DilliardFranceAsiya Javayant UNQUALIFIED
Leja L MarrierJapanStephen Shaw NEGOTIATION
Izzy C PaprockiRussiaIvan Magalhaes QUALIFIED
Chavez H ChuiCanadaElwin Sharvill PROPOSAL
Kaitlin D StockhamIndiaXuxue Feng QUALIFIED
Cody Z FollerUnited KingdomStephen Shaw NEGOTIATION
Darci V PoquetteItalyBernardo Dominic PROPOSAL
Nicolas J PaprockiRussiaStephen Shaw UNQUALIFIED
Silvio P OldroydAustraliaXuxue Feng PROPOSAL
Jones Z CaudySpainBernardo Dominic NEW
Deepesh B VocelkaRussiaElwin Sharvill RENEWAL
Darci H FollerFranceAsiya Javayant RENEWAL
Jefferson J TollnerGermanyBernardo Dominic NEGOTIATION
Darci M MacleadGermanyStephen Shaw RENEWAL
Kaitlin Q RulapaughRussiaBernardo Dominic PROPOSAL
Antonio N GillianIndiaAnna Fali RENEWAL
Nicolas Q RimArgentinaStephen Shaw RENEWAL
Alejandro Z KolmetzGermanyAsiya Javayant PROPOSAL
Kaitlin L DoeItalyIvan Magalhaes PROPOSAL
Murillo U PaprockiItalyAmy Elsner UNQUALIFIED
Stacey R RoysterItalyStephen Shaw PROPOSAL
Deepesh C AlbaresBrazilStephen Shaw NEW
Silvio T MaletArgentinaAsiya Javayant NEW
Jefferson C MaletBrazilBernardo Dominic QUALIFIED
David S MorascaCanadaIoni Bowcher NEGOTIATION
Jeanfrancois J FerenczFranceAmy Elsner NEGOTIATION
Jones Y InouyeItalyXuxue Feng RENEWAL
Sinclair B StockhamCanadaXuxue Feng NEW
Cody X CaudyAustraliaStephen Shaw RENEWAL
Chavez I SchemmerBrazilAsiya Javayant NEW
Darci M CaldareraJapanElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy U BowleyUnited KingdomOnyama Limba NEW
Antonio C SaylorsArgentinaAsiya Javayant QUALIFIED
Aditya L KuskoBrazilOnyama Limba NEGOTIATION
Rodrigues M StensethCanadaAsiya Javayant RENEWAL
Chavez I SchemmerGermanyAsiya Javayant UNQUALIFIED
Greenwood R FlosiSpainBernardo Dominic NEW
David K MarrierFranceOnyama Limba RENEWAL
David K AmigonJapanOnyama Limba NEW
Maisha N RoysterRussiaStephen Shaw NEW
Nicolas B StensethUnited KingdomAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba E MaletSpain2026-07-09Rousseaux, Michael Esq NEGOTIATION77Ioni Bowcher
1001Kaitlin I BologniaCanada2026-07-17Truhlar And Truhlar Attys NEW72Anna Fali
1002Jones N IturbideCanada2026-07-11Dorl, James J Esq PROPOSAL4Asiya Javayant
1003Salvatore A OldroydSpain2026-07-08King, Christopher A Esq QUALIFIED80Xuxue Feng
1004Costa W BowleyCanada2026-07-11Feiner Bros UNQUALIFIED83Amy Elsner
1005Maria W StockhamItaly2026-07-23Dorl, James J Esq RENEWAL2Elwin Sharvill
1006Faith K VocelkaIndia2026-07-03Rousseaux, Michael Esq RENEWAL94Elwin Sharvill
1007Misaki M SergiArgentina2026-07-10Benton, John B Jr PROPOSAL21Amy Elsner
1008Nicolas F GlickGermany2026-07-12Rousseaux, Michael Esq QUALIFIED9Bernardo Dominic
1009Faith L DoeRussia2026-07-20Chemel, James L Cpa UNQUALIFIED10Amy Elsner
1010Silvio J VocelkaArgentina2026-07-18Morlong Associates QUALIFIED52Elwin Sharvill
1011Juan Y NickaItaly2026-07-13Truhlar And Truhlar Attys QUALIFIED87Ioni Bowcher
1012Nicolas Y MaletJapan2026-07-21Commercial Press UNQUALIFIED5Amy Elsner
1013Aditya B KuskoArgentina2026-07-07Chemel, James L Cpa QUALIFIED32Asiya Javayant
1014Francesco B CampainBrazil2026-06-25Feltz Printing Service PROPOSAL22Bernardo Dominic
1015Kaitlin O InouyeAustralia2026-06-29Rangoni Of Florence QUALIFIED16Xuxue Feng
1016Nicolas J GauchoBrazil2026-07-10Commercial Press PROPOSAL65Xuxue Feng
1017Aditya C CaudyFrance2026-07-01Rousseaux, Michael Esq UNQUALIFIED5Bernardo Dominic
1018Jeanfrancois Q BowleyRussia2026-06-30Buckley Miller Wright RENEWAL26Onyama Limba
1019Jefferson Q FlosiIndia2026-07-23King, Christopher A Esq PROPOSAL67Elwin Sharvill
1020Costa L FollerRussia2026-07-15Morlong Associates QUALIFIED5Elwin Sharvill
1021Nicolas K StockhamBrazil2026-07-11Rousseaux, Michael Esq PROPOSAL26Elwin Sharvill
1022James M GauchoSpain2026-07-08Rangoni Of Florence UNQUALIFIED89Amy Elsner
1023Izzy W NestleRussia2026-07-10Feltz Printing Service NEGOTIATION63Elwin Sharvill
1024Rodrigues D PaprockiRussia2026-07-09King, Christopher A Esq PROPOSAL63Amy Elsner
1025Sinclair L VocelkaJapan2026-06-25Rangoni Of Florence PROPOSAL46Ioni Bowcher
1026Octavia E SergiJapan2026-07-04Dorl, James J Esq PROPOSAL32Anna Fali
1027James E OldroydJapan2026-06-30Rangoni Of Florence NEGOTIATION97Xuxue Feng
1028Maria J BologniaBrazil2026-07-18Rangoni Of Florence NEGOTIATION65Ioni Bowcher
1029Claire P KuskoGermany2026-06-24Chemel, James L Cpa UNQUALIFIED78Bernardo Dominic
1030Salvatore U GillianSpain2026-07-18Benton, John B Jr QUALIFIED10Stephen Shaw
1031Johnson B BologniaRussia2026-07-12Commercial Press UNQUALIFIED66Elwin Sharvill
1032Leja Q MaletIndia2026-07-13King, Christopher A Esq QUALIFIED5Asiya Javayant
1033Stacey P InouyeIndia2026-06-30Benton, John B Jr UNQUALIFIED29Onyama Limba
1034Stacey R IturbideRussia2026-07-10Chemel, James L Cpa UNQUALIFIED5Xuxue Feng
1035Ivar T WhobreyFrance2026-06-24Buckley Miller Wright RENEWAL35Asiya Javayant
1036Costa O PoquetteJapan2026-07-11Printing Dimensions RENEWAL16Ioni Bowcher
1037James S BowleyItaly2026-07-17Chemel, James L Cpa PROPOSAL53Ivan Magalhaes
1038Jefferson H FigeroaItaly2026-06-29Printing Dimensions RENEWAL0Stephen Shaw
1039Misaki G TollnerRussia2026-06-28King, Christopher A Esq RENEWAL31Elwin Sharvill
1040Stacey K FlosiItaly2026-06-29Commercial Press UNQUALIFIED64Amy Elsner
1041Costa H GillianGermany2026-07-06Morlong Associates NEW9Ioni Bowcher
1042Jeanfrancois M OldroydFrance2026-06-27Chanay, Jeffrey A Esq NEGOTIATION28Ioni Bowcher
1043Octavia X VenereJapan2026-07-23Printing Dimensions NEW42Elwin Sharvill
1044Johnson P OstroskySpain2026-07-21Printing Dimensions NEW99Xuxue Feng
1045Ricardo K MaletIndia2026-06-27Feltz Printing Service UNQUALIFIED21Ivan Magalhaes
1046Chavez H AmigonItaly2026-06-24Dorl, James J Esq QUALIFIED43Asiya Javayant
1047Jones G VocelkaArgentina2026-07-19Truhlar And Truhlar Attys QUALIFIED19Amy Elsner
1048Costa E DilliardAustralia2026-07-16Printing Dimensions RENEWAL24Asiya Javayant
1049Izzy X RimGermany2026-07-21King, Christopher A Esq NEGOTIATION16Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Morrow O BologniaFranceBernardo Dominic RENEWAL
Emily A VocelkaRussiaStephen Shaw UNQUALIFIED
Ricardo U KolmetzArgentinaOnyama Limba QUALIFIED
Salvatore Z KuskoSpainAmy Elsner PROPOSAL
Ricardo K KuskoUnited KingdomXuxue Feng RENEWAL
Kadeem R VenereRussiaElwin Sharvill NEGOTIATION
Isabel P DoeCanadaStephen Shaw NEW
Greenwood K FlosiJapanAnna Fali QUALIFIED
David J StensethJapanBernardo Dominic RENEWAL
Murillo P ButtRussiaOnyama Limba PROPOSAL
Murillo D SergiArgentinaIoni Bowcher UNQUALIFIED
Greenwood J CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Silvio V RulapaughCanadaBernardo Dominic UNQUALIFIED
Cody F RulapaughJapanIvan Magalhaes NEW
Emily G NestleRussiaElwin Sharvill NEGOTIATION
James M InouyeSpainAnna Fali NEGOTIATION
Ricardo F DilliardItalyStephen Shaw PROPOSAL
Aditya P KolmetzRussiaAnna Fali QUALIFIED
Clifford R InouyeFranceXuxue Feng RENEWAL
Chavez W VenereJapanElwin Sharvill UNQUALIFIED
Stacey Q FerenczRussiaAsiya Javayant UNQUALIFIED
Leon I SlusarskiGermanyAmy Elsner RENEWAL
Aika I BowleyFranceAnna Fali NEW
Greenwood L RimGermanyAsiya Javayant RENEWAL
Juan Z PerinItalyIoni Bowcher QUALIFIED
Francesco F FigeroaRussiaBernardo Dominic PROPOSAL
Chavez N StensethFranceIvan Magalhaes UNQUALIFIED
Antonio J WieserGermanyIoni Bowcher RENEWAL
Salvatore D WhobreyJapanBernardo Dominic UNQUALIFIED
Leon K FollerSpainIvan Magalhaes PROPOSAL
Ivar Z IturbideBrazilAmy Elsner UNQUALIFIED
Kaitlin I StensethRussiaBernardo Dominic PROPOSAL
Chavez E SaylorsIndiaStephen Shaw NEW
Wickens K BowleyArgentinaStephen Shaw UNQUALIFIED
Tony G VocelkaUnited KingdomXuxue Feng PROPOSAL
Julie S WhobreyCanadaOnyama Limba QUALIFIED
Francesco I ChuiGermanyStephen Shaw NEW
Antonio W OldroydBrazilAmy Elsner UNQUALIFIED
Leon Y StensethFranceXuxue Feng NEGOTIATION
Aditya V TollnerIndiaXuxue Feng NEGOTIATION
Ricardo T StockhamSpainStephen Shaw QUALIFIED
Deepesh P WhobreyRussiaOnyama Limba RENEWAL
Munro P BriddickArgentinaBernardo Dominic RENEWAL
Jeanfrancois K ButtGermanyXuxue Feng NEGOTIATION
Stacey X InouyeIndiaIoni Bowcher NEGOTIATION
Chavez C RutaUnited KingdomBernardo Dominic NEGOTIATION
Johnson X StensethGermanyOnyama Limba NEW
David G TollnerSpainAnna Fali NEGOTIATION
Darci Z InouyeBrazilElwin Sharvill PROPOSAL
Aika A RulapaughGermanyAsiya Javayant PROPOSAL
Frozen Columns
Name
Clifford H Flosi
Aruna I Ruta
Mujtaba N Kusko
Costa R Marrier
Salvatore P Slusarski
Claire E Marrier
Sinclair M Schemmer
Mayumi R Oldroyd
Ricardo Q Kolmetz
Julie B Vocelka
Chavez E Royster
Adams L Saylors
Maisha W Shinko
Murillo J Nicka
Salvatore K Foller
Silvio I Doe
Darci N Schemmer
Emily P Albares
Jeanfrancois J Gillian
Aditya H Iturbide
Murillo S Stockham
Kaitlin U Albares
Arvin O Kusko
Stacey P Vocelka
Ashley F Stockham
Aika Y Royster
Wickens Z Venere
Maisha J Slusarski
Maisha V Stockham
Claire Q Maclead
Izzy S Sergi
Greenwood Y Schemmer
Mujtaba D Iturbide
Jefferson Z Albares
Jefferson S Schemmer
Misaki R Perin
Clifford D Waycott
Maria V Rulapaugh
Faith Z Wieser
Antonio X Nicka
Adams C Ruta
Tony Q Bowley
Johnson K Poquette
Francesco V Schemmer
Claire O Nicka
Misaki A Bolognia
Johnson W Morasca
David M Ferencz
David M Albares
Aika T Campain
IdCountryDate
1000Argentina2026-07-09
1001Spain2026-07-16
1002Australia2026-07-18
1003Australia2026-06-25
1004India2026-07-17
1005Canada2026-07-19
1006Japan2026-07-13
1007Australia2026-07-05
1008Argentina2026-06-26
1009United Kingdom2026-07-11
1010Spain2026-06-24
1011Spain2026-07-18
1012Italy2026-07-11
1013Spain2026-06-30
1014Germany2026-07-11
1015Russia2026-07-07
1016France2026-07-10
1017Russia2026-07-21
1018Spain2026-06-25
1019Canada2026-06-27
1020United Kingdom2026-07-21
1021Australia2026-06-29
1022Australia2026-07-09
1023Australia2026-07-16
1024Australia2026-07-08
1025Spain2026-07-17
1026Spain2026-06-30
1027Germany2026-07-16
1028Italy2026-07-13
1029France2026-06-26
1030Italy2026-07-19
1031Australia2026-06-30
1032United Kingdom2026-07-07
1033Spain2026-07-02
1034Australia2026-07-19
1035Japan2026-07-19
1036Australia2026-07-15
1037Germany2026-07-03
1038India2026-07-02
1039India2026-07-23
1040Russia2026-07-12
1041France2026-07-11
1042Spain2026-07-03
1043Brazil2026-07-10
1044United Kingdom2026-07-19
1045Spain2026-07-23
1046Brazil2026-07-19
1047Japan2026-06-29
1048Spain2026-07-09
1049Brazil2026-06-28

On-Demand Data

NameIdCountryDate
Francesco H Waycott1000Russia2026-07-16
Ivar H Oldroyd1001United Kingdom2026-07-10
Darci U Poquette1002India2026-07-20
Adams J Gaucho1003Brazil2026-07-18
Mayumi S Briddick1004France2026-07-21
Francesco S Darakjy1005United Kingdom2026-07-20
Jeanfrancois W Flosi1006United Kingdom2026-07-06
Sinclair A Tollner1007United Kingdom2026-06-27
Emily Z Ferencz1008Spain2026-07-02
Leja X Albares1009Germany2026-07-20
Murillo X Garufi1010Canada2026-06-30
Julie H Gaucho1011Canada2026-07-19
Leja Y Albares1012Spain2026-06-26
Julie M Kolmetz1013Spain2026-07-13
Sinclair E Royster1014Spain2026-07-18
Octavia G Slusarski1015Australia2026-07-06
Arvin A Stenseth1016Argentina2026-07-15
Murillo O Inouye1017India2026-06-25
Faith F Rulapaugh1018Spain2026-07-15
Octavia P Iturbide1019Germany2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro W KuskoRussiaAnna Fali RENEWAL
Murillo K VocelkaCanadaIvan Magalhaes NEGOTIATION
Faith T WieserFranceIvan Magalhaes UNQUALIFIED
Clifford S WieserGermanyBernardo Dominic RENEWAL
Jeanfrancois A WhobreyCanadaIvan Magalhaes QUALIFIED
Jennifer Z InouyeBrazilOnyama Limba QUALIFIED
Aika K MacleadItalyAsiya Javayant UNQUALIFIED
Rodrigues I NickaUnited KingdomAnna Fali NEW
Aika W VocelkaBrazilAsiya Javayant QUALIFIED
Morrow K FlosiAustraliaOnyama Limba NEW
Mayumi J SergiJapanIoni Bowcher RENEWAL
Salvatore E PoquetteRussiaIvan Magalhaes UNQUALIFIED
Cody L FigeroaJapanIoni Bowcher PROPOSAL
Mayumi A DarakjyArgentinaXuxue Feng QUALIFIED
Emily O RulapaughSpainAsiya Javayant NEGOTIATION
Smith F DoeRussiaAsiya Javayant RENEWAL
Aditya V MaletGermanyElwin Sharvill PROPOSAL
Isabel S RulapaughSpainAmy Elsner UNQUALIFIED
Leon X PoquetteUnited KingdomOnyama Limba NEGOTIATION
Leja B WieserAustraliaXuxue Feng NEW
Leja O SlusarskiSpainOnyama Limba NEGOTIATION
Salvatore Y AlbaresFranceXuxue Feng QUALIFIED
Claire W RoysterUnited KingdomAsiya Javayant NEGOTIATION
Darci O CaldareraIndiaIoni Bowcher NEW
Costa G WieserArgentinaXuxue Feng NEW
Mayumi Z SchemmerSpainAsiya Javayant QUALIFIED
Silvio L VenereCanadaElwin Sharvill PROPOSAL
Jones A MaletItalyIoni Bowcher PROPOSAL
Arvin A NickaSpainAnna Fali RENEWAL
Aditya D BologniaAustraliaBernardo Dominic NEGOTIATION
Claire K FigeroaBrazilAnna Fali UNQUALIFIED
Salvatore J CaudyUnited KingdomStephen Shaw PROPOSAL
Julie T RutaFranceAmy Elsner NEW
Nicolas T OldroydSpainAsiya Javayant NEGOTIATION
Aika N SaylorsUnited KingdomAmy Elsner QUALIFIED
Ricardo C MaletAustraliaXuxue Feng QUALIFIED
Antonio Q KolmetzBrazilAsiya Javayant NEGOTIATION
Francesco D MorascaBrazilIvan Magalhaes NEW
Costa H StockhamCanadaBernardo Dominic RENEWAL
Chavez O AmigonUnited KingdomBernardo Dominic RENEWAL

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