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
Jones C NickaAustraliaXuxue Feng UNQUALIFIED
Smith X AlbaresGermanyStephen Shaw NEW
Morrow Q NickaUnited KingdomXuxue Feng NEW
Alejandro J NickaRussiaAnna Fali RENEWAL
Nicolas B KuskoUnited KingdomIoni Bowcher PROPOSAL
Adams Z FlosiAustraliaElwin Sharvill NEW
Claire H DoeAustraliaXuxue Feng QUALIFIED
Morrow C FigeroaItalyAnna Fali RENEWAL
Aditya I GlickRussiaIoni Bowcher NEGOTIATION
James U SergiItalyBernardo Dominic QUALIFIED
Munro F OldroydCanadaAsiya Javayant NEW
Emily V PoquetteIndiaAnna Fali RENEWAL
Costa Y InouyeJapanStephen Shaw QUALIFIED
Mujtaba M IturbideFranceAmy Elsner UNQUALIFIED
Silvio L FigeroaRussiaOnyama Limba PROPOSAL
Francesco B StensethIndiaElwin Sharvill PROPOSAL
Mayumi M GarufiAustraliaStephen Shaw UNQUALIFIED
Wickens O MaletBrazilBernardo Dominic UNQUALIFIED
Cody W InouyeFranceAnna Fali QUALIFIED
Morrow P NickaJapanElwin Sharvill PROPOSAL
Adams W MarrierUnited KingdomElwin Sharvill RENEWAL
Maisha M SaylorsFranceXuxue Feng PROPOSAL
Ashley V AmigonRussiaAmy Elsner QUALIFIED
Faith G KolmetzArgentinaXuxue Feng QUALIFIED
Aika E CaldareraJapanBernardo Dominic NEGOTIATION
Ricardo S OstroskyUnited KingdomStephen Shaw PROPOSAL
Greenwood F ChuiArgentinaBernardo Dominic NEGOTIATION
Claire G KolmetzCanadaAnna Fali PROPOSAL
Isabel M BowleyIndiaElwin Sharvill QUALIFIED
Munro F NickaJapanAsiya Javayant PROPOSAL
Sinclair J WhobreyCanadaBernardo Dominic NEW
Chavez T OstroskyRussiaXuxue Feng RENEWAL
Aditya C SergiGermanyAsiya Javayant RENEWAL
Morrow H FlosiCanadaAsiya Javayant QUALIFIED
Silvio N RulapaughBrazilElwin Sharvill RENEWAL
Tony C AmigonItalyAsiya Javayant UNQUALIFIED
Ashley L DarakjyArgentinaAsiya Javayant QUALIFIED
Leon J GarufiJapanStephen Shaw QUALIFIED
Misaki C MacleadGermanyAsiya Javayant RENEWAL
Johnson Z StockhamAustraliaIoni Bowcher UNQUALIFIED
Kadeem V WhobreyItalyAsiya Javayant PROPOSAL
Maisha P FlosiUnited KingdomStephen Shaw QUALIFIED
Wickens N ChuiRussiaIoni Bowcher NEW
Misaki K FlosiUnited KingdomIvan Magalhaes QUALIFIED
Jefferson L TollnerBrazilOnyama Limba NEGOTIATION
Darci A SlusarskiArgentinaAnna Fali UNQUALIFIED
Kadeem Z CampainAustraliaBernardo Dominic PROPOSAL
Darci L BowleyRussiaIoni Bowcher PROPOSAL
Maria U StensethGermanyStephen Shaw NEW
Maria C InouyeGermanyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Emily C OldroydJapanXuxue Feng NEW
Francesco W FlosiJapanOnyama Limba UNQUALIFIED
Murillo Z OldroydFranceOnyama Limba UNQUALIFIED
Ashley H CaudyItalyElwin Sharvill RENEWAL
Juan M GillianAustraliaXuxue Feng UNQUALIFIED
Chavez O CaudyGermanyAsiya Javayant NEW
Isabel Z OstroskyRussiaBernardo Dominic UNQUALIFIED
Silvio P FollerAustraliaElwin Sharvill NEGOTIATION
Johnson S CaldareraCanadaIvan Magalhaes NEW
Aruna S CaldareraBrazilBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James O PaprockiBrazil2026-07-31Feiner Bros PROPOSAL24Amy Elsner
1001Adams P TollnerGermany2026-08-13King, Christopher A Esq UNQUALIFIED46Ivan Magalhaes
1002Kaitlin Z FollerIndia2026-08-04Rangoni Of Florence NEW48Anna Fali
1003Deepesh S SchemmerUnited Kingdom2026-07-28Commercial Press PROPOSAL26Onyama Limba
1004Leon P DoeSpain2026-07-25Chanay, Jeffrey A Esq QUALIFIED77Stephen Shaw
1005Nicolas K VocelkaBrazil2026-08-04Rousseaux, Michael Esq NEGOTIATION7Anna Fali
1006David S BologniaJapan2026-07-28Rangoni Of Florence RENEWAL42Ioni Bowcher
1007Aika Y SlusarskiBrazil2026-08-02Buckley Miller Wright NEW19Ivan Magalhaes
1008Costa F NestleBrazil2026-07-23Feiner Bros NEW87Onyama Limba
1009Mayumi I SchemmerRussia2026-07-28Chanay, Jeffrey A Esq NEGOTIATION75Stephen Shaw
1010Emily M RulapaughFrance2026-08-01Feiner Bros PROPOSAL29Anna Fali
1011Murillo W SaylorsFrance2026-07-28King, Christopher A Esq NEGOTIATION93Ivan Magalhaes
1012Mayumi V WhobreyRussia2026-07-30Chanay, Jeffrey A Esq NEGOTIATION37Elwin Sharvill
1013Jeanfrancois D WhobreyRussia2026-07-16Chanay, Jeffrey A Esq QUALIFIED41Xuxue Feng
1014Maisha M RulapaughBrazil2026-07-29Morlong Associates NEGOTIATION37Stephen Shaw
1015Maria V KuskoGermany2026-07-21Buckley Miller Wright QUALIFIED31Bernardo Dominic
1016Nicolas Y DilliardUnited Kingdom2026-07-28Rangoni Of Florence UNQUALIFIED40Xuxue Feng
1017Murillo F MacleadRussia2026-07-24Printing Dimensions NEW29Ivan Magalhaes
1018Smith O WieserAustralia2026-07-24Dorl, James J Esq NEW3Amy Elsner
1019Mayumi F RutaSpain2026-08-08Chanay, Jeffrey A Esq NEGOTIATION14Ioni Bowcher
1020Kadeem F TollnerSpain2026-08-12Feltz Printing Service NEGOTIATION18Ivan Magalhaes
1021Alejandro M ChuiRussia2026-08-01Buckley Miller Wright NEGOTIATION72Xuxue Feng
1022Morrow F CaldareraJapan2026-07-15Chapman, Ross E Esq RENEWAL46Ioni Bowcher
1023Aruna P WaycottGermany2026-07-19Printing Dimensions UNQUALIFIED70Ivan Magalhaes
1024Aruna A RulapaughItaly2026-07-25Morlong Associates QUALIFIED64Amy Elsner
1025Clifford C FigeroaAustralia2026-07-18Commercial Press NEGOTIATION69Stephen Shaw
1026Aika K SaylorsAustralia2026-08-03Commercial Press NEW48Ioni Bowcher
1027Jeanfrancois W NickaAustralia2026-07-24King, Christopher A Esq RENEWAL71Bernardo Dominic
1028Cody B AmigonUnited Kingdom2026-07-15Rangoni Of Florence NEW87Elwin Sharvill
1029Izzy C DilliardRussia2026-07-21Morlong Associates UNQUALIFIED70Onyama Limba
1030Costa Y PoquetteItaly2026-08-13Chemel, James L Cpa NEW90Asiya Javayant
1031Leon E CampainGermany2026-07-28Buckley Miller Wright RENEWAL90Xuxue Feng
1032Ivar X PerinFrance2026-08-06Feltz Printing Service UNQUALIFIED7Elwin Sharvill
1033Antonio H WhobreyBrazil2026-07-17Truhlar And Truhlar Attys PROPOSAL84Bernardo Dominic
1034David C IturbideFrance2026-07-28Rangoni Of Florence NEW3Ioni Bowcher
1035Antonio K RoysterArgentina2026-07-30Benton, John B Jr RENEWAL83Elwin Sharvill
1036Murillo P BowleyIndia2026-07-24Feltz Printing Service NEGOTIATION54Stephen Shaw
1037Kadeem W RutaFrance2026-07-28Chemel, James L Cpa UNQUALIFIED48Elwin Sharvill
1038Izzy C MacleadIndia2026-08-07Chanay, Jeffrey A Esq QUALIFIED40Onyama Limba
1039Johnson U WieserGermany2026-07-26Feltz Printing Service NEGOTIATION9Ivan Magalhaes
1040Maisha U OstroskyGermany2026-08-01Printing Dimensions UNQUALIFIED75Amy Elsner
1041Mujtaba Z VenereGermany2026-07-26Printing Dimensions QUALIFIED83Ivan Magalhaes
1042Ashley P WieserIndia2026-07-16Printing Dimensions UNQUALIFIED65Bernardo Dominic
1043Leon T SchemmerCanada2026-07-18Feltz Printing Service PROPOSAL46Elwin Sharvill
1044Sinclair D GarufiIndia2026-08-11Rangoni Of Florence NEW39Amy Elsner
1045Aditya E FerenczArgentina2026-07-30Truhlar And Truhlar Attys PROPOSAL64Xuxue Feng
1046Leja R DoeArgentina2026-08-12Chemel, James L Cpa NEGOTIATION41Ioni Bowcher
1047Murillo U CaldareraGermany2026-07-21Feiner Bros QUALIFIED55Asiya Javayant
1048Ricardo D BriddickRussia2026-08-01Commercial Press UNQUALIFIED1Elwin Sharvill
1049Misaki W FollerCanada2026-07-26Dorl, James J Esq NEW24Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey D RutaBrazilStephen Shaw NEGOTIATION
Misaki V FigeroaArgentinaAmy Elsner UNQUALIFIED
Mujtaba V RutaArgentinaXuxue Feng PROPOSAL
Kadeem H WhobreyUnited KingdomAsiya Javayant PROPOSAL
Leon R GlickAustraliaIoni Bowcher QUALIFIED
Darci F GauchoArgentinaIoni Bowcher NEGOTIATION
Ivar C SchemmerArgentinaIvan Magalhaes PROPOSAL
Jones N MaletArgentinaAsiya Javayant QUALIFIED
Silvio F AlbaresUnited KingdomStephen Shaw NEW
Francesco Q AlbaresSpainAsiya Javayant PROPOSAL
Claire S PaprockiIndiaAnna Fali UNQUALIFIED
Jennifer U WieserFranceBernardo Dominic NEW
Alejandro Y MacleadArgentinaAsiya Javayant PROPOSAL
Nicolas O BologniaJapanStephen Shaw RENEWAL
Kaitlin L PerinJapanXuxue Feng QUALIFIED
Maria D GarufiIndiaStephen Shaw QUALIFIED
Greenwood W ButtRussiaAnna Fali UNQUALIFIED
Claire I DarakjyRussiaBernardo Dominic NEW
James L NestleIndiaAsiya Javayant NEGOTIATION
Arvin Z ShinkoJapanOnyama Limba NEW
Mayumi Y FerenczFranceAnna Fali PROPOSAL
Costa R GarufiIndiaOnyama Limba QUALIFIED
Alejandro H SaylorsCanadaStephen Shaw QUALIFIED
Ashley J BriddickItalyOnyama Limba PROPOSAL
Sinclair J AmigonSpainBernardo Dominic NEGOTIATION
Aika S MacleadJapanIoni Bowcher NEW
Misaki O RoysterUnited KingdomXuxue Feng NEGOTIATION
Cody E SlusarskiBrazilIoni Bowcher QUALIFIED
Leja W TollnerRussiaBernardo Dominic QUALIFIED
Leon J KuskoFranceAsiya Javayant QUALIFIED
Antonio M DilliardBrazilStephen Shaw NEGOTIATION
Aika H PerinBrazilOnyama Limba NEGOTIATION
Tony A WieserUnited KingdomAnna Fali NEGOTIATION
Costa N VenereUnited KingdomXuxue Feng RENEWAL
Stacey L OldroydFranceIoni Bowcher NEW
Darci N OldroydIndiaIvan Magalhaes PROPOSAL
Aika R AlbaresSpainStephen Shaw NEGOTIATION
Nicolas F MarrierRussiaStephen Shaw RENEWAL
Chavez G WaycottJapanAsiya Javayant NEGOTIATION
Stacey C OldroydGermanyBernardo Dominic PROPOSAL
Jones R GlickItalyIoni Bowcher NEW
Greenwood X RimAustraliaIoni Bowcher NEW
Octavia R MorascaJapanAnna Fali RENEWAL
Tony M VenereBrazilIoni Bowcher PROPOSAL
Greenwood L BologniaIndiaIvan Magalhaes NEW
Jeanfrancois L ChuiRussiaAnna Fali PROPOSAL
Kadeem V RulapaughIndiaIoni Bowcher NEGOTIATION
Aruna O KuskoIndiaBernardo Dominic QUALIFIED
Rodrigues X AmigonRussiaIoni Bowcher RENEWAL
Alejandro Z NestleJapanBernardo Dominic NEGOTIATION
Frozen Columns
Name
Jeanfrancois Z Foller
Aruna R Schemmer
Sinclair K Gaucho
Kaitlin X Waycott
Adams F Albares
Emily R Ruta
Munro D Vocelka
Kadeem P Kolmetz
Murillo X Caudy
Mayumi G Royster
Greenwood C Rim
Jennifer G Caudy
Silvio X Waycott
Ricardo X Iturbide
Murillo N Butt
Kadeem X Whobrey
Darci K Briddick
Isabel K Kusko
Stacey W Whobrey
Misaki S Whobrey
Mayumi L Tollner
Aditya I Venere
Ashley J Garufi
Murillo D Vocelka
Mayumi U Foller
Octavia E Sergi
David S Caudy
Claire W Kusko
Wickens E Rim
Maisha C Perin
Greenwood I Garufi
Aruna R Caldarera
Silvio L Amigon
Morrow I Gaucho
Kadeem J Figeroa
Jennifer O Iturbide
Jefferson F Gillian
Aruna E Saylors
Leon G Shinko
Aditya K Rulapaugh
Arvin Y Caudy
Chavez Z Nestle
Aditya T Briddick
Leja C Wieser
Kadeem X Caudy
David E Garufi
Jeanfrancois Q Tollner
Leon H Schemmer
Murillo F Inouye
Munro S Dilliard
IdCountryDate
1000India2026-07-19
1001Russia2026-08-09
1002India2026-08-10
1003Germany2026-08-09
1004Germany2026-07-26
1005France2026-08-09
1006Brazil2026-08-12
1007Argentina2026-08-05
1008France2026-07-22
1009Italy2026-07-30
1010Canada2026-07-26
1011Italy2026-07-19
1012Spain2026-07-22
1013Australia2026-08-01
1014Canada2026-07-19
1015Russia2026-08-12
1016Canada2026-07-23
1017Canada2026-08-06
1018Russia2026-07-20
1019Germany2026-07-29
1020Canada2026-07-16
1021Argentina2026-07-27
1022France2026-07-31
1023Italy2026-07-15
1024Spain2026-08-11
1025Japan2026-07-31
1026Argentina2026-07-27
1027Germany2026-08-10
1028United Kingdom2026-08-05
1029Australia2026-07-31
1030Canada2026-07-28
1031United Kingdom2026-07-20
1032Canada2026-08-08
1033Japan2026-07-30
1034Japan2026-08-02
1035Australia2026-08-07
1036Japan2026-08-07
1037France2026-07-27
1038India2026-07-19
1039Argentina2026-08-01
1040Germany2026-07-21
1041Canada2026-08-10
1042Argentina2026-08-01
1043Italy2026-08-02
1044Brazil2026-07-17
1045United Kingdom2026-07-25
1046Brazil2026-08-05
1047Canada2026-08-03
1048Germany2026-07-23
1049Germany2026-07-30

On-Demand Data

NameIdCountryDate
Octavia O Nestle1000Argentina2026-07-30
Antonio S Perin1001Australia2026-07-28
Jefferson X Malet1002Canada2026-08-07
Leon C Schemmer1003India2026-08-07
James X Schemmer1004United Kingdom2026-08-09
Faith B Caudy1005India2026-07-30
Munro E Iturbide1006Russia2026-08-04
Stacey X Briddick1007United Kingdom2026-07-16
Leon L Dilliard1008Italy2026-08-06
Ashley L Wieser1009Germany2026-07-25
Tony C Venere1010India2026-08-07
Jones H Malet1011Germany2026-08-12
Adams W Stenseth1012France2026-07-30
Isabel V Caudy1013Canada2026-07-27
Adams L Maclead1014Brazil2026-08-04
Ivar A Malet1015Argentina2026-07-19
Emily Y Ferencz1016Japan2026-07-18
Mujtaba F Doe1017Russia2026-07-17
Darci T Ferencz1018France2026-07-28
Aditya J Nestle1019France2026-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria B StensethCanadaOnyama Limba NEGOTIATION
Greenwood Z SaylorsBrazilBernardo Dominic UNQUALIFIED
Adams U VocelkaCanadaIvan Magalhaes RENEWAL
David I GauchoCanadaAsiya Javayant QUALIFIED
Jefferson S BowleyGermanyElwin Sharvill PROPOSAL
Clifford W IturbideAustraliaStephen Shaw NEW
Cody R StockhamBrazilOnyama Limba RENEWAL
Maria F DarakjyUnited KingdomStephen Shaw PROPOSAL
Deepesh M VenereAustraliaStephen Shaw PROPOSAL
Jefferson O MorascaUnited KingdomAnna Fali NEW
Tony I PerinUnited KingdomAmy Elsner RENEWAL
Morrow L PerinIndiaAsiya Javayant PROPOSAL
Chavez P KuskoSpainIvan Magalhaes RENEWAL
Murillo B IturbideIndiaIoni Bowcher UNQUALIFIED
Isabel S SaylorsCanadaAmy Elsner QUALIFIED
Izzy Q RoysterArgentinaAmy Elsner RENEWAL
Francesco K ChuiCanadaAnna Fali PROPOSAL
Smith S CaudyJapanAmy Elsner QUALIFIED
David U KuskoJapanStephen Shaw UNQUALIFIED
Salvatore W GillianCanadaOnyama Limba QUALIFIED
Tony X MacleadAustraliaAnna Fali PROPOSAL
Ivar Y DarakjyIndiaAnna Fali NEGOTIATION
Jefferson U RutaFranceXuxue Feng QUALIFIED
Aika C StensethGermanyXuxue Feng UNQUALIFIED
Sinclair O OldroydArgentinaElwin Sharvill RENEWAL
Chavez G AmigonRussiaBernardo Dominic NEGOTIATION
Jeanfrancois N PaprockiCanadaOnyama Limba UNQUALIFIED
Chavez A FigeroaAustraliaAnna Fali NEGOTIATION
Izzy C VocelkaIndiaBernardo Dominic PROPOSAL
Claire Z NestleFranceAsiya Javayant RENEWAL
Julie R StensethRussiaAsiya Javayant QUALIFIED
James M KuskoRussiaStephen Shaw RENEWAL
Leja N CaudyItalyXuxue Feng PROPOSAL
Greenwood E KolmetzSpainXuxue Feng NEW
Mujtaba A GarufiFranceIoni Bowcher RENEWAL
Ivar A KuskoCanadaIoni Bowcher UNQUALIFIED
Claire C PoquetteUnited KingdomBernardo Dominic NEW
Juan A FigeroaArgentinaBernardo Dominic NEW
Ivar X StockhamJapanStephen Shaw PROPOSAL
Maria N RoysterGermanyBernardo Dominic NEW

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