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
Antonio F SaylorsRussiaStephen Shaw UNQUALIFIED
Ivar S OldroydBrazilXuxue Feng NEW
Darci Y RimRussiaIvan Magalhaes RENEWAL
Kadeem G InouyeRussiaAnna Fali NEW
Greenwood I SaylorsSpainAsiya Javayant PROPOSAL
Misaki M PerinArgentinaXuxue Feng NEW
James O MaletItalyIvan Magalhaes NEGOTIATION
Jefferson J FlosiCanadaXuxue Feng NEW
Jennifer C BologniaIndiaIvan Magalhaes NEW
Aruna A FerenczBrazilElwin Sharvill PROPOSAL
Aika U AmigonArgentinaElwin Sharvill RENEWAL
Jennifer W WieserSpainElwin Sharvill NEW
Deepesh B MacleadIndiaBernardo Dominic UNQUALIFIED
Cody N WieserItalyAmy Elsner RENEWAL
Adams L DarakjyUnited KingdomAsiya Javayant NEW
Mayumi Y SergiRussiaBernardo Dominic NEGOTIATION
Wickens F GauchoAustraliaElwin Sharvill PROPOSAL
Johnson Y MaletFranceXuxue Feng NEGOTIATION
Silvio U WhobreyFranceElwin Sharvill NEGOTIATION
Maria H SlusarskiRussiaXuxue Feng NEW
Wickens A GillianJapanStephen Shaw UNQUALIFIED
Johnson W PerinGermanyAsiya Javayant NEW
Johnson D RulapaughCanadaElwin Sharvill NEW
Greenwood S WaycottBrazilIvan Magalhaes NEGOTIATION
Leon X BologniaFranceBernardo Dominic UNQUALIFIED
Ashley U GarufiIndiaAsiya Javayant PROPOSAL
Smith A DarakjyIndiaBernardo Dominic PROPOSAL
David V FollerIndiaIoni Bowcher NEGOTIATION
Salvatore R GarufiFranceXuxue Feng QUALIFIED
Claire Z MaletRussiaIvan Magalhaes RENEWAL
Kaitlin N StockhamAustraliaAmy Elsner NEW
Arvin F KuskoItalyBernardo Dominic NEW
Ashley C AmigonIndiaStephen Shaw QUALIFIED
Deepesh W RutaJapanElwin Sharvill QUALIFIED
Smith B NestleJapanStephen Shaw RENEWAL
Chavez V MaletCanadaAnna Fali UNQUALIFIED
Salvatore L NestleJapanElwin Sharvill NEW
Munro E SergiJapanAmy Elsner NEGOTIATION
Silvio E MorascaArgentinaBernardo Dominic NEGOTIATION
Francesco J WhobreySpainXuxue Feng NEGOTIATION
Jeanfrancois I VocelkaIndiaBernardo Dominic PROPOSAL
Mujtaba V GlickCanadaAmy Elsner NEW
David C WhobreyFranceAmy Elsner UNQUALIFIED
Sinclair Q InouyeSpainAnna Fali UNQUALIFIED
Arvin V CaudyRussiaAsiya Javayant PROPOSAL
Clifford M CaldareraCanadaOnyama Limba QUALIFIED
Jefferson L SergiAustraliaAmy Elsner NEGOTIATION
James K BowleyUnited KingdomElwin Sharvill RENEWAL
Johnson X PoquetteUnited KingdomStephen Shaw RENEWAL
Faith R FigeroaJapanXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey F SchemmerAustraliaAmy Elsner UNQUALIFIED
Silvio G NickaFranceIoni Bowcher QUALIFIED
Izzy C MacleadArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois Y RoysterGermanyBernardo Dominic NEGOTIATION
Mujtaba R StensethBrazilIoni Bowcher PROPOSAL
Tony E DilliardCanadaXuxue Feng NEGOTIATION
Ashley H FlosiItalyStephen Shaw RENEWAL
Costa P CaudyIndiaIvan Magalhaes RENEWAL
Sinclair J FlosiBrazilElwin Sharvill PROPOSAL
Ivar F GarufiAustraliaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams A InouyeGermany2025-04-23Printing Dimensions QUALIFIED59Asiya Javayant
1001Emily G RimJapan2025-04-05Morlong Associates UNQUALIFIED84Bernardo Dominic
1002Morrow V NestleBrazil2025-04-23Chemel, James L Cpa NEGOTIATION36Anna Fali
1003Misaki M FigeroaFrance2025-04-04King, Christopher A Esq PROPOSAL8Anna Fali
1004Jennifer P FerenczGermany2025-04-13Chapman, Ross E Esq NEGOTIATION45Anna Fali
1005Mayumi U WieserFrance2025-04-14Morlong Associates UNQUALIFIED74Anna Fali
1006Julie Z CampainGermany2025-04-13Chemel, James L Cpa NEGOTIATION34Bernardo Dominic
1007Claire O BriddickUnited Kingdom2025-04-14Feiner Bros NEGOTIATION31Ioni Bowcher
1008Antonio I SaylorsBrazil2025-04-09Rangoni Of Florence NEGOTIATION75Anna Fali
1009Ricardo Z SchemmerUnited Kingdom2025-04-13Printing Dimensions NEW89Elwin Sharvill
1010Jennifer A ChuiGermany2025-04-25Rangoni Of Florence PROPOSAL95Amy Elsner
1011Stacey C RoysterGermany2025-04-01Buckley Miller Wright PROPOSAL94Amy Elsner
1012Stacey X StensethBrazil2025-04-18King, Christopher A Esq RENEWAL7Stephen Shaw
1013Juan Y BriddickSpain2025-04-08Truhlar And Truhlar Attys PROPOSAL60Onyama Limba
1014Nicolas W WaycottAustralia2025-04-24Feltz Printing Service RENEWAL54Anna Fali
1015Jefferson Z GillianAustralia2025-04-07Rangoni Of Florence UNQUALIFIED62Anna Fali
1016Isabel R StockhamAustralia2025-04-06Commercial Press NEGOTIATION37Stephen Shaw
1017Morrow Z RulapaughIndia2025-04-13Rangoni Of Florence RENEWAL35Ivan Magalhaes
1018Chavez L ChuiGermany2025-04-16Feltz Printing Service QUALIFIED47Ioni Bowcher
1019Emily U CaudyRussia2025-04-22Chemel, James L Cpa QUALIFIED42Amy Elsner
1020Clifford B DoeItaly2025-04-20Rousseaux, Michael Esq NEGOTIATION93Xuxue Feng
1021Munro C StockhamArgentina2025-04-08Feiner Bros RENEWAL68Anna Fali
1022Ricardo R MarrierItaly2025-04-06Morlong Associates NEW99Xuxue Feng
1023Leon U StensethGermany2025-04-24Rangoni Of Florence PROPOSAL96Asiya Javayant
1024Leon F CampainSpain2025-04-27Chemel, James L Cpa RENEWAL86Ioni Bowcher
1025Salvatore L VenereGermany2025-04-23Feltz Printing Service UNQUALIFIED58Amy Elsner
1026Silvio I DilliardAustralia2025-04-08Chapman, Ross E Esq PROPOSAL82Ivan Magalhaes
1027Isabel L ShinkoJapan2025-04-10Morlong Associates PROPOSAL76Anna Fali
1028Ricardo B SchemmerBrazil2025-04-14Printing Dimensions UNQUALIFIED50Xuxue Feng
1029Alejandro N KolmetzFrance2025-04-12Morlong Associates RENEWAL61Elwin Sharvill
1030Isabel U FigeroaItaly2025-04-08Benton, John B Jr NEW47Ivan Magalhaes
1031Claire N SergiAustralia2025-04-23Rousseaux, Michael Esq RENEWAL59Asiya Javayant
1032James C MarrierIndia2025-04-15Feiner Bros NEW7Ivan Magalhaes
1033Costa T BriddickCanada2025-04-08Chanay, Jeffrey A Esq QUALIFIED96Ioni Bowcher
1034Stacey F CampainRussia2025-04-03King, Christopher A Esq UNQUALIFIED91Amy Elsner
1035Adams F PoquetteItaly2025-04-14Buckley Miller Wright RENEWAL58Anna Fali
1036Greenwood A MaletIndia2025-04-24King, Christopher A Esq UNQUALIFIED84Amy Elsner
1037Ivar B SlusarskiUnited Kingdom2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED54Ivan Magalhaes
1038Jones H BologniaAustralia2025-04-01Chapman, Ross E Esq RENEWAL45Xuxue Feng
1039Aika H VenereIndia2025-04-01Rangoni Of Florence NEGOTIATION12Ivan Magalhaes
1040Emily L MaletArgentina2025-04-13Feltz Printing Service QUALIFIED85Amy Elsner
1041Maisha G RimCanada2025-04-05Rousseaux, Michael Esq NEGOTIATION96Elwin Sharvill
1042Claire P BowleyIndia2025-04-29Rangoni Of Florence NEGOTIATION71Onyama Limba
1043Tony A FlosiFrance2025-04-02Chapman, Ross E Esq QUALIFIED77Ivan Magalhaes
1044Jennifer F MarrierIndia2025-04-28Chanay, Jeffrey A Esq RENEWAL45Onyama Limba
1045Aika T BowleyArgentina2025-04-23Benton, John B Jr NEGOTIATION99Ivan Magalhaes
1046Juan U RimCanada2025-04-22Feiner Bros NEGOTIATION60Bernardo Dominic
1047Cody V SergiArgentina2025-04-23King, Christopher A Esq NEW35Anna Fali
1048James M MaletRussia2025-04-17Truhlar And Truhlar Attys QUALIFIED0Xuxue Feng
1049Rodrigues Q DarakjySpain2025-04-09King, Christopher A Esq RENEWAL16Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair M MarrierJapanStephen Shaw UNQUALIFIED
Deepesh D CaldareraCanadaOnyama Limba NEGOTIATION
James Y MaletArgentinaXuxue Feng RENEWAL
Greenwood I RutaArgentinaBernardo Dominic NEGOTIATION
James L RoysterGermanyIoni Bowcher NEGOTIATION
Izzy J SchemmerItalyElwin Sharvill PROPOSAL
Stacey F RimArgentinaBernardo Dominic NEGOTIATION
Mujtaba C SergiJapanBernardo Dominic NEGOTIATION
Stacey K PoquetteBrazilAmy Elsner NEGOTIATION
Alejandro V FigeroaCanadaOnyama Limba NEW
Maria S MacleadUnited KingdomIoni Bowcher NEGOTIATION
David L VocelkaSpainStephen Shaw NEW
Aika Y MaletJapanOnyama Limba QUALIFIED
Francesco Q SlusarskiIndiaIvan Magalhaes NEGOTIATION
Ivar C SergiRussiaBernardo Dominic QUALIFIED
Jennifer L TollnerItalyAnna Fali NEW
Leja S GillianItalyXuxue Feng NEGOTIATION
Munro L StensethRussiaStephen Shaw NEGOTIATION
Greenwood T DarakjyGermanyBernardo Dominic RENEWAL
Juan W GarufiCanadaAsiya Javayant NEW
Francesco W CaudyRussiaAsiya Javayant RENEWAL
Rodrigues J KolmetzFranceStephen Shaw RENEWAL
Ivar S RulapaughJapanAnna Fali RENEWAL
Wickens O GillianAustraliaStephen Shaw PROPOSAL
Munro J FollerAustraliaAnna Fali RENEWAL
Mujtaba S CaldareraBrazilIoni Bowcher PROPOSAL
Rodrigues D RimJapanIvan Magalhaes NEW
Kaitlin U SchemmerUnited KingdomIoni Bowcher PROPOSAL
Ashley Q NestleArgentinaAsiya Javayant NEGOTIATION
Misaki R PaprockiAustraliaIvan Magalhaes NEGOTIATION
Claire I NickaCanadaIoni Bowcher RENEWAL
Leja X ShinkoItalyElwin Sharvill RENEWAL
Aruna J BologniaRussiaBernardo Dominic RENEWAL
Francesco K OldroydCanadaAnna Fali PROPOSAL
Maria E KuskoItalyIoni Bowcher NEGOTIATION
Misaki C GlickRussiaIoni Bowcher NEW
Ivar Q DoeFranceIvan Magalhaes NEGOTIATION
Misaki M WieserAustraliaIvan Magalhaes QUALIFIED
Munro I DarakjyAustraliaAnna Fali NEW
Darci C VocelkaIndiaIvan Magalhaes QUALIFIED
Jennifer L SaylorsRussiaXuxue Feng PROPOSAL
Stacey D SergiFranceIoni Bowcher UNQUALIFIED
Wickens I FollerItalyStephen Shaw QUALIFIED
Smith W GarufiBrazilIoni Bowcher NEGOTIATION
Chavez Q AmigonCanadaOnyama Limba PROPOSAL
Ivar X WhobreyUnited KingdomXuxue Feng QUALIFIED
Maisha E StensethArgentinaAmy Elsner NEW
Octavia D MaletJapanAmy Elsner QUALIFIED
Rodrigues A StensethIndiaIoni Bowcher UNQUALIFIED
Greenwood D FlosiItalyStephen Shaw NEW
Frozen Columns
Name
Claire F Kusko
Wickens P Wieser
Maria Y Butt
Juan T Kusko
Jefferson Q Albares
Nicolas P Amigon
Sinclair D Royster
Smith F Foller
Silvio P Dilliard
Izzy T Bolognia
Mayumi P Perin
Mujtaba D Gaucho
Aruna R Marrier
Ivar G Maclead
Claire F Foller
Kadeem U Chui
Ivar X Sergi
Juan H Poquette
Izzy X Waycott
Ivar G Briddick
Aditya G Doe
Munro B Glick
Tony Y Malet
Johnson S Sergi
Jennifer K Darakjy
Sinclair L Butt
Clifford X Malet
Kaitlin F Nicka
Ivar O Stenseth
Aruna V Stockham
Adams E Paprocki
Aditya P Sergi
Izzy Q Whobrey
Ivar A Waycott
Deepesh I Venere
Greenwood K Vocelka
Johnson Q Flosi
Costa R Inouye
Francesco G Ostrosky
Mujtaba N Darakjy
Clifford K Campain
Wickens M Kolmetz
Munro Y Stockham
Ricardo C Saylors
Rodrigues L Glick
Greenwood G Nestle
Francesco Q Malet
Faith E Malet
Nicolas U Poquette
James L Stenseth
IdCountryDate
1000Germany2025-04-01
1001Germany2025-04-11
1002Germany2025-04-04
1003Italy2025-04-04
1004India2025-04-24
1005Russia2025-04-24
1006France2025-04-02
1007India2025-04-05
1008India2025-04-11
1009Italy2025-04-07
1010Russia2025-04-04
1011India2025-04-14
1012Argentina2025-04-01
1013France2025-04-15
1014Argentina2025-04-04
1015United Kingdom2025-04-15
1016Spain2025-04-23
1017Canada2025-04-03
1018Australia2025-04-20
1019Germany2025-04-11
1020India2025-04-11
1021Spain2025-04-23
1022Spain2025-04-09
1023Brazil2025-04-21
1024France2025-04-09
1025United Kingdom2025-04-30
1026Argentina2025-04-23
1027Canada2025-04-28
1028United Kingdom2025-04-23
1029Japan2025-04-11
1030Brazil2025-04-03
1031Canada2025-04-17
1032Germany2025-04-16
1033Russia2025-04-18
1034Italy2025-04-12
1035Japan2025-04-26
1036Australia2025-04-14
1037United Kingdom2025-04-26
1038United Kingdom2025-04-03
1039Japan2025-04-22
1040Russia2025-04-14
1041Argentina2025-04-24
1042India2025-04-29
1043Italy2025-04-27
1044Japan2025-04-08
1045Canada2025-04-05
1046Italy2025-04-30
1047Italy2025-04-12
1048Japan2025-04-13
1049Argentina2025-04-30

On-Demand Data

NameIdCountryDate
Isabel M Caudy1000Japan2025-04-27
Ricardo W Caudy1001Brazil2025-04-09
Jefferson V Ferencz1002Russia2025-04-10
Cody S Slusarski1003United Kingdom2025-04-12
Rodrigues Z Kolmetz1004Japan2025-04-06
Clifford X Butt1005Germany2025-04-30
Misaki J Bowley1006Italy2025-04-20
Kadeem I Whobrey1007France2025-04-09
Mayumi H Waycott1008Russia2025-04-28
Aruna W Briddick1009Spain2025-04-02
Darci Z Saylors1010Canada2025-04-17
Jeanfrancois Z Amigon1011Spain2025-04-19
Greenwood N Morasca1012United Kingdom2025-04-29
Misaki M Briddick1013Italy2025-04-23
Adams J Butt1014Argentina2025-04-17
Arvin C Inouye1015Australia2025-04-29
Misaki R Rulapaugh1016Argentina2025-04-02
Maisha Q Albares1017Spain2025-04-07
Smith V Vocelka1018Spain2025-04-02
Kadeem T Bolognia1019Spain2025-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood C GauchoUnited KingdomElwin Sharvill PROPOSAL
Ashley K SchemmerArgentinaAnna Fali RENEWAL
Alejandro T TollnerAustraliaIoni Bowcher UNQUALIFIED
Darci W PaprockiArgentinaIvan Magalhaes NEW
Claire R NestleItalyAsiya Javayant QUALIFIED
Silvio B IturbideAustraliaAnna Fali UNQUALIFIED
Jeanfrancois S FollerAustraliaAnna Fali QUALIFIED
Munro J CampainAustraliaAmy Elsner NEW
Sinclair N NestleBrazilAnna Fali QUALIFIED
Alejandro F SaylorsCanadaBernardo Dominic PROPOSAL
Jefferson K IturbideArgentinaAmy Elsner RENEWAL
Rodrigues I GillianGermanyIvan Magalhaes PROPOSAL
Rodrigues B GauchoSpainXuxue Feng PROPOSAL
Munro D SchemmerUnited KingdomAnna Fali NEGOTIATION
Leja S FollerGermanyIoni Bowcher NEW
Stacey K WhobreyFranceIvan Magalhaes RENEWAL
Chavez P RimCanadaStephen Shaw QUALIFIED
Sinclair H NestleRussiaStephen Shaw UNQUALIFIED
Julie E GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Ashley X FigeroaCanadaOnyama Limba PROPOSAL
Tony E FlosiIndiaIvan Magalhaes QUALIFIED
Jeanfrancois P MaletArgentinaStephen Shaw NEGOTIATION
Kaitlin L MaletCanadaElwin Sharvill UNQUALIFIED
Jones Q NestleArgentinaIvan Magalhaes RENEWAL
Maisha M MaletSpainStephen Shaw PROPOSAL
Antonio Y PaprockiAustraliaBernardo Dominic RENEWAL
Aika H SchemmerItalyXuxue Feng UNQUALIFIED
Munro Y StockhamCanadaStephen Shaw RENEWAL
Misaki L MaletBrazilAsiya Javayant PROPOSAL
Jennifer K PoquetteFranceOnyama Limba QUALIFIED
Leja V RimGermanyStephen Shaw UNQUALIFIED
Stacey S PoquetteAustraliaAsiya Javayant NEGOTIATION
Jennifer Y SlusarskiIndiaIoni Bowcher NEW
Chavez W SlusarskiSpainOnyama Limba PROPOSAL
Arvin A RulapaughBrazilBernardo Dominic RENEWAL
Smith W WieserCanadaAmy Elsner UNQUALIFIED
Costa K SergiArgentinaElwin Sharvill PROPOSAL
Misaki R NestleCanadaOnyama Limba UNQUALIFIED
Ricardo I VenereCanadaIvan Magalhaes PROPOSAL
Emily N FerenczJapanElwin Sharvill 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>