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
Aditya M GauchoSpainXuxue Feng PROPOSAL
Julie P MarrierItalyXuxue Feng QUALIFIED
Julie H MorascaCanadaIoni Bowcher NEW
Rodrigues Z FollerSpainAmy Elsner PROPOSAL
Smith R CaudyJapanAmy Elsner UNQUALIFIED
Salvatore U RoysterItalyAnna Fali NEW
Jefferson Q OstroskyItalyAmy Elsner NEW
Tony C ShinkoItalyIoni Bowcher NEW
Misaki Z PaprockiIndiaIoni Bowcher RENEWAL
Leja J FigeroaBrazilOnyama Limba QUALIFIED
James W PaprockiJapanAnna Fali QUALIFIED
Greenwood G GlickUnited KingdomAnna Fali PROPOSAL
Kadeem G CaldareraJapanAnna Fali RENEWAL
Jones F AmigonJapanElwin Sharvill PROPOSAL
Izzy M InouyeUnited KingdomAmy Elsner NEW
Darci S StensethBrazilIoni Bowcher NEGOTIATION
Isabel H PaprockiRussiaElwin Sharvill UNQUALIFIED
Cody G FigeroaGermanyIvan Magalhaes NEW
Juan K CampainSpainElwin Sharvill QUALIFIED
Jennifer X GillianBrazilElwin Sharvill PROPOSAL
Darci O PerinCanadaXuxue Feng UNQUALIFIED
Chavez A KuskoBrazilStephen Shaw NEGOTIATION
Smith G BologniaIndiaXuxue Feng RENEWAL
Alejandro D GauchoIndiaAnna Fali RENEWAL
Silvio N VocelkaCanadaElwin Sharvill NEW
Costa F BologniaCanadaAsiya Javayant PROPOSAL
David S CampainItalyAnna Fali QUALIFIED
Johnson Q SergiFranceAsiya Javayant NEGOTIATION
James Z MarrierIndiaAsiya Javayant PROPOSAL
Antonio A ShinkoIndiaAmy Elsner RENEWAL
Juan A SlusarskiGermanyIvan Magalhaes NEGOTIATION
Aditya Q CampainAustraliaElwin Sharvill PROPOSAL
Tony U MarrierUnited KingdomStephen Shaw PROPOSAL
Munro W BowleyItalyAnna Fali RENEWAL
Sinclair S GillianGermanyBernardo Dominic NEGOTIATION
Julie Z StensethAustraliaAmy Elsner NEW
Ashley W WhobreyAustraliaIoni Bowcher NEW
Jefferson M KolmetzIndiaAmy Elsner RENEWAL
Ashley H GarufiFranceBernardo Dominic RENEWAL
Morrow J SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba B GillianFranceXuxue Feng NEW
Adams T WieserSpainAmy Elsner RENEWAL
Smith J CaudyUnited KingdomXuxue Feng NEW
Rodrigues H RimUnited KingdomAmy Elsner NEW
Emily L GlickAustraliaBernardo Dominic NEGOTIATION
David T PerinJapanAsiya Javayant NEGOTIATION
Julie V MacleadCanadaAmy Elsner NEGOTIATION
Sinclair K DoeIndiaBernardo Dominic NEW
Kaitlin K CaldareraCanadaAmy Elsner RENEWAL
Emily E OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mayumi W PoquetteArgentinaIoni Bowcher QUALIFIED
Cody G ShinkoArgentinaIvan Magalhaes NEGOTIATION
Leon W OldroydArgentinaStephen Shaw NEGOTIATION
Murillo P FigeroaFranceStephen Shaw NEGOTIATION
Chavez L WaycottJapanAnna Fali UNQUALIFIED
Chavez V CaldareraAustraliaStephen Shaw NEW
Silvio J MaletBrazilIvan Magalhaes QUALIFIED
Izzy R PaprockiItalyBernardo Dominic NEGOTIATION
Jennifer B CaudyBrazilAsiya Javayant QUALIFIED
Clifford Z NickaArgentinaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo E DoeItaly2026-07-01Commercial Press QUALIFIED13Ioni Bowcher
1001Greenwood R VenereArgentina2026-07-03Benton, John B Jr PROPOSAL78Onyama Limba
1002Isabel C MacleadJapan2026-06-26Chemel, James L Cpa QUALIFIED73Asiya Javayant
1003Julie I GarufiCanada2026-06-25Rangoni Of Florence UNQUALIFIED48Ioni Bowcher
1004Tony M VenereSpain2026-06-27Feltz Printing Service QUALIFIED36Anna Fali
1005David Q OldroydIndia2026-07-08Feltz Printing Service NEGOTIATION61Ioni Bowcher
1006Morrow O WaycottFrance2026-06-30Buckley Miller Wright NEGOTIATION99Anna Fali
1007Jefferson Z StockhamAustralia2026-06-25Printing Dimensions UNQUALIFIED83Onyama Limba
1008Leon V IturbideUnited Kingdom2026-07-16Benton, John B Jr NEGOTIATION6Onyama Limba
1009Julie C IturbideJapan2026-06-28Feltz Printing Service QUALIFIED49Ioni Bowcher
1010Munro I GarufiAustralia2026-07-02Rangoni Of Florence NEW52Xuxue Feng
1011Salvatore J WhobreySpain2026-06-21Chapman, Ross E Esq UNQUALIFIED61Asiya Javayant
1012Emily H InouyeGermany2026-07-14Rousseaux, Michael Esq QUALIFIED15Anna Fali
1013Leon Y FerenczSpain2026-06-30Printing Dimensions NEGOTIATION78Anna Fali
1014Izzy W BologniaSpain2026-07-20Benton, John B Jr PROPOSAL97Ioni Bowcher
1015Octavia M WieserJapan2026-07-20Morlong Associates RENEWAL89Amy Elsner
1016Chavez X StensethItaly2026-07-12King, Christopher A Esq PROPOSAL32Ioni Bowcher
1017Chavez C CampainArgentina2026-07-01Feltz Printing Service NEGOTIATION43Onyama Limba
1018Costa E StensethIndia2026-07-04Commercial Press NEW63Ioni Bowcher
1019Adams R ButtFrance2026-06-21Chapman, Ross E Esq UNQUALIFIED97Ioni Bowcher
1020Darci K MaletBrazil2026-07-15Dorl, James J Esq QUALIFIED19Ioni Bowcher
1021Francesco O SlusarskiCanada2026-07-20Commercial Press QUALIFIED27Stephen Shaw
1022Salvatore L MaletIndia2026-07-09Commercial Press UNQUALIFIED90Anna Fali
1023Clifford A RoysterIndia2026-06-29Buckley Miller Wright QUALIFIED9Stephen Shaw
1024Kadeem C ChuiUnited Kingdom2026-07-03Benton, John B Jr NEW18Bernardo Dominic
1025Izzy O IturbideItaly2026-07-19Printing Dimensions PROPOSAL67Elwin Sharvill
1026Greenwood X PoquetteUnited Kingdom2026-07-16King, Christopher A Esq NEW50Xuxue Feng
1027James I GillianItaly2026-06-29Benton, John B Jr UNQUALIFIED38Stephen Shaw
1028Stacey Z AmigonJapan2026-07-18Feiner Bros NEGOTIATION32Ioni Bowcher
1029Julie E InouyeRussia2026-06-21Benton, John B Jr NEGOTIATION90Anna Fali
1030Maria K SaylorsIndia2026-07-01Buckley Miller Wright NEW57Anna Fali
1031Aditya M FerenczArgentina2026-07-07Feltz Printing Service NEW5Xuxue Feng
1032Francesco H SaylorsIndia2026-06-26Chapman, Ross E Esq RENEWAL18Bernardo Dominic
1033Costa A RulapaughJapan2026-07-01Buckley Miller Wright NEGOTIATION65Asiya Javayant
1034Jeanfrancois G InouyeArgentina2026-06-23Buckley Miller Wright PROPOSAL55Anna Fali
1035Arvin G SchemmerBrazil2026-06-25Feltz Printing Service RENEWAL59Asiya Javayant
1036Johnson O InouyeGermany2026-07-05Morlong Associates UNQUALIFIED45Xuxue Feng
1037Ivar L ShinkoIndia2026-07-18Chapman, Ross E Esq RENEWAL79Amy Elsner
1038Jeanfrancois P MacleadUnited Kingdom2026-07-19Dorl, James J Esq QUALIFIED45Ioni Bowcher
1039Aditya Y PoquetteUnited Kingdom2026-07-19Printing Dimensions RENEWAL59Ivan Magalhaes
1040Leja H ChuiCanada2026-06-29Chanay, Jeffrey A Esq PROPOSAL14Bernardo Dominic
1041Maria M PoquetteFrance2026-06-25Benton, John B Jr QUALIFIED84Ioni Bowcher
1042Arvin U SchemmerUnited Kingdom2026-07-17Commercial Press RENEWAL20Bernardo Dominic
1043Arvin N OstroskyArgentina2026-07-13Printing Dimensions UNQUALIFIED26Elwin Sharvill
1044Ivar D VenereRussia2026-07-15Chanay, Jeffrey A Esq RENEWAL78Amy Elsner
1045Deepesh Q TollnerJapan2026-06-27Printing Dimensions UNQUALIFIED25Ivan Magalhaes
1046Stacey P TollnerAustralia2026-07-17Chapman, Ross E Esq NEW78Xuxue Feng
1047Faith T OldroydUnited Kingdom2026-06-22King, Christopher A Esq UNQUALIFIED55Onyama Limba
1048Greenwood R StensethItaly2026-07-05King, Christopher A Esq UNQUALIFIED44Bernardo Dominic
1049Rodrigues Q CaldareraGermany2026-07-14King, Christopher A Esq PROPOSAL44Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Silvio O BologniaArgentinaStephen Shaw NEGOTIATION
Mujtaba D PoquetteBrazilXuxue Feng RENEWAL
Francesco C RoysterBrazilIvan Magalhaes NEGOTIATION
Ivar P StockhamSpainAmy Elsner UNQUALIFIED
Emily V GauchoCanadaAmy Elsner QUALIFIED
Claire K VocelkaJapanIvan Magalhaes UNQUALIFIED
Wickens X FigeroaAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois U WhobreyCanadaXuxue Feng PROPOSAL
Isabel J KolmetzCanadaXuxue Feng NEW
Octavia L PaprockiUnited KingdomXuxue Feng NEGOTIATION
Kaitlin D BologniaCanadaIoni Bowcher NEW
Claire L SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Wickens C GarufiJapanIoni Bowcher UNQUALIFIED
Alejandro D VenereGermanyAmy Elsner NEW
Aruna I VenereFranceElwin Sharvill PROPOSAL
Arvin Y WhobreyRussiaIoni Bowcher NEW
Jones R MacleadCanadaOnyama Limba NEGOTIATION
Munro D NestleItalyIvan Magalhaes NEGOTIATION
Wickens P BriddickJapanAsiya Javayant RENEWAL
Maria D KolmetzGermanyElwin Sharvill PROPOSAL
Faith O PaprockiItalyBernardo Dominic NEGOTIATION
Tony N MaletCanadaElwin Sharvill QUALIFIED
Misaki W GauchoArgentinaXuxue Feng UNQUALIFIED
Darci R RimCanadaStephen Shaw NEW
Clifford B RutaItalyXuxue Feng RENEWAL
Chavez A DarakjySpainAsiya Javayant NEW
Nicolas Q RulapaughGermanyXuxue Feng UNQUALIFIED
Leja U DilliardJapanXuxue Feng PROPOSAL
Octavia U VocelkaRussiaBernardo Dominic NEW
Maisha T GillianAustraliaBernardo Dominic QUALIFIED
Ivar B WhobreyCanadaAsiya Javayant NEGOTIATION
Isabel R ShinkoRussiaAmy Elsner NEW
Leja J FlosiSpainIoni Bowcher UNQUALIFIED
Misaki Q SergiCanadaBernardo Dominic PROPOSAL
Jefferson Z VenereIndiaIvan Magalhaes PROPOSAL
Izzy T DarakjyFranceElwin Sharvill PROPOSAL
Alejandro T PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Darci O KuskoFranceAnna Fali PROPOSAL
Ivar R MaletArgentinaElwin Sharvill PROPOSAL
Jefferson K DoeGermanyOnyama Limba NEW
Stacey K FigeroaAustraliaBernardo Dominic NEGOTIATION
Stacey P BologniaRussiaStephen Shaw NEGOTIATION
Juan W NickaIndiaXuxue Feng QUALIFIED
Izzy Z GarufiItalyStephen Shaw QUALIFIED
Rodrigues H NickaJapanElwin Sharvill QUALIFIED
Wickens T WhobreyCanadaOnyama Limba QUALIFIED
Chavez Q MaletBrazilOnyama Limba RENEWAL
Wickens P KuskoSpainBernardo Dominic UNQUALIFIED
Kaitlin H GillianAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois C AlbaresGermanyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Maria D Perin
Antonio Y Perin
James F Waycott
Cody M Foller
Francesco M Paprocki
Johnson X Tollner
Francesco T Tollner
Juan C Wieser
Juan O Inouye
Jefferson M Briddick
Ricardo H Nicka
Ricardo F Perin
Rodrigues I Stenseth
Jefferson Z Ruta
Claire V Ruta
Misaki R Sergi
Clifford P Garufi
Jennifer B Butt
Leon B Flosi
Jefferson E Kusko
Rodrigues P Royster
Ashley F Tollner
Kaitlin C Chui
Maria Z Vocelka
Leja Y Schemmer
Aruna T Iturbide
Munro U Inouye
Wickens B Morasca
Aika F Royster
Munro Z Garufi
Julie U Darakjy
Stacey B Shinko
Isabel H Dilliard
Johnson O Caudy
Misaki E Kolmetz
Cody N Malet
Leja N Vocelka
Claire K Gaucho
Morrow Y Rulapaugh
Mayumi N Poquette
Adams Y Shinko
Misaki X Perin
Faith C Iturbide
James F Flosi
Ricardo H Slusarski
Isabel P Morasca
Morrow B Waycott
Kadeem Q Darakjy
Greenwood E Bowley
Maisha F Ostrosky
IdCountryDate
1000Brazil2026-07-04
1001Australia2026-06-22
1002Italy2026-07-02
1003Australia2026-07-07
1004Argentina2026-07-02
1005Brazil2026-06-27
1006Argentina2026-07-18
1007Australia2026-06-26
1008United Kingdom2026-07-09
1009Argentina2026-07-17
1010India2026-07-19
1011Spain2026-07-10
1012Brazil2026-07-09
1013United Kingdom2026-06-26
1014France2026-07-20
1015Japan2026-07-08
1016Russia2026-06-30
1017Germany2026-07-20
1018Russia2026-07-07
1019Australia2026-07-19
1020Germany2026-07-18
1021Russia2026-07-07
1022Russia2026-06-29
1023Brazil2026-07-02
1024Italy2026-06-26
1025Argentina2026-07-14
1026India2026-06-22
1027Russia2026-06-30
1028India2026-07-08
1029Canada2026-06-24
1030Argentina2026-06-23
1031France2026-07-12
1032Russia2026-07-05
1033Spain2026-07-14
1034Canada2026-07-08
1035Spain2026-07-07
1036India2026-07-05
1037Germany2026-07-05
1038Australia2026-07-15
1039United Kingdom2026-07-13
1040Brazil2026-06-21
1041Brazil2026-07-04
1042Japan2026-07-02
1043Italy2026-07-17
1044Italy2026-07-17
1045United Kingdom2026-07-20
1046Canada2026-06-27
1047Canada2026-07-16
1048France2026-07-10
1049Canada2026-06-21

On-Demand Data

NameIdCountryDate
Leja C Campain1000Germany2026-07-14
Salvatore O Ostrosky1001India2026-06-22
Juan N Rulapaugh1002France2026-07-15
Maria I Tollner1003Russia2026-07-14
Costa S Caudy1004France2026-06-27
Mujtaba Q Caldarera1005Australia2026-06-29
Salvatore K Ruta1006India2026-07-18
Izzy M Marrier1007France2026-07-10
Juan K Garufi1008Germany2026-06-22
Cody J Chui1009France2026-06-22
Mujtaba B Bolognia1010Russia2026-06-26
Jennifer U Campain1011Spain2026-07-14
Costa U Iturbide1012France2026-06-28
Emily L Gaucho1013Argentina2026-07-09
Cody A Doe1014Canada2026-07-09
Cody Y Glick1015Germany2026-07-08
Kaitlin H Nestle1016United Kingdom2026-06-26
Silvio R Kusko1017Australia2026-07-02
Cody I Doe1018Russia2026-07-04
Nicolas C Shinko1019Argentina2026-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar P CaudyGermanyOnyama Limba QUALIFIED
Greenwood H InouyeCanadaXuxue Feng NEGOTIATION
Sinclair D ButtAustraliaOnyama Limba NEGOTIATION
Octavia G BologniaFranceAsiya Javayant QUALIFIED
Jeanfrancois B CampainUnited KingdomXuxue Feng UNQUALIFIED
Morrow K VocelkaArgentinaBernardo Dominic NEW
Antonio O MaletBrazilIvan Magalhaes NEW
Salvatore Y PerinRussiaElwin Sharvill UNQUALIFIED
Mayumi B ChuiIndiaBernardo Dominic PROPOSAL
Leja Y NickaArgentinaElwin Sharvill NEGOTIATION
Kaitlin J ButtIndiaAmy Elsner PROPOSAL
Wickens X GarufiItalyIvan Magalhaes RENEWAL
Stacey Y SaylorsItalyBernardo Dominic NEGOTIATION
Rodrigues R OldroydCanadaAmy Elsner QUALIFIED
Claire A CaudyUnited KingdomIoni Bowcher QUALIFIED
David J GlickAustraliaOnyama Limba NEW
Antonio U FigeroaItalyAsiya Javayant RENEWAL
Julie J GauchoCanadaElwin Sharvill NEGOTIATION
Stacey D TollnerIndiaElwin Sharvill RENEWAL
Deepesh R KolmetzArgentinaOnyama Limba PROPOSAL
Aruna W DilliardUnited KingdomStephen Shaw QUALIFIED
Aditya I PaprockiGermanyXuxue Feng NEW
Tony W MaletUnited KingdomAnna Fali UNQUALIFIED
David Q MacleadSpainAnna Fali RENEWAL
Darci P StockhamSpainIoni Bowcher RENEWAL
Aika D MarrierFranceBernardo Dominic RENEWAL
Aruna L CampainAustraliaBernardo Dominic NEGOTIATION
Emily L BologniaArgentinaOnyama Limba NEW
Leon I VocelkaFranceBernardo Dominic NEGOTIATION
Smith U FollerJapanAsiya Javayant NEGOTIATION
Darci B FollerSpainOnyama Limba QUALIFIED
Antonio N GlickSpainBernardo Dominic RENEWAL
Nicolas M CampainJapanIvan Magalhaes RENEWAL
Wickens A ButtIndiaXuxue Feng NEGOTIATION
Kaitlin O DarakjyUnited KingdomAmy Elsner PROPOSAL
Faith R CaudyFranceXuxue Feng PROPOSAL
Deepesh J OstroskyRussiaOnyama Limba NEW
Morrow C SlusarskiIndiaAmy Elsner NEW
Alejandro K MarrierRussiaIoni Bowcher PROPOSAL
Ricardo P MaletItalyAnna Fali 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>