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
Nicolas X AlbaresGermanyElwin Sharvill NEW
Aditya R FerenczCanadaOnyama Limba NEW
Arvin T GlickUnited KingdomElwin Sharvill NEGOTIATION
Juan P PoquetteAustraliaIoni Bowcher NEGOTIATION
Salvatore Z NestleBrazilStephen Shaw NEW
Wickens E FerenczBrazilOnyama Limba PROPOSAL
Rodrigues J AlbaresUnited KingdomBernardo Dominic PROPOSAL
Aika R MaletFranceStephen Shaw NEGOTIATION
Misaki U KolmetzItalyXuxue Feng NEW
Jeanfrancois Z StockhamRussiaOnyama Limba NEGOTIATION
Ricardo B BowleyRussiaBernardo Dominic RENEWAL
Antonio L MorascaCanadaAnna Fali UNQUALIFIED
Cody H FerenczSpainElwin Sharvill UNQUALIFIED
Alejandro C NestleGermanyElwin Sharvill NEGOTIATION
Arvin B OstroskyJapanElwin Sharvill PROPOSAL
Tony J SaylorsSpainStephen Shaw QUALIFIED
Jefferson J RulapaughJapanAsiya Javayant QUALIFIED
Alejandro P CampainUnited KingdomBernardo Dominic PROPOSAL
Smith S SaylorsCanadaIoni Bowcher NEW
Morrow K PaprockiCanadaElwin Sharvill RENEWAL
Emily G ButtJapanElwin Sharvill UNQUALIFIED
Salvatore W CampainItalyXuxue Feng NEW
Smith V TollnerUnited KingdomBernardo Dominic RENEWAL
Mayumi S FlosiCanadaAmy Elsner NEW
Maria Q GauchoSpainIoni Bowcher QUALIFIED
Cody W DilliardIndiaAsiya Javayant NEW
Munro O FerenczGermanyElwin Sharvill NEGOTIATION
Silvio S SchemmerGermanyStephen Shaw PROPOSAL
Clifford S MorascaJapanXuxue Feng NEGOTIATION
Jeanfrancois D KuskoAustraliaAmy Elsner NEW
Stacey K WhobreyJapanElwin Sharvill NEW
Izzy N FlosiSpainIoni Bowcher UNQUALIFIED
Ricardo L ChuiFranceAmy Elsner PROPOSAL
David N CampainItalyElwin Sharvill QUALIFIED
Jennifer B MacleadUnited KingdomAnna Fali NEW
Silvio R GillianFranceAnna Fali NEW
Ivar I BologniaCanadaElwin Sharvill QUALIFIED
Claire T SaylorsAustraliaIoni Bowcher NEGOTIATION
Murillo B OldroydFranceAsiya Javayant UNQUALIFIED
Kadeem O MaletCanadaBernardo Dominic NEGOTIATION
Aditya A FollerAustraliaAmy Elsner NEW
Octavia C BologniaJapanIoni Bowcher QUALIFIED
Darci C VocelkaBrazilAmy Elsner NEW
Morrow R RoysterSpainXuxue Feng NEW
Jeanfrancois W SaylorsUnited KingdomAmy Elsner PROPOSAL
Nicolas X FlosiGermanyXuxue Feng QUALIFIED
Tony E PaprockiBrazilIoni Bowcher RENEWAL
Ricardo C AmigonRussiaIvan Magalhaes QUALIFIED
Ricardo Q GarufiGermanyAsiya Javayant QUALIFIED
Faith A CampainCanadaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones J MorascaCanadaStephen Shaw QUALIFIED
Alejandro L MacleadBrazilAsiya Javayant NEGOTIATION
Greenwood R ShinkoFranceStephen Shaw NEGOTIATION
Johnson J IturbideArgentinaOnyama Limba QUALIFIED
Silvio R ChuiBrazilBernardo Dominic RENEWAL
Faith Y VocelkaArgentinaElwin Sharvill NEGOTIATION
Faith E PerinAustraliaAnna Fali PROPOSAL
Izzy P MaletUnited KingdomAmy Elsner QUALIFIED
Clifford Q VocelkaGermanyXuxue Feng RENEWAL
Francesco B KuskoAustraliaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody X GillianBrazil2025-05-23Morlong Associates NEGOTIATION46Bernardo Dominic
1001Aika J VenereFrance2025-05-18King, Christopher A Esq NEW58Ivan Magalhaes
1002Ricardo Z FlosiGermany2025-05-16Morlong Associates NEW25Bernardo Dominic
1003Costa R GauchoFrance2025-05-23Chemel, James L Cpa NEW6Asiya Javayant
1004Jones I WieserItaly2025-06-11Benton, John B Jr NEW82Anna Fali
1005Munro G PoquetteBrazil2025-06-01Rousseaux, Michael Esq NEGOTIATION98Anna Fali
1006Chavez W RutaBrazil2025-05-22Feiner Bros QUALIFIED65Amy Elsner
1007Arvin E DoeGermany2025-06-03Commercial Press PROPOSAL70Ioni Bowcher
1008Faith Q ShinkoBrazil2025-05-27Rousseaux, Michael Esq UNQUALIFIED59Onyama Limba
1009Ivar Z SlusarskiIndia2025-05-20Buckley Miller Wright NEGOTIATION99Asiya Javayant
1010Johnson I FollerRussia2025-05-25Feltz Printing Service RENEWAL28Asiya Javayant
1011Rodrigues J VenereBrazil2025-06-11Chemel, James L Cpa RENEWAL8Ivan Magalhaes
1012Alejandro M GauchoIndia2025-05-28Chanay, Jeffrey A Esq UNQUALIFIED21Ivan Magalhaes
1013Costa S RoysterFrance2025-06-09Rousseaux, Michael Esq QUALIFIED22Ivan Magalhaes
1014Leja Z FigeroaBrazil2025-06-08Feiner Bros PROPOSAL76Elwin Sharvill
1015Jeanfrancois G FollerUnited Kingdom2025-06-04Feltz Printing Service QUALIFIED91Asiya Javayant
1016Jeanfrancois B DoeJapan2025-06-04Buckley Miller Wright NEGOTIATION65Ioni Bowcher
1017Aruna M MaletCanada2025-06-04Morlong Associates NEW81Onyama Limba
1018Izzy N BowleyIndia2025-06-09Truhlar And Truhlar Attys UNQUALIFIED90Onyama Limba
1019David I VenereJapan2025-06-09Benton, John B Jr QUALIFIED1Ioni Bowcher
1020Aika A RutaCanada2025-05-23Rangoni Of Florence QUALIFIED34Xuxue Feng
1021James P AmigonRussia2025-06-12Chemel, James L Cpa QUALIFIED66Onyama Limba
1022Chavez L ShinkoBrazil2025-05-21Printing Dimensions RENEWAL32Amy Elsner
1023Tony X PaprockiRussia2025-05-31Chanay, Jeffrey A Esq PROPOSAL1Ivan Magalhaes
1024Aditya N RimRussia2025-05-20Feiner Bros QUALIFIED79Asiya Javayant
1025Aika Z FerenczArgentina2025-05-29Feltz Printing Service NEGOTIATION42Ioni Bowcher
1026Ashley J GauchoAustralia2025-05-30Commercial Press QUALIFIED7Anna Fali
1027Adams W BologniaAustralia2025-05-27Benton, John B Jr PROPOSAL17Ivan Magalhaes
1028Adams M BriddickItaly2025-06-10Morlong Associates NEGOTIATION86Onyama Limba
1029David T MaletAustralia2025-05-15Feltz Printing Service QUALIFIED28Anna Fali
1030David D BriddickRussia2025-06-01Chapman, Ross E Esq UNQUALIFIED26Anna Fali
1031Jennifer C DoeIndia2025-05-18Rangoni Of Florence PROPOSAL87Onyama Limba
1032Greenwood U KolmetzUnited Kingdom2025-05-26Dorl, James J Esq PROPOSAL78Ivan Magalhaes
1033Faith Q BowleyCanada2025-05-27Feltz Printing Service PROPOSAL98Amy Elsner
1034Octavia K KolmetzArgentina2025-05-23Feiner Bros QUALIFIED13Xuxue Feng
1035Mayumi N NickaFrance2025-05-31Chanay, Jeffrey A Esq NEGOTIATION71Onyama Limba
1036Maisha H StensethGermany2025-05-23Rangoni Of Florence RENEWAL89Elwin Sharvill
1037Tony J DoeUnited Kingdom2025-06-10Commercial Press QUALIFIED55Anna Fali
1038Smith Y DilliardFrance2025-05-31Benton, John B Jr RENEWAL47Anna Fali
1039Mayumi D GauchoGermany2025-06-07Printing Dimensions NEGOTIATION47Ioni Bowcher
1040Munro P TollnerBrazil2025-06-12Buckley Miller Wright PROPOSAL40Elwin Sharvill
1041Deepesh F PaprockiItaly2025-05-17Chanay, Jeffrey A Esq NEGOTIATION54Bernardo Dominic
1042Jones M KuskoUnited Kingdom2025-05-31Chemel, James L Cpa NEW87Xuxue Feng
1043Greenwood X AlbaresFrance2025-05-31Truhlar And Truhlar Attys UNQUALIFIED63Elwin Sharvill
1044Octavia A PaprockiItaly2025-06-10Rangoni Of Florence QUALIFIED86Onyama Limba
1045Ivar O ChuiJapan2025-05-26Printing Dimensions PROPOSAL77Ivan Magalhaes
1046Octavia S DarakjyFrance2025-06-02Rangoni Of Florence RENEWAL14Elwin Sharvill
1047Costa V SlusarskiIndia2025-06-05Chanay, Jeffrey A Esq PROPOSAL94Elwin Sharvill
1048Jefferson C SchemmerArgentina2025-05-17Dorl, James J Esq UNQUALIFIED85Bernardo Dominic
1049Alejandro Q VocelkaBrazil2025-05-17Printing Dimensions NEGOTIATION64Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Izzy H AmigonIndiaBernardo Dominic QUALIFIED
Mayumi P TollnerSpainAnna Fali QUALIFIED
Leon P CaudyItalyAmy Elsner UNQUALIFIED
Julie Z StockhamIndiaAnna Fali RENEWAL
Ivar G VenereCanadaAnna Fali UNQUALIFIED
Mayumi A IturbideAustraliaIoni Bowcher UNQUALIFIED
Wickens I StensethArgentinaIvan Magalhaes NEGOTIATION
Sinclair I RulapaughFranceAsiya Javayant NEW
Jones W WieserAustraliaBernardo Dominic PROPOSAL
Deepesh X MacleadIndiaBernardo Dominic NEGOTIATION
Jefferson N ButtRussiaXuxue Feng RENEWAL
Jefferson Q StockhamItalyIoni Bowcher RENEWAL
Kaitlin P SergiArgentinaIoni Bowcher RENEWAL
Ricardo A ChuiAustraliaXuxue Feng UNQUALIFIED
Ricardo H MaletArgentinaAsiya Javayant NEGOTIATION
James F NestleSpainElwin Sharvill RENEWAL
Misaki U PoquetteIndiaAsiya Javayant PROPOSAL
Ricardo Z VocelkaCanadaElwin Sharvill UNQUALIFIED
Juan C MorascaSpainXuxue Feng UNQUALIFIED
Darci A MarrierGermanyElwin Sharvill PROPOSAL
Isabel H MaletRussiaAnna Fali QUALIFIED
Adams V KuskoJapanAsiya Javayant PROPOSAL
Isabel U GauchoIndiaIvan Magalhaes NEW
Aditya G SergiIndiaXuxue Feng NEGOTIATION
Aika D SergiFranceStephen Shaw QUALIFIED
Wickens L SlusarskiSpainIvan Magalhaes NEGOTIATION
Adams Y RoysterAustraliaXuxue Feng NEW
Wickens T SergiIndiaElwin Sharvill UNQUALIFIED
Salvatore Y CaldareraIndiaStephen Shaw UNQUALIFIED
Nicolas V SlusarskiAustraliaIvan Magalhaes PROPOSAL
Murillo B RutaUnited KingdomIvan Magalhaes NEW
Julie V BologniaJapanIoni Bowcher NEGOTIATION
Wickens M BologniaIndiaOnyama Limba NEGOTIATION
Murillo B RutaArgentinaAmy Elsner UNQUALIFIED
Cody Z FlosiAustraliaAnna Fali PROPOSAL
Jennifer R SaylorsBrazilElwin Sharvill PROPOSAL
Ivar Y BriddickJapanAsiya Javayant QUALIFIED
Adams O CaldareraIndiaAmy Elsner PROPOSAL
Izzy N PerinRussiaOnyama Limba UNQUALIFIED
Nicolas S SaylorsUnited KingdomStephen Shaw NEW
Aika N RulapaughBrazilIoni Bowcher PROPOSAL
Ashley Q DilliardRussiaAsiya Javayant PROPOSAL
Arvin U ButtSpainAsiya Javayant PROPOSAL
Clifford V DilliardGermanyOnyama Limba NEW
Smith T RutaIndiaIoni Bowcher UNQUALIFIED
Mayumi R WhobreyItalyStephen Shaw UNQUALIFIED
Ivar A MacleadJapanAnna Fali UNQUALIFIED
James J SaylorsRussiaAmy Elsner NEGOTIATION
James X BowleyJapanIvan Magalhaes RENEWAL
Silvio J SaylorsJapanAmy Elsner NEGOTIATION
Frozen Columns
Name
Antonio S Stenseth
Sinclair C Bowley
Jefferson T Sergi
Salvatore Q Venere
Izzy T Campain
Claire V Maclead
Misaki B Tollner
Morrow R Rim
Ashley T Wieser
Misaki D Kolmetz
Aika A Albares
Smith F Campain
Jeanfrancois V Marrier
Jennifer W Butt
Stacey W Inouye
Jennifer Q Vocelka
Faith C Foller
Juan W Darakjy
Emily W Rulapaugh
Costa P Glick
Arvin G Venere
Octavia W Whobrey
Maria P Kusko
Rodrigues X Sergi
Francesco T Maclead
Maria F Kusko
James Q Flosi
Mayumi G Ruta
Munro U Vocelka
Izzy Y Butt
Juan A Schemmer
Emily B Kolmetz
Munro R Rim
Deepesh N Glick
Antonio Q Venere
Octavia C Butt
Silvio Y Oldroyd
Maria T Maclead
Silvio A Flosi
Tony G Perin
Deepesh L Malet
Claire O Gillian
Munro X Foller
Smith P Ostrosky
Arvin Z Ruta
Juan U Perin
Leon M Ferencz
Julie V Ruta
Octavia K Stenseth
Johnson T Dilliard
IdCountryDate
1000Argentina2025-05-15
1001India2025-06-02
1002Italy2025-05-24
1003Argentina2025-05-16
1004India2025-05-17
1005Spain2025-06-04
1006Italy2025-05-19
1007Spain2025-05-15
1008Australia2025-06-06
1009Argentina2025-06-10
1010Argentina2025-05-16
1011United Kingdom2025-05-20
1012Italy2025-05-31
1013Russia2025-06-01
1014Germany2025-05-18
1015Spain2025-05-16
1016Russia2025-05-18
1017Canada2025-06-09
1018Italy2025-06-12
1019Italy2025-05-23
1020Canada2025-05-31
1021Spain2025-05-29
1022United Kingdom2025-06-07
1023France2025-06-05
1024Japan2025-05-31
1025Argentina2025-06-04
1026Canada2025-05-28
1027Russia2025-06-07
1028Canada2025-06-08
1029Brazil2025-06-05
1030France2025-05-27
1031India2025-05-21
1032United Kingdom2025-06-03
1033Brazil2025-06-08
1034Canada2025-06-07
1035Italy2025-05-17
1036Argentina2025-05-17
1037Japan2025-05-17
1038Australia2025-05-19
1039Australia2025-05-29
1040Japan2025-05-27
1041Russia2025-05-26
1042France2025-05-28
1043Italy2025-05-15
1044India2025-06-03
1045Russia2025-05-27
1046Argentina2025-05-26
1047Australia2025-05-14
1048Russia2025-06-11
1049United Kingdom2025-05-29

On-Demand Data

NameIdCountryDate
Johnson J Poquette1000Germany2025-05-16
Aditya S Morasca1001Brazil2025-06-04
Greenwood Q Albares1002United Kingdom2025-05-22
Jeanfrancois G Nestle1003Australia2025-05-21
Murillo C Shinko1004Germany2025-06-12
Aika F Maclead1005Australia2025-05-21
Jennifer L Maclead1006Argentina2025-06-03
Murillo K Flosi1007Canada2025-05-25
Salvatore W Ostrosky1008India2025-05-27
Aruna C Tollner1009Canada2025-05-25
Izzy A Kusko1010Argentina2025-06-08
Alejandro F Amigon1011Russia2025-05-15
Isabel B Stockham1012India2025-06-07
Silvio W Caudy1013India2025-05-22
Ricardo T Caudy1014Brazil2025-05-23
Claire Y Perin1015Canada2025-06-11
Jeanfrancois L Chui1016Russia2025-05-15
Izzy I Nestle1017Germany2025-05-31
Rodrigues Z Ostrosky1018Spain2025-05-18
Tony W Dilliard1019Canada2025-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues R NestleGermanyStephen Shaw NEW
Jones U FigeroaBrazilXuxue Feng UNQUALIFIED
Antonio C MarrierGermanyAsiya Javayant QUALIFIED
Rodrigues H MarrierItalyStephen Shaw NEGOTIATION
Smith S CampainIndiaStephen Shaw QUALIFIED
Cody O FigeroaUnited KingdomIoni Bowcher QUALIFIED
Izzy U FlosiCanadaAnna Fali PROPOSAL
Chavez M WhobreySpainIvan Magalhaes NEW
Jones B GlickAustraliaStephen Shaw UNQUALIFIED
Faith C ShinkoFranceAnna Fali PROPOSAL
Claire Q FollerIndiaIoni Bowcher UNQUALIFIED
Rodrigues M OldroydSpainAmy Elsner NEW
Wickens X DilliardBrazilBernardo Dominic UNQUALIFIED
Faith P NickaRussiaAsiya Javayant RENEWAL
Rodrigues N GillianSpainElwin Sharvill NEW
Juan D GlickAustraliaAsiya Javayant PROPOSAL
Tony A VenereAustraliaIoni Bowcher UNQUALIFIED
Silvio G KuskoRussiaBernardo Dominic NEW
Kadeem M WieserAustraliaElwin Sharvill UNQUALIFIED
Isabel M InouyeUnited KingdomAsiya Javayant PROPOSAL
Julie Y AmigonRussiaElwin Sharvill UNQUALIFIED
Jefferson O WhobreyArgentinaStephen Shaw NEW
Adams P FigeroaArgentinaOnyama Limba PROPOSAL
David W PerinCanadaAmy Elsner PROPOSAL
Antonio F CaudyCanadaElwin Sharvill NEGOTIATION
Kaitlin G OstroskyCanadaOnyama Limba NEW
Maria A GarufiGermanyOnyama Limba NEW
Clifford Z MacleadJapanAmy Elsner PROPOSAL
Greenwood V GlickCanadaOnyama Limba PROPOSAL
Emily E DilliardBrazilAnna Fali PROPOSAL
Clifford H OldroydUnited KingdomAmy Elsner PROPOSAL
Faith M VocelkaRussiaBernardo Dominic PROPOSAL
Rodrigues X FlosiJapanAsiya Javayant RENEWAL
Nicolas L MarrierUnited KingdomStephen Shaw NEW
Antonio U PerinBrazilAmy Elsner RENEWAL
Mujtaba U OldroydRussiaIoni Bowcher QUALIFIED
Julie V MaletGermanyBernardo Dominic RENEWAL
Jennifer C KolmetzRussiaElwin Sharvill QUALIFIED
Jefferson T TollnerUnited KingdomAsiya Javayant RENEWAL
Leon Y ButtArgentinaOnyama Limba QUALIFIED

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