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
Ricardo O GarufiAustraliaAnna Fali PROPOSAL
Leon V TollnerAustraliaStephen Shaw RENEWAL
Ivar S StensethCanadaIvan Magalhaes NEGOTIATION
Faith Z MarrierFranceBernardo Dominic PROPOSAL
Leja P PoquetteUnited KingdomXuxue Feng NEW
Aditya P FlosiArgentinaIvan Magalhaes NEW
Chavez Q StensethArgentinaOnyama Limba PROPOSAL
Munro Q VocelkaItalyAsiya Javayant NEGOTIATION
Wickens G KuskoJapanAsiya Javayant UNQUALIFIED
Aika E MarrierItalyIvan Magalhaes NEGOTIATION
Claire P VenereRussiaOnyama Limba UNQUALIFIED
Faith K WieserCanadaAmy Elsner NEW
David T GlickItalyAnna Fali PROPOSAL
Jones M RimJapanOnyama Limba UNQUALIFIED
Cody B PoquetteBrazilElwin Sharvill PROPOSAL
Ricardo A WaycottFranceIoni Bowcher RENEWAL
Jeanfrancois X AlbaresJapanAnna Fali PROPOSAL
Claire L MaletJapanAsiya Javayant UNQUALIFIED
Leja L AmigonUnited KingdomStephen Shaw UNQUALIFIED
Emily H MacleadGermanyAnna Fali RENEWAL
Jones G VenereIndiaAsiya Javayant NEW
Leja Q IturbideGermanyOnyama Limba NEW
Octavia I BologniaRussiaAsiya Javayant UNQUALIFIED
Ashley H MaletGermanyAmy Elsner QUALIFIED
Adams K WieserUnited KingdomXuxue Feng NEGOTIATION
Nicolas U SaylorsItalyIvan Magalhaes NEW
James K DilliardArgentinaOnyama Limba UNQUALIFIED
Aika I MacleadFranceStephen Shaw UNQUALIFIED
Aika N KuskoIndiaElwin Sharvill PROPOSAL
Alejandro T GlickUnited KingdomAmy Elsner UNQUALIFIED
Maisha U TollnerIndiaAsiya Javayant QUALIFIED
Octavia U IturbideRussiaAnna Fali UNQUALIFIED
Kaitlin Z ChuiRussiaBernardo Dominic PROPOSAL
Silvio Q AmigonFranceAmy Elsner UNQUALIFIED
Morrow F InouyeSpainAsiya Javayant RENEWAL
Claire U FerenczSpainBernardo Dominic NEGOTIATION
Octavia P OstroskyFranceStephen Shaw UNQUALIFIED
Faith O FollerCanadaAsiya Javayant NEW
Stacey L RutaGermanyOnyama Limba NEGOTIATION
Costa M FerenczCanadaIoni Bowcher RENEWAL
Maria F NestleSpainXuxue Feng NEW
Julie R RutaAustraliaAmy Elsner RENEWAL
Leja K FigeroaArgentinaElwin Sharvill NEGOTIATION
Leon P DarakjyItalyAsiya Javayant NEGOTIATION
Jennifer F AmigonRussiaXuxue Feng NEGOTIATION
Francesco D VenereBrazilElwin Sharvill NEGOTIATION
Silvio Y DoeIndiaAnna Fali NEW
Tony B VenereIndiaXuxue Feng QUALIFIED
Kaitlin N ButtFranceStephen Shaw NEW
Kadeem B OstroskyRussiaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba F PerinIndiaBernardo Dominic PROPOSAL
Sinclair G OldroydFranceBernardo Dominic NEW
Misaki G GlickGermanyBernardo Dominic QUALIFIED
Wickens C MaletGermanyOnyama Limba NEW
Aditya S OldroydIndiaXuxue Feng NEGOTIATION
Leon I OldroydAustraliaAmy Elsner RENEWAL
Costa Y SaylorsGermanyIoni Bowcher UNQUALIFIED
Aditya H ShinkoIndiaStephen Shaw PROPOSAL
Arvin E FollerCanadaIoni Bowcher NEW
Munro Q ButtJapanElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody E ShinkoCanada2025-04-04Morlong Associates NEW7Ivan Magalhaes
1001Costa Q WhobreySpain2025-04-21Feiner Bros NEW82Amy Elsner
1002Jeanfrancois F MaletSpain2025-04-27Buckley Miller Wright RENEWAL88Asiya Javayant
1003Leja I VocelkaIndia2025-04-14Commercial Press NEGOTIATION99Bernardo Dominic
1004Maria Z DoeArgentina2025-04-17Chapman, Ross E Esq NEGOTIATION64Bernardo Dominic
1005Maisha K GlickGermany2025-04-07Morlong Associates UNQUALIFIED7Ioni Bowcher
1006Jones U FollerBrazil2025-04-11Commercial Press PROPOSAL90Amy Elsner
1007Emily M NickaCanada2025-04-19Feiner Bros RENEWAL36Stephen Shaw
1008Costa F GarufiGermany2025-04-27Feiner Bros NEW17Amy Elsner
1009Kadeem S SaylorsIndia2025-04-15Feltz Printing Service NEW59Onyama Limba
1010Rodrigues I KolmetzJapan2025-04-29Feiner Bros QUALIFIED3Anna Fali
1011Murillo X RutaCanada2025-04-01Chapman, Ross E Esq RENEWAL20Bernardo Dominic
1012Arvin X RutaFrance2025-04-02Feiner Bros NEW28Onyama Limba
1013Silvio U FollerRussia2025-04-28Printing Dimensions RENEWAL49Amy Elsner
1014Izzy Q OldroydAustralia2025-04-30King, Christopher A Esq PROPOSAL91Ioni Bowcher
1015Isabel U InouyeCanada2025-04-08Chanay, Jeffrey A Esq NEW81Ioni Bowcher
1016Chavez R SaylorsCanada2025-04-21Rousseaux, Michael Esq NEW41Anna Fali
1017Maisha F RulapaughAustralia2025-04-10Commercial Press PROPOSAL27Xuxue Feng
1018Aruna D AmigonFrance2025-04-10Printing Dimensions NEGOTIATION55Xuxue Feng
1019Juan C RoysterCanada2025-04-28Commercial Press NEGOTIATION33Amy Elsner
1020Kadeem J MarrierIndia2025-04-20Rangoni Of Florence NEGOTIATION98Anna Fali
1021Jones X SergiArgentina2025-04-23Chanay, Jeffrey A Esq PROPOSAL4Anna Fali
1022Leon U StockhamRussia2025-04-24Buckley Miller Wright RENEWAL86Elwin Sharvill
1023Francesco Q DarakjyFrance2025-04-11Chapman, Ross E Esq PROPOSAL45Anna Fali
1024Leon W PoquetteAustralia2025-04-10Rangoni Of Florence QUALIFIED32Anna Fali
1025Jeanfrancois S RulapaughItaly2025-04-05Feltz Printing Service RENEWAL55Ivan Magalhaes
1026Mujtaba T MacleadCanada2025-04-02Feiner Bros RENEWAL21Onyama Limba
1027Isabel R RulapaughIndia2025-04-09Commercial Press UNQUALIFIED13Ivan Magalhaes
1028Salvatore H IturbideItaly2025-04-17Dorl, James J Esq PROPOSAL26Onyama Limba
1029Costa W NestleAustralia2025-04-30Morlong Associates RENEWAL43Stephen Shaw
1030Ashley L WieserJapan2025-04-11Truhlar And Truhlar Attys UNQUALIFIED77Anna Fali
1031Emily I SaylorsIndia2025-04-05Truhlar And Truhlar Attys NEGOTIATION66Onyama Limba
1032Nicolas B BowleyJapan2025-04-25Chapman, Ross E Esq RENEWAL70Xuxue Feng
1033Antonio Y DoeArgentina2025-04-22King, Christopher A Esq UNQUALIFIED93Bernardo Dominic
1034Claire T VenereBrazil2025-04-02King, Christopher A Esq QUALIFIED97Amy Elsner
1035Smith U MarrierCanada2025-04-23Feiner Bros QUALIFIED47Bernardo Dominic
1036Kaitlin J DilliardCanada2025-04-30Dorl, James J Esq NEW89Stephen Shaw
1037Morrow V VenereBrazil2025-04-05Morlong Associates PROPOSAL35Amy Elsner
1038Maria N GillianAustralia2025-04-13Dorl, James J Esq QUALIFIED9Anna Fali
1039Jeanfrancois R OstroskyBrazil2025-04-03Dorl, James J Esq UNQUALIFIED34Elwin Sharvill
1040Chavez G KolmetzArgentina2025-04-07Chanay, Jeffrey A Esq RENEWAL8Stephen Shaw
1041Juan N InouyeRussia2025-04-06Buckley Miller Wright PROPOSAL25Stephen Shaw
1042Maisha V NickaSpain2025-04-23Chanay, Jeffrey A Esq PROPOSAL48Amy Elsner
1043Maria E AmigonIndia2025-04-19Morlong Associates RENEWAL13Ioni Bowcher
1044Salvatore I NickaAustralia2025-04-09Benton, John B Jr UNQUALIFIED15Ivan Magalhaes
1045Jeanfrancois B FlosiArgentina2025-04-01King, Christopher A Esq NEW59Elwin Sharvill
1046Aika B TollnerBrazil2025-04-29Buckley Miller Wright NEGOTIATION11Ioni Bowcher
1047Mujtaba C SchemmerGermany2025-04-24Feltz Printing Service PROPOSAL51Xuxue Feng
1048Ivar L CaldareraSpain2025-04-07Truhlar And Truhlar Attys NEW36Ioni Bowcher
1049Maisha Q PerinIndia2025-04-03King, Christopher A Esq RENEWAL24Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Adams I VenereBrazilBernardo Dominic NEW
Aditya W FerenczItalyStephen Shaw RENEWAL
Wickens I WhobreyAustraliaIvan Magalhaes PROPOSAL
Rodrigues D ShinkoAustraliaIoni Bowcher QUALIFIED
Octavia B BologniaIndiaElwin Sharvill UNQUALIFIED
Wickens T ChuiAustraliaXuxue Feng NEGOTIATION
Chavez J IturbideFranceIoni Bowcher NEW
Juan C SaylorsRussiaElwin Sharvill RENEWAL
Smith A CaudyArgentinaIoni Bowcher QUALIFIED
Aruna P FigeroaCanadaXuxue Feng NEGOTIATION
Ashley F RutaAustraliaBernardo Dominic NEGOTIATION
Nicolas F GlickAustraliaAmy Elsner PROPOSAL
Nicolas A SergiIndiaBernardo Dominic NEGOTIATION
Ashley S FollerIndiaIoni Bowcher UNQUALIFIED
Costa X GauchoSpainStephen Shaw RENEWAL
Julie Y SchemmerIndiaIvan Magalhaes NEW
Morrow Z DilliardBrazilOnyama Limba UNQUALIFIED
Cody U FlosiBrazilElwin Sharvill NEW
Julie G SlusarskiSpainBernardo Dominic QUALIFIED
Greenwood B ButtJapanIvan Magalhaes UNQUALIFIED
Costa F SchemmerFranceIvan Magalhaes UNQUALIFIED
Costa C MaletUnited KingdomIoni Bowcher NEGOTIATION
Smith X MaletUnited KingdomStephen Shaw RENEWAL
Clifford C OstroskyJapanElwin Sharvill RENEWAL
Silvio A PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Smith H FerenczIndiaAnna Fali PROPOSAL
Izzy T MarrierItalyBernardo Dominic NEW
Nicolas E WaycottRussiaAnna Fali UNQUALIFIED
Smith U SlusarskiBrazilAnna Fali NEW
Wickens S SlusarskiBrazilIoni Bowcher QUALIFIED
Clifford A MacleadFranceElwin Sharvill RENEWAL
Aika A PerinItalyAsiya Javayant NEW
Munro I OldroydArgentinaAmy Elsner QUALIFIED
Mujtaba A ChuiUnited KingdomAsiya Javayant RENEWAL
Greenwood N AmigonItalyIvan Magalhaes NEW
David L GauchoArgentinaAsiya Javayant RENEWAL
Jones K RutaGermanyAsiya Javayant PROPOSAL
Chavez C MaletRussiaAmy Elsner NEW
Johnson W ChuiBrazilAsiya Javayant NEW
Mayumi L PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Greenwood E WieserUnited KingdomXuxue Feng QUALIFIED
Salvatore S GlickUnited KingdomStephen Shaw NEGOTIATION
Greenwood K VenereFranceIvan Magalhaes NEW
James G BowleyAustraliaStephen Shaw PROPOSAL
Alejandro P VocelkaAustraliaAnna Fali RENEWAL
Greenwood F PerinJapanAmy Elsner QUALIFIED
Ivar N KuskoSpainBernardo Dominic UNQUALIFIED
Ashley N MarrierAustraliaXuxue Feng PROPOSAL
Arvin M PaprockiJapanXuxue Feng NEGOTIATION
Jeanfrancois G VenereFranceBernardo Dominic NEW
Frozen Columns
Name
Stacey Q Albares
Clifford F Chui
Clifford E Glick
Murillo O Morasca
Ricardo M Waycott
Greenwood S Amigon
Maria C Vocelka
Smith K Bolognia
Claire L Perin
Costa Y Malet
Murillo B Paprocki
Cody K Caudy
Arvin X Ferencz
Wickens E Briddick
Mujtaba U Glick
Mayumi B Schemmer
Cody O Nestle
Aditya P Oldroyd
Julie O Bolognia
Jeanfrancois U Kusko
Smith J Maclead
Murillo T Tollner
Julie L Wieser
Leon C Morasca
Octavia V Briddick
Octavia W Butt
Francesco Y Marrier
Claire P Stenseth
Jones Q Saylors
Arvin W Campain
Jefferson C Flosi
Jennifer B Garufi
Aika E Figeroa
Smith U Royster
Julie C Waycott
Jennifer M Saylors
Claire W Dilliard
Octavia E Paprocki
Jones M Oldroyd
Smith X Venere
Tony D Marrier
Smith V Morasca
Chavez C Gaucho
Jones Z Bolognia
Tony M Ostrosky
Julie Y Doe
Julie Z Paprocki
Salvatore R Kolmetz
Antonio K Nestle
Ashley A Briddick
IdCountryDate
1000Australia2025-04-21
1001France2025-04-05
1002Australia2025-04-25
1003Brazil2025-04-05
1004Italy2025-04-01
1005Argentina2025-04-21
1006Argentina2025-04-04
1007Brazil2025-04-22
1008United Kingdom2025-04-28
1009France2025-04-20
1010Spain2025-04-10
1011United Kingdom2025-04-17
1012United Kingdom2025-04-08
1013Argentina2025-04-20
1014India2025-04-26
1015Argentina2025-04-30
1016Italy2025-04-20
1017Japan2025-04-21
1018India2025-04-10
1019France2025-04-11
1020Brazil2025-04-14
1021Brazil2025-04-05
1022Canada2025-04-06
1023United Kingdom2025-04-15
1024Russia2025-04-26
1025Brazil2025-04-24
1026Germany2025-04-20
1027France2025-04-16
1028France2025-04-02
1029India2025-04-24
1030Argentina2025-04-21
1031Canada2025-04-24
1032Canada2025-04-26
1033Argentina2025-04-03
1034Russia2025-04-24
1035Russia2025-04-29
1036Argentina2025-04-03
1037Japan2025-04-22
1038Italy2025-04-21
1039Russia2025-04-21
1040Argentina2025-04-08
1041United Kingdom2025-04-13
1042Brazil2025-04-05
1043Germany2025-04-04
1044Russia2025-04-28
1045France2025-04-04
1046Australia2025-04-05
1047Germany2025-04-27
1048France2025-04-11
1049United Kingdom2025-04-03

On-Demand Data

NameIdCountryDate
Francesco G Foller1000France2025-04-13
Stacey K Marrier1001Russia2025-04-28
Wickens B Foller1002Australia2025-04-02
Tony W Tollner1003Japan2025-04-01
James A Glick1004India2025-04-25
Wickens G Amigon1005Argentina2025-04-13
Julie L Maclead1006France2025-04-11
Smith S Glick1007Canada2025-04-02
Deepesh M Figeroa1008India2025-04-10
Jennifer B Oldroyd1009Australia2025-04-24
Smith E Campain1010Germany2025-04-11
Leon U Perin1011Japan2025-04-11
Salvatore L Figeroa1012Brazil2025-04-14
Jeanfrancois D Iturbide1013Russia2025-04-20
Alejandro Y Whobrey1014Argentina2025-04-21
Adams B Malet1015Argentina2025-04-22
Jefferson U Caudy1016Brazil2025-04-22
Mayumi U Ruta1017Spain2025-04-13
Emily P Garufi1018Russia2025-04-11
Ivar G Tollner1019India2025-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey R OstroskyItalyIvan Magalhaes RENEWAL
Antonio M RoysterUnited KingdomElwin Sharvill NEW
Francesco P RutaJapanAnna Fali RENEWAL
Mujtaba L WieserCanadaXuxue Feng RENEWAL
Juan A AlbaresIndiaIoni Bowcher NEW
Misaki F ChuiSpainXuxue Feng RENEWAL
Arvin Y StensethJapanAnna Fali UNQUALIFIED
Leon P ChuiSpainIvan Magalhaes QUALIFIED
Ivar L OstroskyAustraliaBernardo Dominic NEW
Mujtaba G MaletJapanXuxue Feng RENEWAL
Costa X InouyeRussiaStephen Shaw NEGOTIATION
Claire J StockhamUnited KingdomOnyama Limba NEGOTIATION
Deepesh O FlosiAustraliaStephen Shaw NEGOTIATION
Mayumi Z SergiArgentinaOnyama Limba NEGOTIATION
Ashley D DoeIndiaOnyama Limba NEGOTIATION
Antonio I PoquetteBrazilAsiya Javayant UNQUALIFIED
Chavez D RutaAustraliaAsiya Javayant PROPOSAL
Claire F BriddickCanadaBernardo Dominic PROPOSAL
Misaki U DarakjyJapanAsiya Javayant RENEWAL
Isabel E FlosiUnited KingdomBernardo Dominic RENEWAL
Chavez Q CampainGermanyElwin Sharvill RENEWAL
Jones P MaletItalyAsiya Javayant QUALIFIED
Kadeem V VocelkaFranceIoni Bowcher UNQUALIFIED
Wickens H NestleSpainOnyama Limba NEW
Arvin B StockhamRussiaXuxue Feng NEGOTIATION
Alejandro O FerenczAustraliaIoni Bowcher QUALIFIED
Rodrigues K KuskoCanadaBernardo Dominic NEW
Wickens D FigeroaJapanAsiya Javayant UNQUALIFIED
Silvio K PoquetteItalyIvan Magalhaes QUALIFIED
Smith T FigeroaIndiaBernardo Dominic PROPOSAL
James V GarufiFranceIvan Magalhaes PROPOSAL
Costa P ShinkoCanadaXuxue Feng NEGOTIATION
Emily G BologniaIndiaIvan Magalhaes RENEWAL
Aruna A InouyeBrazilBernardo Dominic PROPOSAL
Cody J BowleyGermanyIvan Magalhaes QUALIFIED
Cody F DilliardGermanyOnyama Limba UNQUALIFIED
Adams Q WieserItalyXuxue Feng NEW
Kaitlin Y GillianGermanyStephen Shaw NEGOTIATION
Deepesh T NestleJapanElwin Sharvill QUALIFIED
Jeanfrancois C DoeRussiaAnna Fali RENEWAL

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