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
Stacey L TollnerIndiaIvan Magalhaes QUALIFIED
Cody X BriddickUnited KingdomElwin Sharvill QUALIFIED
Greenwood X RutaBrazilBernardo Dominic RENEWAL
Kaitlin F VenereItalyAsiya Javayant UNQUALIFIED
Stacey M DoeAustraliaBernardo Dominic PROPOSAL
Morrow N DarakjyItalyIoni Bowcher UNQUALIFIED
Leon F DarakjyFranceIvan Magalhaes NEGOTIATION
Munro C GillianJapanIoni Bowcher PROPOSAL
Antonio V DilliardJapanElwin Sharvill NEGOTIATION
Wickens Y FlosiIndiaAsiya Javayant NEGOTIATION
Ivar D GauchoCanadaStephen Shaw NEW
Maisha Q OldroydArgentinaBernardo Dominic NEGOTIATION
James Q PerinCanadaAnna Fali NEGOTIATION
Jones G MarrierArgentinaIvan Magalhaes NEW
Izzy U NickaArgentinaStephen Shaw PROPOSAL
Jefferson P GarufiGermanyIvan Magalhaes NEW
Jefferson K WaycottGermanyStephen Shaw PROPOSAL
David W VocelkaBrazilStephen Shaw NEGOTIATION
Francesco I OldroydIndiaAnna Fali RENEWAL
Smith P SaylorsAustraliaElwin Sharvill UNQUALIFIED
Rodrigues M WhobreyFranceAnna Fali RENEWAL
Jeanfrancois Y KuskoRussiaStephen Shaw UNQUALIFIED
Faith C OldroydArgentinaOnyama Limba UNQUALIFIED
Sinclair W InouyeCanadaElwin Sharvill RENEWAL
Maria Q CaudyArgentinaIoni Bowcher QUALIFIED
Ashley R PoquetteCanadaElwin Sharvill UNQUALIFIED
Alejandro U KuskoIndiaAnna Fali QUALIFIED
Leon E VocelkaBrazilXuxue Feng PROPOSAL
Silvio Y KolmetzGermanyAmy Elsner UNQUALIFIED
Adams Y InouyeFranceIoni Bowcher PROPOSAL
Mayumi F MaletGermanyAsiya Javayant QUALIFIED
Izzy S InouyeSpainStephen Shaw NEGOTIATION
Jefferson Y GauchoArgentinaBernardo Dominic NEGOTIATION
Mayumi O ChuiBrazilBernardo Dominic UNQUALIFIED
Ashley E WhobreyItalyAmy Elsner PROPOSAL
Misaki N NickaUnited KingdomStephen Shaw NEGOTIATION
Kadeem S WhobreyGermanyAsiya Javayant QUALIFIED
Aika Q PoquetteSpainIoni Bowcher PROPOSAL
Deepesh Y MaletSpainIoni Bowcher QUALIFIED
Jeanfrancois Y KuskoIndiaIvan Magalhaes RENEWAL
Aruna C SaylorsItalyAsiya Javayant QUALIFIED
Ashley U ShinkoIndiaStephen Shaw NEW
Stacey N BriddickJapanStephen Shaw RENEWAL
Leon Y SchemmerCanadaAnna Fali UNQUALIFIED
Kaitlin K SchemmerUnited KingdomAmy Elsner PROPOSAL
Silvio R BriddickGermanyIoni Bowcher QUALIFIED
Adams Q StensethSpainStephen Shaw QUALIFIED
Arvin O CaldareraRussiaIvan Magalhaes NEW
Cody F ButtFranceStephen Shaw NEGOTIATION
Munro P NestleJapanOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley N DoeItalyBernardo Dominic UNQUALIFIED
Maria F CaldareraCanadaIoni Bowcher PROPOSAL
David R CampainRussiaElwin Sharvill UNQUALIFIED
Juan T CampainJapanIoni Bowcher PROPOSAL
Isabel N ShinkoIndiaElwin Sharvill RENEWAL
Sinclair G NickaRussiaBernardo Dominic NEGOTIATION
Salvatore F KuskoArgentinaElwin Sharvill QUALIFIED
Chavez P PerinCanadaAsiya Javayant PROPOSAL
Wickens J RoysterSpainOnyama Limba PROPOSAL
Ricardo N FerenczCanadaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon L CampainAustralia2024-06-11Morlong Associates QUALIFIED68Bernardo Dominic
1001Claire M TollnerFrance2024-06-07Buckley Miller Wright NEW86Ioni Bowcher
1002Francesco W DilliardRussia2024-06-04Printing Dimensions RENEWAL10Ivan Magalhaes
1003Darci U RutaRussia2024-06-14Rousseaux, Michael Esq QUALIFIED66Anna Fali
1004Salvatore M SlusarskiGermany2024-06-13Commercial Press NEW68Ivan Magalhaes
1005Alejandro A NickaCanada2024-05-25Benton, John B Jr PROPOSAL3Anna Fali
1006Jeanfrancois J MaletItaly2024-05-26Rangoni Of Florence NEGOTIATION36Amy Elsner
1007Arvin B NestleArgentina2024-06-04Chapman, Ross E Esq PROPOSAL16Ioni Bowcher
1008Arvin U GauchoGermany2024-05-28Chapman, Ross E Esq RENEWAL86Bernardo Dominic
1009Greenwood K StockhamAustralia2024-06-08Printing Dimensions NEW54Ivan Magalhaes
1010Greenwood V RimArgentina2024-05-30Chanay, Jeffrey A Esq RENEWAL29Xuxue Feng
1011Nicolas R CaldareraJapan2024-05-24Chemel, James L Cpa PROPOSAL49Amy Elsner
1012Ricardo X MacleadItaly2024-05-25Benton, John B Jr QUALIFIED0Asiya Javayant
1013Morrow H RutaFrance2024-06-15Commercial Press UNQUALIFIED16Bernardo Dominic
1014Antonio Y CaudyItaly2024-05-30Feltz Printing Service NEW15Bernardo Dominic
1015Juan F PoquetteFrance2024-06-19Dorl, James J Esq QUALIFIED41Xuxue Feng
1016Smith I StensethAustralia2024-06-19Benton, John B Jr UNQUALIFIED82Elwin Sharvill
1017Ricardo I GarufiAustralia2024-05-29Rangoni Of Florence UNQUALIFIED86Elwin Sharvill
1018Aika O GillianBrazil2024-06-15Benton, John B Jr QUALIFIED11Amy Elsner
1019Sinclair G AmigonItaly2024-06-19Buckley Miller Wright NEW70Onyama Limba
1020Claire W GauchoArgentina2024-06-05Dorl, James J Esq UNQUALIFIED85Ivan Magalhaes
1021Leja D FigeroaCanada2024-06-03Morlong Associates QUALIFIED95Amy Elsner
1022James S WaycottArgentina2024-06-22Morlong Associates RENEWAL30Onyama Limba
1023Ashley H FerenczIndia2024-06-06Commercial Press UNQUALIFIED90Stephen Shaw
1024Jennifer E MaletArgentina2024-06-19Dorl, James J Esq NEGOTIATION80Bernardo Dominic
1025Isabel B ChuiIndia2024-06-22Truhlar And Truhlar Attys QUALIFIED96Onyama Limba
1026Salvatore O RoysterJapan2024-05-25Rangoni Of Florence PROPOSAL8Asiya Javayant
1027James S StensethGermany2024-06-05Printing Dimensions QUALIFIED59Bernardo Dominic
1028Jeanfrancois N RoysterJapan2024-05-24Morlong Associates PROPOSAL10Ivan Magalhaes
1029Nicolas U CaldareraIndia2024-06-08Rousseaux, Michael Esq QUALIFIED11Ivan Magalhaes
1030Ashley W AlbaresSpain2024-06-22Truhlar And Truhlar Attys RENEWAL78Bernardo Dominic
1031Chavez R KolmetzSpain2024-06-19Commercial Press NEGOTIATION11Ivan Magalhaes
1032Arvin O WhobreyJapan2024-06-07Truhlar And Truhlar Attys RENEWAL28Xuxue Feng
1033Darci C SlusarskiRussia2024-06-06Chapman, Ross E Esq RENEWAL72Ivan Magalhaes
1034Jennifer O KolmetzBrazil2024-06-16Buckley Miller Wright NEW24Bernardo Dominic
1035Salvatore N FigeroaFrance2024-06-13Rousseaux, Michael Esq PROPOSAL75Xuxue Feng
1036Silvio G WhobreySpain2024-05-29Morlong Associates NEW97Anna Fali
1037Silvio X SaylorsIndia2024-06-03Commercial Press UNQUALIFIED20Anna Fali
1038Izzy U MarrierItaly2024-06-21Commercial Press QUALIFIED56Onyama Limba
1039Alejandro Y GarufiCanada2024-06-01Chanay, Jeffrey A Esq PROPOSAL28Anna Fali
1040Rodrigues O StensethArgentina2024-06-13Feiner Bros PROPOSAL34Amy Elsner
1041Ivar B VocelkaAustralia2024-06-12Feltz Printing Service UNQUALIFIED45Amy Elsner
1042Antonio J BriddickIndia2024-05-29Dorl, James J Esq NEW85Xuxue Feng
1043Mayumi Z GarufiGermany2024-05-29King, Christopher A Esq PROPOSAL61Bernardo Dominic
1044Morrow Z MacleadUnited Kingdom2024-06-19Rangoni Of Florence UNQUALIFIED50Asiya Javayant
1045Smith K AlbaresArgentina2024-06-07Feltz Printing Service UNQUALIFIED53Amy Elsner
1046Mayumi J StockhamArgentina2024-06-15Buckley Miller Wright RENEWAL96Xuxue Feng
1047Misaki A SaylorsFrance2024-06-21Truhlar And Truhlar Attys NEW51Xuxue Feng
1048Alejandro D DilliardArgentina2024-06-14Commercial Press UNQUALIFIED80Onyama Limba
1049Antonio F NestleArgentina2024-05-31Buckley Miller Wright RENEWAL76Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Darci K WhobreySpainElwin Sharvill QUALIFIED
Mujtaba A FlosiSpainAnna Fali PROPOSAL
Cody L SlusarskiGermanyIoni Bowcher PROPOSAL
Silvio C ButtJapanBernardo Dominic UNQUALIFIED
Kaitlin J GillianGermanyOnyama Limba RENEWAL
Ivar H PoquetteSpainOnyama Limba UNQUALIFIED
Murillo S StensethSpainBernardo Dominic PROPOSAL
Sinclair E BriddickGermanyElwin Sharvill NEGOTIATION
David I CaldareraBrazilAsiya Javayant UNQUALIFIED
Murillo K StensethRussiaIoni Bowcher NEW
Jones A NestleJapanAmy Elsner NEGOTIATION
Chavez T RoysterBrazilAsiya Javayant QUALIFIED
Aditya G TollnerArgentinaElwin Sharvill RENEWAL
Tony A PoquetteIndiaAmy Elsner NEW
Ivar B RoysterFranceAnna Fali PROPOSAL
Johnson V PoquetteGermanyElwin Sharvill PROPOSAL
Aika H FlosiFranceStephen Shaw QUALIFIED
Arvin B KuskoBrazilOnyama Limba RENEWAL
Leon C FollerSpainIvan Magalhaes RENEWAL
Emily J RutaUnited KingdomXuxue Feng PROPOSAL
Mujtaba X BowleyAustraliaIvan Magalhaes QUALIFIED
Smith B StensethBrazilIoni Bowcher NEGOTIATION
Rodrigues P GarufiGermanyElwin Sharvill NEW
Juan K GauchoFranceElwin Sharvill NEGOTIATION
Aruna W KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Silvio C AlbaresBrazilAmy Elsner PROPOSAL
Cody L KuskoAustraliaIoni Bowcher UNQUALIFIED
Arvin R FigeroaGermanyXuxue Feng NEW
Nicolas B NestleSpainOnyama Limba PROPOSAL
Francesco E StockhamRussiaXuxue Feng QUALIFIED
Deepesh M CampainIndiaAnna Fali PROPOSAL
Kadeem E GauchoSpainAnna Fali RENEWAL
Rodrigues B BologniaBrazilIoni Bowcher QUALIFIED
Ricardo P ChuiAustraliaIoni Bowcher PROPOSAL
Darci Y WieserAustraliaIvan Magalhaes NEW
Jefferson W GillianUnited KingdomIoni Bowcher QUALIFIED
Alejandro Z OldroydGermanyStephen Shaw NEW
Arvin I TollnerGermanyIvan Magalhaes NEW
Munro G TollnerRussiaIvan Magalhaes PROPOSAL
Alejandro S RutaUnited KingdomAsiya Javayant UNQUALIFIED
Wickens H MarrierIndiaBernardo Dominic NEW
Morrow S SchemmerJapanStephen Shaw NEGOTIATION
Salvatore I NestleAustraliaStephen Shaw QUALIFIED
Leja L FigeroaJapanElwin Sharvill QUALIFIED
Johnson X MarrierAustraliaAmy Elsner NEGOTIATION
Misaki N WieserItalyAnna Fali NEW
Sinclair G InouyeAustraliaElwin Sharvill RENEWAL
Costa Y ButtAustraliaOnyama Limba NEGOTIATION
Jefferson M NickaBrazilOnyama Limba UNQUALIFIED
Smith R MarrierUnited KingdomStephen Shaw PROPOSAL
Frozen Columns
Name
Tony C Malet
Juan E Wieser
Leon N Marrier
Murillo K Nestle
Silvio K Malet
Chavez P Oldroyd
Kaitlin I Foller
Silvio Q Paprocki
Antonio P Campain
Murillo H Malet
Alejandro Y Figeroa
James L Gaucho
Faith Z Bowley
Stacey J Butt
Stacey K Amigon
Costa M Chui
Leon Z Albares
Murillo O Stockham
Greenwood Q Dilliard
Julie H Darakjy
Isabel S Ostrosky
Ricardo J Saylors
Jefferson J Rulapaugh
Adams F Bolognia
Salvatore X Rulapaugh
Greenwood R Foller
David E Albares
Sinclair D Perin
Jennifer F Albares
Antonio C Figeroa
Julie O Ruta
Darci T Kusko
Johnson Q Gaucho
Kadeem Y Inouye
Jones S Morasca
Clifford D Royster
Greenwood E Vocelka
Leja I Briddick
Clifford D Morasca
Adams U Wieser
Kadeem F Waycott
Stacey R Poquette
James B Nestle
Nicolas L Waycott
Arvin H Marrier
Faith G Marrier
Sinclair M Schemmer
Aruna O Iturbide
Stacey A Schemmer
Cody M Figeroa
IdCountryDate
1000Brazil2024-06-19
1001Italy2024-05-31
1002Brazil2024-06-02
1003France2024-06-17
1004France2024-06-15
1005Spain2024-05-28
1006Canada2024-06-07
1007Argentina2024-06-12
1008Italy2024-06-12
1009India2024-06-15
1010France2024-05-24
1011India2024-06-10
1012France2024-05-31
1013Argentina2024-06-14
1014United Kingdom2024-06-19
1015Italy2024-06-21
1016Japan2024-06-05
1017Brazil2024-06-07
1018Australia2024-06-12
1019Japan2024-06-21
1020Japan2024-06-15
1021Brazil2024-05-28
1022Argentina2024-05-25
1023United Kingdom2024-06-14
1024Italy2024-06-19
1025Argentina2024-05-31
1026Brazil2024-06-06
1027Spain2024-06-04
1028United Kingdom2024-06-01
1029France2024-06-05
1030France2024-06-16
1031Russia2024-06-13
1032United Kingdom2024-05-29
1033Russia2024-06-22
1034Argentina2024-05-26
1035India2024-05-26
1036France2024-05-28
1037United Kingdom2024-06-05
1038France2024-05-24
1039Russia2024-05-26
1040India2024-05-25
1041Japan2024-05-24
1042Canada2024-06-16
1043Russia2024-05-27
1044Brazil2024-06-01
1045Australia2024-06-15
1046Japan2024-06-10
1047Argentina2024-05-30
1048Canada2024-06-03
1049Germany2024-06-09

On-Demand Data

NameIdCountryDate
Ivar N Marrier1000Japan2024-05-25
Isabel S Ferencz1001Japan2024-06-07
Ricardo L Venere1002Spain2024-06-20
Wickens X Ostrosky1003Spain2024-06-06
Stacey M Gaucho1004Japan2024-05-31
Salvatore K Briddick1005India2024-05-28
Faith N Garufi1006Argentina2024-06-14
Greenwood K Malet1007Argentina2024-05-26
Maria E Stenseth1008Italy2024-06-10
Arvin E Shinko1009Brazil2024-06-16
Darci D Foller1010Argentina2024-06-03
Octavia Z Morasca1011Spain2024-06-05
Antonio N Gaucho1012France2024-05-31
Sinclair B Gillian1013Germany2024-06-12
Juan A Waycott1014Canada2024-06-08
Rodrigues A Perin1015France2024-05-26
Maisha E Malet1016Australia2024-06-12
Jones Q Whobrey1017Russia2024-06-20
Faith N Rulapaugh1018Argentina2024-05-31
Costa H Shinko1019Argentina2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair X GarufiUnited KingdomXuxue Feng RENEWAL
Maria G AmigonItalyAsiya Javayant NEW
Antonio X WaycottRussiaBernardo Dominic UNQUALIFIED
Silvio T CampainUnited KingdomAnna Fali NEW
Isabel J NickaSpainBernardo Dominic QUALIFIED
Nicolas B MaletItalyElwin Sharvill PROPOSAL
Claire I SchemmerGermanyElwin Sharvill UNQUALIFIED
Octavia D MorascaItalyIoni Bowcher PROPOSAL
Isabel Z DilliardUnited KingdomXuxue Feng RENEWAL
Silvio E StensethFranceOnyama Limba NEW
Mujtaba S CaudyRussiaAsiya Javayant PROPOSAL
Johnson F WaycottArgentinaStephen Shaw NEW
Maisha D ShinkoCanadaAmy Elsner QUALIFIED
Misaki C GillianSpainIoni Bowcher UNQUALIFIED
Salvatore N DilliardArgentinaXuxue Feng QUALIFIED
Silvio L DoeIndiaStephen Shaw NEW
Ivar C FigeroaRussiaIvan Magalhaes QUALIFIED
Aruna S InouyeAustraliaIvan Magalhaes NEW
Johnson X MaletBrazilBernardo Dominic PROPOSAL
Isabel L RimSpainBernardo Dominic QUALIFIED
Julie B StockhamFranceAmy Elsner RENEWAL
Wickens Y FigeroaBrazilAnna Fali NEW
Sinclair A PerinBrazilAsiya Javayant PROPOSAL
Maria A AmigonRussiaAmy Elsner PROPOSAL
Munro O OstroskyCanadaOnyama Limba UNQUALIFIED
Rodrigues K GillianArgentinaBernardo Dominic NEW
Rodrigues P WieserSpainAmy Elsner UNQUALIFIED
Ricardo V MacleadArgentinaAnna Fali NEGOTIATION
Sinclair Y AlbaresAustraliaStephen Shaw QUALIFIED
Jennifer R CaldareraSpainAnna Fali RENEWAL
Deepesh D StensethJapanAnna Fali UNQUALIFIED
Aika N StockhamCanadaStephen Shaw NEW
Smith T GarufiRussiaElwin Sharvill UNQUALIFIED
Nicolas B StensethItalyElwin Sharvill NEW
Darci Z PaprockiCanadaElwin Sharvill NEW
Adams N GillianAustraliaBernardo Dominic UNQUALIFIED
James Y DilliardFranceAnna Fali RENEWAL
Greenwood V RoysterFranceAsiya Javayant QUALIFIED
Stacey C GlickGermanyStephen Shaw UNQUALIFIED
Jones W StockhamIndiaAsiya Javayant 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>