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
Kaitlin B PerinArgentinaIvan Magalhaes NEW
Jennifer S CampainFranceOnyama Limba PROPOSAL
Adams F RoysterArgentinaXuxue Feng NEGOTIATION
Jeanfrancois B FigeroaCanadaAsiya Javayant RENEWAL
Kadeem J OstroskyArgentinaAmy Elsner PROPOSAL
Tony N VocelkaRussiaAmy Elsner PROPOSAL
Kadeem W DarakjyRussiaAmy Elsner PROPOSAL
Emily V GillianCanadaOnyama Limba PROPOSAL
Clifford R WhobreyGermanyOnyama Limba NEGOTIATION
Jones E BologniaJapanAmy Elsner RENEWAL
Misaki N MarrierGermanyAsiya Javayant PROPOSAL
Greenwood U StensethFranceIvan Magalhaes NEW
Francesco N GlickRussiaIoni Bowcher UNQUALIFIED
Cody R AlbaresRussiaBernardo Dominic RENEWAL
Jennifer H AlbaresBrazilXuxue Feng QUALIFIED
Deepesh Y KolmetzArgentinaAsiya Javayant QUALIFIED
Antonio S PerinJapanStephen Shaw RENEWAL
Jennifer X BriddickArgentinaOnyama Limba NEW
Isabel D SchemmerGermanyIvan Magalhaes PROPOSAL
Aika J RulapaughArgentinaStephen Shaw PROPOSAL
Aruna M DilliardJapanIvan Magalhaes QUALIFIED
Munro E ChuiItalyIoni Bowcher NEGOTIATION
Kadeem S ButtGermanyIvan Magalhaes UNQUALIFIED
Ricardo K KuskoIndiaIvan Magalhaes RENEWAL
Cody R MorascaJapanAsiya Javayant QUALIFIED
Clifford H StensethGermanyAmy Elsner UNQUALIFIED
Murillo X BologniaCanadaAmy Elsner NEW
Silvio Y NestleUnited KingdomAmy Elsner QUALIFIED
Emily C ChuiSpainIvan Magalhaes UNQUALIFIED
Jennifer Q SlusarskiArgentinaBernardo Dominic RENEWAL
Cody J FerenczArgentinaIoni Bowcher NEGOTIATION
Ivar T FerenczRussiaAnna Fali UNQUALIFIED
Smith W StensethArgentinaBernardo Dominic PROPOSAL
Izzy W RimAustraliaXuxue Feng NEGOTIATION
Wickens T RimJapanAmy Elsner QUALIFIED
Mayumi Q PerinJapanXuxue Feng QUALIFIED
Misaki S GlickRussiaAmy Elsner NEGOTIATION
Rodrigues T FollerBrazilAnna Fali UNQUALIFIED
Alejandro H WhobreyAustraliaElwin Sharvill QUALIFIED
Costa O SaylorsFranceAsiya Javayant PROPOSAL
Octavia M ChuiRussiaAsiya Javayant NEGOTIATION
Kadeem F NestleFranceAnna Fali RENEWAL
Jones J StockhamFranceAsiya Javayant QUALIFIED
David F RoysterFranceIvan Magalhaes RENEWAL
Aika L PerinAustraliaBernardo Dominic PROPOSAL
Morrow U OldroydItalyXuxue Feng PROPOSAL
Nicolas V PerinItalyOnyama Limba NEW
Maisha B WaycottBrazilAnna Fali QUALIFIED
Ricardo E MaletAustraliaElwin Sharvill PROPOSAL
Salvatore U PoquetteArgentinaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer P BriddickBrazilAmy Elsner UNQUALIFIED
Isabel H AmigonJapanElwin Sharvill QUALIFIED
Leja Q GlickItalyBernardo Dominic RENEWAL
Deepesh Z RulapaughCanadaElwin Sharvill PROPOSAL
Maisha F VocelkaFranceBernardo Dominic NEGOTIATION
Sinclair Y RutaIndiaIvan Magalhaes NEW
Maisha Q RimFranceAmy Elsner PROPOSAL
Salvatore P MarrierItalyAmy Elsner NEGOTIATION
Costa N OldroydIndiaElwin Sharvill NEW
Rodrigues A VocelkaBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel V DoeIndia2025-06-07Buckley Miller Wright PROPOSAL80Bernardo Dominic
1001Costa X WhobreyRussia2025-06-13Feiner Bros NEW40Ioni Bowcher
1002Aruna U FerenczSpain2025-06-15Buckley Miller Wright PROPOSAL73Onyama Limba
1003Emily P NestleUnited Kingdom2025-05-22Buckley Miller Wright NEW86Asiya Javayant
1004Emily K NestleJapan2025-06-15Dorl, James J Esq QUALIFIED87Asiya Javayant
1005Isabel J DarakjyJapan2025-05-19Benton, John B Jr NEGOTIATION73Anna Fali
1006Murillo P StockhamIndia2025-06-03Commercial Press NEGOTIATION12Bernardo Dominic
1007Jefferson P SergiSpain2025-06-13Printing Dimensions NEW45Amy Elsner
1008Octavia V SchemmerFrance2025-05-24Benton, John B Jr PROPOSAL24Xuxue Feng
1009Octavia T MaletBrazil2025-06-04King, Christopher A Esq PROPOSAL67Xuxue Feng
1010Tony L FerenczSpain2025-06-16Benton, John B Jr NEW23Ivan Magalhaes
1011Ivar E DarakjyRussia2025-05-27Dorl, James J Esq NEW42Stephen Shaw
1012Darci U BologniaGermany2025-06-02Benton, John B Jr NEW72Bernardo Dominic
1013Adams V MorascaAustralia2025-05-21Chanay, Jeffrey A Esq NEW45Stephen Shaw
1014Maisha Z OstroskyFrance2025-05-20Truhlar And Truhlar Attys NEGOTIATION93Ioni Bowcher
1015Jeanfrancois R DarakjyIndia2025-06-02Rousseaux, Michael Esq QUALIFIED46Stephen Shaw
1016Munro M IturbideAustralia2025-06-09Chapman, Ross E Esq UNQUALIFIED35Elwin Sharvill
1017Juan E CaldareraCanada2025-05-27Rangoni Of Florence RENEWAL1Ivan Magalhaes
1018Alejandro P GarufiGermany2025-06-11Chanay, Jeffrey A Esq RENEWAL90Elwin Sharvill
1019Octavia J CaudyUnited Kingdom2025-06-09Rousseaux, Michael Esq QUALIFIED13Bernardo Dominic
1020Mayumi J NickaGermany2025-06-04Truhlar And Truhlar Attys NEW36Amy Elsner
1021Rodrigues D DarakjyFrance2025-05-28Chapman, Ross E Esq PROPOSAL95Bernardo Dominic
1022Deepesh N FlosiJapan2025-06-15Chanay, Jeffrey A Esq QUALIFIED81Xuxue Feng
1023Stacey Q FigeroaSpain2025-06-06Morlong Associates NEW56Stephen Shaw
1024Octavia O CaudyItaly2025-06-01Chemel, James L Cpa NEW33Anna Fali
1025Kaitlin G ShinkoFrance2025-05-28Benton, John B Jr RENEWAL36Xuxue Feng
1026Kadeem H SergiAustralia2025-06-05Chanay, Jeffrey A Esq PROPOSAL68Ioni Bowcher
1027Emily W DilliardCanada2025-06-06Morlong Associates RENEWAL86Bernardo Dominic
1028Greenwood S GlickUnited Kingdom2025-06-06Benton, John B Jr NEW98Stephen Shaw
1029Aditya L PaprockiRussia2025-05-24Chemel, James L Cpa NEGOTIATION26Elwin Sharvill
1030Munro G RulapaughIndia2025-06-11Chanay, Jeffrey A Esq RENEWAL36Ioni Bowcher
1031Mujtaba S RoysterCanada2025-06-03Chanay, Jeffrey A Esq NEGOTIATION89Ivan Magalhaes
1032Ivar W AmigonFrance2025-06-11Benton, John B Jr NEGOTIATION0Stephen Shaw
1033Munro P GauchoJapan2025-06-07Printing Dimensions PROPOSAL96Ioni Bowcher
1034Octavia W TollnerUnited Kingdom2025-06-05King, Christopher A Esq PROPOSAL43Ioni Bowcher
1035Nicolas H SaylorsJapan2025-05-25Benton, John B Jr QUALIFIED52Stephen Shaw
1036Cody X ShinkoUnited Kingdom2025-06-08Buckley Miller Wright PROPOSAL54Anna Fali
1037Deepesh G SchemmerItaly2025-05-20Chanay, Jeffrey A Esq RENEWAL21Bernardo Dominic
1038Kadeem R WaycottIndia2025-06-09Truhlar And Truhlar Attys RENEWAL61Amy Elsner
1039Jennifer L CaldareraFrance2025-05-21Chemel, James L Cpa NEGOTIATION90Onyama Limba
1040David S ChuiIndia2025-06-14Rangoni Of Florence RENEWAL73Asiya Javayant
1041Rodrigues U MorascaGermany2025-05-24Feiner Bros NEGOTIATION69Amy Elsner
1042Jefferson C DoeCanada2025-06-13Chanay, Jeffrey A Esq RENEWAL62Stephen Shaw
1043Clifford P RutaUnited Kingdom2025-05-19Chanay, Jeffrey A Esq NEW14Xuxue Feng
1044Nicolas A BowleyBrazil2025-06-13Chanay, Jeffrey A Esq NEGOTIATION85Bernardo Dominic
1045Salvatore H BriddickItaly2025-06-12Printing Dimensions NEW62Onyama Limba
1046Cody G FlosiAustralia2025-06-14Commercial Press UNQUALIFIED5Anna Fali
1047Antonio R BologniaBrazil2025-06-14King, Christopher A Esq NEW78Onyama Limba
1048Jefferson E MaletItaly2025-06-16Feiner Bros UNQUALIFIED59Stephen Shaw
1049Octavia M StensethBrazil2025-05-24Buckley Miller Wright QUALIFIED79Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Izzy T StockhamAustraliaStephen Shaw NEW
Chavez G SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin N GarufiIndiaXuxue Feng RENEWAL
Johnson M CaudyAustraliaStephen Shaw NEGOTIATION
Jefferson P WieserUnited KingdomIoni Bowcher NEW
Stacey Y StockhamSpainAmy Elsner PROPOSAL
Stacey M NickaJapanIoni Bowcher PROPOSAL
Mujtaba O TollnerUnited KingdomElwin Sharvill NEGOTIATION
Jefferson Z SaylorsFranceIoni Bowcher UNQUALIFIED
Mujtaba C NickaAustraliaIoni Bowcher PROPOSAL
Clifford E FlosiRussiaXuxue Feng UNQUALIFIED
Morrow R MaletBrazilElwin Sharvill UNQUALIFIED
Jones B OstroskyRussiaXuxue Feng RENEWAL
Nicolas R NestleGermanyXuxue Feng NEW
Greenwood L InouyeItalyXuxue Feng QUALIFIED
Salvatore B DoeIndiaElwin Sharvill RENEWAL
Nicolas G MaletFranceElwin Sharvill NEW
Kaitlin W ButtItalyAnna Fali NEGOTIATION
Juan A SaylorsSpainOnyama Limba QUALIFIED
Darci L FlosiRussiaStephen Shaw PROPOSAL
Darci R StensethRussiaAnna Fali QUALIFIED
Munro I AlbaresGermanyOnyama Limba RENEWAL
Julie Q SaylorsBrazilAnna Fali QUALIFIED
Jeanfrancois H FollerArgentinaIoni Bowcher NEGOTIATION
Francesco C FlosiItalyAsiya Javayant PROPOSAL
Misaki P AmigonSpainElwin Sharvill RENEWAL
James X DarakjyIndiaIvan Magalhaes QUALIFIED
Stacey L GlickJapanBernardo Dominic QUALIFIED
Silvio X DilliardUnited KingdomElwin Sharvill QUALIFIED
Leon E GarufiSpainAmy Elsner QUALIFIED
Wickens I TollnerItalyAmy Elsner UNQUALIFIED
Izzy F ButtRussiaXuxue Feng PROPOSAL
Maisha E DoeItalyAnna Fali UNQUALIFIED
Costa S MorascaArgentinaIoni Bowcher UNQUALIFIED
Antonio I VenereIndiaAnna Fali QUALIFIED
Maisha S AmigonGermanyStephen Shaw UNQUALIFIED
Tony V PerinRussiaAsiya Javayant PROPOSAL
Tony G NestleFranceIvan Magalhaes NEGOTIATION
Ricardo B RoysterArgentinaAmy Elsner NEGOTIATION
Greenwood B MacleadIndiaBernardo Dominic RENEWAL
Costa P RutaRussiaIoni Bowcher NEW
James C CaldareraCanadaAsiya Javayant QUALIFIED
Izzy J SaylorsRussiaAmy Elsner NEGOTIATION
Jennifer S ButtIndiaIvan Magalhaes UNQUALIFIED
Greenwood J RutaAustraliaIoni Bowcher RENEWAL
Sinclair T MaletFranceBernardo Dominic NEGOTIATION
Deepesh P MaletArgentinaBernardo Dominic QUALIFIED
Juan F WaycottItalyOnyama Limba UNQUALIFIED
Morrow L ButtGermanyIoni Bowcher QUALIFIED
Octavia S StockhamUnited KingdomAnna Fali NEW
Frozen Columns
Name
Johnson M Wieser
Morrow J Whobrey
Tony R Saylors
Octavia R Oldroyd
Murillo F Gillian
Sinclair C Perin
Chavez Q Rim
James O Iturbide
Greenwood P Gaucho
Jefferson J Butt
Costa T Kolmetz
Greenwood T Bowley
Deepesh J Wieser
Claire N Ostrosky
Sinclair W Kusko
Kaitlin I Ruta
Kadeem O Doe
Jones F Stockham
Smith Q Inouye
Johnson L Nicka
Aditya U Albares
Rodrigues D Rim
Jones D Poquette
Leon G Dilliard
Johnson U Glick
Jefferson X Darakjy
Aika K Albares
Clifford X Kolmetz
Kadeem Z Vocelka
Francesco E Amigon
Octavia D Malet
Murillo U Darakjy
Johnson S Malet
Faith C Poquette
Emily W Stockham
Adams Y Schemmer
Leja T Foller
Aika N Perin
Misaki S Darakjy
Silvio O Ostrosky
Rodrigues W Bolognia
Francesco R Nestle
Aditya E Shinko
Misaki K Albares
Darci A Amigon
Kaitlin V Caudy
Ricardo C Caldarera
Smith C Rim
Darci N Schemmer
Nicolas X Bolognia
IdCountryDate
1000France2025-06-09
1001Brazil2025-06-03
1002Russia2025-05-21
1003France2025-06-06
1004Argentina2025-06-06
1005France2025-05-19
1006Japan2025-06-05
1007Germany2025-05-30
1008Brazil2025-06-13
1009Canada2025-05-18
1010Canada2025-05-27
1011Italy2025-05-18
1012Italy2025-05-25
1013Australia2025-06-10
1014Spain2025-06-12
1015India2025-06-16
1016Canada2025-06-14
1017Russia2025-06-05
1018Russia2025-06-15
1019India2025-06-09
1020Brazil2025-06-04
1021Australia2025-06-12
1022Brazil2025-05-28
1023Brazil2025-05-22
1024Spain2025-05-22
1025Russia2025-05-30
1026United Kingdom2025-06-16
1027India2025-05-27
1028Spain2025-06-07
1029Italy2025-05-31
1030Russia2025-05-25
1031Brazil2025-05-18
1032France2025-06-12
1033Canada2025-05-31
1034United Kingdom2025-06-07
1035Germany2025-06-06
1036Canada2025-06-13
1037United Kingdom2025-06-03
1038Canada2025-05-27
1039India2025-06-02
1040Japan2025-05-29
1041Spain2025-06-05
1042France2025-05-22
1043Italy2025-06-06
1044Australia2025-06-16
1045Argentina2025-06-13
1046Italy2025-05-18
1047Germany2025-06-09
1048Argentina2025-05-18
1049Argentina2025-06-03

On-Demand Data

NameIdCountryDate
Deepesh S Whobrey1000France2025-06-13
Rodrigues A Vocelka1001Brazil2025-06-11
Alejandro S Bowley1002Italy2025-05-22
Wickens U Bolognia1003India2025-06-16
Stacey F Inouye1004France2025-06-10
Smith M Marrier1005United Kingdom2025-06-06
Alejandro E Saylors1006Brazil2025-06-10
Faith Z Ruta1007Japan2025-06-10
Julie E Glick1008Australia2025-06-11
Adams G Garufi1009Argentina2025-05-26
Aika O Albares1010France2025-06-11
Juan K Campain1011Russia2025-06-02
Faith O Briddick1012Brazil2025-05-25
Ivar R Oldroyd1013Italy2025-06-08
Jennifer L Figeroa1014Italy2025-05-29
Munro L Kusko1015Argentina2025-06-12
Adams O Flosi1016United Kingdom2025-06-03
Smith P Caudy1017India2025-06-02
Jones B Stenseth1018Brazil2025-06-04
Mayumi P Iturbide1019Australia2025-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair L ButtJapanAsiya Javayant NEW
Jeanfrancois S GillianGermanyAmy Elsner NEGOTIATION
Jeanfrancois Z BologniaAustraliaBernardo Dominic UNQUALIFIED
Misaki K NestleIndiaOnyama Limba PROPOSAL
Murillo E BriddickRussiaAnna Fali NEW
Emily F VocelkaBrazilIvan Magalhaes NEW
Murillo X FlosiAustraliaXuxue Feng UNQUALIFIED
Leja U FlosiItalyAsiya Javayant RENEWAL
Morrow S NickaAustraliaElwin Sharvill PROPOSAL
Nicolas X PaprockiGermanyAnna Fali PROPOSAL
Kaitlin J SaylorsAustraliaElwin Sharvill PROPOSAL
Leon G MacleadFranceBernardo Dominic NEGOTIATION
Aditya Z StockhamArgentinaIvan Magalhaes NEW
Aruna D FerenczJapanAsiya Javayant NEGOTIATION
Isabel P AlbaresItalyStephen Shaw NEGOTIATION
Sinclair I SaylorsGermanyIoni Bowcher PROPOSAL
Kadeem P StensethJapanOnyama Limba PROPOSAL
James Y FlosiBrazilIvan Magalhaes QUALIFIED
James R RutaUnited KingdomOnyama Limba NEGOTIATION
Mujtaba Z NestleUnited KingdomStephen Shaw QUALIFIED
Jefferson L StockhamBrazilElwin Sharvill PROPOSAL
Kaitlin H StensethRussiaElwin Sharvill QUALIFIED
Mujtaba Q RimUnited KingdomAsiya Javayant UNQUALIFIED
Maisha G CampainIndiaXuxue Feng UNQUALIFIED
Francesco Y DarakjySpainBernardo Dominic RENEWAL
Francesco C VenereIndiaAsiya Javayant UNQUALIFIED
Sinclair E FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia B VenereCanadaElwin Sharvill QUALIFIED
Claire I AlbaresCanadaAsiya Javayant PROPOSAL
David J WhobreyIndiaStephen Shaw PROPOSAL
Costa W RulapaughSpainOnyama Limba PROPOSAL
Jeanfrancois Q GarufiCanadaIvan Magalhaes QUALIFIED
Aditya O FollerGermanyBernardo Dominic NEW
Jeanfrancois O MacleadJapanIoni Bowcher UNQUALIFIED
Mujtaba E PerinGermanyStephen Shaw NEW
Aditya S SergiCanadaIoni Bowcher PROPOSAL
Isabel R WaycottBrazilIoni Bowcher QUALIFIED
Smith W WieserIndiaElwin Sharvill UNQUALIFIED
Nicolas Y FollerJapanXuxue Feng NEW
Chavez J CampainBrazilStephen Shaw RENEWAL

<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>