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
Misaki W GillianRussiaStephen Shaw PROPOSAL
James U RimBrazilAmy Elsner NEW
Mayumi O BologniaSpainAsiya Javayant UNQUALIFIED
Isabel G FollerBrazilAmy Elsner QUALIFIED
Wickens K GlickRussiaXuxue Feng QUALIFIED
Leon D DarakjyBrazilElwin Sharvill NEGOTIATION
Silvio K MorascaAustraliaAnna Fali NEW
Leon X BriddickBrazilOnyama Limba PROPOSAL
Cody Y StensethIndiaAnna Fali NEW
Smith T IturbideJapanAnna Fali UNQUALIFIED
Arvin O ButtIndiaBernardo Dominic NEW
Costa X ChuiAustraliaOnyama Limba QUALIFIED
Mayumi R FlosiAustraliaBernardo Dominic PROPOSAL
Kaitlin K SlusarskiJapanAsiya Javayant QUALIFIED
Munro J FollerIndiaElwin Sharvill RENEWAL
Octavia K AlbaresUnited KingdomAnna Fali RENEWAL
Smith W BologniaBrazilAnna Fali UNQUALIFIED
Nicolas W ChuiItalyIvan Magalhaes UNQUALIFIED
Smith F TollnerIndiaStephen Shaw QUALIFIED
Antonio W RulapaughAustraliaStephen Shaw NEW
Sinclair A SaylorsJapanOnyama Limba QUALIFIED
Ashley Z StensethItalyAmy Elsner NEW
Antonio G PoquetteSpainAmy Elsner PROPOSAL
Jennifer W KuskoUnited KingdomAmy Elsner UNQUALIFIED
Faith K SlusarskiSpainIvan Magalhaes UNQUALIFIED
Julie G SaylorsIndiaIvan Magalhaes PROPOSAL
Claire G StockhamFranceAnna Fali UNQUALIFIED
Morrow D GillianFranceAsiya Javayant UNQUALIFIED
Jennifer W KuskoUnited KingdomAmy Elsner RENEWAL
Maisha I FlosiSpainBernardo Dominic QUALIFIED
Leja Q InouyeRussiaAsiya Javayant QUALIFIED
Aika X AlbaresSpainAnna Fali PROPOSAL
Chavez P MacleadBrazilAmy Elsner NEGOTIATION
Izzy S BowleyCanadaElwin Sharvill PROPOSAL
Darci Z FollerAustraliaAmy Elsner NEW
Costa U CaldareraAustraliaStephen Shaw PROPOSAL
Leja T WaycottCanadaAsiya Javayant QUALIFIED
Jones H StensethRussiaAmy Elsner PROPOSAL
Jones L WaycottGermanyElwin Sharvill RENEWAL
Stacey D CaudyRussiaBernardo Dominic NEGOTIATION
Jones F CaudyIndiaXuxue Feng NEW
Rodrigues X NestleArgentinaStephen Shaw NEW
Costa K SchemmerRussiaIoni Bowcher NEGOTIATION
Alejandro M VenereUnited KingdomElwin Sharvill UNQUALIFIED
Murillo Y CampainAustraliaAnna Fali NEGOTIATION
Salvatore S WhobreyGermanyIoni Bowcher QUALIFIED
David D BowleyAustraliaStephen Shaw PROPOSAL
Aruna Q PerinArgentinaElwin Sharvill QUALIFIED
Octavia H FollerJapanAnna Fali QUALIFIED
David U GauchoItalyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Cody X BologniaArgentinaElwin Sharvill UNQUALIFIED
Sinclair V CampainSpainBernardo Dominic UNQUALIFIED
Salvatore N KuskoBrazilAnna Fali NEGOTIATION
Maisha E SergiAustraliaIoni Bowcher NEW
Clifford K BriddickItalyAnna Fali UNQUALIFIED
Johnson R CaldareraItalyAmy Elsner PROPOSAL
Maria M GarufiFranceIvan Magalhaes PROPOSAL
Mayumi J RutaGermanyBernardo Dominic RENEWAL
Rodrigues B AmigonUnited KingdomXuxue Feng PROPOSAL
Claire J WaycottIndiaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony U BologniaBrazil2024-06-19Benton, John B Jr NEGOTIATION57Stephen Shaw
1001Ricardo Z OldroydItaly2024-05-28Rangoni Of Florence NEGOTIATION46Xuxue Feng
1002Deepesh F GlickArgentina2024-06-07Chemel, James L Cpa UNQUALIFIED38Bernardo Dominic
1003Octavia X FollerGermany2024-06-21Chapman, Ross E Esq QUALIFIED22Elwin Sharvill
1004Greenwood W GarufiCanada2024-06-01Commercial Press QUALIFIED37Stephen Shaw
1005Faith B BologniaArgentina2024-06-20Chemel, James L Cpa NEW4Xuxue Feng
1006Leon N RimUnited Kingdom2024-05-27Chapman, Ross E Esq RENEWAL63Ivan Magalhaes
1007David M KuskoItaly2024-06-19Commercial Press RENEWAL83Anna Fali
1008Jones B RulapaughAustralia2024-06-19Dorl, James J Esq QUALIFIED26Ioni Bowcher
1009Rodrigues K VocelkaItaly2024-06-08Rangoni Of Florence UNQUALIFIED98Amy Elsner
1010Silvio N SlusarskiJapan2024-06-06Chanay, Jeffrey A Esq NEW2Elwin Sharvill
1011Adams E TollnerFrance2024-06-01Morlong Associates RENEWAL57Asiya Javayant
1012David Q PaprockiGermany2024-05-27Benton, John B Jr PROPOSAL81Asiya Javayant
1013Faith N ChuiUnited Kingdom2024-06-13Chemel, James L Cpa NEGOTIATION53Bernardo Dominic
1014Aditya C WaycottItaly2024-06-15King, Christopher A Esq QUALIFIED26Amy Elsner
1015Francesco Y WhobreyBrazil2024-06-15Chanay, Jeffrey A Esq RENEWAL77Bernardo Dominic
1016Juan H CaldareraAustralia2024-06-17Buckley Miller Wright RENEWAL63Xuxue Feng
1017Adams S FollerIndia2024-05-29Commercial Press UNQUALIFIED30Ioni Bowcher
1018Juan B RimGermany2024-06-19Benton, John B Jr UNQUALIFIED34Onyama Limba
1019Tony L StensethCanada2024-06-01Morlong Associates UNQUALIFIED10Elwin Sharvill
1020Chavez K RulapaughRussia2024-06-08Morlong Associates UNQUALIFIED36Elwin Sharvill
1021Costa T OstroskyItaly2024-06-21Dorl, James J Esq PROPOSAL81Ivan Magalhaes
1022Izzy U BowleyUnited Kingdom2024-06-19Benton, John B Jr NEW12Amy Elsner
1023Antonio R RutaAustralia2024-06-01Rangoni Of Florence NEW66Bernardo Dominic
1024Antonio P RutaUnited Kingdom2024-06-19Rangoni Of Florence UNQUALIFIED83Elwin Sharvill
1025Octavia I GauchoJapan2024-05-31Truhlar And Truhlar Attys PROPOSAL94Stephen Shaw
1026Kadeem Q CaudyFrance2024-06-15Chapman, Ross E Esq NEW78Elwin Sharvill
1027Darci X OldroydCanada2024-05-30King, Christopher A Esq QUALIFIED68Bernardo Dominic
1028Cody K StockhamItaly2024-05-26Chemel, James L Cpa NEW22Anna Fali
1029Ivar V RimAustralia2024-06-22Commercial Press NEGOTIATION9Amy Elsner
1030Adams V KuskoCanada2024-05-31Morlong Associates UNQUALIFIED56Asiya Javayant
1031Adams D MorascaArgentina2024-06-20Commercial Press NEGOTIATION11Anna Fali
1032Rodrigues O AmigonFrance2024-06-11Benton, John B Jr UNQUALIFIED49Onyama Limba
1033Isabel M RulapaughCanada2024-06-17King, Christopher A Esq PROPOSAL80Xuxue Feng
1034Octavia U InouyeIndia2024-06-19Commercial Press QUALIFIED5Elwin Sharvill
1035Maria P KolmetzUnited Kingdom2024-06-17King, Christopher A Esq QUALIFIED61Ioni Bowcher
1036Chavez Z IturbideGermany2024-05-29Rousseaux, Michael Esq PROPOSAL15Amy Elsner
1037Izzy P MacleadJapan2024-06-06King, Christopher A Esq RENEWAL30Amy Elsner
1038Aditya R PoquetteCanada2024-06-02Dorl, James J Esq NEGOTIATION88Onyama Limba
1039Nicolas B CampainUnited Kingdom2024-06-24King, Christopher A Esq RENEWAL56Anna Fali
1040Aditya G SchemmerCanada2024-06-05Morlong Associates NEGOTIATION55Onyama Limba
1041Stacey L GauchoArgentina2024-06-10Feiner Bros QUALIFIED40Elwin Sharvill
1042Silvio S ButtIndia2024-05-31Feltz Printing Service QUALIFIED65Anna Fali
1043Antonio U KuskoUnited Kingdom2024-06-20Feiner Bros QUALIFIED54Anna Fali
1044Arvin A PerinGermany2024-06-14Rangoni Of Florence QUALIFIED13Ivan Magalhaes
1045Jefferson E RutaBrazil2024-06-24Rousseaux, Michael Esq QUALIFIED14Ioni Bowcher
1046Kadeem Q KuskoRussia2024-06-04Chanay, Jeffrey A Esq QUALIFIED38Amy Elsner
1047Greenwood B ChuiSpain2024-06-04Dorl, James J Esq NEGOTIATION61Xuxue Feng
1048Chavez E DarakjyUnited Kingdom2024-06-19Buckley Miller Wright RENEWAL56Asiya Javayant
1049Salvatore R ChuiUnited Kingdom2024-05-31Printing Dimensions NEGOTIATION29Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Sinclair K TollnerGermanyElwin Sharvill UNQUALIFIED
Tony E AlbaresItalyIvan Magalhaes QUALIFIED
Maria V FerenczArgentinaBernardo Dominic QUALIFIED
James P DilliardArgentinaAmy Elsner RENEWAL
Chavez O VenereFranceAnna Fali RENEWAL
Mujtaba H PerinRussiaBernardo Dominic PROPOSAL
Arvin U PaprockiIndiaElwin Sharvill UNQUALIFIED
Leja E RimSpainAnna Fali QUALIFIED
Aruna B GarufiSpainIvan Magalhaes PROPOSAL
Greenwood D DarakjyArgentinaAsiya Javayant UNQUALIFIED
Sinclair Y RulapaughAustraliaElwin Sharvill NEW
Maria X MarrierJapanBernardo Dominic UNQUALIFIED
Izzy K NestleIndiaIvan Magalhaes NEGOTIATION
Clifford B RoysterArgentinaAmy Elsner NEGOTIATION
Darci A StensethIndiaIoni Bowcher PROPOSAL
Mujtaba C SergiJapanOnyama Limba NEGOTIATION
Misaki R NestleRussiaIoni Bowcher NEGOTIATION
Ivar Y CaudyBrazilAnna Fali PROPOSAL
Faith C StockhamAustraliaOnyama Limba RENEWAL
Deepesh X SergiFranceXuxue Feng PROPOSAL
Aika F SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Maisha X WieserArgentinaXuxue Feng UNQUALIFIED
Leja E FigeroaCanadaAmy Elsner NEGOTIATION
Octavia J ButtAustraliaAsiya Javayant RENEWAL
Nicolas S RimFranceAnna Fali QUALIFIED
Antonio L KuskoAustraliaOnyama Limba NEW
Salvatore C FollerJapanAnna Fali RENEWAL
Aruna Q ChuiItalyBernardo Dominic QUALIFIED
Silvio G MorascaIndiaAsiya Javayant NEW
Costa N CaudyBrazilIvan Magalhaes UNQUALIFIED
Juan X FigeroaRussiaIvan Magalhaes NEGOTIATION
Aruna V AlbaresSpainElwin Sharvill NEGOTIATION
Antonio E MarrierBrazilOnyama Limba UNQUALIFIED
Darci K FigeroaRussiaIvan Magalhaes NEGOTIATION
Kaitlin G MaletBrazilAmy Elsner NEW
Arvin D RoysterRussiaStephen Shaw NEGOTIATION
Izzy R StockhamJapanIoni Bowcher PROPOSAL
Misaki H FerenczRussiaAsiya Javayant UNQUALIFIED
Johnson Z GauchoCanadaAmy Elsner UNQUALIFIED
Jones F VenereUnited KingdomAsiya Javayant NEW
Mujtaba M MaletBrazilAsiya Javayant UNQUALIFIED
Aruna Y MarrierItalyXuxue Feng RENEWAL
Adams S SergiItalyElwin Sharvill PROPOSAL
James E SaylorsJapanElwin Sharvill QUALIFIED
Juan K BowleySpainIoni Bowcher UNQUALIFIED
Faith A DoeUnited KingdomIvan Magalhaes RENEWAL
Jones R StensethSpainAmy Elsner NEW
Octavia Y SaylorsSpainBernardo Dominic NEGOTIATION
Costa N ChuiUnited KingdomXuxue Feng QUALIFIED
Francesco F MaletCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Nicolas N Ferencz
Octavia D Nestle
Misaki E Ostrosky
Darci T Rulapaugh
Ivar L Wieser
Mayumi D Royster
Antonio T Perin
James K Rim
Octavia G Whobrey
Silvio C Dilliard
Jeanfrancois F Saylors
Rodrigues Z Caudy
Claire G Darakjy
Munro S Malet
Ashley K Chui
Maisha Z Sergi
Izzy U Nicka
Silvio X Poquette
Ashley W Briddick
Maria R Stockham
Francesco S Gaucho
Johnson C Gaucho
Wickens H Schemmer
Misaki O Bolognia
Jennifer Y Dilliard
Leja H Flosi
Ashley Z Dilliard
Smith M Rim
Faith D Marrier
Chavez W Royster
Emily S Nestle
Leja Z Stockham
Costa A Malet
Ivar C Schemmer
Darci D Venere
Darci U Malet
Leja L Glick
Salvatore N Caudy
Salvatore Z Caldarera
Jeanfrancois E Ruta
Octavia P Albares
Kadeem Z Oldroyd
Tony X Flosi
Aruna C Ostrosky
Misaki G Tollner
Murillo C Iturbide
Julie W Figeroa
Octavia F Rim
Misaki R Oldroyd
Wickens V Campain
IdCountryDate
1000Brazil2024-06-05
1001Germany2024-06-17
1002France2024-06-08
1003Brazil2024-06-10
1004Japan2024-06-22
1005France2024-06-04
1006India2024-06-03
1007Argentina2024-06-06
1008India2024-05-27
1009France2024-06-20
1010Spain2024-06-07
1011Spain2024-06-04
1012Germany2024-06-07
1013Australia2024-06-01
1014Argentina2024-06-10
1015Argentina2024-06-05
1016Italy2024-05-29
1017Argentina2024-06-19
1018India2024-05-27
1019India2024-06-10
1020Italy2024-06-02
1021Germany2024-05-28
1022Australia2024-05-27
1023Germany2024-06-03
1024Argentina2024-06-18
1025Russia2024-06-24
1026Australia2024-06-11
1027India2024-06-20
1028India2024-06-10
1029United Kingdom2024-05-29
1030Canada2024-06-05
1031Russia2024-06-15
1032United Kingdom2024-06-23
1033Australia2024-06-21
1034United Kingdom2024-05-30
1035Japan2024-05-27
1036Japan2024-06-14
1037Argentina2024-06-03
1038Canada2024-06-10
1039United Kingdom2024-06-19
1040Canada2024-06-03
1041Argentina2024-06-04
1042Brazil2024-06-23
1043United Kingdom2024-06-08
1044Brazil2024-06-04
1045France2024-06-10
1046Australia2024-06-08
1047Spain2024-05-28
1048Canada2024-06-01
1049Spain2024-06-09

On-Demand Data

NameIdCountryDate
James X Rulapaugh1000France2024-06-03
Murillo Y Bowley1001France2024-06-14
Ivar E Figeroa1002Germany2024-06-03
Emily Z Inouye1003India2024-06-16
Darci V Perin1004Brazil2024-05-30
Juan Z Garufi1005Germany2024-05-26
Clifford R Malet1006Canada2024-06-15
Alejandro I Gillian1007Italy2024-06-09
Greenwood P Malet1008United Kingdom2024-06-21
Jefferson V Figeroa1009Australia2024-06-04
Alejandro S Maclead1010France2024-06-11
Sinclair F Poquette1011Russia2024-06-18
Jefferson D Dilliard1012India2024-06-21
Rodrigues U Waycott1013France2024-06-12
Faith P Malet1014Russia2024-05-27
Nicolas I Kolmetz1015Japan2024-05-28
Johnson K Saylors1016Argentina2024-05-29
Chavez M Saylors1017Argentina2024-06-08
Mayumi M Tollner1018Canada2024-05-28
Faith B Bowley1019Japan2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David M FollerItalyElwin Sharvill UNQUALIFIED
Julie I StensethRussiaAsiya Javayant NEW
Chavez O RutaJapanIvan Magalhaes QUALIFIED
Leja O VenereSpainStephen Shaw RENEWAL
Greenwood C GarufiGermanyAmy Elsner PROPOSAL
Sinclair K PaprockiUnited KingdomIoni Bowcher QUALIFIED
Julie A KolmetzItalyAmy Elsner QUALIFIED
Stacey Y MorascaUnited KingdomAmy Elsner NEW
Octavia G ButtAustraliaXuxue Feng NEGOTIATION
Aika R NestleGermanyElwin Sharvill UNQUALIFIED
Tony K WieserRussiaXuxue Feng RENEWAL
Leja W OstroskyArgentinaAsiya Javayant UNQUALIFIED
Misaki J KuskoSpainIoni Bowcher NEGOTIATION
Mujtaba R RoysterFranceElwin Sharvill RENEWAL
Antonio G GarufiBrazilXuxue Feng NEW
Ashley Z RoysterFranceOnyama Limba NEW
David X StockhamBrazilStephen Shaw RENEWAL
Claire U AmigonCanadaBernardo Dominic RENEWAL
Izzy T RimAustraliaStephen Shaw NEW
Murillo Q ChuiGermanyAmy Elsner UNQUALIFIED
Jennifer V FerenczIndiaOnyama Limba QUALIFIED
Jones X MaletUnited KingdomAnna Fali UNQUALIFIED
Salvatore S RutaIndiaBernardo Dominic NEW
Ivar A VocelkaJapanOnyama Limba UNQUALIFIED
Smith Q WieserSpainIoni Bowcher PROPOSAL
Maria A RulapaughAustraliaElwin Sharvill RENEWAL
Chavez M PoquetteRussiaIoni Bowcher UNQUALIFIED
Maria H GarufiJapanAsiya Javayant RENEWAL
Ivar X WhobreyJapanBernardo Dominic UNQUALIFIED
David F GarufiBrazilElwin Sharvill PROPOSAL
Stacey M VocelkaUnited KingdomAsiya Javayant PROPOSAL
Stacey K AlbaresGermanyElwin Sharvill NEW
Aika D GauchoRussiaBernardo Dominic NEW
Kaitlin Z SergiSpainIoni Bowcher QUALIFIED
Kaitlin O PerinAustraliaIvan Magalhaes PROPOSAL
Antonio I MaletCanadaElwin Sharvill RENEWAL
Alejandro B BowleySpainAsiya Javayant PROPOSAL
Salvatore A SergiFranceAmy Elsner UNQUALIFIED
Mayumi V FlosiAustraliaAnna Fali NEGOTIATION
Clifford U FollerIndiaBernardo Dominic 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>