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
Misaki V NickaJapanXuxue Feng RENEWAL
Faith Z WieserSpainAmy Elsner UNQUALIFIED
Silvio B AmigonUnited KingdomBernardo Dominic NEW
Ashley A NestleGermanyIoni Bowcher UNQUALIFIED
Ivar O WieserCanadaOnyama Limba NEGOTIATION
Mayumi E MorascaCanadaXuxue Feng UNQUALIFIED
Murillo Q MorascaItalyAmy Elsner PROPOSAL
Misaki Z KuskoItalyStephen Shaw PROPOSAL
Jennifer Q OstroskyAustraliaBernardo Dominic UNQUALIFIED
Darci U IturbideBrazilStephen Shaw PROPOSAL
Mayumi E IturbideGermanyIoni Bowcher NEW
Leja N AlbaresCanadaXuxue Feng QUALIFIED
Arvin V WieserFranceIoni Bowcher QUALIFIED
Maria P ShinkoCanadaOnyama Limba NEGOTIATION
Juan X SaylorsAustraliaAnna Fali PROPOSAL
Nicolas E PerinSpainAmy Elsner RENEWAL
Ivar J FigeroaCanadaIvan Magalhaes PROPOSAL
Leon H RimFranceBernardo Dominic RENEWAL
Izzy I SaylorsItalyBernardo Dominic PROPOSAL
Jefferson W TollnerFranceAmy Elsner QUALIFIED
Darci U OstroskyIndiaIvan Magalhaes PROPOSAL
Isabel E MaletBrazilAnna Fali NEW
Jennifer T BriddickArgentinaIvan Magalhaes NEW
Maisha Y MaletCanadaElwin Sharvill NEGOTIATION
Antonio E RutaAustraliaStephen Shaw NEW
James U StockhamJapanElwin Sharvill PROPOSAL
Kadeem G VenereSpainAsiya Javayant UNQUALIFIED
Ricardo C NestleCanadaOnyama Limba UNQUALIFIED
Claire S TollnerUnited KingdomAnna Fali UNQUALIFIED
Salvatore E VocelkaSpainAnna Fali RENEWAL
Kadeem V OldroydBrazilXuxue Feng RENEWAL
Clifford E SaylorsBrazilBernardo Dominic NEW
Aditya J RimIndiaOnyama Limba NEW
Munro Y MorascaGermanyBernardo Dominic RENEWAL
Juan W FollerJapanOnyama Limba NEW
Emily K GarufiBrazilIvan Magalhaes QUALIFIED
Claire C NickaRussiaIoni Bowcher NEGOTIATION
Chavez T ShinkoSpainXuxue Feng PROPOSAL
Faith P KolmetzRussiaAsiya Javayant QUALIFIED
Aditya G RulapaughBrazilAmy Elsner RENEWAL
Emily X VenereUnited KingdomBernardo Dominic NEW
Greenwood W SlusarskiAustraliaStephen Shaw NEW
Nicolas B PerinAustraliaIoni Bowcher NEGOTIATION
Deepesh J GillianSpainAsiya Javayant QUALIFIED
Cody M TollnerGermanyAnna Fali NEW
Juan R DarakjyArgentinaAmy Elsner NEGOTIATION
Johnson D GillianGermanyStephen Shaw RENEWAL
Greenwood R IturbideSpainAmy Elsner NEGOTIATION
Cody C MaletArgentinaOnyama Limba NEW
Aditya T FlosiIndiaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa S NestleJapanBernardo Dominic NEW
Jefferson Q KuskoBrazilXuxue Feng RENEWAL
Rodrigues C StockhamItalyIoni Bowcher NEGOTIATION
Faith T IturbideAustraliaXuxue Feng UNQUALIFIED
Izzy C BologniaItalyIvan Magalhaes NEGOTIATION
Kaitlin O DarakjySpainOnyama Limba RENEWAL
Chavez T OstroskyItalyAnna Fali UNQUALIFIED
Izzy U FigeroaRussiaXuxue Feng PROPOSAL
Jeanfrancois K CampainRussiaIvan Magalhaes NEW
Leon D ShinkoBrazilAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood S AmigonFrance2024-05-15Chanay, Jeffrey A Esq RENEWAL49Bernardo Dominic
1001Ricardo G IturbideIndia2024-04-27Feltz Printing Service NEGOTIATION12Bernardo Dominic
1002James G GarufiFrance2024-05-10Morlong Associates UNQUALIFIED92Anna Fali
1003Aika J ChuiUnited Kingdom2024-04-27Chanay, Jeffrey A Esq NEW99Anna Fali
1004Izzy V MorascaArgentina2024-05-10Commercial Press PROPOSAL97Elwin Sharvill
1005Greenwood Z DoeUnited Kingdom2024-05-21Rousseaux, Michael Esq NEW75Anna Fali
1006Silvio D NestleGermany2024-05-24Commercial Press UNQUALIFIED10Ioni Bowcher
1007Nicolas C ChuiSpain2024-05-05Rangoni Of Florence RENEWAL49Bernardo Dominic
1008Leja S MacleadUnited Kingdom2024-05-19Rousseaux, Michael Esq NEGOTIATION58Elwin Sharvill
1009Jennifer T AlbaresFrance2024-05-19Chemel, James L Cpa NEGOTIATION33Asiya Javayant
1010Stacey P VenereUnited Kingdom2024-05-02Buckley Miller Wright UNQUALIFIED29Ivan Magalhaes
1011Faith Y StockhamUnited Kingdom2024-05-20Printing Dimensions UNQUALIFIED26Ioni Bowcher
1012Octavia F WieserAustralia2024-05-16Chemel, James L Cpa NEW63Elwin Sharvill
1013Jones A AlbaresBrazil2024-05-24Chapman, Ross E Esq RENEWAL52Stephen Shaw
1014Francesco K DoeFrance2024-05-14Chanay, Jeffrey A Esq QUALIFIED20Anna Fali
1015Ivar H BriddickUnited Kingdom2024-05-08Truhlar And Truhlar Attys QUALIFIED96Xuxue Feng
1016David Y FerenczCanada2024-05-20King, Christopher A Esq NEW47Ivan Magalhaes
1017Ashley F ChuiCanada2024-05-16Buckley Miller Wright UNQUALIFIED59Anna Fali
1018Isabel Q OstroskyAustralia2024-05-09Truhlar And Truhlar Attys UNQUALIFIED39Anna Fali
1019Silvio L MaletItaly2024-05-18Buckley Miller Wright RENEWAL94Onyama Limba
1020Clifford K WhobreyFrance2024-04-30Rousseaux, Michael Esq NEW47Elwin Sharvill
1021Alejandro O StockhamArgentina2024-05-06Chanay, Jeffrey A Esq PROPOSAL28Amy Elsner
1022Costa I MarrierArgentina2024-05-26Rangoni Of Florence QUALIFIED98Stephen Shaw
1023Jennifer S FollerBrazil2024-05-18Rangoni Of Florence QUALIFIED49Onyama Limba
1024David I PaprockiAustralia2024-05-14Chapman, Ross E Esq PROPOSAL55Asiya Javayant
1025Alejandro L SlusarskiArgentina2024-05-02Chemel, James L Cpa PROPOSAL60Asiya Javayant
1026Emily E WieserAustralia2024-04-28Truhlar And Truhlar Attys UNQUALIFIED50Elwin Sharvill
1027Stacey O SaylorsRussia2024-04-30Buckley Miller Wright NEW72Xuxue Feng
1028Darci D MorascaItaly2024-05-23Printing Dimensions NEW85Bernardo Dominic
1029Clifford U DilliardJapan2024-05-20Printing Dimensions QUALIFIED51Bernardo Dominic
1030Nicolas Y RoysterSpain2024-05-09Printing Dimensions NEW22Ivan Magalhaes
1031Ashley N FigeroaArgentina2024-05-12Chapman, Ross E Esq PROPOSAL34Xuxue Feng
1032Maisha B CaldareraJapan2024-05-03Truhlar And Truhlar Attys NEW65Amy Elsner
1033Julie B MaletItaly2024-05-17Dorl, James J Esq QUALIFIED77Stephen Shaw
1034Adams D OstroskyFrance2024-05-22Feltz Printing Service QUALIFIED38Stephen Shaw
1035Darci I StensethJapan2024-05-11Morlong Associates PROPOSAL21Elwin Sharvill
1036Mujtaba E MaletGermany2024-05-09Dorl, James J Esq NEGOTIATION61Ioni Bowcher
1037Morrow Q NickaIndia2024-05-13Chanay, Jeffrey A Esq NEW37Onyama Limba
1038Darci L BologniaItaly2024-05-08Dorl, James J Esq PROPOSAL43Xuxue Feng
1039Clifford V DarakjySpain2024-05-04Truhlar And Truhlar Attys NEGOTIATION74Amy Elsner
1040Deepesh D BowleySpain2024-05-20Feiner Bros PROPOSAL51Xuxue Feng
1041Morrow L SergiGermany2024-05-14Printing Dimensions RENEWAL14Elwin Sharvill
1042Isabel J DarakjySpain2024-05-12Truhlar And Truhlar Attys NEW39Ivan Magalhaes
1043Leja C RoysterRussia2024-05-20Truhlar And Truhlar Attys QUALIFIED22Asiya Javayant
1044Murillo J CaudyItaly2024-04-29Buckley Miller Wright NEW99Ioni Bowcher
1045Julie B OldroydCanada2024-05-16Truhlar And Truhlar Attys UNQUALIFIED81Xuxue Feng
1046Arvin F TollnerAustralia2024-05-18King, Christopher A Esq UNQUALIFIED57Ioni Bowcher
1047Leja D WaycottJapan2024-05-25Commercial Press UNQUALIFIED98Elwin Sharvill
1048Octavia I StensethItaly2024-05-26Benton, John B Jr QUALIFIED28Anna Fali
1049Julie V AlbaresJapan2024-05-01Feiner Bros NEW48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya V PerinArgentinaAnna Fali QUALIFIED
Costa C RutaItalyStephen Shaw NEW
Aditya V KuskoArgentinaStephen Shaw NEGOTIATION
Claire Z WieserUnited KingdomIvan Magalhaes NEW
Adams T KuskoRussiaAmy Elsner UNQUALIFIED
David B NestleGermanyAsiya Javayant NEGOTIATION
Clifford R VenereAustraliaIoni Bowcher QUALIFIED
Munro Y CaudyFranceAsiya Javayant UNQUALIFIED
Claire E CampainCanadaAsiya Javayant UNQUALIFIED
Claire B GlickUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba C DarakjyFranceStephen Shaw RENEWAL
David I OstroskyAustraliaStephen Shaw UNQUALIFIED
Jones B GauchoGermanyBernardo Dominic QUALIFIED
Smith K ChuiSpainIvan Magalhaes PROPOSAL
Tony W GarufiItalyBernardo Dominic QUALIFIED
Aika X BologniaJapanBernardo Dominic PROPOSAL
Aditya I MaletGermanyStephen Shaw UNQUALIFIED
Salvatore Y KuskoJapanOnyama Limba UNQUALIFIED
Aditya A BowleyBrazilAsiya Javayant NEGOTIATION
Deepesh I FollerAustraliaStephen Shaw UNQUALIFIED
Faith H IturbideIndiaIoni Bowcher UNQUALIFIED
Johnson S NestleFranceIoni Bowcher NEW
Leja R PerinSpainIvan Magalhaes PROPOSAL
Isabel B RulapaughIndiaAmy Elsner RENEWAL
Izzy R GlickArgentinaIvan Magalhaes UNQUALIFIED
Silvio E VenereJapanIoni Bowcher NEGOTIATION
James Y GauchoGermanyAsiya Javayant RENEWAL
Antonio S KuskoRussiaStephen Shaw NEGOTIATION
Octavia T BowleyJapanElwin Sharvill UNQUALIFIED
Isabel R FerenczBrazilBernardo Dominic PROPOSAL
Costa P RutaUnited KingdomAmy Elsner PROPOSAL
Leja O VenereItalyIvan Magalhaes RENEWAL
David N MaletJapanXuxue Feng QUALIFIED
Misaki J GarufiAustraliaElwin Sharvill QUALIFIED
Costa U PoquetteItalyElwin Sharvill RENEWAL
Jefferson H FollerCanadaXuxue Feng NEGOTIATION
Octavia X AlbaresFranceAnna Fali QUALIFIED
Ricardo D PerinItalyIvan Magalhaes NEW
James Z BologniaItalyAsiya Javayant UNQUALIFIED
Julie F KuskoIndiaAmy Elsner QUALIFIED
Leja S SaylorsItalyIoni Bowcher RENEWAL
Izzy K SergiItalyXuxue Feng NEGOTIATION
Aditya X BowleyRussiaXuxue Feng NEGOTIATION
Clifford P RimItalyStephen Shaw PROPOSAL
Leon H FlosiCanadaAnna Fali RENEWAL
Munro K FigeroaGermanyStephen Shaw QUALIFIED
Arvin F StensethAustraliaAnna Fali NEGOTIATION
Mayumi B SergiAustraliaElwin Sharvill NEW
Izzy A MacleadUnited KingdomIoni Bowcher QUALIFIED
Murillo U OldroydUnited KingdomXuxue Feng RENEWAL
Frozen Columns
Name
Francesco Q Butt
Mujtaba I Chui
Ivar H Dilliard
Antonio G Rulapaugh
Clifford G Kolmetz
Faith G Kusko
Alejandro G Tollner
Kaitlin T Nestle
Kadeem Q Iturbide
Jones B Vocelka
Sinclair X Nicka
Antonio G Darakjy
Maria J Morasca
Nicolas F Kusko
Emily F Caldarera
Jefferson Y Shinko
Rodrigues L Maclead
Misaki R Malet
Leja C Caudy
Maria S Ferencz
Nicolas K Campain
Ashley B Waycott
Octavia V Iturbide
Aruna Y Shinko
Francesco H Slusarski
Leon A Ruta
Mujtaba U Poquette
Faith B Poquette
Chavez G Malet
Darci L Malet
Leja Y Butt
Cody O Royster
Greenwood N Kusko
Chavez B Iturbide
Aditya Q Oldroyd
Ivar O Venere
Murillo O Slusarski
Nicolas M Marrier
Kadeem R Ostrosky
Sinclair U Royster
Darci Z Chui
James X Venere
Leja F Sergi
Tony B Caldarera
Nicolas V Malet
Antonio R Sergi
Cody D Perin
Ricardo N Butt
Cody S Saylors
Nicolas K Darakjy
IdCountryDate
1000Australia2024-04-28
1001Australia2024-05-14
1002Argentina2024-05-05
1003France2024-05-26
1004Argentina2024-05-07
1005France2024-05-21
1006Spain2024-05-15
1007India2024-05-26
1008Australia2024-04-29
1009Canada2024-05-16
1010France2024-05-24
1011Spain2024-05-21
1012United Kingdom2024-05-10
1013India2024-05-13
1014Italy2024-05-03
1015Brazil2024-05-10
1016Japan2024-05-12
1017Argentina2024-05-26
1018Italy2024-05-26
1019Germany2024-05-08
1020Canada2024-04-30
1021India2024-05-02
1022France2024-04-29
1023Italy2024-05-19
1024Japan2024-04-29
1025France2024-05-24
1026Brazil2024-05-26
1027Japan2024-05-11
1028United Kingdom2024-05-11
1029United Kingdom2024-05-06
1030Japan2024-05-06
1031France2024-05-10
1032Japan2024-05-17
1033Germany2024-05-23
1034Brazil2024-05-05
1035Argentina2024-05-09
1036Canada2024-05-11
1037Russia2024-05-05
1038France2024-04-27
1039Russia2024-05-12
1040Brazil2024-05-23
1041United Kingdom2024-05-17
1042Australia2024-05-14
1043Brazil2024-05-14
1044Australia2024-05-07
1045France2024-04-28
1046Germany2024-05-06
1047Spain2024-05-13
1048Spain2024-05-26
1049Australia2024-05-08

On-Demand Data

NameIdCountryDate
Jefferson E Gillian1000United Kingdom2024-05-13
Greenwood J Caudy1001Australia2024-05-25
Sinclair T Oldroyd1002Brazil2024-05-15
Aruna W Rulapaugh1003Italy2024-05-16
Izzy A Rulapaugh1004Australia2024-05-04
Izzy P Ostrosky1005Italy2024-05-01
Julie M Slusarski1006Spain2024-05-24
Francesco N Ruta1007India2024-05-21
Stacey T Darakjy1008Spain2024-05-16
Mayumi P Stenseth1009Canada2024-05-16
Emily T Royster1010India2024-05-12
Murillo U Kusko1011Spain2024-05-15
Kaitlin T Whobrey1012Spain2024-05-21
Nicolas T Darakjy1013United Kingdom2024-04-30
Jones A Darakjy1014Australia2024-05-05
David W Caldarera1015United Kingdom2024-05-18
Nicolas U Poquette1016Italy2024-05-07
Kaitlin G Venere1017France2024-05-16
Tony W Figeroa1018Germany2024-05-10
Octavia H Ostrosky1019Argentina2024-05-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon F GarufiSpainAnna Fali UNQUALIFIED
Darci Y OldroydIndiaAnna Fali RENEWAL
Rodrigues V RoysterIndiaBernardo Dominic NEW
Antonio G FlosiRussiaIoni Bowcher PROPOSAL
Ivar G GlickFranceAnna Fali QUALIFIED
Nicolas B KolmetzJapanBernardo Dominic UNQUALIFIED
Jeanfrancois J CampainRussiaIvan Magalhaes RENEWAL
Adams C BologniaRussiaXuxue Feng UNQUALIFIED
Costa M AmigonRussiaAsiya Javayant UNQUALIFIED
Munro P MaletBrazilStephen Shaw RENEWAL
Nicolas I SlusarskiAustraliaAsiya Javayant QUALIFIED
Antonio W FlosiBrazilElwin Sharvill PROPOSAL
David M RutaRussiaAnna Fali QUALIFIED
Johnson A MacleadUnited KingdomOnyama Limba QUALIFIED
Kaitlin R MarrierArgentinaBernardo Dominic QUALIFIED
Misaki X SaylorsJapanIvan Magalhaes NEGOTIATION
Mayumi V InouyeJapanIvan Magalhaes PROPOSAL
Greenwood J FollerItalyAnna Fali NEGOTIATION
Jeanfrancois H AmigonJapanStephen Shaw NEW
Jefferson V PaprockiFranceAsiya Javayant NEW
Claire V CampainFranceXuxue Feng RENEWAL
Jefferson K FigeroaArgentinaIvan Magalhaes NEW
Aditya X GarufiSpainOnyama Limba NEW
Julie K OstroskyGermanyXuxue Feng QUALIFIED
Isabel F OstroskySpainAmy Elsner UNQUALIFIED
Nicolas M DarakjyCanadaAmy Elsner QUALIFIED
Claire P DoeJapanBernardo Dominic PROPOSAL
Jennifer E PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Mayumi X WieserGermanyXuxue Feng NEGOTIATION
Emily E KolmetzUnited KingdomElwin Sharvill PROPOSAL
David E BowleyIndiaAnna Fali RENEWAL
Isabel E WaycottGermanyAnna Fali PROPOSAL
Leja S VenereAustraliaAnna Fali UNQUALIFIED
Izzy G MarrierSpainXuxue Feng NEW
Jefferson G KolmetzItalyOnyama Limba PROPOSAL
Adams X MacleadItalyBernardo Dominic PROPOSAL
Ivar H KuskoArgentinaXuxue Feng UNQUALIFIED
Jennifer S WieserRussiaOnyama Limba UNQUALIFIED
Faith H CaudyArgentinaIoni Bowcher QUALIFIED
Faith M VenereSpainIvan Magalhaes 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>