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
James X BriddickRussiaAmy Elsner QUALIFIED
Chavez M PerinBrazilXuxue Feng NEGOTIATION
Faith B MarrierRussiaAsiya Javayant QUALIFIED
Leja O ButtAustraliaAmy Elsner RENEWAL
Ricardo X StensethBrazilOnyama Limba QUALIFIED
Clifford A FlosiCanadaStephen Shaw RENEWAL
Ashley M WaycottFranceStephen Shaw NEGOTIATION
Maisha H CampainCanadaElwin Sharvill PROPOSAL
Emily K FigeroaRussiaIvan Magalhaes PROPOSAL
Aruna J MaletFranceIvan Magalhaes QUALIFIED
Alejandro P SaylorsFranceXuxue Feng PROPOSAL
Arvin F RimSpainBernardo Dominic QUALIFIED
Ivar K GauchoGermanyStephen Shaw PROPOSAL
Tony Y SergiBrazilAsiya Javayant NEW
Johnson D GarufiFranceXuxue Feng RENEWAL
Aditya B ButtRussiaIoni Bowcher NEGOTIATION
Emily W WaycottItalyElwin Sharvill NEGOTIATION
Isabel A MacleadRussiaAnna Fali UNQUALIFIED
Rodrigues Q GillianFranceAmy Elsner PROPOSAL
Deepesh X ShinkoItalyXuxue Feng UNQUALIFIED
Aika K DilliardIndiaStephen Shaw NEW
Tony U SergiCanadaAsiya Javayant PROPOSAL
Adams L ChuiIndiaAsiya Javayant PROPOSAL
Claire H KolmetzRussiaAsiya Javayant PROPOSAL
Jeanfrancois J DoeJapanAmy Elsner NEW
Jones T FerenczAustraliaIvan Magalhaes NEW
Aika P SlusarskiFranceOnyama Limba QUALIFIED
Aika G MarrierSpainAnna Fali PROPOSAL
Kadeem H MarrierUnited KingdomElwin Sharvill NEGOTIATION
Costa E MacleadJapanAnna Fali QUALIFIED
Leon Z DarakjySpainXuxue Feng NEGOTIATION
Francesco S StensethIndiaStephen Shaw QUALIFIED
Tony X SchemmerUnited KingdomAnna Fali NEGOTIATION
Jones E WhobreyIndiaIoni Bowcher QUALIFIED
Kadeem M SergiAustraliaIoni Bowcher QUALIFIED
Kadeem Y AlbaresArgentinaOnyama Limba PROPOSAL
Alejandro O SlusarskiRussiaOnyama Limba RENEWAL
Mujtaba B SergiSpainIoni Bowcher NEW
Isabel O DarakjyItalyElwin Sharvill PROPOSAL
Juan G KolmetzJapanElwin Sharvill PROPOSAL
Munro V OstroskySpainAnna Fali UNQUALIFIED
Johnson R SlusarskiAustraliaStephen Shaw UNQUALIFIED
Maria S ShinkoGermanyBernardo Dominic UNQUALIFIED
Aika S CaudyUnited KingdomBernardo Dominic NEW
Salvatore O TollnerArgentinaStephen Shaw NEW
Nicolas B IturbideJapanAsiya Javayant PROPOSAL
Faith M PerinGermanyOnyama Limba QUALIFIED
Alejandro S AlbaresUnited KingdomAmy Elsner NEGOTIATION
Kaitlin Q VocelkaJapanAnna Fali QUALIFIED
Costa E MacleadItalyAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon D AmigonGermanyElwin Sharvill PROPOSAL
Munro P StockhamBrazilIvan Magalhaes NEW
Mujtaba R MarrierSpainAsiya Javayant NEW
Jennifer H NickaSpainOnyama Limba NEW
Misaki U MorascaItalyAnna Fali QUALIFIED
Greenwood O SchemmerSpainAmy Elsner NEW
Wickens K FollerUnited KingdomXuxue Feng RENEWAL
Costa Q CaldareraIndiaAnna Fali NEGOTIATION
Rodrigues B KolmetzItalyAsiya Javayant QUALIFIED
Costa N DoeIndiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem O DoeArgentina2026-08-07King, Christopher A Esq NEGOTIATION88Elwin Sharvill
1001David K OstroskyIndia2026-08-30Truhlar And Truhlar Attys QUALIFIED80Ioni Bowcher
1002Rodrigues Z NickaUnited Kingdom2026-08-03Commercial Press UNQUALIFIED12Onyama Limba
1003Octavia L DilliardItaly2026-08-02Truhlar And Truhlar Attys NEW25Stephen Shaw
1004Wickens E MarrierUnited Kingdom2026-08-19Chanay, Jeffrey A Esq UNQUALIFIED90Ivan Magalhaes
1005Morrow W CampainJapan2026-08-17Buckley Miller Wright RENEWAL89Anna Fali
1006Leja Y PerinItaly2026-08-01Chanay, Jeffrey A Esq RENEWAL13Onyama Limba
1007Aika G GillianCanada2026-08-14Truhlar And Truhlar Attys RENEWAL28Amy Elsner
1008Aruna K StockhamArgentina2026-08-25Benton, John B Jr UNQUALIFIED54Xuxue Feng
1009Kaitlin K BowleyBrazil2026-08-09Dorl, James J Esq PROPOSAL81Asiya Javayant
1010Cody U KuskoUnited Kingdom2026-08-17Benton, John B Jr QUALIFIED48Amy Elsner
1011Mujtaba O InouyeRussia2026-08-14Rangoni Of Florence NEGOTIATION15Ioni Bowcher
1012Claire O ChuiJapan2026-08-15Rousseaux, Michael Esq NEGOTIATION34Ivan Magalhaes
1013Maisha D VocelkaGermany2026-08-24Dorl, James J Esq NEW13Ivan Magalhaes
1014Mujtaba L GauchoRussia2026-08-07Chemel, James L Cpa NEW15Bernardo Dominic
1015Leja W BologniaAustralia2026-08-18King, Christopher A Esq PROPOSAL98Xuxue Feng
1016Isabel W KuskoFrance2026-08-14Printing Dimensions PROPOSAL52Amy Elsner
1017Rodrigues O StockhamRussia2026-08-24Printing Dimensions UNQUALIFIED46Ivan Magalhaes
1018Kadeem N BowleyGermany2026-08-23Morlong Associates PROPOSAL45Asiya Javayant
1019Ricardo L FollerItaly2026-08-15Printing Dimensions UNQUALIFIED54Asiya Javayant
1020Leon Y SaylorsUnited Kingdom2026-08-17Chapman, Ross E Esq RENEWAL96Asiya Javayant
1021Munro Q KolmetzUnited Kingdom2026-08-26Chemel, James L Cpa NEW75Anna Fali
1022David G BologniaFrance2026-08-15Dorl, James J Esq RENEWAL98Stephen Shaw
1023Mayumi X ShinkoCanada2026-08-05Feiner Bros QUALIFIED93Bernardo Dominic
1024Morrow P SergiItaly2026-08-06Chemel, James L Cpa NEW95Anna Fali
1025Morrow N NestleArgentina2026-08-26Chapman, Ross E Esq UNQUALIFIED63Anna Fali
1026Maisha F SaylorsArgentina2026-08-27Feltz Printing Service PROPOSAL59Onyama Limba
1027Kadeem J ChuiIndia2026-08-24Morlong Associates QUALIFIED81Bernardo Dominic
1028Rodrigues X GarufiBrazil2026-08-12Morlong Associates PROPOSAL51Elwin Sharvill
1029Deepesh Y StensethJapan2026-08-11King, Christopher A Esq RENEWAL63Ivan Magalhaes
1030Jones C PerinUnited Kingdom2026-08-16Rousseaux, Michael Esq NEW23Stephen Shaw
1031Stacey I BowleyFrance2026-08-08Dorl, James J Esq UNQUALIFIED64Amy Elsner
1032Francesco N WaycottIndia2026-08-02Chemel, James L Cpa PROPOSAL77Onyama Limba
1033Stacey P TollnerCanada2026-08-20Benton, John B Jr RENEWAL58Anna Fali
1034Morrow W FerenczIndia2026-08-04Commercial Press QUALIFIED61Asiya Javayant
1035Faith C PerinGermany2026-08-12Dorl, James J Esq RENEWAL60Stephen Shaw
1036Maria Q CaudyAustralia2026-08-21Feltz Printing Service QUALIFIED57Bernardo Dominic
1037Aruna P PoquetteSpain2026-08-22Chanay, Jeffrey A Esq RENEWAL55Anna Fali
1038Juan V BowleyArgentina2026-08-27Rousseaux, Michael Esq RENEWAL86Stephen Shaw
1039Ashley F FigeroaBrazil2026-08-26Chemel, James L Cpa PROPOSAL30Anna Fali
1040James F SergiFrance2026-08-08Chemel, James L Cpa RENEWAL8Xuxue Feng
1041Francesco P FigeroaGermany2026-08-05Feiner Bros QUALIFIED23Bernardo Dominic
1042Isabel H AlbaresUnited Kingdom2026-08-18King, Christopher A Esq UNQUALIFIED89Anna Fali
1043Kaitlin P MacleadArgentina2026-08-15Printing Dimensions QUALIFIED51Asiya Javayant
1044Julie O PoquetteItaly2026-08-07Benton, John B Jr UNQUALIFIED5Ivan Magalhaes
1045Ashley N MarrierUnited Kingdom2026-08-27Commercial Press PROPOSAL22Stephen Shaw
1046James N CaldareraBrazil2026-08-25King, Christopher A Esq NEGOTIATION96Xuxue Feng
1047Aditya P StockhamCanada2026-08-18King, Christopher A Esq QUALIFIED78Amy Elsner
1048Izzy C RimJapan2026-08-03Commercial Press QUALIFIED12Xuxue Feng
1049Antonio K SergiCanada2026-08-27King, Christopher A Esq NEGOTIATION89Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Morrow T AmigonJapanIoni Bowcher RENEWAL
Kadeem S TollnerRussiaStephen Shaw NEGOTIATION
Smith D TollnerArgentinaIvan Magalhaes QUALIFIED
Tony M RutaFranceXuxue Feng QUALIFIED
Maisha B FerenczAustraliaBernardo Dominic QUALIFIED
Tony F PoquetteFranceIoni Bowcher NEGOTIATION
Salvatore M FollerItalyStephen Shaw NEW
Ricardo P CaudyItalyAmy Elsner UNQUALIFIED
Chavez B WhobreyCanadaAmy Elsner UNQUALIFIED
Izzy P MorascaAustraliaAnna Fali RENEWAL
Leja W KolmetzJapanOnyama Limba NEW
Leon B OldroydItalyBernardo Dominic RENEWAL
Kaitlin M GillianJapanAmy Elsner NEW
Johnson Z AmigonArgentinaOnyama Limba RENEWAL
Juan K BologniaGermanyOnyama Limba RENEWAL
Antonio T NickaRussiaBernardo Dominic RENEWAL
Clifford P WieserUnited KingdomBernardo Dominic UNQUALIFIED
Adams Z BologniaGermanyAnna Fali UNQUALIFIED
Tony J BowleyItalyAnna Fali NEGOTIATION
Antonio O GauchoIndiaIvan Magalhaes UNQUALIFIED
Maisha I MacleadCanadaOnyama Limba PROPOSAL
Emily D VocelkaCanadaAmy Elsner NEGOTIATION
Jefferson C OldroydSpainIoni Bowcher NEGOTIATION
Deepesh H MaletAustraliaElwin Sharvill QUALIFIED
Claire C SchemmerItalyIoni Bowcher UNQUALIFIED
Aika G NestleJapanIoni Bowcher NEW
Morrow X IturbideAustraliaElwin Sharvill RENEWAL
Jones L DilliardArgentinaBernardo Dominic UNQUALIFIED
Kadeem Q SaylorsSpainAnna Fali PROPOSAL
Salvatore D VocelkaAustraliaAsiya Javayant RENEWAL
Murillo D WaycottSpainAsiya Javayant RENEWAL
Faith V RutaIndiaAnna Fali RENEWAL
Arvin P SlusarskiIndiaIoni Bowcher PROPOSAL
Jennifer S RulapaughUnited KingdomAnna Fali RENEWAL
Mujtaba U ChuiAustraliaXuxue Feng NEGOTIATION
Munro J VenereAustraliaXuxue Feng QUALIFIED
Kaitlin H GauchoFranceIvan Magalhaes UNQUALIFIED
Faith U ButtCanadaXuxue Feng QUALIFIED
Alejandro X AmigonIndiaBernardo Dominic RENEWAL
Nicolas I KolmetzArgentinaXuxue Feng NEW
Kadeem D CaudyFranceBernardo Dominic RENEWAL
Munro I CampainUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin P WaycottRussiaStephen Shaw QUALIFIED
Murillo Y VocelkaArgentinaAnna Fali NEW
Jefferson E BriddickRussiaOnyama Limba NEGOTIATION
Maisha W BologniaArgentinaIvan Magalhaes NEGOTIATION
Jones L NickaGermanyBernardo Dominic QUALIFIED
Kadeem D RulapaughCanadaElwin Sharvill QUALIFIED
Maria W BologniaBrazilAsiya Javayant RENEWAL
Clifford J WaycottRussiaAmy Elsner NEGOTIATION
Frozen Columns
Name
Chavez T Tollner
Alejandro H Nestle
Murillo G Ruta
Faith Q Slusarski
Nicolas D Caldarera
Johnson X Wieser
Aruna A Amigon
Morrow P Chui
Salvatore C Tollner
Johnson N Flosi
Tony K Oldroyd
Rodrigues I Bolognia
Deepesh V Rim
Arvin J Slusarski
Silvio K Darakjy
Silvio O Maclead
Munro P Royster
Clifford L Wieser
Salvatore F Marrier
Tony F Bowley
Deepesh V Gillian
Cody S Gillian
Chavez C Inouye
Alejandro Y Paprocki
Rodrigues Y Ferencz
Adams Q Bowley
Smith Z Inouye
Emily A Malet
Kadeem K Whobrey
Costa J Butt
Jeanfrancois P Amigon
Deepesh W Briddick
Ashley S Sergi
Stacey F Iturbide
Murillo Y Briddick
Ivar V Figeroa
Alejandro M Vocelka
Murillo E Caldarera
Greenwood X Ruta
Misaki S Foller
Greenwood I Whobrey
Ashley B Venere
Alejandro L Sergi
Jeanfrancois M Morasca
Sinclair S Caudy
Mayumi Y Slusarski
Izzy S Bolognia
Claire N Chui
Tony K Bowley
Jennifer Y Vocelka
IdCountryDate
1000Canada2026-08-26
1001Spain2026-08-22
1002India2026-08-20
1003Canada2026-08-02
1004Argentina2026-08-04
1005Australia2026-08-06
1006Argentina2026-08-08
1007Russia2026-08-02
1008Italy2026-08-05
1009Spain2026-08-05
1010Canada2026-08-09
1011Russia2026-08-19
1012Italy2026-08-29
1013France2026-08-27
1014Argentina2026-08-20
1015Spain2026-08-03
1016Italy2026-08-16
1017Spain2026-08-24
1018Brazil2026-08-30
1019Australia2026-08-15
1020Australia2026-08-20
1021India2026-08-27
1022Japan2026-08-30
1023Italy2026-08-24
1024Australia2026-08-30
1025Russia2026-08-30
1026Australia2026-08-17
1027Argentina2026-08-17
1028Germany2026-08-27
1029Russia2026-08-25
1030Spain2026-08-09
1031Canada2026-08-11
1032Spain2026-08-18
1033Argentina2026-08-11
1034Germany2026-08-26
1035Russia2026-08-04
1036Russia2026-08-08
1037Italy2026-08-29
1038Italy2026-08-23
1039Italy2026-08-25
1040Australia2026-08-28
1041Italy2026-08-15
1042United Kingdom2026-08-23
1043Italy2026-08-03
1044India2026-08-04
1045United Kingdom2026-08-17
1046Japan2026-08-29
1047Brazil2026-08-01
1048India2026-08-11
1049Japan2026-08-13

On-Demand Data

NameIdCountryDate
Arvin A Schemmer1000United Kingdom2026-08-20
Ricardo Y Rulapaugh1001Australia2026-08-12
Adams A Nestle1002United Kingdom2026-08-07
Emily I Ferencz1003Russia2026-08-27
Ricardo J Chui1004Spain2026-08-01
Jefferson Y Iturbide1005Russia2026-08-30
Nicolas X Waycott1006France2026-08-23
Costa J Stenseth1007Brazil2026-08-28
Chavez A Glick1008Russia2026-08-09
James S Sergi1009Brazil2026-08-29
Smith P Schemmer1010Japan2026-08-12
Alejandro Z Wieser1011Germany2026-08-19
Juan V Caldarera1012India2026-08-16
Rodrigues E Figeroa1013Spain2026-08-08
Octavia Y Schemmer1014Canada2026-08-07
Leon U Foller1015Russia2026-08-07
Morrow Q Nicka1016France2026-08-17
Francesco X Glick1017Argentina2026-08-07
Mayumi Z Briddick1018Japan2026-08-17
Clifford T Iturbide1019France2026-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair H FerenczGermanyOnyama Limba NEGOTIATION
Smith N FerenczCanadaAmy Elsner PROPOSAL
Ivar T KuskoJapanAmy Elsner QUALIFIED
Jefferson K BologniaSpainOnyama Limba RENEWAL
Costa W ButtSpainElwin Sharvill RENEWAL
Nicolas T ShinkoUnited KingdomAsiya Javayant QUALIFIED
Misaki P IturbideBrazilElwin Sharvill NEW
Aditya A TollnerItalyAmy Elsner NEGOTIATION
Misaki M PaprockiRussiaXuxue Feng RENEWAL
Darci F FollerGermanyIvan Magalhaes NEGOTIATION
Leja D WieserCanadaOnyama Limba NEGOTIATION
Jennifer V WhobreyFranceOnyama Limba RENEWAL
Cody A StensethSpainXuxue Feng NEGOTIATION
Chavez D DarakjyCanadaAsiya Javayant RENEWAL
Arvin M WhobreyItalyAmy Elsner NEGOTIATION
Faith K GillianArgentinaOnyama Limba PROPOSAL
Jeanfrancois G GlickBrazilAnna Fali QUALIFIED
Costa O KolmetzItalyStephen Shaw NEGOTIATION
Ashley M MorascaBrazilBernardo Dominic PROPOSAL
Smith Z FlosiSpainAmy Elsner NEGOTIATION
Maria W DoeItalyIoni Bowcher NEW
Jones P GillianJapanStephen Shaw QUALIFIED
Misaki J MaletFranceIoni Bowcher RENEWAL
Francesco E KolmetzRussiaBernardo Dominic NEW
Aditya U CaudyFranceBernardo Dominic NEW
Aditya E AlbaresItalyElwin Sharvill PROPOSAL
Faith C RutaBrazilOnyama Limba QUALIFIED
Jones D AlbaresItalyStephen Shaw PROPOSAL
Kadeem D BriddickIndiaAsiya Javayant RENEWAL
Emily M SlusarskiCanadaIoni Bowcher PROPOSAL
Misaki Z FigeroaJapanOnyama Limba QUALIFIED
Adams Q DarakjyRussiaIvan Magalhaes UNQUALIFIED
Antonio M ButtBrazilElwin Sharvill PROPOSAL
Aruna W FigeroaSpainXuxue Feng NEW
Aika P GauchoFranceIoni Bowcher PROPOSAL
Leon H DarakjyIndiaElwin Sharvill NEW
Salvatore C DilliardBrazilBernardo Dominic RENEWAL
Rodrigues J AlbaresGermanyOnyama Limba UNQUALIFIED
Jeanfrancois C CaudyJapanOnyama Limba UNQUALIFIED
Alejandro Y TollnerItalyStephen Shaw UNQUALIFIED

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