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
Costa B OldroydGermanyStephen Shaw RENEWAL
Adams L SaylorsCanadaAsiya Javayant RENEWAL
Stacey Q VenereGermanyIvan Magalhaes NEGOTIATION
Deepesh L ShinkoGermanyStephen Shaw UNQUALIFIED
Salvatore C SaylorsUnited KingdomAnna Fali PROPOSAL
Munro X AmigonAustraliaXuxue Feng PROPOSAL
Izzy H VenereIndiaIoni Bowcher PROPOSAL
Murillo K DoeCanadaOnyama Limba RENEWAL
Costa E WhobreyBrazilOnyama Limba NEGOTIATION
Cody T SlusarskiIndiaIvan Magalhaes PROPOSAL
Stacey L AmigonJapanOnyama Limba UNQUALIFIED
Julie O CaldareraItalyBernardo Dominic UNQUALIFIED
Rodrigues P AlbaresGermanyXuxue Feng PROPOSAL
Mayumi Y AmigonJapanIvan Magalhaes UNQUALIFIED
Silvio B SergiAustraliaOnyama Limba NEGOTIATION
Sinclair X BologniaRussiaBernardo Dominic PROPOSAL
Smith X GauchoAustraliaAmy Elsner UNQUALIFIED
Juan O StensethAustraliaAsiya Javayant PROPOSAL
Darci O AlbaresJapanBernardo Dominic RENEWAL
David U IturbideRussiaXuxue Feng RENEWAL
Greenwood W DoeJapanStephen Shaw UNQUALIFIED
Antonio C MarrierRussiaAmy Elsner QUALIFIED
Ricardo B NestleCanadaBernardo Dominic QUALIFIED
Izzy T WaycottBrazilXuxue Feng PROPOSAL
Francesco E RulapaughGermanyBernardo Dominic UNQUALIFIED
Smith A SergiUnited KingdomStephen Shaw NEW
Mujtaba F RutaFranceAsiya Javayant QUALIFIED
Wickens L KuskoIndiaStephen Shaw NEGOTIATION
Jennifer N MarrierCanadaAnna Fali PROPOSAL
Salvatore Y SergiBrazilElwin Sharvill QUALIFIED
Aruna J InouyeBrazilIoni Bowcher NEW
Maisha O PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Salvatore S AmigonSpainOnyama Limba RENEWAL
Aika F OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro U RulapaughAustraliaBernardo Dominic QUALIFIED
Darci E MacleadUnited KingdomAnna Fali NEGOTIATION
Smith V ButtArgentinaOnyama Limba NEW
Aditya T DarakjyIndiaAsiya Javayant NEW
Antonio B MaletBrazilOnyama Limba NEGOTIATION
Faith Q CaldareraItalyStephen Shaw PROPOSAL
Silvio G StockhamUnited KingdomElwin Sharvill QUALIFIED
Emily T GauchoBrazilAnna Fali RENEWAL
Claire L BriddickArgentinaIvan Magalhaes NEW
Cody A AlbaresItalyAsiya Javayant NEW
Sinclair Q MacleadIndiaIvan Magalhaes PROPOSAL
Nicolas E StensethBrazilIvan Magalhaes UNQUALIFIED
Greenwood G BowleyItalyIvan Magalhaes RENEWAL
Leja E VocelkaFranceStephen Shaw QUALIFIED
Alejandro Z KuskoAustraliaBernardo Dominic NEGOTIATION
Francesco W PaprockiArgentinaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
James K AmigonJapanIvan Magalhaes PROPOSAL
Aruna R PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Salvatore Q FollerArgentinaStephen Shaw RENEWAL
Kadeem A RutaFranceElwin Sharvill PROPOSAL
Costa K PoquetteRussiaElwin Sharvill RENEWAL
Cody R KuskoCanadaBernardo Dominic RENEWAL
David N CampainArgentinaAsiya Javayant NEW
Francesco P MarrierSpainBernardo Dominic UNQUALIFIED
Ivar E CaldareraBrazilBernardo Dominic NEGOTIATION
Leon E MarrierArgentinaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson L CampainArgentina2024-06-09Morlong Associates PROPOSAL14Amy Elsner
1001Julie I AlbaresJapan2024-05-28Commercial Press UNQUALIFIED2Bernardo Dominic
1002Emily E ButtArgentina2024-06-02Feiner Bros PROPOSAL75Onyama Limba
1003Clifford G VenereCanada2024-06-09Benton, John B Jr RENEWAL52Ioni Bowcher
1004Deepesh C WhobreyIndia2024-06-10Commercial Press UNQUALIFIED68Stephen Shaw
1005Wickens U BologniaUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEW36Elwin Sharvill
1006Adams Q BologniaRussia2024-06-20Buckley Miller Wright UNQUALIFIED5Asiya Javayant
1007Rodrigues N GauchoBrazil2024-06-09Printing Dimensions NEW62Onyama Limba
1008Kaitlin E MaletSpain2024-06-16Dorl, James J Esq NEGOTIATION29Elwin Sharvill
1009Leon R OstroskyFrance2024-06-11King, Christopher A Esq QUALIFIED29Amy Elsner
1010Jones O AlbaresCanada2024-06-24Dorl, James J Esq NEW25Elwin Sharvill
1011Sinclair B PoquetteCanada2024-06-17Truhlar And Truhlar Attys RENEWAL0Amy Elsner
1012Jennifer O BowleyArgentina2024-06-05Dorl, James J Esq QUALIFIED16Amy Elsner
1013Leon Z MorascaGermany2024-06-23Rangoni Of Florence QUALIFIED85Anna Fali
1014Munro R MorascaArgentina2024-06-01Rangoni Of Florence NEW87Ivan Magalhaes
1015Nicolas R DarakjyArgentina2024-05-29Chemel, James L Cpa NEW5Asiya Javayant
1016Antonio F WaycottGermany2024-05-28King, Christopher A Esq UNQUALIFIED32Ivan Magalhaes
1017Leon N WaycottIndia2024-06-21Dorl, James J Esq NEGOTIATION30Ioni Bowcher
1018Ashley A AlbaresItaly2024-06-03Morlong Associates RENEWAL11Xuxue Feng
1019Jennifer V WhobreySpain2024-06-04Truhlar And Truhlar Attys NEGOTIATION85Anna Fali
1020Izzy X RoysterCanada2024-05-30Printing Dimensions PROPOSAL5Asiya Javayant
1021Adams E CaudyCanada2024-05-29Chanay, Jeffrey A Esq QUALIFIED55Stephen Shaw
1022Darci V ShinkoJapan2024-06-24Chanay, Jeffrey A Esq QUALIFIED23Ioni Bowcher
1023Ricardo K DoeUnited Kingdom2024-06-02Chemel, James L Cpa UNQUALIFIED78Stephen Shaw
1024Greenwood X SchemmerFrance2024-06-09Commercial Press NEW71Asiya Javayant
1025Leon D RoysterFrance2024-06-24Morlong Associates UNQUALIFIED10Elwin Sharvill
1026Jones K SchemmerSpain2024-05-29Chemel, James L Cpa PROPOSAL99Ioni Bowcher
1027Murillo X SergiItaly2024-06-01Truhlar And Truhlar Attys QUALIFIED1Elwin Sharvill
1028Greenwood R RutaItaly2024-06-04Commercial Press QUALIFIED91Amy Elsner
1029Arvin U FlosiSpain2024-06-15Rousseaux, Michael Esq NEGOTIATION47Asiya Javayant
1030Mayumi W BowleyJapan2024-06-01Rousseaux, Michael Esq UNQUALIFIED87Elwin Sharvill
1031Jones I RoysterFrance2024-05-29Rousseaux, Michael Esq PROPOSAL42Bernardo Dominic
1032Misaki G SaylorsSpain2024-06-07Chanay, Jeffrey A Esq PROPOSAL91Onyama Limba
1033David X VenereJapan2024-06-08Rangoni Of Florence UNQUALIFIED17Asiya Javayant
1034Misaki N RutaBrazil2024-05-27Rangoni Of Florence UNQUALIFIED54Ivan Magalhaes
1035Alejandro R OldroydSpain2024-06-04Rangoni Of Florence NEW84Bernardo Dominic
1036Morrow B ChuiFrance2024-06-11Morlong Associates UNQUALIFIED15Stephen Shaw
1037Jeanfrancois N MacleadAustralia2024-06-21Truhlar And Truhlar Attys PROPOSAL37Stephen Shaw
1038Clifford P KuskoBrazil2024-06-23Feltz Printing Service RENEWAL22Bernardo Dominic
1039Rodrigues G PoquetteCanada2024-06-12Rousseaux, Michael Esq PROPOSAL4Asiya Javayant
1040Darci L MarrierItaly2024-06-12Chemel, James L Cpa PROPOSAL81Anna Fali
1041Johnson C MaletRussia2024-06-09Rangoni Of Florence NEGOTIATION11Amy Elsner
1042Ivar G GlickAustralia2024-06-10Chapman, Ross E Esq RENEWAL27Anna Fali
1043Clifford O StensethIndia2024-06-17Printing Dimensions NEW20Ivan Magalhaes
1044Ricardo Z AlbaresIndia2024-06-05Feiner Bros UNQUALIFIED46Stephen Shaw
1045Salvatore D AlbaresUnited Kingdom2024-06-22Truhlar And Truhlar Attys PROPOSAL32Ioni Bowcher
1046Johnson T ChuiAustralia2024-06-10Morlong Associates QUALIFIED72Ivan Magalhaes
1047Jefferson C CampainAustralia2024-06-20Printing Dimensions RENEWAL67Ivan Magalhaes
1048Faith K RimBrazil2024-06-03Printing Dimensions NEGOTIATION87Bernardo Dominic
1049Maria Y KuskoItaly2024-05-29Rousseaux, Michael Esq NEGOTIATION30Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Stacey Q RoysterIndiaAnna Fali NEGOTIATION
Tony B SaylorsIndiaXuxue Feng PROPOSAL
David M RulapaughGermanyAnna Fali NEW
Ricardo L SchemmerArgentinaOnyama Limba RENEWAL
Stacey D RimIndiaIvan Magalhaes PROPOSAL
James M MaletSpainIvan Magalhaes PROPOSAL
Murillo F InouyeIndiaAnna Fali RENEWAL
Johnson S RoysterGermanyOnyama Limba UNQUALIFIED
Wickens T ButtGermanyAmy Elsner UNQUALIFIED
Mayumi V OldroydFranceAsiya Javayant NEGOTIATION
Leja E AmigonItalyElwin Sharvill PROPOSAL
Kadeem R GauchoArgentinaOnyama Limba PROPOSAL
Alejandro E RutaBrazilElwin Sharvill NEW
Emily C FlosiItalyAsiya Javayant RENEWAL
Jeanfrancois N WhobreyCanadaIvan Magalhaes NEGOTIATION
Izzy K StensethBrazilStephen Shaw QUALIFIED
David U FlosiGermanyAnna Fali NEW
Greenwood B SergiBrazilAsiya Javayant RENEWAL
Kaitlin N WaycottAustraliaAnna Fali UNQUALIFIED
Stacey K PaprockiCanadaAmy Elsner NEW
Chavez Y NestleCanadaElwin Sharvill RENEWAL
Mujtaba J NickaAustraliaIoni Bowcher NEGOTIATION
Kaitlin F WhobreySpainElwin Sharvill RENEWAL
Chavez N BriddickIndiaIoni Bowcher RENEWAL
Juan R GauchoGermanyBernardo Dominic RENEWAL
Antonio D ChuiFranceBernardo Dominic NEW
Aika I GarufiArgentinaAnna Fali UNQUALIFIED
Rodrigues O DilliardBrazilBernardo Dominic RENEWAL
Emily H GarufiUnited KingdomOnyama Limba QUALIFIED
Munro V BologniaBrazilOnyama Limba NEW
Julie M CaudyItalyIoni Bowcher RENEWAL
Ashley O IturbideSpainIvan Magalhaes NEGOTIATION
Jeanfrancois L KuskoRussiaAmy Elsner NEGOTIATION
Jennifer E StensethIndiaIoni Bowcher QUALIFIED
Francesco D BologniaRussiaAmy Elsner PROPOSAL
Jefferson Q WaycottGermanyAmy Elsner UNQUALIFIED
Izzy E KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Claire Y FerenczCanadaXuxue Feng RENEWAL
Silvio R StensethSpainAnna Fali NEW
Octavia G KuskoUnited KingdomAmy Elsner PROPOSAL
Ricardo V RulapaughCanadaXuxue Feng NEGOTIATION
Stacey I MaletFranceBernardo Dominic RENEWAL
Izzy T CaldareraAustraliaOnyama Limba UNQUALIFIED
Adams I WieserJapanXuxue Feng QUALIFIED
Isabel W SlusarskiIndiaIoni Bowcher PROPOSAL
Wickens H PoquetteItalyIoni Bowcher NEW
Ashley H OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Salvatore A SlusarskiGermanyAnna Fali UNQUALIFIED
David D BologniaJapanAnna Fali NEW
Chavez R WhobreyUnited KingdomAnna Fali PROPOSAL
Frozen Columns
Name
Claire D Inouye
Mujtaba L Amigon
Arvin D Whobrey
Claire X Stenseth
Faith W Ferencz
Deepesh N Flosi
Alejandro B Gaucho
Kadeem E Schemmer
Kadeem U Shinko
Costa F Venere
Nicolas P Nestle
Jones X Wieser
Claire D Dilliard
Maria I Iturbide
Nicolas G Caldarera
Greenwood R Wieser
Arvin O Tollner
Aditya B Venere
Salvatore D Stockham
Tony X Kusko
Jones M Marrier
Ivar A Wieser
Darci V Albares
Leon A Bolognia
Chavez W Darakjy
Antonio X Figeroa
Misaki V Ostrosky
Aruna B Amigon
Johnson J Flosi
Francesco B Kusko
Darci S Kusko
Johnson M Perin
Johnson H Malet
Jennifer M Bolognia
Leja L Poquette
Isabel P Campain
Leon J Glick
Antonio G Kusko
Octavia A Malet
Aditya S Ferencz
Claire T Wieser
Smith E Briddick
Aika B Albares
Julie U Sergi
Silvio W Briddick
David R Malet
Sinclair V Kolmetz
Mayumi D Nestle
Juan F Kusko
Salvatore I Bowley
IdCountryDate
1000Brazil2024-06-21
1001Italy2024-06-05
1002Russia2024-06-13
1003Italy2024-06-22
1004Australia2024-06-11
1005Spain2024-06-13
1006Brazil2024-06-06
1007Russia2024-06-07
1008Germany2024-06-18
1009Germany2024-06-15
1010France2024-06-21
1011Brazil2024-06-09
1012Germany2024-05-29
1013Japan2024-06-15
1014Japan2024-06-08
1015Brazil2024-05-27
1016Canada2024-05-28
1017India2024-06-03
1018Canada2024-06-20
1019Japan2024-05-30
1020Germany2024-06-08
1021Italy2024-06-24
1022United Kingdom2024-06-03
1023Brazil2024-05-26
1024United Kingdom2024-06-19
1025Italy2024-06-08
1026United Kingdom2024-06-18
1027Japan2024-06-07
1028Japan2024-05-26
1029United Kingdom2024-06-20
1030Italy2024-06-18
1031Canada2024-06-12
1032France2024-06-06
1033Brazil2024-06-04
1034Japan2024-06-02
1035Brazil2024-05-27
1036Brazil2024-06-09
1037Italy2024-06-02
1038Australia2024-06-02
1039United Kingdom2024-06-06
1040Russia2024-06-12
1041Spain2024-06-20
1042Canada2024-06-22
1043Russia2024-05-27
1044Japan2024-06-09
1045Russia2024-06-22
1046France2024-06-11
1047France2024-05-28
1048Spain2024-06-11
1049Italy2024-06-19

On-Demand Data

NameIdCountryDate
Rodrigues U Bowley1000Spain2024-06-08
Aditya E Poquette1001Brazil2024-06-07
Maisha X Darakjy1002India2024-06-22
Ricardo T Rulapaugh1003Italy2024-06-02
Emily J Dilliard1004France2024-06-04
Costa N Shinko1005Argentina2024-05-31
Misaki Y Ferencz1006United Kingdom2024-05-31
Izzy J Doe1007Argentina2024-06-22
Kaitlin O Waycott1008Spain2024-05-30
Misaki T Oldroyd1009Argentina2024-06-01
Aditya S Paprocki1010Australia2024-06-24
Tony L Ostrosky1011Russia2024-06-12
Arvin P Kusko1012Germany2024-06-23
Jennifer C Malet1013Japan2024-06-08
Ricardo Y Bolognia1014Australia2024-05-31
Claire O Inouye1015Brazil2024-06-24
Octavia O Malet1016Argentina2024-06-12
Jennifer W Rim1017India2024-06-15
Cody D Ruta1018Australia2024-06-04
Silvio M Rulapaugh1019Argentina2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody N BologniaBrazilBernardo Dominic NEGOTIATION
Kadeem X WieserRussiaAmy Elsner NEW
Deepesh Q GillianRussiaStephen Shaw QUALIFIED
Jennifer H IturbideAustraliaXuxue Feng NEW
Salvatore V ButtArgentinaXuxue Feng QUALIFIED
Alejandro A CampainSpainOnyama Limba NEW
Ivar B FigeroaJapanAnna Fali RENEWAL
Arvin X TollnerFranceXuxue Feng NEGOTIATION
Faith P SchemmerIndiaAmy Elsner PROPOSAL
Wickens Y PerinFranceStephen Shaw QUALIFIED
Smith Q StockhamRussiaIvan Magalhaes PROPOSAL
Izzy R ShinkoUnited KingdomBernardo Dominic RENEWAL
Julie D RimRussiaAnna Fali UNQUALIFIED
Misaki O VenereRussiaStephen Shaw QUALIFIED
Leja J OldroydArgentinaStephen Shaw NEGOTIATION
Wickens N RimItalyStephen Shaw QUALIFIED
Aruna C WhobreyBrazilIoni Bowcher RENEWAL
Leon K OstroskyGermanyOnyama Limba RENEWAL
Cody M RoysterUnited KingdomStephen Shaw PROPOSAL
Ashley H BriddickIndiaXuxue Feng RENEWAL
Johnson Q RoysterAustraliaStephen Shaw RENEWAL
Ashley M SchemmerRussiaOnyama Limba NEGOTIATION
Isabel M VocelkaGermanyAmy Elsner NEGOTIATION
Misaki R ChuiFranceBernardo Dominic PROPOSAL
Aruna Q SergiBrazilIvan Magalhaes NEGOTIATION
Juan K FigeroaRussiaBernardo Dominic UNQUALIFIED
Greenwood S MorascaJapanBernardo Dominic PROPOSAL
Aruna A CampainJapanIoni Bowcher QUALIFIED
Julie A RoysterBrazilStephen Shaw QUALIFIED
Jeanfrancois A GillianFranceAnna Fali RENEWAL
Jones Z StockhamSpainBernardo Dominic PROPOSAL
Aditya Z DarakjyArgentinaAnna Fali UNQUALIFIED
Juan M InouyeUnited KingdomBernardo Dominic NEW
Greenwood S CaldareraItalyBernardo Dominic PROPOSAL
Ricardo L ChuiBrazilAnna Fali UNQUALIFIED
Ivar K GarufiGermanyStephen Shaw UNQUALIFIED
Ivar G ChuiGermanyBernardo Dominic NEW
Maisha W NickaGermanyOnyama Limba RENEWAL
Francesco Y GillianJapanIvan Magalhaes RENEWAL
Rodrigues Q SaylorsUnited KingdomXuxue Feng 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>