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
Jennifer O RutaCanadaIvan Magalhaes RENEWAL
Stacey U SlusarskiCanadaIvan Magalhaes RENEWAL
Emily T ButtSpainAmy Elsner UNQUALIFIED
Greenwood L ButtJapanStephen Shaw PROPOSAL
Juan V RoysterItalyXuxue Feng QUALIFIED
Emily Z GlickRussiaXuxue Feng NEW
Smith D ShinkoRussiaBernardo Dominic PROPOSAL
Nicolas G SaylorsBrazilOnyama Limba PROPOSAL
Francesco U ShinkoSpainIoni Bowcher NEGOTIATION
Salvatore E FollerIndiaAnna Fali QUALIFIED
Ricardo K MacleadRussiaXuxue Feng QUALIFIED
Greenwood D AmigonBrazilIvan Magalhaes NEW
Silvio X BriddickRussiaOnyama Limba PROPOSAL
Jones P WaycottIndiaBernardo Dominic NEW
Sinclair H MorascaCanadaStephen Shaw RENEWAL
Mayumi H PerinBrazilStephen Shaw PROPOSAL
Isabel D MaletGermanyElwin Sharvill NEW
Octavia I SlusarskiItalyXuxue Feng PROPOSAL
Jefferson H AmigonSpainStephen Shaw QUALIFIED
Julie F FerenczFranceStephen Shaw QUALIFIED
Maria K SchemmerIndiaElwin Sharvill UNQUALIFIED
Aditya D AmigonIndiaAnna Fali PROPOSAL
Leon E MarrierAustraliaBernardo Dominic NEW
Costa A IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Maisha S StensethAustraliaAsiya Javayant PROPOSAL
Isabel G MorascaJapanOnyama Limba PROPOSAL
Leon J CampainSpainOnyama Limba QUALIFIED
Mayumi L NickaCanadaOnyama Limba NEGOTIATION
Francesco H CaldareraGermanyAsiya Javayant PROPOSAL
Costa D FigeroaCanadaIvan Magalhaes RENEWAL
Rodrigues L AmigonRussiaIoni Bowcher PROPOSAL
Greenwood Y RoysterGermanyOnyama Limba NEW
Francesco H VocelkaBrazilAnna Fali PROPOSAL
Jefferson J KolmetzItalyStephen Shaw NEW
Maisha I FlosiIndiaXuxue Feng NEGOTIATION
Jennifer M PerinArgentinaElwin Sharvill NEW
Aruna Y PaprockiGermanyAmy Elsner UNQUALIFIED
Adams D NestleJapanAsiya Javayant NEGOTIATION
David D KolmetzRussiaBernardo Dominic NEW
Cody S RoysterJapanAsiya Javayant PROPOSAL
Aditya H PaprockiItalyIvan Magalhaes UNQUALIFIED
Jefferson C ChuiJapanAnna Fali QUALIFIED
Darci H TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Adams Z RulapaughAustraliaOnyama Limba PROPOSAL
Deepesh V AmigonAustraliaAnna Fali QUALIFIED
Adams M MaletJapanXuxue Feng PROPOSAL
Rodrigues B RutaSpainStephen Shaw RENEWAL
Murillo T IturbideArgentinaElwin Sharvill NEGOTIATION
Murillo T FerenczFranceAmy Elsner UNQUALIFIED
Misaki C AmigonFranceIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Arvin I SaylorsJapanBernardo Dominic QUALIFIED
Leja Z VocelkaGermanyStephen Shaw UNQUALIFIED
Kadeem P CaudyGermanyXuxue Feng PROPOSAL
Kaitlin Z ShinkoItalyStephen Shaw NEW
Juan F PerinUnited KingdomIvan Magalhaes NEGOTIATION
Julie C MarrierCanadaAmy Elsner PROPOSAL
Wickens M PerinIndiaBernardo Dominic QUALIFIED
Wickens D BologniaBrazilAsiya Javayant QUALIFIED
Maisha V IturbideArgentinaXuxue Feng RENEWAL
Mayumi W PaprockiJapanElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria V OstroskyGermany2025-05-23Rangoni Of Florence RENEWAL51Asiya Javayant
1001Francesco Y SlusarskiCanada2025-05-31Rangoni Of Florence PROPOSAL52Asiya Javayant
1002Sinclair Z FigeroaFrance2025-05-28Rangoni Of Florence QUALIFIED46Elwin Sharvill
1003Salvatore M CaldareraBrazil2025-05-27Feiner Bros UNQUALIFIED27Anna Fali
1004Claire K OstroskyItaly2025-05-17Chapman, Ross E Esq NEW24Xuxue Feng
1005Silvio W FollerAustralia2025-05-10Morlong Associates UNQUALIFIED47Elwin Sharvill
1006Ivar S MaletArgentina2025-05-25Buckley Miller Wright RENEWAL31Stephen Shaw
1007Aruna V InouyeJapan2025-05-22Morlong Associates QUALIFIED85Bernardo Dominic
1008Johnson Q ChuiJapan2025-05-14Truhlar And Truhlar Attys UNQUALIFIED54Bernardo Dominic
1009Faith S AmigonUnited Kingdom2025-05-02Buckley Miller Wright NEGOTIATION72Stephen Shaw
1010Mujtaba L DoeAustralia2025-05-24Dorl, James J Esq QUALIFIED27Bernardo Dominic
1011Mayumi U TollnerBrazil2025-05-18King, Christopher A Esq NEW93Onyama Limba
1012Julie J SaylorsSpain2025-05-21Truhlar And Truhlar Attys RENEWAL25Onyama Limba
1013Clifford X ButtRussia2025-05-19Benton, John B Jr NEGOTIATION61Bernardo Dominic
1014Leon M RimFrance2025-05-27Truhlar And Truhlar Attys UNQUALIFIED41Ivan Magalhaes
1015Octavia E DarakjyRussia2025-05-15Dorl, James J Esq RENEWAL71Ioni Bowcher
1016Claire L SlusarskiCanada2025-05-14Buckley Miller Wright QUALIFIED32Ioni Bowcher
1017James N NestleCanada2025-05-20Commercial Press UNQUALIFIED73Asiya Javayant
1018Cody A GauchoArgentina2025-05-21King, Christopher A Esq NEW92Ioni Bowcher
1019Adams P IturbideBrazil2025-05-31Chanay, Jeffrey A Esq PROPOSAL47Xuxue Feng
1020Cody Y SergiBrazil2025-05-18Feiner Bros QUALIFIED41Stephen Shaw
1021Tony W AlbaresJapan2025-05-20Dorl, James J Esq PROPOSAL70Onyama Limba
1022Juan I WieserRussia2025-05-23Printing Dimensions NEW88Anna Fali
1023Francesco L SlusarskiArgentina2025-05-12Morlong Associates NEW95Onyama Limba
1024Sinclair Q WaycottCanada2025-05-20Commercial Press UNQUALIFIED21Asiya Javayant
1025Octavia J ShinkoItaly2025-05-07Chanay, Jeffrey A Esq QUALIFIED51Onyama Limba
1026Antonio V CampainGermany2025-05-15Feiner Bros PROPOSAL13Onyama Limba
1027Octavia T FerenczCanada2025-05-10Dorl, James J Esq NEW41Bernardo Dominic
1028Jefferson Z MaletBrazil2025-05-31Morlong Associates PROPOSAL25Elwin Sharvill
1029Kadeem F BologniaIndia2025-05-07Truhlar And Truhlar Attys UNQUALIFIED20Xuxue Feng
1030Costa B PaprockiAustralia2025-05-10Dorl, James J Esq NEGOTIATION13Elwin Sharvill
1031Ricardo I MaletFrance2025-05-07Feltz Printing Service RENEWAL65Stephen Shaw
1032Murillo Z GlickUnited Kingdom2025-05-02Rangoni Of Florence NEGOTIATION36Asiya Javayant
1033Cody C StensethArgentina2025-05-14Rangoni Of Florence UNQUALIFIED28Ivan Magalhaes
1034Faith Y StockhamRussia2025-05-08Rangoni Of Florence NEW93Asiya Javayant
1035Ivar M ButtIndia2025-05-28Chanay, Jeffrey A Esq NEGOTIATION23Ivan Magalhaes
1036Misaki C StockhamArgentina2025-05-06Chapman, Ross E Esq RENEWAL57Xuxue Feng
1037Tony B AmigonAustralia2025-05-16Morlong Associates PROPOSAL54Xuxue Feng
1038Misaki R CampainRussia2025-05-18Chapman, Ross E Esq RENEWAL96Amy Elsner
1039Aika V PerinGermany2025-05-06Printing Dimensions NEGOTIATION36Asiya Javayant
1040Faith R FollerIndia2025-05-15Chapman, Ross E Esq PROPOSAL31Bernardo Dominic
1041Adams M GarufiUnited Kingdom2025-05-23King, Christopher A Esq NEW80Ivan Magalhaes
1042Maisha F ButtIndia2025-05-08Feiner Bros NEW83Xuxue Feng
1043Kadeem V GlickFrance2025-05-24Dorl, James J Esq PROPOSAL45Ioni Bowcher
1044Aditya P FollerJapan2025-05-12Rousseaux, Michael Esq NEGOTIATION55Ivan Magalhaes
1045Antonio R IturbideSpain2025-05-23Buckley Miller Wright PROPOSAL30Asiya Javayant
1046Nicolas I GauchoFrance2025-05-11Feltz Printing Service RENEWAL32Onyama Limba
1047Salvatore N MaletJapan2025-05-15Dorl, James J Esq QUALIFIED69Xuxue Feng
1048Sinclair T OstroskyIndia2025-05-14Benton, John B Jr PROPOSAL79Onyama Limba
1049Morrow Q GarufiIndia2025-05-16Truhlar And Truhlar Attys PROPOSAL63Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aruna P SlusarskiIndiaStephen Shaw PROPOSAL
Smith G DarakjyFranceElwin Sharvill NEW
Darci A VocelkaUnited KingdomXuxue Feng RENEWAL
Munro Z RulapaughAustraliaAnna Fali QUALIFIED
Arvin T BologniaBrazilAmy Elsner PROPOSAL
Sinclair E BologniaAustraliaElwin Sharvill PROPOSAL
Misaki H TollnerCanadaAsiya Javayant NEGOTIATION
Leja K NestleSpainIvan Magalhaes PROPOSAL
Tony U RimUnited KingdomBernardo Dominic QUALIFIED
Aditya V MarrierItalyAsiya Javayant QUALIFIED
Kadeem N StensethGermanyIoni Bowcher NEGOTIATION
Julie L MaletBrazilStephen Shaw RENEWAL
Misaki F WaycottUnited KingdomAsiya Javayant PROPOSAL
Silvio L CampainAustraliaXuxue Feng UNQUALIFIED
Adams Y WhobreyBrazilStephen Shaw NEW
Cody A ChuiRussiaIoni Bowcher UNQUALIFIED
Sinclair R MaletItalyIoni Bowcher NEGOTIATION
Faith A MarrierBrazilElwin Sharvill RENEWAL
Faith L FlosiItalyIvan Magalhaes UNQUALIFIED
Maria G FlosiJapanIvan Magalhaes NEGOTIATION
Ivar Q ShinkoJapanElwin Sharvill NEW
Claire U MaletArgentinaIoni Bowcher NEW
Jennifer H KolmetzSpainAmy Elsner RENEWAL
Kadeem R MarrierRussiaOnyama Limba NEGOTIATION
Aika D MarrierFranceAsiya Javayant NEW
Chavez B BriddickFranceAnna Fali UNQUALIFIED
Juan X GarufiBrazilIvan Magalhaes PROPOSAL
Murillo A PoquetteAustraliaAnna Fali QUALIFIED
Ivar S MarrierAustraliaAsiya Javayant QUALIFIED
Julie J MaletJapanAsiya Javayant PROPOSAL
Munro P PerinFranceElwin Sharvill RENEWAL
Mayumi T ChuiIndiaAmy Elsner PROPOSAL
Jefferson G ButtFranceElwin Sharvill PROPOSAL
Aditya B BriddickArgentinaElwin Sharvill UNQUALIFIED
Julie F PaprockiIndiaAmy Elsner UNQUALIFIED
Salvatore B ChuiIndiaBernardo Dominic NEGOTIATION
Jennifer Z WieserBrazilElwin Sharvill NEW
Maisha O GarufiRussiaAnna Fali PROPOSAL
Clifford X GarufiFranceStephen Shaw PROPOSAL
Murillo M NestleFranceStephen Shaw QUALIFIED
Isabel Z CaldareraCanadaIoni Bowcher NEGOTIATION
Jefferson R CaudyArgentinaAsiya Javayant UNQUALIFIED
Ashley M FlosiCanadaAnna Fali NEW
Cody X VocelkaJapanAsiya Javayant NEGOTIATION
Aika T GlickAustraliaAnna Fali RENEWAL
Isabel L MacleadUnited KingdomElwin Sharvill NEGOTIATION
Aruna F ButtRussiaAsiya Javayant NEW
Aditya F MorascaGermanyStephen Shaw QUALIFIED
Aditya B DilliardAustraliaBernardo Dominic PROPOSAL
Costa Y OldroydIndiaStephen Shaw PROPOSAL
Frozen Columns
Name
Misaki A Chui
Morrow S Nestle
David C Iturbide
Faith F Maclead
Rodrigues F Schemmer
Ashley K Paprocki
Jennifer W Bowley
Kadeem L Venere
Ashley N Figeroa
Aruna J Kusko
Costa R Caldarera
Jones F Gillian
Wickens L Schemmer
Alejandro V Venere
Antonio C Foller
Jones V Rulapaugh
Faith C Inouye
Antonio K Whobrey
Alejandro P Wieser
James O Paprocki
Jennifer C Morasca
Tony Y Nicka
Misaki W Stenseth
Arvin L Shinko
Aruna U Gillian
Cody R Caldarera
Maria C Gillian
Jefferson L Nicka
Morrow Y Gillian
Ivar V Royster
Cody D Wieser
Deepesh O Venere
Alejandro O Chui
Jeanfrancois S Ruta
Jones S Gaucho
Rodrigues P Ferencz
Deepesh T Stockham
Murillo T Butt
Rodrigues P Paprocki
Julie V Rim
Rodrigues P Foller
Murillo E Nestle
Tony W Shinko
Silvio Y Nicka
Octavia B Amigon
Silvio V Oldroyd
Emily D Nestle
Ashley W Gaucho
Munro G Rulapaugh
Costa K Ruta
IdCountryDate
1000United Kingdom2025-05-31
1001India2025-05-06
1002Brazil2025-05-03
1003Germany2025-05-25
1004Russia2025-05-22
1005Canada2025-05-09
1006Russia2025-05-20
1007India2025-05-07
1008Italy2025-05-26
1009Spain2025-05-06
1010Japan2025-05-24
1011Canada2025-05-11
1012Canada2025-05-11
1013Brazil2025-05-07
1014Spain2025-05-29
1015Spain2025-05-22
1016United Kingdom2025-05-03
1017Brazil2025-05-29
1018France2025-05-02
1019Australia2025-05-20
1020France2025-05-11
1021Italy2025-05-08
1022Brazil2025-05-03
1023Germany2025-05-06
1024Japan2025-05-31
1025Japan2025-05-03
1026Spain2025-05-21
1027United Kingdom2025-05-17
1028Spain2025-05-17
1029Russia2025-05-25
1030Canada2025-05-04
1031Japan2025-05-16
1032Argentina2025-05-12
1033India2025-05-19
1034Spain2025-05-07
1035Argentina2025-05-15
1036Argentina2025-05-28
1037Canada2025-05-25
1038France2025-05-05
1039Japan2025-05-17
1040Argentina2025-05-30
1041Brazil2025-05-25
1042Brazil2025-05-11
1043United Kingdom2025-05-17
1044France2025-05-20
1045Canada2025-05-06
1046India2025-05-07
1047United Kingdom2025-05-09
1048Australia2025-05-18
1049Australia2025-05-24

On-Demand Data

NameIdCountryDate
Maisha J Paprocki1000United Kingdom2025-05-29
Chavez S Maclead1001Canada2025-05-29
Smith A Butt1002France2025-05-11
Claire N Glick1003Germany2025-05-17
Darci Z Iturbide1004Argentina2025-05-20
Julie H Doe1005Italy2025-05-10
Jones E Bowley1006Argentina2025-05-09
Sinclair W Albares1007Brazil2025-05-04
Arvin M Shinko1008Australia2025-05-21
Mayumi W Rulapaugh1009Italy2025-05-16
Tony V Butt1010Canada2025-05-28
Leon G Doe1011Italy2025-05-16
Jones A Marrier1012Germany2025-05-18
Aruna K Amigon1013Australia2025-05-26
Sinclair H Garufi1014Germany2025-05-18
Nicolas I Schemmer1015Australia2025-05-27
Costa K Sergi1016Japan2025-05-10
Smith V Ferencz1017Canada2025-05-22
Greenwood Z Tollner1018Argentina2025-05-31
Morrow N Poquette1019France2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois W MaletCanadaBernardo Dominic QUALIFIED
Isabel J SaylorsAustraliaAmy Elsner QUALIFIED
Leja E RoysterUnited KingdomAsiya Javayant UNQUALIFIED
David N SergiIndiaElwin Sharvill NEW
Nicolas A MaletItalyAmy Elsner QUALIFIED
Mayumi C DoeSpainAmy Elsner PROPOSAL
Jennifer J FerenczArgentinaOnyama Limba UNQUALIFIED
Clifford O SergiIndiaXuxue Feng UNQUALIFIED
Aika X VocelkaGermanyBernardo Dominic QUALIFIED
Wickens H AmigonJapanAsiya Javayant UNQUALIFIED
Aditya R VenereGermanyIoni Bowcher UNQUALIFIED
Antonio R PoquetteJapanIvan Magalhaes NEGOTIATION
Ashley O OldroydCanadaAmy Elsner QUALIFIED
Ricardo D BowleyArgentinaXuxue Feng NEW
Aruna F AlbaresUnited KingdomBernardo Dominic NEW
Chavez X BologniaFranceIoni Bowcher RENEWAL
Silvio I DilliardBrazilIoni Bowcher QUALIFIED
Octavia E VenereFranceElwin Sharvill NEGOTIATION
Julie L CampainUnited KingdomIvan Magalhaes NEGOTIATION
James C NestleItalyAsiya Javayant NEGOTIATION
Wickens B SlusarskiUnited KingdomAnna Fali NEW
Faith V WhobreyArgentinaAsiya Javayant NEGOTIATION
Munro V PaprockiCanadaIvan Magalhaes RENEWAL
Maisha R KolmetzSpainOnyama Limba QUALIFIED
Morrow R ShinkoJapanElwin Sharvill RENEWAL
Rodrigues Y RimJapanIvan Magalhaes NEGOTIATION
Ricardo E SchemmerItalyIvan Magalhaes RENEWAL
Ricardo D CaldareraItalyAmy Elsner QUALIFIED
Jones S RulapaughSpainAsiya Javayant QUALIFIED
Juan Y CaudyIndiaAnna Fali NEW
Kadeem P GauchoArgentinaAnna Fali QUALIFIED
Smith R TollnerFranceOnyama Limba PROPOSAL
Darci C MaletSpainXuxue Feng NEGOTIATION
Rodrigues D KolmetzGermanyIvan Magalhaes RENEWAL
Clifford Y DarakjyArgentinaXuxue Feng RENEWAL
Wickens O FlosiArgentinaIvan Magalhaes PROPOSAL
Juan P NickaIndiaIvan Magalhaes NEW
Deepesh C PoquetteSpainBernardo Dominic RENEWAL
Jefferson G CaudyAustraliaAnna Fali PROPOSAL
Arvin E MaletSpainIvan Magalhaes 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>