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
Aika P NickaBrazilIoni Bowcher RENEWAL
Morrow I ButtArgentinaElwin Sharvill NEGOTIATION
Deepesh S WaycottAustraliaIoni Bowcher NEW
Ivar R ButtFranceIoni Bowcher NEGOTIATION
Mujtaba E NickaCanadaBernardo Dominic RENEWAL
Cody F CaldareraCanadaElwin Sharvill PROPOSAL
Maria P CampainArgentinaOnyama Limba NEW
Antonio O MaletArgentinaOnyama Limba QUALIFIED
Ricardo X PerinJapanElwin Sharvill NEW
Munro N FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Costa J SergiSpainBernardo Dominic QUALIFIED
Adams M VenereAustraliaAmy Elsner NEW
Maisha P DilliardJapanAsiya Javayant UNQUALIFIED
Silvio G FerenczCanadaAnna Fali QUALIFIED
Jeanfrancois S ShinkoRussiaIvan Magalhaes NEW
Ricardo R DarakjyArgentinaIoni Bowcher RENEWAL
Izzy R WieserGermanyAmy Elsner RENEWAL
Johnson I OldroydSpainOnyama Limba NEGOTIATION
Aruna B RulapaughBrazilBernardo Dominic QUALIFIED
Aruna I DilliardUnited KingdomBernardo Dominic UNQUALIFIED
James X GlickItalyAsiya Javayant PROPOSAL
Munro P PoquetteUnited KingdomOnyama Limba PROPOSAL
Mayumi O NickaIndiaOnyama Limba PROPOSAL
Adams K StensethCanadaStephen Shaw RENEWAL
Aika N InouyeItalyXuxue Feng PROPOSAL
David W GlickJapanAsiya Javayant PROPOSAL
Aika M WhobreySpainIoni Bowcher NEW
Aika B OldroydFranceBernardo Dominic PROPOSAL
Jefferson I MarrierGermanyIoni Bowcher PROPOSAL
Nicolas O FigeroaItalyBernardo Dominic PROPOSAL
Morrow C MaletRussiaXuxue Feng NEW
Tony N StockhamSpainAmy Elsner QUALIFIED
Ricardo E PerinRussiaAmy Elsner PROPOSAL
Cody G NestleGermanyAsiya Javayant NEW
Jeanfrancois L WhobreyCanadaXuxue Feng QUALIFIED
Kaitlin P OstroskyFranceStephen Shaw RENEWAL
Smith W PerinFranceStephen Shaw QUALIFIED
Claire Y GillianGermanyBernardo Dominic UNQUALIFIED
Chavez S MacleadBrazilOnyama Limba QUALIFIED
Wickens U WieserFranceOnyama Limba RENEWAL
Julie N CaudySpainXuxue Feng NEW
Misaki D ShinkoAustraliaAsiya Javayant UNQUALIFIED
Nicolas R OldroydItalyElwin Sharvill PROPOSAL
Mayumi D WieserGermanyBernardo Dominic NEGOTIATION
Jefferson K GlickUnited KingdomAnna Fali RENEWAL
Chavez G SergiItalyOnyama Limba UNQUALIFIED
Alejandro K DilliardUnited KingdomXuxue Feng NEW
Juan I DoeGermanyAmy Elsner PROPOSAL
Kadeem P SaylorsFranceAsiya Javayant PROPOSAL
Greenwood N WieserJapanAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore E CaldareraAustraliaAnna Fali QUALIFIED
Morrow D ShinkoSpainOnyama Limba NEGOTIATION
Salvatore G InouyeUnited KingdomAnna Fali UNQUALIFIED
Costa E OstroskyJapanAsiya Javayant PROPOSAL
Mayumi B GarufiArgentinaElwin Sharvill PROPOSAL
Antonio U ShinkoArgentinaElwin Sharvill NEGOTIATION
Faith R ChuiFranceAsiya Javayant QUALIFIED
Murillo T PaprockiSpainAnna Fali UNQUALIFIED
Ricardo E FollerCanadaStephen Shaw NEGOTIATION
Maisha O ChuiAustraliaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson P VocelkaItaly2024-06-05Benton, John B Jr QUALIFIED19Xuxue Feng
1001Aika L WhobreyAustralia2024-06-10King, Christopher A Esq PROPOSAL6Elwin Sharvill
1002Julie J GarufiItaly2024-06-06King, Christopher A Esq NEW67Amy Elsner
1003David C RimAustralia2024-06-23King, Christopher A Esq UNQUALIFIED76Stephen Shaw
1004Ivar J MacleadArgentina2024-06-08Commercial Press PROPOSAL73Ioni Bowcher
1005Sinclair M SergiItaly2024-06-19Printing Dimensions NEGOTIATION19Asiya Javayant
1006Ricardo O RimItaly2024-06-19Feiner Bros UNQUALIFIED61Elwin Sharvill
1007Emily O VenereIndia2024-06-15Dorl, James J Esq NEW60Ivan Magalhaes
1008Mujtaba Q GarufiJapan2024-06-13Rousseaux, Michael Esq NEGOTIATION61Amy Elsner
1009Munro G FerenczGermany2024-06-06Buckley Miller Wright PROPOSAL76Ioni Bowcher
1010David E AlbaresJapan2024-06-08Feiner Bros NEGOTIATION57Anna Fali
1011Salvatore A OldroydAustralia2024-05-25Morlong Associates QUALIFIED21Xuxue Feng
1012Greenwood I GlickItaly2024-06-08Chemel, James L Cpa RENEWAL21Anna Fali
1013Aruna U FigeroaRussia2024-05-31King, Christopher A Esq UNQUALIFIED60Elwin Sharvill
1014Chavez D CaudyBrazil2024-06-03King, Christopher A Esq PROPOSAL42Xuxue Feng
1015Ivar A ButtJapan2024-05-25King, Christopher A Esq NEGOTIATION66Asiya Javayant
1016Sinclair A RulapaughItaly2024-05-29Feltz Printing Service PROPOSAL50Amy Elsner
1017Antonio O MaletJapan2024-05-29Buckley Miller Wright QUALIFIED76Anna Fali
1018Kaitlin Y ShinkoIndia2024-06-21Commercial Press NEW78Xuxue Feng
1019Faith T MarrierGermany2024-06-15Benton, John B Jr UNQUALIFIED64Ivan Magalhaes
1020Maisha Q StockhamBrazil2024-05-31Chapman, Ross E Esq NEW27Asiya Javayant
1021Octavia P FigeroaAustralia2024-06-11Feltz Printing Service RENEWAL73Xuxue Feng
1022Rodrigues O FigeroaItaly2024-06-05Commercial Press NEW83Ivan Magalhaes
1023Jones W FigeroaFrance2024-06-19Rousseaux, Michael Esq QUALIFIED89Amy Elsner
1024Antonio G SergiRussia2024-06-15Printing Dimensions NEW47Stephen Shaw
1025Maisha R PoquetteUnited Kingdom2024-06-16Rangoni Of Florence RENEWAL40Xuxue Feng
1026David W RulapaughItaly2024-06-01Benton, John B Jr QUALIFIED67Ioni Bowcher
1027Tony V WieserJapan2024-06-19Chapman, Ross E Esq NEGOTIATION10Onyama Limba
1028Aruna Y WaycottAustralia2024-06-13Chemel, James L Cpa PROPOSAL10Ivan Magalhaes
1029Antonio Q IturbideFrance2024-06-17Benton, John B Jr NEW66Elwin Sharvill
1030Alejandro I DarakjyRussia2024-06-02Chanay, Jeffrey A Esq NEGOTIATION21Onyama Limba
1031James K OstroskyRussia2024-06-12Buckley Miller Wright NEW81Asiya Javayant
1032Ashley Y DarakjyJapan2024-05-26Chanay, Jeffrey A Esq QUALIFIED3Stephen Shaw
1033Arvin W PoquetteAustralia2024-05-30Chemel, James L Cpa NEGOTIATION53Stephen Shaw
1034Leon J FerenczIndia2024-06-21Morlong Associates RENEWAL72Ivan Magalhaes
1035Julie J VenereItaly2024-06-04Buckley Miller Wright PROPOSAL77Stephen Shaw
1036Darci D MarrierArgentina2024-06-11Benton, John B Jr NEW63Amy Elsner
1037Jennifer W RoysterFrance2024-06-04King, Christopher A Esq QUALIFIED67Onyama Limba
1038Salvatore D DoeFrance2024-05-28Dorl, James J Esq UNQUALIFIED95Amy Elsner
1039Salvatore W MorascaArgentina2024-06-23Feltz Printing Service NEGOTIATION80Stephen Shaw
1040Jennifer W RoysterBrazil2024-06-13Buckley Miller Wright RENEWAL49Amy Elsner
1041Kaitlin F SaylorsUnited Kingdom2024-06-18Truhlar And Truhlar Attys RENEWAL22Ivan Magalhaes
1042Faith E SchemmerCanada2024-06-16Commercial Press NEW33Asiya Javayant
1043David F NestleIndia2024-06-22Truhlar And Truhlar Attys UNQUALIFIED64Asiya Javayant
1044Arvin H TollnerItaly2024-05-28Chapman, Ross E Esq NEW4Elwin Sharvill
1045Greenwood O StockhamGermany2024-06-20Printing Dimensions UNQUALIFIED28Asiya Javayant
1046Faith I BowleyArgentina2024-05-25Chanay, Jeffrey A Esq NEW50Ioni Bowcher
1047Ricardo Z InouyeItaly2024-06-22Commercial Press QUALIFIED8Elwin Sharvill
1048Isabel C DarakjyRussia2024-06-13Rousseaux, Michael Esq NEW43Elwin Sharvill
1049Stacey K RoysterGermany2024-05-27Feltz Printing Service PROPOSAL14Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aditya K PaprockiIndiaIvan Magalhaes NEW
Johnson N RulapaughIndiaElwin Sharvill PROPOSAL
Mayumi N StockhamIndiaXuxue Feng PROPOSAL
Sinclair G NestleAustraliaAmy Elsner UNQUALIFIED
David W MaletBrazilAmy Elsner NEW
Alejandro Z TollnerGermanyAmy Elsner NEGOTIATION
Greenwood H StockhamCanadaAsiya Javayant NEGOTIATION
Ricardo G SaylorsJapanAsiya Javayant UNQUALIFIED
Jefferson S GillianGermanyStephen Shaw PROPOSAL
Tony D GauchoIndiaAmy Elsner NEW
Greenwood K WaycottCanadaStephen Shaw NEW
Deepesh H IturbideSpainOnyama Limba RENEWAL
Juan S NestleCanadaXuxue Feng NEW
Maria B PerinItalyBernardo Dominic NEGOTIATION
Ivar W GlickRussiaIvan Magalhaes UNQUALIFIED
Octavia V GlickItalyAmy Elsner RENEWAL
Greenwood I CaldareraJapanBernardo Dominic UNQUALIFIED
Octavia D MaletIndiaOnyama Limba RENEWAL
Adams A InouyeAustraliaStephen Shaw PROPOSAL
Emily L ShinkoRussiaAmy Elsner RENEWAL
Arvin W MaletBrazilXuxue Feng UNQUALIFIED
Darci N WieserItalyAsiya Javayant UNQUALIFIED
Murillo F AlbaresItalyAnna Fali RENEWAL
Juan Y CampainArgentinaAsiya Javayant RENEWAL
Aditya V AlbaresAustraliaAmy Elsner UNQUALIFIED
Ivar Z RulapaughBrazilElwin Sharvill RENEWAL
Ricardo Y SchemmerItalyBernardo Dominic QUALIFIED
Salvatore R GillianArgentinaOnyama Limba UNQUALIFIED
Johnson O DoeBrazilBernardo Dominic NEGOTIATION
Clifford A RimFranceOnyama Limba NEGOTIATION
Jeanfrancois W PaprockiAustraliaXuxue Feng RENEWAL
Munro D OstroskyJapanStephen Shaw PROPOSAL
Ricardo Z NestleIndiaAmy Elsner PROPOSAL
Ivar R TollnerGermanyIvan Magalhaes UNQUALIFIED
Claire U WaycottIndiaAsiya Javayant PROPOSAL
Faith K RutaJapanStephen Shaw NEW
Leja B KuskoFranceBernardo Dominic QUALIFIED
Claire I ShinkoGermanyStephen Shaw QUALIFIED
Faith D GauchoBrazilElwin Sharvill PROPOSAL
Izzy F OstroskyCanadaAnna Fali UNQUALIFIED
Mayumi V RoysterIndiaXuxue Feng UNQUALIFIED
Wickens G CaldareraFranceAsiya Javayant RENEWAL
Jefferson X GauchoBrazilAsiya Javayant UNQUALIFIED
Morrow M MorascaFranceAnna Fali NEGOTIATION
Silvio O RulapaughFranceIoni Bowcher QUALIFIED
Ivar D VocelkaJapanAmy Elsner UNQUALIFIED
Ricardo V ChuiItalyAnna Fali UNQUALIFIED
Octavia G InouyeRussiaOnyama Limba UNQUALIFIED
Jennifer H WieserSpainXuxue Feng PROPOSAL
Isabel G InouyeJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Wickens G Ostrosky
Wickens X Wieser
Ashley T Butt
Munro S Gillian
Smith D Caldarera
Octavia T Rim
Francesco X Chui
Morrow M Foller
Nicolas Y Figeroa
Silvio K Dilliard
Arvin F Ferencz
Deepesh Q Bolognia
Adams L Waycott
Kaitlin P Maclead
Darci R Ostrosky
Clifford W Malet
Arvin V Darakjy
Misaki D Stockham
Silvio B Venere
Chavez W Garufi
Munro C Schemmer
Octavia K Campain
Chavez W Chui
Jones T Kusko
Julie B Malet
David X Rim
Faith F Ruta
Wickens E Rulapaugh
Rodrigues G Butt
Faith L Ruta
Aruna C Stenseth
Tony X Darakjy
Leja E Nicka
Kaitlin K Stenseth
Kadeem I Waycott
Clifford K Caldarera
Morrow X Ruta
Johnson Z Garufi
Juan Z Foller
James L Ostrosky
Wickens W Ruta
Julie J Vocelka
Ricardo D Figeroa
Claire F Gaucho
Aika C Bolognia
Greenwood Z Campain
Mayumi P Vocelka
Smith Y Butt
Murillo Y Whobrey
Murillo G Iturbide
IdCountryDate
1000United Kingdom2024-06-15
1001Spain2024-06-22
1002Canada2024-06-23
1003Canada2024-06-09
1004France2024-06-06
1005Italy2024-05-30
1006Germany2024-05-29
1007Canada2024-06-21
1008Japan2024-06-02
1009Italy2024-06-13
1010Australia2024-06-20
1011Spain2024-06-15
1012India2024-06-09
1013Argentina2024-05-28
1014Italy2024-05-30
1015Canada2024-06-23
1016Russia2024-06-12
1017India2024-06-23
1018India2024-06-16
1019Spain2024-06-17
1020Australia2024-06-09
1021Argentina2024-06-18
1022Italy2024-06-13
1023Japan2024-06-09
1024Italy2024-05-26
1025Australia2024-06-04
1026India2024-06-18
1027Canada2024-05-31
1028Canada2024-06-20
1029Spain2024-06-03
1030Canada2024-06-16
1031Russia2024-06-09
1032Russia2024-05-29
1033United Kingdom2024-05-28
1034United Kingdom2024-06-06
1035Russia2024-06-19
1036Argentina2024-06-13
1037Canada2024-06-21
1038Italy2024-06-01
1039United Kingdom2024-05-31
1040Japan2024-05-29
1041France2024-06-05
1042Japan2024-05-31
1043Brazil2024-06-12
1044Spain2024-06-07
1045Italy2024-06-15
1046Brazil2024-06-15
1047Russia2024-05-31
1048Russia2024-06-23
1049Spain2024-06-11

On-Demand Data

NameIdCountryDate
Johnson Y Foller1000Canada2024-06-14
Johnson N Foller1001Australia2024-06-17
Ricardo L Nestle1002Canada2024-06-08
Costa Y Kolmetz1003Canada2024-06-01
Kadeem K Saylors1004France2024-05-28
Aditya R Campain1005United Kingdom2024-06-10
Octavia Y Vocelka1006Japan2024-06-04
Jennifer H Gaucho1007India2024-05-27
Aika G Shinko1008Italy2024-06-05
Maisha T Vocelka1009Spain2024-06-11
Smith T Campain1010Germany2024-06-10
Stacey R Sergi1011Argentina2024-05-27
Stacey L Vocelka1012United Kingdom2024-05-30
Leja I Butt1013India2024-06-10
Clifford V Inouye1014Italy2024-06-14
Stacey X Flosi1015Brazil2024-05-26
Ashley U Slusarski1016Russia2024-06-04
Johnson L Gaucho1017Japan2024-06-22
Maria P Figeroa1018India2024-06-14
Mujtaba U Flosi1019Japan2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues R OldroydAustraliaIoni Bowcher QUALIFIED
Maisha K SchemmerIndiaAsiya Javayant NEW
Aditya F SaylorsItalyAnna Fali UNQUALIFIED
Izzy Z CaldareraBrazilElwin Sharvill NEGOTIATION
Rodrigues M FerenczJapanAnna Fali RENEWAL
Claire L DoeArgentinaElwin Sharvill NEW
Mayumi Y CaudyAustraliaAsiya Javayant UNQUALIFIED
Kaitlin K RulapaughItalyElwin Sharvill QUALIFIED
Octavia T CaudyItalyXuxue Feng QUALIFIED
Tony L NickaSpainIvan Magalhaes NEW
Rodrigues H RulapaughBrazilBernardo Dominic PROPOSAL
Aika K VocelkaFranceXuxue Feng PROPOSAL
Isabel B SergiSpainOnyama Limba UNQUALIFIED
Ivar O WaycottGermanyStephen Shaw UNQUALIFIED
Salvatore X SlusarskiFranceElwin Sharvill QUALIFIED
Kadeem F WaycottIndiaAmy Elsner RENEWAL
Juan F TollnerAustraliaOnyama Limba RENEWAL
Nicolas U KolmetzFranceXuxue Feng NEGOTIATION
Maria V WaycottJapanBernardo Dominic QUALIFIED
Maria P WieserAustraliaIvan Magalhaes NEW
Jefferson G KuskoJapanIoni Bowcher NEW
Murillo C MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Smith A WhobreyCanadaIoni Bowcher QUALIFIED
Izzy J MorascaFranceStephen Shaw NEW
Salvatore I InouyeItalyXuxue Feng QUALIFIED
Chavez U IturbideCanadaIoni Bowcher NEGOTIATION
Jones J MaletGermanyIoni Bowcher PROPOSAL
Juan T MaletAustraliaIoni Bowcher QUALIFIED
Leja Q NestleJapanIoni Bowcher NEGOTIATION
Munro B FigeroaRussiaBernardo Dominic QUALIFIED
Aruna W MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha P ShinkoItalyBernardo Dominic UNQUALIFIED
Jefferson M CampainSpainAmy Elsner NEGOTIATION
Adams V CaudyGermanyStephen Shaw RENEWAL
Costa S IturbideItalyAnna Fali QUALIFIED
Francesco V StensethFranceBernardo Dominic QUALIFIED
Julie N RutaFranceAsiya Javayant RENEWAL
Claire P MaletAustraliaOnyama Limba PROPOSAL
Faith W WaycottItalyAsiya Javayant QUALIFIED
James T CaudyRussiaStephen Shaw UNQUALIFIED

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