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
Francesco G PaprockiCanadaBernardo Dominic PROPOSAL
Leon E VocelkaItalyIoni Bowcher RENEWAL
Kadeem I AlbaresGermanyOnyama Limba QUALIFIED
Jeanfrancois Q KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Claire B RimArgentinaAmy Elsner QUALIFIED
Deepesh C BowleyArgentinaElwin Sharvill PROPOSAL
Cody D RoysterGermanyIoni Bowcher QUALIFIED
Rodrigues P KuskoGermanyOnyama Limba PROPOSAL
Clifford W AmigonIndiaIvan Magalhaes UNQUALIFIED
Izzy L CaldareraRussiaOnyama Limba NEGOTIATION
Clifford I RoysterJapanBernardo Dominic NEGOTIATION
Nicolas V NickaJapanAnna Fali UNQUALIFIED
Arvin P FollerArgentinaAsiya Javayant NEW
Costa O DilliardCanadaAsiya Javayant QUALIFIED
Tony K FlosiFranceAnna Fali QUALIFIED
Aditya S FollerIndiaIoni Bowcher PROPOSAL
Mujtaba Z KuskoIndiaStephen Shaw PROPOSAL
Francesco A FlosiGermanyIvan Magalhaes NEGOTIATION
Aditya W VenereRussiaXuxue Feng NEW
Rodrigues E NestleJapanXuxue Feng UNQUALIFIED
Jeanfrancois L CampainCanadaStephen Shaw NEW
Darci L PerinCanadaBernardo Dominic NEGOTIATION
Jennifer Y CampainSpainStephen Shaw RENEWAL
Nicolas D GillianIndiaOnyama Limba PROPOSAL
Stacey O AmigonRussiaAnna Fali RENEWAL
David I DilliardCanadaBernardo Dominic UNQUALIFIED
Faith J KolmetzJapanAnna Fali PROPOSAL
Silvio A TollnerIndiaStephen Shaw UNQUALIFIED
Chavez D CaldareraGermanyOnyama Limba NEW
Julie Y WaycottIndiaAsiya Javayant NEGOTIATION
Greenwood W CaudySpainAnna Fali NEGOTIATION
Clifford T RoysterSpainBernardo Dominic QUALIFIED
Johnson F CampainBrazilIvan Magalhaes NEW
Clifford A RulapaughCanadaXuxue Feng PROPOSAL
Kaitlin I BriddickSpainStephen Shaw NEW
Jefferson W MacleadGermanyAmy Elsner UNQUALIFIED
Ashley A FigeroaSpainAmy Elsner RENEWAL
Maisha B BologniaFranceIoni Bowcher PROPOSAL
Sinclair I FigeroaAustraliaAnna Fali PROPOSAL
Rodrigues A MaletJapanStephen Shaw NEW
Maisha P RimCanadaStephen Shaw RENEWAL
Faith F RoysterSpainAsiya Javayant UNQUALIFIED
Maria H KolmetzJapanElwin Sharvill PROPOSAL
Tony W PoquetteFranceIvan Magalhaes NEW
Clifford S AmigonUnited KingdomIoni Bowcher NEGOTIATION
Misaki D AmigonBrazilOnyama Limba RENEWAL
Stacey M RoysterIndiaXuxue Feng PROPOSAL
Leja C FigeroaItalyAnna Fali NEW
Ivar A MacleadGermanyAnna Fali PROPOSAL
Salvatore L ChuiCanadaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire H StockhamUnited KingdomStephen Shaw PROPOSAL
Costa W TollnerBrazilAmy Elsner PROPOSAL
Maria U DarakjyGermanyAnna Fali NEW
Chavez D GlickGermanyIvan Magalhaes NEW
Faith W CaudyIndiaXuxue Feng NEGOTIATION
Sinclair E FigeroaIndiaBernardo Dominic RENEWAL
Jennifer Y CaudySpainAsiya Javayant UNQUALIFIED
Costa A KuskoIndiaOnyama Limba NEGOTIATION
Ivar T NickaJapanAnna Fali RENEWAL
Stacey A OldroydUnited KingdomAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Y WieserFrance2026-06-19Truhlar And Truhlar Attys UNQUALIFIED3Xuxue Feng
1001Deepesh T FollerSpain2026-06-20Dorl, James J Esq PROPOSAL54Ioni Bowcher
1002Jones S DoeIndia2026-07-03Chapman, Ross E Esq NEGOTIATION35Anna Fali
1003Leon F PoquetteIndia2026-06-24Rangoni Of Florence RENEWAL9Ivan Magalhaes
1004Costa K GauchoIndia2026-06-30Dorl, James J Esq PROPOSAL17Bernardo Dominic
1005Salvatore B FerenczCanada2026-06-29Morlong Associates NEGOTIATION41Asiya Javayant
1006Morrow M DarakjyGermany2026-07-13Buckley Miller Wright PROPOSAL84Xuxue Feng
1007Ashley P NickaBrazil2026-07-17Morlong Associates RENEWAL11Asiya Javayant
1008Octavia T FollerSpain2026-07-08Feltz Printing Service NEW83Anna Fali
1009Ricardo Z PaprockiUnited Kingdom2026-07-02Printing Dimensions UNQUALIFIED84Elwin Sharvill
1010Salvatore M NestleArgentina2026-06-23Feltz Printing Service PROPOSAL94Ioni Bowcher
1011Tony M BowleyUnited Kingdom2026-06-24Dorl, James J Esq NEW17Stephen Shaw
1012Stacey S DoeBrazil2026-06-25Benton, John B Jr RENEWAL69Ioni Bowcher
1013Octavia D WhobreyJapan2026-07-10Rousseaux, Michael Esq RENEWAL77Elwin Sharvill
1014Munro I WaycottSpain2026-06-22Truhlar And Truhlar Attys QUALIFIED5Ivan Magalhaes
1015Smith U DilliardFrance2026-07-14King, Christopher A Esq PROPOSAL22Xuxue Feng
1016Rodrigues W AmigonArgentina2026-07-01Dorl, James J Esq NEGOTIATION59Xuxue Feng
1017Faith J NickaArgentina2026-06-29Buckley Miller Wright RENEWAL51Ivan Magalhaes
1018Kaitlin S WaycottIndia2026-07-12Benton, John B Jr UNQUALIFIED96Stephen Shaw
1019Silvio U GauchoRussia2026-07-01King, Christopher A Esq NEW57Anna Fali
1020Kadeem F SaylorsGermany2026-07-16Rousseaux, Michael Esq PROPOSAL8Xuxue Feng
1021Jefferson W CaudyGermany2026-06-26Truhlar And Truhlar Attys QUALIFIED38Onyama Limba
1022Octavia G DarakjyGermany2026-07-11Chapman, Ross E Esq PROPOSAL53Xuxue Feng
1023Alejandro B RimSpain2026-07-12Buckley Miller Wright NEW24Stephen Shaw
1024Chavez U StensethRussia2026-06-29Commercial Press QUALIFIED63Amy Elsner
1025Francesco P PaprockiAustralia2026-07-13Commercial Press NEW52Asiya Javayant
1026Murillo E StockhamIndia2026-06-20Rousseaux, Michael Esq PROPOSAL29Amy Elsner
1027Clifford V SaylorsUnited Kingdom2026-07-01Feiner Bros NEW86Onyama Limba
1028Rodrigues H PerinRussia2026-06-25Buckley Miller Wright PROPOSAL35Onyama Limba
1029Isabel S PerinIndia2026-07-17Commercial Press NEGOTIATION60Elwin Sharvill
1030David N StensethArgentina2026-06-21Chapman, Ross E Esq NEW11Asiya Javayant
1031Ricardo P FerenczArgentina2026-07-09Chanay, Jeffrey A Esq QUALIFIED66Bernardo Dominic
1032Aruna Y RutaSpain2026-07-10Rangoni Of Florence NEGOTIATION75Ivan Magalhaes
1033Smith Q RulapaughJapan2026-06-23Chapman, Ross E Esq PROPOSAL83Amy Elsner
1034Stacey I MaletItaly2026-07-08Feiner Bros NEGOTIATION35Anna Fali
1035Morrow H PaprockiArgentina2026-07-08Morlong Associates UNQUALIFIED92Ioni Bowcher
1036Leon W GauchoSpain2026-07-03Printing Dimensions NEW25Xuxue Feng
1037Arvin U RulapaughSpain2026-07-02Buckley Miller Wright PROPOSAL87Elwin Sharvill
1038Kadeem K OstroskyJapan2026-06-26Commercial Press RENEWAL64Amy Elsner
1039Ashley Z IturbideBrazil2026-06-20Rangoni Of Florence QUALIFIED74Ioni Bowcher
1040Isabel C NestleJapan2026-06-23Feiner Bros QUALIFIED39Ioni Bowcher
1041Nicolas J CaudyBrazil2026-06-28Rousseaux, Michael Esq QUALIFIED93Xuxue Feng
1042Alejandro K PaprockiSpain2026-07-02Truhlar And Truhlar Attys PROPOSAL5Ivan Magalhaes
1043David S RutaIndia2026-07-02Morlong Associates QUALIFIED77Elwin Sharvill
1044Leon G DarakjyAustralia2026-06-23Chapman, Ross E Esq PROPOSAL47Asiya Javayant
1045Darci S GillianUnited Kingdom2026-07-07Chemel, James L Cpa UNQUALIFIED34Xuxue Feng
1046Johnson A SergiBrazil2026-06-19Dorl, James J Esq RENEWAL31Xuxue Feng
1047Antonio C MaletUnited Kingdom2026-06-25Benton, John B Jr NEW40Bernardo Dominic
1048Claire U StockhamItaly2026-06-20Feltz Printing Service NEW23Ioni Bowcher
1049Deepesh H SchemmerRussia2026-07-02Printing Dimensions QUALIFIED14Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony I OldroydSpainXuxue Feng RENEWAL
Leja O CaudyBrazilAsiya Javayant NEGOTIATION
Jennifer T OstroskyIndiaAsiya Javayant QUALIFIED
Emily Z ChuiSpainOnyama Limba NEW
Nicolas B NickaItalyAsiya Javayant NEGOTIATION
Jennifer F PerinUnited KingdomAsiya Javayant NEW
Chavez N NestleItalyIoni Bowcher QUALIFIED
Wickens G DarakjyBrazilElwin Sharvill NEW
Mujtaba E VenereUnited KingdomStephen Shaw QUALIFIED
Alejandro G OstroskyJapanIvan Magalhaes PROPOSAL
Rodrigues X FollerFranceXuxue Feng RENEWAL
Izzy N BriddickJapanIvan Magalhaes QUALIFIED
Sinclair V WaycottJapanOnyama Limba QUALIFIED
Jennifer X RimSpainIoni Bowcher PROPOSAL
Smith D SaylorsSpainBernardo Dominic QUALIFIED
Ashley W WaycottIndiaStephen Shaw NEGOTIATION
Mujtaba U RoysterGermanyAsiya Javayant QUALIFIED
Kadeem B FigeroaUnited KingdomBernardo Dominic RENEWAL
Leon V ShinkoItalyIvan Magalhaes PROPOSAL
David P SchemmerSpainElwin Sharvill PROPOSAL
Sinclair V CaldareraBrazilElwin Sharvill PROPOSAL
Chavez Y BowleySpainElwin Sharvill NEGOTIATION
Aditya U DilliardArgentinaIvan Magalhaes NEW
Kadeem M GauchoRussiaXuxue Feng RENEWAL
James T GauchoFranceIvan Magalhaes UNQUALIFIED
Morrow M CaldareraGermanyOnyama Limba UNQUALIFIED
Leon F NickaRussiaElwin Sharvill NEGOTIATION
Arvin V CaldareraFranceIvan Magalhaes QUALIFIED
Munro Z VenereArgentinaAsiya Javayant RENEWAL
Juan O PaprockiItalyAsiya Javayant UNQUALIFIED
Octavia W StockhamCanadaStephen Shaw RENEWAL
Octavia Y AlbaresArgentinaBernardo Dominic RENEWAL
Clifford Q MaletCanadaBernardo Dominic NEGOTIATION
Costa Y StockhamUnited KingdomElwin Sharvill QUALIFIED
Rodrigues B ChuiCanadaBernardo Dominic RENEWAL
Claire R CampainUnited KingdomAsiya Javayant NEGOTIATION
Isabel J WieserCanadaIvan Magalhaes NEGOTIATION
Cody X BologniaJapanStephen Shaw NEW
Adams U BologniaSpainAnna Fali UNQUALIFIED
Cody B VocelkaAustraliaBernardo Dominic QUALIFIED
Arvin Q NickaFranceAnna Fali PROPOSAL
Kaitlin J IturbideAustraliaAnna Fali QUALIFIED
Costa G GillianGermanyBernardo Dominic UNQUALIFIED
Jennifer A FlosiRussiaAsiya Javayant QUALIFIED
Darci D GauchoGermanyAnna Fali NEW
David E PerinFranceStephen Shaw QUALIFIED
Salvatore P SchemmerRussiaAsiya Javayant NEW
Maisha G MaletCanadaXuxue Feng NEW
Murillo U AlbaresRussiaAsiya Javayant RENEWAL
Emily C RutaJapanXuxue Feng RENEWAL
Frozen Columns
Name
Aditya I Ruta
Cody M Bowley
Aika Y Kusko
Mayumi L Albares
Mujtaba A Ostrosky
Ashley L Nicka
Deepesh T Malet
Juan M Caldarera
Cody K Oldroyd
Stacey S Marrier
Smith K Briddick
Nicolas A Rim
Mayumi H Gillian
Aruna Y Tollner
Silvio Y Glick
Deepesh M Venere
Faith D Tollner
Morrow P Bolognia
Munro J Chui
Mujtaba H Bolognia
Jones J Butt
Izzy V Marrier
Maria E Foller
Stacey X Doe
Mayumi F Flosi
Nicolas M Amigon
Antonio A Oldroyd
Greenwood G Ruta
Deepesh X Vocelka
Chavez E Foller
Mayumi H Ruta
Ashley P Flosi
Darci S Ruta
Jefferson T Figeroa
Salvatore Z Caldarera
Maisha J Venere
Johnson D Gillian
Misaki X Perin
Antonio U Maclead
Greenwood H Caldarera
Munro L Paprocki
Faith T Whobrey
Izzy G Perin
Jennifer R Ostrosky
Nicolas R Vocelka
James B Garufi
Clifford J Poquette
Francesco X Bowley
Jones T Sergi
Morrow H Schemmer
IdCountryDate
1000Italy2026-06-20
1001Russia2026-06-20
1002Japan2026-06-24
1003Argentina2026-07-09
1004Spain2026-06-24
1005Italy2026-06-24
1006Brazil2026-07-01
1007India2026-07-01
1008Brazil2026-06-28
1009Japan2026-06-28
1010Brazil2026-06-21
1011Germany2026-07-13
1012Russia2026-06-26
1013Russia2026-07-06
1014Canada2026-07-10
1015Brazil2026-07-03
1016Russia2026-07-16
1017Australia2026-07-04
1018Brazil2026-06-25
1019Japan2026-06-21
1020Spain2026-06-18
1021India2026-06-23
1022Argentina2026-07-01
1023India2026-07-04
1024Italy2026-06-27
1025France2026-07-10
1026Spain2026-07-16
1027Italy2026-06-19
1028Spain2026-07-15
1029India2026-07-01
1030Japan2026-07-06
1031United Kingdom2026-06-27
1032Russia2026-06-20
1033Italy2026-07-06
1034India2026-06-18
1035Japan2026-06-26
1036Japan2026-07-13
1037Russia2026-07-07
1038Russia2026-07-10
1039France2026-06-20
1040Canada2026-06-28
1041India2026-07-09
1042Canada2026-06-21
1043Japan2026-06-26
1044Italy2026-06-23
1045Canada2026-07-13
1046Australia2026-07-14
1047Australia2026-07-04
1048Argentina2026-06-19
1049Italy2026-07-03

On-Demand Data

NameIdCountryDate
Misaki Z Darakjy1000Australia2026-06-26
Ashley M Iturbide1001Brazil2026-07-03
Francesco W Nicka1002Spain2026-06-20
Stacey L Nestle1003Japan2026-06-23
Leja V Nestle1004United Kingdom2026-06-27
Julie W Oldroyd1005Spain2026-07-07
Tony C Ruta1006Russia2026-07-14
Mujtaba B Poquette1007France2026-07-09
Emily R Malet1008Canada2026-07-03
Cody S Maclead1009Germany2026-07-07
Murillo R Malet1010Germany2026-06-21
Francesco K Wieser1011Italy2026-07-15
Kaitlin V Ferencz1012Germany2026-07-12
Jennifer U Tollner1013Argentina2026-07-12
Emily Z Caldarera1014France2026-06-22
Kaitlin K Iturbide1015Italy2026-06-24
Greenwood T Maclead1016Japan2026-07-01
Stacey A Kolmetz1017India2026-06-28
Jones D Darakjy1018Brazil2026-06-29
Cody W Garufi1019Spain2026-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson C FerenczUnited KingdomAnna Fali RENEWAL
Kadeem F DarakjyIndiaIvan Magalhaes QUALIFIED
Aika K RoysterItalyBernardo Dominic QUALIFIED
Smith B GillianJapanOnyama Limba UNQUALIFIED
Kadeem C WaycottFranceAnna Fali NEW
Ivar Y StockhamIndiaIvan Magalhaes PROPOSAL
Kaitlin W WhobreyRussiaAmy Elsner PROPOSAL
Greenwood G MorascaIndiaIvan Magalhaes RENEWAL
Maisha J ShinkoSpainAmy Elsner NEW
Kaitlin D FerenczGermanyAnna Fali QUALIFIED
Leja S WhobreyArgentinaAsiya Javayant PROPOSAL
Smith J BriddickJapanAmy Elsner QUALIFIED
Munro D SlusarskiJapanAsiya Javayant UNQUALIFIED
Juan Z PaprockiUnited KingdomBernardo Dominic PROPOSAL
Isabel D MacleadCanadaAsiya Javayant NEGOTIATION
Claire G KuskoBrazilIoni Bowcher QUALIFIED
David P VocelkaItalyIvan Magalhaes QUALIFIED
Faith R SlusarskiIndiaAmy Elsner PROPOSAL
Misaki X MaletBrazilBernardo Dominic QUALIFIED
Jefferson E RulapaughJapanElwin Sharvill PROPOSAL
David T CampainBrazilAsiya Javayant RENEWAL
Darci C WhobreyItalyAnna Fali NEW
Greenwood C CaldareraJapanStephen Shaw QUALIFIED
Jones O MacleadCanadaIvan Magalhaes NEGOTIATION
Juan Z NickaFranceIoni Bowcher RENEWAL
Ashley J NestleBrazilAnna Fali NEGOTIATION
Salvatore H CaldareraAustraliaStephen Shaw NEGOTIATION
Chavez R BologniaJapanAnna Fali NEGOTIATION
Misaki U BowleyBrazilStephen Shaw QUALIFIED
Murillo D KolmetzJapanAsiya Javayant NEGOTIATION
Antonio D ButtCanadaIoni Bowcher PROPOSAL
Stacey Z NestleGermanyAnna Fali PROPOSAL
Tony F VenereRussiaElwin Sharvill PROPOSAL
James J AmigonArgentinaIoni Bowcher QUALIFIED
Smith T AlbaresItalyStephen Shaw QUALIFIED
Alejandro W DoeAustraliaElwin Sharvill PROPOSAL
Mayumi G OstroskyCanadaElwin Sharvill UNQUALIFIED
Sinclair R DoeIndiaXuxue Feng PROPOSAL
Munro Q GarufiAustraliaXuxue Feng PROPOSAL
Izzy H ChuiArgentinaOnyama Limba UNQUALIFIED

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