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
Ivar X FigeroaFranceIoni Bowcher RENEWAL
Arvin F SchemmerJapanElwin Sharvill QUALIFIED
Rodrigues F CaudyGermanyXuxue Feng UNQUALIFIED
Izzy D InouyeSpainBernardo Dominic NEGOTIATION
Wickens F MaletJapanAmy Elsner NEW
Ivar P SergiAustraliaXuxue Feng NEGOTIATION
Deepesh R FerenczItalyIoni Bowcher NEGOTIATION
Antonio Z SchemmerSpainElwin Sharvill RENEWAL
Munro M MarrierAustraliaAmy Elsner PROPOSAL
Wickens Y RulapaughJapanOnyama Limba NEW
Murillo V WieserCanadaAsiya Javayant UNQUALIFIED
Deepesh E RimUnited KingdomStephen Shaw RENEWAL
Clifford F RimArgentinaBernardo Dominic PROPOSAL
Misaki B WieserAustraliaBernardo Dominic QUALIFIED
Costa D BologniaJapanBernardo Dominic PROPOSAL
Murillo I KuskoSpainAmy Elsner PROPOSAL
Stacey P PaprockiSpainStephen Shaw PROPOSAL
Octavia J FlosiRussiaAmy Elsner QUALIFIED
Jennifer Z MaletBrazilAsiya Javayant PROPOSAL
Maisha B NickaAustraliaElwin Sharvill RENEWAL
Aditya R GlickBrazilIvan Magalhaes UNQUALIFIED
Sinclair D AmigonGermanyIoni Bowcher NEGOTIATION
Kadeem P GlickBrazilStephen Shaw UNQUALIFIED
Isabel X VocelkaUnited KingdomOnyama Limba QUALIFIED
Ivar U InouyeBrazilXuxue Feng PROPOSAL
Leja W NestleAustraliaIvan Magalhaes QUALIFIED
Ivar Y DarakjyItalyAnna Fali RENEWAL
Alejandro K TollnerAustraliaOnyama Limba NEW
Ashley I WaycottRussiaIoni Bowcher PROPOSAL
Stacey Q VocelkaArgentinaOnyama Limba NEW
Chavez N RulapaughIndiaXuxue Feng RENEWAL
Faith Z MaletBrazilOnyama Limba PROPOSAL
Misaki H SergiGermanyOnyama Limba NEGOTIATION
David W SaylorsRussiaStephen Shaw RENEWAL
Chavez Q MarrierJapanAnna Fali UNQUALIFIED
Munro F PaprockiCanadaStephen Shaw UNQUALIFIED
Silvio U PoquetteItalyBernardo Dominic PROPOSAL
Ricardo G DoeItalyBernardo Dominic PROPOSAL
Emily A NickaGermanyStephen Shaw NEGOTIATION
Maisha H SchemmerItalyAsiya Javayant NEW
James A PerinSpainBernardo Dominic UNQUALIFIED
Darci T RutaCanadaIoni Bowcher NEGOTIATION
Leja I GauchoItalyXuxue Feng RENEWAL
Jennifer Q DilliardRussiaXuxue Feng QUALIFIED
Alejandro N RimArgentinaXuxue Feng NEW
Johnson P DarakjyRussiaXuxue Feng QUALIFIED
Jefferson P ShinkoJapanStephen Shaw NEGOTIATION
Leja F MacleadItalyAsiya Javayant QUALIFIED
Morrow Q AlbaresItalyIoni Bowcher RENEWAL
Jones P ShinkoRussiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna N FollerArgentinaIvan Magalhaes NEW
Adams I MacleadGermanyAmy Elsner RENEWAL
Leon P SergiFranceBernardo Dominic NEW
Antonio M MarrierSpainElwin Sharvill NEW
Chavez U FollerIndiaAsiya Javayant PROPOSAL
David D DilliardSpainIvan Magalhaes RENEWAL
Deepesh P FollerBrazilBernardo Dominic QUALIFIED
Ricardo M SaylorsCanadaAsiya Javayant NEW
Greenwood W GillianAustraliaAnna Fali PROPOSAL
Kadeem L RulapaughItalyAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha X RulapaughItaly2024-05-31Benton, John B Jr PROPOSAL55Xuxue Feng
1001Jeanfrancois E VenereBrazil2024-06-20Chemel, James L Cpa QUALIFIED23Asiya Javayant
1002Johnson P PoquetteGermany2024-05-27King, Christopher A Esq QUALIFIED90Stephen Shaw
1003Julie O SaylorsCanada2024-06-10Chemel, James L Cpa NEGOTIATION15Onyama Limba
1004Julie Z MaletItaly2024-05-28Buckley Miller Wright RENEWAL24Stephen Shaw
1005Smith J MaletRussia2024-06-04Chapman, Ross E Esq NEGOTIATION20Bernardo Dominic
1006Costa F ButtBrazil2024-06-11King, Christopher A Esq QUALIFIED33Bernardo Dominic
1007Rodrigues T RulapaughUnited Kingdom2024-06-04King, Christopher A Esq PROPOSAL73Ioni Bowcher
1008Antonio R SergiGermany2024-06-21Chapman, Ross E Esq PROPOSAL70Anna Fali
1009Salvatore X CaldareraBrazil2024-05-25Feiner Bros NEGOTIATION92Stephen Shaw
1010Jefferson Z DilliardFrance2024-06-20Benton, John B Jr NEGOTIATION10Elwin Sharvill
1011Emily F MaletCanada2024-06-08Feltz Printing Service UNQUALIFIED92Stephen Shaw
1012Sinclair J RulapaughCanada2024-06-06Feltz Printing Service NEGOTIATION96Stephen Shaw
1013Morrow U DilliardGermany2024-05-28Benton, John B Jr PROPOSAL76Bernardo Dominic
1014Darci O CaldareraSpain2024-05-30Rousseaux, Michael Esq RENEWAL93Ioni Bowcher
1015Salvatore G AmigonCanada2024-06-03Dorl, James J Esq RENEWAL54Ivan Magalhaes
1016Ashley Y GauchoGermany2024-05-29Rousseaux, Michael Esq UNQUALIFIED24Stephen Shaw
1017Adams U KuskoJapan2024-06-22Chemel, James L Cpa UNQUALIFIED85Elwin Sharvill
1018Johnson X MacleadJapan2024-05-25Feiner Bros UNQUALIFIED52Bernardo Dominic
1019Julie H IturbideItaly2024-06-03Chemel, James L Cpa QUALIFIED27Elwin Sharvill
1020Faith I SchemmerIndia2024-06-22Morlong Associates NEW28Bernardo Dominic
1021James P PerinItaly2024-06-04Buckley Miller Wright QUALIFIED86Elwin Sharvill
1022Tony M VenereItaly2024-06-10Chemel, James L Cpa NEW46Anna Fali
1023Aruna Q WaycottJapan2024-06-08Morlong Associates NEW66Bernardo Dominic
1024Murillo V WaycottUnited Kingdom2024-06-17King, Christopher A Esq QUALIFIED69Ioni Bowcher
1025Ricardo L NickaBrazil2024-05-29Benton, John B Jr UNQUALIFIED77Onyama Limba
1026Claire G FlosiItaly2024-05-28Commercial Press RENEWAL4Onyama Limba
1027Juan O GauchoUnited Kingdom2024-06-02Feiner Bros RENEWAL29Elwin Sharvill
1028Kadeem B GlickUnited Kingdom2024-06-03Morlong Associates NEW52Asiya Javayant
1029Jefferson V OstroskyItaly2024-06-11Truhlar And Truhlar Attys PROPOSAL46Asiya Javayant
1030Ricardo A SlusarskiJapan2024-06-15Commercial Press NEGOTIATION88Stephen Shaw
1031Arvin H WhobreyArgentina2024-06-02Chapman, Ross E Esq NEGOTIATION96Bernardo Dominic
1032Darci R CaudyCanada2024-05-27Benton, John B Jr RENEWAL38Ivan Magalhaes
1033Mayumi Q FigeroaCanada2024-06-08Feiner Bros UNQUALIFIED54Xuxue Feng
1034Faith M WieserItaly2024-05-31Rangoni Of Florence NEGOTIATION32Onyama Limba
1035Costa R WhobreyGermany2024-06-05Buckley Miller Wright PROPOSAL9Ivan Magalhaes
1036Ashley R PaprockiSpain2024-05-26Feiner Bros PROPOSAL33Onyama Limba
1037Aruna R VocelkaAustralia2024-06-14Rousseaux, Michael Esq PROPOSAL60Xuxue Feng
1038Stacey V SchemmerArgentina2024-06-02Rangoni Of Florence QUALIFIED36Ivan Magalhaes
1039Jefferson O MacleadFrance2024-05-27King, Christopher A Esq PROPOSAL14Amy Elsner
1040Misaki Q DarakjyArgentina2024-06-16Buckley Miller Wright PROPOSAL3Asiya Javayant
1041Mayumi Q ChuiItaly2024-06-23Buckley Miller Wright NEW42Ivan Magalhaes
1042Faith B FlosiBrazil2024-06-16Chemel, James L Cpa NEW97Ivan Magalhaes
1043Deepesh Z ChuiBrazil2024-06-01Dorl, James J Esq NEGOTIATION59Onyama Limba
1044Leon N PaprockiAustralia2024-06-11Rangoni Of Florence RENEWAL27Elwin Sharvill
1045Arvin P PoquetteSpain2024-06-01Buckley Miller Wright UNQUALIFIED63Ioni Bowcher
1046Cody T GarufiSpain2024-06-12Chemel, James L Cpa NEW55Ivan Magalhaes
1047Faith Q GillianGermany2024-06-02Printing Dimensions PROPOSAL35Stephen Shaw
1048Ashley B AmigonArgentina2024-05-28Feiner Bros QUALIFIED42Ioni Bowcher
1049Mujtaba X MaletUnited Kingdom2024-06-15Buckley Miller Wright RENEWAL37Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ricardo T PaprockiGermanyAmy Elsner QUALIFIED
Kadeem V RimJapanXuxue Feng UNQUALIFIED
Costa K SaylorsAustraliaXuxue Feng RENEWAL
Rodrigues I ButtAustraliaXuxue Feng QUALIFIED
Aika O FlosiBrazilStephen Shaw NEGOTIATION
Izzy D DoeUnited KingdomXuxue Feng NEGOTIATION
Arvin E StockhamFranceElwin Sharvill RENEWAL
Tony Q GauchoFranceAmy Elsner QUALIFIED
Octavia A ButtBrazilStephen Shaw QUALIFIED
Jennifer N FollerAustraliaXuxue Feng UNQUALIFIED
Deepesh W ButtFranceStephen Shaw NEW
Ivar I FollerFranceElwin Sharvill RENEWAL
Jeanfrancois F WhobreyJapanOnyama Limba QUALIFIED
Claire J FerenczCanadaElwin Sharvill NEW
Leon M KuskoAustraliaAmy Elsner PROPOSAL
Jennifer Z WhobreyItalyBernardo Dominic NEGOTIATION
James O GillianArgentinaBernardo Dominic NEW
Arvin R DarakjyUnited KingdomElwin Sharvill NEW
Ivar H ChuiArgentinaStephen Shaw NEW
Tony N CampainSpainAmy Elsner NEW
Izzy S MaletUnited KingdomStephen Shaw UNQUALIFIED
Aditya F IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Cody R BriddickGermanyAnna Fali RENEWAL
Antonio G GarufiCanadaXuxue Feng NEGOTIATION
Mujtaba S GarufiGermanyIvan Magalhaes NEW
Julie N WhobreyJapanIoni Bowcher NEGOTIATION
Darci M MorascaItalyIoni Bowcher NEGOTIATION
Francesco Q MaletIndiaOnyama Limba RENEWAL
Arvin L BowleyFranceBernardo Dominic PROPOSAL
Rodrigues L VenereBrazilBernardo Dominic RENEWAL
Maria X GauchoUnited KingdomXuxue Feng NEGOTIATION
Costa V NestleCanadaXuxue Feng NEGOTIATION
Leon N AmigonAustraliaIvan Magalhaes RENEWAL
Rodrigues I CaudyFranceXuxue Feng NEGOTIATION
Maisha G VocelkaCanadaBernardo Dominic NEGOTIATION
Ashley H WhobreyIndiaAnna Fali UNQUALIFIED
Darci L CampainAustraliaIvan Magalhaes UNQUALIFIED
Julie X PaprockiGermanyAnna Fali RENEWAL
Mujtaba K GarufiGermanyIoni Bowcher RENEWAL
Kadeem T NestleJapanIvan Magalhaes UNQUALIFIED
Faith G MaletItalyBernardo Dominic RENEWAL
Morrow B RimRussiaAsiya Javayant QUALIFIED
Smith S FigeroaFranceBernardo Dominic QUALIFIED
Salvatore K DarakjyIndiaElwin Sharvill PROPOSAL
Faith X RutaIndiaXuxue Feng NEW
Jennifer L StockhamArgentinaBernardo Dominic NEW
Juan L SaylorsFranceAnna Fali PROPOSAL
Faith V PerinBrazilOnyama Limba RENEWAL
Faith Y NickaAustraliaAnna Fali NEGOTIATION
Mujtaba E StockhamJapanAnna Fali QUALIFIED
Frozen Columns
Name
Faith H Ostrosky
Mayumi M Chui
Faith M Slusarski
Cody I Gaucho
James V Shinko
Octavia P Venere
Leja P Slusarski
Jeanfrancois V Perin
Kaitlin Q Bolognia
Smith Y Figeroa
Claire N Iturbide
Sinclair R Sergi
Morrow R Nestle
Deepesh L Albares
Smith H Malet
Kadeem O Foller
Kaitlin K Paprocki
Costa V Venere
Jennifer H Ferencz
Sinclair M Malet
Aika Q Chui
Wickens R Royster
Claire P Caudy
Mayumi M Gillian
Leon G Perin
David I Nestle
Deepesh S Gaucho
Alejandro H Ruta
Aika U Butt
Johnson N Kusko
Rodrigues L Poquette
Jennifer T Wieser
Johnson D Ruta
Clifford F Paprocki
Adams Z Perin
Morrow S Caldarera
Misaki O Waycott
Kadeem B Butt
Faith H Poquette
Faith S Marrier
Aruna G Whobrey
Kadeem P Albares
Smith A Paprocki
Jefferson V Vocelka
Misaki M Wieser
Aika Q Wieser
Rodrigues Q Flosi
Morrow N Kolmetz
Deepesh M Oldroyd
Maria E Gaucho
IdCountryDate
1000Brazil2024-06-11
1001Australia2024-05-29
1002Australia2024-06-02
1003Australia2024-05-31
1004Italy2024-05-27
1005Italy2024-06-15
1006Canada2024-06-07
1007Germany2024-06-23
1008India2024-06-01
1009Australia2024-06-02
1010Germany2024-06-13
1011Russia2024-06-04
1012United Kingdom2024-06-21
1013Argentina2024-06-08
1014United Kingdom2024-05-25
1015United Kingdom2024-06-14
1016Japan2024-05-31
1017Argentina2024-05-30
1018France2024-06-18
1019France2024-06-06
1020Canada2024-06-15
1021France2024-06-08
1022India2024-05-27
1023Japan2024-06-15
1024Canada2024-06-06
1025Canada2024-05-25
1026Australia2024-06-21
1027India2024-06-07
1028Spain2024-06-12
1029Canada2024-06-17
1030Germany2024-06-22
1031Canada2024-06-09
1032Italy2024-06-02
1033Australia2024-06-22
1034Spain2024-06-21
1035Brazil2024-06-07
1036Italy2024-06-08
1037Argentina2024-06-09
1038Spain2024-05-27
1039Brazil2024-06-12
1040Argentina2024-06-08
1041Argentina2024-06-18
1042Russia2024-06-11
1043Argentina2024-05-31
1044Italy2024-06-06
1045Spain2024-06-18
1046Canada2024-05-31
1047Australia2024-06-05
1048Germany2024-06-18
1049Germany2024-06-05

On-Demand Data

NameIdCountryDate
Izzy F Perin1000Italy2024-06-06
Johnson M Nestle1001Canada2024-06-12
Maisha F Marrier1002France2024-06-17
David H Ruta1003Italy2024-06-01
Francesco D Doe1004Canada2024-06-13
Isabel C Poquette1005Italy2024-06-11
Adams B Amigon1006Brazil2024-06-22
Octavia N Tollner1007United Kingdom2024-06-10
Claire H Kolmetz1008Japan2024-06-07
Jefferson H Albares1009Australia2024-06-23
Emily G Morasca1010Spain2024-06-11
Jefferson O Butt1011Russia2024-06-07
Costa G Darakjy1012India2024-06-23
Maisha Z Paprocki1013Russia2024-06-03
Ivar I Garufi1014Germany2024-06-09
Antonio D Malet1015United Kingdom2024-05-29
Ashley Z Campain1016India2024-06-15
Ashley M Sergi1017Australia2024-06-12
Wickens X Stockham1018Japan2024-06-21
Leon N Garufi1019France2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily U FlosiSpainXuxue Feng QUALIFIED
Aika P RulapaughIndiaIvan Magalhaes RENEWAL
Faith A MarrierIndiaElwin Sharvill PROPOSAL
Juan W TollnerAustraliaAmy Elsner NEW
Maisha B RimJapanOnyama Limba UNQUALIFIED
Octavia A RimRussiaIoni Bowcher RENEWAL
Cody D GillianSpainBernardo Dominic NEW
Jefferson K TollnerJapanElwin Sharvill NEGOTIATION
Kaitlin F RimArgentinaIoni Bowcher NEW
Murillo D GlickJapanStephen Shaw NEW
Maria K ButtAustraliaOnyama Limba UNQUALIFIED
Jennifer V AlbaresSpainIvan Magalhaes NEW
Izzy D SlusarskiIndiaIoni Bowcher PROPOSAL
Leja Z IturbideCanadaXuxue Feng QUALIFIED
Costa I DilliardUnited KingdomStephen Shaw NEW
Octavia H PerinRussiaAsiya Javayant UNQUALIFIED
Aruna F CaudyIndiaAsiya Javayant QUALIFIED
Rodrigues L PaprockiBrazilStephen Shaw QUALIFIED
Claire V PerinRussiaAsiya Javayant PROPOSAL
Jeanfrancois N WhobreyArgentinaBernardo Dominic PROPOSAL
Greenwood T FollerGermanyBernardo Dominic RENEWAL
Faith F AlbaresArgentinaStephen Shaw NEW
Ivar N TollnerItalyAmy Elsner UNQUALIFIED
Mujtaba E DarakjyFranceAsiya Javayant PROPOSAL
Aditya Z BowleyBrazilXuxue Feng RENEWAL
Leon A PaprockiArgentinaXuxue Feng NEW
Izzy W VenereGermanyElwin Sharvill NEW
Aditya W StensethJapanXuxue Feng PROPOSAL
Stacey S MaletJapanOnyama Limba UNQUALIFIED
Faith F GauchoUnited KingdomIvan Magalhaes PROPOSAL
Tony N GauchoAustraliaOnyama Limba UNQUALIFIED
Cody Q GarufiItalyElwin Sharvill NEGOTIATION
Kadeem E RimArgentinaAmy Elsner RENEWAL
Murillo A DilliardGermanyAnna Fali NEGOTIATION
Maisha B MaletBrazilAnna Fali UNQUALIFIED
Salvatore V OstroskyJapanAnna Fali NEGOTIATION
Aruna Y KolmetzArgentinaOnyama Limba NEGOTIATION
Silvio H NestleAustraliaBernardo Dominic NEW
Smith X SaylorsSpainStephen Shaw RENEWAL
Wickens C OstroskyJapanStephen Shaw 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>