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
Mayumi G DarakjyGermanyElwin Sharvill QUALIFIED
Greenwood X SaylorsItalyIvan Magalhaes QUALIFIED
Sinclair Y FerenczIndiaAsiya Javayant PROPOSAL
Kaitlin Y StockhamUnited KingdomBernardo Dominic QUALIFIED
Francesco C GillianFranceStephen Shaw NEGOTIATION
Aditya J MacleadUnited KingdomAmy Elsner NEGOTIATION
Claire H CampainJapanIvan Magalhaes UNQUALIFIED
Faith Q NestleJapanAsiya Javayant RENEWAL
Kaitlin P AmigonSpainAmy Elsner NEGOTIATION
Kaitlin B BologniaRussiaOnyama Limba UNQUALIFIED
Salvatore L NestleItalyAmy Elsner QUALIFIED
Johnson V GauchoGermanyIvan Magalhaes QUALIFIED
Darci M MarrierBrazilOnyama Limba UNQUALIFIED
Mayumi W BologniaItalyAsiya Javayant QUALIFIED
Kaitlin M FigeroaCanadaAnna Fali UNQUALIFIED
Tony P KolmetzRussiaElwin Sharvill PROPOSAL
Aruna S WhobreyRussiaAmy Elsner NEGOTIATION
Smith M DoeItalyXuxue Feng RENEWAL
Morrow H RoysterJapanIoni Bowcher UNQUALIFIED
Nicolas G StensethBrazilXuxue Feng QUALIFIED
Izzy X DoeUnited KingdomOnyama Limba UNQUALIFIED
Izzy V SlusarskiBrazilAnna Fali PROPOSAL
Jeanfrancois T DarakjySpainAsiya Javayant QUALIFIED
Rodrigues S TollnerRussiaOnyama Limba QUALIFIED
Morrow G PoquetteArgentinaStephen Shaw NEW
Tony R SergiUnited KingdomStephen Shaw RENEWAL
Johnson C VocelkaBrazilOnyama Limba NEGOTIATION
Cody D VenereArgentinaStephen Shaw RENEWAL
Faith H StensethBrazilAnna Fali NEW
Maisha O MaletRussiaElwin Sharvill RENEWAL
Silvio A DarakjyUnited KingdomIvan Magalhaes NEW
Juan O MacleadCanadaOnyama Limba RENEWAL
Aruna E IturbideItalyOnyama Limba QUALIFIED
Aruna T WaycottRussiaElwin Sharvill RENEWAL
Kaitlin X FigeroaSpainIvan Magalhaes NEGOTIATION
Silvio V RoysterSpainAsiya Javayant UNQUALIFIED
Nicolas C MaletAustraliaStephen Shaw NEGOTIATION
Ashley S BologniaFranceOnyama Limba NEW
Aika G CampainJapanIoni Bowcher QUALIFIED
Leon Q DoeArgentinaIvan Magalhaes RENEWAL
Jones Y MaletFranceAnna Fali UNQUALIFIED
Johnson F SaylorsUnited KingdomAnna Fali NEW
Antonio H OstroskySpainIvan Magalhaes PROPOSAL
Cody C NickaBrazilOnyama Limba RENEWAL
Maria A AlbaresFranceElwin Sharvill UNQUALIFIED
Mayumi R SergiAustraliaXuxue Feng PROPOSAL
Leon I FlosiIndiaIvan Magalhaes NEW
Ricardo X WhobreyArgentinaStephen Shaw NEGOTIATION
Salvatore O CaldareraCanadaBernardo Dominic NEGOTIATION
Ivar F GillianGermanyStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire D OldroydSpainIoni Bowcher QUALIFIED
Tony D DarakjyIndiaElwin Sharvill RENEWAL
Jennifer I ChuiIndiaXuxue Feng UNQUALIFIED
Ricardo G SlusarskiGermanyIoni Bowcher RENEWAL
David X ShinkoSpainXuxue Feng NEW
Adams V KolmetzGermanyBernardo Dominic NEW
Chavez L WieserJapanElwin Sharvill UNQUALIFIED
Salvatore H DilliardFranceAnna Fali NEW
Mujtaba A SaylorsArgentinaStephen Shaw NEW
Aruna W ChuiBrazilBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan D AmigonBrazil2025-04-05Feiner Bros NEGOTIATION67Onyama Limba
1001Costa K OstroskySpain2025-04-22Commercial Press NEW79Xuxue Feng
1002Salvatore C CampainCanada2025-04-09Dorl, James J Esq PROPOSAL43Elwin Sharvill
1003Maria Z RutaJapan2025-04-10Chanay, Jeffrey A Esq QUALIFIED88Onyama Limba
1004Claire X PerinJapan2025-04-11Printing Dimensions PROPOSAL90Anna Fali
1005Aruna R ShinkoArgentina2025-04-28Benton, John B Jr RENEWAL43Ioni Bowcher
1006Maisha A RoysterGermany2025-04-01Rangoni Of Florence UNQUALIFIED32Ioni Bowcher
1007Aruna N CaudyAustralia2025-04-08Feiner Bros PROPOSAL38Amy Elsner
1008Salvatore M SaylorsBrazil2025-04-28Rousseaux, Michael Esq RENEWAL96Onyama Limba
1009Julie W IturbideSpain2025-04-29Chapman, Ross E Esq PROPOSAL59Amy Elsner
1010Munro J BologniaCanada2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED51Ivan Magalhaes
1011Misaki O StockhamCanada2025-04-12Printing Dimensions NEGOTIATION42Ivan Magalhaes
1012Arvin T DarakjyArgentina2025-04-21Printing Dimensions NEW29Anna Fali
1013Nicolas W WaycottItaly2025-04-29Feiner Bros PROPOSAL34Stephen Shaw
1014Tony T PoquetteArgentina2025-04-21Dorl, James J Esq QUALIFIED81Anna Fali
1015Mayumi Y PerinJapan2025-03-31Feiner Bros NEGOTIATION75Amy Elsner
1016Jeanfrancois L MaletJapan2025-04-19King, Christopher A Esq RENEWAL80Ivan Magalhaes
1017Ricardo O RutaFrance2025-04-01Chemel, James L Cpa RENEWAL63Ioni Bowcher
1018Greenwood Y VenereUnited Kingdom2025-04-19Printing Dimensions NEW68Xuxue Feng
1019Francesco A BologniaIndia2025-04-22Dorl, James J Esq QUALIFIED16Ioni Bowcher
1020James W PaprockiItaly2025-04-19Chanay, Jeffrey A Esq QUALIFIED92Bernardo Dominic
1021James P SlusarskiCanada2025-04-19Feiner Bros NEW33Elwin Sharvill
1022Costa L KuskoItaly2025-04-07Benton, John B Jr NEW75Asiya Javayant
1023Mujtaba X KolmetzJapan2025-04-08Feiner Bros NEGOTIATION92Ivan Magalhaes
1024Ashley C BowleyUnited Kingdom2025-04-12Buckley Miller Wright NEGOTIATION26Ioni Bowcher
1025James B RulapaughAustralia2025-04-23Morlong Associates PROPOSAL76Amy Elsner
1026Maria S PaprockiFrance2025-04-19Buckley Miller Wright NEGOTIATION84Anna Fali
1027Aruna X MacleadAustralia2025-04-18Chemel, James L Cpa PROPOSAL98Ivan Magalhaes
1028David A VenereIndia2025-04-04Morlong Associates UNQUALIFIED54Ioni Bowcher
1029Leon U ShinkoSpain2025-04-22Feltz Printing Service QUALIFIED93Ioni Bowcher
1030Salvatore V DilliardItaly2025-04-11Buckley Miller Wright NEGOTIATION26Amy Elsner
1031Jeanfrancois T StockhamSpain2025-04-27Chapman, Ross E Esq PROPOSAL45Bernardo Dominic
1032Leja K SchemmerBrazil2025-04-26King, Christopher A Esq NEW87Bernardo Dominic
1033Mujtaba Y VocelkaArgentina2025-04-21Morlong Associates NEGOTIATION7Xuxue Feng
1034Claire C MacleadBrazil2025-04-03Buckley Miller Wright UNQUALIFIED1Stephen Shaw
1035Rodrigues E StockhamAustralia2025-04-07Printing Dimensions UNQUALIFIED94Xuxue Feng
1036Ashley Q RulapaughItaly2025-04-20Benton, John B Jr RENEWAL10Asiya Javayant
1037Tony N MaletUnited Kingdom2025-04-04Truhlar And Truhlar Attys NEGOTIATION29Ioni Bowcher
1038Jefferson P PaprockiSpain2025-04-28Benton, John B Jr PROPOSAL54Ioni Bowcher
1039Aika S GarufiItaly2025-04-21Feltz Printing Service PROPOSAL72Ioni Bowcher
1040Aruna V StensethFrance2025-04-26Morlong Associates NEGOTIATION77Elwin Sharvill
1041Silvio L DarakjyUnited Kingdom2025-04-18Commercial Press RENEWAL31Asiya Javayant
1042Maria U VenereRussia2025-04-23Truhlar And Truhlar Attys PROPOSAL77Ioni Bowcher
1043Arvin R PerinGermany2025-04-06Chemel, James L Cpa PROPOSAL32Bernardo Dominic
1044Sinclair G WieserRussia2025-04-13King, Christopher A Esq PROPOSAL53Onyama Limba
1045Rodrigues N TollnerCanada2025-04-26Dorl, James J Esq QUALIFIED80Amy Elsner
1046Leja S KolmetzIndia2025-04-08Feiner Bros PROPOSAL90Xuxue Feng
1047Claire R PoquetteIndia2025-04-29Chanay, Jeffrey A Esq NEW24Bernardo Dominic
1048Nicolas W RulapaughArgentina2025-04-27Commercial Press UNQUALIFIED10Anna Fali
1049Kadeem U OldroydCanada2025-04-11Feiner Bros QUALIFIED18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
David E KuskoFranceAmy Elsner NEGOTIATION
Chavez A AlbaresRussiaIoni Bowcher UNQUALIFIED
Jefferson A ShinkoSpainElwin Sharvill PROPOSAL
Antonio V PerinGermanyStephen Shaw RENEWAL
Kadeem R MorascaRussiaAnna Fali UNQUALIFIED
Aruna J PaprockiUnited KingdomStephen Shaw NEGOTIATION
Cody J OldroydCanadaOnyama Limba NEW
Johnson H InouyeUnited KingdomXuxue Feng NEGOTIATION
David W MaletUnited KingdomAnna Fali RENEWAL
Jefferson C VenereGermanyBernardo Dominic PROPOSAL
Jennifer Q MacleadJapanIoni Bowcher RENEWAL
Murillo Y PaprockiSpainXuxue Feng NEGOTIATION
Ashley B RulapaughItalyBernardo Dominic NEGOTIATION
Ashley X SlusarskiItalyOnyama Limba QUALIFIED
Salvatore Z SchemmerGermanyXuxue Feng NEGOTIATION
Maria C KuskoSpainBernardo Dominic PROPOSAL
Chavez F SaylorsRussiaOnyama Limba QUALIFIED
Jones B DoeFranceIvan Magalhaes NEGOTIATION
Faith T WieserBrazilIoni Bowcher UNQUALIFIED
Leon J SchemmerRussiaXuxue Feng PROPOSAL
Jones H CaudySpainBernardo Dominic RENEWAL
Clifford T KolmetzRussiaIoni Bowcher NEGOTIATION
Adams R PerinFranceBernardo Dominic PROPOSAL
Cody B RimGermanyAsiya Javayant RENEWAL
Claire W SchemmerAustraliaIoni Bowcher UNQUALIFIED
Adams F ChuiSpainAmy Elsner NEGOTIATION
Faith Q ButtJapanOnyama Limba PROPOSAL
Ricardo M OldroydArgentinaBernardo Dominic UNQUALIFIED
Claire Z SchemmerIndiaStephen Shaw UNQUALIFIED
Salvatore K MarrierRussiaAsiya Javayant RENEWAL
Jones N MaletGermanyAmy Elsner QUALIFIED
Sinclair I RutaIndiaAnna Fali PROPOSAL
Ivar I VocelkaRussiaIvan Magalhaes NEGOTIATION
Faith H GarufiIndiaIvan Magalhaes NEGOTIATION
Leja U ShinkoAustraliaOnyama Limba PROPOSAL
Ashley G GarufiFranceAsiya Javayant RENEWAL
Maria V BowleyJapanIoni Bowcher NEW
Claire M OstroskyItalyOnyama Limba RENEWAL
Silvio G DarakjyCanadaIvan Magalhaes UNQUALIFIED
Silvio I ButtArgentinaOnyama Limba UNQUALIFIED
Adams Q SchemmerRussiaAsiya Javayant PROPOSAL
David Y ShinkoJapanAnna Fali PROPOSAL
Murillo P FollerRussiaElwin Sharvill RENEWAL
Isabel L KuskoSpainAmy Elsner PROPOSAL
Claire H OstroskyItalyIvan Magalhaes QUALIFIED
Maria Q DilliardAustraliaBernardo Dominic NEW
Murillo N RutaIndiaAnna Fali UNQUALIFIED
Munro X FlosiArgentinaIoni Bowcher RENEWAL
Wickens X WieserIndiaXuxue Feng PROPOSAL
Morrow X KuskoIndiaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Leon P Gillian
Maisha D Chui
Clifford E Royster
Aika C Whobrey
Costa A Rim
Clifford N Venere
Maria J Albares
Rodrigues V Iturbide
Smith A Kolmetz
Murillo N Campain
Alejandro B Darakjy
Aika D Waycott
Deepesh P Rulapaugh
Maisha N Maclead
Ivar Q Malet
Darci M Slusarski
Leon F Flosi
Jefferson S Flosi
Tony A Schemmer
Tony G Rim
Johnson Y Poquette
Ricardo E Ostrosky
Johnson V Dilliard
Ashley S Sergi
Ricardo P Bolognia
Aruna U Albares
Izzy X Rim
Leon W Shinko
Misaki B Poquette
Morrow P Figeroa
Costa B Iturbide
Mujtaba R Schemmer
Costa P Darakjy
David T Rim
Wickens W Bowley
Julie U Garufi
Octavia E Oldroyd
Alejandro R Tollner
Mujtaba J Flosi
Leon T Kusko
Emily X Rulapaugh
Ashley K Nestle
James N Ostrosky
Costa O Ostrosky
Jefferson I Nestle
Ricardo B Ostrosky
Nicolas D Ferencz
Arvin Y Caldarera
Arvin U Glick
Jeanfrancois Z Whobrey
IdCountryDate
1000Canada2025-04-28
1001Russia2025-04-12
1002India2025-04-21
1003Spain2025-04-23
1004Germany2025-04-20
1005Japan2025-04-03
1006Japan2025-04-19
1007Japan2025-04-19
1008Germany2025-04-18
1009Italy2025-04-10
1010Japan2025-04-01
1011Canada2025-04-17
1012Japan2025-04-28
1013Spain2025-04-03
1014Canada2025-04-26
1015Australia2025-04-18
1016Spain2025-04-01
1017Italy2025-04-14
1018Spain2025-04-11
1019Germany2025-03-31
1020Australia2025-04-12
1021Germany2025-04-20
1022United Kingdom2025-04-09
1023Italy2025-04-21
1024Australia2025-04-09
1025Brazil2025-04-26
1026Japan2025-04-27
1027Italy2025-04-21
1028Italy2025-04-24
1029Spain2025-04-23
1030Japan2025-04-28
1031Spain2025-04-15
1032United Kingdom2025-04-13
1033Russia2025-04-24
1034France2025-04-20
1035Germany2025-04-25
1036Australia2025-04-28
1037Canada2025-04-03
1038Japan2025-04-06
1039Canada2025-04-23
1040United Kingdom2025-04-22
1041India2025-04-17
1042Brazil2025-04-25
1043Germany2025-04-03
1044United Kingdom2025-04-28
1045Brazil2025-04-27
1046Spain2025-04-19
1047Russia2025-04-29
1048Germany2025-04-28
1049Argentina2025-04-12

On-Demand Data

NameIdCountryDate
Silvio D Tollner1000India2025-04-19
Jefferson C Figeroa1001France2025-04-14
Jefferson Y Campain1002United Kingdom2025-04-27
Aruna Q Malet1003France2025-04-02
Nicolas P Stockham1004France2025-04-17
Deepesh E Figeroa1005India2025-04-13
Adams S Rulapaugh1006Japan2025-04-13
Misaki V Marrier1007Italy2025-04-14
Ricardo D Wieser1008Canada2025-04-21
Julie R Stenseth1009Canada2025-04-02
Aika N Dilliard1010Germany2025-04-14
Aruna Z Malet1011Italy2025-04-04
Kadeem S Rim1012India2025-04-10
Maisha I Maclead1013France2025-04-17
Rodrigues A Wieser1014Germany2025-04-15
Claire T Malet1015Australia2025-04-05
Stacey D Stenseth1016Spain2025-04-29
Darci Q Inouye1017Brazil2025-04-10
Sinclair Y Albares1018Argentina2025-04-02
Misaki K Bolognia1019Australia2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez U ButtIndiaIvan Magalhaes NEW
Clifford C SaylorsGermanyStephen Shaw QUALIFIED
Rodrigues M BowleyCanadaElwin Sharvill RENEWAL
Kaitlin J DoeArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois A PerinJapanElwin Sharvill UNQUALIFIED
Rodrigues A AmigonItalyXuxue Feng PROPOSAL
Cody W GillianBrazilIoni Bowcher NEW
Morrow R VenereRussiaElwin Sharvill NEGOTIATION
Misaki G ShinkoJapanIvan Magalhaes QUALIFIED
Aditya A ChuiAustraliaOnyama Limba QUALIFIED
Aditya Z RoysterAustraliaStephen Shaw QUALIFIED
Greenwood A VocelkaCanadaAsiya Javayant NEGOTIATION
Jeanfrancois V OldroydGermanyBernardo Dominic NEGOTIATION
Kadeem Z FlosiRussiaBernardo Dominic PROPOSAL
Sinclair V RutaJapanBernardo Dominic NEGOTIATION
Antonio N DarakjyAustraliaAsiya Javayant NEW
Kadeem E FerenczRussiaElwin Sharvill NEGOTIATION
Rodrigues O InouyeItalyXuxue Feng NEW
Adams R KolmetzJapanXuxue Feng RENEWAL
Antonio S StockhamCanadaElwin Sharvill NEW
Aika O FollerJapanBernardo Dominic UNQUALIFIED
Juan U VenereJapanAnna Fali RENEWAL
Jefferson V PerinSpainIoni Bowcher NEGOTIATION
Deepesh P NickaBrazilAsiya Javayant NEGOTIATION
Smith K MaletItalyIoni Bowcher NEW
Sinclair K StockhamRussiaElwin Sharvill NEGOTIATION
Nicolas P GlickAustraliaOnyama Limba RENEWAL
Johnson C DilliardCanadaAsiya Javayant NEW
Maria M VocelkaGermanyElwin Sharvill NEW
Adams D WieserAustraliaBernardo Dominic NEW
Mujtaba F CampainItalyAsiya Javayant NEGOTIATION
Jennifer K GauchoItalyIvan Magalhaes UNQUALIFIED
Misaki Q SchemmerRussiaStephen Shaw QUALIFIED
Maisha B DoeUnited KingdomIoni Bowcher RENEWAL
Wickens Q DoeItalyBernardo Dominic NEGOTIATION
Costa V SlusarskiCanadaIoni Bowcher QUALIFIED
Kaitlin L KolmetzJapanIvan Magalhaes NEW
Kadeem Q TollnerFranceAnna Fali RENEWAL
Francesco R MaletUnited KingdomElwin Sharvill NEGOTIATION
Darci L DilliardAustraliaIoni Bowcher 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>