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 L OldroydItalyXuxue Feng NEGOTIATION
Stacey Q KuskoSpainAmy Elsner NEGOTIATION
Octavia Y CaudyBrazilIoni Bowcher NEW
Murillo D SaylorsIndiaIvan Magalhaes NEW
Clifford S KolmetzJapanIvan Magalhaes UNQUALIFIED
Clifford G CampainCanadaStephen Shaw UNQUALIFIED
Stacey Y PerinRussiaOnyama Limba RENEWAL
Costa J SchemmerArgentinaIvan Magalhaes NEGOTIATION
Salvatore H CaudyArgentinaIvan Magalhaes UNQUALIFIED
Jefferson V GillianRussiaIvan Magalhaes QUALIFIED
Misaki X IturbideIndiaStephen Shaw QUALIFIED
Jefferson B PaprockiRussiaAsiya Javayant NEGOTIATION
Darci X MaletUnited KingdomAnna Fali UNQUALIFIED
Alejandro A FigeroaCanadaIvan Magalhaes QUALIFIED
Smith G KuskoIndiaElwin Sharvill PROPOSAL
Faith N IturbideUnited KingdomOnyama Limba RENEWAL
Munro K AlbaresIndiaXuxue Feng UNQUALIFIED
Rodrigues M BriddickCanadaIoni Bowcher UNQUALIFIED
Stacey V GauchoItalyAmy Elsner QUALIFIED
Mayumi L SlusarskiSpainElwin Sharvill NEW
Greenwood I DilliardJapanXuxue Feng NEGOTIATION
Claire E WhobreyItalyAsiya Javayant NEW
James I TollnerCanadaOnyama Limba NEW
Chavez W ShinkoItalyAsiya Javayant QUALIFIED
Tony W GlickSpainAnna Fali UNQUALIFIED
Julie M CampainJapanElwin Sharvill NEW
Aruna U MarrierFranceIvan Magalhaes UNQUALIFIED
Kadeem A RoysterGermanyAnna Fali NEW
Jones V CaudyJapanBernardo Dominic NEW
Maisha U NestleFranceXuxue Feng PROPOSAL
James A OldroydIndiaXuxue Feng RENEWAL
Antonio K WaycottArgentinaAmy Elsner UNQUALIFIED
Arvin V SchemmerIndiaIoni Bowcher NEGOTIATION
Murillo F MorascaFranceIoni Bowcher NEW
David I WieserAustraliaIvan Magalhaes PROPOSAL
Murillo I WaycottRussiaAsiya Javayant NEGOTIATION
Antonio Z PoquetteGermanyElwin Sharvill QUALIFIED
Francesco Z WhobreySpainStephen Shaw NEGOTIATION
Claire A GauchoCanadaXuxue Feng NEGOTIATION
Cody I InouyeFranceAsiya Javayant NEGOTIATION
Mayumi D WhobreyIndiaXuxue Feng QUALIFIED
David Q ChuiArgentinaOnyama Limba PROPOSAL
Ricardo O BriddickRussiaAsiya Javayant QUALIFIED
Salvatore U NickaCanadaIoni Bowcher NEW
James I OstroskyBrazilAsiya Javayant RENEWAL
Jennifer H AmigonRussiaIoni Bowcher NEGOTIATION
Darci U GlickUnited KingdomStephen Shaw QUALIFIED
Isabel L MaletSpainBernardo Dominic NEW
Alejandro O IturbideFranceIvan Magalhaes QUALIFIED
Cody B WieserItalyStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin L RimUnited KingdomAsiya Javayant RENEWAL
Faith U SlusarskiSpainIoni Bowcher QUALIFIED
Murillo L PerinCanadaAmy Elsner QUALIFIED
Maria A WhobreyGermanyAsiya Javayant QUALIFIED
Rodrigues N DilliardSpainIvan Magalhaes UNQUALIFIED
Ricardo N KolmetzItalyXuxue Feng PROPOSAL
Cody E VenereJapanIvan Magalhaes RENEWAL
Jennifer H MaletItalyAmy Elsner NEW
Costa I DarakjyCanadaStephen Shaw PROPOSAL
Smith F AmigonArgentinaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika U SlusarskiAustralia2026-06-08Chapman, Ross E Esq NEW34Ivan Magalhaes
1001Smith N MorascaFrance2026-06-21Truhlar And Truhlar Attys PROPOSAL46Bernardo Dominic
1002Julie V AlbaresJapan2026-06-22Rangoni Of Florence UNQUALIFIED28Elwin Sharvill
1003Misaki Q FlosiItaly2026-06-10Chapman, Ross E Esq RENEWAL57Amy Elsner
1004Silvio R RulapaughIndia2026-06-30Printing Dimensions UNQUALIFIED92Elwin Sharvill
1005David K CaldareraJapan2026-06-13Morlong Associates NEW44Onyama Limba
1006Wickens V WaycottRussia2026-06-20Benton, John B Jr PROPOSAL49Amy Elsner
1007Costa I SaylorsBrazil2026-06-12Truhlar And Truhlar Attys NEGOTIATION3Bernardo Dominic
1008Francesco P RulapaughBrazil2026-06-14King, Christopher A Esq RENEWAL51Ioni Bowcher
1009Leon C KuskoBrazil2026-06-05Rousseaux, Michael Esq RENEWAL7Ioni Bowcher
1010Johnson Y ChuiSpain2026-06-16Feiner Bros RENEWAL17Ivan Magalhaes
1011Jeanfrancois M SchemmerArgentina2026-06-21Feltz Printing Service QUALIFIED66Xuxue Feng
1012Antonio N RoysterSpain2026-06-14Chanay, Jeffrey A Esq QUALIFIED21Ioni Bowcher
1013Ivar K SchemmerAustralia2026-06-06Rangoni Of Florence NEGOTIATION38Amy Elsner
1014Juan Y SergiItaly2026-06-12Morlong Associates RENEWAL11Ivan Magalhaes
1015Smith V PaprockiAustralia2026-06-04Feiner Bros NEGOTIATION46Stephen Shaw
1016Jeanfrancois C ShinkoItaly2026-06-19Rousseaux, Michael Esq PROPOSAL93Onyama Limba
1017Adams F MorascaCanada2026-06-28Buckley Miller Wright QUALIFIED46Ioni Bowcher
1018Murillo W MaletGermany2026-06-08Feiner Bros NEGOTIATION8Amy Elsner
1019James K VocelkaGermany2026-06-25Printing Dimensions QUALIFIED22Elwin Sharvill
1020Sinclair D SergiCanada2026-06-15Chapman, Ross E Esq NEGOTIATION54Amy Elsner
1021Ashley D WhobreyRussia2026-06-20Printing Dimensions NEW80Asiya Javayant
1022David P SaylorsGermany2026-06-08Rousseaux, Michael Esq NEGOTIATION96Xuxue Feng
1023Johnson I VenereCanada2026-06-14Dorl, James J Esq NEGOTIATION11Bernardo Dominic
1024Munro I ShinkoUnited Kingdom2026-06-21Benton, John B Jr QUALIFIED15Ivan Magalhaes
1025Costa N BologniaBrazil2026-07-01Commercial Press PROPOSAL22Onyama Limba
1026Johnson H SchemmerArgentina2026-06-20Buckley Miller Wright RENEWAL61Anna Fali
1027Johnson C NestleSpain2026-06-10Chemel, James L Cpa QUALIFIED85Onyama Limba
1028Aika J KolmetzUnited Kingdom2026-06-22Chanay, Jeffrey A Esq NEW84Ioni Bowcher
1029Arvin G BologniaAustralia2026-06-26Printing Dimensions RENEWAL83Onyama Limba
1030Wickens K FlosiUnited Kingdom2026-06-07Rangoni Of Florence PROPOSAL46Asiya Javayant
1031David D IturbideAustralia2026-06-27Printing Dimensions NEW39Xuxue Feng
1032Maisha A WieserBrazil2026-06-18Morlong Associates QUALIFIED25Stephen Shaw
1033Clifford G FigeroaBrazil2026-06-23King, Christopher A Esq NEGOTIATION53Xuxue Feng
1034Jennifer I SchemmerAustralia2026-06-23Rousseaux, Michael Esq QUALIFIED77Asiya Javayant
1035Kaitlin B AmigonSpain2026-06-27Benton, John B Jr NEGOTIATION44Amy Elsner
1036Rodrigues R NickaRussia2026-06-22Chemel, James L Cpa UNQUALIFIED39Ioni Bowcher
1037Aika L BologniaArgentina2026-06-17Benton, John B Jr NEW13Xuxue Feng
1038Julie V SlusarskiUnited Kingdom2026-06-14Chapman, Ross E Esq NEW15Asiya Javayant
1039Maria A SaylorsFrance2026-06-10Rousseaux, Michael Esq UNQUALIFIED30Onyama Limba
1040Adams P WhobreyGermany2026-06-04Dorl, James J Esq NEGOTIATION71Ivan Magalhaes
1041Sinclair F ShinkoRussia2026-06-27Feiner Bros QUALIFIED49Onyama Limba
1042Arvin Q CampainRussia2026-06-06Chanay, Jeffrey A Esq QUALIFIED97Asiya Javayant
1043Clifford X StensethItaly2026-06-25Dorl, James J Esq PROPOSAL63Ivan Magalhaes
1044Ricardo X KuskoSpain2026-07-02Chapman, Ross E Esq PROPOSAL9Amy Elsner
1045Leja S OldroydRussia2026-06-17Benton, John B Jr QUALIFIED72Xuxue Feng
1046David C FollerItaly2026-06-13Morlong Associates UNQUALIFIED15Ioni Bowcher
1047Kadeem X AlbaresJapan2026-06-29Rangoni Of Florence UNQUALIFIED34Onyama Limba
1048Leja O NickaBrazil2026-06-28Dorl, James J Esq QUALIFIED65Bernardo Dominic
1049Jeanfrancois I CaudyAustralia2026-06-15Feltz Printing Service NEGOTIATION35Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony J MacleadJapanStephen Shaw RENEWAL
James O BriddickUnited KingdomStephen Shaw PROPOSAL
Ashley P BriddickCanadaAsiya Javayant NEGOTIATION
Chavez F DilliardFranceIoni Bowcher PROPOSAL
Octavia K FerenczUnited KingdomStephen Shaw UNQUALIFIED
Faith H GillianGermanyIoni Bowcher QUALIFIED
Aruna D KuskoJapanStephen Shaw RENEWAL
Murillo M VocelkaAustraliaBernardo Dominic RENEWAL
Aika A FlosiFranceOnyama Limba RENEWAL
Maisha S MarrierIndiaAmy Elsner NEGOTIATION
Costa Z KolmetzBrazilOnyama Limba RENEWAL
Darci Y MarrierAustraliaIvan Magalhaes PROPOSAL
Maria Q CampainGermanyAsiya Javayant UNQUALIFIED
Jennifer A BowleyGermanyAmy Elsner UNQUALIFIED
Leja G FlosiItalyBernardo Dominic NEGOTIATION
Julie D GlickArgentinaOnyama Limba NEW
Smith G StockhamArgentinaIoni Bowcher NEGOTIATION
Darci D RoysterFranceBernardo Dominic PROPOSAL
Misaki J CaldareraIndiaAmy Elsner NEGOTIATION
Stacey H PaprockiArgentinaAmy Elsner QUALIFIED
Izzy Q BriddickGermanyStephen Shaw RENEWAL
Smith E VocelkaIndiaBernardo Dominic RENEWAL
Kaitlin S IturbideRussiaXuxue Feng NEW
James H StensethSpainOnyama Limba QUALIFIED
Leja O RutaIndiaElwin Sharvill QUALIFIED
Wickens N CampainCanadaStephen Shaw PROPOSAL
Wickens X MaletArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois Q MarrierRussiaXuxue Feng PROPOSAL
Julie U VenereFranceBernardo Dominic RENEWAL
Jennifer V AmigonAustraliaOnyama Limba NEGOTIATION
Jennifer K OldroydRussiaIvan Magalhaes NEW
Antonio K WieserCanadaIoni Bowcher RENEWAL
Emily Z SlusarskiSpainAsiya Javayant NEGOTIATION
Jones I CaudyArgentinaAnna Fali QUALIFIED
Chavez E CaldareraFranceOnyama Limba QUALIFIED
Smith M CaldareraCanadaAnna Fali QUALIFIED
Aditya T BowleyIndiaIvan Magalhaes QUALIFIED
Ricardo V PerinUnited KingdomOnyama Limba UNQUALIFIED
Aruna D MacleadIndiaOnyama Limba QUALIFIED
Wickens O RutaArgentinaAnna Fali RENEWAL
Chavez F SchemmerGermanyIvan Magalhaes PROPOSAL
Aika H PerinItalyAnna Fali NEW
Kadeem G NickaSpainXuxue Feng PROPOSAL
Salvatore C MacleadRussiaOnyama Limba NEW
Cody G NestleFranceIoni Bowcher PROPOSAL
Izzy Z PaprockiItalyXuxue Feng QUALIFIED
Misaki R GarufiSpainStephen Shaw NEGOTIATION
Murillo Z KolmetzIndiaAsiya Javayant NEGOTIATION
Aruna V NickaBrazilAnna Fali NEW
Ricardo U WaycottSpainIoni Bowcher NEW
Frozen Columns
Name
Adams Y Waycott
Stacey L Briddick
Morrow X Wieser
Faith A Malet
Antonio A Schemmer
Johnson T Gillian
Chavez A Maclead
Juan G Inouye
Darci V Flosi
Aika N Malet
Faith L Stockham
Munro Y Darakjy
Munro Y Malet
Claire H Albares
Ivar Q Butt
Maisha Z Tollner
Sinclair J Saylors
Sinclair W Oldroyd
Ashley S Wieser
Silvio B Rim
Francesco E Rulapaugh
Smith M Nicka
Jeanfrancois Z Ruta
Aika H Butt
Tony A Kusko
Jennifer G Ferencz
Cody Z Ostrosky
Jennifer M Sergi
Johnson L Figeroa
Kadeem V Kolmetz
Misaki J Iturbide
David O Schemmer
Antonio X Poquette
Rodrigues N Amigon
Johnson D Caldarera
Maisha H Vocelka
Murillo A Vocelka
Misaki N Amigon
Morrow C Dilliard
Alejandro J Ferencz
Leja T Malet
Mujtaba A Perin
Mujtaba U Schemmer
Wickens P Chui
Munro F Royster
Jones B Kusko
Kadeem U Sergi
Munro A Gaucho
Cody Q Stockham
Silvio D Nicka
IdCountryDate
1000Germany2026-06-12
1001Japan2026-06-22
1002Brazil2026-06-06
1003Japan2026-06-18
1004United Kingdom2026-06-27
1005Argentina2026-06-24
1006Japan2026-06-28
1007Germany2026-06-24
1008Australia2026-06-16
1009Japan2026-06-25
1010Italy2026-06-05
1011Russia2026-07-02
1012France2026-06-22
1013Canada2026-06-16
1014Argentina2026-06-25
1015Russia2026-06-30
1016France2026-06-20
1017France2026-06-16
1018Argentina2026-06-10
1019Argentina2026-06-29
1020Brazil2026-06-13
1021Italy2026-06-30
1022Russia2026-07-03
1023Italy2026-06-22
1024Russia2026-06-05
1025Canada2026-06-06
1026Spain2026-06-15
1027Russia2026-06-05
1028Brazil2026-06-24
1029Australia2026-06-14
1030Russia2026-07-01
1031Germany2026-06-10
1032Italy2026-07-03
1033Japan2026-06-06
1034Argentina2026-06-08
1035Germany2026-06-04
1036Italy2026-06-19
1037Spain2026-06-21
1038Germany2026-06-21
1039Canada2026-06-25
1040Australia2026-06-24
1041France2026-06-23
1042France2026-06-28
1043Canada2026-06-24
1044Russia2026-06-21
1045India2026-06-10
1046India2026-06-07
1047Germany2026-06-05
1048Brazil2026-06-13
1049India2026-06-27

On-Demand Data

NameIdCountryDate
Salvatore G Darakjy1000Italy2026-06-22
Leon T Malet1001Japan2026-06-29
Jeanfrancois Q Rim1002Russia2026-06-18
Aruna H Perin1003Brazil2026-06-09
Izzy O Caldarera1004India2026-06-16
Morrow U Sergi1005Argentina2026-07-03
Tony A Paprocki1006Russia2026-07-03
David J Briddick1007Argentina2026-06-04
Jeanfrancois Z Gillian1008Spain2026-06-23
Adams B Bolognia1009Canada2026-06-18
Deepesh E Sergi1010Argentina2026-06-20
Ashley F Nicka1011Italy2026-06-06
Mujtaba D Gillian1012United Kingdom2026-06-09
Salvatore Q Malet1013India2026-06-21
Wickens M Glick1014Italy2026-06-22
Francesco S Chui1015France2026-06-08
Chavez J Briddick1016Russia2026-06-22
Arvin G Kolmetz1017Canada2026-06-16
Kaitlin Y Iturbide1018Australia2026-06-24
Juan H Chui1019Spain2026-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Y WieserSpainXuxue Feng UNQUALIFIED
Emily V GlickItalyOnyama Limba NEGOTIATION
Darci U MarrierJapanIoni Bowcher PROPOSAL
Clifford A DarakjyIndiaAsiya Javayant NEW
Alejandro A SlusarskiArgentinaOnyama Limba QUALIFIED
Jeanfrancois B StensethAustraliaXuxue Feng UNQUALIFIED
Ricardo D GarufiJapanAnna Fali UNQUALIFIED
Jennifer O InouyeGermanyAnna Fali PROPOSAL
Morrow Y GillianAustraliaIoni Bowcher PROPOSAL
Juan E OldroydUnited KingdomOnyama Limba NEW
Silvio E FigeroaAustraliaAmy Elsner UNQUALIFIED
Leon J PaprockiJapanElwin Sharvill RENEWAL
Murillo Z DarakjyBrazilStephen Shaw NEGOTIATION
Misaki I GarufiAustraliaAmy Elsner UNQUALIFIED
Munro N CaldareraFranceAmy Elsner UNQUALIFIED
Deepesh L OstroskyUnited KingdomAsiya Javayant PROPOSAL
Mujtaba T GauchoJapanXuxue Feng QUALIFIED
Murillo T RoysterIndiaOnyama Limba UNQUALIFIED
Julie M MaletJapanAsiya Javayant RENEWAL
Juan X NestleGermanyXuxue Feng UNQUALIFIED
Rodrigues L TollnerRussiaElwin Sharvill UNQUALIFIED
Stacey L AlbaresIndiaIoni Bowcher QUALIFIED
James D BriddickFranceIoni Bowcher QUALIFIED
Julie C FigeroaJapanXuxue Feng PROPOSAL
Antonio O GlickJapanOnyama Limba RENEWAL
Jefferson J IturbideUnited KingdomAsiya Javayant RENEWAL
Greenwood D AlbaresIndiaStephen Shaw RENEWAL
Octavia C GillianItalyIvan Magalhaes PROPOSAL
Kadeem T MaletCanadaAsiya Javayant RENEWAL
Chavez M MorascaCanadaIoni Bowcher RENEWAL
Murillo E ButtBrazilBernardo Dominic NEGOTIATION
Isabel S RoysterCanadaAsiya Javayant NEW
David B AmigonUnited KingdomAmy Elsner UNQUALIFIED
Murillo F CaldareraGermanyIoni Bowcher NEGOTIATION
Mayumi C DilliardItalyXuxue Feng NEW
Izzy B GillianJapanElwin Sharvill NEW
Morrow O PaprockiGermanyAsiya Javayant PROPOSAL
Greenwood S DarakjyCanadaElwin Sharvill QUALIFIED
Isabel W SaylorsSpainStephen Shaw NEGOTIATION
Maria H AmigonItalyAmy Elsner PROPOSAL

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