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
Francesco Y MorascaCanadaXuxue Feng NEGOTIATION
Mayumi V NickaCanadaElwin Sharvill PROPOSAL
James U RoysterBrazilIvan Magalhaes RENEWAL
Alejandro C PaprockiItalyIvan Magalhaes QUALIFIED
Ricardo O ButtUnited KingdomStephen Shaw RENEWAL
Kadeem K DarakjyJapanIoni Bowcher NEGOTIATION
Emily C CaudyCanadaXuxue Feng NEW
Stacey K SergiItalyAsiya Javayant NEW
Chavez V MaletArgentinaBernardo Dominic NEGOTIATION
Kadeem D BologniaArgentinaAmy Elsner RENEWAL
Claire H FollerIndiaAmy Elsner NEGOTIATION
Johnson G WhobreyAustraliaStephen Shaw RENEWAL
Jefferson C AmigonBrazilBernardo Dominic UNQUALIFIED
Ricardo R VenereItalyStephen Shaw RENEWAL
Salvatore V MaletJapanOnyama Limba PROPOSAL
Alejandro F StockhamUnited KingdomAmy Elsner NEGOTIATION
Morrow U MorascaGermanyAsiya Javayant NEGOTIATION
Isabel R PaprockiGermanyXuxue Feng RENEWAL
Jeanfrancois Z RutaGermanyOnyama Limba UNQUALIFIED
Mujtaba C DarakjySpainAsiya Javayant NEW
Morrow U MacleadCanadaIvan Magalhaes PROPOSAL
Aika F OldroydJapanAnna Fali QUALIFIED
Leja O GarufiSpainXuxue Feng NEW
Costa U SlusarskiArgentinaAsiya Javayant PROPOSAL
Aditya G WieserItalyAmy Elsner UNQUALIFIED
Aruna Q InouyeIndiaBernardo Dominic PROPOSAL
Stacey F OldroydArgentinaStephen Shaw RENEWAL
Leon X BowleyArgentinaXuxue Feng QUALIFIED
Clifford N NestleSpainOnyama Limba NEW
Maria H RimArgentinaIvan Magalhaes PROPOSAL
Munro E BologniaRussiaAsiya Javayant NEGOTIATION
Adams Q MorascaRussiaStephen Shaw UNQUALIFIED
Aditya S BologniaFranceXuxue Feng PROPOSAL
Costa T FerenczIndiaAnna Fali PROPOSAL
Mujtaba K NestleBrazilOnyama Limba QUALIFIED
Alejandro B StockhamRussiaAmy Elsner RENEWAL
Ivar Z FollerBrazilBernardo Dominic NEW
Ricardo B GlickJapanBernardo Dominic UNQUALIFIED
Adams R WaycottIndiaIvan Magalhaes UNQUALIFIED
Costa J VocelkaCanadaElwin Sharvill UNQUALIFIED
Silvio J SaylorsFranceAnna Fali PROPOSAL
Jeanfrancois O GillianSpainBernardo Dominic RENEWAL
Leon D MaletIndiaIvan Magalhaes QUALIFIED
Rodrigues S DilliardJapanIvan Magalhaes RENEWAL
Faith V BriddickUnited KingdomAsiya Javayant NEGOTIATION
Arvin F NestleJapanIoni Bowcher NEGOTIATION
Julie E ShinkoRussiaIoni Bowcher NEGOTIATION
James P RoysterIndiaStephen Shaw QUALIFIED
Aika C GillianBrazilXuxue Feng UNQUALIFIED
Stacey X MarrierIndiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens G IturbideBrazilStephen Shaw QUALIFIED
Tony H OstroskySpainOnyama Limba QUALIFIED
Wickens J GlickFranceElwin Sharvill NEGOTIATION
Costa T MaletBrazilStephen Shaw QUALIFIED
Maria R SlusarskiRussiaXuxue Feng PROPOSAL
Juan R FigeroaCanadaAsiya Javayant UNQUALIFIED
Maria K BologniaAustraliaOnyama Limba NEW
Isabel L ChuiItalyAmy Elsner NEW
Misaki W IturbideRussiaOnyama Limba NEW
Alejandro Q VocelkaFranceElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Y DilliardJapan2024-05-30Chemel, James L Cpa NEGOTIATION80Onyama Limba
1001Smith K VocelkaBrazil2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED79Ivan Magalhaes
1002Costa X GlickUnited Kingdom2024-05-18Feltz Printing Service PROPOSAL86Elwin Sharvill
1003Jefferson I TollnerFrance2024-06-02Morlong Associates UNQUALIFIED97Xuxue Feng
1004Octavia L NickaUnited Kingdom2024-06-02Chemel, James L Cpa RENEWAL26Elwin Sharvill
1005Maria U AlbaresRussia2024-05-21Buckley Miller Wright QUALIFIED72Stephen Shaw
1006Isabel W IturbideItaly2024-06-12Rangoni Of Florence NEW79Onyama Limba
1007Aruna T RulapaughBrazil2024-06-15Benton, John B Jr NEGOTIATION27Anna Fali
1008Munro U ChuiItaly2024-05-31Morlong Associates RENEWAL21Elwin Sharvill
1009Ashley B CampainUnited Kingdom2024-05-21King, Christopher A Esq PROPOSAL67Asiya Javayant
1010Leon C WieserSpain2024-06-08Printing Dimensions NEW31Asiya Javayant
1011Jefferson K NestleUnited Kingdom2024-06-11Rousseaux, Michael Esq NEGOTIATION78Ioni Bowcher
1012Clifford A DilliardItaly2024-05-28Commercial Press PROPOSAL79Onyama Limba
1013Misaki C MarrierFrance2024-06-05Printing Dimensions UNQUALIFIED98Onyama Limba
1014Tony E ShinkoSpain2024-06-11Chanay, Jeffrey A Esq NEGOTIATION82Amy Elsner
1015Wickens K StockhamIndia2024-06-15Chapman, Ross E Esq NEGOTIATION75Stephen Shaw
1016Darci M WhobreyArgentina2024-06-01Rangoni Of Florence QUALIFIED21Stephen Shaw
1017Mayumi R NestleCanada2024-06-08Rousseaux, Michael Esq PROPOSAL45Elwin Sharvill
1018Kaitlin H InouyeFrance2024-06-07Chanay, Jeffrey A Esq NEGOTIATION25Ivan Magalhaes
1019David N PaprockiJapan2024-06-14Dorl, James J Esq PROPOSAL69Xuxue Feng
1020Munro S CaudyRussia2024-06-12Truhlar And Truhlar Attys UNQUALIFIED6Onyama Limba
1021Mayumi V VocelkaJapan2024-06-10Dorl, James J Esq RENEWAL67Asiya Javayant
1022Faith U WaycottJapan2024-06-10Chapman, Ross E Esq NEGOTIATION14Anna Fali
1023Morrow I PaprockiArgentina2024-05-24Feiner Bros NEW17Elwin Sharvill
1024Clifford Y CampainIndia2024-06-08Chanay, Jeffrey A Esq PROPOSAL68Stephen Shaw
1025Munro A RutaSpain2024-06-06Feiner Bros NEW25Asiya Javayant
1026Munro X KuskoUnited Kingdom2024-05-28Rangoni Of Florence RENEWAL89Xuxue Feng
1027Claire P ButtFrance2024-06-09Feltz Printing Service UNQUALIFIED80Anna Fali
1028Ivar C StockhamArgentina2024-05-31Chemel, James L Cpa NEW1Amy Elsner
1029Claire V BologniaItaly2024-05-31Rangoni Of Florence QUALIFIED66Bernardo Dominic
1030Faith X PerinItaly2024-06-08King, Christopher A Esq NEGOTIATION98Xuxue Feng
1031David W MarrierAustralia2024-05-18Chanay, Jeffrey A Esq PROPOSAL88Amy Elsner
1032Emily F RoysterRussia2024-05-27Chemel, James L Cpa QUALIFIED31Stephen Shaw
1033Adams B CaldareraSpain2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED73Anna Fali
1034Mayumi K RutaSpain2024-06-04Morlong Associates RENEWAL89Asiya Javayant
1035Isabel C MarrierBrazil2024-05-19Printing Dimensions UNQUALIFIED93Amy Elsner
1036Clifford X DoeJapan2024-05-22Rousseaux, Michael Esq RENEWAL99Elwin Sharvill
1037Stacey C VocelkaRussia2024-05-19Commercial Press RENEWAL88Asiya Javayant
1038David K BowleyCanada2024-06-02Benton, John B Jr RENEWAL6Xuxue Feng
1039Adams J RulapaughSpain2024-05-24Commercial Press UNQUALIFIED56Ioni Bowcher
1040Morrow P SchemmerSpain2024-05-19Chapman, Ross E Esq QUALIFIED71Asiya Javayant
1041Cody Q NestleRussia2024-05-31Feltz Printing Service UNQUALIFIED25Elwin Sharvill
1042Faith U OstroskyBrazil2024-06-10Rangoni Of Florence PROPOSAL40Ivan Magalhaes
1043Leon T FerenczUnited Kingdom2024-05-21Chanay, Jeffrey A Esq NEGOTIATION76Ioni Bowcher
1044Ivar H GauchoSpain2024-06-08Rangoni Of Florence RENEWAL61Ivan Magalhaes
1045Cody N GillianGermany2024-05-26King, Christopher A Esq RENEWAL38Xuxue Feng
1046Aika T FollerArgentina2024-05-21Truhlar And Truhlar Attys RENEWAL43Elwin Sharvill
1047Johnson A DilliardBrazil2024-06-09Rangoni Of Florence UNQUALIFIED82Amy Elsner
1048Maria T FlosiJapan2024-05-25Chemel, James L Cpa QUALIFIED37Asiya Javayant
1049James X WieserCanada2024-06-07Truhlar And Truhlar Attys UNQUALIFIED43Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Izzy Z CaudyIndiaIoni Bowcher PROPOSAL
Juan H BowleyJapanIvan Magalhaes PROPOSAL
Munro A RutaArgentinaAnna Fali QUALIFIED
Deepesh A FlosiFranceIoni Bowcher RENEWAL
Sinclair N MorascaSpainOnyama Limba UNQUALIFIED
Julie H RutaCanadaStephen Shaw RENEWAL
Johnson C AlbaresArgentinaAsiya Javayant UNQUALIFIED
Leon X GlickItalyOnyama Limba NEW
Antonio M PaprockiRussiaElwin Sharvill PROPOSAL
Kadeem Z MaletBrazilStephen Shaw UNQUALIFIED
Wickens P CampainItalyAmy Elsner PROPOSAL
Leon D DoeAustraliaAmy Elsner RENEWAL
Cody I TollnerFranceBernardo Dominic NEW
Ivar K WhobreyJapanAsiya Javayant UNQUALIFIED
Kaitlin R KolmetzArgentinaStephen Shaw RENEWAL
Juan L StockhamBrazilElwin Sharvill QUALIFIED
Jefferson A NickaAustraliaIvan Magalhaes RENEWAL
Sinclair Z DarakjyUnited KingdomIoni Bowcher QUALIFIED
Tony J PaprockiArgentinaIvan Magalhaes RENEWAL
Kaitlin R MacleadItalyAsiya Javayant UNQUALIFIED
Francesco P IturbideIndiaAmy Elsner NEW
Jeanfrancois V FigeroaArgentinaXuxue Feng UNQUALIFIED
Aditya R PoquetteGermanyStephen Shaw NEW
Ricardo S NestleAustraliaIvan Magalhaes UNQUALIFIED
Aika B OstroskySpainOnyama Limba RENEWAL
Francesco Y MaletGermanyStephen Shaw PROPOSAL
Stacey S GillianUnited KingdomStephen Shaw PROPOSAL
Greenwood S DoeFranceIvan Magalhaes NEGOTIATION
Darci O AlbaresGermanyIvan Magalhaes UNQUALIFIED
Antonio P StensethIndiaBernardo Dominic UNQUALIFIED
Maria Z VocelkaArgentinaIvan Magalhaes QUALIFIED
Francesco J GarufiAustraliaAmy Elsner QUALIFIED
Mujtaba B WhobreyJapanIvan Magalhaes UNQUALIFIED
Deepesh Q TollnerUnited KingdomElwin Sharvill NEW
Wickens F CampainIndiaBernardo Dominic NEGOTIATION
Claire E GillianAustraliaAmy Elsner QUALIFIED
Arvin O ChuiAustraliaBernardo Dominic PROPOSAL
Arvin D WaycottBrazilAmy Elsner PROPOSAL
Stacey Q SergiArgentinaXuxue Feng NEGOTIATION
Ashley X WhobreyFranceBernardo Dominic NEGOTIATION
Sinclair C VocelkaItalyIoni Bowcher PROPOSAL
Salvatore H PerinCanadaElwin Sharvill RENEWAL
Clifford Z RutaItalyOnyama Limba UNQUALIFIED
Alejandro D SergiSpainAsiya Javayant QUALIFIED
Silvio A RulapaughAustraliaStephen Shaw QUALIFIED
James T CaudySpainOnyama Limba NEGOTIATION
David Q MorascaAustraliaXuxue Feng NEGOTIATION
Nicolas Z AmigonSpainXuxue Feng RENEWAL
Tony X WaycottRussiaAnna Fali RENEWAL
Nicolas Z RimBrazilAmy Elsner RENEWAL
Frozen Columns
Name
Darci Y Ferencz
Smith L Amigon
Izzy B Kusko
Jones Z Butt
Silvio N Saylors
Jennifer M Caldarera
Maria Z Ruta
Costa K Shinko
Sinclair X Vocelka
Wickens G Gillian
Rodrigues R Butt
Jones J Slusarski
Arvin X Whobrey
Clifford H Caudy
Maisha G Ferencz
Izzy D Iturbide
Maisha W Bolognia
Octavia R Albares
James E Inouye
Chavez P Nestle
Jeanfrancois L Kolmetz
Octavia B Slusarski
Sinclair X Venere
Kadeem D Maclead
Greenwood P Nicka
Leon W Figeroa
Maisha O Rulapaugh
Jones X Saylors
Sinclair G Briddick
Kaitlin L Inouye
Mujtaba B Waycott
Leja N Marrier
Alejandro S Maclead
Isabel V Shinko
Jones B Ostrosky
Costa U Rulapaugh
James P Rim
Misaki T Schemmer
James O Schemmer
Ivar C Chui
Kadeem O Whobrey
Emily C Caldarera
Alejandro N Nicka
Jeanfrancois K Shinko
Jennifer K Amigon
Johnson E Saylors
Rodrigues L Malet
Sinclair U Sergi
Chavez G Malet
Greenwood W Oldroyd
IdCountryDate
1000Argentina2024-06-14
1001Spain2024-05-22
1002France2024-06-02
1003Australia2024-05-20
1004Germany2024-05-27
1005Canada2024-06-02
1006Brazil2024-05-27
1007Spain2024-06-15
1008Argentina2024-05-17
1009Canada2024-05-22
1010Spain2024-06-06
1011Russia2024-06-09
1012Brazil2024-06-07
1013Japan2024-06-10
1014France2024-05-23
1015Australia2024-05-17
1016Brazil2024-05-22
1017Brazil2024-06-03
1018India2024-05-27
1019Germany2024-06-05
1020Spain2024-06-06
1021Argentina2024-06-01
1022France2024-06-08
1023Canada2024-05-18
1024Argentina2024-05-30
1025United Kingdom2024-05-22
1026Canada2024-06-01
1027Spain2024-06-10
1028Canada2024-05-23
1029France2024-06-08
1030Canada2024-05-27
1031Italy2024-06-10
1032United Kingdom2024-05-28
1033United Kingdom2024-05-27
1034India2024-05-19
1035Spain2024-05-22
1036United Kingdom2024-05-19
1037Australia2024-06-14
1038Argentina2024-05-29
1039India2024-05-19
1040Russia2024-06-07
1041Brazil2024-05-26
1042Australia2024-05-25
1043Germany2024-06-03
1044Germany2024-05-22
1045Brazil2024-05-20
1046Australia2024-05-20
1047India2024-05-31
1048Australia2024-06-14
1049United Kingdom2024-05-25

On-Demand Data

NameIdCountryDate
Juan H Marrier1000Brazil2024-05-17
Nicolas P Garufi1001India2024-05-26
Kaitlin W Rulapaugh1002Australia2024-06-07
Sinclair M Nestle1003Canada2024-05-18
Kadeem W Caldarera1004United Kingdom2024-05-25
Misaki V Iturbide1005Australia2024-05-17
Kaitlin X Marrier1006Brazil2024-06-08
Murillo I Doe1007Italy2024-05-31
Chavez P Nestle1008Italy2024-05-19
Kaitlin X Foller1009Italy2024-05-18
Chavez M Flosi1010Canada2024-05-25
Antonio K Nicka1011France2024-06-01
Johnson V Gillian1012Spain2024-06-09
Greenwood O Saylors1013Japan2024-05-28
Chavez K Poquette1014Japan2024-06-13
Murillo C Flosi1015India2024-06-07
Aditya M Waycott1016Russia2024-06-14
Leja S Slusarski1017Canada2024-06-10
Alejandro M Glick1018Canada2024-06-15
Claire T Morasca1019Russia2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy W BologniaFranceBernardo Dominic PROPOSAL
Morrow I CampainRussiaAsiya Javayant QUALIFIED
Alejandro J FlosiIndiaAnna Fali QUALIFIED
Aruna V MaletRussiaIvan Magalhaes UNQUALIFIED
Misaki O WieserRussiaAnna Fali NEW
Aditya A BriddickJapanBernardo Dominic UNQUALIFIED
Arvin Z SchemmerIndiaAmy Elsner QUALIFIED
Jefferson H GlickSpainXuxue Feng QUALIFIED
Silvio P OldroydAustraliaAmy Elsner PROPOSAL
Aditya U GillianJapanAmy Elsner NEW
Julie D NickaIndiaXuxue Feng NEGOTIATION
Maisha F FerenczCanadaAmy Elsner NEW
Jeanfrancois L AlbaresCanadaOnyama Limba PROPOSAL
Ricardo F OldroydCanadaAmy Elsner NEGOTIATION
Leon I PerinArgentinaXuxue Feng RENEWAL
Morrow S MaletAustraliaAsiya Javayant PROPOSAL
Isabel W KolmetzAustraliaXuxue Feng UNQUALIFIED
Smith M VocelkaFranceElwin Sharvill NEW
Leja Z PerinCanadaIoni Bowcher NEGOTIATION
Aditya F PoquetteCanadaXuxue Feng NEW
Leja V VenereUnited KingdomIoni Bowcher RENEWAL
Alejandro L WaycottItalyIoni Bowcher NEGOTIATION
Morrow X ButtIndiaElwin Sharvill NEW
Aika H GarufiBrazilElwin Sharvill RENEWAL
Jones O WieserCanadaIvan Magalhaes QUALIFIED
Ivar R MaletUnited KingdomElwin Sharvill NEGOTIATION
Mayumi Q DoeArgentinaXuxue Feng QUALIFIED
Greenwood N SergiFranceIoni Bowcher RENEWAL
Misaki U CaudyRussiaIoni Bowcher NEGOTIATION
Aditya O MarrierCanadaXuxue Feng NEGOTIATION
Morrow E SchemmerRussiaBernardo Dominic PROPOSAL
Ashley O BowleyJapanElwin Sharvill NEGOTIATION
Mayumi O SlusarskiBrazilBernardo Dominic PROPOSAL
Deepesh V SchemmerFranceAnna Fali NEW
Rodrigues A RulapaughGermanyOnyama Limba RENEWAL
Adams W DoeFranceXuxue Feng PROPOSAL
Julie K AlbaresItalyAnna Fali PROPOSAL
Tony M GarufiCanadaElwin Sharvill QUALIFIED
James N VenereBrazilIvan Magalhaes NEGOTIATION
Murillo Z GarufiFranceBernardo 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>