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 J FerenczAustraliaIvan Magalhaes UNQUALIFIED
Salvatore M WaycottSpainOnyama Limba RENEWAL
Chavez J ChuiAustraliaElwin Sharvill NEGOTIATION
Wickens L SaylorsJapanAsiya Javayant NEGOTIATION
Rodrigues T MorascaFranceStephen Shaw RENEWAL
Silvio J MaletCanadaStephen Shaw PROPOSAL
Arvin A MarrierBrazilBernardo Dominic RENEWAL
Nicolas F PoquetteIndiaBernardo Dominic NEW
Mayumi U FerenczBrazilIvan Magalhaes NEW
Claire L MarrierItalyAnna Fali NEGOTIATION
Jefferson J FlosiFranceAsiya Javayant NEW
Mayumi M FigeroaUnited KingdomStephen Shaw NEW
Arvin P ChuiIndiaOnyama Limba NEW
David I PerinIndiaBernardo Dominic RENEWAL
Rodrigues V PaprockiBrazilElwin Sharvill NEGOTIATION
Clifford N RulapaughRussiaBernardo Dominic QUALIFIED
Aika F NestleArgentinaAnna Fali PROPOSAL
Claire I VocelkaGermanyAnna Fali PROPOSAL
Arvin Z SchemmerJapanIoni Bowcher RENEWAL
Emily R RimJapanIoni Bowcher QUALIFIED
Jeanfrancois B WieserSpainAmy Elsner RENEWAL
Tony Q DoeGermanyAsiya Javayant UNQUALIFIED
Aditya U GarufiUnited KingdomElwin Sharvill QUALIFIED
Leja K GarufiGermanyIvan Magalhaes NEW
Johnson A GillianFranceAmy Elsner NEW
Aruna J ShinkoRussiaBernardo Dominic QUALIFIED
Murillo K TollnerIndiaXuxue Feng RENEWAL
Tony V TollnerUnited KingdomAnna Fali RENEWAL
Smith I VenereRussiaIoni Bowcher RENEWAL
Wickens Y KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Maisha Z SergiIndiaAnna Fali NEW
Leon X DarakjyArgentinaIvan Magalhaes QUALIFIED
Silvio P MacleadGermanyIoni Bowcher RENEWAL
Arvin U SlusarskiAustraliaOnyama Limba UNQUALIFIED
Juan W InouyeAustraliaIoni Bowcher RENEWAL
Emily S FerenczFranceXuxue Feng RENEWAL
Octavia D MaletJapanIoni Bowcher NEGOTIATION
Jennifer S TollnerIndiaStephen Shaw PROPOSAL
Aditya R KolmetzBrazilXuxue Feng QUALIFIED
Aruna V FigeroaArgentinaBernardo Dominic PROPOSAL
Johnson Y DarakjyJapanStephen Shaw NEGOTIATION
Kadeem J NestleIndiaIoni Bowcher NEGOTIATION
Morrow G WaycottSpainXuxue Feng RENEWAL
James I FlosiArgentinaXuxue Feng RENEWAL
Aruna X GarufiJapanXuxue Feng NEW
Francesco N GlickGermanyIoni Bowcher RENEWAL
Jennifer Q MacleadUnited KingdomAnna Fali UNQUALIFIED
Maria V BriddickIndiaAsiya Javayant NEW
Kadeem F RutaItalyAmy Elsner QUALIFIED
Morrow L TollnerRussiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki Q GlickAustraliaIvan Magalhaes NEW
Adams Y MarrierItalyAmy Elsner UNQUALIFIED
Julie F ChuiFranceAnna Fali NEW
Wickens C ChuiUnited KingdomAmy Elsner PROPOSAL
Jefferson I DilliardJapanXuxue Feng RENEWAL
Leon K FigeroaArgentinaXuxue Feng RENEWAL
Jefferson W DilliardArgentinaElwin Sharvill QUALIFIED
Chavez U FerenczIndiaStephen Shaw QUALIFIED
Ricardo D PaprockiUnited KingdomAnna Fali QUALIFIED
Aditya S GlickRussiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin A RutaCanada2024-08-23Chemel, James L Cpa PROPOSAL85Amy Elsner
1001Sinclair G VenereAustralia2024-08-26Morlong Associates QUALIFIED58Anna Fali
1002Alejandro J InouyeItaly2024-09-08Benton, John B Jr NEW71Xuxue Feng
1003Chavez O RutaArgentina2024-09-16Rangoni Of Florence PROPOSAL23Ivan Magalhaes
1004Julie I MacleadUnited Kingdom2024-08-29Commercial Press QUALIFIED27Amy Elsner
1005Jefferson N StensethCanada2024-09-15Rousseaux, Michael Esq QUALIFIED36Asiya Javayant
1006Maria L MorascaCanada2024-08-29Truhlar And Truhlar Attys QUALIFIED38Ivan Magalhaes
1007Johnson O VenereSpain2024-08-31Feltz Printing Service NEGOTIATION87Onyama Limba
1008Ivar A MorascaItaly2024-09-12Rousseaux, Michael Esq PROPOSAL87Bernardo Dominic
1009Clifford D BriddickJapan2024-09-10King, Christopher A Esq NEGOTIATION58Xuxue Feng
1010Kadeem N CampainUnited Kingdom2024-09-19Commercial Press PROPOSAL99Amy Elsner
1011Jefferson X InouyeBrazil2024-09-10Dorl, James J Esq UNQUALIFIED9Asiya Javayant
1012Smith C ButtJapan2024-09-13Chapman, Ross E Esq NEW8Stephen Shaw
1013Mujtaba U CaldareraRussia2024-09-05Chemel, James L Cpa RENEWAL65Ivan Magalhaes
1014Deepesh N BriddickGermany2024-09-13Chapman, Ross E Esq RENEWAL25Elwin Sharvill
1015Izzy K PaprockiUnited Kingdom2024-09-18Rangoni Of Florence NEGOTIATION89Onyama Limba
1016Tony O MorascaRussia2024-09-16Chanay, Jeffrey A Esq PROPOSAL56Anna Fali
1017Tony V SchemmerCanada2024-09-04Commercial Press PROPOSAL66Onyama Limba
1018Aditya C StockhamItaly2024-08-22Benton, John B Jr NEGOTIATION80Ivan Magalhaes
1019Johnson E MacleadRussia2024-08-21Chemel, James L Cpa PROPOSAL84Ivan Magalhaes
1020Deepesh Y VocelkaJapan2024-09-16Rousseaux, Michael Esq NEGOTIATION36Anna Fali
1021Clifford E MarrierArgentina2024-09-13Commercial Press NEGOTIATION60Ivan Magalhaes
1022Francesco F PoquetteBrazil2024-08-27Commercial Press QUALIFIED76Ioni Bowcher
1023Tony P BowleyArgentina2024-09-08Morlong Associates QUALIFIED14Onyama Limba
1024Isabel K FerenczUnited Kingdom2024-08-30Morlong Associates NEW46Ivan Magalhaes
1025Sinclair M CampainSpain2024-08-23Feiner Bros RENEWAL19Elwin Sharvill
1026Francesco Z CampainIndia2024-08-31Feiner Bros PROPOSAL14Bernardo Dominic
1027Greenwood L RoysterCanada2024-09-15Truhlar And Truhlar Attys UNQUALIFIED52Bernardo Dominic
1028Ashley V FigeroaBrazil2024-09-08Printing Dimensions NEW16Xuxue Feng
1029Rodrigues J GarufiIndia2024-08-24Rangoni Of Florence UNQUALIFIED47Asiya Javayant
1030Jones H BriddickRussia2024-09-03Truhlar And Truhlar Attys RENEWAL33Xuxue Feng
1031Greenwood X FigeroaGermany2024-08-22Chemel, James L Cpa NEW14Ivan Magalhaes
1032Morrow X GillianCanada2024-08-24Chemel, James L Cpa NEGOTIATION29Onyama Limba
1033Johnson F NestleIndia2024-08-26King, Christopher A Esq UNQUALIFIED41Elwin Sharvill
1034Kaitlin T DilliardRussia2024-09-19Commercial Press NEW61Ioni Bowcher
1035Wickens X MacleadIndia2024-09-18King, Christopher A Esq RENEWAL9Xuxue Feng
1036Kaitlin S VocelkaUnited Kingdom2024-09-12Chemel, James L Cpa UNQUALIFIED2Onyama Limba
1037Mujtaba G SergiGermany2024-09-08Chemel, James L Cpa QUALIFIED90Amy Elsner
1038Wickens Z ShinkoRussia2024-09-04Truhlar And Truhlar Attys PROPOSAL35Onyama Limba
1039Aika C MorascaRussia2024-08-31Dorl, James J Esq QUALIFIED68Xuxue Feng
1040Greenwood L BowleyArgentina2024-09-06Rousseaux, Michael Esq NEW66Anna Fali
1041Cody E ChuiCanada2024-08-31Truhlar And Truhlar Attys NEW46Amy Elsner
1042Salvatore N GarufiBrazil2024-08-26Buckley Miller Wright UNQUALIFIED47Anna Fali
1043Clifford A IturbideAustralia2024-09-09Chanay, Jeffrey A Esq UNQUALIFIED47Elwin Sharvill
1044Emily P VenereRussia2024-09-13Rousseaux, Michael Esq NEGOTIATION42Stephen Shaw
1045Maria Q CaldareraJapan2024-08-31King, Christopher A Esq QUALIFIED53Ivan Magalhaes
1046Jeanfrancois G TollnerArgentina2024-08-24Feiner Bros RENEWAL5Ivan Magalhaes
1047Leja N TollnerIndia2024-09-16Printing Dimensions PROPOSAL42Ioni Bowcher
1048Nicolas U DarakjyJapan2024-09-08Feltz Printing Service PROPOSAL89Ivan Magalhaes
1049Izzy F BowleyCanada2024-08-22Rousseaux, Michael Esq QUALIFIED59Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan H MaletItalyStephen Shaw NEGOTIATION
Rodrigues P CaldareraAustraliaStephen Shaw PROPOSAL
Jennifer K FigeroaGermanyStephen Shaw QUALIFIED
Ivar E SchemmerJapanBernardo Dominic NEW
Aruna P MacleadSpainOnyama Limba NEW
Aruna L PaprockiSpainAmy Elsner NEGOTIATION
Wickens G MorascaAustraliaOnyama Limba NEGOTIATION
Darci H PaprockiGermanyIoni Bowcher NEW
Jefferson N ButtJapanIvan Magalhaes NEGOTIATION
Munro E VenereAustraliaAnna Fali NEGOTIATION
Aika K MaletArgentinaIoni Bowcher QUALIFIED
Sinclair L StockhamAustraliaAmy Elsner UNQUALIFIED
Octavia C WhobreyFranceIvan Magalhaes PROPOSAL
Isabel F FlosiGermanyStephen Shaw NEGOTIATION
Mayumi F FlosiUnited KingdomAsiya Javayant NEW
Aika Y KuskoRussiaIvan Magalhaes QUALIFIED
Francesco S SaylorsBrazilElwin Sharvill NEGOTIATION
Mujtaba J PaprockiJapanXuxue Feng PROPOSAL
James D GlickFranceElwin Sharvill QUALIFIED
Antonio N MacleadRussiaIoni Bowcher NEW
Leon B BriddickFranceXuxue Feng NEW
Ashley N KuskoCanadaIvan Magalhaes QUALIFIED
Maisha Y WieserSpainElwin Sharvill RENEWAL
Wickens Q GarufiCanadaIoni Bowcher RENEWAL
Cody X ButtArgentinaElwin Sharvill RENEWAL
Darci R MaletAustraliaIoni Bowcher NEGOTIATION
Ricardo Y CaudyCanadaAsiya Javayant QUALIFIED
Maria P RulapaughGermanyIvan Magalhaes QUALIFIED
Johnson R BriddickItalyXuxue Feng UNQUALIFIED
Mujtaba E FerenczBrazilOnyama Limba NEGOTIATION
Cody R GlickBrazilAmy Elsner NEGOTIATION
Jeanfrancois A ButtCanadaAnna Fali QUALIFIED
Clifford J SergiAustraliaIoni Bowcher NEW
Misaki A BologniaArgentinaIvan Magalhaes PROPOSAL
Maria Z AmigonRussiaElwin Sharvill RENEWAL
Julie T FigeroaJapanBernardo Dominic UNQUALIFIED
Deepesh B CaudyUnited KingdomBernardo Dominic QUALIFIED
Salvatore O GlickBrazilXuxue Feng NEW
Leja F CaudyBrazilAsiya Javayant NEGOTIATION
Johnson Y NickaSpainElwin Sharvill NEW
Salvatore Q PoquetteBrazilXuxue Feng NEW
Salvatore V IturbideArgentinaAnna Fali NEW
Izzy L GarufiCanadaOnyama Limba UNQUALIFIED
Misaki H ButtRussiaIoni Bowcher RENEWAL
Aika S BowleyRussiaXuxue Feng NEGOTIATION
Jefferson P DilliardGermanyElwin Sharvill RENEWAL
Misaki K CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Julie D ButtArgentinaStephen Shaw NEGOTIATION
Murillo D KuskoArgentinaOnyama Limba RENEWAL
Antonio G BologniaCanadaXuxue Feng NEW
Frozen Columns
Name
Cody P Stenseth
James S Amigon
Wickens I Campain
Salvatore K Foller
Francesco K Rulapaugh
Johnson F Doe
Leja I Waycott
Tony C Nicka
Jones D Royster
Aika E Caldarera
Izzy I Wieser
Mayumi Z Schemmer
Faith Q Stockham
Ashley A Butt
Kadeem C Dilliard
Misaki M Slusarski
Wickens W Sergi
Mujtaba D Wieser
Smith V Darakjy
Nicolas V Ostrosky
Jennifer O Doe
Wickens M Foller
Misaki W Caudy
Mayumi R Gillian
Juan Q Campain
Maisha H Stenseth
James F Wieser
Leon I Kolmetz
Jones X Morasca
Greenwood F Nicka
Aruna P Bolognia
Mujtaba M Glick
Maria E Malet
Cody E Gillian
Emily H Iturbide
Johnson R Paprocki
Wickens S Malet
Morrow D Briddick
Leja J Ferencz
Alejandro X Darakjy
Kaitlin W Stockham
Mayumi E Bowley
Francesco V Slusarski
Ivar A Vocelka
Maria W Ferencz
Kaitlin E Flosi
Greenwood W Tollner
Leon S Flosi
Salvatore I Campain
Arvin G Briddick
IdCountryDate
1000Canada2024-09-18
1001Russia2024-09-08
1002Germany2024-08-24
1003Germany2024-09-01
1004United Kingdom2024-09-05
1005United Kingdom2024-09-14
1006Canada2024-09-14
1007Spain2024-08-21
1008France2024-09-06
1009United Kingdom2024-08-25
1010Germany2024-09-03
1011India2024-09-16
1012Germany2024-09-14
1013United Kingdom2024-09-06
1014France2024-08-30
1015Russia2024-09-11
1016India2024-08-26
1017Italy2024-09-15
1018France2024-09-11
1019France2024-08-26
1020France2024-09-14
1021Japan2024-09-12
1022Spain2024-09-06
1023Germany2024-09-05
1024Russia2024-09-10
1025Italy2024-09-13
1026Brazil2024-08-26
1027India2024-09-02
1028Japan2024-09-04
1029Germany2024-09-05
1030Germany2024-09-09
1031Canada2024-09-02
1032Germany2024-08-27
1033India2024-09-08
1034Argentina2024-09-11
1035Italy2024-08-30
1036Brazil2024-08-23
1037Russia2024-09-10
1038France2024-09-12
1039Spain2024-08-22
1040Canada2024-09-18
1041Australia2024-08-24
1042United Kingdom2024-09-16
1043Brazil2024-08-29
1044Spain2024-08-31
1045Russia2024-08-23
1046Brazil2024-08-23
1047Argentina2024-09-09
1048Brazil2024-09-07
1049France2024-09-05

On-Demand Data

NameIdCountryDate
Jones P Briddick1000United Kingdom2024-09-08
Izzy C Amigon1001India2024-09-13
Jennifer B Kolmetz1002Canada2024-09-19
Isabel R Malet1003United Kingdom2024-09-01
Jeanfrancois P Tollner1004Argentina2024-08-27
Cody Z Bolognia1005Canada2024-09-09
Morrow R Stockham1006Russia2024-09-07
Isabel V Saylors1007Canada2024-09-06
Kadeem Q Wieser1008Spain2024-08-25
Mujtaba C Poquette1009Australia2024-09-07
Maria D Nestle1010India2024-09-04
Deepesh U Ostrosky1011Russia2024-09-04
Kaitlin B Ruta1012Australia2024-09-19
Wickens D Campain1013United Kingdom2024-09-04
Faith E Briddick1014Brazil2024-09-19
Aika V Ostrosky1015Russia2024-08-24
Maisha U Waycott1016Argentina2024-08-31
Kadeem V Glick1017Spain2024-08-30
Francesco K Kusko1018United Kingdom2024-08-21
Ricardo F Ostrosky1019Australia2024-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Z InouyeSpainAnna Fali NEW
Morrow N SchemmerCanadaAnna Fali PROPOSAL
Antonio T SchemmerGermanyXuxue Feng NEW
Wickens S PoquetteArgentinaIvan Magalhaes PROPOSAL
Mayumi Y TollnerSpainAmy Elsner NEGOTIATION
Julie M WieserJapanIvan Magalhaes RENEWAL
Octavia T ShinkoIndiaElwin Sharvill RENEWAL
Juan I RutaGermanyIoni Bowcher PROPOSAL
Munro H FigeroaAustraliaBernardo Dominic RENEWAL
Aditya R BowleyBrazilAnna Fali UNQUALIFIED
Wickens F MaletBrazilBernardo Dominic NEW
Ricardo H FollerArgentinaBernardo Dominic NEGOTIATION
Leon S BologniaRussiaElwin Sharvill NEGOTIATION
Misaki O ChuiItalyIoni Bowcher QUALIFIED
Mujtaba Z NickaCanadaStephen Shaw QUALIFIED
Octavia M PoquetteItalyAnna Fali NEW
Cody C RoysterArgentinaIvan Magalhaes PROPOSAL
Ricardo G FollerIndiaIoni Bowcher QUALIFIED
Chavez R BologniaGermanyElwin Sharvill UNQUALIFIED
Cody P WaycottBrazilIoni Bowcher NEW
Chavez Q BriddickUnited KingdomBernardo Dominic RENEWAL
Jefferson O FigeroaIndiaXuxue Feng UNQUALIFIED
Chavez S OstroskyItalyAmy Elsner PROPOSAL
Greenwood H CaldareraItalyAmy Elsner NEW
Adams E GauchoJapanStephen Shaw QUALIFIED
James Z ShinkoJapanStephen Shaw NEGOTIATION
Munro R MaletUnited KingdomXuxue Feng UNQUALIFIED
Faith L FigeroaSpainOnyama Limba NEGOTIATION
Costa N SchemmerBrazilElwin Sharvill RENEWAL
David D DarakjySpainAmy Elsner RENEWAL
Isabel J MacleadBrazilAsiya Javayant NEW
Murillo P NickaArgentinaStephen Shaw QUALIFIED
Clifford X RulapaughJapanAmy Elsner QUALIFIED
Clifford D FollerUnited KingdomAmy Elsner PROPOSAL
Antonio U ChuiArgentinaAmy Elsner PROPOSAL
Aika C DoeUnited KingdomIvan Magalhaes NEW
James X DilliardIndiaStephen Shaw NEW
Cody I MacleadSpainIoni Bowcher PROPOSAL
Mujtaba A SaylorsBrazilIoni Bowcher NEW
Alejandro M TollnerCanadaAnna Fali 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>