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
Mayumi O SergiSpainStephen Shaw QUALIFIED
Adams I DilliardRussiaElwin Sharvill PROPOSAL
Deepesh T MarrierFranceBernardo Dominic NEGOTIATION
Johnson C RutaItalyAnna Fali RENEWAL
Kaitlin D WhobreyItalyStephen Shaw PROPOSAL
Leon X FerenczJapanOnyama Limba RENEWAL
Faith K StockhamAustraliaOnyama Limba QUALIFIED
Arvin U FollerUnited KingdomXuxue Feng UNQUALIFIED
Juan L AmigonUnited KingdomXuxue Feng NEGOTIATION
Jefferson U RoysterCanadaBernardo Dominic UNQUALIFIED
Ricardo R DarakjySpainAmy Elsner PROPOSAL
Darci T CampainIndiaAmy Elsner NEW
Murillo M MorascaUnited KingdomElwin Sharvill NEW
Darci A TollnerGermanyAnna Fali UNQUALIFIED
Munro O AlbaresAustraliaIoni Bowcher QUALIFIED
Jeanfrancois V MaletItalyAsiya Javayant PROPOSAL
Mayumi V BowleySpainElwin Sharvill QUALIFIED
Darci Y RutaUnited KingdomXuxue Feng RENEWAL
Maria R MaletJapanAnna Fali UNQUALIFIED
Wickens L OldroydAustraliaIoni Bowcher UNQUALIFIED
Johnson O TollnerFranceBernardo Dominic QUALIFIED
Misaki M ShinkoArgentinaAsiya Javayant RENEWAL
Chavez D KuskoItalyOnyama Limba NEGOTIATION
Costa L NestleIndiaIvan Magalhaes QUALIFIED
Maisha C AlbaresSpainAmy Elsner NEGOTIATION
Juan O CaldareraSpainIvan Magalhaes NEW
Clifford Y BologniaAustraliaElwin Sharvill RENEWAL
Julie L PoquetteArgentinaAmy Elsner QUALIFIED
Emily C OldroydFranceXuxue Feng PROPOSAL
Adams W PaprockiGermanyXuxue Feng NEW
Ivar W DarakjyAustraliaAmy Elsner UNQUALIFIED
Jennifer E PerinAustraliaStephen Shaw QUALIFIED
Izzy P DoeArgentinaStephen Shaw NEW
Jefferson L RutaGermanyIvan Magalhaes RENEWAL
Faith D StensethSpainIoni Bowcher NEW
Johnson P NickaBrazilIvan Magalhaes NEW
Aika S SchemmerRussiaElwin Sharvill NEGOTIATION
Smith H MacleadFranceElwin Sharvill QUALIFIED
Maisha H BologniaAustraliaStephen Shaw PROPOSAL
Emily T AlbaresIndiaIvan Magalhaes QUALIFIED
Ashley H NestleBrazilOnyama Limba QUALIFIED
Juan N KolmetzFranceElwin Sharvill QUALIFIED
Juan J SchemmerAustraliaAsiya Javayant RENEWAL
Jefferson X CaudyAustraliaBernardo Dominic NEW
Greenwood J ButtSpainAsiya Javayant NEW
Maisha I NestleCanadaOnyama Limba UNQUALIFIED
Ashley I SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Arvin J RimAustraliaElwin Sharvill NEW
Jones J AmigonSpainStephen Shaw UNQUALIFIED
Leja H ChuiArgentinaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba R MaletRussiaStephen Shaw QUALIFIED
James J CaudyFranceBernardo Dominic PROPOSAL
Ricardo H PerinUnited KingdomAnna Fali PROPOSAL
Julie H PaprockiArgentinaAmy Elsner PROPOSAL
Isabel V CaudyUnited KingdomOnyama Limba UNQUALIFIED
Aika S SergiArgentinaOnyama Limba UNQUALIFIED
Jennifer N NickaCanadaElwin Sharvill PROPOSAL
Clifford Z ButtJapanIvan Magalhaes NEW
Ricardo P GlickSpainStephen Shaw NEGOTIATION
Tony X VenereIndiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood P TollnerAustralia2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED44Onyama Limba
1001Maisha B FigeroaJapan2024-06-01Benton, John B Jr QUALIFIED10Onyama Limba
1002Jennifer D SaylorsRussia2024-06-01Commercial Press UNQUALIFIED78Xuxue Feng
1003Izzy Y KolmetzArgentina2024-06-10Chanay, Jeffrey A Esq QUALIFIED30Asiya Javayant
1004Sinclair Q FollerItaly2024-05-25Rangoni Of Florence NEGOTIATION7Elwin Sharvill
1005Morrow F SergiItaly2024-06-02Morlong Associates UNQUALIFIED72Stephen Shaw
1006Stacey R ButtGermany2024-05-15Rangoni Of Florence PROPOSAL74Xuxue Feng
1007Darci X ShinkoFrance2024-05-31Chanay, Jeffrey A Esq RENEWAL11Stephen Shaw
1008Aruna J MarrierRussia2024-05-22Benton, John B Jr RENEWAL3Onyama Limba
1009Morrow J CaudyArgentina2024-05-26King, Christopher A Esq NEGOTIATION35Ioni Bowcher
1010Octavia O GauchoCanada2024-05-17Rousseaux, Michael Esq UNQUALIFIED29Amy Elsner
1011Leon L VenereArgentina2024-06-07King, Christopher A Esq QUALIFIED19Asiya Javayant
1012Aruna K FerenczUnited Kingdom2024-05-21Feiner Bros NEGOTIATION64Anna Fali
1013Nicolas H DilliardCanada2024-06-04Feltz Printing Service NEGOTIATION8Asiya Javayant
1014Kaitlin B GauchoArgentina2024-06-07Feltz Printing Service PROPOSAL44Ioni Bowcher
1015Darci V SchemmerUnited Kingdom2024-05-20Benton, John B Jr NEW93Asiya Javayant
1016Adams H ChuiBrazil2024-05-24Chapman, Ross E Esq PROPOSAL38Onyama Limba
1017Cody R MaletFrance2024-06-09Dorl, James J Esq PROPOSAL15Asiya Javayant
1018Octavia G OstroskyUnited Kingdom2024-06-08King, Christopher A Esq RENEWAL12Ivan Magalhaes
1019Jefferson K RoysterFrance2024-06-09Chapman, Ross E Esq RENEWAL64Asiya Javayant
1020Costa L CaudyArgentina2024-05-28Chapman, Ross E Esq QUALIFIED61Anna Fali
1021Maisha Q KuskoBrazil2024-05-18Chanay, Jeffrey A Esq NEGOTIATION84Elwin Sharvill
1022Sinclair T FollerItaly2024-05-19Rangoni Of Florence PROPOSAL8Anna Fali
1023Aditya U SaylorsRussia2024-06-09King, Christopher A Esq UNQUALIFIED15Elwin Sharvill
1024Misaki U RoysterFrance2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED33Stephen Shaw
1025Faith H FigeroaSpain2024-06-04King, Christopher A Esq RENEWAL89Stephen Shaw
1026Rodrigues C CaudyUnited Kingdom2024-06-04Feltz Printing Service QUALIFIED16Bernardo Dominic
1027Jefferson P MaletItaly2024-05-29Chanay, Jeffrey A Esq NEGOTIATION37Anna Fali
1028Faith Z NestleArgentina2024-05-28King, Christopher A Esq UNQUALIFIED77Amy Elsner
1029Sinclair U SaylorsArgentina2024-06-09Commercial Press PROPOSAL65Ioni Bowcher
1030Julie I SlusarskiJapan2024-06-02Rangoni Of Florence RENEWAL5Stephen Shaw
1031Leja Y SlusarskiIndia2024-05-15Truhlar And Truhlar Attys NEGOTIATION75Onyama Limba
1032Smith P FollerFrance2024-06-11Benton, John B Jr PROPOSAL52Elwin Sharvill
1033Adams P FigeroaBrazil2024-05-24Chapman, Ross E Esq NEW7Amy Elsner
1034Salvatore Q MorascaJapan2024-05-23Chemel, James L Cpa NEW99Xuxue Feng
1035Isabel F CampainUnited Kingdom2024-05-19Benton, John B Jr NEGOTIATION40Amy Elsner
1036Sinclair Z GauchoFrance2024-05-24Chanay, Jeffrey A Esq PROPOSAL92Ivan Magalhaes
1037Smith P RimAustralia2024-05-25Feiner Bros NEW36Amy Elsner
1038Octavia T NestleFrance2024-05-24King, Christopher A Esq NEGOTIATION87Elwin Sharvill
1039Claire O FollerJapan2024-05-24King, Christopher A Esq NEGOTIATION23Ioni Bowcher
1040Arvin J RutaBrazil2024-06-13King, Christopher A Esq RENEWAL61Ivan Magalhaes
1041Jennifer Y GlickIndia2024-05-24Morlong Associates NEW38Ioni Bowcher
1042Cody G FlosiAustralia2024-05-15Feiner Bros UNQUALIFIED72Elwin Sharvill
1043Mujtaba E VocelkaRussia2024-05-23Printing Dimensions NEW78Ioni Bowcher
1044David B CaudyItaly2024-05-22Dorl, James J Esq RENEWAL28Xuxue Feng
1045Wickens D FigeroaItaly2024-05-25Buckley Miller Wright RENEWAL75Asiya Javayant
1046Salvatore F SchemmerBrazil2024-05-25Truhlar And Truhlar Attys PROPOSAL12Amy Elsner
1047Juan W PaprockiRussia2024-06-12Chanay, Jeffrey A Esq NEGOTIATION29Anna Fali
1048Darci H MaletFrance2024-06-09Dorl, James J Esq NEGOTIATION60Ivan Magalhaes
1049Maisha S WaycottSpain2024-05-22Rousseaux, Michael Esq PROPOSAL75Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Silvio T MorascaBrazilIoni Bowcher QUALIFIED
Greenwood H StockhamAustraliaIvan Magalhaes UNQUALIFIED
Ashley B GlickItalyOnyama Limba UNQUALIFIED
Deepesh X SaylorsAustraliaStephen Shaw PROPOSAL
Misaki P RimJapanIoni Bowcher NEGOTIATION
Adams A CampainAustraliaStephen Shaw NEW
James H FerenczRussiaIoni Bowcher PROPOSAL
Nicolas R ShinkoIndiaIoni Bowcher RENEWAL
Francesco Q MaletBrazilAmy Elsner PROPOSAL
Cody C IturbideItalyIvan Magalhaes NEW
Jennifer L OldroydJapanXuxue Feng NEGOTIATION
Emily J PaprockiItalyIoni Bowcher PROPOSAL
Johnson Z WaycottAustraliaElwin Sharvill QUALIFIED
Munro M OstroskyCanadaIvan Magalhaes NEW
Kadeem L WieserFranceIoni Bowcher QUALIFIED
Alejandro Q SlusarskiFranceElwin Sharvill RENEWAL
Octavia L StensethFranceAnna Fali QUALIFIED
Claire P PerinRussiaXuxue Feng NEW
Clifford R SlusarskiBrazilElwin Sharvill NEW
Nicolas M RoysterAustraliaIoni Bowcher NEW
Morrow U DarakjySpainXuxue Feng NEGOTIATION
Izzy J MarrierRussiaAsiya Javayant UNQUALIFIED
Munro C MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois S AlbaresGermanyBernardo Dominic NEW
Ivar X NestleCanadaIoni Bowcher PROPOSAL
Murillo U OldroydItalyAnna Fali PROPOSAL
Rodrigues A SaylorsItalyStephen Shaw PROPOSAL
Chavez G RulapaughSpainAnna Fali RENEWAL
Julie L CaudySpainAnna Fali RENEWAL
Izzy O BologniaFranceIvan Magalhaes RENEWAL
Antonio O DarakjySpainAmy Elsner QUALIFIED
Francesco G SlusarskiRussiaAmy Elsner NEW
Morrow C CampainArgentinaAmy Elsner NEGOTIATION
Johnson Z MacleadJapanAsiya Javayant RENEWAL
Aruna O ShinkoSpainAmy Elsner RENEWAL
Stacey V IturbideBrazilBernardo Dominic PROPOSAL
Jeanfrancois H GillianArgentinaXuxue Feng QUALIFIED
Jones B ChuiItalyBernardo Dominic PROPOSAL
Greenwood Q BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas A KolmetzSpainIoni Bowcher PROPOSAL
Misaki W PaprockiJapanBernardo Dominic RENEWAL
Arvin A BologniaFranceOnyama Limba UNQUALIFIED
Leja W VocelkaItalyElwin Sharvill PROPOSAL
Juan A MaletArgentinaAnna Fali RENEWAL
Rodrigues N FlosiArgentinaAmy Elsner RENEWAL
Alejandro Z OldroydArgentinaXuxue Feng RENEWAL
Emily F StockhamAustraliaElwin Sharvill NEW
Clifford P BriddickItalyXuxue Feng UNQUALIFIED
Johnson B NestleIndiaAmy Elsner NEGOTIATION
Smith I CaudyCanadaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Izzy I Stenseth
Jefferson X Iturbide
Stacey K Amigon
Faith A Inouye
Costa W Saylors
James Y Maclead
Silvio J Glick
Murillo O Bolognia
Claire O Glick
James P Albares
Ashley U Poquette
Leon K Whobrey
Ivar Z Figeroa
Ricardo B Saylors
Silvio V Briddick
Clifford E Ostrosky
Izzy Y Foller
Salvatore U Stenseth
Greenwood M Tollner
Jeanfrancois N Stockham
Maisha P Rulapaugh
Juan O Nestle
Antonio F Perin
Maria V Iturbide
Emily E Whobrey
Antonio Q Paprocki
Julie S Saylors
Faith H Dilliard
Rodrigues K Briddick
Aditya O Rulapaugh
Smith D Nicka
Claire D Sergi
Munro R Stenseth
Salvatore D Wieser
Morrow A Saylors
Chavez I Butt
Darci M Darakjy
Jennifer C Gillian
David I Figeroa
Octavia E Schemmer
Mayumi F Poquette
Emily X Dilliard
Ashley O Nicka
Leon F Nestle
Aruna Y Schemmer
Murillo L Briddick
Mayumi R Flosi
Tony N Saylors
Arvin X Paprocki
Munro F Figeroa
IdCountryDate
1000Argentina2024-06-10
1001Brazil2024-06-04
1002Australia2024-06-07
1003Spain2024-06-04
1004India2024-06-07
1005Spain2024-05-26
1006Australia2024-05-29
1007Italy2024-06-03
1008France2024-06-11
1009Argentina2024-05-18
1010Russia2024-06-07
1011France2024-05-19
1012Spain2024-05-22
1013Japan2024-06-01
1014France2024-05-24
1015Russia2024-05-22
1016India2024-06-11
1017Italy2024-05-29
1018Brazil2024-05-29
1019Japan2024-05-16
1020Canada2024-06-04
1021Japan2024-06-07
1022Russia2024-05-16
1023Canada2024-06-13
1024Canada2024-06-11
1025Argentina2024-06-05
1026Canada2024-06-06
1027Spain2024-06-03
1028Argentina2024-05-27
1029Spain2024-05-19
1030Russia2024-05-18
1031Russia2024-05-30
1032Italy2024-06-04
1033Japan2024-05-22
1034Australia2024-06-13
1035United Kingdom2024-05-23
1036Russia2024-06-07
1037Russia2024-05-28
1038Italy2024-06-13
1039Spain2024-05-15
1040Russia2024-05-31
1041United Kingdom2024-05-24
1042United Kingdom2024-05-28
1043Spain2024-05-31
1044Brazil2024-06-01
1045Japan2024-05-22
1046Argentina2024-06-11
1047Brazil2024-06-09
1048Italy2024-06-11
1049Germany2024-05-31

On-Demand Data

NameIdCountryDate
Tony A Rim1000Argentina2024-06-09
Maisha E Campain1001United Kingdom2024-05-20
James H Schemmer1002Germany2024-06-06
David J Poquette1003Japan2024-06-13
Francesco G Shinko1004Brazil2024-05-30
Aditya S Whobrey1005Canada2024-05-18
Isabel G Nicka1006Canada2024-06-05
Sinclair C Morasca1007Canada2024-06-09
Ivar P Bowley1008Canada2024-06-12
Ivar I Stockham1009United Kingdom2024-06-08
Murillo B Rim1010Australia2024-05-18
Rodrigues X Ruta1011Germany2024-06-02
Aruna I Royster1012Argentina2024-05-18
Francesco S Iturbide1013Canada2024-05-25
Smith J Saylors1014Canada2024-05-17
Sinclair R Vocelka1015France2024-06-06
Costa Z Albares1016India2024-05-25
Ashley K Sergi1017Brazil2024-06-11
Darci Z Amigon1018Russia2024-05-17
Maisha N Inouye1019Japan2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley X TollnerArgentinaOnyama Limba UNQUALIFIED
Chavez O ButtSpainAnna Fali PROPOSAL
Maria Q ChuiItalyAsiya Javayant NEGOTIATION
Ricardo P DoeAustraliaOnyama Limba RENEWAL
Julie F WieserCanadaBernardo Dominic NEGOTIATION
Adams V ChuiUnited KingdomAnna Fali PROPOSAL
Leon C KolmetzFranceBernardo Dominic NEW
Misaki D BowleyItalyAsiya Javayant QUALIFIED
Alejandro S RimJapanAmy Elsner QUALIFIED
Chavez I SlusarskiJapanStephen Shaw QUALIFIED
Aika D KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Ashley A GarufiSpainXuxue Feng QUALIFIED
Aruna F SergiRussiaOnyama Limba UNQUALIFIED
Munro G IturbideIndiaOnyama Limba NEGOTIATION
Izzy T OldroydJapanElwin Sharvill RENEWAL
Francesco M PoquetteCanadaAmy Elsner QUALIFIED
Smith E SlusarskiFranceIvan Magalhaes PROPOSAL
Izzy R VocelkaJapanStephen Shaw RENEWAL
Aika G RulapaughGermanyOnyama Limba PROPOSAL
Morrow C MaletAustraliaAmy Elsner NEGOTIATION
Faith M RimSpainXuxue Feng NEW
Misaki I GlickGermanyBernardo Dominic UNQUALIFIED
Ashley N PoquetteRussiaOnyama Limba PROPOSAL
Jeanfrancois K MorascaItalyAmy Elsner QUALIFIED
Murillo A KuskoGermanyAnna Fali RENEWAL
Silvio O DilliardAustraliaIoni Bowcher RENEWAL
Mujtaba G NickaJapanIoni Bowcher NEW
Aditya T DilliardIndiaIvan Magalhaes PROPOSAL
Mujtaba M VenereCanadaAmy Elsner QUALIFIED
Aika K GlickGermanyAnna Fali PROPOSAL
Ivar Y OstroskyItalyOnyama Limba NEW
Murillo P ButtArgentinaStephen Shaw NEGOTIATION
Kadeem C PerinGermanyXuxue Feng RENEWAL
Izzy M NickaUnited KingdomIvan Magalhaes RENEWAL
Jennifer C KolmetzRussiaAmy Elsner QUALIFIED
Chavez D WaycottCanadaXuxue Feng NEW
Juan T VenereItalyOnyama Limba NEW
Aika B WaycottJapanOnyama Limba NEGOTIATION
Smith S GarufiFranceBernardo Dominic QUALIFIED
Faith C InouyeSpainAsiya Javayant 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>