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
Kadeem Y FlosiBrazilBernardo Dominic UNQUALIFIED
Greenwood O KolmetzCanadaOnyama Limba QUALIFIED
Ricardo T ButtFranceAmy Elsner NEGOTIATION
Nicolas P CaudyRussiaElwin Sharvill RENEWAL
Clifford V GauchoRussiaIvan Magalhaes PROPOSAL
Maria W NestleItalyAsiya Javayant NEGOTIATION
Emily B VenereFranceBernardo Dominic RENEWAL
Faith M KuskoCanadaAsiya Javayant PROPOSAL
Jefferson S InouyeIndiaIoni Bowcher PROPOSAL
Alejandro D ChuiRussiaIoni Bowcher QUALIFIED
Johnson D NestleAustraliaIoni Bowcher NEW
Octavia S CampainGermanyXuxue Feng RENEWAL
Salvatore L MarrierRussiaOnyama Limba NEW
Chavez C RimItalyStephen Shaw RENEWAL
Aditya B FollerGermanyAsiya Javayant NEGOTIATION
Jeanfrancois X PerinIndiaAnna Fali NEGOTIATION
Nicolas V RutaRussiaIvan Magalhaes UNQUALIFIED
Clifford H FlosiItalyXuxue Feng UNQUALIFIED
Rodrigues D TollnerRussiaOnyama Limba QUALIFIED
Deepesh V TollnerUnited KingdomBernardo Dominic NEW
Mujtaba N IturbideJapanElwin Sharvill NEGOTIATION
Jennifer K WieserCanadaAsiya Javayant RENEWAL
Nicolas S AmigonCanadaXuxue Feng NEW
Darci A GlickAustraliaBernardo Dominic UNQUALIFIED
David Z SchemmerRussiaAsiya Javayant UNQUALIFIED
Mujtaba Y PaprockiAustraliaIvan Magalhaes NEGOTIATION
Murillo P VenereRussiaStephen Shaw RENEWAL
David A OstroskyGermanyAnna Fali NEGOTIATION
James F SlusarskiAustraliaStephen Shaw NEW
Francesco W AmigonFranceXuxue Feng NEGOTIATION
Cody J FlosiIndiaOnyama Limba NEGOTIATION
Wickens D FlosiGermanyStephen Shaw UNQUALIFIED
Izzy P MaletFranceIoni Bowcher UNQUALIFIED
Ricardo D VenereAustraliaIvan Magalhaes RENEWAL
Antonio P FlosiUnited KingdomIvan Magalhaes PROPOSAL
Kadeem E PoquetteSpainAsiya Javayant NEGOTIATION
Darci E MaletJapanAnna Fali QUALIFIED
Darci O MorascaJapanAsiya Javayant PROPOSAL
Faith N BriddickFranceIoni Bowcher UNQUALIFIED
Salvatore I PoquetteIndiaStephen Shaw NEGOTIATION
Mujtaba K CaudyUnited KingdomAnna Fali PROPOSAL
Leon Q GlickRussiaStephen Shaw RENEWAL
Greenwood S PoquetteSpainElwin Sharvill RENEWAL
Juan I NestleArgentinaIoni Bowcher NEW
Aditya Q DoeSpainElwin Sharvill NEGOTIATION
Maria L GauchoCanadaAsiya Javayant NEGOTIATION
Leja N WaycottJapanBernardo Dominic NEGOTIATION
Munro R MorascaGermanyXuxue Feng UNQUALIFIED
Stacey W GlickGermanyElwin Sharvill NEGOTIATION
Aruna U RimItalyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson U MorascaFranceElwin Sharvill NEW
Maria Q MorascaCanadaAnna Fali UNQUALIFIED
Jefferson S DilliardRussiaOnyama Limba PROPOSAL
Tony G ShinkoGermanyXuxue Feng NEW
Mayumi B StockhamGermanyAsiya Javayant QUALIFIED
Maria V StensethUnited KingdomAnna Fali NEW
Silvio B PoquetteUnited KingdomAnna Fali NEW
James K WaycottBrazilStephen Shaw QUALIFIED
Murillo A FerenczGermanyXuxue Feng NEW
Ashley C GauchoBrazilElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley U SaylorsCanada2024-06-09Chanay, Jeffrey A Esq NEW98Anna Fali
1001Ivar M RoysterRussia2024-06-20Commercial Press QUALIFIED35Onyama Limba
1002Sinclair T CaudyItaly2024-06-19Chanay, Jeffrey A Esq NEW29Amy Elsner
1003Octavia Y WaycottFrance2024-06-12King, Christopher A Esq QUALIFIED57Bernardo Dominic
1004Ricardo H TollnerCanada2024-06-19Dorl, James J Esq NEGOTIATION50Bernardo Dominic
1005Francesco U SlusarskiUnited Kingdom2024-06-19Morlong Associates UNQUALIFIED86Elwin Sharvill
1006Mayumi N StensethItaly2024-06-08Buckley Miller Wright PROPOSAL92Amy Elsner
1007Sinclair T ChuiGermany2024-06-10Dorl, James J Esq UNQUALIFIED58Amy Elsner
1008Maisha I RimItaly2024-06-06Commercial Press RENEWAL36Bernardo Dominic
1009Jones X ChuiUnited Kingdom2024-06-18Benton, John B Jr QUALIFIED50Stephen Shaw
1010Greenwood K SlusarskiArgentina2024-06-11Rangoni Of Florence QUALIFIED78Asiya Javayant
1011Rodrigues Y ButtSpain2024-05-27Chanay, Jeffrey A Esq PROPOSAL61Onyama Limba
1012Aika K WaycottBrazil2024-06-15Dorl, James J Esq NEGOTIATION80Asiya Javayant
1013Darci H RutaBrazil2024-05-24Feiner Bros RENEWAL15Bernardo Dominic
1014Kaitlin G TollnerBrazil2024-06-03Morlong Associates UNQUALIFIED49Stephen Shaw
1015Jeanfrancois R GarufiCanada2024-06-09Dorl, James J Esq PROPOSAL15Elwin Sharvill
1016Julie Q StensethJapan2024-06-14Truhlar And Truhlar Attys RENEWAL22Elwin Sharvill
1017Wickens N CaudyUnited Kingdom2024-06-22Printing Dimensions UNQUALIFIED70Anna Fali
1018Aditya O OldroydItaly2024-06-01Buckley Miller Wright QUALIFIED0Ioni Bowcher
1019Silvio L OldroydRussia2024-06-16Feltz Printing Service NEGOTIATION54Stephen Shaw
1020Jennifer E CaldareraFrance2024-06-14Feltz Printing Service NEW70Amy Elsner
1021Ashley T PerinRussia2024-06-13Morlong Associates PROPOSAL41Amy Elsner
1022Mujtaba R ShinkoRussia2024-06-18Morlong Associates RENEWAL49Bernardo Dominic
1023Alejandro R GauchoFrance2024-06-10Feiner Bros UNQUALIFIED45Anna Fali
1024Darci I WaycottUnited Kingdom2024-05-28Buckley Miller Wright QUALIFIED61Elwin Sharvill
1025Juan Z AlbaresGermany2024-06-05Morlong Associates RENEWAL98Ioni Bowcher
1026Jones T InouyeAustralia2024-05-30Chanay, Jeffrey A Esq NEW16Asiya Javayant
1027Sinclair Z RutaBrazil2024-06-14King, Christopher A Esq PROPOSAL60Xuxue Feng
1028Kadeem C SlusarskiSpain2024-06-14Chapman, Ross E Esq QUALIFIED17Ivan Magalhaes
1029Adams W WieserRussia2024-05-25Feltz Printing Service NEGOTIATION1Elwin Sharvill
1030Sinclair P RulapaughCanada2024-06-04Chemel, James L Cpa QUALIFIED17Elwin Sharvill
1031Faith W CaudyUnited Kingdom2024-06-08Feltz Printing Service UNQUALIFIED19Xuxue Feng
1032Clifford H KuskoUnited Kingdom2024-06-12Morlong Associates RENEWAL92Asiya Javayant
1033Aruna X GauchoUnited Kingdom2024-06-01Buckley Miller Wright UNQUALIFIED67Elwin Sharvill
1034Ricardo S RimArgentina2024-06-13Commercial Press UNQUALIFIED98Ivan Magalhaes
1035Jefferson B CaldareraSpain2024-06-05Rangoni Of Florence PROPOSAL72Bernardo Dominic
1036Darci M DarakjyItaly2024-06-07Printing Dimensions QUALIFIED15Elwin Sharvill
1037Arvin T SlusarskiIndia2024-05-27King, Christopher A Esq NEGOTIATION64Asiya Javayant
1038David H MaletCanada2024-05-26Chanay, Jeffrey A Esq PROPOSAL46Asiya Javayant
1039Jones K CaldareraCanada2024-05-26Feltz Printing Service NEW94Ivan Magalhaes
1040Kaitlin R CampainFrance2024-05-29Benton, John B Jr RENEWAL4Stephen Shaw
1041Johnson X WieserCanada2024-05-31Feltz Printing Service UNQUALIFIED66Amy Elsner
1042Tony P RutaItaly2024-06-18Rousseaux, Michael Esq RENEWAL52Ivan Magalhaes
1043Morrow H WaycottBrazil2024-05-25Chemel, James L Cpa RENEWAL31Asiya Javayant
1044Emily H FollerSpain2024-06-02Chemel, James L Cpa RENEWAL79Ioni Bowcher
1045Julie J CampainArgentina2024-06-02Morlong Associates NEW25Xuxue Feng
1046Antonio E FollerBrazil2024-06-15Rangoni Of Florence NEGOTIATION29Amy Elsner
1047David R ButtGermany2024-06-11Morlong Associates NEGOTIATION58Amy Elsner
1048Emily K DoeIndia2024-06-01Chanay, Jeffrey A Esq RENEWAL75Xuxue Feng
1049Julie C NestleArgentina2024-06-08Printing Dimensions NEW93Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jones K FerenczFranceAmy Elsner NEW
Mayumi U MaletGermanyIvan Magalhaes QUALIFIED
Kaitlin C FigeroaBrazilIvan Magalhaes NEGOTIATION
Aditya A NestleJapanBernardo Dominic RENEWAL
Chavez N ShinkoItalyOnyama Limba NEW
Mujtaba N PaprockiBrazilBernardo Dominic PROPOSAL
Alejandro Y RulapaughFranceStephen Shaw PROPOSAL
Deepesh T TollnerItalyElwin Sharvill UNQUALIFIED
Mujtaba U OldroydAustraliaAnna Fali NEGOTIATION
Morrow I MarrierBrazilElwin Sharvill NEGOTIATION
Ashley E FerenczFranceAnna Fali NEW
Ashley H KuskoJapanXuxue Feng NEGOTIATION
Julie F InouyeFranceStephen Shaw NEW
Mayumi S DilliardUnited KingdomAsiya Javayant NEW
Faith K MaletGermanyXuxue Feng PROPOSAL
Faith F CaldareraItalyXuxue Feng NEGOTIATION
Darci D OstroskySpainXuxue Feng NEGOTIATION
Adams S BriddickUnited KingdomXuxue Feng QUALIFIED
Kadeem A StensethItalyAnna Fali UNQUALIFIED
Darci E VenereCanadaOnyama Limba UNQUALIFIED
Ivar G TollnerSpainIvan Magalhaes NEW
David R InouyeIndiaStephen Shaw NEW
Julie W CaudyUnited KingdomXuxue Feng RENEWAL
Nicolas E KolmetzJapanAmy Elsner NEGOTIATION
Mayumi D ButtBrazilStephen Shaw PROPOSAL
Mujtaba C NickaSpainElwin Sharvill NEW
Emily Z MaletRussiaBernardo Dominic PROPOSAL
Morrow Y CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Wickens V MorascaGermanyIoni Bowcher PROPOSAL
Adams A DoeFranceBernardo Dominic PROPOSAL
Wickens J MaletAustraliaElwin Sharvill NEW
Wickens A ShinkoCanadaXuxue Feng NEW
Salvatore V OstroskyBrazilIvan Magalhaes RENEWAL
Johnson E GarufiCanadaAmy Elsner UNQUALIFIED
Claire P MaletFranceAnna Fali RENEWAL
Smith Q MacleadArgentinaAsiya Javayant QUALIFIED
Arvin K FollerGermanyBernardo Dominic NEW
Jones P SlusarskiArgentinaAnna Fali NEW
Morrow H CampainItalyBernardo Dominic PROPOSAL
Rodrigues N SergiBrazilIvan Magalhaes NEGOTIATION
David J AlbaresItalyAmy Elsner RENEWAL
Maisha J PerinJapanIoni Bowcher NEGOTIATION
Arvin F PaprockiItalyAsiya Javayant PROPOSAL
Juan C TollnerRussiaStephen Shaw PROPOSAL
Alejandro M ButtFranceAmy Elsner NEGOTIATION
Darci Z ChuiSpainXuxue Feng RENEWAL
Chavez K GlickBrazilXuxue Feng PROPOSAL
David E GillianJapanBernardo Dominic PROPOSAL
Misaki F ChuiFranceAsiya Javayant NEW
David I RulapaughUnited KingdomElwin Sharvill NEW
Frozen Columns
Name
Alejandro U Caudy
Juan D Paprocki
Maria G Malet
Jefferson M Inouye
Salvatore P Ferencz
Maisha V Poquette
Clifford X Royster
Aika N Sergi
Julie F Paprocki
Mujtaba V Morasca
Kaitlin K Schemmer
Sinclair L Vocelka
Maria G Malet
Wickens B Rim
Isabel Q Rim
Smith L Shinko
Leja H Waycott
Munro E Marrier
Leon W Morasca
Costa Q Poquette
Julie F Kolmetz
Ashley T Bolognia
Kadeem H Slusarski
Clifford S Stockham
Isabel V Malet
Aditya Z Dilliard
Jefferson X Garufi
Leon W Campain
Cody U Doe
Isabel V Gaucho
Francesco R Rim
James O Perin
Jeanfrancois T Darakjy
David X Sergi
Isabel A Kolmetz
Greenwood U Ostrosky
Salvatore K Ruta
Jefferson S Albares
Wickens X Albares
Johnson P Stenseth
Faith E Darakjy
Alejandro T Malet
Faith P Schemmer
Juan F Wieser
Smith D Tollner
Costa K Darakjy
Octavia Y Chui
Morrow Q Albares
Octavia T Paprocki
Arvin B Ostrosky
IdCountryDate
1000Argentina2024-05-27
1001Argentina2024-06-20
1002United Kingdom2024-06-05
1003Argentina2024-06-14
1004Russia2024-06-09
1005Argentina2024-05-29
1006Australia2024-06-02
1007Russia2024-06-21
1008Canada2024-06-06
1009Argentina2024-05-30
1010Japan2024-05-27
1011France2024-06-08
1012Russia2024-06-18
1013India2024-06-01
1014Brazil2024-06-05
1015Japan2024-05-29
1016Spain2024-06-08
1017Brazil2024-06-22
1018United Kingdom2024-06-16
1019Canada2024-06-18
1020France2024-05-31
1021Spain2024-06-18
1022India2024-06-12
1023Russia2024-06-21
1024Russia2024-06-12
1025Australia2024-06-11
1026Germany2024-06-22
1027Australia2024-05-24
1028Spain2024-05-25
1029Spain2024-06-21
1030Spain2024-05-27
1031Canada2024-06-17
1032United Kingdom2024-06-14
1033India2024-06-04
1034Canada2024-05-31
1035Australia2024-05-28
1036France2024-06-09
1037Japan2024-05-31
1038Canada2024-06-18
1039Brazil2024-06-18
1040Italy2024-05-29
1041France2024-06-11
1042Russia2024-06-10
1043Italy2024-06-11
1044France2024-06-19
1045Brazil2024-06-11
1046Canada2024-06-06
1047India2024-05-29
1048United Kingdom2024-06-12
1049Spain2024-06-14

On-Demand Data

NameIdCountryDate
Kaitlin I Gillian1000Italy2024-05-25
Francesco F Iturbide1001Spain2024-05-26
Wickens M Dilliard1002Russia2024-06-10
Tony T Slusarski1003India2024-06-17
Julie D Vocelka1004France2024-05-29
Nicolas Y Nicka1005Canada2024-06-03
Faith P Sergi1006Russia2024-05-29
Antonio K Campain1007Argentina2024-05-28
Ashley D Caudy1008Brazil2024-06-16
James G Ostrosky1009Spain2024-06-10
Jeanfrancois M Nicka1010France2024-05-27
Chavez H Schemmer1011Spain2024-06-15
Johnson I Campain1012United Kingdom2024-06-15
James Y Glick1013Spain2024-05-25
Morrow W Nestle1014Argentina2024-06-03
Antonio Q Tollner1015Argentina2024-06-05
Aditya J Darakjy1016Australia2024-05-27
Maisha D Malet1017Russia2024-05-31
James C Caldarera1018Spain2024-06-03
Costa Z Bolognia1019Germany2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan R TollnerBrazilIvan Magalhaes UNQUALIFIED
Salvatore C CaudyUnited KingdomXuxue Feng QUALIFIED
Jennifer Z RutaItalyAmy Elsner PROPOSAL
Jennifer D VocelkaUnited KingdomAmy Elsner NEW
Wickens W NestleBrazilIoni Bowcher QUALIFIED
Claire S BowleyJapanOnyama Limba UNQUALIFIED
Jefferson Z KolmetzAustraliaAmy Elsner NEW
Aditya G NestleSpainOnyama Limba QUALIFIED
Silvio D RutaAustraliaOnyama Limba NEW
Juan R GlickRussiaIvan Magalhaes NEGOTIATION
Aruna V CampainSpainXuxue Feng NEGOTIATION
Tony I PoquetteCanadaIvan Magalhaes NEW
Aika F WaycottBrazilXuxue Feng RENEWAL
Octavia P PaprockiGermanyIvan Magalhaes QUALIFIED
Cody I WaycottUnited KingdomAmy Elsner PROPOSAL
Aika Z AmigonArgentinaElwin Sharvill PROPOSAL
David K SlusarskiFranceIvan Magalhaes UNQUALIFIED
Jefferson J KuskoFranceIoni Bowcher PROPOSAL
Tony R BologniaIndiaAsiya Javayant QUALIFIED
Morrow G GauchoUnited KingdomIvan Magalhaes RENEWAL
Tony M DarakjyRussiaOnyama Limba RENEWAL
Antonio Z StensethBrazilElwin Sharvill QUALIFIED
Johnson H MorascaUnited KingdomAmy Elsner QUALIFIED
Maria Q ShinkoArgentinaAsiya Javayant QUALIFIED
Alejandro G FerenczSpainAmy Elsner UNQUALIFIED
Adams L GlickCanadaIvan Magalhaes QUALIFIED
Francesco E GarufiUnited KingdomElwin Sharvill NEW
Emily N InouyeItalyAmy Elsner QUALIFIED
Jefferson L FigeroaAustraliaXuxue Feng NEW
Jennifer U MaletIndiaOnyama Limba RENEWAL
Johnson W OstroskyArgentinaBernardo Dominic PROPOSAL
Octavia S BowleyArgentinaXuxue Feng PROPOSAL
Claire V FlosiFranceAnna Fali PROPOSAL
Juan R BologniaAustraliaAmy Elsner UNQUALIFIED
Aditya A RimBrazilIoni Bowcher NEGOTIATION
David L WhobreyCanadaIvan Magalhaes UNQUALIFIED
James E MaletRussiaBernardo Dominic UNQUALIFIED
Aruna J BriddickCanadaAnna Fali NEW
Adams K MarrierRussiaElwin Sharvill NEW
Silvio K WaycottFranceXuxue Feng 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>