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 E RoysterArgentinaAnna Fali UNQUALIFIED
James K WhobreySpainStephen Shaw QUALIFIED
Stacey K SergiItalyIoni Bowcher UNQUALIFIED
Kadeem F SlusarskiJapanAmy Elsner RENEWAL
Sinclair M RulapaughRussiaXuxue Feng PROPOSAL
Wickens P BologniaRussiaIvan Magalhaes NEW
Clifford P ButtRussiaIoni Bowcher NEGOTIATION
Adams S BriddickGermanyStephen Shaw NEGOTIATION
Kaitlin B PaprockiSpainAnna Fali NEW
Rodrigues R MorascaAustraliaXuxue Feng QUALIFIED
Aika K MarrierUnited KingdomAmy Elsner UNQUALIFIED
Cody S VenereFranceAmy Elsner QUALIFIED
Deepesh P CaudyRussiaAnna Fali RENEWAL
Tony D GillianBrazilStephen Shaw PROPOSAL
Kadeem X WhobreyJapanAnna Fali PROPOSAL
Aruna N GarufiFranceOnyama Limba NEGOTIATION
Nicolas X PerinItalyAnna Fali QUALIFIED
Aditya S VenereAustraliaBernardo Dominic NEGOTIATION
Tony D RutaFranceXuxue Feng NEW
James B FollerGermanyXuxue Feng NEW
Sinclair R AmigonSpainElwin Sharvill UNQUALIFIED
David B TollnerBrazilAsiya Javayant PROPOSAL
Johnson G FlosiAustraliaElwin Sharvill PROPOSAL
Alejandro R TollnerCanadaAsiya Javayant RENEWAL
Jennifer G IturbideIndiaStephen Shaw RENEWAL
Misaki R BowleyFranceStephen Shaw PROPOSAL
Alejandro M FigeroaItalyElwin Sharvill QUALIFIED
Ivar I NickaGermanyStephen Shaw UNQUALIFIED
Jones B WaycottFranceAmy Elsner NEW
Kadeem Q KolmetzAustraliaAnna Fali NEW
Ricardo A GarufiJapanIoni Bowcher QUALIFIED
Jeanfrancois N MacleadIndiaAnna Fali PROPOSAL
Arvin M BowleyItalyBernardo Dominic NEW
Aika D MarrierAustraliaIvan Magalhaes PROPOSAL
Octavia R WieserArgentinaBernardo Dominic QUALIFIED
Antonio V NickaFranceAmy Elsner NEGOTIATION
Alejandro B PaprockiUnited KingdomElwin Sharvill NEW
Kaitlin Y StensethBrazilBernardo Dominic NEGOTIATION
Wickens B MarrierGermanyAsiya Javayant NEW
Antonio Y InouyeBrazilAnna Fali PROPOSAL
Mayumi E FerenczSpainAnna Fali RENEWAL
Chavez C SaylorsBrazilAmy Elsner RENEWAL
Tony Q DilliardJapanXuxue Feng NEGOTIATION
Ashley U IturbideFranceElwin Sharvill UNQUALIFIED
Aditya U PaprockiJapanAmy Elsner NEW
Jones L SaylorsGermanyAnna Fali PROPOSAL
Isabel A GauchoFranceOnyama Limba NEW
Faith G FollerFranceStephen Shaw NEGOTIATION
Leon R GlickArgentinaXuxue Feng UNQUALIFIED
Murillo C MaletFranceBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Misaki P DoeRussiaIvan Magalhaes RENEWAL
Adams G OldroydAustraliaXuxue Feng NEW
Jennifer C FollerBrazilXuxue Feng NEW
Murillo T ButtFranceIvan Magalhaes NEGOTIATION
Aruna B KuskoFranceBernardo Dominic UNQUALIFIED
Juan B WhobreyItalyIvan Magalhaes NEGOTIATION
Ricardo A CampainItalyOnyama Limba NEGOTIATION
Maria T FerenczAustraliaAnna Fali QUALIFIED
Chavez Q FollerIndiaAnna Fali RENEWAL
Claire S SaylorsAustraliaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore K InouyeGermany2026-06-30Chanay, Jeffrey A Esq UNQUALIFIED3Elwin Sharvill
1001Costa X SaylorsBrazil2026-06-17Feltz Printing Service NEW44Elwin Sharvill
1002Francesco O WieserArgentina2026-06-26Benton, John B Jr UNQUALIFIED96Xuxue Feng
1003Deepesh V PerinItaly2026-06-17Rousseaux, Michael Esq PROPOSAL57Anna Fali
1004Isabel P RimFrance2026-06-22King, Christopher A Esq NEGOTIATION23Amy Elsner
1005Leja Z FollerGermany2026-07-05Dorl, James J Esq PROPOSAL9Elwin Sharvill
1006Sinclair V MarrierCanada2026-06-19Truhlar And Truhlar Attys RENEWAL61Asiya Javayant
1007Kadeem C WieserRussia2026-06-17King, Christopher A Esq UNQUALIFIED72Onyama Limba
1008Wickens V GillianCanada2026-06-25Rangoni Of Florence NEGOTIATION60Xuxue Feng
1009Mayumi G MacleadItaly2026-06-19Rousseaux, Michael Esq NEW69Asiya Javayant
1010Maisha Y OldroydArgentina2026-06-13Feltz Printing Service PROPOSAL66Asiya Javayant
1011Tony A ChuiUnited Kingdom2026-06-15Commercial Press UNQUALIFIED39Amy Elsner
1012Rodrigues Q DarakjyArgentina2026-06-13Morlong Associates RENEWAL64Stephen Shaw
1013Silvio G NestleGermany2026-06-07Chanay, Jeffrey A Esq UNQUALIFIED64Ivan Magalhaes
1014Nicolas V BriddickCanada2026-06-25Dorl, James J Esq RENEWAL17Onyama Limba
1015Sinclair Y KolmetzAustralia2026-06-14Rangoni Of Florence UNQUALIFIED66Amy Elsner
1016Izzy H RimRussia2026-06-11Benton, John B Jr UNQUALIFIED74Stephen Shaw
1017Ivar V TollnerAustralia2026-06-24Benton, John B Jr QUALIFIED27Elwin Sharvill
1018Murillo H ShinkoUnited Kingdom2026-06-13Truhlar And Truhlar Attys UNQUALIFIED62Bernardo Dominic
1019Greenwood U PoquetteJapan2026-07-01Chanay, Jeffrey A Esq RENEWAL57Elwin Sharvill
1020Silvio Q FigeroaBrazil2026-06-06Printing Dimensions RENEWAL56Elwin Sharvill
1021Aruna S VocelkaArgentina2026-06-28Benton, John B Jr UNQUALIFIED8Asiya Javayant
1022Kadeem D OldroydArgentina2026-06-22Feltz Printing Service NEW98Amy Elsner
1023Clifford X FerenczRussia2026-06-09Truhlar And Truhlar Attys NEW72Amy Elsner
1024Jones P FollerRussia2026-06-21Morlong Associates QUALIFIED82Anna Fali
1025Morrow V SergiAustralia2026-06-16Feltz Printing Service UNQUALIFIED56Elwin Sharvill
1026Mujtaba Q WhobreyJapan2026-06-23Feltz Printing Service NEW81Stephen Shaw
1027Smith M GillianJapan2026-06-11Chapman, Ross E Esq QUALIFIED74Ioni Bowcher
1028Kadeem K CaldareraIndia2026-06-23Truhlar And Truhlar Attys PROPOSAL41Xuxue Feng
1029Leja J ButtCanada2026-06-12Rousseaux, Michael Esq QUALIFIED63Anna Fali
1030Clifford P NickaGermany2026-06-08Benton, John B Jr PROPOSAL73Ivan Magalhaes
1031Ricardo G WhobreyUnited Kingdom2026-06-21Chanay, Jeffrey A Esq UNQUALIFIED53Bernardo Dominic
1032Clifford Q MaletAustralia2026-06-18Morlong Associates PROPOSAL10Stephen Shaw
1033Rodrigues M WaycottBrazil2026-06-21Benton, John B Jr NEW73Bernardo Dominic
1034Claire R DilliardItaly2026-06-20Commercial Press PROPOSAL41Amy Elsner
1035Octavia X MarrierGermany2026-06-14Feltz Printing Service PROPOSAL87Bernardo Dominic
1036Ashley J WhobreyUnited Kingdom2026-06-08Buckley Miller Wright NEGOTIATION36Anna Fali
1037Francesco E SergiFrance2026-06-10Truhlar And Truhlar Attys PROPOSAL0Elwin Sharvill
1038Octavia O VenereRussia2026-06-26Chapman, Ross E Esq NEGOTIATION2Elwin Sharvill
1039Emily O DarakjyArgentina2026-06-24King, Christopher A Esq NEW51Amy Elsner
1040Jefferson F NickaArgentina2026-06-14Feltz Printing Service NEGOTIATION14Xuxue Feng
1041Wickens A GauchoItaly2026-06-20Morlong Associates UNQUALIFIED92Xuxue Feng
1042Isabel N DilliardIndia2026-06-08Feltz Printing Service QUALIFIED95Stephen Shaw
1043Francesco J MaletAustralia2026-06-15Chemel, James L Cpa NEW39Elwin Sharvill
1044Mayumi I MacleadAustralia2026-06-19Dorl, James J Esq QUALIFIED76Bernardo Dominic
1045Tony Y GarufiBrazil2026-06-21King, Christopher A Esq PROPOSAL37Onyama Limba
1046Jones O VenereCanada2026-06-15Chanay, Jeffrey A Esq RENEWAL3Onyama Limba
1047Tony H FollerArgentina2026-06-13Feiner Bros PROPOSAL80Ioni Bowcher
1048Antonio C FerenczRussia2026-06-09Benton, John B Jr NEGOTIATION10Anna Fali
1049Tony I PerinSpain2026-06-16Feltz Printing Service UNQUALIFIED52Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leon M NickaItalyAmy Elsner RENEWAL
Kadeem M NickaRussiaIoni Bowcher NEW
Rodrigues I GarufiFranceAnna Fali RENEWAL
Maisha A WaycottAustraliaOnyama Limba RENEWAL
Isabel T DilliardAustraliaAnna Fali UNQUALIFIED
Jeanfrancois Y TollnerItalyStephen Shaw PROPOSAL
Francesco Q RimCanadaStephen Shaw PROPOSAL
Leon Q KuskoRussiaXuxue Feng NEGOTIATION
Stacey M BriddickItalyAnna Fali QUALIFIED
Claire I VocelkaCanadaXuxue Feng QUALIFIED
Silvio H PoquetteItalyElwin Sharvill NEGOTIATION
Clifford B SaylorsFranceBernardo Dominic UNQUALIFIED
Emily L DilliardGermanyStephen Shaw NEW
Mujtaba N ShinkoBrazilIoni Bowcher QUALIFIED
Aika Q WieserCanadaXuxue Feng NEW
Ashley O PerinSpainAnna Fali PROPOSAL
David F InouyeJapanAsiya Javayant QUALIFIED
Wickens X PaprockiItalyIvan Magalhaes RENEWAL
Maria L SlusarskiItalyBernardo Dominic NEW
Antonio P BowleyJapanBernardo Dominic NEGOTIATION
Rodrigues K MaletBrazilIvan Magalhaes NEGOTIATION
Aruna O GauchoAustraliaAnna Fali PROPOSAL
Antonio T PaprockiCanadaAsiya Javayant QUALIFIED
Chavez T DoeCanadaAsiya Javayant NEW
Sinclair K WhobreyUnited KingdomXuxue Feng PROPOSAL
Darci Q PaprockiIndiaOnyama Limba QUALIFIED
Kaitlin O NestleUnited KingdomElwin Sharvill NEW
Kaitlin F NestleUnited KingdomIvan Magalhaes NEW
Darci G BologniaFranceAmy Elsner NEW
Clifford B VocelkaFranceAsiya Javayant NEW
Costa P ButtCanadaAmy Elsner PROPOSAL
Tony Q OstroskyAustraliaAsiya Javayant NEGOTIATION
Ricardo T GillianRussiaElwin Sharvill NEW
Costa T RimGermanyOnyama Limba QUALIFIED
Sinclair T VenereUnited KingdomStephen Shaw NEW
James S CaudyItalyAmy Elsner PROPOSAL
David O KuskoSpainIoni Bowcher RENEWAL
Arvin H WhobreySpainIoni Bowcher RENEWAL
Chavez V KuskoAustraliaOnyama Limba PROPOSAL
Claire O GauchoItalyElwin Sharvill NEGOTIATION
Kadeem P FerenczRussiaOnyama Limba PROPOSAL
Alejandro S IturbideUnited KingdomOnyama Limba RENEWAL
Maisha Q CampainCanadaIvan Magalhaes UNQUALIFIED
Antonio U NickaJapanOnyama Limba QUALIFIED
Aditya Y WhobreyItalyAmy Elsner PROPOSAL
Clifford E StockhamIndiaAsiya Javayant UNQUALIFIED
Izzy K RimArgentinaAmy Elsner QUALIFIED
David W MaletRussiaStephen Shaw QUALIFIED
Aika X KuskoCanadaIoni Bowcher PROPOSAL
Leon T RimBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Morrow S Kolmetz
Silvio L Flosi
Aruna A Iturbide
Misaki H Campain
Costa D Vocelka
Tony L Briddick
Jefferson P Inouye
Morrow O Albares
Jefferson M Malet
Aditya P Stockham
David N Schemmer
Tony V Malet
Aruna N Kolmetz
Alejandro T Sergi
Jones A Malet
Silvio B Venere
Octavia C Rim
Darci Q Slusarski
Julie O Kolmetz
David A Ostrosky
Greenwood N Ruta
Francesco N Inouye
Alejandro B Schemmer
Octavia E Malet
Munro H Rulapaugh
Murillo L Stenseth
Clifford G Ruta
Emily G Stockham
Izzy Z Doe
Mayumi X Chui
Sinclair T Stockham
Wickens Z Venere
Mujtaba I Shinko
Nicolas K Ruta
Jennifer L Tollner
Izzy G Bolognia
Nicolas R Waycott
Mujtaba I Maclead
Tony C Ostrosky
Kaitlin B Iturbide
Julie T Paprocki
Leja W Perin
Jeanfrancois X Shinko
Juan V Kusko
Darci W Chui
Aditya G Doe
Ashley S Schemmer
Aditya V Rulapaugh
Maria W Wieser
Francesco X Nicka
IdCountryDate
1000Argentina2026-06-19
1001United Kingdom2026-06-20
1002Spain2026-06-14
1003United Kingdom2026-06-24
1004Germany2026-06-16
1005Brazil2026-06-27
1006Argentina2026-06-17
1007Italy2026-06-21
1008India2026-06-15
1009Spain2026-06-14
1010India2026-06-10
1011Japan2026-06-23
1012Japan2026-06-26
1013Brazil2026-06-28
1014Germany2026-06-16
1015Germany2026-06-08
1016Australia2026-06-06
1017Japan2026-06-12
1018Australia2026-06-18
1019Australia2026-06-15
1020Canada2026-06-19
1021France2026-06-20
1022Italy2026-06-15
1023Argentina2026-06-17
1024India2026-06-13
1025India2026-06-20
1026United Kingdom2026-06-13
1027Brazil2026-06-26
1028Italy2026-06-21
1029United Kingdom2026-06-17
1030Argentina2026-07-05
1031Argentina2026-07-03
1032Germany2026-06-15
1033France2026-06-23
1034Japan2026-06-13
1035Canada2026-06-20
1036Canada2026-06-21
1037Italy2026-06-24
1038Canada2026-06-09
1039Canada2026-07-02
1040Spain2026-06-28
1041Japan2026-06-28
1042Italy2026-06-26
1043United Kingdom2026-06-27
1044Japan2026-06-16
1045Italy2026-07-02
1046Argentina2026-06-11
1047Japan2026-07-01
1048Canada2026-06-21
1049India2026-06-21

On-Demand Data

NameIdCountryDate
Silvio X Perin1000Canada2026-06-18
Mayumi I Inouye1001France2026-06-22
Emily C Campain1002Russia2026-06-22
Kaitlin F Ruta1003Germany2026-07-04
Alejandro J Saylors1004United Kingdom2026-07-04
Leon H Tollner1005Australia2026-06-24
Sinclair C Gaucho1006Brazil2026-06-29
James N Darakjy1007Canada2026-06-25
Mayumi I Whobrey1008Argentina2026-06-07
Ricardo H Foller1009United Kingdom2026-06-22
Johnson G Slusarski1010United Kingdom2026-07-03
Alejandro N Kolmetz1011Canada2026-06-08
Adams D Slusarski1012United Kingdom2026-06-10
Stacey G Ostrosky1013Australia2026-06-27
Aruna V Royster1014United Kingdom2026-07-02
Leon B Oldroyd1015Japan2026-06-17
Morrow V Schemmer1016Spain2026-06-29
Antonio M Campain1017Australia2026-06-19
Aditya V Shinko1018India2026-06-10
Aruna Y Nicka1019Italy2026-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez C VocelkaItalyIoni Bowcher NEGOTIATION
Leon U FlosiBrazilAmy Elsner QUALIFIED
Juan X MaletFranceBernardo Dominic PROPOSAL
Ivar X CampainAustraliaStephen Shaw RENEWAL
Costa X RutaRussiaBernardo Dominic NEGOTIATION
Clifford G PerinArgentinaOnyama Limba RENEWAL
Ivar N MaletGermanyBernardo Dominic UNQUALIFIED
Ricardo Y DarakjyRussiaBernardo Dominic NEW
Smith A VocelkaItalyStephen Shaw QUALIFIED
Deepesh M GarufiGermanyBernardo Dominic UNQUALIFIED
Johnson T KuskoSpainBernardo Dominic UNQUALIFIED
Misaki N OstroskyUnited KingdomOnyama Limba NEGOTIATION
Aika L SchemmerUnited KingdomIoni Bowcher RENEWAL
Greenwood O NestleCanadaAmy Elsner QUALIFIED
Isabel J DoeJapanBernardo Dominic QUALIFIED
Stacey I RulapaughArgentinaOnyama Limba UNQUALIFIED
Arvin E GauchoJapanAnna Fali NEW
Claire V StockhamItalyXuxue Feng RENEWAL
Wickens G IturbideItalyAnna Fali PROPOSAL
Chavez L ChuiItalyXuxue Feng RENEWAL
Jones S MaletUnited KingdomElwin Sharvill PROPOSAL
Juan P VocelkaGermanyBernardo Dominic NEGOTIATION
Maria G MorascaGermanyBernardo Dominic RENEWAL
Wickens M InouyeUnited KingdomAnna Fali NEGOTIATION
Sinclair N RutaCanadaBernardo Dominic UNQUALIFIED
Ashley E MaletFranceAsiya Javayant QUALIFIED
Mujtaba S SlusarskiArgentinaAnna Fali RENEWAL
Jefferson Z AmigonArgentinaBernardo Dominic NEGOTIATION
Mayumi G OstroskyBrazilBernardo Dominic NEGOTIATION
Darci Z CaudyRussiaAnna Fali QUALIFIED
Murillo M FerenczCanadaElwin Sharvill NEW
Jones T OstroskyAustraliaAsiya Javayant UNQUALIFIED
Leja M MaletUnited KingdomXuxue Feng QUALIFIED
Isabel R MaletBrazilElwin Sharvill NEW
Francesco Y BriddickFranceBernardo Dominic NEW
Sinclair C RulapaughBrazilXuxue Feng NEW
Adams D OldroydGermanyElwin Sharvill PROPOSAL
Maisha F IturbideIndiaOnyama Limba UNQUALIFIED
Salvatore O PoquetteFranceAsiya Javayant RENEWAL
Isabel V BriddickRussiaBernardo Dominic 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>