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
Kadeem F BriddickArgentinaXuxue Feng PROPOSAL
Alejandro P NickaGermanyElwin Sharvill UNQUALIFIED
Leja X DilliardAustraliaAmy Elsner NEGOTIATION
Leja W WhobreyFranceAmy Elsner QUALIFIED
Julie X GlickFranceElwin Sharvill UNQUALIFIED
Rodrigues K VenereBrazilElwin Sharvill NEGOTIATION
Antonio G GlickItalyIoni Bowcher UNQUALIFIED
Leja N WieserBrazilBernardo Dominic NEGOTIATION
Sinclair Z PerinFranceIoni Bowcher PROPOSAL
Kaitlin Y OstroskyGermanyIvan Magalhaes PROPOSAL
Stacey F InouyeFranceBernardo Dominic UNQUALIFIED
Silvio E SaylorsCanadaElwin Sharvill NEGOTIATION
Julie Y ShinkoFranceBernardo Dominic RENEWAL
Murillo A AlbaresArgentinaIoni Bowcher RENEWAL
Aditya C BowleyAustraliaElwin Sharvill NEGOTIATION
Kaitlin Q CaudyCanadaIoni Bowcher NEW
Emily T DarakjyCanadaAsiya Javayant UNQUALIFIED
Wickens S FlosiArgentinaBernardo Dominic RENEWAL
Julie R ButtAustraliaXuxue Feng QUALIFIED
Emily I MacleadBrazilAnna Fali QUALIFIED
Smith V NickaGermanyXuxue Feng NEW
Murillo E RutaItalyIoni Bowcher QUALIFIED
Mujtaba Q MacleadUnited KingdomElwin Sharvill RENEWAL
Kaitlin R InouyeJapanAmy Elsner NEGOTIATION
Jennifer U KolmetzAustraliaIoni Bowcher PROPOSAL
Kadeem O InouyeGermanyAmy Elsner QUALIFIED
Maria U FigeroaAustraliaElwin Sharvill PROPOSAL
Kadeem O GarufiAustraliaOnyama Limba PROPOSAL
Munro I ButtRussiaAsiya Javayant RENEWAL
Kaitlin C BriddickArgentinaBernardo Dominic UNQUALIFIED
Mayumi B WaycottItalyAsiya Javayant PROPOSAL
Francesco D StensethCanadaXuxue Feng PROPOSAL
Maisha P RoysterSpainAnna Fali RENEWAL
Rodrigues K DarakjyJapanBernardo Dominic UNQUALIFIED
Juan I MorascaItalyAmy Elsner NEGOTIATION
Darci K KuskoGermanyOnyama Limba UNQUALIFIED
Juan H MorascaGermanyStephen Shaw PROPOSAL
Rodrigues T GauchoUnited KingdomElwin Sharvill NEW
Izzy X ShinkoJapanAnna Fali QUALIFIED
Claire I GillianRussiaIvan Magalhaes RENEWAL
Nicolas G MacleadFranceAmy Elsner NEGOTIATION
Stacey A DilliardFranceAmy Elsner NEGOTIATION
Greenwood J GauchoBrazilAmy Elsner UNQUALIFIED
Jeanfrancois R VenereAustraliaXuxue Feng RENEWAL
Julie G BowleyRussiaIoni Bowcher PROPOSAL
Tony V WaycottIndiaAnna Fali QUALIFIED
Clifford U MorascaGermanyIoni Bowcher NEGOTIATION
Octavia S ShinkoJapanOnyama Limba UNQUALIFIED
James L AmigonAustraliaOnyama Limba RENEWAL
Misaki U NestleBrazilIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan G VenereJapanBernardo Dominic QUALIFIED
Kadeem O BologniaFranceAsiya Javayant NEGOTIATION
Kadeem L BriddickSpainXuxue Feng QUALIFIED
Morrow G MaletFranceBernardo Dominic PROPOSAL
Maisha E FerenczRussiaAnna Fali QUALIFIED
Aruna R DoeCanadaOnyama Limba PROPOSAL
Juan C DarakjyItalyBernardo Dominic QUALIFIED
Maisha F MaletSpainBernardo Dominic RENEWAL
Rodrigues D FerenczFranceBernardo Dominic PROPOSAL
Aditya U GarufiUnited KingdomOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson C ChuiRussia2026-07-16Rousseaux, Michael Esq UNQUALIFIED65Amy Elsner
1001Morrow G KuskoItaly2026-07-03Rousseaux, Michael Esq RENEWAL83Anna Fali
1002Johnson U ShinkoBrazil2026-06-24Feiner Bros QUALIFIED64Amy Elsner
1003Aditya U SaylorsCanada2026-07-13Rousseaux, Michael Esq RENEWAL12Ioni Bowcher
1004Johnson N CaudyGermany2026-07-17Rousseaux, Michael Esq RENEWAL44Stephen Shaw
1005Silvio U MaletAustralia2026-07-01Truhlar And Truhlar Attys UNQUALIFIED68Amy Elsner
1006Leon Y RimIndia2026-07-10Buckley Miller Wright QUALIFIED92Xuxue Feng
1007Emily W CaldareraItaly2026-07-18Chanay, Jeffrey A Esq NEW25Xuxue Feng
1008Greenwood X RutaGermany2026-07-16Buckley Miller Wright PROPOSAL13Bernardo Dominic
1009Johnson F DoeUnited Kingdom2026-06-26Feiner Bros RENEWAL71Ivan Magalhaes
1010Leja J PerinRussia2026-07-19Feltz Printing Service NEW57Onyama Limba
1011Smith L DilliardItaly2026-06-24Chemel, James L Cpa UNQUALIFIED68Asiya Javayant
1012Alejandro J AmigonJapan2026-06-25Morlong Associates RENEWAL50Asiya Javayant
1013Kaitlin C WhobreyRussia2026-06-30Feiner Bros NEW64Stephen Shaw
1014David H TollnerJapan2026-06-27Feiner Bros NEW7Ioni Bowcher
1015Smith T PerinSpain2026-07-20Chapman, Ross E Esq PROPOSAL30Anna Fali
1016Maisha G MaletIndia2026-07-08Printing Dimensions RENEWAL57Anna Fali
1017Juan D InouyeFrance2026-06-23Chanay, Jeffrey A Esq NEGOTIATION38Anna Fali
1018Cody D DilliardArgentina2026-07-07Benton, John B Jr RENEWAL42Onyama Limba
1019Rodrigues N RimIndia2026-07-01Chanay, Jeffrey A Esq NEW33Anna Fali
1020Stacey Q VenereArgentina2026-07-12Feltz Printing Service NEGOTIATION17Xuxue Feng
1021Silvio L RutaBrazil2026-06-22Commercial Press NEGOTIATION96Stephen Shaw
1022David K TollnerIndia2026-07-20Feltz Printing Service PROPOSAL41Asiya Javayant
1023Greenwood C SaylorsFrance2026-07-08Truhlar And Truhlar Attys NEGOTIATION77Bernardo Dominic
1024David I WhobreyArgentina2026-07-11Rangoni Of Florence NEW66Ivan Magalhaes
1025Emily X VenereRussia2026-07-20Printing Dimensions NEW67Xuxue Feng
1026Octavia T PaprockiJapan2026-07-10Chemel, James L Cpa NEW52Amy Elsner
1027Nicolas E StensethCanada2026-07-02Feiner Bros QUALIFIED30Onyama Limba
1028Maria R BowleyItaly2026-07-13Benton, John B Jr UNQUALIFIED28Ivan Magalhaes
1029Aditya V VenereCanada2026-06-21Truhlar And Truhlar Attys NEW65Onyama Limba
1030Rodrigues B RulapaughBrazil2026-07-03Commercial Press QUALIFIED27Amy Elsner
1031Greenwood Y CaldareraJapan2026-07-17Dorl, James J Esq UNQUALIFIED22Amy Elsner
1032James W ButtSpain2026-07-17King, Christopher A Esq QUALIFIED27Ioni Bowcher
1033Misaki X BriddickArgentina2026-06-27Rousseaux, Michael Esq PROPOSAL50Ioni Bowcher
1034Ivar M PaprockiItaly2026-07-11Chemel, James L Cpa RENEWAL21Xuxue Feng
1035Smith X SergiIndia2026-07-10Dorl, James J Esq PROPOSAL30Ioni Bowcher
1036Stacey Y RoysterItaly2026-07-18Dorl, James J Esq UNQUALIFIED95Asiya Javayant
1037Mayumi C WhobreyRussia2026-06-24Rousseaux, Michael Esq NEW5Onyama Limba
1038Wickens Y SchemmerArgentina2026-06-22Benton, John B Jr PROPOSAL83Stephen Shaw
1039Morrow Z OstroskyFrance2026-07-12Chemel, James L Cpa NEW40Xuxue Feng
1040Juan K OldroydIndia2026-07-14Truhlar And Truhlar Attys NEGOTIATION18Onyama Limba
1041Greenwood X DarakjyIndia2026-07-03Printing Dimensions RENEWAL83Elwin Sharvill
1042Morrow E BriddickCanada2026-07-16Rousseaux, Michael Esq QUALIFIED67Xuxue Feng
1043Nicolas B AlbaresAustralia2026-07-01Rangoni Of Florence RENEWAL96Amy Elsner
1044Julie Z DoeBrazil2026-07-01Feltz Printing Service NEGOTIATION65Asiya Javayant
1045Deepesh R FerenczGermany2026-06-23Printing Dimensions RENEWAL49Anna Fali
1046Aika N StensethGermany2026-06-22Dorl, James J Esq PROPOSAL60Ioni Bowcher
1047Maisha I PerinSpain2026-07-05Feiner Bros RENEWAL71Asiya Javayant
1048James K VenereCanada2026-07-13Buckley Miller Wright NEGOTIATION48Onyama Limba
1049Ricardo O DilliardJapan2026-07-07Feiner Bros NEW9Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin K NickaGermanyElwin Sharvill UNQUALIFIED
Julie Y SlusarskiBrazilXuxue Feng NEGOTIATION
Johnson R BologniaFranceAsiya Javayant PROPOSAL
Ivar L ShinkoSpainAmy Elsner QUALIFIED
Chavez O RimAustraliaElwin Sharvill UNQUALIFIED
Alejandro Y FollerCanadaAmy Elsner UNQUALIFIED
Mujtaba A SchemmerArgentinaStephen Shaw QUALIFIED
Misaki A FollerBrazilAmy Elsner UNQUALIFIED
Isabel A BologniaRussiaBernardo Dominic QUALIFIED
Ashley Q VenereRussiaAsiya Javayant QUALIFIED
Misaki S OldroydArgentinaAsiya Javayant QUALIFIED
Ricardo W AmigonFranceAsiya Javayant RENEWAL
Misaki Y NestleGermanyXuxue Feng UNQUALIFIED
Faith B GarufiIndiaXuxue Feng NEW
Alejandro H DilliardJapanStephen Shaw QUALIFIED
Jeanfrancois Z KolmetzGermanyStephen Shaw RENEWAL
Jefferson Z GauchoRussiaStephen Shaw QUALIFIED
Aruna L RutaIndiaAmy Elsner UNQUALIFIED
Clifford H SergiFranceXuxue Feng RENEWAL
Wickens J FerenczBrazilIvan Magalhaes UNQUALIFIED
Ivar P SaylorsSpainOnyama Limba UNQUALIFIED
Kaitlin N ButtRussiaAnna Fali QUALIFIED
Emily P NestleCanadaIvan Magalhaes NEGOTIATION
Rodrigues X PerinItalyElwin Sharvill PROPOSAL
Greenwood U RimBrazilXuxue Feng PROPOSAL
Darci U FigeroaUnited KingdomAmy Elsner QUALIFIED
Jennifer V SergiSpainAnna Fali UNQUALIFIED
Kaitlin X CaudyAustraliaBernardo Dominic UNQUALIFIED
Salvatore O AlbaresAustraliaAsiya Javayant QUALIFIED
Jones N FigeroaItalyIoni Bowcher NEGOTIATION
Emily W VocelkaJapanAnna Fali NEW
Leon S BriddickRussiaElwin Sharvill NEW
Alejandro W MarrierIndiaAnna Fali NEGOTIATION
Antonio Z SlusarskiJapanIvan Magalhaes RENEWAL
Morrow V SchemmerSpainBernardo Dominic RENEWAL
Rodrigues B FigeroaAustraliaIoni Bowcher QUALIFIED
Izzy Y WieserUnited KingdomElwin Sharvill QUALIFIED
Cody S DilliardItalyBernardo Dominic UNQUALIFIED
Octavia T MorascaArgentinaAsiya Javayant NEGOTIATION
Sinclair G AmigonUnited KingdomStephen Shaw PROPOSAL
Ashley L BologniaIndiaAnna Fali UNQUALIFIED
Isabel V IturbideBrazilBernardo Dominic NEW
James V GillianCanadaStephen Shaw QUALIFIED
Kadeem Q CaldareraAustraliaAmy Elsner NEW
Maria O SergiGermanyElwin Sharvill UNQUALIFIED
Mujtaba Z DarakjyArgentinaStephen Shaw NEGOTIATION
Emily T KuskoBrazilXuxue Feng UNQUALIFIED
Silvio S IturbideItalyBernardo Dominic UNQUALIFIED
Salvatore Y RoysterGermanyIvan Magalhaes UNQUALIFIED
Ashley E RutaUnited KingdomAnna Fali NEW
Frozen Columns
Name
Tony Z Nicka
Octavia C Ferencz
Izzy E Figeroa
Maisha L Bolognia
Ashley X Gaucho
James P Bowley
Morrow Y Whobrey
Adams I Briddick
Jefferson E Gillian
Maria D Stockham
Clifford J Paprocki
Ivar F Vocelka
Salvatore Z Kusko
Murillo L Saylors
Jefferson Y Gaucho
Kadeem W Slusarski
Jefferson C Maclead
Arvin L Ruta
Smith K Ostrosky
Mujtaba K Ruta
Darci K Briddick
David E Tollner
Sinclair U Ostrosky
Chavez U Darakjy
Julie U Oldroyd
Tony K Kusko
Maisha C Vocelka
Francesco S Slusarski
Silvio F Bowley
Aditya U Oldroyd
Wickens K Kolmetz
Wickens D Saylors
Deepesh D Poquette
Izzy G Dilliard
Leja P Marrier
Antonio V Amigon
Sinclair U Oldroyd
Maria N Briddick
Aruna A Foller
Francesco I Caldarera
Johnson A Whobrey
Isabel I Stenseth
David H Whobrey
Aditya S Nicka
Mayumi J Albares
Kaitlin K Albares
Jeanfrancois L Ruta
Claire J Foller
Octavia B Briddick
Munro U Sergi
IdCountryDate
1000Russia2026-07-07
1001Germany2026-07-17
1002France2026-06-21
1003Australia2026-06-28
1004Russia2026-06-23
1005Germany2026-06-29
1006Canada2026-06-25
1007United Kingdom2026-06-28
1008Germany2026-07-05
1009France2026-07-06
1010Brazil2026-06-26
1011Brazil2026-07-03
1012Argentina2026-07-17
1013Russia2026-06-29
1014Japan2026-07-01
1015Germany2026-06-24
1016Brazil2026-07-13
1017Canada2026-07-09
1018Italy2026-07-04
1019Russia2026-07-03
1020India2026-07-09
1021Japan2026-07-08
1022Canada2026-06-27
1023Canada2026-06-27
1024Spain2026-07-16
1025Brazil2026-07-03
1026Germany2026-07-04
1027Germany2026-07-12
1028Italy2026-07-05
1029France2026-06-23
1030Spain2026-07-04
1031Argentina2026-06-28
1032Russia2026-06-25
1033Italy2026-06-23
1034Japan2026-07-18
1035Russia2026-06-30
1036Italy2026-07-01
1037Spain2026-06-30
1038Germany2026-06-22
1039Russia2026-06-28
1040France2026-07-02
1041Argentina2026-07-05
1042Russia2026-07-01
1043India2026-07-11
1044Japan2026-07-16
1045Japan2026-06-27
1046Japan2026-07-13
1047Canada2026-06-26
1048Japan2026-06-28
1049Canada2026-06-24

On-Demand Data

NameIdCountryDate
Julie R Briddick1000Japan2026-06-21
Mayumi L Tollner1001Brazil2026-07-18
Aditya A Poquette1002Italy2026-07-05
Darci H Paprocki1003Japan2026-06-25
Faith M Nestle1004France2026-07-05
Juan B Waycott1005Brazil2026-06-21
Ashley E Figeroa1006Brazil2026-06-27
Sinclair H Foller1007Argentina2026-06-25
Costa K Kusko1008Australia2026-06-26
Misaki O Flosi1009Brazil2026-06-27
Maria G Nestle1010Argentina2026-06-30
Kadeem R Albares1011Germany2026-07-10
Izzy H Malet1012Canada2026-07-07
Greenwood X Inouye1013Spain2026-07-06
Clifford N Nestle1014Italy2026-06-29
Mujtaba B Stockham1015France2026-06-23
Faith Q Garufi1016United Kingdom2026-06-26
Johnson K Garufi1017Canada2026-07-17
Ricardo P Inouye1018Canada2026-07-08
Maria U Poquette1019Russia2026-07-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow K RutaItalyBernardo Dominic NEGOTIATION
Francesco F CaudyIndiaElwin Sharvill PROPOSAL
Chavez H GillianIndiaStephen Shaw NEGOTIATION
Nicolas D OldroydRussiaOnyama Limba UNQUALIFIED
Murillo Q FlosiArgentinaXuxue Feng QUALIFIED
Silvio R BologniaItalyStephen Shaw PROPOSAL
Antonio R MaletArgentinaAsiya Javayant UNQUALIFIED
Alejandro W RoysterItalyXuxue Feng RENEWAL
Silvio Y BowleyFranceIoni Bowcher PROPOSAL
Ricardo Y DoeBrazilOnyama Limba QUALIFIED
Murillo T GillianJapanIoni Bowcher PROPOSAL
Jefferson G RoysterGermanyIoni Bowcher UNQUALIFIED
Wickens Q VocelkaUnited KingdomXuxue Feng PROPOSAL
Jefferson T InouyeFranceOnyama Limba NEW
James I CaldareraAustraliaOnyama Limba NEW
Clifford V RimJapanAsiya Javayant QUALIFIED
Alejandro L FlosiGermanyAsiya Javayant UNQUALIFIED
Antonio N OstroskyBrazilAmy Elsner UNQUALIFIED
Leja A ShinkoJapanElwin Sharvill UNQUALIFIED
Nicolas O VenereSpainAmy Elsner QUALIFIED
Morrow S IturbideItalyAnna Fali PROPOSAL
Antonio X PoquetteGermanyXuxue Feng NEW
Alejandro C WieserBrazilXuxue Feng NEW
Jeanfrancois C KolmetzArgentinaAsiya Javayant NEGOTIATION
Ricardo C MaletUnited KingdomXuxue Feng QUALIFIED
Mujtaba W DarakjyJapanElwin Sharvill QUALIFIED
Chavez G CampainUnited KingdomBernardo Dominic NEGOTIATION
Sinclair F BologniaFranceElwin Sharvill UNQUALIFIED
Stacey Z NickaRussiaIoni Bowcher UNQUALIFIED
Munro E SergiUnited KingdomBernardo Dominic NEW
Francesco I IturbideSpainAsiya Javayant NEGOTIATION
Greenwood K DilliardGermanyBernardo Dominic NEGOTIATION
Wickens T MaletArgentinaOnyama Limba RENEWAL
Nicolas W InouyeRussiaIvan Magalhaes RENEWAL
Aika U TollnerFranceAmy Elsner NEGOTIATION
Maisha J FigeroaJapanStephen Shaw PROPOSAL
Cody M NickaGermanyIoni Bowcher UNQUALIFIED
Kaitlin V KuskoFranceIvan Magalhaes NEW
Arvin X SchemmerUnited KingdomAmy Elsner NEGOTIATION
Clifford P WaycottCanadaOnyama Limba 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>