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
Greenwood R OldroydIndiaAsiya Javayant UNQUALIFIED
Maisha Z AmigonSpainAsiya Javayant UNQUALIFIED
Cody C VocelkaGermanyIoni Bowcher NEW
Izzy O FigeroaItalyOnyama Limba UNQUALIFIED
Juan X RulapaughAustraliaAnna Fali PROPOSAL
Tony K NestleRussiaOnyama Limba NEW
Cody W PaprockiSpainAmy Elsner NEGOTIATION
Murillo C VenereItalyAmy Elsner NEGOTIATION
Antonio G StockhamIndiaIvan Magalhaes UNQUALIFIED
Silvio U PaprockiAustraliaAnna Fali RENEWAL
Francesco C WaycottUnited KingdomAsiya Javayant PROPOSAL
Morrow E DarakjyFranceAsiya Javayant RENEWAL
Clifford X MacleadFranceXuxue Feng UNQUALIFIED
Arvin J GlickAustraliaIoni Bowcher QUALIFIED
Maria H ShinkoJapanIoni Bowcher QUALIFIED
James L WaycottBrazilAnna Fali UNQUALIFIED
Aika E PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Leja Y SchemmerUnited KingdomAsiya Javayant QUALIFIED
Munro M ButtArgentinaIvan Magalhaes NEW
Claire Y AlbaresSpainStephen Shaw PROPOSAL
Greenwood T PoquetteArgentinaElwin Sharvill NEW
Jennifer E FollerJapanAnna Fali RENEWAL
Munro U FigeroaCanadaXuxue Feng RENEWAL
Ashley A InouyeAustraliaIoni Bowcher NEW
Costa X CampainUnited KingdomStephen Shaw RENEWAL
Maisha W InouyeFranceStephen Shaw NEGOTIATION
Ivar K DilliardCanadaXuxue Feng QUALIFIED
Kaitlin H PerinUnited KingdomAnna Fali NEW
Cody N BologniaFranceElwin Sharvill PROPOSAL
James A BologniaFranceElwin Sharvill UNQUALIFIED
Aruna K FerenczGermanyXuxue Feng NEGOTIATION
Darci Q BowleyBrazilAsiya Javayant NEW
Maria A MarrierBrazilAsiya Javayant NEGOTIATION
Tony B WieserUnited KingdomAnna Fali RENEWAL
Aditya V PaprockiSpainIoni Bowcher NEW
Salvatore C BriddickCanadaIoni Bowcher RENEWAL
Arvin G CaudyRussiaIvan Magalhaes UNQUALIFIED
Jennifer T MorascaSpainOnyama Limba NEGOTIATION
Munro S RoysterArgentinaBernardo Dominic QUALIFIED
Adams B StensethSpainAnna Fali RENEWAL
Aditya F FlosiRussiaIvan Magalhaes RENEWAL
Clifford X PerinSpainOnyama Limba NEW
Claire B WhobreyFranceIvan Magalhaes NEW
Ashley K DilliardBrazilIoni Bowcher NEW
Clifford Y InouyeIndiaElwin Sharvill NEGOTIATION
Smith Y TollnerSpainStephen Shaw RENEWAL
Juan J PerinBrazilAsiya Javayant NEW
Mayumi O MarrierFranceIvan Magalhaes NEW
Johnson O NickaRussiaAnna Fali RENEWAL
Leon C ButtItalyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas G DarakjyUnited KingdomXuxue Feng RENEWAL
Jennifer F CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Chavez B MacleadRussiaAnna Fali RENEWAL
Misaki C GillianJapanStephen Shaw RENEWAL
Ivar L SaylorsArgentinaAnna Fali QUALIFIED
Jennifer K TollnerJapanIvan Magalhaes PROPOSAL
Munro G WhobreyFranceXuxue Feng QUALIFIED
Jefferson U TollnerRussiaAmy Elsner QUALIFIED
Jeanfrancois F StockhamJapanStephen Shaw PROPOSAL
Wickens Y WieserBrazilOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh U BologniaJapan2026-08-22Printing Dimensions QUALIFIED42Xuxue Feng
1001Smith H VenereArgentina2026-08-11Feltz Printing Service PROPOSAL50Xuxue Feng
1002Misaki T GillianBrazil2026-08-09Dorl, James J Esq NEW88Onyama Limba
1003Morrow H BowleyCanada2026-08-05Rousseaux, Michael Esq QUALIFIED5Asiya Javayant
1004Jones S OldroydJapan2026-08-02Morlong Associates UNQUALIFIED60Ivan Magalhaes
1005Jennifer U FlosiRussia2026-08-11Commercial Press PROPOSAL77Stephen Shaw
1006Chavez B BriddickBrazil2026-08-25Chapman, Ross E Esq NEGOTIATION85Anna Fali
1007Isabel W DarakjyRussia2026-08-22Commercial Press QUALIFIED86Ioni Bowcher
1008Ricardo Z MaletAustralia2026-08-09Rousseaux, Michael Esq PROPOSAL7Ivan Magalhaes
1009Johnson G DarakjyAustralia2026-08-03Chapman, Ross E Esq RENEWAL41Ioni Bowcher
1010Ricardo U BowleyArgentina2026-08-11Rousseaux, Michael Esq NEGOTIATION12Onyama Limba
1011Nicolas F ChuiItaly2026-08-06Dorl, James J Esq UNQUALIFIED92Xuxue Feng
1012Alejandro Y FlosiUnited Kingdom2026-08-08Feltz Printing Service PROPOSAL8Elwin Sharvill
1013Chavez J GillianUnited Kingdom2026-07-31Rangoni Of Florence PROPOSAL84Xuxue Feng
1014Ivar Z SlusarskiUnited Kingdom2026-08-15Benton, John B Jr PROPOSAL85Amy Elsner
1015Jones E IturbideCanada2026-08-14Chanay, Jeffrey A Esq UNQUALIFIED61Asiya Javayant
1016Silvio D RutaRussia2026-08-06Dorl, James J Esq PROPOSAL98Ivan Magalhaes
1017Juan H PerinRussia2026-08-11Benton, John B Jr NEW29Elwin Sharvill
1018Wickens D CaudyAustralia2026-08-14Chapman, Ross E Esq RENEWAL25Stephen Shaw
1019Claire U AlbaresIndia2026-07-30Commercial Press QUALIFIED87Asiya Javayant
1020Costa R PaprockiSpain2026-08-20Truhlar And Truhlar Attys QUALIFIED69Ioni Bowcher
1021Jefferson J ShinkoCanada2026-08-08Morlong Associates RENEWAL24Stephen Shaw
1022Faith A MaletRussia2026-08-09Dorl, James J Esq PROPOSAL3Xuxue Feng
1023Nicolas Y GlickJapan2026-08-01Buckley Miller Wright PROPOSAL97Amy Elsner
1024Aika Z MarrierSpain2026-08-22Benton, John B Jr QUALIFIED76Onyama Limba
1025Smith F PoquetteBrazil2026-08-26Truhlar And Truhlar Attys QUALIFIED62Ioni Bowcher
1026Jefferson Z StockhamSpain2026-08-13Truhlar And Truhlar Attys PROPOSAL88Xuxue Feng
1027Kaitlin X BologniaIndia2026-08-12Feltz Printing Service RENEWAL8Xuxue Feng
1028Johnson F DilliardCanada2026-08-23Feiner Bros PROPOSAL53Stephen Shaw
1029David G OstroskyFrance2026-08-23Buckley Miller Wright NEGOTIATION63Ioni Bowcher
1030Greenwood M CampainIndia2026-08-20Benton, John B Jr NEW99Elwin Sharvill
1031Jeanfrancois J ChuiFrance2026-08-05Rousseaux, Michael Esq PROPOSAL75Bernardo Dominic
1032Clifford M NickaRussia2026-08-23Commercial Press RENEWAL17Xuxue Feng
1033Murillo P SergiRussia2026-08-21Rangoni Of Florence PROPOSAL60Stephen Shaw
1034Julie J SaylorsIndia2026-08-04Commercial Press QUALIFIED69Elwin Sharvill
1035Faith H MaletFrance2026-08-04Commercial Press QUALIFIED64Amy Elsner
1036Tony S StensethRussia2026-08-04Truhlar And Truhlar Attys NEGOTIATION77Asiya Javayant
1037Izzy U WhobreyItaly2026-08-14Rangoni Of Florence PROPOSAL6Asiya Javayant
1038James Z CaldareraCanada2026-08-12Feltz Printing Service RENEWAL84Onyama Limba
1039David E RutaUnited Kingdom2026-08-26King, Christopher A Esq NEGOTIATION88Onyama Limba
1040Arvin T MaletAustralia2026-07-29Commercial Press QUALIFIED92Xuxue Feng
1041Mayumi V BriddickIndia2026-08-15Morlong Associates NEW12Anna Fali
1042Aruna M RoysterRussia2026-08-18King, Christopher A Esq UNQUALIFIED69Anna Fali
1043Izzy J WaycottGermany2026-08-19Feiner Bros NEW36Ioni Bowcher
1044Mujtaba F OstroskyArgentina2026-08-01Feiner Bros UNQUALIFIED10Ioni Bowcher
1045Darci E CaudySpain2026-07-29Printing Dimensions UNQUALIFIED73Stephen Shaw
1046Cody B CampainArgentina2026-08-02Commercial Press NEGOTIATION79Xuxue Feng
1047Mayumi L IturbideAustralia2026-08-20Rangoni Of Florence QUALIFIED13Anna Fali
1048Morrow P FollerArgentina2026-08-25Feiner Bros NEW54Ioni Bowcher
1049Aditya A AlbaresItaly2026-07-29Printing Dimensions PROPOSAL93Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh H PerinAustraliaStephen Shaw PROPOSAL
Isabel H FerenczJapanAmy Elsner NEGOTIATION
Aika W ShinkoIndiaStephen Shaw QUALIFIED
Smith O FlosiCanadaElwin Sharvill RENEWAL
Deepesh A ShinkoUnited KingdomOnyama Limba NEW
Smith Y BowleyJapanAsiya Javayant QUALIFIED
Wickens B RulapaughFranceXuxue Feng NEW
Munro W DilliardUnited KingdomAsiya Javayant QUALIFIED
Costa X MarrierFranceXuxue Feng RENEWAL
Mayumi Z MaletAustraliaOnyama Limba RENEWAL
James X PerinUnited KingdomOnyama Limba PROPOSAL
Aika D AlbaresFranceStephen Shaw PROPOSAL
Misaki N OstroskyItalyIvan Magalhaes UNQUALIFIED
Faith N StensethBrazilBernardo Dominic NEW
Aditya P CampainItalyAnna Fali RENEWAL
Izzy L GillianAustraliaStephen Shaw UNQUALIFIED
Greenwood N StockhamGermanyIoni Bowcher UNQUALIFIED
Chavez Z WieserFranceXuxue Feng QUALIFIED
Claire W KuskoItalyStephen Shaw NEGOTIATION
Cody R WaycottRussiaElwin Sharvill QUALIFIED
Nicolas Y WieserUnited KingdomStephen Shaw QUALIFIED
Munro N FigeroaArgentinaXuxue Feng PROPOSAL
Clifford S RulapaughItalyAnna Fali QUALIFIED
Cody Q CaldareraSpainStephen Shaw NEW
Alejandro F BriddickUnited KingdomBernardo Dominic NEGOTIATION
Murillo I CampainBrazilIvan Magalhaes NEGOTIATION
Misaki C SergiAustraliaBernardo Dominic NEGOTIATION
Jones F DilliardRussiaXuxue Feng RENEWAL
Faith O FlosiIndiaStephen Shaw UNQUALIFIED
Munro O MacleadBrazilIoni Bowcher QUALIFIED
Alejandro D RimAustraliaXuxue Feng RENEWAL
Jefferson D TollnerArgentinaAnna Fali UNQUALIFIED
Chavez B KolmetzBrazilStephen Shaw NEW
Jefferson Q MorascaFranceBernardo Dominic NEW
Munro S ShinkoAustraliaIoni Bowcher NEGOTIATION
Emily Z AmigonSpainStephen Shaw UNQUALIFIED
Jones G SchemmerCanadaIvan Magalhaes NEW
Munro Y OstroskyJapanStephen Shaw QUALIFIED
Maria R DoeArgentinaAmy Elsner NEGOTIATION
Leon G CampainAustraliaIvan Magalhaes QUALIFIED
Antonio S ButtArgentinaIvan Magalhaes NEGOTIATION
Arvin L InouyeIndiaAnna Fali UNQUALIFIED
Morrow V InouyeSpainAsiya Javayant RENEWAL
David B CaldareraSpainStephen Shaw RENEWAL
Jeanfrancois G FlosiArgentinaStephen Shaw NEW
Arvin L FigeroaFranceBernardo Dominic QUALIFIED
Deepesh H OstroskyGermanyIvan Magalhaes QUALIFIED
Sinclair K OldroydIndiaStephen Shaw PROPOSAL
Aruna F MorascaUnited KingdomStephen Shaw QUALIFIED
Octavia Z AlbaresIndiaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Alejandro Z Stockham
Jennifer K Figeroa
Aika J Flosi
Maisha D Inouye
Chavez N Ruta
Murillo O Schemmer
Aruna S Ruta
Kaitlin C Bolognia
Jeanfrancois A Campain
Tony T Nicka
Morrow I Bowley
Maria S Inouye
Jones I Stockham
Ashley P Butt
Aruna O Oldroyd
Ashley D Malet
Faith M Bolognia
Mujtaba J Glick
Greenwood J Marrier
Faith O Stenseth
Mayumi F Darakjy
Leja O Ostrosky
James Z Vocelka
James T Chui
Jeanfrancois G Nestle
Chavez Q Stenseth
Silvio O Waycott
Jennifer J Bolognia
Aika K Rulapaugh
Alejandro B Kusko
Aruna G Morasca
Octavia R Marrier
Alejandro R Nicka
Tony Q Dilliard
Alejandro Q Figeroa
Kadeem W Sergi
Alejandro V Caldarera
Kadeem P Butt
Jeanfrancois U Tollner
Isabel K Bolognia
Greenwood L Paprocki
Leon U Saylors
Arvin L Tollner
Greenwood K Perin
Salvatore V Stockham
Julie J Vocelka
Smith Z Saylors
Rodrigues A Gillian
Maisha B Ruta
Wickens S Chui
IdCountryDate
1000Germany2026-08-11
1001Russia2026-08-18
1002France2026-08-24
1003Russia2026-08-08
1004France2026-08-11
1005Brazil2026-08-14
1006India2026-08-17
1007United Kingdom2026-08-24
1008Brazil2026-08-09
1009Canada2026-08-25
1010Argentina2026-08-23
1011Spain2026-07-28
1012France2026-08-26
1013Brazil2026-08-01
1014Australia2026-08-17
1015Australia2026-08-23
1016Japan2026-08-13
1017Argentina2026-08-08
1018Germany2026-08-18
1019India2026-08-09
1020Argentina2026-08-10
1021France2026-08-17
1022Argentina2026-08-16
1023France2026-08-10
1024France2026-08-25
1025Russia2026-08-11
1026Russia2026-07-28
1027United Kingdom2026-08-18
1028Italy2026-08-04
1029United Kingdom2026-08-17
1030Argentina2026-08-06
1031Spain2026-08-20
1032Spain2026-08-21
1033Argentina2026-08-21
1034Japan2026-08-10
1035Russia2026-08-22
1036Argentina2026-08-21
1037Spain2026-08-02
1038Italy2026-08-02
1039Spain2026-08-17
1040Japan2026-08-05
1041France2026-08-09
1042Japan2026-08-20
1043Japan2026-08-06
1044Japan2026-08-08
1045France2026-07-29
1046Germany2026-08-11
1047Canada2026-08-05
1048India2026-08-04
1049Japan2026-08-10

On-Demand Data

NameIdCountryDate
Ashley G Doe1000Germany2026-08-26
Munro K Vocelka1001Canada2026-08-20
David H Foller1002Japan2026-08-26
Morrow Y Ruta1003Brazil2026-08-14
Aruna O Saylors1004Australia2026-08-16
Deepesh O Figeroa1005India2026-08-20
Kadeem N Marrier1006Spain2026-08-19
Claire Q Malet1007Japan2026-08-22
Jennifer B Flosi1008India2026-08-21
Leon I Stockham1009France2026-08-19
Octavia C Ferencz1010Japan2026-08-25
Adams M Malet1011United Kingdom2026-07-31
Maria W Chui1012Argentina2026-08-02
Silvio N Saylors1013Japan2026-07-30
Mujtaba X Saylors1014Russia2026-07-31
Misaki P Maclead1015Italy2026-07-30
Octavia W Malet1016Japan2026-08-21
Ashley Y Sergi1017Japan2026-08-17
Arvin O Nicka1018Italy2026-08-01
Kaitlin M Caldarera1019Russia2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Q PerinAustraliaXuxue Feng RENEWAL
Deepesh P VocelkaAustraliaOnyama Limba NEGOTIATION
Jennifer Y CaldareraItalyStephen Shaw PROPOSAL
David L StockhamArgentinaBernardo Dominic NEW
Sinclair S FlosiJapanIoni Bowcher NEGOTIATION
Ricardo M ShinkoUnited KingdomIoni Bowcher NEW
Sinclair Y GarufiItalyAnna Fali RENEWAL
Leja H WieserUnited KingdomOnyama Limba PROPOSAL
Antonio I ShinkoRussiaStephen Shaw NEW
Johnson B SergiSpainAnna Fali RENEWAL
Rodrigues K ButtSpainIvan Magalhaes RENEWAL
Mujtaba O RoysterBrazilOnyama Limba RENEWAL
Aditya D StensethRussiaAmy Elsner UNQUALIFIED
Kaitlin D ButtCanadaAsiya Javayant QUALIFIED
Wickens K ChuiBrazilBernardo Dominic UNQUALIFIED
Jefferson T DilliardRussiaOnyama Limba NEGOTIATION
Nicolas H BologniaIndiaXuxue Feng QUALIFIED
Francesco R CaudyCanadaBernardo Dominic UNQUALIFIED
Sinclair U BowleyFranceXuxue Feng RENEWAL
Isabel X SlusarskiBrazilBernardo Dominic RENEWAL
James H SergiCanadaBernardo Dominic RENEWAL
Faith P DarakjyFranceAsiya Javayant NEGOTIATION
Adams X MacleadIndiaIoni Bowcher PROPOSAL
Costa F DoeGermanyBernardo Dominic UNQUALIFIED
Chavez J OldroydAustraliaStephen Shaw NEW
Chavez D MacleadAustraliaAsiya Javayant NEGOTIATION
Francesco H GlickAustraliaOnyama Limba UNQUALIFIED
Munro J BowleyUnited KingdomOnyama Limba PROPOSAL
Jennifer D KolmetzUnited KingdomAnna Fali NEW
Faith G TollnerIndiaAmy Elsner QUALIFIED
Smith F StensethCanadaOnyama Limba UNQUALIFIED
Kaitlin A TollnerArgentinaOnyama Limba PROPOSAL
Aruna S MorascaAustraliaElwin Sharvill QUALIFIED
Chavez N GillianCanadaIoni Bowcher QUALIFIED
Aika O WhobreyAustraliaIoni Bowcher UNQUALIFIED
Juan Q GarufiJapanAnna Fali RENEWAL
Maisha H SaylorsCanadaStephen Shaw UNQUALIFIED
Leja B SergiFranceOnyama Limba NEW
Chavez Q GauchoJapanAmy Elsner NEW
Claire X TollnerRussiaOnyama Limba 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>