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
Juan M RulapaughUnited KingdomAnna Fali PROPOSAL
Arvin F MacleadBrazilIoni Bowcher NEGOTIATION
Ivar K BowleyIndiaAsiya Javayant QUALIFIED
James R GillianJapanXuxue Feng RENEWAL
Morrow J MaletArgentinaAsiya Javayant NEGOTIATION
Clifford C GlickArgentinaIvan Magalhaes QUALIFIED
Ashley B AmigonAustraliaStephen Shaw QUALIFIED
Izzy Z DarakjySpainAnna Fali QUALIFIED
Juan K NestleBrazilXuxue Feng PROPOSAL
Clifford G NestleJapanAsiya Javayant PROPOSAL
Francesco K AlbaresCanadaOnyama Limba NEGOTIATION
Juan L NestleSpainAsiya Javayant UNQUALIFIED
Deepesh W GillianUnited KingdomAsiya Javayant NEGOTIATION
Alejandro T WhobreySpainStephen Shaw NEW
Aditya S WhobreyItalyOnyama Limba QUALIFIED
Jennifer O AmigonArgentinaXuxue Feng PROPOSAL
Claire Q DarakjyRussiaStephen Shaw RENEWAL
Silvio N ChuiCanadaOnyama Limba RENEWAL
Chavez H RoysterItalyOnyama Limba NEW
Leon I GlickUnited KingdomAmy Elsner UNQUALIFIED
Nicolas B SlusarskiUnited KingdomStephen Shaw NEW
Leja Y DarakjyAustraliaAsiya Javayant RENEWAL
Deepesh Z PerinJapanXuxue Feng RENEWAL
Claire O VenereArgentinaOnyama Limba QUALIFIED
Costa W RulapaughItalyOnyama Limba UNQUALIFIED
Rodrigues A TollnerUnited KingdomIoni Bowcher QUALIFIED
Murillo B RulapaughSpainAnna Fali RENEWAL
Leon B NickaUnited KingdomStephen Shaw UNQUALIFIED
Murillo B PaprockiFranceAnna Fali RENEWAL
Adams R GillianGermanyAmy Elsner QUALIFIED
Maisha S FlosiBrazilAnna Fali PROPOSAL
Stacey F RimIndiaAnna Fali NEGOTIATION
Claire R FerenczItalyAnna Fali NEW
Salvatore G MarrierAustraliaAmy Elsner NEW
Aruna K FlosiItalyXuxue Feng UNQUALIFIED
Costa K PoquetteSpainIoni Bowcher UNQUALIFIED
Aika P OldroydAustraliaAsiya Javayant UNQUALIFIED
Adams V BologniaIndiaBernardo Dominic QUALIFIED
Morrow S GarufiGermanyAsiya Javayant NEW
Sinclair M KolmetzSpainAsiya Javayant RENEWAL
Kadeem X GlickArgentinaElwin Sharvill NEW
Arvin H KuskoItalyElwin Sharvill NEW
Wickens P BowleyBrazilStephen Shaw NEW
Leon Z WhobreySpainElwin Sharvill NEGOTIATION
Deepesh C WaycottGermanyAmy Elsner QUALIFIED
Juan X WieserIndiaOnyama Limba NEGOTIATION
Juan I WaycottRussiaAmy Elsner NEW
Izzy N ChuiJapanAmy Elsner NEGOTIATION
Leon K VocelkaAustraliaOnyama Limba PROPOSAL
Ricardo J MaletBrazilXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco X BowleyCanadaIoni Bowcher NEW
Antonio T CampainCanadaIvan Magalhaes QUALIFIED
Maisha J FollerArgentinaXuxue Feng NEW
Clifford G TollnerRussiaElwin Sharvill PROPOSAL
Greenwood Z DarakjyItalyElwin Sharvill QUALIFIED
Aruna X NickaSpainIvan Magalhaes QUALIFIED
Octavia L NickaIndiaXuxue Feng PROPOSAL
Deepesh J RimCanadaIvan Magalhaes QUALIFIED
Francesco Q PerinAustraliaOnyama Limba QUALIFIED
Leja K InouyeFranceAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin W DoeAustralia2026-08-28Printing Dimensions RENEWAL18Onyama Limba
1001Izzy I MacleadGermany2026-08-10Chemel, James L Cpa NEGOTIATION22Elwin Sharvill
1002Mayumi Y WhobreyItaly2026-08-02Buckley Miller Wright UNQUALIFIED20Xuxue Feng
1003Ivar P KuskoBrazil2026-08-15King, Christopher A Esq QUALIFIED47Ivan Magalhaes
1004Emily E CampainCanada2026-08-19King, Christopher A Esq NEGOTIATION45Asiya Javayant
1005Ricardo V MacleadRussia2026-08-16Commercial Press NEGOTIATION95Bernardo Dominic
1006Sinclair O OstroskySpain2026-08-18Dorl, James J Esq NEW11Ioni Bowcher
1007Salvatore M StockhamArgentina2026-08-23King, Christopher A Esq QUALIFIED82Bernardo Dominic
1008Sinclair K CaudyJapan2026-08-16Buckley Miller Wright QUALIFIED87Xuxue Feng
1009Aika L ChuiAustralia2026-08-21Rangoni Of Florence UNQUALIFIED93Xuxue Feng
1010Ricardo V PerinItaly2026-08-27Rousseaux, Michael Esq QUALIFIED98Ivan Magalhaes
1011Claire R InouyeJapan2026-08-19Chanay, Jeffrey A Esq NEGOTIATION19Ivan Magalhaes
1012Leon T FerenczIndia2026-08-05Feltz Printing Service PROPOSAL23Stephen Shaw
1013Tony D ShinkoSpain2026-08-16Chemel, James L Cpa NEGOTIATION20Amy Elsner
1014Maria K FigeroaArgentina2026-08-06Dorl, James J Esq PROPOSAL0Bernardo Dominic
1015Emily A ButtBrazil2026-08-22Rangoni Of Florence NEGOTIATION21Ivan Magalhaes
1016Juan D KolmetzRussia2026-08-02Commercial Press UNQUALIFIED43Xuxue Feng
1017Deepesh L SlusarskiJapan2026-08-27Truhlar And Truhlar Attys RENEWAL73Bernardo Dominic
1018David N AmigonBrazil2026-08-04Chanay, Jeffrey A Esq UNQUALIFIED60Stephen Shaw
1019Cody W StockhamCanada2026-08-08Chanay, Jeffrey A Esq NEGOTIATION31Xuxue Feng
1020Arvin Q PoquetteGermany2026-08-02Chanay, Jeffrey A Esq NEGOTIATION39Stephen Shaw
1021Munro R BriddickGermany2026-07-31Chapman, Ross E Esq RENEWAL83Xuxue Feng
1022Alejandro S MorascaSpain2026-08-11Benton, John B Jr RENEWAL87Bernardo Dominic
1023Alejandro Y SergiSpain2026-08-25Feltz Printing Service RENEWAL49Elwin Sharvill
1024Adams M SlusarskiUnited Kingdom2026-08-26Chanay, Jeffrey A Esq QUALIFIED78Ioni Bowcher
1025Antonio L SergiItaly2026-08-25Feiner Bros RENEWAL10Ivan Magalhaes
1026Deepesh F GarufiGermany2026-08-25Rousseaux, Michael Esq UNQUALIFIED90Asiya Javayant
1027Murillo A NestleCanada2026-08-28Feiner Bros PROPOSAL36Anna Fali
1028Isabel Z RutaArgentina2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED78Amy Elsner
1029Adams G RoysterFrance2026-07-31Rangoni Of Florence RENEWAL92Xuxue Feng
1030Jones L MacleadAustralia2026-08-27Rousseaux, Michael Esq QUALIFIED51Onyama Limba
1031Ricardo S GarufiBrazil2026-08-07Printing Dimensions PROPOSAL43Stephen Shaw
1032Maisha B RoysterSpain2026-08-18Dorl, James J Esq UNQUALIFIED84Amy Elsner
1033Salvatore S ButtItaly2026-08-06Chapman, Ross E Esq RENEWAL59Xuxue Feng
1034Claire L PoquetteGermany2026-08-04Benton, John B Jr NEW93Amy Elsner
1035Murillo P MorascaArgentina2026-07-31Rousseaux, Michael Esq PROPOSAL63Elwin Sharvill
1036Wickens T FollerBrazil2026-08-11Feltz Printing Service RENEWAL68Anna Fali
1037Tony K DarakjyArgentina2026-08-29Chanay, Jeffrey A Esq NEW81Asiya Javayant
1038Antonio D FigeroaArgentina2026-08-22King, Christopher A Esq PROPOSAL1Amy Elsner
1039Arvin A MaletGermany2026-08-11Truhlar And Truhlar Attys NEW99Xuxue Feng
1040Juan H GillianBrazil2026-08-19Feiner Bros RENEWAL18Asiya Javayant
1041Octavia N RutaBrazil2026-08-09Rangoni Of Florence QUALIFIED47Xuxue Feng
1042Jennifer B ButtItaly2026-08-24King, Christopher A Esq RENEWAL87Asiya Javayant
1043Antonio N MorascaIndia2026-08-14Chanay, Jeffrey A Esq NEGOTIATION75Bernardo Dominic
1044Aditya V ShinkoJapan2026-08-18Feiner Bros RENEWAL95Ioni Bowcher
1045Antonio D SergiFrance2026-08-21Feltz Printing Service UNQUALIFIED48Elwin Sharvill
1046Aruna P PaprockiItaly2026-08-11Printing Dimensions NEGOTIATION28Elwin Sharvill
1047David X MaletItaly2026-08-10Feltz Printing Service QUALIFIED89Amy Elsner
1048Kaitlin H FollerAustralia2026-08-12King, Christopher A Esq NEGOTIATION11Amy Elsner
1049Mujtaba G BowleyGermany2026-08-20Chapman, Ross E Esq PROPOSAL88Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire N GillianItalyAnna Fali UNQUALIFIED
Morrow N ChuiSpainIvan Magalhaes UNQUALIFIED
Francesco N SchemmerArgentinaElwin Sharvill NEW
Stacey J CaudyJapanBernardo Dominic RENEWAL
Wickens F ShinkoUnited KingdomAsiya Javayant QUALIFIED
Jefferson J RimGermanyElwin Sharvill UNQUALIFIED
Ashley P DoeSpainElwin Sharvill QUALIFIED
Johnson W DilliardRussiaBernardo Dominic QUALIFIED
Kaitlin B RimRussiaAmy Elsner QUALIFIED
Aika G MarrierGermanyIvan Magalhaes PROPOSAL
Octavia J ChuiUnited KingdomOnyama Limba PROPOSAL
Smith Z FerenczRussiaIvan Magalhaes NEW
Juan H WhobreyIndiaAsiya Javayant UNQUALIFIED
Maria J SergiIndiaIvan Magalhaes NEW
Clifford V FerenczBrazilAmy Elsner QUALIFIED
Rodrigues B OstroskyIndiaAsiya Javayant QUALIFIED
Izzy B DarakjyJapanAmy Elsner RENEWAL
Ricardo P RulapaughUnited KingdomAnna Fali NEGOTIATION
Ivar U NestleFranceElwin Sharvill NEGOTIATION
Deepesh Q MaletRussiaStephen Shaw NEGOTIATION
Aika E OldroydIndiaAsiya Javayant RENEWAL
Johnson U NickaIndiaAmy Elsner QUALIFIED
Tony K CampainIndiaAsiya Javayant RENEWAL
Costa F MaletSpainOnyama Limba PROPOSAL
David U StensethIndiaStephen Shaw PROPOSAL
Kaitlin A SergiFranceAmy Elsner RENEWAL
Misaki E IturbideRussiaAnna Fali RENEWAL
Ivar J VocelkaFranceIoni Bowcher NEGOTIATION
Maisha Y WhobreyBrazilAmy Elsner NEGOTIATION
Aditya B RoysterUnited KingdomOnyama Limba QUALIFIED
Misaki O InouyeSpainXuxue Feng RENEWAL
James U GillianRussiaAmy Elsner UNQUALIFIED
Adams J InouyeItalyXuxue Feng UNQUALIFIED
Jones O GauchoSpainAnna Fali NEGOTIATION
Tony M MaletFranceStephen Shaw NEGOTIATION
Greenwood I MaletUnited KingdomXuxue Feng PROPOSAL
Ivar C RulapaughArgentinaAsiya Javayant QUALIFIED
Clifford F FerenczSpainOnyama Limba NEW
Claire P ShinkoGermanyOnyama Limba RENEWAL
Wickens L CaldareraGermanyBernardo Dominic UNQUALIFIED
Cody R NickaJapanElwin Sharvill UNQUALIFIED
Alejandro Z DoeSpainAsiya Javayant NEW
Johnson U WieserItalyBernardo Dominic PROPOSAL
Jefferson U CampainArgentinaOnyama Limba NEGOTIATION
Kadeem Q ChuiBrazilAnna Fali NEGOTIATION
Jones F VenereItalyIoni Bowcher UNQUALIFIED
Kaitlin Z MaletSpainBernardo Dominic RENEWAL
Misaki G FigeroaArgentinaAmy Elsner RENEWAL
Stacey A TollnerItalyAnna Fali QUALIFIED
Tony N GlickJapanBernardo Dominic PROPOSAL
Frozen Columns
Name
Nicolas H Schemmer
Izzy J Figeroa
Jones N Waycott
Wickens T Royster
Mujtaba F Garufi
Clifford I Shinko
Chavez Z Kolmetz
Aditya L Wieser
Mayumi W Briddick
Jennifer E Malet
Maisha G Ostrosky
Octavia U Sergi
Jefferson R Gaucho
Aditya M Vocelka
Isabel Q Royster
Aruna T Vocelka
Aditya W Caudy
Wickens I Tollner
Antonio Y Marrier
Juan L Nicka
Clifford U Tollner
Salvatore R Malet
Mayumi E Schemmer
Smith A Caldarera
Claire W Venere
Cody Q Caudy
Murillo N Dilliard
Chavez A Kusko
Juan V Kusko
Maria M Amigon
Antonio L Marrier
Jennifer I Garufi
Aika N Gaucho
Jennifer P Ferencz
Jeanfrancois W Sergi
Costa U Venere
Claire V Caudy
Darci T Butt
Silvio L Ruta
Arvin W Bolognia
Jefferson G Gaucho
Munro I Ruta
Jones L Vocelka
Deepesh O Caldarera
Julie L Chui
Morrow E Ostrosky
Darci H Gaucho
Kadeem E Wieser
Francesco F Malet
James F Kusko
IdCountryDate
1000Russia2026-08-29
1001India2026-08-08
1002Japan2026-08-24
1003Argentina2026-08-28
1004France2026-08-23
1005Germany2026-08-26
1006India2026-08-09
1007Brazil2026-08-19
1008Argentina2026-08-06
1009Australia2026-08-02
1010Argentina2026-08-11
1011Germany2026-07-31
1012Japan2026-08-22
1013Japan2026-07-31
1014Argentina2026-08-07
1015Canada2026-08-12
1016Italy2026-08-29
1017France2026-08-11
1018Germany2026-08-09
1019India2026-08-16
1020Canada2026-08-26
1021Australia2026-08-28
1022Argentina2026-08-08
1023France2026-08-09
1024United Kingdom2026-08-02
1025Spain2026-08-03
1026Australia2026-08-01
1027Australia2026-08-07
1028Canada2026-08-10
1029France2026-08-27
1030Spain2026-08-16
1031Argentina2026-08-21
1032Canada2026-08-13
1033Argentina2026-08-26
1034Brazil2026-08-07
1035Brazil2026-08-02
1036Canada2026-08-07
1037Spain2026-08-06
1038Brazil2026-08-06
1039United Kingdom2026-08-07
1040Canada2026-08-09
1041Germany2026-08-06
1042Spain2026-08-02
1043Italy2026-08-23
1044Brazil2026-08-27
1045Germany2026-08-16
1046Italy2026-08-09
1047Australia2026-08-11
1048Italy2026-08-26
1049United Kingdom2026-08-03

On-Demand Data

NameIdCountryDate
Maisha U Tollner1000France2026-08-23
Clifford N Gaucho1001Argentina2026-08-06
Cody I Schemmer1002United Kingdom2026-08-24
Isabel N Foller1003United Kingdom2026-08-10
Aditya K Sergi1004United Kingdom2026-08-14
Jefferson W Chui1005Brazil2026-08-11
Smith A Doe1006United Kingdom2026-08-17
Faith I Caudy1007Germany2026-08-29
Kaitlin S Inouye1008Japan2026-08-14
Juan A Amigon1009Brazil2026-08-28
Wickens K Maclead1010Japan2026-08-21
Mujtaba S Vocelka1011Germany2026-08-09
Leon R Paprocki1012Russia2026-08-17
Alejandro A Malet1013Brazil2026-08-21
Leon P Perin1014Italy2026-08-22
Silvio N Albares1015India2026-08-17
Deepesh V Briddick1016United Kingdom2026-08-19
Jefferson D Garufi1017France2026-08-19
Juan Z Ostrosky1018Spain2026-08-02
Isabel T Flosi1019Argentina2026-08-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily C BowleyItalyAmy Elsner UNQUALIFIED
Morrow O AmigonCanadaXuxue Feng QUALIFIED
Ashley X FlosiIndiaStephen Shaw QUALIFIED
Sinclair E AlbaresSpainAnna Fali PROPOSAL
Aditya U WaycottJapanElwin Sharvill UNQUALIFIED
Aruna T NickaArgentinaElwin Sharvill QUALIFIED
Stacey Q BriddickRussiaIoni Bowcher RENEWAL
Jefferson O SchemmerUnited KingdomAsiya Javayant PROPOSAL
Misaki U NestleAustraliaAmy Elsner NEGOTIATION
Juan S NickaCanadaBernardo Dominic PROPOSAL
Munro H GlickSpainIoni Bowcher UNQUALIFIED
Octavia A NestleCanadaBernardo Dominic NEW
Murillo X AlbaresAustraliaStephen Shaw UNQUALIFIED
Kadeem P VocelkaSpainElwin Sharvill QUALIFIED
Maria D DarakjyGermanyAsiya Javayant UNQUALIFIED
Francesco W RimArgentinaElwin Sharvill NEW
Murillo B InouyeCanadaAnna Fali PROPOSAL
Stacey Y ShinkoJapanXuxue Feng UNQUALIFIED
David W GillianItalyIvan Magalhaes RENEWAL
Clifford G NickaAustraliaAsiya Javayant NEGOTIATION
Sinclair J InouyeAustraliaBernardo Dominic NEGOTIATION
Costa P DarakjyBrazilElwin Sharvill QUALIFIED
Jones Z SergiAustraliaAmy Elsner NEW
Aika K DilliardCanadaOnyama Limba PROPOSAL
Jones U SergiItalyIvan Magalhaes PROPOSAL
Aditya S FollerUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh M PerinRussiaAnna Fali UNQUALIFIED
Arvin D MaletAustraliaStephen Shaw QUALIFIED
Greenwood P PoquetteFranceIvan Magalhaes QUALIFIED
Silvio I CaudyAustraliaStephen Shaw PROPOSAL
Izzy S GarufiFranceAmy Elsner NEW
Antonio C FollerItalyIoni Bowcher PROPOSAL
Silvio Q IturbideCanadaIvan Magalhaes RENEWAL
Adams M WaycottJapanAsiya Javayant UNQUALIFIED
Munro L RulapaughGermanyAsiya Javayant PROPOSAL
Juan T DoeUnited KingdomIvan Magalhaes RENEWAL
Adams F ShinkoRussiaXuxue Feng UNQUALIFIED
Nicolas C GlickJapanStephen Shaw UNQUALIFIED
Juan Y RimRussiaIoni Bowcher NEW
Rodrigues Q TollnerSpainStephen Shaw QUALIFIED

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