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 V VenereCanadaAnna Fali QUALIFIED
Jennifer B WieserSpainStephen Shaw UNQUALIFIED
Faith B AmigonIndiaIvan Magalhaes UNQUALIFIED
Greenwood E DoeUnited KingdomAsiya Javayant PROPOSAL
Mayumi W KolmetzItalyAmy Elsner QUALIFIED
Alejandro H GillianFranceIoni Bowcher NEGOTIATION
Jones N CaudyRussiaBernardo Dominic NEW
Faith O DoeSpainOnyama Limba UNQUALIFIED
Cody Q BologniaArgentinaXuxue Feng NEGOTIATION
Alejandro F OldroydIndiaXuxue Feng QUALIFIED
Kaitlin N BowleyJapanAnna Fali PROPOSAL
Murillo M CaudyBrazilXuxue Feng NEW
Morrow H RoysterArgentinaBernardo Dominic NEW
Smith T SergiAustraliaIoni Bowcher QUALIFIED
Claire R CampainCanadaAnna Fali QUALIFIED
Silvio D RutaAustraliaStephen Shaw QUALIFIED
Ashley W CaudyUnited KingdomBernardo Dominic RENEWAL
Adams A MorascaAustraliaXuxue Feng QUALIFIED
Leja M RutaIndiaOnyama Limba UNQUALIFIED
Chavez L ChuiUnited KingdomAnna Fali NEW
Alejandro E AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Jefferson B NestleUnited KingdomAmy Elsner PROPOSAL
Morrow Q MacleadFranceAmy Elsner RENEWAL
Salvatore N TollnerUnited KingdomOnyama Limba PROPOSAL
Morrow I FlosiIndiaOnyama Limba NEW
Mayumi I GauchoItalyAnna Fali NEW
Alejandro H PaprockiIndiaIoni Bowcher PROPOSAL
Clifford L SchemmerGermanyElwin Sharvill UNQUALIFIED
Francesco C BriddickBrazilElwin Sharvill QUALIFIED
Ivar I PaprockiRussiaBernardo Dominic RENEWAL
Aditya D MaletBrazilIvan Magalhaes QUALIFIED
Jones E ButtUnited KingdomAsiya Javayant RENEWAL
Alejandro A ChuiIndiaStephen Shaw QUALIFIED
Claire E WieserSpainIoni Bowcher NEGOTIATION
Greenwood D GillianFranceBernardo Dominic UNQUALIFIED
Munro Z ButtGermanyAnna Fali QUALIFIED
Nicolas K FlosiUnited KingdomAnna Fali RENEWAL
Emily J OstroskyArgentinaAmy Elsner PROPOSAL
Octavia W DoeCanadaBernardo Dominic RENEWAL
Jones T PerinUnited KingdomAmy Elsner QUALIFIED
Kaitlin E SergiFranceElwin Sharvill NEGOTIATION
Silvio F FlosiItalyStephen Shaw NEGOTIATION
Rodrigues N ChuiSpainOnyama Limba NEW
Antonio W NestleRussiaBernardo Dominic QUALIFIED
Adams Q MorascaFranceOnyama Limba NEGOTIATION
Leon F WaycottFranceIoni Bowcher QUALIFIED
Silvio O RoysterJapanOnyama Limba NEW
Deepesh T CaudyCanadaAnna Fali UNQUALIFIED
Aruna A WaycottArgentinaIvan Magalhaes NEW
Jennifer U DoeAustraliaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson J RutaBrazilAmy Elsner UNQUALIFIED
Jones E StensethJapanXuxue Feng NEGOTIATION
Darci O ChuiCanadaIoni Bowcher RENEWAL
Julie F MaletAustraliaAsiya Javayant UNQUALIFIED
Maisha N NickaArgentinaStephen Shaw NEW
Misaki P SaylorsRussiaIoni Bowcher QUALIFIED
David K IturbideIndiaXuxue Feng PROPOSAL
Deepesh P GillianItalyAsiya Javayant NEGOTIATION
Darci I DoeArgentinaAsiya Javayant QUALIFIED
Maisha W FerenczSpainAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith M AlbaresBrazil2026-07-16Rousseaux, Michael Esq RENEWAL18Asiya Javayant
1001Nicolas V FlosiSpain2026-07-19Feltz Printing Service UNQUALIFIED88Xuxue Feng
1002Clifford B NestleCanada2026-07-27Chapman, Ross E Esq QUALIFIED97Ivan Magalhaes
1003Wickens Q WaycottSpain2026-07-23Rousseaux, Michael Esq PROPOSAL83Bernardo Dominic
1004Leon Y RimIndia2026-07-04Feiner Bros QUALIFIED2Amy Elsner
1005Julie K AlbaresRussia2026-07-05Feiner Bros PROPOSAL58Bernardo Dominic
1006Morrow D SlusarskiAustralia2026-07-03Rousseaux, Michael Esq PROPOSAL31Amy Elsner
1007Isabel W RimRussia2026-07-18Chapman, Ross E Esq NEGOTIATION21Elwin Sharvill
1008Cody G InouyeGermany2026-07-04Feiner Bros QUALIFIED93Elwin Sharvill
1009Jeanfrancois D RoysterSpain2026-07-21Chemel, James L Cpa NEGOTIATION26Anna Fali
1010Kaitlin B WhobreyJapan2026-07-07Chapman, Ross E Esq NEGOTIATION69Amy Elsner
1011Morrow R GlickArgentina2026-07-21Printing Dimensions NEGOTIATION20Stephen Shaw
1012Emily C MarrierAustralia2026-07-13Chemel, James L Cpa NEW19Elwin Sharvill
1013Rodrigues Z FlosiBrazil2026-07-19Morlong Associates QUALIFIED3Asiya Javayant
1014Tony D PaprockiRussia2026-07-02Rousseaux, Michael Esq QUALIFIED70Asiya Javayant
1015Tony O CaudyJapan2026-07-22Rangoni Of Florence PROPOSAL28Onyama Limba
1016Smith R PerinGermany2026-07-28King, Christopher A Esq QUALIFIED2Onyama Limba
1017Aruna Y WaycottFrance2026-07-29Feltz Printing Service QUALIFIED78Amy Elsner
1018Julie T GarufiJapan2026-07-13Chemel, James L Cpa NEGOTIATION33Amy Elsner
1019Kadeem P NestleIndia2026-07-26Chanay, Jeffrey A Esq QUALIFIED97Xuxue Feng
1020Ricardo I PoquetteAustralia2026-07-19Commercial Press PROPOSAL39Onyama Limba
1021Kaitlin L FigeroaAustralia2026-07-12Rangoni Of Florence UNQUALIFIED54Stephen Shaw
1022Smith K KolmetzGermany2026-07-19King, Christopher A Esq NEGOTIATION44Stephen Shaw
1023Misaki F VocelkaSpain2026-07-11Feltz Printing Service NEW33Elwin Sharvill
1024Nicolas X WaycottCanada2026-07-09Feiner Bros QUALIFIED31Bernardo Dominic
1025David Q VocelkaCanada2026-07-15Chapman, Ross E Esq PROPOSAL29Bernardo Dominic
1026Claire V RimItaly2026-07-20Feltz Printing Service NEGOTIATION6Amy Elsner
1027Claire V BowleyItaly2026-07-17Feltz Printing Service RENEWAL64Anna Fali
1028Adams D FollerAustralia2026-07-12Morlong Associates NEGOTIATION93Anna Fali
1029Julie P ButtRussia2026-07-29King, Christopher A Esq NEW89Onyama Limba
1030Munro H CaldareraFrance2026-07-23Feiner Bros RENEWAL15Xuxue Feng
1031Silvio R ChuiBrazil2026-07-28King, Christopher A Esq PROPOSAL88Xuxue Feng
1032Tony H CampainRussia2026-07-12Rangoni Of Florence RENEWAL95Amy Elsner
1033Aika I RoysterBrazil2026-07-18Feltz Printing Service PROPOSAL0Xuxue Feng
1034Kadeem Z RutaJapan2026-07-22Feiner Bros RENEWAL31Bernardo Dominic
1035Nicolas J VocelkaArgentina2026-07-26Rangoni Of Florence PROPOSAL15Elwin Sharvill
1036Misaki H RulapaughRussia2026-07-20Feltz Printing Service UNQUALIFIED80Xuxue Feng
1037Clifford G BriddickUnited Kingdom2026-07-21King, Christopher A Esq NEW66Ioni Bowcher
1038Adams J BologniaBrazil2026-07-05Feltz Printing Service PROPOSAL21Asiya Javayant
1039Juan T SchemmerAustralia2026-07-12Chanay, Jeffrey A Esq QUALIFIED53Stephen Shaw
1040Tony Z RoysterItaly2026-07-30Rousseaux, Michael Esq NEGOTIATION13Onyama Limba
1041Sinclair Z ShinkoUnited Kingdom2026-07-27Chapman, Ross E Esq PROPOSAL44Stephen Shaw
1042Ricardo G TollnerRussia2026-07-16Chemel, James L Cpa UNQUALIFIED97Asiya Javayant
1043Julie H RulapaughJapan2026-07-25Feltz Printing Service PROPOSAL10Asiya Javayant
1044Wickens K GauchoUnited Kingdom2026-07-07Feiner Bros QUALIFIED60Xuxue Feng
1045Smith Z GillianItaly2026-07-10Dorl, James J Esq UNQUALIFIED31Xuxue Feng
1046Ivar R PerinUnited Kingdom2026-07-12Commercial Press RENEWAL85Amy Elsner
1047Murillo L GarufiRussia2026-07-24Printing Dimensions QUALIFIED33Amy Elsner
1048Leja Z PerinArgentina2026-07-13Chapman, Ross E Esq NEGOTIATION63Elwin Sharvill
1049Kaitlin O BriddickFrance2026-07-17Rangoni Of Florence PROPOSAL11Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Arvin K GarufiRussiaIvan Magalhaes RENEWAL
Claire Z MacleadArgentinaIoni Bowcher QUALIFIED
Leja I BriddickSpainOnyama Limba RENEWAL
Kadeem Z InouyeBrazilIvan Magalhaes RENEWAL
Emily E AlbaresSpainIoni Bowcher PROPOSAL
Francesco F VocelkaRussiaAsiya Javayant RENEWAL
Darci E MaletUnited KingdomStephen Shaw NEGOTIATION
Izzy D MacleadItalyStephen Shaw QUALIFIED
Jeanfrancois Z MorascaSpainIoni Bowcher UNQUALIFIED
Mayumi Y MaletArgentinaAsiya Javayant NEGOTIATION
Rodrigues B IturbideIndiaAnna Fali RENEWAL
Nicolas X GlickSpainIvan Magalhaes RENEWAL
Johnson I WieserRussiaStephen Shaw NEW
Maisha O GillianAustraliaOnyama Limba UNQUALIFIED
Maria S SchemmerGermanyOnyama Limba PROPOSAL
Greenwood G ButtItalyOnyama Limba RENEWAL
Johnson S KolmetzBrazilOnyama Limba NEW
Jeanfrancois K VocelkaCanadaElwin Sharvill NEGOTIATION
Salvatore Y DilliardFranceElwin Sharvill NEW
Francesco Z AmigonBrazilXuxue Feng NEGOTIATION
Costa X BologniaJapanOnyama Limba NEGOTIATION
Cody A InouyeUnited KingdomAmy Elsner NEGOTIATION
Ashley L GauchoSpainBernardo Dominic NEW
Chavez C MacleadItalyAnna Fali NEW
Adams F WaycottUnited KingdomStephen Shaw NEW
Izzy Q GlickArgentinaStephen Shaw UNQUALIFIED
Aruna B MorascaFranceAmy Elsner RENEWAL
Isabel G OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Francesco M ChuiItalyXuxue Feng NEGOTIATION
Silvio Z SergiCanadaAmy Elsner NEGOTIATION
Emily R FollerSpainIvan Magalhaes QUALIFIED
Kadeem U StockhamIndiaStephen Shaw UNQUALIFIED
Jeanfrancois B ChuiSpainAmy Elsner NEGOTIATION
Salvatore L FollerArgentinaIoni Bowcher NEW
Aika Y ShinkoGermanyIvan Magalhaes RENEWAL
Leon Z TollnerJapanIvan Magalhaes RENEWAL
Maria P GauchoItalyIoni Bowcher NEW
Francesco O BologniaSpainBernardo Dominic NEGOTIATION
Isabel C SchemmerCanadaAmy Elsner NEW
Isabel Y SlusarskiRussiaIoni Bowcher RENEWAL
Kaitlin F OstroskyCanadaXuxue Feng UNQUALIFIED
Maisha X StockhamIndiaStephen Shaw PROPOSAL
Ashley K MaletBrazilOnyama Limba QUALIFIED
Antonio A RoysterArgentinaOnyama Limba NEGOTIATION
Leja P FlosiItalyStephen Shaw UNQUALIFIED
Stacey D CaudyAustraliaElwin Sharvill NEW
Chavez K RoysterArgentinaBernardo Dominic NEGOTIATION
Ivar N WieserAustraliaAmy Elsner QUALIFIED
Claire J BriddickUnited KingdomIoni Bowcher NEW
Morrow X PerinGermanyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Aditya X Kolmetz
Silvio A Rulapaugh
Sinclair G Rim
Aruna G Venere
Kadeem C Shinko
Alejandro W Doe
Ricardo R Malet
David F Iturbide
Ashley K Dilliard
Stacey A Nestle
Greenwood W Caldarera
Leja D Shinko
Kadeem U Briddick
Salvatore F Schemmer
Izzy M Bowley
Octavia X Nestle
Jeanfrancois Y Rim
Deepesh K Flosi
Ivar R Shinko
Ivar T Doe
Kaitlin X Rim
Leon P Royster
Deepesh C Kusko
Silvio W Saylors
Morrow Q Slusarski
Leon H Iturbide
Ivar D Sergi
Maria O Garufi
Ivar G Iturbide
Juan I Royster
Aditya L Doe
Kaitlin K Saylors
Arvin F Albares
Johnson G Paprocki
Morrow J Briddick
Darci G Morasca
Rodrigues N Nicka
Mujtaba M Ostrosky
Murillo P Stockham
Kaitlin L Kusko
Ivar T Inouye
Silvio B Stenseth
Maisha H Garufi
Francesco D Malet
Mayumi L Ferencz
Costa N Chui
Aditya T Campain
Murillo K Foller
Aruna N Darakjy
Mujtaba A Ostrosky
IdCountryDate
1000Argentina2026-07-11
1001United Kingdom2026-07-20
1002Japan2026-07-02
1003Japan2026-07-06
1004France2026-07-15
1005Brazil2026-07-25
1006Canada2026-07-12
1007United Kingdom2026-07-30
1008Russia2026-07-30
1009United Kingdom2026-07-28
1010United Kingdom2026-07-15
1011India2026-07-17
1012India2026-07-09
1013Canada2026-07-27
1014United Kingdom2026-07-13
1015Italy2026-07-07
1016Japan2026-07-22
1017Germany2026-07-18
1018Germany2026-07-13
1019Canada2026-07-21
1020United Kingdom2026-07-26
1021France2026-07-30
1022Japan2026-07-20
1023Canada2026-07-21
1024Brazil2026-07-10
1025Argentina2026-07-05
1026India2026-07-21
1027Brazil2026-07-16
1028Australia2026-07-07
1029Germany2026-07-03
1030France2026-07-13
1031United Kingdom2026-07-09
1032Spain2026-07-22
1033Russia2026-07-16
1034Spain2026-07-25
1035Germany2026-07-29
1036Russia2026-07-25
1037France2026-07-25
1038Argentina2026-07-12
1039United Kingdom2026-07-10
1040Japan2026-07-14
1041Australia2026-07-25
1042France2026-07-10
1043Argentina2026-07-10
1044Germany2026-07-28
1045India2026-07-16
1046Spain2026-07-10
1047Argentina2026-07-19
1048Canada2026-07-18
1049Russia2026-07-14

On-Demand Data

NameIdCountryDate
Misaki Q Oldroyd1000United Kingdom2026-07-16
Maisha P Rulapaugh1001United Kingdom2026-07-06
Aika I Bowley1002France2026-07-01
Tony D Oldroyd1003France2026-07-05
Maria I Caudy1004Brazil2026-07-06
Munro U Wieser1005Argentina2026-07-20
Aditya U Amigon1006Japan2026-07-28
Jefferson Q Albares1007France2026-07-13
Sinclair I Shinko1008United Kingdom2026-07-04
Munro X Wieser1009Italy2026-07-18
Darci A Chui1010Italy2026-07-09
Mayumi B Rim1011France2026-07-14
James S Amigon1012Germany2026-07-17
Ivar S Poquette1013Spain2026-07-27
Maisha Z Morasca1014Spain2026-07-07
Costa T Briddick1015Spain2026-07-29
Cody A Gillian1016Italy2026-07-10
Greenwood W Ruta1017Spain2026-07-19
Smith B Shinko1018Germany2026-07-09
Ivar M Stenseth1019Germany2026-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria O MaletIndiaIvan Magalhaes QUALIFIED
Kadeem G NickaGermanyStephen Shaw PROPOSAL
Leja L TollnerGermanyAnna Fali RENEWAL
Cody A AmigonIndiaAsiya Javayant QUALIFIED
Kadeem T VenereArgentinaStephen Shaw PROPOSAL
David I ChuiIndiaXuxue Feng PROPOSAL
Johnson R ShinkoJapanAmy Elsner UNQUALIFIED
Darci C RimJapanAmy Elsner PROPOSAL
Salvatore K CaudyUnited KingdomXuxue Feng UNQUALIFIED
Maisha C CaldareraItalyAnna Fali NEW
Costa K WhobreyItalyIvan Magalhaes RENEWAL
Johnson G ShinkoAustraliaIvan Magalhaes NEW
Munro O IturbideUnited KingdomXuxue Feng NEGOTIATION
Alejandro G MaletFranceXuxue Feng RENEWAL
Leja D SergiArgentinaOnyama Limba UNQUALIFIED
Jefferson G OstroskyRussiaBernardo Dominic PROPOSAL
Antonio T IturbideAustraliaOnyama Limba RENEWAL
Julie O ShinkoCanadaIoni Bowcher PROPOSAL
Cody V BowleyFranceAnna Fali UNQUALIFIED
Alejandro I SchemmerItalyOnyama Limba QUALIFIED
James C ShinkoCanadaOnyama Limba UNQUALIFIED
Salvatore Q PaprockiItalyStephen Shaw UNQUALIFIED
Juan T WaycottJapanXuxue Feng PROPOSAL
Darci P CampainAustraliaIoni Bowcher NEGOTIATION
Johnson J DilliardRussiaStephen Shaw RENEWAL
Jefferson K IturbideGermanyAsiya Javayant NEGOTIATION
Isabel Y SaylorsJapanOnyama Limba QUALIFIED
Darci P PerinFranceAnna Fali RENEWAL
Izzy F GauchoAustraliaIvan Magalhaes RENEWAL
Murillo D DoeIndiaStephen Shaw NEGOTIATION
Chavez M VenereIndiaXuxue Feng PROPOSAL
Leon K OstroskyFranceOnyama Limba RENEWAL
Maria A StockhamItalyElwin Sharvill NEGOTIATION
Clifford H MorascaGermanyIoni Bowcher NEGOTIATION
Misaki D OstroskyCanadaStephen Shaw RENEWAL
Aditya J ChuiArgentinaIoni Bowcher RENEWAL
Maisha R CaldareraFranceStephen Shaw PROPOSAL
Chavez I OldroydCanadaAmy Elsner UNQUALIFIED
Sinclair Z PoquetteIndiaIoni Bowcher NEGOTIATION
Sinclair G GarufiFranceAmy Elsner 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>