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
Antonio L ChuiJapanIoni Bowcher NEW
Juan J WhobreySpainAmy Elsner RENEWAL
James Z RulapaughGermanyAnna Fali PROPOSAL
Francesco Q MacleadJapanAnna Fali NEGOTIATION
Jefferson I IturbideIndiaOnyama Limba NEW
Leja R BriddickRussiaAsiya Javayant UNQUALIFIED
James W FollerCanadaBernardo Dominic NEW
Izzy L InouyeBrazilAsiya Javayant UNQUALIFIED
Isabel G AlbaresArgentinaIvan Magalhaes QUALIFIED
Deepesh W SlusarskiArgentinaIoni Bowcher QUALIFIED
Octavia E DilliardArgentinaBernardo Dominic PROPOSAL
Adams N OstroskyAustraliaXuxue Feng QUALIFIED
Mujtaba X NickaItalyIoni Bowcher QUALIFIED
Tony L FollerBrazilElwin Sharvill NEW
Francesco K ChuiUnited KingdomIoni Bowcher QUALIFIED
Wickens F DilliardUnited KingdomAnna Fali PROPOSAL
Kaitlin W FerenczCanadaAsiya Javayant QUALIFIED
Salvatore D FigeroaAustraliaElwin Sharvill QUALIFIED
Kaitlin D MaletAustraliaAnna Fali NEGOTIATION
Greenwood G RimJapanAsiya Javayant QUALIFIED
Aika F DarakjyArgentinaIoni Bowcher NEW
Kaitlin U GlickCanadaStephen Shaw NEGOTIATION
Stacey P ShinkoFranceAsiya Javayant QUALIFIED
Ashley F MaletUnited KingdomElwin Sharvill NEGOTIATION
Maria D NestleUnited KingdomIoni Bowcher RENEWAL
James V SlusarskiArgentinaAnna Fali UNQUALIFIED
Costa A DarakjySpainStephen Shaw NEW
Smith O BriddickArgentinaIoni Bowcher NEGOTIATION
Misaki N BowleyCanadaAmy Elsner PROPOSAL
Costa C MarrierBrazilAmy Elsner UNQUALIFIED
Leja R OstroskyJapanOnyama Limba UNQUALIFIED
Ricardo M RimItalyBernardo Dominic NEGOTIATION
Aruna L InouyeSpainIvan Magalhaes NEGOTIATION
Leja Q MaletCanadaAmy Elsner UNQUALIFIED
Jennifer D DoeSpainAmy Elsner UNQUALIFIED
Aditya K TollnerItalyIvan Magalhaes NEGOTIATION
Aditya Z NickaCanadaStephen Shaw NEW
Emily C ButtRussiaIoni Bowcher UNQUALIFIED
Kadeem Q FlosiAustraliaElwin Sharvill UNQUALIFIED
Salvatore X AmigonSpainAmy Elsner NEW
Adams V NickaBrazilXuxue Feng QUALIFIED
Mujtaba Q WieserCanadaBernardo Dominic RENEWAL
Aika E CaldareraSpainAmy Elsner UNQUALIFIED
Arvin D BologniaIndiaStephen Shaw QUALIFIED
Ricardo T StockhamItalyAnna Fali NEGOTIATION
Deepesh D DilliardIndiaElwin Sharvill NEGOTIATION
Morrow V ButtSpainBernardo Dominic RENEWAL
Ashley X BowleyAustraliaStephen Shaw RENEWAL
Ivar B NestleFranceAmy Elsner RENEWAL
Arvin K WaycottFranceXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood K NickaAustraliaAnna Fali PROPOSAL
Mujtaba E CaudySpainBernardo Dominic PROPOSAL
Ricardo O WhobreyArgentinaAsiya Javayant PROPOSAL
Claire M InouyeIndiaElwin Sharvill RENEWAL
Faith X OldroydItalyOnyama Limba NEGOTIATION
Jeanfrancois G TollnerAustraliaXuxue Feng PROPOSAL
Jeanfrancois H DilliardUnited KingdomStephen Shaw NEW
Munro S AlbaresUnited KingdomAnna Fali QUALIFIED
Ashley Z KolmetzArgentinaStephen Shaw QUALIFIED
Mujtaba K NickaIndiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki A ShinkoItaly2024-06-07Truhlar And Truhlar Attys NEW68Amy Elsner
1001James D BowleyFrance2024-06-02Feltz Printing Service UNQUALIFIED64Stephen Shaw
1002Deepesh F PaprockiRussia2024-06-14Rousseaux, Michael Esq UNQUALIFIED34Bernardo Dominic
1003Faith V InouyeGermany2024-06-03Rousseaux, Michael Esq QUALIFIED91Onyama Limba
1004Jefferson E SlusarskiSpain2024-06-09Printing Dimensions QUALIFIED55Anna Fali
1005Mayumi W WaycottArgentina2024-06-08Printing Dimensions NEW57Ivan Magalhaes
1006Mayumi U VocelkaFrance2024-06-17Truhlar And Truhlar Attys UNQUALIFIED13Ivan Magalhaes
1007Wickens V RulapaughArgentina2024-06-17Chapman, Ross E Esq PROPOSAL58Ivan Magalhaes
1008Claire W KolmetzAustralia2024-06-02Benton, John B Jr QUALIFIED36Ivan Magalhaes
1009Johnson B RulapaughUnited Kingdom2024-06-03Chapman, Ross E Esq QUALIFIED6Elwin Sharvill
1010Kaitlin F NickaUnited Kingdom2024-06-07King, Christopher A Esq PROPOSAL80Stephen Shaw
1011Chavez A ButtRussia2024-06-02Feiner Bros PROPOSAL31Amy Elsner
1012Greenwood J NickaIndia2024-06-07King, Christopher A Esq NEGOTIATION15Bernardo Dominic
1013Stacey U WaycottArgentina2024-05-31Buckley Miller Wright UNQUALIFIED12Ioni Bowcher
1014Arvin U AlbaresCanada2024-05-26King, Christopher A Esq PROPOSAL36Ivan Magalhaes
1015Izzy V DoeCanada2024-06-01King, Christopher A Esq UNQUALIFIED8Asiya Javayant
1016James T MorascaBrazil2024-05-30Morlong Associates NEGOTIATION30Stephen Shaw
1017Arvin A GarufiRussia2024-06-03Chapman, Ross E Esq QUALIFIED73Asiya Javayant
1018Murillo D BriddickJapan2024-06-04Truhlar And Truhlar Attys UNQUALIFIED48Asiya Javayant
1019Antonio H StockhamSpain2024-06-16Truhlar And Truhlar Attys NEW98Elwin Sharvill
1020Jefferson M SergiGermany2024-05-30Chemel, James L Cpa UNQUALIFIED62Stephen Shaw
1021Alejandro R FollerArgentina2024-06-20Buckley Miller Wright PROPOSAL3Xuxue Feng
1022Emily B StensethSpain2024-05-31King, Christopher A Esq UNQUALIFIED33Onyama Limba
1023Kadeem L DilliardItaly2024-06-03King, Christopher A Esq QUALIFIED47Stephen Shaw
1024Darci U IturbideItaly2024-06-18Chanay, Jeffrey A Esq NEGOTIATION64Amy Elsner
1025Aditya Z NestleCanada2024-06-01Rousseaux, Michael Esq PROPOSAL21Anna Fali
1026Murillo T GarufiIndia2024-06-14King, Christopher A Esq RENEWAL76Ivan Magalhaes
1027Francesco S FigeroaFrance2024-06-22Morlong Associates PROPOSAL33Ioni Bowcher
1028James K GarufiArgentina2024-06-07Buckley Miller Wright RENEWAL43Anna Fali
1029Smith F MarrierSpain2024-06-23Buckley Miller Wright PROPOSAL95Ioni Bowcher
1030Leon Z SaylorsIndia2024-05-28King, Christopher A Esq QUALIFIED61Ivan Magalhaes
1031Sinclair L ShinkoBrazil2024-06-17Truhlar And Truhlar Attys NEGOTIATION67Amy Elsner
1032Jennifer J BowleyGermany2024-06-13Chemel, James L Cpa RENEWAL16Ioni Bowcher
1033Murillo Q RoysterSpain2024-05-30Feiner Bros QUALIFIED1Onyama Limba
1034Juan S FigeroaCanada2024-06-12King, Christopher A Esq PROPOSAL19Amy Elsner
1035Aruna I WaycottIndia2024-06-12Rangoni Of Florence QUALIFIED96Asiya Javayant
1036Smith Q VocelkaIndia2024-06-07Printing Dimensions QUALIFIED14Asiya Javayant
1037Kadeem L StensethUnited Kingdom2024-05-31Feiner Bros PROPOSAL59Stephen Shaw
1038Misaki I PaprockiCanada2024-06-08Chemel, James L Cpa NEGOTIATION31Anna Fali
1039Morrow S GauchoJapan2024-06-12Truhlar And Truhlar Attys QUALIFIED87Anna Fali
1040Wickens S PaprockiJapan2024-06-02Dorl, James J Esq RENEWAL88Xuxue Feng
1041Deepesh T FlosiUnited Kingdom2024-05-31Buckley Miller Wright NEGOTIATION82Xuxue Feng
1042Greenwood I PerinItaly2024-06-18King, Christopher A Esq QUALIFIED1Xuxue Feng
1043Silvio D FlosiUnited Kingdom2024-06-23King, Christopher A Esq RENEWAL26Amy Elsner
1044Julie P DarakjyBrazil2024-06-09Buckley Miller Wright PROPOSAL30Asiya Javayant
1045Johnson I IturbideJapan2024-06-07Rousseaux, Michael Esq UNQUALIFIED97Onyama Limba
1046Cody R MarrierRussia2024-06-09Dorl, James J Esq RENEWAL21Anna Fali
1047Cody D GlickSpain2024-06-12Chanay, Jeffrey A Esq QUALIFIED41Anna Fali
1048Nicolas M FigeroaGermany2024-06-23Dorl, James J Esq NEGOTIATION9Elwin Sharvill
1049David S CaudyAustralia2024-05-29King, Christopher A Esq QUALIFIED62Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Munro W OstroskyCanadaXuxue Feng NEW
Octavia K SlusarskiSpainAnna Fali NEGOTIATION
Mayumi I RimRussiaIoni Bowcher QUALIFIED
Deepesh R StockhamSpainOnyama Limba RENEWAL
Tony Z DilliardRussiaXuxue Feng PROPOSAL
Chavez T WhobreyAustraliaXuxue Feng PROPOSAL
Emily U PaprockiAustraliaXuxue Feng PROPOSAL
Munro P ChuiSpainXuxue Feng UNQUALIFIED
Ivar H CaudyIndiaElwin Sharvill QUALIFIED
Ivar Q FigeroaIndiaOnyama Limba PROPOSAL
Costa E RimItalyAmy Elsner NEGOTIATION
Deepesh R WieserGermanyOnyama Limba NEW
Emily P StockhamBrazilIvan Magalhaes PROPOSAL
Costa I CaldareraBrazilBernardo Dominic UNQUALIFIED
Maria Q OstroskyCanadaIvan Magalhaes NEGOTIATION
Antonio X SergiUnited KingdomAmy Elsner RENEWAL
Mayumi F VocelkaAustraliaAmy Elsner NEW
Misaki T IturbideIndiaStephen Shaw PROPOSAL
Mujtaba L BriddickUnited KingdomElwin Sharvill NEW
Maisha J ButtFranceIvan Magalhaes QUALIFIED
Arvin D VocelkaItalyBernardo Dominic RENEWAL
Claire G ShinkoRussiaBernardo Dominic UNQUALIFIED
Deepesh S WaycottJapanIvan Magalhaes QUALIFIED
Alejandro H BowleyGermanyAmy Elsner QUALIFIED
Antonio F GauchoFranceAsiya Javayant NEW
Misaki Q NestleBrazilIoni Bowcher PROPOSAL
James V WhobreyCanadaIoni Bowcher UNQUALIFIED
James F FigeroaCanadaStephen Shaw NEW
Ivar F NestleRussiaAsiya Javayant RENEWAL
Greenwood H InouyeIndiaBernardo Dominic QUALIFIED
Octavia T CampainUnited KingdomXuxue Feng PROPOSAL
Jennifer T SaylorsRussiaAsiya Javayant QUALIFIED
Darci E CampainAustraliaStephen Shaw PROPOSAL
Ashley V AmigonBrazilIvan Magalhaes PROPOSAL
Maisha M BologniaArgentinaIvan Magalhaes NEW
Kaitlin C PaprockiArgentinaStephen Shaw RENEWAL
Costa J GlickCanadaStephen Shaw RENEWAL
Leja I CaudyJapanIvan Magalhaes NEGOTIATION
Adams Z RoysterUnited KingdomAnna Fali NEW
Aika Y RimUnited KingdomStephen Shaw NEW
Cody D FlosiSpainStephen Shaw RENEWAL
Cody W TollnerRussiaAsiya Javayant PROPOSAL
Misaki C FlosiCanadaOnyama Limba PROPOSAL
Greenwood O BowleyItalyBernardo Dominic UNQUALIFIED
Stacey Q StensethIndiaIvan Magalhaes QUALIFIED
Arvin E TollnerJapanElwin Sharvill NEGOTIATION
Julie S GauchoFranceAmy Elsner UNQUALIFIED
Emily C DoeAustraliaAsiya Javayant PROPOSAL
Aditya C MaletUnited KingdomOnyama Limba UNQUALIFIED
Maria N StockhamBrazilIvan Magalhaes QUALIFIED
Frozen Columns
Name
Juan N Ruta
Wickens J Flosi
Julie B Stockham
Adams K Chui
Morrow A Schemmer
Misaki A Gaucho
Emily W Ruta
Darci Z Inouye
Ashley A Gillian
Aika N Caudy
Alejandro C Maclead
Maisha J Malet
Greenwood E Gaucho
Maisha A Perin
Murillo B Morasca
Julie C Ostrosky
Faith M Amigon
Smith W Shinko
Maria H Royster
Clifford W Gaucho
James V Caudy
Leon W Shinko
Mayumi T Rulapaugh
Wickens Y Stockham
Ashley V Malet
Maria L Bowley
Maria W Oldroyd
Johnson M Malet
Chavez E Perin
Jones T Caldarera
Isabel W Briddick
Claire J Royster
Aika I Butt
Emily X Stenseth
Costa G Saylors
Claire I Poquette
Kaitlin C Wieser
Izzy W Slusarski
Leja L Gaucho
Wickens J Gillian
Salvatore E Paprocki
Izzy P Tollner
Wickens Y Dilliard
Ricardo E Caudy
Adams D Briddick
Costa X Rim
Ashley U Maclead
Chavez X Nestle
Ricardo D Stenseth
Aditya B Flosi
IdCountryDate
1000Brazil2024-06-05
1001United Kingdom2024-05-28
1002Russia2024-06-14
1003Australia2024-06-02
1004Australia2024-06-09
1005India2024-06-19
1006Russia2024-06-21
1007Italy2024-06-20
1008Japan2024-06-11
1009France2024-06-11
1010United Kingdom2024-05-26
1011Germany2024-06-16
1012France2024-06-04
1013United Kingdom2024-06-13
1014Russia2024-05-30
1015India2024-06-01
1016United Kingdom2024-05-31
1017Argentina2024-06-08
1018Russia2024-06-11
1019Argentina2024-06-22
1020Argentina2024-05-26
1021Japan2024-06-16
1022Canada2024-05-27
1023Spain2024-06-17
1024India2024-06-05
1025France2024-05-31
1026Spain2024-06-17
1027India2024-06-11
1028Canada2024-05-27
1029United Kingdom2024-05-27
1030Australia2024-06-11
1031Italy2024-06-05
1032Canada2024-06-12
1033Russia2024-06-01
1034Canada2024-06-08
1035Australia2024-06-14
1036Argentina2024-06-11
1037India2024-06-03
1038Japan2024-05-29
1039Italy2024-06-14
1040India2024-06-03
1041France2024-05-30
1042Brazil2024-05-30
1043Spain2024-06-17
1044Japan2024-05-28
1045Canada2024-06-06
1046Russia2024-06-10
1047Brazil2024-05-27
1048Russia2024-06-01
1049Germany2024-06-18

On-Demand Data

NameIdCountryDate
Stacey G Slusarski1000Russia2024-06-17
Isabel Q Bowley1001United Kingdom2024-06-10
Maria E Stenseth1002Italy2024-05-31
Leon K Oldroyd1003India2024-06-16
Maisha Q Gillian1004Spain2024-06-15
Francesco B Paprocki1005Japan2024-06-14
Mujtaba Z Stockham1006Italy2024-06-14
Julie D Glick1007Argentina2024-06-21
Francesco V Schemmer1008Japan2024-06-12
Ricardo M Gillian1009Argentina2024-06-12
Leja I Iturbide1010Brazil2024-06-15
Antonio Q Campain1011United Kingdom2024-06-01
Kadeem B Oldroyd1012Argentina2024-06-15
Smith R Tollner1013Argentina2024-06-15
Chavez G Nestle1014Argentina2024-05-31
Stacey Q Nestle1015Russia2024-06-15
Munro G Glick1016India2024-06-01
Maria P Shinko1017Germany2024-06-11
Julie G Vocelka1018Australia2024-06-02
Jeanfrancois L Morasca1019Germany2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams U SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Jefferson S BologniaItalyElwin Sharvill QUALIFIED
Silvio C FlosiItalyAnna Fali QUALIFIED
Kaitlin I GlickSpainAmy Elsner RENEWAL
Rodrigues U KuskoBrazilAsiya Javayant QUALIFIED
Aika H FollerCanadaStephen Shaw NEW
Juan D CaudyCanadaAsiya Javayant PROPOSAL
Kaitlin D SlusarskiSpainStephen Shaw QUALIFIED
Kaitlin C FollerRussiaAmy Elsner QUALIFIED
Misaki D VocelkaBrazilIvan Magalhaes NEW
Arvin N SchemmerItalyXuxue Feng NEW
Francesco H ShinkoAustraliaOnyama Limba RENEWAL
Murillo I SergiGermanyBernardo Dominic RENEWAL
Maria S ButtRussiaStephen Shaw QUALIFIED
Mujtaba J FollerBrazilStephen Shaw PROPOSAL
Jefferson Z SergiUnited KingdomAsiya Javayant NEGOTIATION
Octavia U IturbideBrazilBernardo Dominic NEGOTIATION
Claire K CampainFranceOnyama Limba QUALIFIED
Ricardo R StockhamIndiaElwin Sharvill UNQUALIFIED
Juan F GarufiIndiaBernardo Dominic UNQUALIFIED
Rodrigues B GillianUnited KingdomIoni Bowcher NEGOTIATION
Aika N MarrierSpainAnna Fali NEW
Jeanfrancois F DoeFranceIoni Bowcher NEW
Costa W RulapaughBrazilXuxue Feng RENEWAL
Misaki Q KuskoSpainBernardo Dominic RENEWAL
Emily H RutaUnited KingdomOnyama Limba NEW
Silvio H RimArgentinaIoni Bowcher NEGOTIATION
Smith C BowleyFranceAsiya Javayant PROPOSAL
Tony J RutaSpainAmy Elsner NEW
Salvatore N BowleyArgentinaBernardo Dominic NEW
Munro W MaletFranceStephen Shaw RENEWAL
Jennifer G CampainRussiaStephen Shaw PROPOSAL
Aruna B SergiFranceXuxue Feng PROPOSAL
Mujtaba L GlickUnited KingdomXuxue Feng UNQUALIFIED
Octavia X CaudyUnited KingdomAmy Elsner QUALIFIED
Maria P ChuiSpainElwin Sharvill NEW
Leon O MaletBrazilIvan Magalhaes QUALIFIED
Greenwood R DilliardRussiaStephen Shaw PROPOSAL
Antonio N DilliardIndiaAmy Elsner PROPOSAL
Murillo J GauchoRussiaXuxue Feng NEGOTIATION

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