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
Silvio F PaprockiArgentinaAnna Fali PROPOSAL
Antonio Z AlbaresCanadaXuxue Feng UNQUALIFIED
Juan O KuskoGermanyAmy Elsner UNQUALIFIED
Rodrigues I WieserSpainOnyama Limba RENEWAL
Francesco G GlickItalyStephen Shaw RENEWAL
Sinclair C VenereCanadaElwin Sharvill RENEWAL
Octavia P VocelkaFranceBernardo Dominic NEGOTIATION
Juan E GlickIndiaIoni Bowcher NEW
Tony D WaycottSpainBernardo Dominic PROPOSAL
Julie H PerinRussiaAmy Elsner RENEWAL
Mujtaba M SchemmerAustraliaAmy Elsner NEW
Mayumi H CaldareraGermanyBernardo Dominic RENEWAL
Deepesh A PaprockiArgentinaElwin Sharvill UNQUALIFIED
Ivar Z CaudyIndiaIvan Magalhaes PROPOSAL
Octavia A VocelkaBrazilXuxue Feng QUALIFIED
Jones H TollnerSpainAmy Elsner NEGOTIATION
Silvio G MacleadArgentinaOnyama Limba NEGOTIATION
Jefferson J PoquetteGermanyIoni Bowcher RENEWAL
Morrow X InouyeCanadaAmy Elsner NEGOTIATION
Chavez U WieserIndiaAmy Elsner RENEWAL
Maisha R GlickFranceIvan Magalhaes RENEWAL
Francesco C ChuiArgentinaBernardo Dominic RENEWAL
Cody X SlusarskiSpainAmy Elsner RENEWAL
Alejandro U SlusarskiAustraliaElwin Sharvill NEGOTIATION
Maisha E StockhamRussiaIvan Magalhaes RENEWAL
Misaki X WaycottRussiaStephen Shaw RENEWAL
Rodrigues P WhobreyUnited KingdomOnyama Limba PROPOSAL
Ashley W GauchoJapanAnna Fali QUALIFIED
Aika K BriddickSpainAsiya Javayant QUALIFIED
Mayumi L MarrierBrazilOnyama Limba QUALIFIED
Izzy H MarrierItalyIvan Magalhaes NEGOTIATION
Ricardo G TollnerIndiaElwin Sharvill UNQUALIFIED
Izzy Y InouyeSpainAmy Elsner UNQUALIFIED
Cody Z OstroskyItalyIvan Magalhaes UNQUALIFIED
Aruna W ChuiCanadaBernardo Dominic RENEWAL
Salvatore O InouyeJapanOnyama Limba NEW
Leon L GlickUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin D OldroydArgentinaAmy Elsner QUALIFIED
Maisha T BriddickAustraliaAmy Elsner QUALIFIED
Mujtaba A RulapaughGermanyXuxue Feng NEW
Darci X RoysterIndiaOnyama Limba UNQUALIFIED
Johnson M GlickIndiaIoni Bowcher PROPOSAL
Julie J RimIndiaAsiya Javayant RENEWAL
Maisha X WaycottGermanyIvan Magalhaes PROPOSAL
Faith I FlosiArgentinaIoni Bowcher NEGOTIATION
David K WhobreySpainAsiya Javayant RENEWAL
Kaitlin M MacleadArgentinaAsiya Javayant NEW
Greenwood B BowleyFranceIvan Magalhaes PROPOSAL
Sinclair V SlusarskiRussiaAnna Fali RENEWAL
Juan P GlickItalyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro P FerenczCanadaIvan Magalhaes PROPOSAL
Izzy B RulapaughJapanIoni Bowcher UNQUALIFIED
Claire R KolmetzArgentinaIoni Bowcher PROPOSAL
Antonio T KolmetzGermanyOnyama Limba NEW
Aruna R MacleadItalyIvan Magalhaes NEGOTIATION
Ivar D MorascaFranceXuxue Feng PROPOSAL
Ashley H CampainCanadaBernardo Dominic NEGOTIATION
Murillo C ChuiItalyBernardo Dominic UNQUALIFIED
Emily O NickaArgentinaIoni Bowcher UNQUALIFIED
Deepesh Y SlusarskiJapanOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba O MacleadIndia2024-05-31Chemel, James L Cpa PROPOSAL87Elwin Sharvill
1001Adams L FigeroaCanada2024-06-18Printing Dimensions PROPOSAL75Ioni Bowcher
1002Kadeem O MaletAustralia2024-06-09Feltz Printing Service UNQUALIFIED96Ivan Magalhaes
1003David Z CaudyIndia2024-06-02Rousseaux, Michael Esq QUALIFIED97Asiya Javayant
1004Ashley N BologniaGermany2024-05-27Chemel, James L Cpa UNQUALIFIED62Anna Fali
1005Aruna A SergiGermany2024-05-29King, Christopher A Esq PROPOSAL56Ivan Magalhaes
1006David Y GauchoFrance2024-06-12Printing Dimensions NEGOTIATION3Stephen Shaw
1007Adams Y SergiCanada2024-06-01Benton, John B Jr QUALIFIED47Elwin Sharvill
1008Murillo B BowleyArgentina2024-06-07Buckley Miller Wright QUALIFIED63Asiya Javayant
1009Ricardo P OstroskyJapan2024-06-08Rousseaux, Michael Esq UNQUALIFIED70Amy Elsner
1010Claire C WieserFrance2024-05-21Dorl, James J Esq PROPOSAL56Bernardo Dominic
1011Deepesh O BologniaArgentina2024-06-08Truhlar And Truhlar Attys UNQUALIFIED32Asiya Javayant
1012Cody X KuskoGermany2024-05-31Rousseaux, Michael Esq PROPOSAL63Xuxue Feng
1013Leon D ChuiBrazil2024-06-02Chanay, Jeffrey A Esq PROPOSAL24Xuxue Feng
1014James X BriddickIndia2024-05-28King, Christopher A Esq UNQUALIFIED99Ioni Bowcher
1015Aika M MacleadUnited Kingdom2024-06-18Chemel, James L Cpa NEW70Asiya Javayant
1016Mayumi V SaylorsIndia2024-06-17Feltz Printing Service NEGOTIATION17Stephen Shaw
1017Munro B RimJapan2024-06-03Morlong Associates QUALIFIED15Amy Elsner
1018Sinclair A CampainSpain2024-06-12Chemel, James L Cpa QUALIFIED13Xuxue Feng
1019Jefferson G IturbideUnited Kingdom2024-06-09Benton, John B Jr UNQUALIFIED61Anna Fali
1020Aditya B GlickSpain2024-05-31Benton, John B Jr PROPOSAL93Asiya Javayant
1021Emily S GarufiFrance2024-05-23Printing Dimensions QUALIFIED35Ivan Magalhaes
1022Murillo A GlickCanada2024-05-24Rousseaux, Michael Esq UNQUALIFIED15Amy Elsner
1023Juan Q CaudyRussia2024-05-30Chapman, Ross E Esq RENEWAL26Ivan Magalhaes
1024Misaki K PerinAustralia2024-06-03Benton, John B Jr PROPOSAL5Stephen Shaw
1025Smith B CampainGermany2024-06-17Benton, John B Jr QUALIFIED83Amy Elsner
1026Izzy F CampainBrazil2024-05-25Chanay, Jeffrey A Esq NEGOTIATION83Bernardo Dominic
1027Stacey J StensethGermany2024-06-07Feiner Bros NEW27Onyama Limba
1028Antonio Q MaletUnited Kingdom2024-05-26King, Christopher A Esq NEGOTIATION44Asiya Javayant
1029Claire J NestleAustralia2024-06-16Chapman, Ross E Esq PROPOSAL24Asiya Javayant
1030Aruna J GlickUnited Kingdom2024-05-29Feiner Bros RENEWAL42Anna Fali
1031Jefferson Y DoeUnited Kingdom2024-06-10Chemel, James L Cpa NEGOTIATION23Anna Fali
1032Maria Z NickaCanada2024-06-01Chapman, Ross E Esq PROPOSAL0Amy Elsner
1033Kadeem L GlickFrance2024-06-11Feiner Bros QUALIFIED43Xuxue Feng
1034Smith Y OldroydBrazil2024-06-12Feiner Bros PROPOSAL29Amy Elsner
1035Salvatore G PoquetteGermany2024-05-20Chapman, Ross E Esq RENEWAL41Stephen Shaw
1036Kaitlin M KuskoArgentina2024-05-20Rousseaux, Michael Esq UNQUALIFIED98Bernardo Dominic
1037Cody S WieserBrazil2024-05-31Rangoni Of Florence NEW12Ioni Bowcher
1038Jones H CampainItaly2024-05-21Benton, John B Jr PROPOSAL97Elwin Sharvill
1039Silvio K KolmetzItaly2024-05-26Commercial Press QUALIFIED88Asiya Javayant
1040James X GillianIndia2024-05-20Printing Dimensions QUALIFIED14Xuxue Feng
1041Tony R SergiItaly2024-05-21Chanay, Jeffrey A Esq PROPOSAL32Xuxue Feng
1042Johnson G KuskoItaly2024-05-21Commercial Press PROPOSAL30Stephen Shaw
1043Morrow X PerinAustralia2024-05-26Rousseaux, Michael Esq RENEWAL80Asiya Javayant
1044Adams H FollerFrance2024-06-15Morlong Associates NEGOTIATION57Amy Elsner
1045Costa T SaylorsAustralia2024-06-11Feltz Printing Service UNQUALIFIED49Ivan Magalhaes
1046Rodrigues C SergiIndia2024-05-31Benton, John B Jr QUALIFIED82Amy Elsner
1047Kaitlin E DarakjyJapan2024-05-31King, Christopher A Esq NEGOTIATION15Xuxue Feng
1048Adams A FigeroaItaly2024-06-12Buckley Miller Wright UNQUALIFIED54Ioni Bowcher
1049Jones A SaylorsIndia2024-06-02Buckley Miller Wright RENEWAL80Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Wickens S FigeroaFranceIoni Bowcher PROPOSAL
Ashley C IturbideRussiaIoni Bowcher NEGOTIATION
Tony O VenereSpainOnyama Limba NEGOTIATION
Misaki C NickaArgentinaOnyama Limba PROPOSAL
Antonio V TollnerGermanyIoni Bowcher QUALIFIED
Nicolas S WhobreySpainIoni Bowcher QUALIFIED
Juan O FigeroaCanadaElwin Sharvill NEW
Izzy P RimGermanyOnyama Limba RENEWAL
Aika S CaudyGermanyOnyama Limba NEW
Ashley W GauchoSpainStephen Shaw PROPOSAL
Wickens R MaletCanadaBernardo Dominic QUALIFIED
Murillo S PaprockiUnited KingdomIoni Bowcher PROPOSAL
Nicolas Y MarrierArgentinaAmy Elsner NEGOTIATION
Clifford I VocelkaBrazilStephen Shaw PROPOSAL
David E VocelkaArgentinaAnna Fali UNQUALIFIED
Kaitlin H RimUnited KingdomStephen Shaw NEGOTIATION
Izzy H BologniaUnited KingdomIoni Bowcher NEGOTIATION
Jones K GarufiJapanStephen Shaw RENEWAL
Izzy C FerenczFranceAnna Fali NEGOTIATION
Misaki V FigeroaRussiaElwin Sharvill UNQUALIFIED
Rodrigues W FlosiSpainIoni Bowcher NEGOTIATION
Murillo H MaletBrazilXuxue Feng PROPOSAL
Jeanfrancois R ShinkoFranceAnna Fali RENEWAL
Aditya D MaletItalyIvan Magalhaes NEGOTIATION
Maria V StockhamGermanyIoni Bowcher NEW
Ashley B CaudyAustraliaOnyama Limba NEW
Jefferson E KolmetzCanadaStephen Shaw NEW
Greenwood O FerenczIndiaIvan Magalhaes UNQUALIFIED
Ashley F NickaItalyAsiya Javayant UNQUALIFIED
Jones E RimArgentinaBernardo Dominic PROPOSAL
Munro T GillianAustraliaStephen Shaw PROPOSAL
Isabel Y ChuiJapanBernardo Dominic UNQUALIFIED
Murillo D CaldareraAustraliaIoni Bowcher RENEWAL
Antonio S PoquetteBrazilIvan Magalhaes NEW
Munro G SergiItalyXuxue Feng UNQUALIFIED
David I StensethSpainXuxue Feng NEGOTIATION
Antonio A StensethArgentinaAmy Elsner UNQUALIFIED
Maisha J SlusarskiIndiaOnyama Limba NEGOTIATION
Faith V NestleAustraliaAnna Fali NEGOTIATION
Chavez I OstroskyItalyIoni Bowcher QUALIFIED
Arvin K RulapaughItalyIoni Bowcher NEGOTIATION
Octavia F GlickArgentinaIvan Magalhaes QUALIFIED
Cody V IturbideFranceElwin Sharvill RENEWAL
Ivar R CaudyAustraliaStephen Shaw NEGOTIATION
Wickens V FlosiJapanAnna Fali PROPOSAL
Faith O SaylorsBrazilAmy Elsner RENEWAL
Antonio K KolmetzIndiaOnyama Limba UNQUALIFIED
Silvio S AmigonFranceAsiya Javayant NEGOTIATION
Adams S FollerAustraliaOnyama Limba NEW
Jeanfrancois X NickaItalyAmy Elsner NEW
Frozen Columns
Name
Ashley S Morasca
Costa Y Sergi
Deepesh M Schemmer
Jeanfrancois V Vocelka
Rodrigues P Tollner
Jennifer B Caldarera
Murillo K Doe
Ashley B Bowley
Salvatore Q Morasca
Alejandro C Foller
Greenwood T Ferencz
Kadeem Z Marrier
James F Stenseth
Kadeem E Royster
Clifford N Kolmetz
Salvatore V Rim
Johnson I Kolmetz
Emily Q Shinko
Jeanfrancois C Royster
Sinclair O Caldarera
Clifford F Sergi
Francesco K Rulapaugh
Aika E Figeroa
Ricardo W Marrier
Aditya D Malet
Aditya L Paprocki
Clifford X Darakjy
Aika T Morasca
Mayumi O Shinko
Izzy F Kusko
Clifford C Ruta
Octavia C Inouye
Maria P Dilliard
Munro Z Paprocki
Leja H Caldarera
Ricardo J Briddick
Costa H Stockham
Ivar Y Amigon
Rodrigues X Figeroa
Leon H Kolmetz
Izzy O Maclead
Antonio C Malet
Maria R Flosi
Ashley U Rulapaugh
Wickens J Rim
Tony L Figeroa
Izzy V Campain
Faith T Amigon
Alejandro D Ostrosky
Sinclair U Garufi
IdCountryDate
1000Brazil2024-06-05
1001United Kingdom2024-06-04
1002Spain2024-05-30
1003Germany2024-06-18
1004India2024-05-27
1005India2024-06-01
1006Spain2024-06-02
1007India2024-06-15
1008Italy2024-05-27
1009Brazil2024-06-09
1010India2024-06-09
1011Spain2024-05-28
1012Germany2024-06-13
1013United Kingdom2024-05-20
1014Spain2024-06-02
1015Italy2024-06-05
1016Canada2024-06-06
1017Canada2024-05-30
1018Italy2024-05-21
1019Italy2024-06-15
1020Australia2024-05-23
1021France2024-06-10
1022Italy2024-05-23
1023Germany2024-06-04
1024Italy2024-06-17
1025Canada2024-05-23
1026Japan2024-06-04
1027Russia2024-06-06
1028Russia2024-06-15
1029Spain2024-06-12
1030India2024-05-22
1031Spain2024-06-16
1032India2024-06-10
1033India2024-05-26
1034France2024-06-14
1035Italy2024-06-03
1036Brazil2024-06-03
1037United Kingdom2024-05-21
1038Japan2024-06-08
1039Australia2024-05-29
1040Argentina2024-05-26
1041India2024-05-27
1042India2024-06-15
1043Brazil2024-05-25
1044Japan2024-06-18
1045India2024-06-02
1046Brazil2024-05-27
1047India2024-06-04
1048Argentina2024-06-03
1049United Kingdom2024-06-06

On-Demand Data

NameIdCountryDate
Clifford X Gaucho1000Japan2024-05-31
Chavez X Bowley1001France2024-05-24
Claire K Inouye1002Italy2024-06-14
Aruna Q Malet1003India2024-05-25
Chavez J Amigon1004Canada2024-05-24
Morrow P Ruta1005India2024-06-18
Emily A Venere1006United Kingdom2024-05-24
Aruna A Rim1007United Kingdom2024-06-15
Antonio A Royster1008France2024-06-01
James W Dilliard1009Germany2024-05-24
Johnson R Bowley1010Russia2024-06-02
Rodrigues I Rulapaugh1011France2024-06-15
Munro S Ferencz1012United Kingdom2024-06-07
Greenwood K Foller1013Canada2024-06-17
Ivar E Perin1014Russia2024-05-23
Kadeem Q Doe1015France2024-05-22
Leon J Vocelka1016Brazil2024-06-04
Murillo M Darakjy1017Italy2024-05-25
Leja C Ruta1018Australia2024-05-25
Octavia H Dilliard1019Germany2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin F ShinkoSpainElwin Sharvill UNQUALIFIED
Kaitlin Q BowleyBrazilXuxue Feng NEW
Faith S AmigonCanadaAmy Elsner NEGOTIATION
Misaki B StensethRussiaElwin Sharvill QUALIFIED
Costa M FerenczSpainStephen Shaw QUALIFIED
Nicolas N TollnerRussiaBernardo Dominic NEW
Antonio M PoquetteUnited KingdomIvan Magalhaes RENEWAL
Murillo X MacleadSpainElwin Sharvill UNQUALIFIED
Jennifer Y GarufiSpainBernardo Dominic QUALIFIED
Aditya N TollnerArgentinaIoni Bowcher QUALIFIED
Clifford Y ButtSpainXuxue Feng UNQUALIFIED
Alejandro D WhobreyJapanXuxue Feng NEGOTIATION
Sinclair N GlickCanadaAmy Elsner QUALIFIED
Salvatore E GillianArgentinaAmy Elsner RENEWAL
Salvatore H KuskoIndiaOnyama Limba UNQUALIFIED
Antonio Q IturbideRussiaAsiya Javayant QUALIFIED
Smith K FollerCanadaElwin Sharvill PROPOSAL
Clifford A MaletArgentinaBernardo Dominic UNQUALIFIED
Stacey Q SchemmerUnited KingdomIvan Magalhaes NEW
Cody H WaycottBrazilIoni Bowcher RENEWAL
Aruna O RulapaughItalyOnyama Limba NEW
Tony C MaletCanadaElwin Sharvill QUALIFIED
Costa X WhobreyItalyElwin Sharvill NEGOTIATION
Claire X OstroskyJapanAnna Fali QUALIFIED
Arvin R IturbideGermanyAsiya Javayant RENEWAL
Rodrigues Y BowleyCanadaAnna Fali NEGOTIATION
Cody A MaletIndiaIoni Bowcher QUALIFIED
Chavez R RutaItalyXuxue Feng NEW
Cody A InouyeGermanyAsiya Javayant NEGOTIATION
Deepesh V StensethItalyElwin Sharvill RENEWAL
Cody K RoysterAustraliaXuxue Feng RENEWAL
Smith B FlosiSpainIoni Bowcher PROPOSAL
Faith M ChuiBrazilXuxue Feng UNQUALIFIED
Jeanfrancois G WaycottRussiaStephen Shaw RENEWAL
Antonio M ShinkoIndiaStephen Shaw UNQUALIFIED
Rodrigues P RimBrazilOnyama Limba NEW
Greenwood Q RimItalyIvan Magalhaes PROPOSAL
Adams J VocelkaAustraliaIvan Magalhaes NEGOTIATION
Emily P StockhamAustraliaXuxue Feng UNQUALIFIED
Faith C WieserSpainIoni Bowcher 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>