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
James E BologniaBrazilAnna Fali UNQUALIFIED
Alejandro P ChuiCanadaStephen Shaw NEGOTIATION
Murillo T MaletArgentinaAnna Fali PROPOSAL
Darci I WaycottSpainAnna Fali PROPOSAL
Costa X WieserUnited KingdomIvan Magalhaes RENEWAL
Cody S RoysterArgentinaBernardo Dominic UNQUALIFIED
Murillo U SergiFranceAsiya Javayant RENEWAL
Darci T PerinArgentinaIoni Bowcher NEGOTIATION
Maria L CaudyGermanyBernardo Dominic UNQUALIFIED
Jennifer F BologniaRussiaStephen Shaw NEGOTIATION
Wickens Y OstroskyIndiaAnna Fali NEW
Darci O BriddickIndiaOnyama Limba UNQUALIFIED
Leon U BriddickIndiaOnyama Limba NEGOTIATION
Maria W ShinkoRussiaIvan Magalhaes PROPOSAL
Aditya I MaletItalyIvan Magalhaes NEGOTIATION
Johnson G BologniaArgentinaBernardo Dominic RENEWAL
Claire H VenereJapanBernardo Dominic NEGOTIATION
Deepesh P GillianRussiaOnyama Limba PROPOSAL
James M WieserItalyBernardo Dominic QUALIFIED
Costa K MaletAustraliaAmy Elsner PROPOSAL
Juan U RimBrazilIoni Bowcher QUALIFIED
Johnson B SchemmerJapanAsiya Javayant UNQUALIFIED
Jennifer C GillianGermanyElwin Sharvill UNQUALIFIED
Murillo Z DilliardCanadaAnna Fali NEGOTIATION
Darci G DoeAustraliaIoni Bowcher UNQUALIFIED
Silvio H GauchoGermanyAsiya Javayant UNQUALIFIED
Kadeem J MacleadCanadaOnyama Limba RENEWAL
David X StockhamAustraliaStephen Shaw NEW
Izzy H MarrierFranceStephen Shaw PROPOSAL
Rodrigues A FerenczRussiaStephen Shaw QUALIFIED
Smith F GauchoFranceStephen Shaw NEW
Kaitlin C PerinCanadaStephen Shaw NEGOTIATION
Antonio F DilliardSpainOnyama Limba UNQUALIFIED
Morrow F PerinIndiaAnna Fali NEGOTIATION
Maisha J NickaIndiaAmy Elsner UNQUALIFIED
Costa G PerinArgentinaIvan Magalhaes UNQUALIFIED
Wickens R MorascaSpainXuxue Feng PROPOSAL
Octavia E SlusarskiItalyAnna Fali NEGOTIATION
Costa P FerenczJapanStephen Shaw UNQUALIFIED
Ivar J StockhamItalyStephen Shaw PROPOSAL
Francesco E StockhamSpainStephen Shaw NEGOTIATION
Munro R RulapaughFranceXuxue Feng NEGOTIATION
Smith L FerenczCanadaStephen Shaw NEGOTIATION
Arvin P GlickAustraliaBernardo Dominic RENEWAL
Clifford N VocelkaAustraliaIoni Bowcher QUALIFIED
Juan Y VocelkaFranceIoni Bowcher RENEWAL
Chavez U FlosiRussiaIvan Magalhaes RENEWAL
Darci F BowleyArgentinaStephen Shaw RENEWAL
Greenwood T GlickCanadaElwin Sharvill NEW
Jeanfrancois A PoquetteBrazilIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones T KuskoRussiaXuxue Feng QUALIFIED
Salvatore U StockhamArgentinaIoni Bowcher RENEWAL
Nicolas B BriddickCanadaStephen Shaw QUALIFIED
Faith L BowleyBrazilXuxue Feng PROPOSAL
Tony J BriddickRussiaXuxue Feng NEW
Jones Z WaycottAustraliaOnyama Limba PROPOSAL
Greenwood B ChuiAustraliaAmy Elsner NEGOTIATION
Darci M PerinIndiaAnna Fali PROPOSAL
Julie W KolmetzAustraliaIoni Bowcher RENEWAL
Aditya M OldroydIndiaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford R PaprockiItaly2024-05-18Feltz Printing Service PROPOSAL90Elwin Sharvill
1001Alejandro Q KolmetzJapan2024-05-20Truhlar And Truhlar Attys UNQUALIFIED12Ivan Magalhaes
1002Salvatore B KuskoRussia2024-06-09King, Christopher A Esq PROPOSAL85Anna Fali
1003Deepesh J SaylorsRussia2024-05-23King, Christopher A Esq QUALIFIED16Amy Elsner
1004Johnson U KuskoUnited Kingdom2024-05-31Dorl, James J Esq UNQUALIFIED38Stephen Shaw
1005Julie C DoeUnited Kingdom2024-06-08Benton, John B Jr NEW19Asiya Javayant
1006Adams I KuskoUnited Kingdom2024-05-17Chanay, Jeffrey A Esq NEGOTIATION28Ioni Bowcher
1007Chavez D DilliardFrance2024-06-01Dorl, James J Esq QUALIFIED29Ivan Magalhaes
1008Julie X OldroydBrazil2024-05-19King, Christopher A Esq PROPOSAL5Elwin Sharvill
1009Johnson C FigeroaRussia2024-06-05Printing Dimensions UNQUALIFIED66Asiya Javayant
1010Wickens T MaletArgentina2024-05-22Rousseaux, Michael Esq NEW64Ivan Magalhaes
1011Claire M PaprockiArgentina2024-06-05Commercial Press RENEWAL33Ioni Bowcher
1012Leja V RoysterFrance2024-05-22Morlong Associates QUALIFIED23Ioni Bowcher
1013Adams R WhobreyAustralia2024-05-25Chapman, Ross E Esq PROPOSAL27Bernardo Dominic
1014Murillo J MaletItaly2024-06-12Printing Dimensions NEW8Bernardo Dominic
1015Jefferson Z BriddickFrance2024-06-13Chapman, Ross E Esq QUALIFIED32Ivan Magalhaes
1016Francesco X KuskoGermany2024-06-01Feltz Printing Service UNQUALIFIED53Asiya Javayant
1017Kadeem G DarakjyGermany2024-05-17Dorl, James J Esq UNQUALIFIED14Ioni Bowcher
1018Silvio O WaycottFrance2024-05-16Buckley Miller Wright QUALIFIED17Onyama Limba
1019Ivar R StockhamAustralia2024-05-22Benton, John B Jr UNQUALIFIED51Elwin Sharvill
1020Jones J AmigonAustralia2024-06-11Chemel, James L Cpa NEW18Onyama Limba
1021Antonio N GillianArgentina2024-06-04King, Christopher A Esq NEGOTIATION39Ioni Bowcher
1022Sinclair J FollerAustralia2024-05-16Rangoni Of Florence PROPOSAL8Amy Elsner
1023Stacey E SchemmerGermany2024-06-03Morlong Associates NEGOTIATION30Bernardo Dominic
1024Alejandro C GauchoItaly2024-06-02Printing Dimensions UNQUALIFIED71Stephen Shaw
1025Tony A RimItaly2024-06-13Benton, John B Jr NEW29Anna Fali
1026Aika C ShinkoArgentina2024-06-05Printing Dimensions RENEWAL95Xuxue Feng
1027Mujtaba D GauchoItaly2024-05-16Benton, John B Jr QUALIFIED26Asiya Javayant
1028Misaki Z PerinUnited Kingdom2024-06-08Rangoni Of Florence PROPOSAL19Xuxue Feng
1029Octavia R TollnerAustralia2024-05-27King, Christopher A Esq QUALIFIED76Xuxue Feng
1030Jones D FollerSpain2024-06-11Chanay, Jeffrey A Esq NEGOTIATION10Xuxue Feng
1031Juan Y MarrierItaly2024-06-08Chanay, Jeffrey A Esq PROPOSAL56Stephen Shaw
1032Adams Q KuskoUnited Kingdom2024-05-21Chemel, James L Cpa UNQUALIFIED6Stephen Shaw
1033Francesco H RulapaughCanada2024-05-30Printing Dimensions QUALIFIED69Elwin Sharvill
1034Julie V FerenczUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEW8Bernardo Dominic
1035Arvin P GlickUnited Kingdom2024-06-14Printing Dimensions PROPOSAL35Xuxue Feng
1036Darci Y DoeItaly2024-06-03King, Christopher A Esq PROPOSAL72Amy Elsner
1037Antonio Z OstroskyCanada2024-06-07Chemel, James L Cpa PROPOSAL61Xuxue Feng
1038Darci N WieserSpain2024-05-31Chapman, Ross E Esq QUALIFIED33Bernardo Dominic
1039Sinclair E WieserArgentina2024-05-25Morlong Associates UNQUALIFIED53Ioni Bowcher
1040Leja P ShinkoUnited Kingdom2024-06-13Chapman, Ross E Esq RENEWAL20Elwin Sharvill
1041Jennifer H ButtUnited Kingdom2024-06-05Commercial Press NEGOTIATION56Elwin Sharvill
1042Morrow C BowleyAustralia2024-05-19King, Christopher A Esq QUALIFIED23Bernardo Dominic
1043Emily Y OstroskyArgentina2024-05-22King, Christopher A Esq NEW48Stephen Shaw
1044Leja O PoquetteBrazil2024-05-31Chemel, James L Cpa QUALIFIED25Ioni Bowcher
1045Johnson Q MacleadSpain2024-05-27Commercial Press PROPOSAL0Onyama Limba
1046Stacey X MaletArgentina2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED31Stephen Shaw
1047Mujtaba Z VocelkaFrance2024-06-05Truhlar And Truhlar Attys PROPOSAL77Amy Elsner
1048David O FigeroaRussia2024-06-02Commercial Press PROPOSAL92Bernardo Dominic
1049Smith M MorascaRussia2024-05-25Benton, John B Jr UNQUALIFIED62Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Munro O OldroydRussiaBernardo Dominic RENEWAL
Sinclair W AmigonSpainAsiya Javayant RENEWAL
David O DoeRussiaXuxue Feng PROPOSAL
Jennifer Z MarrierJapanIvan Magalhaes UNQUALIFIED
Jones N VocelkaSpainIoni Bowcher RENEWAL
Claire N IturbideBrazilOnyama Limba NEGOTIATION
Morrow C GarufiRussiaIoni Bowcher QUALIFIED
Aditya X RulapaughAustraliaAsiya Javayant NEW
Ashley O BologniaGermanyElwin Sharvill NEGOTIATION
Maisha Z FerenczJapanAsiya Javayant NEGOTIATION
Jones M TollnerIndiaStephen Shaw PROPOSAL
Isabel I VenereIndiaAmy Elsner RENEWAL
Aruna S GlickFranceElwin Sharvill NEW
Julie E GarufiFranceIvan Magalhaes NEGOTIATION
Francesco Q StensethRussiaAsiya Javayant PROPOSAL
Wickens B AmigonBrazilIoni Bowcher UNQUALIFIED
Maisha P InouyeArgentinaIvan Magalhaes NEW
Mujtaba F GlickArgentinaOnyama Limba NEGOTIATION
Aruna O ShinkoArgentinaBernardo Dominic PROPOSAL
Salvatore A MorascaItalyXuxue Feng PROPOSAL
Stacey Q FollerArgentinaElwin Sharvill QUALIFIED
Morrow W StensethJapanElwin Sharvill NEGOTIATION
Deepesh L NickaGermanyBernardo Dominic NEW
Sinclair K OldroydItalyIoni Bowcher UNQUALIFIED
Stacey P TollnerBrazilAsiya Javayant NEGOTIATION
Stacey I AlbaresBrazilIvan Magalhaes NEGOTIATION
David C PoquetteArgentinaBernardo Dominic QUALIFIED
Silvio T BologniaCanadaIvan Magalhaes UNQUALIFIED
Isabel F ChuiFranceAsiya Javayant RENEWAL
Mayumi U MorascaItalyIoni Bowcher RENEWAL
Smith K MarrierArgentinaIvan Magalhaes NEGOTIATION
Salvatore X FerenczItalyElwin Sharvill NEGOTIATION
Smith X SergiArgentinaBernardo Dominic RENEWAL
Mayumi F PaprockiIndiaAnna Fali UNQUALIFIED
Mayumi R PaprockiCanadaAsiya Javayant PROPOSAL
Isabel R CampainSpainStephen Shaw NEGOTIATION
Greenwood S StockhamArgentinaIoni Bowcher PROPOSAL
Cody H OldroydBrazilAnna Fali UNQUALIFIED
Emily M RimBrazilElwin Sharvill RENEWAL
Kadeem N MaletAustraliaElwin Sharvill NEGOTIATION
Claire O ShinkoCanadaIvan Magalhaes RENEWAL
Jennifer G IturbideAustraliaIvan Magalhaes NEW
Adams B RulapaughBrazilOnyama Limba QUALIFIED
Ivar V SaylorsItalyIvan Magalhaes NEW
Rodrigues Y MorascaArgentinaBernardo Dominic RENEWAL
Maria Y FollerSpainAmy Elsner UNQUALIFIED
Costa K CaudyFranceStephen Shaw RENEWAL
Murillo G AmigonArgentinaAsiya Javayant QUALIFIED
Salvatore X SaylorsItalyElwin Sharvill UNQUALIFIED
Morrow R GillianGermanyAsiya Javayant NEW
Frozen Columns
Name
Nicolas B Flosi
Juan S Glick
Smith C Maclead
Izzy T Iturbide
Antonio R Amigon
Aruna Y Ruta
Morrow U Gillian
Jeanfrancois R Glick
Aditya W Rulapaugh
Mujtaba Q Waycott
Munro F Slusarski
Greenwood N Malet
Isabel M Kolmetz
Faith I Darakjy
Ashley C Caldarera
David R Gillian
Clifford S Schemmer
Chavez E Briddick
Mayumi K Iturbide
Alejandro Q Slusarski
Costa U Gaucho
Jeanfrancois E Morasca
Munro Y Kolmetz
Aruna K Nestle
Munro C Flosi
Darci H Dilliard
Jones C Morasca
Darci R Vocelka
Adams J Stenseth
Maisha H Butt
Arvin C Glick
Johnson C Stenseth
David P Butt
Maria V Gaucho
Izzy H Caldarera
Adams N Dilliard
Mujtaba R Rulapaugh
Silvio E Whobrey
Nicolas X Glick
Aditya P Perin
Mujtaba Q Wieser
Isabel Y Amigon
Cody X Ferencz
Cody O Venere
Izzy E Stockham
Cody H Figeroa
Aika R Paprocki
Sinclair X Sergi
Alejandro Q Albares
Aika Z Ostrosky
IdCountryDate
1000Russia2024-05-29
1001India2024-05-26
1002France2024-06-13
1003Brazil2024-05-16
1004Japan2024-05-28
1005Spain2024-06-10
1006Italy2024-05-31
1007Japan2024-06-07
1008India2024-05-16
1009Australia2024-05-22
1010United Kingdom2024-05-16
1011Italy2024-05-27
1012France2024-06-11
1013Canada2024-06-04
1014Spain2024-05-25
1015Brazil2024-05-16
1016Japan2024-05-25
1017Russia2024-05-24
1018Russia2024-06-05
1019Brazil2024-06-11
1020United Kingdom2024-05-22
1021Canada2024-05-18
1022Spain2024-06-01
1023Japan2024-06-05
1024United Kingdom2024-06-05
1025Brazil2024-06-06
1026Russia2024-06-14
1027Brazil2024-06-02
1028Japan2024-05-21
1029Australia2024-05-31
1030Japan2024-05-28
1031Australia2024-05-19
1032Spain2024-05-18
1033Argentina2024-06-09
1034Brazil2024-06-13
1035Russia2024-05-22
1036France2024-05-24
1037Argentina2024-05-18
1038Canada2024-06-05
1039Spain2024-06-06
1040France2024-05-19
1041Brazil2024-05-23
1042Japan2024-05-30
1043Argentina2024-06-14
1044Italy2024-06-14
1045Japan2024-05-24
1046Japan2024-06-05
1047Spain2024-05-23
1048Argentina2024-05-27
1049Spain2024-06-02

On-Demand Data

NameIdCountryDate
Chavez E Caudy1000Canada2024-06-08
Costa Y Tollner1001United Kingdom2024-05-16
Rodrigues W Ruta1002France2024-05-24
Silvio N Tollner1003Japan2024-05-20
Chavez E Tollner1004France2024-05-31
Greenwood X Bolognia1005Russia2024-05-22
Isabel F Doe1006Canada2024-05-23
Smith C Poquette1007Russia2024-06-14
Isabel J Bolognia1008Russia2024-05-29
Silvio K Malet1009Argentina2024-05-20
Greenwood F Ruta1010Australia2024-05-27
Murillo V Oldroyd1011India2024-06-09
Sinclair S Foller1012Australia2024-05-27
Leon G Butt1013Australia2024-05-26
Maisha D Doe1014Argentina2024-05-23
Mujtaba D Shinko1015Brazil2024-06-02
Rodrigues U Ruta1016Germany2024-06-10
Aruna S Ruta1017United Kingdom2024-05-25
Adams I Bowley1018Brazil2024-06-03
Isabel A Bolognia1019Russia2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio V GillianGermanyIoni Bowcher UNQUALIFIED
Ricardo B GlickCanadaIvan Magalhaes PROPOSAL
Leja S PaprockiAustraliaOnyama Limba QUALIFIED
Murillo K VenereBrazilOnyama Limba UNQUALIFIED
Chavez Y MaletSpainIoni Bowcher PROPOSAL
Jeanfrancois U BriddickAustraliaOnyama Limba RENEWAL
Adams E DilliardCanadaAmy Elsner PROPOSAL
Leja Q RulapaughCanadaBernardo Dominic PROPOSAL
Isabel T SchemmerAustraliaXuxue Feng PROPOSAL
Stacey L OstroskyRussiaStephen Shaw NEGOTIATION
Izzy Q DoeUnited KingdomIvan Magalhaes QUALIFIED
Arvin N BriddickGermanyStephen Shaw NEW
Jeanfrancois T KolmetzRussiaXuxue Feng PROPOSAL
Maria S MacleadFranceStephen Shaw QUALIFIED
Emily I OldroydArgentinaBernardo Dominic UNQUALIFIED
Salvatore U OldroydRussiaIvan Magalhaes NEGOTIATION
Munro F GillianJapanBernardo Dominic NEGOTIATION
Emily X TollnerFranceAmy Elsner NEW
Claire N RulapaughCanadaAnna Fali RENEWAL
Stacey V OstroskySpainOnyama Limba QUALIFIED
Faith P SchemmerSpainOnyama Limba NEW
Smith B WieserJapanIoni Bowcher PROPOSAL
Chavez V DilliardItalyXuxue Feng QUALIFIED
Izzy I VocelkaUnited KingdomStephen Shaw RENEWAL
Nicolas L WieserFranceStephen Shaw RENEWAL
Leja W SchemmerRussiaStephen Shaw RENEWAL
Leja S WaycottCanadaBernardo Dominic UNQUALIFIED
Kaitlin E RutaFranceAsiya Javayant NEW
Smith R BowleyUnited KingdomStephen Shaw UNQUALIFIED
Julie D AlbaresGermanyElwin Sharvill NEW
Francesco C OstroskyCanadaIvan Magalhaes RENEWAL
Morrow I RulapaughSpainAmy Elsner PROPOSAL
Ashley V GillianBrazilStephen Shaw PROPOSAL
Jones R GillianItalyIvan Magalhaes NEGOTIATION
Costa S SlusarskiItalyXuxue Feng QUALIFIED
Murillo N BologniaSpainIvan Magalhaes RENEWAL
Tony J WhobreyCanadaStephen Shaw RENEWAL
Nicolas G GillianSpainXuxue Feng NEW
Jones U PerinJapanXuxue Feng PROPOSAL
Smith S CaudyFranceOnyama Limba 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>