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
Arvin Z SergiGermanyXuxue Feng NEGOTIATION
Nicolas M CaldareraCanadaAnna Fali NEGOTIATION
Tony V OldroydCanadaAmy Elsner NEGOTIATION
Murillo L RulapaughItalyIvan Magalhaes UNQUALIFIED
Aditya A SergiJapanAnna Fali RENEWAL
Stacey P ShinkoBrazilXuxue Feng QUALIFIED
Izzy Z AmigonRussiaBernardo Dominic PROPOSAL
Deepesh M WaycottIndiaAsiya Javayant UNQUALIFIED
Juan B ChuiGermanyAsiya Javayant NEGOTIATION
Jeanfrancois V SchemmerRussiaOnyama Limba PROPOSAL
Ashley X PaprockiUnited KingdomBernardo Dominic PROPOSAL
Ashley J BowleyAustraliaAsiya Javayant UNQUALIFIED
Aruna S FerenczFranceXuxue Feng RENEWAL
Mujtaba L ShinkoSpainElwin Sharvill PROPOSAL
Smith H VenereAustraliaAnna Fali NEGOTIATION
Smith Y MorascaItalyOnyama Limba QUALIFIED
Ashley A TollnerGermanyXuxue Feng RENEWAL
Arvin Q AlbaresCanadaStephen Shaw QUALIFIED
Arvin J SlusarskiSpainIoni Bowcher UNQUALIFIED
Deepesh M VocelkaIndiaAsiya Javayant NEW
Chavez J WhobreyFranceElwin Sharvill NEW
Jefferson P FlosiJapanAnna Fali NEGOTIATION
Aruna U FerenczGermanyStephen Shaw PROPOSAL
David L BriddickJapanXuxue Feng PROPOSAL
Izzy B RoysterJapanAsiya Javayant NEGOTIATION
David Q BowleyJapanAsiya Javayant NEW
Maisha F DilliardAustraliaAmy Elsner RENEWAL
Maria B GlickAustraliaIoni Bowcher NEGOTIATION
Mujtaba L MaletJapanAsiya Javayant PROPOSAL
Munro A RimItalyOnyama Limba PROPOSAL
Juan G BologniaRussiaOnyama Limba RENEWAL
Julie D KolmetzBrazilAnna Fali NEW
Rodrigues C ChuiUnited KingdomAsiya Javayant NEW
Ivar V WieserFranceAsiya Javayant NEGOTIATION
Mujtaba Y IturbideAustraliaXuxue Feng NEW
Aruna E BologniaIndiaXuxue Feng RENEWAL
Maria B NestleFranceIvan Magalhaes UNQUALIFIED
Ivar G CaudyBrazilAsiya Javayant QUALIFIED
Mayumi T MarrierItalyIoni Bowcher QUALIFIED
Francesco F MarrierItalyElwin Sharvill NEGOTIATION
Kaitlin D NestleCanadaAsiya Javayant NEW
Mujtaba D CampainFranceAnna Fali RENEWAL
Jennifer M MorascaAustraliaAnna Fali NEGOTIATION
Octavia S RoysterIndiaAsiya Javayant QUALIFIED
Stacey M FigeroaGermanyAsiya Javayant NEW
Alejandro R BriddickBrazilBernardo Dominic PROPOSAL
Tony W SergiArgentinaAnna Fali NEW
Rodrigues H RimAustraliaXuxue Feng UNQUALIFIED
Salvatore W OstroskyFranceBernardo Dominic QUALIFIED
Claire J PerinCanadaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna U FollerBrazilXuxue Feng QUALIFIED
Tony C BowleySpainOnyama Limba NEW
Mujtaba B TollnerFranceXuxue Feng PROPOSAL
Arvin P CampainFranceXuxue Feng UNQUALIFIED
Juan K WhobreyJapanStephen Shaw PROPOSAL
Aditya M FollerCanadaStephen Shaw QUALIFIED
Ricardo K WaycottGermanyAnna Fali QUALIFIED
Smith E RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Nicolas L ShinkoAustraliaXuxue Feng QUALIFIED
Stacey M MaletAustraliaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Z ChuiArgentina2024-05-21Rangoni Of Florence NEW87Ivan Magalhaes
1001Aditya R WaycottJapan2024-06-08Rousseaux, Michael Esq UNQUALIFIED19Ioni Bowcher
1002Aditya L GillianUnited Kingdom2024-05-26Feiner Bros NEW16Elwin Sharvill
1003Emily Q WaycottFrance2024-05-18Rousseaux, Michael Esq UNQUALIFIED79Ivan Magalhaes
1004Murillo Z VocelkaUnited Kingdom2024-05-26Feiner Bros NEGOTIATION45Onyama Limba
1005Ricardo S MorascaSpain2024-05-22King, Christopher A Esq RENEWAL77Amy Elsner
1006Jones W StensethSpain2024-06-04Chemel, James L Cpa QUALIFIED22Anna Fali
1007Alejandro L DarakjyUnited Kingdom2024-06-09Rangoni Of Florence UNQUALIFIED43Bernardo Dominic
1008Octavia Z StensethJapan2024-05-18Dorl, James J Esq RENEWAL50Xuxue Feng
1009Deepesh I DoeBrazil2024-06-08Feiner Bros RENEWAL43Xuxue Feng
1010Alejandro B StockhamIndia2024-05-20Rousseaux, Michael Esq NEGOTIATION78Ioni Bowcher
1011Claire Q BriddickBrazil2024-06-06Rousseaux, Michael Esq NEGOTIATION69Asiya Javayant
1012Jeanfrancois W FerenczRussia2024-06-08Buckley Miller Wright NEW29Ivan Magalhaes
1013Leja B AlbaresJapan2024-05-24Printing Dimensions RENEWAL88Ivan Magalhaes
1014Faith L GlickJapan2024-05-18Feiner Bros NEGOTIATION61Asiya Javayant
1015Cody O BriddickSpain2024-05-18King, Christopher A Esq RENEWAL31Xuxue Feng
1016Darci P GlickIndia2024-06-14Dorl, James J Esq RENEWAL26Bernardo Dominic
1017Munro U RutaCanada2024-06-09Printing Dimensions RENEWAL70Ioni Bowcher
1018Jefferson M MaletGermany2024-05-31Feiner Bros NEW82Onyama Limba
1019Maisha C GillianItaly2024-05-18Rangoni Of Florence UNQUALIFIED59Ivan Magalhaes
1020Antonio D PoquetteFrance2024-05-23Benton, John B Jr NEGOTIATION95Elwin Sharvill
1021Jeanfrancois K MarrierFrance2024-05-18Truhlar And Truhlar Attys UNQUALIFIED33Asiya Javayant
1022Salvatore T BologniaCanada2024-06-01Rangoni Of Florence NEGOTIATION15Xuxue Feng
1023Ivar F DoeAustralia2024-05-21Chemel, James L Cpa NEW48Stephen Shaw
1024Octavia J GauchoCanada2024-05-29Rousseaux, Michael Esq NEGOTIATION63Asiya Javayant
1025Ivar H BowleySpain2024-06-13Rangoni Of Florence PROPOSAL52Bernardo Dominic
1026Emily Y AlbaresUnited Kingdom2024-05-28King, Christopher A Esq UNQUALIFIED59Ivan Magalhaes
1027Juan T GauchoUnited Kingdom2024-05-31Chemel, James L Cpa PROPOSAL29Stephen Shaw
1028Francesco K NickaBrazil2024-05-30Commercial Press PROPOSAL85Elwin Sharvill
1029Tony B MaletGermany2024-05-19Feiner Bros NEGOTIATION76Amy Elsner
1030Sinclair N GarufiJapan2024-06-11Rousseaux, Michael Esq UNQUALIFIED80Elwin Sharvill
1031Deepesh V MorascaUnited Kingdom2024-05-19Morlong Associates UNQUALIFIED71Asiya Javayant
1032Isabel Z GauchoIndia2024-05-26Rangoni Of Florence NEW32Bernardo Dominic
1033Francesco U OstroskyRussia2024-05-23Chanay, Jeffrey A Esq RENEWAL37Ivan Magalhaes
1034Kadeem B DoeArgentina2024-06-13Commercial Press QUALIFIED67Asiya Javayant
1035Jennifer V WieserAustralia2024-05-24Printing Dimensions QUALIFIED38Ioni Bowcher
1036Mujtaba L GauchoUnited Kingdom2024-06-06Printing Dimensions QUALIFIED86Ioni Bowcher
1037Aruna Y NickaBrazil2024-05-17Morlong Associates NEW32Elwin Sharvill
1038Kadeem P InouyeFrance2024-05-21Printing Dimensions NEW5Bernardo Dominic
1039Cody V AlbaresIndia2024-06-05Commercial Press NEW60Amy Elsner
1040Costa C ButtAustralia2024-05-29Printing Dimensions UNQUALIFIED17Stephen Shaw
1041Octavia Y FlosiJapan2024-05-25Printing Dimensions NEGOTIATION77Amy Elsner
1042Claire H ButtArgentina2024-06-09Rangoni Of Florence NEGOTIATION57Bernardo Dominic
1043Tony L SchemmerAustralia2024-06-10Dorl, James J Esq UNQUALIFIED46Ivan Magalhaes
1044Juan C FollerItaly2024-05-25Chemel, James L Cpa PROPOSAL93Elwin Sharvill
1045Faith Z RulapaughArgentina2024-05-18Rousseaux, Michael Esq NEGOTIATION35Ivan Magalhaes
1046Silvio F CaldareraRussia2024-06-12Chapman, Ross E Esq RENEWAL48Onyama Limba
1047Maisha C TollnerSpain2024-06-08Feltz Printing Service PROPOSAL0Onyama Limba
1048Nicolas G SchemmerJapan2024-06-04Dorl, James J Esq NEGOTIATION59Onyama Limba
1049Johnson Z GillianIndia2024-05-23Morlong Associates PROPOSAL99Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Isabel K MarrierUnited KingdomBernardo Dominic NEW
Julie K StensethAustraliaAmy Elsner UNQUALIFIED
Greenwood M CampainBrazilAnna Fali NEGOTIATION
Munro K NickaCanadaAsiya Javayant QUALIFIED
David L OldroydFranceIvan Magalhaes NEW
Francesco H NickaJapanOnyama Limba NEGOTIATION
Clifford Y RoysterJapanStephen Shaw UNQUALIFIED
Maria C DoeJapanElwin Sharvill NEGOTIATION
Jeanfrancois G FlosiItalyElwin Sharvill NEW
Stacey P ButtUnited KingdomBernardo Dominic NEGOTIATION
Wickens H IturbideAustraliaOnyama Limba QUALIFIED
Emily Q BriddickArgentinaStephen Shaw NEW
Emily B CaudyBrazilBernardo Dominic PROPOSAL
Kadeem C MaletJapanOnyama Limba NEW
Francesco B GillianSpainOnyama Limba PROPOSAL
Ricardo B WhobreyRussiaBernardo Dominic NEGOTIATION
Alejandro T AmigonIndiaIvan Magalhaes RENEWAL
Leon G FlosiUnited KingdomAmy Elsner UNQUALIFIED
Salvatore J MacleadFranceIoni Bowcher NEGOTIATION
Sinclair C NickaIndiaElwin Sharvill QUALIFIED
Johnson L SchemmerIndiaAmy Elsner QUALIFIED
Mayumi T MaletBrazilIvan Magalhaes NEW
Greenwood Y BriddickFranceAmy Elsner NEW
Jones Y ChuiSpainAmy Elsner NEGOTIATION
Morrow N BologniaIndiaXuxue Feng RENEWAL
Aruna R DilliardGermanyBernardo Dominic NEW
Cody R RoysterRussiaIoni Bowcher NEGOTIATION
Izzy F SergiSpainAsiya Javayant PROPOSAL
Jones C CampainIndiaBernardo Dominic QUALIFIED
Nicolas J DarakjyFranceOnyama Limba PROPOSAL
Arvin P GarufiArgentinaBernardo Dominic PROPOSAL
Octavia O CaudyCanadaAsiya Javayant UNQUALIFIED
Isabel M MaletFranceOnyama Limba QUALIFIED
Tony D ButtUnited KingdomAmy Elsner NEW
Faith M MorascaRussiaBernardo Dominic UNQUALIFIED
Juan E DilliardBrazilStephen Shaw QUALIFIED
Munro S StensethGermanyBernardo Dominic PROPOSAL
Jennifer X KuskoIndiaXuxue Feng UNQUALIFIED
Ricardo N StockhamItalyStephen Shaw NEW
Chavez I NickaBrazilAsiya Javayant UNQUALIFIED
Wickens J BologniaUnited KingdomXuxue Feng PROPOSAL
Jones R DarakjyItalyStephen Shaw PROPOSAL
Emily K StensethArgentinaStephen Shaw UNQUALIFIED
Arvin E RimGermanyIoni Bowcher NEW
Mayumi O VocelkaFranceAmy Elsner PROPOSAL
Tony C RulapaughUnited KingdomAmy Elsner QUALIFIED
Francesco J DarakjyJapanIvan Magalhaes PROPOSAL
Jefferson X MaletItalyIvan Magalhaes PROPOSAL
Ivar B RoysterCanadaElwin Sharvill NEGOTIATION
Francesco Y ChuiItalyOnyama Limba RENEWAL
Frozen Columns
Name
Silvio H Malet
Antonio P Ruta
Morrow W Maclead
Aditya S Chui
Darci T Gaucho
Kadeem N Sergi
Jones T Shinko
Greenwood W Stenseth
Kadeem G Kusko
Aika G Darakjy
Stacey X Waycott
Kadeem K Whobrey
Munro M Rulapaugh
Jefferson G Iturbide
Cody J Stockham
Cody I Waycott
Rodrigues B Malet
Antonio F Perin
Munro R Perin
David A Stenseth
Octavia Q Ruta
Ricardo S Malet
Morrow L Foller
Sinclair H Nicka
Kaitlin H Royster
Deepesh U Butt
Wickens S Schemmer
Johnson F Briddick
Claire E Foller
Julie P Ruta
Clifford T Sergi
Aditya K Foller
Misaki D Waycott
Arvin Z Maclead
Claire L Amigon
Cody X Malet
Leon O Iturbide
Silvio T Sergi
Ivar O Wieser
Murillo U Flosi
Claire Z Inouye
Clifford S Shinko
Isabel N Maclead
Silvio J Shinko
Costa V Iturbide
Greenwood X Wieser
Jones P Malet
Salvatore T Ferencz
Maisha S Rim
Jones U Sergi
IdCountryDate
1000India2024-06-08
1001Russia2024-06-12
1002India2024-05-17
1003Canada2024-05-16
1004Germany2024-06-02
1005Russia2024-06-14
1006India2024-05-28
1007United Kingdom2024-06-01
1008France2024-06-12
1009India2024-06-03
1010United Kingdom2024-06-14
1011Japan2024-06-13
1012Russia2024-05-23
1013Italy2024-05-18
1014Argentina2024-06-10
1015Brazil2024-06-01
1016Japan2024-06-02
1017United Kingdom2024-06-01
1018Australia2024-06-14
1019Australia2024-06-09
1020India2024-06-14
1021Japan2024-05-20
1022Brazil2024-06-11
1023France2024-06-10
1024Spain2024-05-17
1025France2024-06-12
1026France2024-05-21
1027Spain2024-05-26
1028Canada2024-05-17
1029Italy2024-05-16
1030India2024-05-30
1031Canada2024-06-04
1032Argentina2024-05-22
1033United Kingdom2024-06-07
1034Brazil2024-06-01
1035Brazil2024-05-27
1036Canada2024-06-05
1037Italy2024-05-31
1038Australia2024-06-14
1039Italy2024-06-08
1040Italy2024-06-03
1041France2024-06-12
1042Argentina2024-05-21
1043United Kingdom2024-06-13
1044Argentina2024-06-01
1045United Kingdom2024-06-04
1046Canada2024-05-27
1047Canada2024-05-27
1048Brazil2024-05-28
1049Argentina2024-06-09

On-Demand Data

NameIdCountryDate
Maria R Campain1000Spain2024-05-22
Morrow N Ostrosky1001Canada2024-06-01
Arvin K Foller1002Spain2024-05-22
Costa C Caldarera1003Japan2024-06-10
Ashley Q Wieser1004Russia2024-06-04
Maisha I Perin1005Italy2024-06-04
Silvio I Gaucho1006Australia2024-05-31
Munro G Shinko1007Germany2024-05-23
Emily C Doe1008Brazil2024-06-02
Darci L Slusarski1009Japan2024-06-07
Arvin V Slusarski1010India2024-05-30
Emily D Garufi1011Argentina2024-06-06
Nicolas H Oldroyd1012Argentina2024-06-06
Silvio D Garufi1013Germany2024-05-23
David J Rulapaugh1014India2024-06-04
Greenwood E Butt1015Germany2024-05-25
Rodrigues S Wieser1016Spain2024-05-22
Julie Y Bolognia1017Canada2024-05-20
Costa V Tollner1018Germany2024-05-25
Johnson A Kolmetz1019Germany2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa V SaylorsArgentinaXuxue Feng QUALIFIED
Jefferson H RutaArgentinaAnna Fali NEW
Maisha G VocelkaBrazilStephen Shaw NEGOTIATION
Mayumi Y DarakjyFranceAnna Fali UNQUALIFIED
Faith O SergiBrazilIoni Bowcher NEW
Alejandro N OldroydAustraliaIvan Magalhaes PROPOSAL
Greenwood A ButtGermanyStephen Shaw UNQUALIFIED
Wickens B FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Wickens I AmigonFranceOnyama Limba PROPOSAL
Munro G PoquetteFranceXuxue Feng RENEWAL
Cody F BowleyAustraliaBernardo Dominic RENEWAL
Johnson M FerenczAustraliaIvan Magalhaes RENEWAL
Costa D KuskoArgentinaXuxue Feng NEGOTIATION
Salvatore I CaudyUnited KingdomStephen Shaw QUALIFIED
Antonio Z VocelkaGermanyIoni Bowcher UNQUALIFIED
Francesco N WieserSpainIvan Magalhaes NEGOTIATION
Darci H AlbaresBrazilBernardo Dominic NEGOTIATION
Claire U IturbideSpainElwin Sharvill RENEWAL
Julie S DarakjyItalyXuxue Feng NEW
Emily Z GauchoGermanyAmy Elsner PROPOSAL
Mayumi A MorascaRussiaAnna Fali UNQUALIFIED
Adams I MarrierCanadaIoni Bowcher PROPOSAL
Leon O AlbaresIndiaAmy Elsner NEW
Jones N ChuiCanadaAnna Fali UNQUALIFIED
Misaki Y OstroskyJapanOnyama Limba PROPOSAL
Sinclair U VocelkaRussiaStephen Shaw NEGOTIATION
Silvio O SaylorsCanadaAmy Elsner RENEWAL
Francesco K GarufiArgentinaElwin Sharvill UNQUALIFIED
Faith C SergiUnited KingdomStephen Shaw UNQUALIFIED
Deepesh G WhobreyCanadaIvan Magalhaes UNQUALIFIED
Rodrigues O MorascaArgentinaAnna Fali NEW
Mayumi X BologniaJapanAnna Fali NEGOTIATION
Mayumi B WieserArgentinaAnna Fali PROPOSAL
Mayumi Z FlosiFranceElwin Sharvill NEW
Munro Z InouyeRussiaStephen Shaw PROPOSAL
Wickens J BowleyUnited KingdomElwin Sharvill RENEWAL
Juan U KuskoSpainAnna Fali UNQUALIFIED
David F FollerSpainAmy Elsner QUALIFIED
Aika F SaylorsGermanyAmy Elsner PROPOSAL
Francesco K DilliardSpainXuxue Feng NEW

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