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
Izzy W IturbideJapanAsiya Javayant NEW
Misaki M WieserSpainIoni Bowcher RENEWAL
Salvatore N IturbideUnited KingdomOnyama Limba RENEWAL
Jennifer D IturbideArgentinaElwin Sharvill NEW
Smith J OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Darci E MacleadRussiaAnna Fali RENEWAL
Ricardo O BriddickAustraliaIvan Magalhaes PROPOSAL
Mayumi S ShinkoItalyIvan Magalhaes UNQUALIFIED
Smith H DoeJapanIoni Bowcher NEGOTIATION
Jeanfrancois Z GillianRussiaIvan Magalhaes UNQUALIFIED
Johnson E ButtJapanElwin Sharvill PROPOSAL
Tony S MarrierSpainBernardo Dominic NEGOTIATION
Emily V StensethAustraliaElwin Sharvill UNQUALIFIED
Mujtaba C PaprockiArgentinaAmy Elsner RENEWAL
David R GarufiIndiaIvan Magalhaes PROPOSAL
Sinclair K BowleyCanadaStephen Shaw RENEWAL
Adams I RimSpainOnyama Limba RENEWAL
Stacey L GlickJapanIvan Magalhaes UNQUALIFIED
Mayumi S BowleyItalyAnna Fali PROPOSAL
Chavez J DilliardCanadaBernardo Dominic RENEWAL
Jones N CampainBrazilXuxue Feng NEW
Mayumi B FerenczAustraliaIoni Bowcher NEW
Smith X GillianFranceXuxue Feng UNQUALIFIED
Ivar T GauchoArgentinaIoni Bowcher QUALIFIED
Ricardo Q WhobreyUnited KingdomAmy Elsner QUALIFIED
Wickens Y GarufiItalyIoni Bowcher PROPOSAL
Aruna N FollerSpainAmy Elsner RENEWAL
Misaki K BriddickArgentinaAnna Fali QUALIFIED
Francesco V BriddickItalyOnyama Limba PROPOSAL
Ricardo R MaletAustraliaIvan Magalhaes QUALIFIED
David S DilliardGermanyAmy Elsner PROPOSAL
Costa F MorascaBrazilBernardo Dominic UNQUALIFIED
Silvio U BologniaUnited KingdomBernardo Dominic NEW
Faith A CaudyFranceIoni Bowcher NEGOTIATION
Antonio U ShinkoAustraliaAsiya Javayant NEGOTIATION
Deepesh M VenereJapanBernardo Dominic UNQUALIFIED
Rodrigues P FigeroaJapanOnyama Limba RENEWAL
Aruna S WhobreyBrazilAmy Elsner PROPOSAL
Kaitlin I VenereCanadaAnna Fali NEGOTIATION
Wickens H RimRussiaXuxue Feng UNQUALIFIED
Murillo H RulapaughItalyIoni Bowcher QUALIFIED
Arvin A SlusarskiAustraliaElwin Sharvill RENEWAL
Francesco B BologniaBrazilXuxue Feng RENEWAL
Leja E PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Sinclair F WaycottJapanElwin Sharvill RENEWAL
Jefferson A KolmetzItalyXuxue Feng QUALIFIED
Silvio S WaycottCanadaOnyama Limba NEW
Adams S AmigonSpainIoni Bowcher NEW
Jefferson S NickaArgentinaAmy Elsner PROPOSAL
Leja J ButtIndiaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh X FollerAustraliaAmy Elsner RENEWAL
Jones W SlusarskiArgentinaOnyama Limba NEGOTIATION
Wickens Y MacleadItalyIvan Magalhaes UNQUALIFIED
Munro H ButtAustraliaBernardo Dominic NEW
James J ChuiArgentinaBernardo Dominic QUALIFIED
Chavez N PoquetteBrazilIoni Bowcher NEW
Emily U OldroydGermanyXuxue Feng NEW
Octavia L BriddickAustraliaAmy Elsner NEW
Julie E CampainJapanIvan Magalhaes NEW
Munro W GlickAustraliaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar T IturbideGermany2024-06-05King, Christopher A Esq QUALIFIED39Stephen Shaw
1001Kadeem R SaylorsJapan2024-06-03Rangoni Of Florence QUALIFIED25Anna Fali
1002Francesco T GauchoFrance2024-05-29Morlong Associates RENEWAL19Amy Elsner
1003Mujtaba A NestleArgentina2024-06-20Feiner Bros QUALIFIED77Ioni Bowcher
1004Munro F BowleyJapan2024-06-03Commercial Press RENEWAL79Elwin Sharvill
1005Aika G VenereAustralia2024-06-14Morlong Associates RENEWAL91Amy Elsner
1006Aditya H MarrierJapan2024-06-04Feiner Bros RENEWAL28Asiya Javayant
1007Cody Y ButtRussia2024-06-17Buckley Miller Wright NEW42Amy Elsner
1008Murillo S FlosiUnited Kingdom2024-06-23Rangoni Of Florence UNQUALIFIED4Elwin Sharvill
1009Maisha L RutaJapan2024-06-18Buckley Miller Wright QUALIFIED71Stephen Shaw
1010Stacey L SlusarskiBrazil2024-06-04Truhlar And Truhlar Attys RENEWAL29Anna Fali
1011Jones C TollnerArgentina2024-05-26King, Christopher A Esq NEW89Xuxue Feng
1012Silvio P CampainArgentina2024-06-01Rousseaux, Michael Esq UNQUALIFIED1Onyama Limba
1013Maria Z MarrierItaly2024-05-28Morlong Associates NEGOTIATION3Stephen Shaw
1014Tony T NestleIndia2024-06-04Printing Dimensions UNQUALIFIED82Stephen Shaw
1015Silvio N SergiIndia2024-05-29Rangoni Of Florence PROPOSAL58Stephen Shaw
1016Mujtaba V IturbideIndia2024-05-30Feiner Bros PROPOSAL98Xuxue Feng
1017Julie B KuskoItaly2024-06-20Rangoni Of Florence UNQUALIFIED54Bernardo Dominic
1018Sinclair J CampainCanada2024-06-08Chemel, James L Cpa RENEWAL35Bernardo Dominic
1019Mayumi O AmigonJapan2024-05-30Feiner Bros RENEWAL91Stephen Shaw
1020Antonio W CaudySpain2024-06-20Chanay, Jeffrey A Esq QUALIFIED57Amy Elsner
1021Rodrigues T FerenczUnited Kingdom2024-06-02Rousseaux, Michael Esq NEGOTIATION49Xuxue Feng
1022Cody Y TollnerAustralia2024-06-02Buckley Miller Wright QUALIFIED0Asiya Javayant
1023Juan L MarrierArgentina2024-06-03Benton, John B Jr NEW12Asiya Javayant
1024Maria F DarakjyFrance2024-06-22Rangoni Of Florence RENEWAL26Ivan Magalhaes
1025Sinclair G WhobreyAustralia2024-06-20King, Christopher A Esq UNQUALIFIED31Onyama Limba
1026Nicolas P DilliardUnited Kingdom2024-06-24Morlong Associates PROPOSAL72Onyama Limba
1027Cody P DilliardIndia2024-06-19Rangoni Of Florence NEW14Xuxue Feng
1028Chavez P MarrierIndia2024-06-23Feiner Bros NEW31Anna Fali
1029Cody F FigeroaFrance2024-05-26Rousseaux, Michael Esq PROPOSAL68Ivan Magalhaes
1030Jefferson Z VocelkaJapan2024-06-11Printing Dimensions UNQUALIFIED88Asiya Javayant
1031Julie K SergiIndia2024-05-29Rousseaux, Michael Esq QUALIFIED70Elwin Sharvill
1032Clifford T SchemmerRussia2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED87Onyama Limba
1033Juan H SaylorsItaly2024-06-13Morlong Associates PROPOSAL75Asiya Javayant
1034Antonio T WaycottUnited Kingdom2024-06-07Rousseaux, Michael Esq PROPOSAL35Xuxue Feng
1035Izzy G KolmetzIndia2024-06-21Buckley Miller Wright NEW7Ivan Magalhaes
1036Kaitlin I AmigonFrance2024-06-14Morlong Associates RENEWAL49Anna Fali
1037Sinclair T OldroydUnited Kingdom2024-06-11Truhlar And Truhlar Attys PROPOSAL26Elwin Sharvill
1038Juan B CampainUnited Kingdom2024-06-09Rousseaux, Michael Esq QUALIFIED63Onyama Limba
1039Julie T PerinUnited Kingdom2024-06-22Rousseaux, Michael Esq NEGOTIATION93Stephen Shaw
1040Stacey X SchemmerGermany2024-06-23Truhlar And Truhlar Attys NEGOTIATION4Ioni Bowcher
1041Isabel Y FlosiIndia2024-06-03Feiner Bros PROPOSAL56Elwin Sharvill
1042Jones J CampainBrazil2024-06-22Rousseaux, Michael Esq UNQUALIFIED0Amy Elsner
1043Silvio X MarrierSpain2024-06-09Dorl, James J Esq NEW44Stephen Shaw
1044Johnson G MacleadSpain2024-06-11Printing Dimensions UNQUALIFIED68Bernardo Dominic
1045Mujtaba T NestleArgentina2024-06-17Printing Dimensions RENEWAL16Ioni Bowcher
1046Deepesh K KolmetzCanada2024-06-07Rangoni Of Florence UNQUALIFIED44Amy Elsner
1047Costa K FlosiCanada2024-06-24Chanay, Jeffrey A Esq UNQUALIFIED65Elwin Sharvill
1048Leon V VenereItaly2024-06-21Buckley Miller Wright NEGOTIATION39Xuxue Feng
1049Julie C BowleyUnited Kingdom2024-05-28Morlong Associates UNQUALIFIED75Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Murillo Y PoquetteUnited KingdomAmy Elsner UNQUALIFIED
James G DarakjyRussiaXuxue Feng NEGOTIATION
Jennifer F MaletArgentinaOnyama Limba PROPOSAL
Sinclair N FlosiCanadaElwin Sharvill RENEWAL
Alejandro Y GlickCanadaAsiya Javayant NEGOTIATION
Cody Y GillianRussiaAmy Elsner NEW
Chavez M GlickRussiaElwin Sharvill PROPOSAL
Wickens V WieserFranceAmy Elsner UNQUALIFIED
Silvio D NestleItalyStephen Shaw NEGOTIATION
Deepesh N WieserJapanXuxue Feng PROPOSAL
Morrow I SchemmerGermanyBernardo Dominic NEW
Darci M FollerGermanyAsiya Javayant PROPOSAL
Leon Q ChuiSpainStephen Shaw UNQUALIFIED
Salvatore C WieserFranceAmy Elsner RENEWAL
Emily U BologniaGermanyAsiya Javayant NEGOTIATION
Jefferson M WaycottFranceIvan Magalhaes NEGOTIATION
Juan R AmigonIndiaAnna Fali QUALIFIED
Wickens H ShinkoCanadaBernardo Dominic PROPOSAL
Costa K InouyeUnited KingdomAmy Elsner QUALIFIED
Julie A PerinCanadaAsiya Javayant PROPOSAL
Mayumi A CaldareraIndiaStephen Shaw QUALIFIED
Mujtaba S RoysterAustraliaOnyama Limba PROPOSAL
Wickens U MorascaAustraliaIoni Bowcher RENEWAL
Darci X RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba T DoeGermanyAnna Fali UNQUALIFIED
Kadeem C AmigonJapanIvan Magalhaes NEGOTIATION
Aruna D OldroydFranceAmy Elsner RENEWAL
Izzy E GauchoSpainStephen Shaw PROPOSAL
Ivar C GillianCanadaStephen Shaw QUALIFIED
Izzy M DilliardFranceXuxue Feng RENEWAL
Rodrigues R GauchoSpainStephen Shaw NEGOTIATION
Chavez Z FigeroaGermanyStephen Shaw PROPOSAL
Claire V GillianArgentinaStephen Shaw NEGOTIATION
Francesco Q DoeIndiaIvan Magalhaes UNQUALIFIED
Nicolas D GarufiCanadaAmy Elsner RENEWAL
Ashley U StockhamRussiaIvan Magalhaes UNQUALIFIED
Ashley N CaldareraAustraliaBernardo Dominic QUALIFIED
Ashley B PaprockiFranceIvan Magalhaes NEGOTIATION
Maria I MarrierArgentinaElwin Sharvill UNQUALIFIED
Murillo V ChuiSpainBernardo Dominic NEGOTIATION
Munro I DoeAustraliaXuxue Feng UNQUALIFIED
Arvin V WaycottUnited KingdomStephen Shaw RENEWAL
James A OstroskyAustraliaAsiya Javayant NEGOTIATION
Smith F FlosiCanadaStephen Shaw RENEWAL
Darci U MaletSpainStephen Shaw RENEWAL
Mayumi M AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Johnson C TollnerJapanAnna Fali RENEWAL
Greenwood X WieserFranceIvan Magalhaes UNQUALIFIED
Emily Y FollerItalyIoni Bowcher RENEWAL
Faith M FigeroaArgentinaXuxue Feng NEW
Frozen Columns
Name
James Y Dilliard
Clifford X Saylors
Munro S Waycott
Francesco R Waycott
Costa I Gillian
Jefferson H Waycott
David D Campain
Ivar Z Venere
Silvio T Slusarski
Juan Y Figeroa
Stacey F Waycott
Jones Y Nicka
James U Slusarski
Aika F Butt
Jeanfrancois J Rim
Murillo T Stockham
Alejandro J Glick
Stacey P Darakjy
Jones D Stenseth
Mayumi I Vocelka
Aditya T Morasca
Jones S Perin
Cody C Campain
Mujtaba L Poquette
Mujtaba H Tollner
Maisha M Iturbide
Octavia B Stockham
Octavia Y Stenseth
Octavia P Rulapaugh
Greenwood M Perin
Greenwood M Ostrosky
Costa A Oldroyd
Jones P Vocelka
Antonio Y Rim
Octavia O Perin
David H Albares
Maria Q Stenseth
Chavez H Bolognia
Isabel H Stockham
Deepesh U Nicka
Silvio R Albares
Chavez J Morasca
Leja P Kusko
Leja A Tollner
Tony V Iturbide
Claire R Foller
Smith M Maclead
Claire F Oldroyd
Faith S Doe
Costa N Royster
IdCountryDate
1000United Kingdom2024-06-20
1001Italy2024-06-03
1002France2024-06-07
1003United Kingdom2024-06-19
1004Canada2024-06-24
1005Spain2024-05-26
1006Spain2024-06-23
1007Australia2024-06-04
1008Canada2024-06-13
1009Spain2024-06-04
1010Japan2024-06-17
1011France2024-05-28
1012Spain2024-06-03
1013India2024-06-21
1014France2024-06-02
1015Argentina2024-06-22
1016Australia2024-06-14
1017Japan2024-06-03
1018Argentina2024-06-06
1019Italy2024-05-28
1020India2024-06-10
1021France2024-06-17
1022Canada2024-06-02
1023Argentina2024-06-23
1024Spain2024-06-15
1025Russia2024-06-04
1026France2024-05-26
1027United Kingdom2024-05-28
1028United Kingdom2024-06-16
1029Russia2024-06-03
1030United Kingdom2024-05-30
1031Italy2024-06-19
1032Australia2024-06-06
1033France2024-06-09
1034France2024-06-09
1035India2024-06-22
1036Australia2024-06-16
1037Italy2024-05-27
1038Argentina2024-06-23
1039Russia2024-06-24
1040Canada2024-06-04
1041Italy2024-06-09
1042India2024-06-04
1043Brazil2024-06-15
1044Argentina2024-06-22
1045Germany2024-06-17
1046France2024-06-15
1047Germany2024-06-09
1048Russia2024-06-19
1049Russia2024-06-12

On-Demand Data

NameIdCountryDate
Ricardo D Chui1000Canada2024-06-01
Wickens X Perin1001France2024-06-12
Jefferson I Kolmetz1002Argentina2024-06-04
Tony O Bowley1003Canada2024-06-21
Jefferson T Oldroyd1004Spain2024-06-23
Morrow M Chui1005France2024-06-17
Alejandro W Perin1006Italy2024-06-08
Arvin E Venere1007United Kingdom2024-06-02
Jeanfrancois D Gaucho1008Russia2024-06-02
Costa I Ostrosky1009Spain2024-06-17
Munro L Maclead1010United Kingdom2024-06-06
Juan V Amigon1011Brazil2024-06-01
Cody K Chui1012United Kingdom2024-06-21
Jones D Iturbide1013Italy2024-06-19
Izzy S Stockham1014Japan2024-06-09
Maria Q Butt1015Russia2024-06-05
Maria S Figeroa1016Canada2024-06-19
Silvio G Nestle1017France2024-05-27
Aditya I Ostrosky1018Brazil2024-06-18
Ricardo A Kusko1019Japan2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith W FigeroaGermanyXuxue Feng NEGOTIATION
Aruna L BowleyItalyElwin Sharvill NEW
Mayumi M NestleItalyOnyama Limba QUALIFIED
Smith D KolmetzBrazilElwin Sharvill NEGOTIATION
Kadeem J CaudyBrazilStephen Shaw UNQUALIFIED
Jeanfrancois L FigeroaArgentinaXuxue Feng QUALIFIED
Aruna J ChuiSpainOnyama Limba RENEWAL
Clifford R BriddickSpainOnyama Limba QUALIFIED
Misaki N NickaArgentinaAsiya Javayant UNQUALIFIED
Aruna O SaylorsJapanOnyama Limba UNQUALIFIED
Murillo C SchemmerItalyXuxue Feng PROPOSAL
Munro I BowleyItalyIvan Magalhaes QUALIFIED
Julie D MarrierRussiaXuxue Feng RENEWAL
Claire H SergiGermanyAsiya Javayant PROPOSAL
Maisha F KolmetzIndiaAnna Fali RENEWAL
James T SaylorsBrazilAsiya Javayant PROPOSAL
Silvio P BologniaSpainElwin Sharvill NEW
Smith X WaycottSpainAsiya Javayant QUALIFIED
Izzy Z StensethJapanAmy Elsner PROPOSAL
Maria L StensethSpainOnyama Limba NEW
Leon M DilliardItalyAmy Elsner QUALIFIED
Aditya W MaletSpainOnyama Limba RENEWAL
Antonio S MarrierArgentinaIvan Magalhaes UNQUALIFIED
Wickens O SergiGermanyOnyama Limba UNQUALIFIED
Kaitlin E SaylorsBrazilIoni Bowcher NEGOTIATION
James U WaycottCanadaAsiya Javayant NEGOTIATION
Ivar Q OldroydRussiaIvan Magalhaes NEW
Aika Q KuskoItalyAmy Elsner UNQUALIFIED
David C KuskoJapanAsiya Javayant NEGOTIATION
Antonio V MacleadGermanyStephen Shaw NEGOTIATION
Julie C CaudyBrazilIoni Bowcher QUALIFIED
Leja N GauchoCanadaAsiya Javayant NEW
Izzy N BriddickArgentinaAmy Elsner UNQUALIFIED
Costa Q BowleyBrazilAnna Fali RENEWAL
Greenwood N BriddickJapanIoni Bowcher PROPOSAL
Misaki B GauchoUnited KingdomStephen Shaw QUALIFIED
Octavia A DoeSpainIvan Magalhaes RENEWAL
Clifford Z FerenczItalyOnyama Limba QUALIFIED
Isabel H DarakjyItalyAnna Fali NEGOTIATION
Mujtaba K GillianUnited KingdomAsiya Javayant NEW

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