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
Arvin I SergiCanadaAsiya Javayant NEW
Jones V KolmetzRussiaAnna Fali PROPOSAL
Wickens W WhobreyRussiaAsiya Javayant NEGOTIATION
Adams Y WieserCanadaStephen Shaw NEGOTIATION
James G OldroydUnited KingdomAmy Elsner QUALIFIED
Salvatore I RulapaughIndiaIoni Bowcher PROPOSAL
Aika M FollerJapanAnna Fali UNQUALIFIED
Jeanfrancois L StensethCanadaAsiya Javayant RENEWAL
Salvatore E IturbideGermanyAnna Fali PROPOSAL
Salvatore W MaletArgentinaBernardo Dominic NEW
David H OldroydBrazilIoni Bowcher NEW
Ashley X TollnerBrazilBernardo Dominic RENEWAL
Greenwood V FlosiUnited KingdomIoni Bowcher PROPOSAL
Aruna F VocelkaRussiaIvan Magalhaes NEGOTIATION
Aruna I PerinGermanyBernardo Dominic NEW
Adams D WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Sinclair O StensethAustraliaElwin Sharvill NEGOTIATION
Aruna X FlosiCanadaIvan Magalhaes NEGOTIATION
Chavez E WieserSpainAmy Elsner NEW
Kaitlin N GillianUnited KingdomElwin Sharvill NEW
Francesco J WieserRussiaAmy Elsner PROPOSAL
Octavia A BowleyArgentinaAnna Fali PROPOSAL
Leon P IturbideItalyStephen Shaw NEGOTIATION
Aika G StockhamBrazilStephen Shaw QUALIFIED
Alejandro I FlosiIndiaElwin Sharvill RENEWAL
Salvatore F WhobreyIndiaAmy Elsner NEW
Ricardo T DoeAustraliaElwin Sharvill QUALIFIED
Cody H ShinkoBrazilIvan Magalhaes QUALIFIED
Maria H FigeroaSpainAnna Fali NEW
Munro J CaudyFranceXuxue Feng NEW
Jennifer T SergiArgentinaAnna Fali NEGOTIATION
Ashley U PoquetteItalyAmy Elsner NEGOTIATION
Nicolas K SaylorsCanadaOnyama Limba UNQUALIFIED
Arvin B RimSpainAmy Elsner QUALIFIED
Aditya H ButtGermanyAsiya Javayant UNQUALIFIED
Jones Q PoquetteUnited KingdomAmy Elsner NEW
Mujtaba Q SaylorsGermanyElwin Sharvill PROPOSAL
Jones B FlosiCanadaAsiya Javayant QUALIFIED
Sinclair G MacleadArgentinaXuxue Feng NEW
Salvatore U NestleArgentinaXuxue Feng NEW
Julie B VocelkaSpainAsiya Javayant NEW
Nicolas F ButtArgentinaAsiya Javayant QUALIFIED
Murillo I WieserItalyAmy Elsner QUALIFIED
Wickens K GillianBrazilBernardo Dominic QUALIFIED
Ivar V FigeroaIndiaAnna Fali PROPOSAL
Salvatore J StockhamRussiaElwin Sharvill NEGOTIATION
Deepesh W InouyeGermanyAsiya Javayant UNQUALIFIED
David K BologniaJapanOnyama Limba QUALIFIED
Juan Y MorascaCanadaXuxue Feng QUALIFIED
Misaki I PaprockiCanadaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin Z DarakjyBrazilIoni Bowcher QUALIFIED
Jennifer E KuskoJapanBernardo Dominic RENEWAL
Silvio V InouyeCanadaAmy Elsner RENEWAL
Kadeem S DilliardItalyIoni Bowcher RENEWAL
Antonio C GauchoAustraliaOnyama Limba QUALIFIED
Faith Z RulapaughFranceAmy Elsner NEGOTIATION
David N MaletUnited KingdomBernardo Dominic NEGOTIATION
Smith T DoeAustraliaIvan Magalhaes PROPOSAL
Johnson C DoeSpainIvan Magalhaes PROPOSAL
Faith V BologniaArgentinaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer Q MorascaRussia2025-06-01Feiner Bros NEGOTIATION38Ioni Bowcher
1001Aika C GlickSpain2025-06-14Truhlar And Truhlar Attys NEGOTIATION15Anna Fali
1002Aruna W WaycottIndia2025-05-24Feltz Printing Service NEW35Asiya Javayant
1003Mayumi W SergiGermany2025-05-28Chanay, Jeffrey A Esq NEW4Amy Elsner
1004David A BologniaBrazil2025-05-27Chemel, James L Cpa NEW39Ivan Magalhaes
1005Johnson H RulapaughGermany2025-05-27Morlong Associates QUALIFIED25Bernardo Dominic
1006Jeanfrancois L SaylorsJapan2025-05-30Printing Dimensions QUALIFIED36Amy Elsner
1007Kaitlin Z GarufiGermany2025-06-14Rangoni Of Florence NEGOTIATION42Ivan Magalhaes
1008Julie N SlusarskiJapan2025-05-25Chanay, Jeffrey A Esq NEGOTIATION18Anna Fali
1009Ashley A OstroskyCanada2025-05-20Chanay, Jeffrey A Esq NEW97Xuxue Feng
1010Stacey N SchemmerGermany2025-05-25Printing Dimensions PROPOSAL24Elwin Sharvill
1011Maisha T AmigonGermany2025-05-21Rangoni Of Florence NEGOTIATION98Ivan Magalhaes
1012Jennifer V BowleyRussia2025-06-13King, Christopher A Esq QUALIFIED65Anna Fali
1013Aika U MaletJapan2025-05-19Chanay, Jeffrey A Esq NEGOTIATION2Xuxue Feng
1014Ivar Y GarufiCanada2025-06-08Chanay, Jeffrey A Esq QUALIFIED71Stephen Shaw
1015Misaki W BologniaSpain2025-06-07Printing Dimensions RENEWAL66Xuxue Feng
1016Francesco M ChuiBrazil2025-06-13Rangoni Of Florence UNQUALIFIED3Amy Elsner
1017David J PoquetteRussia2025-06-13Benton, John B Jr NEGOTIATION70Ioni Bowcher
1018Deepesh R BowleyRussia2025-05-24Buckley Miller Wright UNQUALIFIED23Bernardo Dominic
1019Silvio L ButtBrazil2025-06-03King, Christopher A Esq PROPOSAL20Amy Elsner
1020Juan H ShinkoCanada2025-06-16Chemel, James L Cpa NEGOTIATION0Onyama Limba
1021Izzy C ButtSpain2025-05-28Feltz Printing Service NEGOTIATION71Asiya Javayant
1022Salvatore N StockhamItaly2025-06-06Truhlar And Truhlar Attys NEGOTIATION65Elwin Sharvill
1023Leja O KuskoCanada2025-06-14Printing Dimensions RENEWAL24Onyama Limba
1024Aika L SlusarskiGermany2025-05-19King, Christopher A Esq UNQUALIFIED4Ioni Bowcher
1025Clifford R DoeJapan2025-06-02Printing Dimensions NEGOTIATION61Ivan Magalhaes
1026Jones F RutaGermany2025-06-06King, Christopher A Esq UNQUALIFIED42Ivan Magalhaes
1027Isabel D BriddickJapan2025-06-16Benton, John B Jr UNQUALIFIED8Asiya Javayant
1028Ashley S VocelkaJapan2025-05-18Feiner Bros RENEWAL73Ivan Magalhaes
1029Mujtaba F VenereItaly2025-06-05King, Christopher A Esq PROPOSAL85Elwin Sharvill
1030Jeanfrancois A WaycottSpain2025-05-25Buckley Miller Wright NEGOTIATION75Ivan Magalhaes
1031Munro Z MacleadArgentina2025-05-20King, Christopher A Esq NEGOTIATION2Bernardo Dominic
1032Claire A MaletAustralia2025-06-06Chemel, James L Cpa PROPOSAL46Asiya Javayant
1033Emily I BowleyRussia2025-06-05Buckley Miller Wright NEGOTIATION22Anna Fali
1034Salvatore B StensethGermany2025-06-06Feltz Printing Service UNQUALIFIED25Asiya Javayant
1035Kadeem H CaldareraUnited Kingdom2025-06-12Rousseaux, Michael Esq RENEWAL73Ioni Bowcher
1036Antonio K FlosiSpain2025-05-30Chapman, Ross E Esq PROPOSAL16Elwin Sharvill
1037Leja E InouyeAustralia2025-06-12Dorl, James J Esq QUALIFIED59Ivan Magalhaes
1038Isabel M ShinkoRussia2025-06-12Chemel, James L Cpa RENEWAL14Elwin Sharvill
1039Cody U SaylorsFrance2025-05-25Feiner Bros RENEWAL60Stephen Shaw
1040Silvio B InouyeCanada2025-06-10Chanay, Jeffrey A Esq RENEWAL1Onyama Limba
1041Darci J FerenczItaly2025-05-28Chemel, James L Cpa UNQUALIFIED54Xuxue Feng
1042Octavia R ShinkoItaly2025-06-02Truhlar And Truhlar Attys UNQUALIFIED46Ioni Bowcher
1043Adams D PerinArgentina2025-06-14Commercial Press PROPOSAL14Anna Fali
1044Kadeem C OstroskyBrazil2025-05-22Commercial Press NEW49Anna Fali
1045Francesco X MarrierAustralia2025-05-21Chapman, Ross E Esq UNQUALIFIED8Amy Elsner
1046Salvatore X DilliardJapan2025-06-14Chemel, James L Cpa PROPOSAL16Elwin Sharvill
1047Leja P SlusarskiCanada2025-05-20Chemel, James L Cpa QUALIFIED26Xuxue Feng
1048Faith A DilliardFrance2025-05-25Feltz Printing Service PROPOSAL88Onyama Limba
1049James V DoeSpain2025-05-25Dorl, James J Esq RENEWAL10Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon X BowleyAustraliaStephen Shaw NEW
Julie I KolmetzCanadaAsiya Javayant NEW
Greenwood S FigeroaCanadaIoni Bowcher QUALIFIED
Munro U DilliardFranceBernardo Dominic QUALIFIED
Sinclair V SchemmerFranceElwin Sharvill RENEWAL
Ricardo A IturbideRussiaAmy Elsner RENEWAL
Izzy V MacleadRussiaOnyama Limba NEGOTIATION
Tony S MaletIndiaBernardo Dominic NEGOTIATION
Smith E FollerSpainAmy Elsner QUALIFIED
Sinclair P GarufiJapanIvan Magalhaes NEGOTIATION
Johnson L ButtCanadaXuxue Feng PROPOSAL
Costa B VocelkaFranceAnna Fali RENEWAL
Aruna X KolmetzCanadaIoni Bowcher NEGOTIATION
Deepesh H KuskoAustraliaIvan Magalhaes NEW
Aika Z RulapaughCanadaIoni Bowcher UNQUALIFIED
Leja I ButtGermanyIvan Magalhaes NEGOTIATION
Juan R WaycottSpainAsiya Javayant NEGOTIATION
Arvin G GarufiAustraliaIvan Magalhaes NEW
Jones Q InouyeSpainXuxue Feng NEW
Greenwood T SergiFranceAnna Fali PROPOSAL
Murillo A GlickFranceOnyama Limba NEW
Faith U FerenczArgentinaAnna Fali PROPOSAL
Murillo E WieserItalyBernardo Dominic UNQUALIFIED
Wickens Q StockhamArgentinaAmy Elsner UNQUALIFIED
Rodrigues P KuskoBrazilElwin Sharvill UNQUALIFIED
Octavia W ChuiAustraliaAmy Elsner RENEWAL
Silvio R RutaIndiaElwin Sharvill NEW
Francesco B GauchoItalyStephen Shaw PROPOSAL
Darci Z ChuiUnited KingdomAnna Fali PROPOSAL
Jeanfrancois X StensethBrazilAsiya Javayant NEGOTIATION
Mayumi N GauchoBrazilIoni Bowcher QUALIFIED
Costa K OstroskyItalyStephen Shaw RENEWAL
Leon C SlusarskiAustraliaIoni Bowcher RENEWAL
Deepesh P KolmetzFranceOnyama Limba PROPOSAL
Leon R CampainItalyXuxue Feng PROPOSAL
Deepesh X PaprockiAustraliaOnyama Limba RENEWAL
Smith T VenereArgentinaAnna Fali RENEWAL
Francesco H MaletSpainIvan Magalhaes RENEWAL
Chavez G TollnerSpainXuxue Feng RENEWAL
Ivar P CaudyRussiaAmy Elsner UNQUALIFIED
Aika J KolmetzJapanAsiya Javayant RENEWAL
Juan G MorascaGermanyXuxue Feng NEW
Ashley V OldroydUnited KingdomBernardo Dominic NEGOTIATION
Greenwood F KolmetzUnited KingdomAnna Fali PROPOSAL
Ricardo D MaletArgentinaAmy Elsner RENEWAL
Deepesh N BologniaJapanIoni Bowcher RENEWAL
Jeanfrancois X FollerRussiaIvan Magalhaes RENEWAL
Rodrigues I WaycottItalyOnyama Limba NEGOTIATION
Adams F GillianBrazilXuxue Feng PROPOSAL
Antonio C BriddickGermanyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Smith Z Morasca
Faith Y Doe
Maisha C Ferencz
Antonio A Foller
Arvin P Figeroa
Jeanfrancois R Schemmer
Kaitlin G Malet
Leon Z Maclead
Deepesh Z Kusko
Alejandro R Campain
Salvatore R Maclead
Silvio Y Morasca
Morrow Q Saylors
Aruna R Schemmer
Leja L Gillian
Leon L Briddick
Munro B Ferencz
Smith S Bowley
Mayumi K Iturbide
Claire O Campain
Munro I Maclead
Jeanfrancois T Venere
Arvin Q Stockham
Murillo V Poquette
Murillo G Figeroa
Misaki V Inouye
Johnson F Oldroyd
Aruna X Briddick
Jefferson E Perin
Nicolas R Dilliard
Izzy N Doe
Rodrigues T Nicka
Stacey S Bowley
Johnson Q Paprocki
Wickens E Marrier
Sinclair N Venere
James G Albares
Juan T Kolmetz
Rodrigues N Ferencz
Jones O Perin
Chavez T Amigon
Rodrigues F Saylors
Stacey L Flosi
Kadeem Y Garufi
Rodrigues A Royster
Aditya U Amigon
Alejandro X Inouye
Maria J Gaucho
Darci Z Rulapaugh
Stacey J Caudy
IdCountryDate
1000Spain2025-05-31
1001Australia2025-05-29
1002Italy2025-05-24
1003Canada2025-05-26
1004Argentina2025-05-23
1005Germany2025-06-15
1006Argentina2025-06-10
1007Australia2025-05-27
1008Canada2025-05-20
1009Canada2025-05-22
1010Argentina2025-06-16
1011Japan2025-06-05
1012Brazil2025-06-06
1013Canada2025-06-08
1014United Kingdom2025-06-10
1015France2025-06-04
1016Brazil2025-06-02
1017Brazil2025-06-06
1018United Kingdom2025-06-10
1019United Kingdom2025-05-21
1020Canada2025-06-03
1021France2025-06-07
1022Australia2025-06-07
1023France2025-05-22
1024Argentina2025-05-20
1025Germany2025-06-11
1026Canada2025-05-27
1027Brazil2025-06-03
1028Brazil2025-06-05
1029Japan2025-05-22
1030Australia2025-05-18
1031Australia2025-06-06
1032Italy2025-05-20
1033Spain2025-06-03
1034Australia2025-06-08
1035Russia2025-06-10
1036Spain2025-06-01
1037Canada2025-06-02
1038Italy2025-05-27
1039Australia2025-05-24
1040United Kingdom2025-05-25
1041Japan2025-06-08
1042India2025-06-09
1043Brazil2025-05-19
1044United Kingdom2025-06-01
1045Spain2025-05-24
1046United Kingdom2025-06-10
1047United Kingdom2025-05-25
1048Germany2025-05-26
1049France2025-06-04

On-Demand Data

NameIdCountryDate
Adams X Oldroyd1000Australia2025-06-04
Kaitlin Y Schemmer1001Argentina2025-05-23
Salvatore N Garufi1002Spain2025-05-23
Faith Z Briddick1003Argentina2025-06-10
Antonio E Gaucho1004Italy2025-06-05
Antonio H Gaucho1005Brazil2025-06-04
Tony J Saylors1006Japan2025-06-09
Alejandro L Maclead1007Spain2025-06-05
Jefferson C Kolmetz1008India2025-05-25
Munro J Campain1009Canada2025-05-22
Nicolas O Oldroyd1010France2025-06-10
Leja P Saylors1011Australia2025-05-28
Maisha Y Iturbide1012Canada2025-06-03
Chavez I Vocelka1013Spain2025-06-12
Kaitlin Q Garufi1014Brazil2025-06-11
Silvio E Malet1015Spain2025-06-14
Kaitlin Q Sergi1016Argentina2025-05-24
Kadeem S Poquette1017Germany2025-05-19
Cody G Caldarera1018France2025-05-18
Adams J Garufi1019France2025-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony C MaletCanadaIvan Magalhaes RENEWAL
Leon G DarakjyGermanyAnna Fali PROPOSAL
Faith M MaletRussiaIvan Magalhaes NEW
Greenwood N BologniaFranceElwin Sharvill UNQUALIFIED
Misaki O RutaIndiaIoni Bowcher PROPOSAL
Jefferson H CaldareraFranceAnna Fali UNQUALIFIED
James K GarufiAustraliaAnna Fali RENEWAL
Salvatore G MacleadGermanyAsiya Javayant NEW
Aditya I DarakjySpainOnyama Limba NEGOTIATION
Isabel R VenereIndiaXuxue Feng RENEWAL
Sinclair C KolmetzRussiaBernardo Dominic QUALIFIED
Claire H KuskoIndiaBernardo Dominic UNQUALIFIED
Aruna W SergiSpainIoni Bowcher NEGOTIATION
Jeanfrancois L ChuiItalyAnna Fali NEGOTIATION
Julie I MorascaUnited KingdomXuxue Feng NEGOTIATION
Claire W CaudyFranceIoni Bowcher PROPOSAL
Maisha A BriddickBrazilIoni Bowcher RENEWAL
Munro A BowleyGermanyIoni Bowcher PROPOSAL
Mayumi N AmigonUnited KingdomAmy Elsner QUALIFIED
Maisha N StensethFranceOnyama Limba QUALIFIED
Kadeem Q InouyeIndiaXuxue Feng PROPOSAL
Isabel V SchemmerJapanOnyama Limba PROPOSAL
Jeanfrancois K AlbaresBrazilXuxue Feng QUALIFIED
Smith R RoysterBrazilXuxue Feng RENEWAL
Jefferson I CaudyGermanyXuxue Feng NEW
Jones R RoysterCanadaXuxue Feng PROPOSAL
Cody R RutaItalyIoni Bowcher PROPOSAL
Antonio Y ShinkoArgentinaOnyama Limba PROPOSAL
Silvio X InouyeCanadaAmy Elsner NEGOTIATION
Maisha R TollnerBrazilOnyama Limba NEGOTIATION
Maisha G MacleadRussiaElwin Sharvill PROPOSAL
Leon P MorascaItalyOnyama Limba PROPOSAL
Jefferson S SchemmerUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas U FigeroaUnited KingdomOnyama Limba QUALIFIED
Clifford H FigeroaBrazilXuxue Feng RENEWAL
Misaki K NickaIndiaIoni Bowcher QUALIFIED
Murillo M SchemmerJapanAsiya Javayant NEGOTIATION
Claire T ChuiBrazilElwin Sharvill UNQUALIFIED
Octavia R MarrierRussiaAnna Fali PROPOSAL
Rodrigues S BologniaBrazilOnyama Limba 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>