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
Isabel U RulapaughJapanIvan Magalhaes NEW
Arvin U BriddickJapanAsiya Javayant QUALIFIED
Rodrigues N SaylorsItalyIoni Bowcher PROPOSAL
Isabel X BowleyArgentinaStephen Shaw QUALIFIED
Francesco D SlusarskiArgentinaElwin Sharvill QUALIFIED
Jones G MaletSpainStephen Shaw UNQUALIFIED
Aika P AmigonIndiaOnyama Limba UNQUALIFIED
Ricardo M BriddickRussiaOnyama Limba QUALIFIED
Stacey H VocelkaCanadaOnyama Limba RENEWAL
Tony C DilliardCanadaAmy Elsner UNQUALIFIED
Salvatore V VocelkaRussiaBernardo Dominic NEGOTIATION
Nicolas L ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Kadeem Q MarrierBrazilAmy Elsner NEW
Antonio D IturbideIndiaXuxue Feng PROPOSAL
Adams I DoeCanadaBernardo Dominic QUALIFIED
Isabel Z SlusarskiItalyXuxue Feng RENEWAL
Salvatore H FigeroaUnited KingdomXuxue Feng PROPOSAL
Munro X RutaGermanyAnna Fali PROPOSAL
Greenwood G WhobreyAustraliaBernardo Dominic QUALIFIED
Kaitlin M GarufiItalyAmy Elsner NEW
Munro Z GarufiRussiaIvan Magalhaes RENEWAL
Johnson L MacleadRussiaBernardo Dominic NEGOTIATION
Aruna L MaletJapanAmy Elsner NEGOTIATION
Aditya P GarufiArgentinaOnyama Limba UNQUALIFIED
Chavez V RutaGermanyOnyama Limba PROPOSAL
Alejandro W StockhamUnited KingdomAsiya Javayant RENEWAL
Sinclair T VenereBrazilAmy Elsner RENEWAL
Ivar V WieserJapanElwin Sharvill RENEWAL
Maisha O BologniaBrazilAsiya Javayant NEW
Jeanfrancois B RimJapanOnyama Limba UNQUALIFIED
Ashley S RulapaughBrazilAmy Elsner RENEWAL
Aditya H SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair H VocelkaGermanyIvan Magalhaes QUALIFIED
Greenwood F TollnerAustraliaAnna Fali QUALIFIED
Stacey G VenereIndiaAmy Elsner NEW
Kadeem T CaudyGermanyStephen Shaw QUALIFIED
Leon S BriddickItalyAnna Fali NEW
Alejandro A MacleadRussiaElwin Sharvill NEGOTIATION
Sinclair G OldroydRussiaOnyama Limba RENEWAL
Aruna G MarrierIndiaXuxue Feng NEW
Wickens I SaylorsJapanAsiya Javayant QUALIFIED
Costa S PerinRussiaIoni Bowcher RENEWAL
Kadeem Z FigeroaArgentinaStephen Shaw NEGOTIATION
Kadeem O ButtFranceOnyama Limba RENEWAL
Kaitlin A ButtRussiaXuxue Feng UNQUALIFIED
Claire T PaprockiGermanyXuxue Feng NEGOTIATION
Mayumi X WaycottUnited KingdomAmy Elsner RENEWAL
David W StensethIndiaStephen Shaw NEGOTIATION
Maisha H GauchoGermanyXuxue Feng QUALIFIED
Jeanfrancois G GauchoUnited KingdomAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja W RulapaughIndiaAnna Fali QUALIFIED
Murillo O TollnerIndiaAmy Elsner RENEWAL
Deepesh R RulapaughBrazilIvan Magalhaes QUALIFIED
Francesco G GauchoCanadaOnyama Limba PROPOSAL
Kadeem P KuskoFranceIvan Magalhaes NEGOTIATION
Nicolas M StensethAustraliaOnyama Limba NEGOTIATION
Jennifer C FollerUnited KingdomElwin Sharvill NEW
Sinclair K VocelkaSpainIoni Bowcher NEW
Maisha S IturbideJapanIvan Magalhaes NEW
Darci A GlickCanadaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan X GarufiCanada2024-06-12Buckley Miller Wright NEW0Xuxue Feng
1001James V ButtCanada2024-06-02Chanay, Jeffrey A Esq PROPOSAL25Asiya Javayant
1002Darci Z DarakjyRussia2024-05-30Printing Dimensions RENEWAL68Ioni Bowcher
1003Francesco S KolmetzUnited Kingdom2024-06-06King, Christopher A Esq NEGOTIATION29Amy Elsner
1004Deepesh E PaprockiArgentina2024-06-01Chapman, Ross E Esq NEW53Ivan Magalhaes
1005Silvio U MorascaAustralia2024-05-28Buckley Miller Wright NEGOTIATION5Ioni Bowcher
1006Maria F WaycottCanada2024-06-15Truhlar And Truhlar Attys PROPOSAL26Elwin Sharvill
1007Tony B IturbideRussia2024-06-11Rangoni Of Florence UNQUALIFIED19Elwin Sharvill
1008Izzy C ShinkoUnited Kingdom2024-05-30Chanay, Jeffrey A Esq PROPOSAL48Anna Fali
1009Munro F WaycottBrazil2024-05-31Buckley Miller Wright RENEWAL53Stephen Shaw
1010Deepesh A VocelkaJapan2024-06-24Morlong Associates UNQUALIFIED4Anna Fali
1011Salvatore S WhobreyFrance2024-06-11Chanay, Jeffrey A Esq NEGOTIATION36Elwin Sharvill
1012Costa N PoquetteJapan2024-06-16Feiner Bros NEW83Onyama Limba
1013Mayumi E StensethGermany2024-06-02Commercial Press PROPOSAL70Stephen Shaw
1014Francesco M GauchoFrance2024-05-30Buckley Miller Wright QUALIFIED1Amy Elsner
1015Leja U MarrierGermany2024-06-14Rangoni Of Florence UNQUALIFIED26Asiya Javayant
1016Octavia N AmigonUnited Kingdom2024-06-18Dorl, James J Esq QUALIFIED54Anna Fali
1017Sinclair E NestleCanada2024-06-22Truhlar And Truhlar Attys NEW88Xuxue Feng
1018Claire V GarufiRussia2024-06-22Rangoni Of Florence UNQUALIFIED72Ioni Bowcher
1019Clifford F FollerFrance2024-05-29Rousseaux, Michael Esq RENEWAL92Onyama Limba
1020Costa W GarufiGermany2024-05-31Commercial Press QUALIFIED47Stephen Shaw
1021Faith W GlickUnited Kingdom2024-06-18Commercial Press RENEWAL17Stephen Shaw
1022Ricardo E NickaBrazil2024-06-06Feiner Bros NEW35Onyama Limba
1023Arvin D CampainItaly2024-06-03Rousseaux, Michael Esq QUALIFIED40Asiya Javayant
1024Ivar V FlosiBrazil2024-06-24Benton, John B Jr PROPOSAL78Amy Elsner
1025Ashley V RimRussia2024-05-29Feiner Bros PROPOSAL63Elwin Sharvill
1026Maria V OldroydUnited Kingdom2024-06-19Benton, John B Jr PROPOSAL4Asiya Javayant
1027Ricardo O BowleyItaly2024-06-11Printing Dimensions RENEWAL88Xuxue Feng
1028Munro H FigeroaFrance2024-06-05Chanay, Jeffrey A Esq QUALIFIED23Xuxue Feng
1029Nicolas Z ButtCanada2024-06-04Commercial Press RENEWAL75Ioni Bowcher
1030Leon F FlosiRussia2024-05-27Dorl, James J Esq RENEWAL41Stephen Shaw
1031Clifford Z KuskoItaly2024-06-14Chemel, James L Cpa NEW80Elwin Sharvill
1032Kaitlin E DilliardBrazil2024-06-20Feltz Printing Service NEW37Stephen Shaw
1033Tony E TollnerAustralia2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED52Bernardo Dominic
1034Aruna C FlosiBrazil2024-06-20Commercial Press UNQUALIFIED63Ioni Bowcher
1035Misaki J GillianArgentina2024-05-28Chanay, Jeffrey A Esq RENEWAL33Bernardo Dominic
1036Leon Q ButtAustralia2024-06-15King, Christopher A Esq NEGOTIATION1Elwin Sharvill
1037Octavia L BowleyAustralia2024-06-03Morlong Associates QUALIFIED66Onyama Limba
1038Faith M NickaArgentina2024-06-21Feltz Printing Service NEW35Onyama Limba
1039Misaki A AlbaresGermany2024-05-27Buckley Miller Wright QUALIFIED7Asiya Javayant
1040Rodrigues F PoquetteRussia2024-06-18Benton, John B Jr NEGOTIATION36Stephen Shaw
1041Ivar H PaprockiCanada2024-06-04Feiner Bros PROPOSAL17Anna Fali
1042Aika L MaletItaly2024-06-21Chapman, Ross E Esq RENEWAL19Ivan Magalhaes
1043Salvatore G GarufiIndia2024-06-07Dorl, James J Esq NEGOTIATION92Bernardo Dominic
1044Ricardo V VocelkaRussia2024-05-29Truhlar And Truhlar Attys QUALIFIED96Bernardo Dominic
1045Leja V OstroskyFrance2024-06-01Rangoni Of Florence QUALIFIED88Ioni Bowcher
1046Misaki R PerinCanada2024-06-04Buckley Miller Wright NEGOTIATION57Onyama Limba
1047Clifford U WaycottFrance2024-06-04Benton, John B Jr QUALIFIED5Anna Fali
1048Johnson U CampainJapan2024-06-06Chapman, Ross E Esq UNQUALIFIED88Ioni Bowcher
1049Salvatore S OstroskyItaly2024-06-01Buckley Miller Wright PROPOSAL42Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore U SlusarskiJapanAnna Fali UNQUALIFIED
Izzy R StockhamArgentinaAmy Elsner QUALIFIED
Munro Y MaletFranceAmy Elsner NEGOTIATION
Isabel A WieserAustraliaOnyama Limba UNQUALIFIED
Aruna R MaletSpainElwin Sharvill RENEWAL
Jefferson X StockhamJapanStephen Shaw NEW
Stacey T InouyeUnited KingdomElwin Sharvill PROPOSAL
Costa W PaprockiArgentinaBernardo Dominic PROPOSAL
Greenwood R CampainGermanyOnyama Limba QUALIFIED
Greenwood Q PerinIndiaElwin Sharvill RENEWAL
Silvio G PoquetteAustraliaAmy Elsner NEGOTIATION
Claire Z MacleadBrazilStephen Shaw UNQUALIFIED
Cody E RutaCanadaStephen Shaw NEGOTIATION
Jeanfrancois W RutaAustraliaAsiya Javayant RENEWAL
Wickens T SaylorsJapanBernardo Dominic NEW
Jennifer E TollnerIndiaXuxue Feng NEW
Kaitlin H GlickIndiaBernardo Dominic NEGOTIATION
Rodrigues Q AmigonCanadaElwin Sharvill QUALIFIED
Darci I WhobreySpainAnna Fali UNQUALIFIED
Ricardo V BologniaItalyOnyama Limba UNQUALIFIED
Kaitlin N MarrierArgentinaBernardo Dominic UNQUALIFIED
Mayumi T DilliardGermanyAsiya Javayant RENEWAL
Kadeem I MaletFranceIvan Magalhaes UNQUALIFIED
Jefferson B AmigonBrazilXuxue Feng NEGOTIATION
Leja S NestleAustraliaBernardo Dominic PROPOSAL
Aika R PoquetteBrazilBernardo Dominic NEW
Salvatore Q PaprockiRussiaIoni Bowcher RENEWAL
Aruna J AlbaresGermanyAnna Fali RENEWAL
Claire U DarakjyCanadaIvan Magalhaes QUALIFIED
Munro R WhobreyItalyXuxue Feng NEW
Rodrigues Y ShinkoItalyElwin Sharvill NEGOTIATION
Costa V OstroskyIndiaElwin Sharvill PROPOSAL
Kadeem P RutaItalyXuxue Feng UNQUALIFIED
Arvin S RulapaughItalyAsiya Javayant QUALIFIED
Munro Z AlbaresRussiaAmy Elsner NEGOTIATION
Kaitlin P WieserAustraliaAmy Elsner RENEWAL
Mayumi E MorascaCanadaAmy Elsner UNQUALIFIED
Aditya M KolmetzFranceAnna Fali UNQUALIFIED
Isabel I WieserGermanyIoni Bowcher PROPOSAL
Tony D PoquetteCanadaXuxue Feng UNQUALIFIED
Emily A GillianFranceElwin Sharvill NEW
Aika V IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Clifford B SchemmerArgentinaAmy Elsner RENEWAL
Deepesh Q WhobreyFranceAmy Elsner PROPOSAL
David U AlbaresBrazilStephen Shaw QUALIFIED
Chavez H CaudyAustraliaAnna Fali NEW
Leja T OstroskyArgentinaOnyama Limba QUALIFIED
Leon J VenereUnited KingdomElwin Sharvill RENEWAL
Nicolas E FigeroaBrazilIvan Magalhaes RENEWAL
David O StockhamUnited KingdomIoni Bowcher QUALIFIED
Frozen Columns
Name
Jeanfrancois K Shinko
Emily A Paprocki
Johnson N Amigon
Costa K Paprocki
Juan P Stenseth
James B Marrier
Faith X Chui
Aditya B Briddick
Aditya S Schemmer
Wickens W Inouye
Juan J Malet
Greenwood I Stockham
Alejandro S Gaucho
Sinclair M Bowley
Isabel M Butt
Leja Z Albares
Maria G Foller
Mujtaba A Iturbide
Maria A Briddick
Rodrigues O Tollner
Ivar G Gillian
Aruna W Schemmer
Aditya T Kusko
Munro C Whobrey
Jefferson S Marrier
Aika X Ostrosky
Murillo X Dilliard
Maria V Slusarski
Jeanfrancois F Sergi
Octavia I Tollner
Francesco A Doe
Wickens V Gillian
Munro Z Wieser
Morrow Y Marrier
Mujtaba W Vocelka
Johnson U Campain
Faith H Malet
Faith W Dilliard
Arvin B Ruta
Nicolas O Stenseth
Cody Z Butt
Francesco U Dilliard
Adams L Maclead
Alejandro R Bowley
Sinclair P Nestle
Tony T Briddick
Jennifer G Stenseth
Morrow S Perin
Salvatore L Maclead
Arvin L Glick
IdCountryDate
1000Japan2024-06-18
1001France2024-06-20
1002Brazil2024-06-24
1003India2024-06-19
1004Canada2024-05-26
1005Spain2024-06-09
1006Canada2024-06-08
1007Germany2024-06-12
1008Japan2024-06-24
1009India2024-06-01
1010France2024-06-09
1011Germany2024-06-14
1012Russia2024-05-29
1013Russia2024-06-15
1014Japan2024-06-15
1015India2024-05-28
1016Japan2024-06-04
1017Canada2024-06-14
1018France2024-06-22
1019Russia2024-06-21
1020Spain2024-06-20
1021Australia2024-05-31
1022Germany2024-06-15
1023Japan2024-05-30
1024Italy2024-05-26
1025Argentina2024-06-17
1026Italy2024-05-27
1027Japan2024-06-12
1028Spain2024-06-15
1029Brazil2024-05-30
1030United Kingdom2024-06-03
1031Brazil2024-06-24
1032United Kingdom2024-06-06
1033Spain2024-05-31
1034Italy2024-05-30
1035Germany2024-06-02
1036Japan2024-05-30
1037Australia2024-05-28
1038Spain2024-05-30
1039Brazil2024-06-07
1040United Kingdom2024-05-26
1041France2024-06-18
1042Japan2024-06-23
1043Brazil2024-06-13
1044Argentina2024-06-09
1045Italy2024-06-15
1046Russia2024-06-02
1047Argentina2024-06-20
1048Australia2024-06-13
1049France2024-06-20

On-Demand Data

NameIdCountryDate
Jones T Ostrosky1000United Kingdom2024-06-11
Octavia G Sergi1001Brazil2024-06-06
Munro J Saylors1002Canada2024-06-24
Murillo G Bolognia1003United Kingdom2024-05-29
Isabel Y Gaucho1004Australia2024-06-14
Murillo J Bowley1005France2024-06-02
Salvatore R Paprocki1006Australia2024-06-15
Ashley D Paprocki1007Australia2024-06-22
Johnson U Perin1008Japan2024-06-18
Claire R Gaucho1009Russia2024-06-19
Antonio B Dilliard1010Japan2024-06-14
Arvin H Gaucho1011Italy2024-06-05
Leon M Saylors1012Spain2024-06-09
Jefferson H Kusko1013France2024-05-28
Clifford Y Gillian1014Germany2024-06-21
Francesco X Whobrey1015Australia2024-06-14
Kadeem W Wieser1016Japan2024-06-17
Izzy M Glick1017Canada2024-06-22
Leon X Morasca1018Canada2024-06-17
Nicolas U Inouye1019United Kingdom2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba T WieserBrazilIoni Bowcher PROPOSAL
Aika P BowleyRussiaIvan Magalhaes NEGOTIATION
Ivar H TollnerAustraliaIvan Magalhaes NEW
Isabel O NickaRussiaElwin Sharvill NEGOTIATION
Jennifer U FollerRussiaAnna Fali RENEWAL
Smith D BriddickFranceAmy Elsner NEGOTIATION
Kadeem M RimJapanElwin Sharvill PROPOSAL
Aika U RoysterGermanyIoni Bowcher NEGOTIATION
David A StensethFranceStephen Shaw RENEWAL
Costa Z SergiAustraliaIoni Bowcher PROPOSAL
Leon X BowleyAustraliaBernardo Dominic UNQUALIFIED
Francesco L MaletSpainXuxue Feng UNQUALIFIED
Silvio N AlbaresGermanyStephen Shaw NEGOTIATION
Rodrigues O CampainUnited KingdomIoni Bowcher RENEWAL
Misaki S DilliardCanadaBernardo Dominic RENEWAL
Sinclair A AlbaresArgentinaBernardo Dominic RENEWAL
Misaki X BologniaItalyBernardo Dominic NEW
Jones P SlusarskiFranceIvan Magalhaes UNQUALIFIED
Ashley W RimAustraliaAnna Fali RENEWAL
Aditya N CaldareraItalyElwin Sharvill RENEWAL
Leja R DoeUnited KingdomAsiya Javayant PROPOSAL
Maisha E DilliardUnited KingdomOnyama Limba PROPOSAL
Johnson B IturbideArgentinaOnyama Limba UNQUALIFIED
Clifford I FerenczAustraliaElwin Sharvill PROPOSAL
Costa E AmigonSpainAnna Fali QUALIFIED
Aruna I SergiRussiaAnna Fali UNQUALIFIED
Salvatore E ChuiItalyElwin Sharvill RENEWAL
Kadeem N KuskoRussiaElwin Sharvill RENEWAL
Arvin X VenereItalyOnyama Limba NEGOTIATION
Izzy F ChuiIndiaOnyama Limba NEGOTIATION
Leon R CampainItalyOnyama Limba RENEWAL
Greenwood L BologniaSpainBernardo Dominic PROPOSAL
Maria Q GarufiItalyIoni Bowcher QUALIFIED
Stacey K PaprockiItalyStephen Shaw RENEWAL
Jeanfrancois T BologniaCanadaStephen Shaw UNQUALIFIED
Aditya A KolmetzUnited KingdomIoni Bowcher PROPOSAL
Antonio S PaprockiJapanElwin Sharvill UNQUALIFIED
Murillo F DilliardSpainAsiya Javayant RENEWAL
Julie J MacleadGermanyBernardo Dominic RENEWAL
Jeanfrancois I BriddickFranceOnyama Limba UNQUALIFIED

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