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
Johnson J StensethJapanStephen Shaw NEW
Clifford X MorascaFranceOnyama Limba NEGOTIATION
Silvio H PerinGermanyOnyama Limba NEW
Greenwood Y RulapaughArgentinaBernardo Dominic RENEWAL
Wickens N BologniaRussiaBernardo Dominic UNQUALIFIED
Juan P AmigonItalyOnyama Limba NEGOTIATION
Juan K WhobreySpainBernardo Dominic QUALIFIED
Deepesh C MorascaJapanAmy Elsner NEW
Emily C OstroskyCanadaBernardo Dominic RENEWAL
Aruna Y SaylorsItalyIvan Magalhaes RENEWAL
Arvin M MaletUnited KingdomStephen Shaw QUALIFIED
James X KolmetzAustraliaAnna Fali QUALIFIED
Maria B OldroydCanadaIvan Magalhaes NEW
Julie C FigeroaCanadaBernardo Dominic RENEWAL
Antonio G ChuiRussiaAnna Fali NEW
Leon L FollerArgentinaAnna Fali NEW
Maria A WieserUnited KingdomAmy Elsner QUALIFIED
Jones W PerinUnited KingdomXuxue Feng NEW
Aika D NickaArgentinaOnyama Limba PROPOSAL
Maria I WaycottCanadaAnna Fali NEGOTIATION
Kadeem J BriddickRussiaStephen Shaw NEGOTIATION
Mayumi A GlickArgentinaXuxue Feng PROPOSAL
Jones O ChuiSpainBernardo Dominic RENEWAL
Kaitlin M VocelkaSpainXuxue Feng NEGOTIATION
Arvin T FollerAustraliaStephen Shaw NEGOTIATION
Jeanfrancois E NickaCanadaAmy Elsner UNQUALIFIED
Stacey F PoquetteFranceAsiya Javayant QUALIFIED
Cody U GarufiItalyStephen Shaw NEGOTIATION
Izzy J CaldareraItalyBernardo Dominic UNQUALIFIED
Ivar H FerenczRussiaAsiya Javayant UNQUALIFIED
Claire M MacleadRussiaAsiya Javayant UNQUALIFIED
Sinclair B GarufiArgentinaElwin Sharvill RENEWAL
Mujtaba Z StensethCanadaStephen Shaw NEGOTIATION
Emily K NestleBrazilAsiya Javayant RENEWAL
Tony Q GauchoAustraliaElwin Sharvill PROPOSAL
Maria Z SlusarskiGermanyBernardo Dominic NEGOTIATION
Murillo N MarrierIndiaIoni Bowcher NEW
Maria J WieserBrazilStephen Shaw NEW
Julie M PoquetteCanadaAmy Elsner QUALIFIED
Claire K CaldareraGermanyAsiya Javayant UNQUALIFIED
Aditya K MacleadArgentinaStephen Shaw UNQUALIFIED
Clifford V CaldareraArgentinaElwin Sharvill PROPOSAL
Misaki Z StensethJapanIvan Magalhaes UNQUALIFIED
Arvin P TollnerSpainElwin Sharvill RENEWAL
Jefferson E CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Darci C AmigonBrazilAmy Elsner QUALIFIED
Rodrigues G KolmetzBrazilAsiya Javayant QUALIFIED
Silvio J WhobreyFranceOnyama Limba NEGOTIATION
Stacey W IturbideJapanBernardo Dominic UNQUALIFIED
Cody A ButtUnited KingdomAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio J WaycottArgentinaAsiya Javayant NEGOTIATION
Stacey D RulapaughSpainIoni Bowcher RENEWAL
Nicolas B TollnerItalyOnyama Limba UNQUALIFIED
Greenwood O RoysterUnited KingdomIoni Bowcher PROPOSAL
Izzy P SchemmerCanadaStephen Shaw UNQUALIFIED
Morrow V StensethArgentinaElwin Sharvill RENEWAL
Adams Y VocelkaFranceXuxue Feng NEGOTIATION
Greenwood R DarakjyJapanAnna Fali UNQUALIFIED
Nicolas O NickaUnited KingdomBernardo Dominic NEGOTIATION
Smith Z GauchoRussiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna C StensethRussia2024-06-24Buckley Miller Wright NEGOTIATION53Onyama Limba
1001Costa Z RutaBrazil2024-06-04Feltz Printing Service NEGOTIATION31Onyama Limba
1002Faith H SchemmerRussia2024-06-23Buckley Miller Wright NEW91Ivan Magalhaes
1003David K FerenczFrance2024-06-13Feiner Bros PROPOSAL85Ioni Bowcher
1004Wickens Y SlusarskiAustralia2024-06-04Chanay, Jeffrey A Esq RENEWAL81Ivan Magalhaes
1005Costa Z GlickCanada2024-06-17Printing Dimensions RENEWAL53Elwin Sharvill
1006Salvatore O MorascaFrance2024-05-31Rangoni Of Florence UNQUALIFIED94Anna Fali
1007Maisha S DoeJapan2024-06-20Chapman, Ross E Esq QUALIFIED77Bernardo Dominic
1008Aika T BologniaUnited Kingdom2024-06-07Rousseaux, Michael Esq PROPOSAL72Onyama Limba
1009Jeanfrancois J SchemmerAustralia2024-06-04Feiner Bros UNQUALIFIED48Xuxue Feng
1010Darci V GlickFrance2024-06-03Feltz Printing Service PROPOSAL65Ivan Magalhaes
1011Adams M SaylorsUnited Kingdom2024-05-28Commercial Press NEGOTIATION21Amy Elsner
1012Tony Z RimIndia2024-06-13Chemel, James L Cpa NEW11Onyama Limba
1013Mayumi V GauchoIndia2024-05-28Feiner Bros NEW70Anna Fali
1014Rodrigues D MarrierCanada2024-05-30Chanay, Jeffrey A Esq PROPOSAL92Bernardo Dominic
1015Sinclair I StensethCanada2024-06-08Truhlar And Truhlar Attys NEGOTIATION14Bernardo Dominic
1016Claire T NickaAustralia2024-05-31Feiner Bros NEGOTIATION70Bernardo Dominic
1017Deepesh Q FlosiAustralia2024-06-18Buckley Miller Wright NEGOTIATION86Bernardo Dominic
1018Aruna W StensethItaly2024-05-30Chemel, James L Cpa PROPOSAL90Amy Elsner
1019Jones H FollerAustralia2024-06-22Buckley Miller Wright QUALIFIED4Asiya Javayant
1020Silvio T OstroskyJapan2024-06-17Buckley Miller Wright RENEWAL9Anna Fali
1021Jefferson T VenereIndia2024-06-07King, Christopher A Esq UNQUALIFIED89Ivan Magalhaes
1022Darci M ButtJapan2024-06-19Rousseaux, Michael Esq NEGOTIATION18Onyama Limba
1023Mayumi F AmigonCanada2024-05-27Truhlar And Truhlar Attys NEGOTIATION40Ioni Bowcher
1024Julie L WieserItaly2024-06-05Feltz Printing Service PROPOSAL24Asiya Javayant
1025Silvio X KuskoBrazil2024-06-11Truhlar And Truhlar Attys PROPOSAL43Xuxue Feng
1026Octavia N NestleGermany2024-06-10Printing Dimensions RENEWAL57Bernardo Dominic
1027Chavez B SergiUnited Kingdom2024-06-06Benton, John B Jr NEGOTIATION6Amy Elsner
1028Aruna D StensethRussia2024-05-31Feltz Printing Service PROPOSAL26Onyama Limba
1029Ricardo E NickaFrance2024-06-22Feltz Printing Service UNQUALIFIED67Xuxue Feng
1030Morrow U CaldareraItaly2024-06-04Printing Dimensions NEW49Bernardo Dominic
1031Rodrigues K PaprockiRussia2024-06-22Rousseaux, Michael Esq PROPOSAL96Elwin Sharvill
1032Cody V BriddickJapan2024-06-10Chapman, Ross E Esq NEGOTIATION40Xuxue Feng
1033Ivar M MarrierJapan2024-06-09Dorl, James J Esq RENEWAL15Anna Fali
1034Misaki E VocelkaGermany2024-06-01Truhlar And Truhlar Attys PROPOSAL70Anna Fali
1035Chavez P GlickJapan2024-05-29Truhlar And Truhlar Attys RENEWAL95Ivan Magalhaes
1036Leon M VocelkaJapan2024-06-20Printing Dimensions QUALIFIED74Asiya Javayant
1037Misaki P WaycottIndia2024-06-11Printing Dimensions QUALIFIED52Bernardo Dominic
1038Morrow W RulapaughIndia2024-06-08Chanay, Jeffrey A Esq PROPOSAL7Elwin Sharvill
1039Munro G VenereBrazil2024-06-15Chemel, James L Cpa PROPOSAL3Ivan Magalhaes
1040Chavez A BowleyGermany2024-06-20Feiner Bros NEW93Stephen Shaw
1041Antonio L FigeroaUnited Kingdom2024-06-05Chemel, James L Cpa QUALIFIED28Xuxue Feng
1042Tony L MorascaUnited Kingdom2024-06-19Commercial Press PROPOSAL84Anna Fali
1043Aika Q WhobreyIndia2024-06-10Truhlar And Truhlar Attys PROPOSAL47Xuxue Feng
1044Ashley E AmigonGermany2024-06-24Printing Dimensions QUALIFIED13Ivan Magalhaes
1045Adams U OstroskyArgentina2024-06-13Morlong Associates QUALIFIED15Elwin Sharvill
1046Leja Y RimFrance2024-05-26Chapman, Ross E Esq PROPOSAL95Ivan Magalhaes
1047Murillo R FerenczJapan2024-06-14Rangoni Of Florence UNQUALIFIED27Elwin Sharvill
1048Jones I ShinkoJapan2024-05-29Chemel, James L Cpa PROPOSAL40Amy Elsner
1049Deepesh U OstroskyRussia2024-06-04Feiner Bros UNQUALIFIED60Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh R KolmetzCanadaStephen Shaw RENEWAL
David X VenereIndiaXuxue Feng PROPOSAL
Greenwood V ButtRussiaOnyama Limba QUALIFIED
Murillo D GlickUnited KingdomAsiya Javayant QUALIFIED
Faith D FerenczAustraliaAsiya Javayant NEW
Leon N VocelkaJapanXuxue Feng PROPOSAL
Leon H GarufiJapanAmy Elsner NEGOTIATION
Tony Q MacleadSpainStephen Shaw QUALIFIED
Johnson J FerenczRussiaXuxue Feng QUALIFIED
Smith A TollnerItalyAnna Fali UNQUALIFIED
Costa S ShinkoJapanOnyama Limba QUALIFIED
Faith K NestleIndiaAmy Elsner NEW
Wickens N FigeroaBrazilAnna Fali NEGOTIATION
Maisha Y DoeJapanAmy Elsner NEGOTIATION
Tony O CaldareraFranceOnyama Limba QUALIFIED
Darci R KolmetzUnited KingdomAmy Elsner NEGOTIATION
Kaitlin N MaletCanadaIoni Bowcher NEW
Arvin J MarrierAustraliaBernardo Dominic PROPOSAL
Salvatore Q PerinCanadaXuxue Feng RENEWAL
David E CaudyRussiaXuxue Feng RENEWAL
Claire L MarrierAustraliaIoni Bowcher UNQUALIFIED
Munro T WhobreyBrazilIoni Bowcher UNQUALIFIED
David Z MorascaFranceStephen Shaw PROPOSAL
Morrow E RoysterIndiaAnna Fali QUALIFIED
David R ShinkoArgentinaElwin Sharvill QUALIFIED
Julie S IturbideRussiaStephen Shaw UNQUALIFIED
Clifford G CaldareraFranceStephen Shaw PROPOSAL
Deepesh X VocelkaRussiaIoni Bowcher QUALIFIED
Costa C NestleIndiaAsiya Javayant QUALIFIED
Sinclair W CaudyRussiaXuxue Feng NEW
Stacey G MaletCanadaStephen Shaw PROPOSAL
Arvin T ShinkoRussiaAmy Elsner RENEWAL
Kaitlin U InouyeFranceElwin Sharvill NEW
Nicolas D FigeroaGermanyIvan Magalhaes RENEWAL
Jennifer Q DilliardIndiaElwin Sharvill NEW
Munro B VocelkaGermanyXuxue Feng RENEWAL
Emily W GlickGermanyXuxue Feng NEGOTIATION
Clifford R OstroskyAustraliaIoni Bowcher UNQUALIFIED
Octavia W BriddickUnited KingdomIvan Magalhaes RENEWAL
Rodrigues C BriddickAustraliaElwin Sharvill UNQUALIFIED
Smith J ShinkoAustraliaAmy Elsner NEW
Mayumi Q KuskoSpainIoni Bowcher PROPOSAL
Aruna F StockhamArgentinaIoni Bowcher PROPOSAL
Emily B IturbideBrazilIvan Magalhaes RENEWAL
Kaitlin F StensethSpainXuxue Feng NEW
Kadeem P AmigonFranceXuxue Feng RENEWAL
Ivar N StockhamRussiaBernardo Dominic UNQUALIFIED
Kadeem L ButtUnited KingdomElwin Sharvill UNQUALIFIED
Misaki C MaletUnited KingdomElwin Sharvill UNQUALIFIED
Costa D AmigonUnited KingdomAmy Elsner NEW
Frozen Columns
Name
Claire W Nicka
Leon N Ferencz
Smith H Rulapaugh
Costa W Shinko
Maisha G Kusko
Faith L Saylors
Aditya R Inouye
David S Albares
David S Flosi
Costa V Albares
Jones K Oldroyd
Jones F Doe
Aika X Chui
Jones H Rulapaugh
Ashley L Glick
Smith H Perin
Ivar C Venere
Clifford H Schemmer
Juan V Oldroyd
Mujtaba J Nicka
Deepesh F Tollner
Antonio V Nestle
Maria O Briddick
Cody A Darakjy
Jones I Caldarera
Aditya K Darakjy
Murillo S Foller
Leja Y Albares
Ricardo K Ostrosky
Murillo J Inouye
Aika F Paprocki
Nicolas Q Iturbide
Aruna R Caudy
Alejandro A Caudy
Jeanfrancois L Slusarski
Wickens B Nestle
Chavez B Wieser
Izzy V Whobrey
Munro E Slusarski
Francesco S Kusko
Ivar F Briddick
Silvio B Marrier
Ashley C Whobrey
Rodrigues F Figeroa
Rodrigues O Ruta
Maria O Malet
Deepesh F Shinko
Maisha X Amigon
Munro U Tollner
Nicolas N Saylors
IdCountryDate
1000India2024-06-22
1001Spain2024-06-23
1002Spain2024-05-27
1003Germany2024-05-27
1004Brazil2024-06-13
1005France2024-06-11
1006Italy2024-05-26
1007Brazil2024-06-20
1008Japan2024-05-30
1009Argentina2024-06-04
1010Australia2024-06-04
1011Spain2024-05-28
1012Australia2024-05-30
1013United Kingdom2024-06-06
1014Australia2024-06-23
1015United Kingdom2024-06-05
1016Australia2024-06-04
1017United Kingdom2024-05-27
1018Italy2024-06-13
1019United Kingdom2024-06-10
1020Canada2024-05-28
1021Italy2024-06-22
1022United Kingdom2024-06-18
1023Germany2024-06-08
1024Brazil2024-06-22
1025Argentina2024-06-21
1026Russia2024-06-21
1027Australia2024-06-02
1028United Kingdom2024-05-30
1029Spain2024-06-08
1030Russia2024-06-05
1031Germany2024-06-03
1032France2024-06-18
1033United Kingdom2024-06-15
1034Brazil2024-06-18
1035Brazil2024-05-29
1036Spain2024-06-24
1037Spain2024-06-10
1038Australia2024-05-31
1039United Kingdom2024-05-27
1040Italy2024-06-19
1041Brazil2024-06-12
1042Japan2024-06-23
1043India2024-05-29
1044Italy2024-06-15
1045Germany2024-06-18
1046Italy2024-06-12
1047France2024-06-18
1048Argentina2024-05-31
1049India2024-06-06

On-Demand Data

NameIdCountryDate
Misaki I Iturbide1000Australia2024-06-05
Kadeem E Rim1001India2024-06-09
Francesco M Chui1002Spain2024-06-01
Morrow T Rim1003Spain2024-05-27
Alejandro N Doe1004Canada2024-05-28
Jennifer W Morasca1005India2024-06-06
Leon F Campain1006Russia2024-06-20
Arvin C Saylors1007Australia2024-06-03
Jones G Oldroyd1008Germany2024-06-06
Stacey V Gillian1009Spain2024-06-07
Rodrigues K Darakjy1010Argentina2024-06-18
Maria C Amigon1011France2024-06-02
Antonio T Paprocki1012Canada2024-06-05
Ashley W Whobrey1013Australia2024-06-15
Costa K Butt1014France2024-05-29
Rodrigues G Bowley1015Spain2024-06-03
Claire E Oldroyd1016Russia2024-06-21
Silvio R Ruta1017Germany2024-05-31
Kaitlin A Nicka1018Brazil2024-06-14
Salvatore P Iturbide1019Russia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois P SergiSpainAnna Fali PROPOSAL
Costa Z RoysterCanadaAsiya Javayant UNQUALIFIED
Sinclair C PerinJapanStephen Shaw RENEWAL
Kadeem M KolmetzUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois W BowleyUnited KingdomAnna Fali NEW
Silvio H DoeFranceBernardo Dominic QUALIFIED
James H KolmetzCanadaBernardo Dominic NEGOTIATION
Clifford U ChuiCanadaAmy Elsner QUALIFIED
Aditya C PerinJapanIoni Bowcher NEW
Aruna G WaycottArgentinaElwin Sharvill PROPOSAL
Julie W TollnerFranceStephen Shaw RENEWAL
Ivar L SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Mujtaba P DarakjyRussiaIoni Bowcher QUALIFIED
Sinclair U GauchoSpainIoni Bowcher QUALIFIED
Aditya N WhobreySpainElwin Sharvill RENEWAL
Jones R RimAustraliaIoni Bowcher NEW
Salvatore R VenereAustraliaAnna Fali UNQUALIFIED
Julie M DoeJapanStephen Shaw PROPOSAL
Deepesh W CaudyAustraliaIvan Magalhaes PROPOSAL
Adams V AmigonCanadaStephen Shaw QUALIFIED
James X MaletBrazilAmy Elsner NEW
Murillo S OstroskyAustraliaAsiya Javayant NEW
Jennifer V MaletBrazilIvan Magalhaes QUALIFIED
Salvatore X KolmetzRussiaAmy Elsner QUALIFIED
David J MorascaSpainOnyama Limba PROPOSAL
Mayumi M GillianSpainIvan Magalhaes NEW
Cody B NestleJapanStephen Shaw NEW
Claire G RoysterIndiaIvan Magalhaes UNQUALIFIED
Misaki X PaprockiFranceIoni Bowcher PROPOSAL
Greenwood Z SchemmerUnited KingdomXuxue Feng PROPOSAL
Greenwood K VocelkaBrazilAnna Fali NEGOTIATION
Adams Q IturbideBrazilIoni Bowcher RENEWAL
Ivar X VenereAustraliaAmy Elsner NEW
Isabel J FerenczCanadaIvan Magalhaes QUALIFIED
Aruna H ButtArgentinaAsiya Javayant NEGOTIATION
Maisha X ButtBrazilOnyama Limba NEGOTIATION
Nicolas D FerenczUnited KingdomElwin Sharvill PROPOSAL
Rodrigues V VocelkaAustraliaAnna Fali UNQUALIFIED
Smith W MarrierSpainBernardo Dominic NEGOTIATION
Nicolas H CaldareraItalyIoni Bowcher 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>