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
Cody Y SaylorsArgentinaAnna Fali QUALIFIED
Emily M AmigonRussiaIoni Bowcher NEW
Chavez M FollerItalyOnyama Limba QUALIFIED
Octavia X SaylorsIndiaAsiya Javayant UNQUALIFIED
Salvatore Z AmigonArgentinaElwin Sharvill NEGOTIATION
Octavia H OstroskyGermanyAsiya Javayant RENEWAL
Tony G FlosiJapanAmy Elsner UNQUALIFIED
Juan M KolmetzIndiaIvan Magalhaes RENEWAL
Jennifer H MaletItalyIvan Magalhaes NEW
Isabel B VenereIndiaStephen Shaw PROPOSAL
Juan F RoysterUnited KingdomAnna Fali RENEWAL
Ricardo Z WhobreyRussiaBernardo Dominic QUALIFIED
Arvin W NestleArgentinaOnyama Limba PROPOSAL
Smith M RimItalyAsiya Javayant NEGOTIATION
Juan L OstroskyItalyIoni Bowcher RENEWAL
Claire A ChuiSpainElwin Sharvill NEW
Clifford F RimUnited KingdomOnyama Limba QUALIFIED
Isabel R FlosiIndiaStephen Shaw QUALIFIED
Clifford F DilliardCanadaAsiya Javayant NEGOTIATION
Chavez N WaycottAustraliaIvan Magalhaes NEW
Stacey Y ButtGermanyAmy Elsner NEW
Faith U ShinkoArgentinaOnyama Limba RENEWAL
Wickens A BriddickFranceBernardo Dominic PROPOSAL
Chavez E FollerIndiaStephen Shaw NEGOTIATION
Jennifer P RutaCanadaIoni Bowcher QUALIFIED
Kadeem E KuskoAustraliaStephen Shaw QUALIFIED
Chavez A MarrierUnited KingdomAsiya Javayant NEW
Kadeem S CaudyRussiaElwin Sharvill NEGOTIATION
Smith V GauchoFranceElwin Sharvill PROPOSAL
Cody O RimItalyOnyama Limba UNQUALIFIED
Kaitlin H CaudyFranceOnyama Limba NEW
Octavia D RimArgentinaIoni Bowcher NEW
Darci B BowleyGermanyIoni Bowcher QUALIFIED
Smith T OstroskyBrazilAnna Fali PROPOSAL
Maria F CaudyRussiaIoni Bowcher RENEWAL
Rodrigues V ChuiAustraliaStephen Shaw QUALIFIED
Faith O IturbideFranceXuxue Feng NEGOTIATION
Rodrigues F RimSpainStephen Shaw PROPOSAL
Jeanfrancois W KuskoRussiaAsiya Javayant NEW
Aruna R PoquetteFranceXuxue Feng NEW
Rodrigues O VenereItalyAsiya Javayant PROPOSAL
Adams S RutaItalyIoni Bowcher NEGOTIATION
Kadeem N StockhamArgentinaAmy Elsner RENEWAL
David T GauchoArgentinaBernardo Dominic NEGOTIATION
Clifford A StensethJapanXuxue Feng QUALIFIED
David E NickaBrazilAnna Fali RENEWAL
Francesco T TollnerRussiaStephen Shaw UNQUALIFIED
Aditya Y CampainIndiaAnna Fali NEGOTIATION
Octavia I FigeroaRussiaElwin Sharvill RENEWAL
James K CampainGermanyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro F RoysterBrazilIoni Bowcher NEGOTIATION
James P BowleyIndiaBernardo Dominic QUALIFIED
Emily E FollerUnited KingdomXuxue Feng NEGOTIATION
Nicolas Z OstroskyJapanElwin Sharvill NEW
Juan Z CaudyUnited KingdomIoni Bowcher RENEWAL
Jones Z WhobreyBrazilElwin Sharvill NEW
Isabel N PerinBrazilBernardo Dominic UNQUALIFIED
Emily B StensethIndiaAmy Elsner QUALIFIED
Mayumi Y FerenczIndiaElwin Sharvill PROPOSAL
Claire A IturbideFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire H FerenczSpain2024-06-21Printing Dimensions NEW52Amy Elsner
1001Maria I BowleyCanada2024-06-02Benton, John B Jr UNQUALIFIED83Stephen Shaw
1002Mayumi B GillianAustralia2024-05-30Feiner Bros RENEWAL10Bernardo Dominic
1003Tony L ChuiAustralia2024-06-09Buckley Miller Wright RENEWAL31Stephen Shaw
1004Munro R RoysterArgentina2024-05-24King, Christopher A Esq RENEWAL81Amy Elsner
1005Aruna V GauchoCanada2024-06-03Commercial Press NEW60Bernardo Dominic
1006Aika P StensethRussia2024-06-02Chapman, Ross E Esq QUALIFIED71Stephen Shaw
1007Octavia V InouyeJapan2024-06-13Chemel, James L Cpa RENEWAL21Amy Elsner
1008Salvatore L NestleCanada2024-06-02Dorl, James J Esq UNQUALIFIED22Elwin Sharvill
1009Aika O MacleadRussia2024-06-07Benton, John B Jr NEGOTIATION82Ivan Magalhaes
1010Deepesh D GauchoArgentina2024-06-07Printing Dimensions QUALIFIED57Elwin Sharvill
1011Tony J TollnerAustralia2024-05-25Truhlar And Truhlar Attys QUALIFIED62Elwin Sharvill
1012Leon Y FigeroaBrazil2024-06-05Buckley Miller Wright NEGOTIATION37Ivan Magalhaes
1013Smith E FollerArgentina2024-06-12Feiner Bros NEW63Stephen Shaw
1014Ivar W GillianSpain2024-06-15Feltz Printing Service NEGOTIATION40Xuxue Feng
1015Arvin X SchemmerCanada2024-06-21Feltz Printing Service QUALIFIED12Asiya Javayant
1016Mujtaba P FollerSpain2024-05-24Buckley Miller Wright NEW8Onyama Limba
1017Ivar T CaudyGermany2024-05-25King, Christopher A Esq PROPOSAL46Amy Elsner
1018Jennifer O NestleItaly2024-06-18Rousseaux, Michael Esq UNQUALIFIED17Elwin Sharvill
1019Jennifer N WhobreyArgentina2024-06-01Rangoni Of Florence RENEWAL48Amy Elsner
1020Murillo H WhobreyCanada2024-06-05Dorl, James J Esq UNQUALIFIED48Elwin Sharvill
1021Maisha J ChuiGermany2024-06-06Commercial Press NEGOTIATION17Asiya Javayant
1022Aditya A VocelkaAustralia2024-05-28Commercial Press UNQUALIFIED62Elwin Sharvill
1023Ivar D FollerFrance2024-06-09Truhlar And Truhlar Attys RENEWAL83Anna Fali
1024Ricardo J SlusarskiItaly2024-06-21Buckley Miller Wright QUALIFIED68Ivan Magalhaes
1025David U GauchoItaly2024-06-14Chemel, James L Cpa QUALIFIED9Ioni Bowcher
1026Emily N SergiGermany2024-05-31Morlong Associates QUALIFIED15Bernardo Dominic
1027Ricardo G RulapaughItaly2024-06-18Rousseaux, Michael Esq PROPOSAL4Bernardo Dominic
1028Chavez Y GarufiJapan2024-05-30Chanay, Jeffrey A Esq QUALIFIED68Stephen Shaw
1029Deepesh V WhobreyUnited Kingdom2024-06-10Rousseaux, Michael Esq RENEWAL86Ivan Magalhaes
1030Leon P WhobreyRussia2024-06-04Chemel, James L Cpa QUALIFIED74Amy Elsner
1031Jefferson L GauchoCanada2024-06-05Buckley Miller Wright QUALIFIED26Onyama Limba
1032Izzy F MarrierGermany2024-06-01Commercial Press QUALIFIED89Xuxue Feng
1033Tony E CaldareraBrazil2024-06-06Truhlar And Truhlar Attys NEW8Xuxue Feng
1034James K ChuiJapan2024-06-01Morlong Associates NEW70Onyama Limba
1035Salvatore Y SaylorsItaly2024-06-10Printing Dimensions RENEWAL13Ivan Magalhaes
1036Kaitlin C FlosiAustralia2024-06-20Dorl, James J Esq PROPOSAL93Bernardo Dominic
1037Stacey P StensethFrance2024-06-03Commercial Press QUALIFIED6Asiya Javayant
1038Morrow Z AlbaresAustralia2024-05-30Commercial Press UNQUALIFIED27Elwin Sharvill
1039Greenwood R BowleyIndia2024-06-09Buckley Miller Wright PROPOSAL15Elwin Sharvill
1040Juan Z ShinkoFrance2024-05-26King, Christopher A Esq UNQUALIFIED36Amy Elsner
1041Emily U WaycottUnited Kingdom2024-05-31Benton, John B Jr PROPOSAL86Ioni Bowcher
1042Izzy A ButtRussia2024-06-18Rousseaux, Michael Esq NEW52Elwin Sharvill
1043Kadeem S KolmetzRussia2024-06-13Chanay, Jeffrey A Esq PROPOSAL87Ivan Magalhaes
1044Costa P RoysterSpain2024-05-30Dorl, James J Esq NEW92Amy Elsner
1045Rodrigues T GlickAustralia2024-06-09Chanay, Jeffrey A Esq PROPOSAL39Amy Elsner
1046Izzy B AmigonAustralia2024-06-15Morlong Associates NEGOTIATION74Ivan Magalhaes
1047David A RimIndia2024-06-05Rousseaux, Michael Esq PROPOSAL28Elwin Sharvill
1048Jennifer B MaletBrazil2024-05-31Buckley Miller Wright NEGOTIATION74Onyama Limba
1049Aditya X CaldareraJapan2024-05-23King, Christopher A Esq PROPOSAL28Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens X RoysterRussiaElwin Sharvill NEGOTIATION
Mayumi B TollnerArgentinaAsiya Javayant RENEWAL
Arvin V PoquetteIndiaOnyama Limba UNQUALIFIED
Leja Q NickaFranceAsiya Javayant RENEWAL
Leja K InouyeUnited KingdomAnna Fali NEGOTIATION
Deepesh E NickaUnited KingdomIoni Bowcher QUALIFIED
Leon T StockhamJapanOnyama Limba UNQUALIFIED
Julie Y SchemmerItalyXuxue Feng NEW
Smith G CaudyRussiaStephen Shaw UNQUALIFIED
David J WieserAustraliaAmy Elsner NEW
Silvio Y MaletArgentinaAsiya Javayant UNQUALIFIED
Jefferson T FerenczSpainElwin Sharvill RENEWAL
Francesco Y RimUnited KingdomIvan Magalhaes NEW
Nicolas H PaprockiSpainOnyama Limba RENEWAL
James A GillianGermanyBernardo Dominic NEW
Maisha Q IturbideSpainBernardo Dominic RENEWAL
Murillo T StockhamSpainXuxue Feng RENEWAL
Izzy D VocelkaItalyStephen Shaw UNQUALIFIED
Clifford O RutaCanadaAmy Elsner NEGOTIATION
Darci P CampainBrazilOnyama Limba NEGOTIATION
Isabel U NickaItalyXuxue Feng NEGOTIATION
Juan M ButtBrazilOnyama Limba PROPOSAL
Deepesh I WhobreySpainAsiya Javayant NEW
Octavia T IturbideFranceBernardo Dominic QUALIFIED
Alejandro U CaldareraSpainElwin Sharvill RENEWAL
Smith U VenereItalyAnna Fali QUALIFIED
Maria O PerinFranceOnyama Limba QUALIFIED
Aika Q DilliardUnited KingdomXuxue Feng RENEWAL
Aruna Z MaletArgentinaStephen Shaw PROPOSAL
Mujtaba C GauchoGermanyBernardo Dominic QUALIFIED
Munro Y MaletBrazilAmy Elsner PROPOSAL
Salvatore Y ShinkoSpainAsiya Javayant NEGOTIATION
Kaitlin L BriddickJapanElwin Sharvill RENEWAL
Mujtaba E IturbideJapanStephen Shaw NEGOTIATION
Isabel V NickaIndiaStephen Shaw PROPOSAL
Jones Z GauchoAustraliaXuxue Feng RENEWAL
Leon C FollerUnited KingdomAmy Elsner UNQUALIFIED
Juan V MorascaSpainIvan Magalhaes PROPOSAL
Ivar A BowleyIndiaIvan Magalhaes PROPOSAL
Jeanfrancois A OstroskyFranceAnna Fali RENEWAL
Antonio L DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin S PoquetteCanadaOnyama Limba NEW
Aruna Y PoquetteArgentinaElwin Sharvill RENEWAL
Aruna X GillianGermanyAmy Elsner UNQUALIFIED
David L SaylorsIndiaBernardo Dominic RENEWAL
Claire B KuskoGermanyOnyama Limba NEW
Ricardo J WieserBrazilBernardo Dominic QUALIFIED
Costa S FollerAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois Y SaylorsJapanOnyama Limba NEGOTIATION
Wickens F WaycottGermanyElwin Sharvill PROPOSAL
Frozen Columns
Name
Darci D Oldroyd
Misaki E Maclead
Alejandro H Venere
Chavez Q Chui
Greenwood N Ruta
Darci B Whobrey
Mujtaba M Iturbide
Smith S Malet
Ivar Z Venere
Mujtaba V Poquette
Faith T Maclead
Leja N Schemmer
Octavia H Briddick
Stacey H Butt
Arvin V Venere
Cody E Nicka
Kaitlin D Butt
Misaki A Briddick
Arvin S Iturbide
Claire P Figeroa
Arvin N Ferencz
Faith M Oldroyd
Greenwood N Glick
Tony H Shinko
Johnson C Kusko
Leja S Doe
Jefferson Y Garufi
Jefferson X Garufi
James L Iturbide
Octavia D Briddick
Smith I Malet
Leon E Dilliard
David Y Oldroyd
Misaki P Saylors
Nicolas V Nicka
Wickens Y Stenseth
Octavia I Bolognia
Morrow U Flosi
Faith G Oldroyd
Costa G Gillian
Murillo S Kusko
Greenwood N Wieser
David P Chui
Rodrigues I Stenseth
Darci N Malet
Faith T Chui
Arvin Q Malet
Aruna A Wieser
Misaki Z Sergi
Salvatore J Waycott
IdCountryDate
1000Argentina2024-06-04
1001Spain2024-06-06
1002Japan2024-06-11
1003Japan2024-05-27
1004United Kingdom2024-06-19
1005France2024-05-24
1006Russia2024-06-06
1007Italy2024-06-01
1008India2024-06-20
1009Argentina2024-06-19
1010Spain2024-06-08
1011Spain2024-06-10
1012France2024-06-01
1013France2024-06-10
1014Spain2024-05-23
1015United Kingdom2024-06-13
1016United Kingdom2024-06-11
1017Japan2024-06-19
1018Brazil2024-05-30
1019United Kingdom2024-06-16
1020Germany2024-05-27
1021Brazil2024-06-10
1022Japan2024-06-01
1023Japan2024-06-18
1024Argentina2024-06-13
1025Australia2024-06-13
1026Italy2024-05-29
1027France2024-06-07
1028Spain2024-06-19
1029Brazil2024-05-25
1030Germany2024-06-08
1031Spain2024-06-08
1032Canada2024-05-25
1033Russia2024-06-05
1034Germany2024-06-07
1035Italy2024-06-01
1036Argentina2024-05-26
1037Japan2024-06-02
1038Italy2024-06-03
1039Germany2024-06-12
1040Japan2024-05-25
1041Argentina2024-05-27
1042Russia2024-06-11
1043Argentina2024-05-27
1044Australia2024-05-28
1045Russia2024-06-07
1046Russia2024-06-01
1047Brazil2024-05-29
1048United Kingdom2024-06-16
1049Italy2024-05-24

On-Demand Data

NameIdCountryDate
Salvatore H Ferencz1000India2024-06-04
Octavia W Flosi1001Russia2024-06-03
Arvin N Briddick1002Canada2024-05-30
Clifford Z Bolognia1003Argentina2024-06-13
Darci E Stenseth1004Japan2024-06-08
Claire X Waycott1005Australia2024-06-17
Aditya S Chui1006Italy2024-06-02
Francesco O Stenseth1007Russia2024-06-15
Adams K Vocelka1008Russia2024-06-12
Izzy Y Rim1009France2024-06-17
Misaki R Marrier1010Italy2024-06-11
Jeanfrancois F Ruta1011Russia2024-05-30
Stacey T Amigon1012France2024-06-06
David O Morasca1013France2024-06-14
Cody H Amigon1014Australia2024-06-08
Chavez X Rulapaugh1015Spain2024-06-21
Emily U Ostrosky1016Spain2024-06-04
Deepesh I Venere1017Canada2024-06-17
Deepesh T Shinko1018Japan2024-06-08
Claire I Darakjy1019Canada2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel S BriddickJapanAnna Fali QUALIFIED
Octavia E MaletAustraliaAnna Fali UNQUALIFIED
Ivar J GillianItalyAmy Elsner UNQUALIFIED
Ricardo L MarrierSpainBernardo Dominic UNQUALIFIED
Francesco J GlickUnited KingdomAmy Elsner UNQUALIFIED
Maisha V WhobreyBrazilElwin Sharvill UNQUALIFIED
Ricardo M AlbaresSpainStephen Shaw QUALIFIED
Silvio L KolmetzCanadaXuxue Feng NEW
Chavez L IturbideCanadaIoni Bowcher NEGOTIATION
Cody Q VocelkaIndiaStephen Shaw RENEWAL
Francesco A RoysterUnited KingdomAsiya Javayant NEW
Costa Z WieserSpainIvan Magalhaes QUALIFIED
Jennifer H FerenczBrazilAmy Elsner NEGOTIATION
David V RutaItalyAsiya Javayant RENEWAL
Kadeem Z MaletCanadaStephen Shaw UNQUALIFIED
Darci R FlosiSpainIvan Magalhaes NEGOTIATION
Misaki F SchemmerArgentinaAmy Elsner NEGOTIATION
Jeanfrancois L ChuiUnited KingdomAnna Fali UNQUALIFIED
Aditya E FlosiSpainAmy Elsner UNQUALIFIED
Smith Y RoysterAustraliaStephen Shaw PROPOSAL
Isabel U BowleyItalyAnna Fali RENEWAL
Tony N BowleyJapanAmy Elsner RENEWAL
Aika G BologniaUnited KingdomAmy Elsner NEGOTIATION
Morrow S MarrierAustraliaAmy Elsner RENEWAL
Maria S GauchoArgentinaOnyama Limba PROPOSAL
Munro O PoquetteRussiaStephen Shaw NEGOTIATION
Johnson U CaldareraIndiaIvan Magalhaes RENEWAL
Adams Q MaletSpainIvan Magalhaes PROPOSAL
Sinclair F GlickUnited KingdomElwin Sharvill NEGOTIATION
Morrow H GarufiBrazilIoni Bowcher PROPOSAL
Maria A RoysterIndiaAmy Elsner UNQUALIFIED
Silvio B FerenczRussiaIvan Magalhaes PROPOSAL
Jefferson K OldroydFranceBernardo Dominic QUALIFIED
Sinclair K RutaCanadaElwin Sharvill NEGOTIATION
Jefferson D FlosiGermanyAmy Elsner UNQUALIFIED
Morrow M DoeSpainStephen Shaw NEGOTIATION
Nicolas W MaletBrazilAmy Elsner NEGOTIATION
Ashley C CaudyArgentinaStephen Shaw QUALIFIED
Adams P BowleyAustraliaBernardo Dominic UNQUALIFIED
Murillo H FerenczJapanIoni Bowcher 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>