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
James D BowleyArgentinaOnyama Limba NEW
James N InouyeFranceAsiya Javayant PROPOSAL
Antonio W CampainArgentinaElwin Sharvill NEGOTIATION
Smith N MarrierAustraliaStephen Shaw RENEWAL
Maisha Z FigeroaAustraliaXuxue Feng QUALIFIED
Clifford I MaletRussiaXuxue Feng NEGOTIATION
Julie B NestleIndiaStephen Shaw QUALIFIED
Sinclair W WaycottBrazilAnna Fali NEGOTIATION
Kadeem X DarakjyGermanyAmy Elsner QUALIFIED
Izzy C DoeCanadaIvan Magalhaes NEW
Murillo F CampainArgentinaAsiya Javayant RENEWAL
Izzy W MaletRussiaIvan Magalhaes NEW
Octavia V DoeItalyAnna Fali RENEWAL
Aditya R DarakjyItalyAnna Fali QUALIFIED
Mayumi V MacleadFranceXuxue Feng UNQUALIFIED
Isabel Q RoysterIndiaStephen Shaw QUALIFIED
Jennifer F AmigonGermanyElwin Sharvill RENEWAL
Murillo N VenereCanadaAsiya Javayant NEGOTIATION
Maisha E GarufiItalyStephen Shaw QUALIFIED
Maisha H OstroskyJapanElwin Sharvill NEW
Faith F NestleSpainElwin Sharvill NEGOTIATION
Salvatore L BowleyFranceAsiya Javayant UNQUALIFIED
Munro Z MaletRussiaOnyama Limba QUALIFIED
Costa C ShinkoUnited KingdomOnyama Limba PROPOSAL
Nicolas Z ButtItalyIvan Magalhaes RENEWAL
Munro L ShinkoIndiaIvan Magalhaes NEW
Darci D CaudyArgentinaElwin Sharvill UNQUALIFIED
Mujtaba K GarufiIndiaIvan Magalhaes UNQUALIFIED
Adams S PerinJapanOnyama Limba PROPOSAL
Juan J InouyeFranceOnyama Limba QUALIFIED
Leja W SaylorsItalyStephen Shaw PROPOSAL
Cody V MaletUnited KingdomElwin Sharvill QUALIFIED
Faith K TollnerIndiaIoni Bowcher NEW
Francesco B SlusarskiItalyOnyama Limba PROPOSAL
Izzy T ShinkoItalyOnyama Limba RENEWAL
Greenwood V StensethJapanElwin Sharvill NEGOTIATION
Salvatore L WaycottGermanyAmy Elsner PROPOSAL
Jeanfrancois V BowleyJapanAnna Fali PROPOSAL
Juan W FerenczJapanIvan Magalhaes RENEWAL
Octavia G GillianBrazilOnyama Limba PROPOSAL
Murillo V ChuiItalyXuxue Feng QUALIFIED
Mujtaba L AmigonGermanyAnna Fali NEGOTIATION
Silvio C KuskoJapanIoni Bowcher PROPOSAL
Kadeem A StensethRussiaElwin Sharvill PROPOSAL
Tony D DilliardArgentinaAsiya Javayant RENEWAL
Ashley N GillianGermanyIoni Bowcher RENEWAL
Ricardo O ButtAustraliaAnna Fali NEGOTIATION
Adams Q WhobreyGermanyStephen Shaw PROPOSAL
Jefferson L AmigonUnited KingdomXuxue Feng RENEWAL
Darci H MarrierUnited KingdomXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Johnson B TollnerJapanIoni Bowcher RENEWAL
Mayumi G FlosiAustraliaStephen Shaw UNQUALIFIED
Darci B WaycottIndiaAsiya Javayant QUALIFIED
Leon O RulapaughUnited KingdomIvan Magalhaes NEW
Jefferson E FerenczFranceElwin Sharvill NEGOTIATION
Smith K KuskoUnited KingdomAnna Fali RENEWAL
Octavia P CaudyAustraliaXuxue Feng PROPOSAL
Stacey O WaycottAustraliaOnyama Limba PROPOSAL
Ivar T SchemmerUnited KingdomXuxue Feng NEGOTIATION
Murillo I DoeFranceElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody R RimIndia2026-07-13Commercial Press NEGOTIATION34Elwin Sharvill
1001Maria S FlosiIndia2026-08-03Benton, John B Jr RENEWAL65Anna Fali
1002James V NickaJapan2026-08-01Chapman, Ross E Esq NEGOTIATION70Bernardo Dominic
1003Octavia T DarakjyCanada2026-07-21Benton, John B Jr NEW77Anna Fali
1004Rodrigues C NestleFrance2026-07-27Chemel, James L Cpa NEW36Xuxue Feng
1005Misaki P FollerIndia2026-08-03King, Christopher A Esq RENEWAL33Stephen Shaw
1006Alejandro Q ChuiAustralia2026-07-29Morlong Associates PROPOSAL15Xuxue Feng
1007Antonio I MarrierCanada2026-08-02Buckley Miller Wright NEGOTIATION65Ioni Bowcher
1008Ashley J OldroydBrazil2026-08-03Chapman, Ross E Esq UNQUALIFIED1Elwin Sharvill
1009Rodrigues R GarufiRussia2026-08-06Chapman, Ross E Esq QUALIFIED20Xuxue Feng
1010Kadeem C StockhamItaly2026-07-11Rousseaux, Michael Esq UNQUALIFIED85Bernardo Dominic
1011Johnson E GarufiAustralia2026-08-06Printing Dimensions NEGOTIATION42Asiya Javayant
1012Nicolas C MaletRussia2026-08-02Buckley Miller Wright QUALIFIED33Onyama Limba
1013Sinclair B IturbideUnited Kingdom2026-07-19Chemel, James L Cpa NEGOTIATION73Ioni Bowcher
1014Murillo Q WhobreyBrazil2026-07-14Rangoni Of Florence PROPOSAL74Ioni Bowcher
1015Octavia T RutaSpain2026-07-24Chemel, James L Cpa RENEWAL37Xuxue Feng
1016Sinclair O ButtAustralia2026-07-30Feltz Printing Service PROPOSAL54Ioni Bowcher
1017Aruna R AmigonBrazil2026-07-21Buckley Miller Wright UNQUALIFIED62Asiya Javayant
1018David E DilliardCanada2026-08-01Feltz Printing Service NEW6Anna Fali
1019Clifford O CampainIndia2026-07-10Morlong Associates PROPOSAL60Anna Fali
1020Rodrigues B RutaFrance2026-07-22King, Christopher A Esq RENEWAL64Ivan Magalhaes
1021Tony A ButtIndia2026-07-22King, Christopher A Esq NEW62Onyama Limba
1022Smith L MaletSpain2026-07-22King, Christopher A Esq UNQUALIFIED40Amy Elsner
1023Silvio C InouyeGermany2026-07-15Morlong Associates NEW3Stephen Shaw
1024Antonio L SchemmerJapan2026-07-19Truhlar And Truhlar Attys UNQUALIFIED37Elwin Sharvill
1025Sinclair S GauchoBrazil2026-07-27Morlong Associates UNQUALIFIED87Elwin Sharvill
1026David L MarrierItaly2026-08-04Benton, John B Jr QUALIFIED19Ioni Bowcher
1027Julie R WaycottJapan2026-07-22Chanay, Jeffrey A Esq UNQUALIFIED51Ioni Bowcher
1028Julie S GillianAustralia2026-07-24Rangoni Of Florence PROPOSAL93Asiya Javayant
1029Murillo S FigeroaRussia2026-07-20Commercial Press QUALIFIED70Bernardo Dominic
1030Silvio F FlosiArgentina2026-08-05Dorl, James J Esq UNQUALIFIED24Ivan Magalhaes
1031Stacey H AmigonAustralia2026-07-30Morlong Associates NEGOTIATION10Anna Fali
1032Johnson R InouyeFrance2026-07-27Feltz Printing Service NEGOTIATION87Stephen Shaw
1033Mujtaba K OldroydJapan2026-07-30Chanay, Jeffrey A Esq PROPOSAL71Elwin Sharvill
1034Stacey F KuskoAustralia2026-08-06Morlong Associates QUALIFIED43Asiya Javayant
1035Kaitlin Z TollnerBrazil2026-07-30Printing Dimensions UNQUALIFIED76Anna Fali
1036Johnson X MarrierFrance2026-07-25Chapman, Ross E Esq PROPOSAL63Amy Elsner
1037Claire R KolmetzRussia2026-07-19Rangoni Of Florence PROPOSAL14Onyama Limba
1038Clifford M GauchoItaly2026-07-30Chapman, Ross E Esq NEW43Amy Elsner
1039Jones R KuskoJapan2026-07-22Buckley Miller Wright RENEWAL81Xuxue Feng
1040Salvatore S IturbideBrazil2026-07-10Rousseaux, Michael Esq RENEWAL21Elwin Sharvill
1041Maria Z DilliardJapan2026-08-05Commercial Press QUALIFIED67Ivan Magalhaes
1042Stacey F RulapaughItaly2026-07-29Chemel, James L Cpa UNQUALIFIED99Bernardo Dominic
1043Jefferson O KuskoCanada2026-07-28Chanay, Jeffrey A Esq NEW43Stephen Shaw
1044Smith T NickaCanada2026-08-02Rousseaux, Michael Esq PROPOSAL87Asiya Javayant
1045Johnson S DilliardItaly2026-07-14Morlong Associates NEGOTIATION0Xuxue Feng
1046Ricardo Y GlickArgentina2026-08-03Chemel, James L Cpa QUALIFIED5Ivan Magalhaes
1047Jones U SchemmerIndia2026-08-04Rousseaux, Michael Esq PROPOSAL71Stephen Shaw
1048Johnson D SergiBrazil2026-07-29Rousseaux, Michael Esq RENEWAL26Stephen Shaw
1049Rodrigues J GlickBrazil2026-08-05Rousseaux, Michael Esq NEW77Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Greenwood F GauchoGermanyXuxue Feng PROPOSAL
Faith L PerinRussiaXuxue Feng UNQUALIFIED
Murillo P FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
David B PoquetteItalyAmy Elsner NEW
Maria S IturbideFranceBernardo Dominic QUALIFIED
Kaitlin O CaldareraArgentinaBernardo Dominic UNQUALIFIED
Cody Z RimBrazilAsiya Javayant NEW
Juan U StensethUnited KingdomAnna Fali PROPOSAL
Murillo V SergiGermanyIoni Bowcher PROPOSAL
Aika D CampainIndiaElwin Sharvill NEW
Sinclair E BologniaAustraliaIvan Magalhaes RENEWAL
Deepesh O IturbideGermanyElwin Sharvill PROPOSAL
Kadeem U PaprockiGermanyStephen Shaw UNQUALIFIED
Munro U DoeFranceAnna Fali UNQUALIFIED
Leon K ButtBrazilAsiya Javayant UNQUALIFIED
Emily O RimArgentinaXuxue Feng UNQUALIFIED
Kadeem S PerinFranceOnyama Limba NEW
Nicolas T PaprockiIndiaIvan Magalhaes NEW
Misaki A GauchoIndiaAmy Elsner PROPOSAL
Izzy B GauchoGermanyAmy Elsner QUALIFIED
Maisha Z KuskoSpainXuxue Feng UNQUALIFIED
James A SchemmerRussiaAmy Elsner NEW
Wickens A FlosiRussiaIoni Bowcher NEW
Mayumi P IturbideSpainBernardo Dominic PROPOSAL
Mayumi I TollnerRussiaAmy Elsner QUALIFIED
Arvin P VenereCanadaBernardo Dominic UNQUALIFIED
Darci V RulapaughItalyOnyama Limba NEW
Aditya R WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Claire M OldroydFranceOnyama Limba PROPOSAL
Darci C GauchoBrazilElwin Sharvill RENEWAL
Silvio C GauchoItalyIvan Magalhaes NEW
Ivar R SlusarskiJapanIoni Bowcher NEW
Claire F SergiItalyXuxue Feng QUALIFIED
Munro J BriddickCanadaBernardo Dominic UNQUALIFIED
Chavez O InouyeAustraliaStephen Shaw QUALIFIED
Leon L VenereArgentinaAsiya Javayant QUALIFIED
Faith R SergiGermanyStephen Shaw PROPOSAL
Clifford K WieserUnited KingdomIvan Magalhaes NEGOTIATION
Cody D GauchoGermanyIvan Magalhaes NEW
Aruna H CaudyArgentinaXuxue Feng QUALIFIED
Izzy Q MaletIndiaAsiya Javayant QUALIFIED
Juan M WhobreyUnited KingdomOnyama Limba NEGOTIATION
Aika R DoeAustraliaXuxue Feng QUALIFIED
Mujtaba L NickaIndiaAnna Fali NEGOTIATION
Leon I DilliardGermanyElwin Sharvill UNQUALIFIED
Isabel B RimGermanyAnna Fali NEW
Faith I AmigonGermanyIoni Bowcher UNQUALIFIED
Sinclair Z ShinkoSpainOnyama Limba RENEWAL
Darci K OstroskyBrazilAsiya Javayant NEGOTIATION
Ashley D StockhamJapanBernardo Dominic NEW
Frozen Columns
Name
Mayumi P Perin
Isabel P Royster
Kaitlin D Sergi
Smith W Bowley
Cody Z Caldarera
Faith J Figeroa
Tony R Rulapaugh
Misaki M Malet
Jones K Rulapaugh
Silvio U Butt
Antonio R Shinko
Adams R Poquette
Maria M Oldroyd
Jones C Ferencz
Emily Z Slusarski
Ivar W Albares
David A Sergi
Mayumi Y Oldroyd
Kaitlin U Albares
Sinclair F Gillian
Antonio Q Wieser
Isabel N Nestle
Julie M Tollner
Aruna U Amigon
Smith M Gaucho
Alejandro X Poquette
Ricardo I Ruta
Salvatore M Inouye
Salvatore H Campain
Sinclair L Morasca
Clifford Z Malet
Jeanfrancois C Marrier
Johnson I Gillian
Faith J Gaucho
Salvatore U Caudy
Alejandro M Malet
Deepesh Y Slusarski
Morrow D Saylors
Arvin F Schemmer
Kadeem O Kolmetz
Nicolas G Perin
Claire E Stenseth
James F Sergi
Juan I Foller
Kaitlin X Caudy
Stacey Y Caudy
Maria V Campain
Jeanfrancois W Venere
Octavia F Poquette
Kadeem B Bolognia
IdCountryDate
1000United Kingdom2026-07-31
1001India2026-07-30
1002Italy2026-07-29
1003United Kingdom2026-07-16
1004India2026-07-29
1005Japan2026-07-25
1006Canada2026-07-19
1007France2026-07-09
1008Argentina2026-07-24
1009Canada2026-07-24
1010Germany2026-08-05
1011Japan2026-08-07
1012Germany2026-08-05
1013Canada2026-07-29
1014Argentina2026-08-04
1015Italy2026-07-17
1016India2026-07-16
1017Japan2026-07-09
1018Spain2026-08-07
1019India2026-07-19
1020United Kingdom2026-07-29
1021Japan2026-07-25
1022Italy2026-07-16
1023Canada2026-07-12
1024Brazil2026-07-23
1025Brazil2026-07-14
1026Argentina2026-07-12
1027India2026-07-16
1028India2026-07-14
1029Italy2026-08-03
1030Spain2026-08-05
1031Canada2026-07-21
1032Italy2026-07-29
1033Brazil2026-07-24
1034Spain2026-08-07
1035Russia2026-07-30
1036Argentina2026-08-06
1037India2026-07-16
1038France2026-07-24
1039India2026-07-20
1040Japan2026-08-07
1041India2026-07-19
1042United Kingdom2026-07-25
1043Japan2026-07-16
1044Italy2026-08-01
1045Japan2026-07-22
1046Russia2026-07-12
1047Russia2026-08-07
1048India2026-07-28
1049United Kingdom2026-08-06

On-Demand Data

NameIdCountryDate
Aika F Nicka1000France2026-07-27
Darci K Ruta1001Italy2026-07-21
Munro J Figeroa1002France2026-07-14
Mujtaba W Maclead1003Germany2026-07-24
Mujtaba R Shinko1004India2026-08-06
Chavez I Ferencz1005Argentina2026-07-18
Munro O Ostrosky1006Argentina2026-07-12
Izzy N Stockham1007Spain2026-07-18
Stacey D Stenseth1008Japan2026-07-22
Cody R Saylors1009Spain2026-07-18
David A Morasca1010Brazil2026-08-06
Deepesh O Morasca1011India2026-07-30
Nicolas N Inouye1012Australia2026-08-02
Cody J Paprocki1013Japan2026-08-07
Greenwood Z Slusarski1014India2026-07-25
Salvatore A Wieser1015Germany2026-07-14
Munro I Stenseth1016Germany2026-07-31
Rodrigues I Rulapaugh1017Japan2026-07-23
Jones I Caldarera1018United Kingdom2026-07-23
Juan G Paprocki1019Japan2026-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa G StockhamSpainAnna Fali PROPOSAL
Ricardo D InouyeCanadaXuxue Feng PROPOSAL
Ashley R MaletItalyAsiya Javayant PROPOSAL
James S WieserJapanAmy Elsner UNQUALIFIED
James L MacleadUnited KingdomAmy Elsner RENEWAL
Leon J OldroydItalyAnna Fali NEW
Leja O FerenczFranceAsiya Javayant PROPOSAL
Jennifer L GauchoFranceAmy Elsner PROPOSAL
Tony F WieserFranceXuxue Feng QUALIFIED
Aditya E PaprockiArgentinaIoni Bowcher RENEWAL
Ashley E StockhamFranceBernardo Dominic NEGOTIATION
Wickens S RutaBrazilBernardo Dominic NEW
Maria C BriddickArgentinaElwin Sharvill PROPOSAL
Kadeem H SchemmerItalyIvan Magalhaes RENEWAL
Adams C MarrierAustraliaBernardo Dominic QUALIFIED
Wickens E TollnerIndiaAmy Elsner QUALIFIED
Kadeem A StensethUnited KingdomAnna Fali UNQUALIFIED
Mujtaba D CampainUnited KingdomXuxue Feng PROPOSAL
Isabel R BologniaUnited KingdomElwin Sharvill RENEWAL
Mujtaba V KolmetzCanadaStephen Shaw QUALIFIED
Claire C ChuiUnited KingdomElwin Sharvill RENEWAL
Leja T FerenczFranceAmy Elsner RENEWAL
Silvio L KolmetzArgentinaIoni Bowcher PROPOSAL
Aditya F GarufiUnited KingdomElwin Sharvill RENEWAL
Wickens Y StensethBrazilStephen Shaw QUALIFIED
Aika B FollerGermanyAsiya Javayant PROPOSAL
Francesco Y ButtArgentinaOnyama Limba RENEWAL
Deepesh Z CaldareraItalyBernardo Dominic NEGOTIATION
Aruna H CampainArgentinaElwin Sharvill NEGOTIATION
Ricardo G BologniaIndiaElwin Sharvill UNQUALIFIED
Clifford H MorascaRussiaElwin Sharvill NEW
Ashley L PerinUnited KingdomAmy Elsner QUALIFIED
Mayumi G GlickJapanBernardo Dominic NEW
Silvio J VocelkaJapanElwin Sharvill NEW
Juan H AlbaresBrazilIvan Magalhaes RENEWAL
Deepesh Z GauchoJapanStephen Shaw UNQUALIFIED
Francesco T AmigonCanadaXuxue Feng NEW
Wickens U GillianAustraliaXuxue Feng UNQUALIFIED
Ivar F FerenczJapanXuxue Feng NEGOTIATION
Murillo I WieserIndiaAnna Fali 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>