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
Aruna E MacleadSpainXuxue Feng QUALIFIED
Faith G StockhamJapanElwin Sharvill PROPOSAL
Cody V FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo E RulapaughJapanStephen Shaw PROPOSAL
Costa Q VocelkaGermanyOnyama Limba QUALIFIED
David X CampainSpainElwin Sharvill NEW
Emily O GlickIndiaBernardo Dominic UNQUALIFIED
Rodrigues R IturbideIndiaAnna Fali UNQUALIFIED
Nicolas E MorascaRussiaOnyama Limba UNQUALIFIED
Greenwood C CaudyItalyStephen Shaw NEGOTIATION
Rodrigues B CaldareraArgentinaAsiya Javayant PROPOSAL
Misaki Z FollerGermanyBernardo Dominic NEGOTIATION
Wickens V TollnerRussiaXuxue Feng NEW
Antonio F SaylorsIndiaXuxue Feng UNQUALIFIED
Salvatore Y ShinkoSpainXuxue Feng NEGOTIATION
Maisha I FollerUnited KingdomElwin Sharvill NEGOTIATION
Aditya K FerenczAustraliaAnna Fali QUALIFIED
Silvio X CaudyItalyElwin Sharvill PROPOSAL
Kaitlin Z StensethFranceStephen Shaw UNQUALIFIED
Jennifer M PoquetteCanadaIoni Bowcher RENEWAL
Maria Z FlosiRussiaStephen Shaw PROPOSAL
Jones M WaycottBrazilElwin Sharvill RENEWAL
Rodrigues Y DoeAustraliaAsiya Javayant NEGOTIATION
Aika R StensethUnited KingdomBernardo Dominic NEGOTIATION
Antonio J GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas M DarakjyIndiaStephen Shaw QUALIFIED
Smith R DilliardArgentinaElwin Sharvill QUALIFIED
Silvio N RulapaughUnited KingdomAmy Elsner NEW
Stacey B GarufiArgentinaAmy Elsner NEW
Leja N PaprockiAustraliaAmy Elsner RENEWAL
Ivar Z SlusarskiJapanElwin Sharvill NEGOTIATION
Francesco A IturbideCanadaXuxue Feng NEGOTIATION
Morrow J GillianUnited KingdomIvan Magalhaes NEGOTIATION
Wickens B ChuiJapanStephen Shaw QUALIFIED
Sinclair O CaldareraSpainElwin Sharvill UNQUALIFIED
Maria I RoysterGermanyIoni Bowcher QUALIFIED
Sinclair A FlosiArgentinaAsiya Javayant RENEWAL
Morrow Q MorascaGermanyAmy Elsner PROPOSAL
Alejandro D GlickFranceXuxue Feng QUALIFIED
Jeanfrancois L SaylorsAustraliaElwin Sharvill NEW
Emily L RulapaughSpainXuxue Feng PROPOSAL
Mayumi F BriddickIndiaAmy Elsner QUALIFIED
Aruna H FerenczIndiaOnyama Limba UNQUALIFIED
Maisha F DarakjyFranceAsiya Javayant QUALIFIED
Aruna J GauchoUnited KingdomStephen Shaw NEW
Antonio R CaudyAustraliaXuxue Feng UNQUALIFIED
Rodrigues I BowleyItalyOnyama Limba PROPOSAL
David C ShinkoGermanyOnyama Limba QUALIFIED
Tony L StockhamArgentinaOnyama Limba PROPOSAL
Claire K GillianUnited KingdomAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Deepesh Q StockhamArgentinaBernardo Dominic NEW
James Z KuskoArgentinaAmy Elsner NEGOTIATION
Izzy M FollerRussiaAnna Fali UNQUALIFIED
Jeanfrancois G SaylorsFranceAnna Fali QUALIFIED
Emily M RulapaughItalyBernardo Dominic PROPOSAL
Stacey Q FerenczItalyXuxue Feng QUALIFIED
Morrow U AmigonSpainBernardo Dominic UNQUALIFIED
Smith S PaprockiAustraliaXuxue Feng RENEWAL
Leja W KolmetzAustraliaStephen Shaw NEW
Ivar B GillianUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez T TollnerRussia2026-06-11Feiner Bros RENEWAL69Stephen Shaw
1001Munro F ButtArgentina2026-06-12Printing Dimensions NEW40Xuxue Feng
1002Ricardo Z NickaBrazil2026-06-10Printing Dimensions NEW91Asiya Javayant
1003Adams B VenereCanada2026-06-27Dorl, James J Esq NEW63Elwin Sharvill
1004Maisha Q BowleyRussia2026-06-28Chemel, James L Cpa UNQUALIFIED2Stephen Shaw
1005David A SlusarskiRussia2026-06-28Benton, John B Jr NEGOTIATION43Xuxue Feng
1006Julie R WhobreySpain2026-06-10Feiner Bros PROPOSAL59Bernardo Dominic
1007Mayumi A PoquetteGermany2026-06-14Rangoni Of Florence NEW17Elwin Sharvill
1008Murillo N InouyeIndia2026-06-15Truhlar And Truhlar Attys PROPOSAL77Stephen Shaw
1009Jones N MaletGermany2026-06-06Benton, John B Jr UNQUALIFIED72Xuxue Feng
1010Aditya D WhobreyBrazil2026-06-15Feiner Bros PROPOSAL40Onyama Limba
1011Aruna W KolmetzItaly2026-06-15Feiner Bros PROPOSAL44Anna Fali
1012Wickens U GarufiCanada2026-06-25Feiner Bros QUALIFIED97Xuxue Feng
1013Costa Q DoeItaly2026-06-30Chapman, Ross E Esq NEGOTIATION43Asiya Javayant
1014Francesco R AmigonUnited Kingdom2026-06-28Feiner Bros NEGOTIATION25Ioni Bowcher
1015Ashley V AlbaresGermany2026-06-08Feiner Bros RENEWAL34Asiya Javayant
1016Izzy X StensethFrance2026-06-06Feltz Printing Service PROPOSAL44Onyama Limba
1017Stacey B AmigonAustralia2026-06-24Truhlar And Truhlar Attys QUALIFIED18Amy Elsner
1018Emily O TollnerCanada2026-07-04Rangoni Of Florence PROPOSAL47Anna Fali
1019Chavez P InouyeSpain2026-06-26Benton, John B Jr PROPOSAL43Anna Fali
1020Claire V CaldareraBrazil2026-06-17Benton, John B Jr UNQUALIFIED4Xuxue Feng
1021Tony Q CaldareraAustralia2026-07-01Dorl, James J Esq NEGOTIATION28Elwin Sharvill
1022Smith A MaletAustralia2026-06-27Buckley Miller Wright NEGOTIATION89Bernardo Dominic
1023Morrow J MaletItaly2026-06-10Commercial Press RENEWAL42Anna Fali
1024Mujtaba G MorascaBrazil2026-06-21Feiner Bros NEGOTIATION76Xuxue Feng
1025Kaitlin P GarufiUnited Kingdom2026-06-28Benton, John B Jr QUALIFIED29Anna Fali
1026Murillo P BologniaIndia2026-06-29Truhlar And Truhlar Attys RENEWAL10Stephen Shaw
1027Aruna P PaprockiItaly2026-07-04Commercial Press PROPOSAL56Asiya Javayant
1028Smith A NickaItaly2026-07-02Benton, John B Jr NEW7Elwin Sharvill
1029Jeanfrancois F DilliardGermany2026-06-19Chemel, James L Cpa UNQUALIFIED54Stephen Shaw
1030Aika O VenereFrance2026-06-12Morlong Associates QUALIFIED28Ivan Magalhaes
1031Deepesh L DoeSpain2026-06-21Morlong Associates NEGOTIATION32Bernardo Dominic
1032Claire S WieserCanada2026-06-27Chanay, Jeffrey A Esq QUALIFIED47Elwin Sharvill
1033Cody Y SlusarskiIndia2026-06-15Commercial Press UNQUALIFIED27Elwin Sharvill
1034Mayumi Q GarufiUnited Kingdom2026-06-16Dorl, James J Esq NEW30Onyama Limba
1035Silvio E BologniaIndia2026-06-19Dorl, James J Esq QUALIFIED11Ioni Bowcher
1036Mayumi A KolmetzGermany2026-06-14King, Christopher A Esq UNQUALIFIED80Xuxue Feng
1037Mujtaba X DarakjyBrazil2026-06-27Rousseaux, Michael Esq QUALIFIED70Anna Fali
1038Emily U SchemmerJapan2026-06-09Rousseaux, Michael Esq RENEWAL88Asiya Javayant
1039Morrow J WaycottGermany2026-06-06Morlong Associates RENEWAL45Asiya Javayant
1040Tony P SaylorsItaly2026-06-15Benton, John B Jr RENEWAL30Elwin Sharvill
1041Sinclair X MaletCanada2026-06-23Rousseaux, Michael Esq NEGOTIATION17Ioni Bowcher
1042Ricardo Y WaycottRussia2026-06-14Morlong Associates QUALIFIED93Amy Elsner
1043Aika E PaprockiUnited Kingdom2026-06-11Dorl, James J Esq PROPOSAL14Elwin Sharvill
1044Jeanfrancois C MaletJapan2026-06-06Commercial Press NEW31Anna Fali
1045Isabel W MaletIndia2026-06-24Truhlar And Truhlar Attys QUALIFIED77Stephen Shaw
1046Johnson H MorascaAustralia2026-06-13Truhlar And Truhlar Attys PROPOSAL32Anna Fali
1047Rodrigues L VocelkaArgentina2026-06-10Chanay, Jeffrey A Esq QUALIFIED61Onyama Limba
1048Maria C VocelkaBrazil2026-06-09King, Christopher A Esq NEW0Asiya Javayant
1049Octavia Z GillianFrance2026-06-20Printing Dimensions UNQUALIFIED77Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams O AlbaresIndiaIvan Magalhaes NEGOTIATION
Antonio W RoysterRussiaAsiya Javayant NEGOTIATION
Wickens V BowleyCanadaOnyama Limba NEW
Leon V MorascaAustraliaAmy Elsner NEW
Antonio F IturbideJapanAsiya Javayant RENEWAL
Ivar I AmigonFranceAsiya Javayant UNQUALIFIED
Juan H CaldareraItalyAsiya Javayant NEW
Jeanfrancois M DarakjyArgentinaBernardo Dominic UNQUALIFIED
Cody D AlbaresSpainBernardo Dominic UNQUALIFIED
Stacey Y VocelkaCanadaAnna Fali NEW
Antonio S GauchoUnited KingdomBernardo Dominic NEGOTIATION
David I BologniaSpainElwin Sharvill NEGOTIATION
Mujtaba W NestleGermanyStephen Shaw NEGOTIATION
Morrow Y WieserJapanXuxue Feng NEW
Darci V RoysterCanadaAnna Fali QUALIFIED
Deepesh B TollnerBrazilIoni Bowcher QUALIFIED
Tony G ShinkoUnited KingdomIoni Bowcher PROPOSAL
Ivar S OldroydGermanyAnna Fali NEW
Clifford L RulapaughSpainXuxue Feng RENEWAL
Nicolas G InouyeAustraliaStephen Shaw QUALIFIED
Nicolas Q StockhamSpainAsiya Javayant NEW
Ashley X VenereGermanyBernardo Dominic RENEWAL
Leon U OstroskyRussiaOnyama Limba NEGOTIATION
Julie J WhobreyItalyBernardo Dominic PROPOSAL
Maria L RutaSpainOnyama Limba PROPOSAL
Faith W MorascaSpainAnna Fali UNQUALIFIED
Ashley G ChuiFranceElwin Sharvill NEGOTIATION
Morrow S CaudyArgentinaIvan Magalhaes NEGOTIATION
Salvatore P RutaBrazilAmy Elsner UNQUALIFIED
Silvio R ChuiAustraliaBernardo Dominic UNQUALIFIED
Kaitlin P PaprockiUnited KingdomAsiya Javayant PROPOSAL
Emily F DilliardGermanyAmy Elsner RENEWAL
Ivar P SchemmerRussiaBernardo Dominic NEGOTIATION
Chavez N RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Morrow O OstroskyRussiaOnyama Limba RENEWAL
Arvin G SchemmerItalyIvan Magalhaes NEGOTIATION
Juan K DilliardAustraliaOnyama Limba PROPOSAL
Kadeem E OldroydUnited KingdomAsiya Javayant RENEWAL
Aruna F GauchoRussiaXuxue Feng UNQUALIFIED
Tony D MaletArgentinaElwin Sharvill NEGOTIATION
Misaki D BriddickBrazilElwin Sharvill RENEWAL
Sinclair O SchemmerJapanIvan Magalhaes NEW
Alejandro L WaycottUnited KingdomBernardo Dominic PROPOSAL
Ashley Z InouyeAustraliaOnyama Limba NEW
Salvatore V PaprockiGermanyAnna Fali PROPOSAL
Aika F InouyeUnited KingdomStephen Shaw NEW
Nicolas C GarufiRussiaAmy Elsner UNQUALIFIED
Alejandro C FlosiUnited KingdomOnyama Limba NEGOTIATION
Emily D TollnerJapanIoni Bowcher NEGOTIATION
Maisha G GillianBrazilAsiya Javayant NEGOTIATION
Frozen Columns
Name
Jefferson Z Kolmetz
Clifford G Marrier
Jeanfrancois N Kusko
Greenwood K Marrier
Cody M Perin
James I Marrier
Misaki S Albares
Smith E Amigon
Silvio A Briddick
Alejandro C Stenseth
Ashley S Vocelka
Leja Q Stenseth
Jones L Chui
Chavez V Marrier
Alejandro E Marrier
Smith U Saylors
Chavez H Rim
Octavia G Caudy
Ashley N Amigon
Johnson C Schemmer
Darci P Perin
Alejandro T Bowley
Emily J Chui
Jeanfrancois S Venere
Adams W Waycott
Aruna T Venere
Salvatore H Figeroa
James E Campain
Julie B Butt
Izzy J Butt
Julie O Inouye
Smith Q Gaucho
Aika C Ferencz
Kadeem Y Butt
Adams N Poquette
Emily M Doe
Nicolas F Albares
Ivar H Malet
Alejandro S Bowley
Rodrigues Z Nestle
Morrow W Perin
Emily D Rulapaugh
Francesco Y Flosi
Emily F Malet
Kaitlin V Malet
Claire G Morasca
Jeanfrancois A Malet
Silvio U Waycott
Maisha E Marrier
Claire X Campain
IdCountryDate
1000Argentina2026-06-25
1001Argentina2026-06-16
1002United Kingdom2026-06-30
1003Brazil2026-06-26
1004Russia2026-06-12
1005United Kingdom2026-07-03
1006Germany2026-06-26
1007Germany2026-06-28
1008Australia2026-06-17
1009Australia2026-06-25
1010Australia2026-06-19
1011United Kingdom2026-06-07
1012Russia2026-06-28
1013Russia2026-06-25
1014Italy2026-06-26
1015Canada2026-06-09
1016Japan2026-07-03
1017France2026-06-30
1018Japan2026-06-22
1019Japan2026-07-03
1020Japan2026-06-23
1021Spain2026-06-20
1022India2026-06-08
1023Brazil2026-06-27
1024United Kingdom2026-07-03
1025Brazil2026-06-10
1026Russia2026-06-10
1027India2026-06-17
1028Germany2026-06-20
1029Argentina2026-06-20
1030Argentina2026-06-24
1031Brazil2026-06-25
1032India2026-06-16
1033Canada2026-06-18
1034Germany2026-07-01
1035Japan2026-06-09
1036Spain2026-07-04
1037Canada2026-06-25
1038Canada2026-06-06
1039United Kingdom2026-06-26
1040Italy2026-06-06
1041Japan2026-06-26
1042Argentina2026-06-24
1043Australia2026-06-19
1044France2026-07-04
1045France2026-06-30
1046India2026-06-23
1047India2026-06-10
1048Canada2026-06-12
1049Italy2026-06-22

On-Demand Data

NameIdCountryDate
Arvin N Maclead1000Brazil2026-07-04
Isabel N Albares1001Australia2026-06-22
Mujtaba R Gillian1002Japan2026-06-25
Kaitlin Z Vocelka1003United Kingdom2026-06-06
Maria P Chui1004Japan2026-06-22
Jennifer D Kusko1005United Kingdom2026-06-16
Rodrigues J Garufi1006Russia2026-06-21
Misaki R Paprocki1007Spain2026-06-25
David F Gaucho1008France2026-06-12
Morrow E Kolmetz1009Brazil2026-06-19
Ivar N Ruta1010Japan2026-07-01
Costa K Bolognia1011France2026-06-26
Ivar Z Briddick1012India2026-06-19
Munro L Flosi1013Argentina2026-06-28
Jeanfrancois K Doe1014Argentina2026-06-18
Murillo S Bowley1015India2026-06-28
Mujtaba L Campain1016Germany2026-06-24
Darci M Bowley1017France2026-06-26
Rodrigues E Sergi1018France2026-06-28
Chavez Q Nestle1019France2026-07-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika U WaycottCanadaIoni Bowcher PROPOSAL
Cody H ShinkoAustraliaXuxue Feng RENEWAL
Silvio Z StensethArgentinaAmy Elsner NEGOTIATION
Claire G DarakjyAustraliaXuxue Feng UNQUALIFIED
Clifford F CaldareraJapanStephen Shaw UNQUALIFIED
Ricardo Z BowleyFranceOnyama Limba NEW
Aruna R MacleadBrazilIoni Bowcher QUALIFIED
Maria V RimCanadaAnna Fali RENEWAL
Maria W DarakjyCanadaAsiya Javayant QUALIFIED
Sinclair K RoysterBrazilAmy Elsner RENEWAL
Sinclair D GauchoGermanyBernardo Dominic QUALIFIED
Jones A MacleadArgentinaAmy Elsner NEGOTIATION
Wickens B PerinCanadaOnyama Limba PROPOSAL
Julie N ChuiAustraliaAnna Fali NEW
Isabel M DilliardSpainAmy Elsner NEW
Octavia G VocelkaItalyXuxue Feng NEW
Cody H SlusarskiBrazilAmy Elsner PROPOSAL
Leja D MacleadSpainIoni Bowcher NEW
Izzy X GillianAustraliaAnna Fali UNQUALIFIED
Mujtaba G VenereUnited KingdomIvan Magalhaes PROPOSAL
Tony V BriddickItalyBernardo Dominic PROPOSAL
Mujtaba P BowleyRussiaAsiya Javayant PROPOSAL
Aditya J DilliardAustraliaAmy Elsner NEGOTIATION
Kadeem Q DilliardCanadaAmy Elsner UNQUALIFIED
Jeanfrancois B MarrierSpainAmy Elsner RENEWAL
Munro M ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Clifford D FerenczRussiaAnna Fali RENEWAL
Ricardo H WieserItalyAmy Elsner NEW
Octavia S PoquetteFranceIvan Magalhaes NEGOTIATION
Ashley R SlusarskiAustraliaElwin Sharvill NEW
Antonio G CaudyJapanIvan Magalhaes NEGOTIATION
Jefferson R FigeroaFranceElwin Sharvill UNQUALIFIED
Smith Y MorascaBrazilIvan Magalhaes PROPOSAL
Aditya J SaylorsIndiaOnyama Limba NEGOTIATION
Jennifer A IturbideArgentinaAsiya Javayant RENEWAL
Clifford I KolmetzUnited KingdomElwin Sharvill QUALIFIED
Isabel E WhobreyRussiaIoni Bowcher QUALIFIED
Clifford E RoysterCanadaElwin Sharvill RENEWAL
James I IturbideAustraliaXuxue Feng QUALIFIED
Stacey P VocelkaSpainAmy Elsner NEGOTIATION

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