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
Nicolas N PaprockiRussiaStephen Shaw PROPOSAL
Morrow S MarrierAustraliaAnna Fali QUALIFIED
Mujtaba J FollerGermanyAsiya Javayant PROPOSAL
Ricardo N MorascaArgentinaAsiya Javayant NEGOTIATION
Nicolas F GlickRussiaAmy Elsner UNQUALIFIED
Mujtaba O StensethCanadaIvan Magalhaes RENEWAL
Arvin E CaudyFranceOnyama Limba UNQUALIFIED
Maria D GillianRussiaXuxue Feng NEGOTIATION
Wickens N OldroydJapanBernardo Dominic QUALIFIED
Smith A MarrierIndiaOnyama Limba QUALIFIED
Isabel X FerenczRussiaIvan Magalhaes NEW
Isabel F OldroydBrazilAsiya Javayant NEW
Clifford P SergiBrazilIvan Magalhaes NEGOTIATION
Aruna W MaletSpainStephen Shaw UNQUALIFIED
Aditya R PerinItalyAnna Fali NEGOTIATION
Aika J FollerBrazilAmy Elsner QUALIFIED
Ivar A NickaFranceOnyama Limba PROPOSAL
Kadeem P PerinCanadaBernardo Dominic QUALIFIED
Nicolas W FigeroaAustraliaAmy Elsner RENEWAL
Sinclair I PoquetteIndiaStephen Shaw NEGOTIATION
Faith B MaletItalyOnyama Limba RENEWAL
Julie O RoysterIndiaAnna Fali RENEWAL
Jeanfrancois E MacleadGermanyStephen Shaw NEGOTIATION
Isabel A BowleyJapanIvan Magalhaes RENEWAL
Stacey W TollnerSpainIoni Bowcher QUALIFIED
Morrow H SaylorsFranceStephen Shaw PROPOSAL
Silvio B ShinkoCanadaIoni Bowcher UNQUALIFIED
Aruna J RimRussiaOnyama Limba UNQUALIFIED
Smith C DarakjyJapanXuxue Feng PROPOSAL
Jennifer D CaldareraJapanAsiya Javayant NEW
Maria F BriddickGermanyElwin Sharvill NEGOTIATION
Kaitlin M OldroydItalyStephen Shaw UNQUALIFIED
Smith C ShinkoBrazilIvan Magalhaes PROPOSAL
Adams T GauchoItalyXuxue Feng QUALIFIED
Cody T MorascaItalyBernardo Dominic NEW
David W WhobreyCanadaBernardo Dominic NEW
Ashley S IturbideIndiaBernardo Dominic RENEWAL
Octavia O NestleAustraliaIvan Magalhaes PROPOSAL
Rodrigues N TollnerCanadaOnyama Limba QUALIFIED
Kaitlin B MaletIndiaOnyama Limba UNQUALIFIED
Adams C GlickJapanOnyama Limba RENEWAL
Tony N ChuiCanadaBernardo Dominic QUALIFIED
Maria J SlusarskiIndiaXuxue Feng UNQUALIFIED
Tony U OstroskyJapanAmy Elsner PROPOSAL
Mayumi Q MaletUnited KingdomBernardo Dominic NEGOTIATION
Claire R WaycottItalyElwin Sharvill PROPOSAL
Mujtaba O SaylorsCanadaOnyama Limba NEGOTIATION
Sinclair J IturbideUnited KingdomElwin Sharvill QUALIFIED
Ricardo Y PaprockiGermanyXuxue Feng NEGOTIATION
Alejandro T RimFranceAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Julie I SlusarskiJapanIvan Magalhaes UNQUALIFIED
Claire G SchemmerCanadaAsiya Javayant PROPOSAL
Claire N SaylorsFranceAsiya Javayant NEGOTIATION
Leon S KolmetzJapanAmy Elsner NEW
James D RimArgentinaAmy Elsner QUALIFIED
Francesco O MacleadArgentinaAnna Fali NEW
Rodrigues Z ShinkoBrazilBernardo Dominic NEW
Salvatore S GarufiGermanyAsiya Javayant RENEWAL
Adams J RoysterArgentinaAmy Elsner RENEWAL
Ashley E MorascaSpainAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Q RutaArgentina2025-04-07Buckley Miller Wright NEGOTIATION10Bernardo Dominic
1001Alejandro Q PerinIndia2025-04-07Rangoni Of Florence NEW2Onyama Limba
1002Kadeem V CampainAustralia2025-04-29Morlong Associates NEGOTIATION51Bernardo Dominic
1003Aditya Q FerenczUnited Kingdom2025-04-25Chemel, James L Cpa RENEWAL60Ioni Bowcher
1004Ricardo T PaprockiSpain2025-04-29Buckley Miller Wright QUALIFIED25Onyama Limba
1005Ricardo A BologniaArgentina2025-04-08Chapman, Ross E Esq PROPOSAL57Amy Elsner
1006Smith U InouyeJapan2025-04-02Commercial Press UNQUALIFIED98Ioni Bowcher
1007Ashley C MacleadArgentina2025-04-28Rousseaux, Michael Esq QUALIFIED5Bernardo Dominic
1008Misaki H BowleyGermany2025-04-24Feiner Bros PROPOSAL55Elwin Sharvill
1009Aruna A MaletItaly2025-04-12Printing Dimensions RENEWAL35Bernardo Dominic
1010Mujtaba N BriddickGermany2025-04-26King, Christopher A Esq NEW36Xuxue Feng
1011Aruna H GauchoRussia2025-04-24Feltz Printing Service NEGOTIATION93Amy Elsner
1012Claire A FerenczUnited Kingdom2025-04-06Chanay, Jeffrey A Esq NEW45Anna Fali
1013Leja L TollnerFrance2025-04-14Rangoni Of Florence UNQUALIFIED12Onyama Limba
1014Jeanfrancois C FerenczBrazil2025-04-18Chemel, James L Cpa RENEWAL24Stephen Shaw
1015Kadeem S OldroydCanada2025-04-09Rousseaux, Michael Esq UNQUALIFIED21Ivan Magalhaes
1016Wickens B FollerFrance2025-04-28Rousseaux, Michael Esq NEW2Elwin Sharvill
1017Nicolas W FollerRussia2025-04-13Feltz Printing Service UNQUALIFIED64Ivan Magalhaes
1018Nicolas T FigeroaCanada2025-04-11Rangoni Of Florence PROPOSAL80Xuxue Feng
1019Alejandro F RimIndia2025-04-18Truhlar And Truhlar Attys QUALIFIED91Bernardo Dominic
1020Ashley R StensethGermany2025-04-09Chapman, Ross E Esq UNQUALIFIED45Ioni Bowcher
1021Sinclair G OldroydArgentina2025-04-19Rousseaux, Michael Esq RENEWAL59Elwin Sharvill
1022Costa V AlbaresAustralia2025-04-11Commercial Press NEW95Xuxue Feng
1023Cody N WhobreyItaly2025-03-31Truhlar And Truhlar Attys RENEWAL86Bernardo Dominic
1024Faith S PaprockiRussia2025-04-09Buckley Miller Wright NEW33Xuxue Feng
1025Mayumi U PerinUnited Kingdom2025-04-29Chemel, James L Cpa NEW19Ivan Magalhaes
1026Maisha O WaycottItaly2025-04-27Printing Dimensions UNQUALIFIED75Asiya Javayant
1027Mayumi C ChuiItaly2025-04-23Morlong Associates QUALIFIED70Onyama Limba
1028Octavia Z PoquetteGermany2025-04-24Commercial Press UNQUALIFIED14Asiya Javayant
1029Kaitlin C BriddickBrazil2025-04-08Chanay, Jeffrey A Esq PROPOSAL66Onyama Limba
1030Octavia H InouyeArgentina2025-04-27Commercial Press RENEWAL5Onyama Limba
1031Aditya O MaletFrance2025-04-29King, Christopher A Esq PROPOSAL14Bernardo Dominic
1032Murillo I RimArgentina2025-04-14Morlong Associates NEGOTIATION46Elwin Sharvill
1033Julie I CaudyUnited Kingdom2025-04-20Rousseaux, Michael Esq QUALIFIED60Anna Fali
1034Ivar H MorascaJapan2025-04-09Buckley Miller Wright RENEWAL13Asiya Javayant
1035Deepesh H SchemmerRussia2025-04-21Morlong Associates RENEWAL21Elwin Sharvill
1036Kadeem Z DilliardRussia2025-04-19Benton, John B Jr PROPOSAL49Amy Elsner
1037Adams R MorascaJapan2025-04-02Feiner Bros NEGOTIATION46Onyama Limba
1038Alejandro C FollerFrance2025-04-02Chanay, Jeffrey A Esq NEW0Asiya Javayant
1039Wickens H MorascaUnited Kingdom2025-04-18Buckley Miller Wright NEGOTIATION86Stephen Shaw
1040Francesco D SchemmerRussia2025-04-17King, Christopher A Esq QUALIFIED69Stephen Shaw
1041Aika J PaprockiArgentina2025-04-19Commercial Press NEGOTIATION29Onyama Limba
1042Salvatore F CaudyItaly2025-04-18Rangoni Of Florence PROPOSAL40Ioni Bowcher
1043Stacey P WhobreyIndia2025-04-16Commercial Press QUALIFIED85Elwin Sharvill
1044Jennifer U FollerUnited Kingdom2025-04-09Chanay, Jeffrey A Esq PROPOSAL6Ivan Magalhaes
1045Adams U GillianArgentina2025-04-29Chanay, Jeffrey A Esq NEW19Onyama Limba
1046Mayumi A OldroydFrance2025-04-23Chemel, James L Cpa UNQUALIFIED15Xuxue Feng
1047Isabel O PoquetteArgentina2025-04-21Buckley Miller Wright UNQUALIFIED34Bernardo Dominic
1048Jones M DoeSpain2025-04-08Truhlar And Truhlar Attys PROPOSAL7Ioni Bowcher
1049Francesco B RoysterRussia2025-04-07Buckley Miller Wright RENEWAL27Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Chavez X NickaGermanyBernardo Dominic PROPOSAL
Darci L OldroydAustraliaXuxue Feng NEGOTIATION
Kaitlin V RutaBrazilElwin Sharvill UNQUALIFIED
Greenwood B MaletUnited KingdomXuxue Feng QUALIFIED
Maria O MaletJapanStephen Shaw NEW
Ricardo C SergiRussiaXuxue Feng UNQUALIFIED
Francesco N ButtJapanAsiya Javayant NEW
Ricardo H GillianIndiaAsiya Javayant PROPOSAL
Francesco T WaycottArgentinaStephen Shaw PROPOSAL
Silvio T RutaIndiaIvan Magalhaes PROPOSAL
Emily L SergiIndiaElwin Sharvill NEW
Costa T ChuiRussiaAmy Elsner NEW
Cody F BriddickJapanIoni Bowcher UNQUALIFIED
David E KuskoUnited KingdomStephen Shaw UNQUALIFIED
David A GarufiAustraliaStephen Shaw PROPOSAL
Morrow H MorascaIndiaAsiya Javayant PROPOSAL
Cody M GillianIndiaXuxue Feng UNQUALIFIED
Julie B MacleadJapanAsiya Javayant RENEWAL
Darci B KolmetzAustraliaAnna Fali RENEWAL
Maisha F NestleIndiaIoni Bowcher RENEWAL
Chavez B ButtIndiaXuxue Feng PROPOSAL
Wickens F BowleySpainOnyama Limba RENEWAL
Clifford C PoquetteAustraliaElwin Sharvill QUALIFIED
Munro S FlosiRussiaXuxue Feng NEGOTIATION
Claire B GlickSpainStephen Shaw QUALIFIED
Claire E OldroydAustraliaBernardo Dominic NEW
Mujtaba T StensethIndiaAnna Fali NEGOTIATION
Silvio Z OstroskySpainOnyama Limba NEGOTIATION
Francesco C NestleBrazilAnna Fali RENEWAL
Ashley T GauchoGermanyAmy Elsner NEW
Octavia L FigeroaSpainElwin Sharvill RENEWAL
Cody D RulapaughJapanAmy Elsner UNQUALIFIED
Nicolas F AlbaresFranceStephen Shaw NEW
Izzy I GillianCanadaIoni Bowcher RENEWAL
Jefferson T DilliardFranceAmy Elsner NEW
Ricardo D PoquetteItalyElwin Sharvill NEW
Kadeem A DarakjyAustraliaElwin Sharvill RENEWAL
Misaki H TollnerBrazilStephen Shaw UNQUALIFIED
Darci Z WaycottIndiaBernardo Dominic PROPOSAL
Wickens T WhobreySpainIvan Magalhaes QUALIFIED
Antonio Q AmigonArgentinaStephen Shaw RENEWAL
Mujtaba X InouyeCanadaAmy Elsner QUALIFIED
Emily R StensethFranceOnyama Limba NEGOTIATION
Aika Z VocelkaItalyBernardo Dominic RENEWAL
James Y GarufiArgentinaStephen Shaw NEW
Tony X FigeroaGermanyAsiya Javayant NEW
Darci P OldroydJapanIoni Bowcher NEW
Morrow Q PoquetteCanadaElwin Sharvill NEGOTIATION
Maisha Q ShinkoAustraliaIvan Magalhaes NEGOTIATION
Francesco G RutaUnited KingdomXuxue Feng RENEWAL
Frozen Columns
Name
Aruna F Malet
Cody K Oldroyd
Johnson L Foller
Tony K Poquette
Johnson E Wieser
Jefferson W Gaucho
Tony M Caudy
Wickens Y Sergi
Faith H Caudy
Emily Q Maclead
Stacey C Nicka
Salvatore A Bolognia
Aditya L Chui
Kaitlin P Darakjy
Adams V Doe
Murillo C Kolmetz
Ashley Z Rim
Ivar U Nestle
Maria F Poquette
Leja C Gillian
Claire M Poquette
Leon D Stenseth
Jeanfrancois J Poquette
Antonio E Inouye
Claire Q Wieser
Ashley R Doe
Stacey P Garufi
Mujtaba S Maclead
James W Oldroyd
Octavia Z Morasca
Deepesh K Foller
Izzy S Foller
Faith Q Gillian
Sinclair K Sergi
Jefferson L Doe
Mayumi V Iturbide
Murillo U Stenseth
Clifford D Saylors
Faith S Paprocki
Maria W Caudy
Jones R Paprocki
Mayumi W Flosi
Chavez R Ostrosky
Isabel F Marrier
Faith I Sergi
Wickens Q Bolognia
Mayumi C Nestle
Mayumi C Inouye
Izzy B Schemmer
Antonio Y Nestle
IdCountryDate
1000Australia2025-04-17
1001Japan2025-04-05
1002India2025-04-05
1003Japan2025-04-09
1004Brazil2025-04-02
1005India2025-04-25
1006United Kingdom2025-04-16
1007France2025-03-31
1008Germany2025-04-08
1009Spain2025-04-06
1010Brazil2025-04-01
1011Australia2025-04-15
1012Russia2025-04-28
1013Spain2025-04-11
1014Russia2025-04-17
1015France2025-04-26
1016Russia2025-04-25
1017Japan2025-04-07
1018Spain2025-04-14
1019India2025-04-11
1020Canada2025-04-19
1021United Kingdom2025-04-07
1022Spain2025-04-23
1023Canada2025-04-27
1024Japan2025-04-09
1025United Kingdom2025-04-19
1026India2025-04-16
1027Spain2025-04-12
1028United Kingdom2025-04-05
1029Russia2025-04-09
1030Germany2025-04-26
1031Japan2025-04-12
1032Germany2025-04-06
1033Australia2025-04-01
1034Italy2025-04-22
1035Australia2025-04-02
1036Australia2025-04-26
1037Argentina2025-04-07
1038Canada2025-04-27
1039France2025-04-24
1040Australia2025-04-28
1041Spain2025-04-18
1042Brazil2025-04-08
1043France2025-04-24
1044Brazil2025-04-03
1045Argentina2025-04-21
1046France2025-04-12
1047India2025-04-09
1048Germany2025-04-05
1049Spain2025-04-22

On-Demand Data

NameIdCountryDate
Salvatore P Flosi1000Japan2025-04-23
Adams C Butt1001Russia2025-04-23
Sinclair N Dilliard1002Spain2025-04-20
Costa J Caudy1003Brazil2025-04-11
Morrow S Inouye1004Brazil2025-04-15
Aika B Foller1005Russia2025-04-24
Julie B Albares1006Canada2025-04-29
Jefferson F Paprocki1007Canada2025-04-16
Murillo B Campain1008Canada2025-04-20
Cody N Vocelka1009Canada2025-04-11
Mayumi N Nestle1010Brazil2025-04-17
Kadeem X Royster1011United Kingdom2025-04-09
Jones H Rim1012Russia2025-04-22
Leon Z Ostrosky1013Canada2025-03-31
Aruna J Bolognia1014Russia2025-04-24
Nicolas X Briddick1015India2025-04-23
Izzy O Nestle1016Australia2025-04-01
Chavez U Gillian1017Russia2025-04-12
Jennifer F Caudy1018Argentina2025-04-03
Julie G Stockham1019India2025-04-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba D WhobreySpainBernardo Dominic NEGOTIATION
Kaitlin K OstroskyIndiaIvan Magalhaes UNQUALIFIED
Stacey C InouyeJapanAnna Fali QUALIFIED
Juan A SchemmerUnited KingdomAmy Elsner RENEWAL
David A AlbaresArgentinaXuxue Feng QUALIFIED
Jefferson L FlosiItalyBernardo Dominic NEGOTIATION
Octavia B FollerItalyIoni Bowcher UNQUALIFIED
Francesco P FigeroaUnited KingdomAsiya Javayant NEW
Emily H BriddickFranceIoni Bowcher QUALIFIED
Julie I NickaRussiaBernardo Dominic UNQUALIFIED
Stacey X BologniaGermanyAmy Elsner NEW
Darci Y AmigonArgentinaAmy Elsner RENEWAL
Silvio Y BriddickCanadaXuxue Feng NEGOTIATION
Isabel F ButtGermanyAsiya Javayant NEW
Francesco P RutaUnited KingdomAnna Fali PROPOSAL
Francesco E PoquetteUnited KingdomBernardo Dominic NEW
Jennifer J NestleAustraliaXuxue Feng UNQUALIFIED
Mujtaba D KolmetzCanadaAmy Elsner QUALIFIED
Munro Z FlosiIndiaOnyama Limba NEGOTIATION
Leon G MacleadArgentinaStephen Shaw NEW
Ashley H WhobreyAustraliaOnyama Limba PROPOSAL
Clifford A IturbideArgentinaIoni Bowcher NEGOTIATION
Aditya Z InouyeSpainElwin Sharvill QUALIFIED
Rodrigues I RoysterFranceAmy Elsner NEGOTIATION
James A CaldareraUnited KingdomAmy Elsner QUALIFIED
Jefferson P DarakjyGermanyXuxue Feng UNQUALIFIED
Francesco F IturbideIndiaIoni Bowcher NEGOTIATION
Wickens V GauchoIndiaXuxue Feng RENEWAL
Costa U ChuiCanadaAsiya Javayant NEW
Jefferson Q MaletJapanAmy Elsner UNQUALIFIED
Julie G CaldareraFranceAnna Fali NEW
Salvatore H RulapaughUnited KingdomStephen Shaw NEGOTIATION
Francesco H PoquetteUnited KingdomAmy Elsner QUALIFIED
Clifford L DilliardItalyStephen Shaw RENEWAL
Jeanfrancois N StockhamAustraliaIvan Magalhaes UNQUALIFIED
Julie M OldroydFranceXuxue Feng RENEWAL
Jones B GarufiGermanyStephen Shaw PROPOSAL
Ivar T MaletCanadaAmy Elsner NEGOTIATION
Tony T PaprockiIndiaAmy Elsner QUALIFIED
Jefferson H InouyeItalyOnyama Limba NEW

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