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
Ricardo C CaldareraGermanyElwin Sharvill UNQUALIFIED
Leon D PaprockiAustraliaIoni Bowcher NEGOTIATION
Claire U BowleyIndiaOnyama Limba RENEWAL
Juan E KolmetzBrazilStephen Shaw NEW
Antonio S GauchoJapanIvan Magalhaes RENEWAL
Deepesh T RimIndiaAmy Elsner NEW
Maria B FollerCanadaBernardo Dominic PROPOSAL
Kaitlin N GarufiArgentinaAmy Elsner QUALIFIED
Mayumi S StensethUnited KingdomIoni Bowcher UNQUALIFIED
Stacey Q RutaSpainStephen Shaw PROPOSAL
Kaitlin E KolmetzIndiaAsiya Javayant NEW
Stacey H DilliardJapanAmy Elsner NEGOTIATION
Johnson Q NickaBrazilStephen Shaw PROPOSAL
Antonio V FigeroaIndiaAsiya Javayant UNQUALIFIED
Munro I KuskoIndiaOnyama Limba UNQUALIFIED
Arvin G KuskoArgentinaBernardo Dominic UNQUALIFIED
Adams T StockhamCanadaBernardo Dominic UNQUALIFIED
David Y GarufiGermanyIvan Magalhaes UNQUALIFIED
Kadeem F PerinGermanyElwin Sharvill NEGOTIATION
Johnson E GillianUnited KingdomAsiya Javayant RENEWAL
Smith R CampainRussiaIoni Bowcher PROPOSAL
Sinclair L BologniaItalyAsiya Javayant QUALIFIED
Aditya G CaldareraJapanIvan Magalhaes NEW
Darci N RimJapanBernardo Dominic QUALIFIED
Aruna Q SaylorsBrazilXuxue Feng NEGOTIATION
Cody M FollerRussiaAnna Fali NEW
Aika H MaletCanadaIvan Magalhaes PROPOSAL
Isabel F StensethAustraliaXuxue Feng NEW
Nicolas Q WhobreyRussiaBernardo Dominic UNQUALIFIED
Aika X TollnerBrazilBernardo Dominic RENEWAL
Sinclair X ChuiBrazilIvan Magalhaes RENEWAL
Cody S DarakjyFranceAnna Fali UNQUALIFIED
Aditya V AmigonIndiaBernardo Dominic NEW
Aditya C WhobreyAustraliaOnyama Limba NEW
Maisha X CaldareraFranceOnyama Limba QUALIFIED
Kaitlin F WhobreyGermanyIvan Magalhaes NEW
Sinclair I CaudyArgentinaOnyama Limba PROPOSAL
Murillo D DoeUnited KingdomBernardo Dominic PROPOSAL
Deepesh B SaylorsJapanAnna Fali UNQUALIFIED
Kaitlin Y StockhamCanadaAsiya Javayant UNQUALIFIED
Ivar N VenereIndiaAnna Fali NEW
David T MacleadSpainAnna Fali RENEWAL
Maria X MorascaBrazilXuxue Feng QUALIFIED
Aika B TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Costa C PaprockiArgentinaXuxue Feng NEGOTIATION
Greenwood K FlosiCanadaAmy Elsner NEGOTIATION
Deepesh A StockhamIndiaAmy Elsner UNQUALIFIED
Murillo Y SaylorsBrazilOnyama Limba NEGOTIATION
James Y FigeroaUnited KingdomXuxue Feng PROPOSAL
Sinclair R VocelkaAustraliaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas L MorascaCanadaElwin Sharvill UNQUALIFIED
Smith N SaylorsFranceXuxue Feng RENEWAL
Aruna I RimGermanyStephen Shaw RENEWAL
Mujtaba J RutaGermanyOnyama Limba NEW
Salvatore V VocelkaCanadaOnyama Limba QUALIFIED
Arvin A GillianJapanAnna Fali PROPOSAL
Ashley U WieserJapanAsiya Javayant QUALIFIED
Jennifer R SchemmerCanadaAmy Elsner UNQUALIFIED
Silvio Y WaycottFranceIoni Bowcher NEGOTIATION
Ricardo W MaletRussiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore O OldroydBrazil2024-05-20Benton, John B Jr NEGOTIATION60Anna Fali
1001Francesco E VenereGermany2024-05-23Rousseaux, Michael Esq NEGOTIATION95Elwin Sharvill
1002Stacey V PerinRussia2024-04-25Commercial Press NEGOTIATION30Onyama Limba
1003Mujtaba T ShinkoBrazil2024-05-24Chapman, Ross E Esq NEW4Amy Elsner
1004David Z StensethItaly2024-05-09Benton, John B Jr QUALIFIED5Stephen Shaw
1005Greenwood U VocelkaCanada2024-05-04Chemel, James L Cpa PROPOSAL96Asiya Javayant
1006Rodrigues S SaylorsFrance2024-05-02Feltz Printing Service NEW97Ioni Bowcher
1007Jeanfrancois H PoquetteGermany2024-05-04Printing Dimensions NEW6Ivan Magalhaes
1008Faith E BowleyUnited Kingdom2024-05-24Feiner Bros QUALIFIED39Elwin Sharvill
1009Jones S NestleGermany2024-05-05Rousseaux, Michael Esq UNQUALIFIED51Asiya Javayant
1010Jennifer S DarakjyCanada2024-05-09Truhlar And Truhlar Attys NEW83Onyama Limba
1011Jeanfrancois W GarufiArgentina2024-04-30King, Christopher A Esq PROPOSAL18Xuxue Feng
1012Smith Y VocelkaRussia2024-04-26Truhlar And Truhlar Attys RENEWAL77Bernardo Dominic
1013Aditya E RulapaughIndia2024-05-22Buckley Miller Wright PROPOSAL85Onyama Limba
1014Claire M PaprockiGermany2024-05-23Feltz Printing Service NEW58Amy Elsner
1015Morrow J SaylorsRussia2024-05-01Truhlar And Truhlar Attys RENEWAL98Xuxue Feng
1016Rodrigues B RulapaughFrance2024-05-09Benton, John B Jr UNQUALIFIED47Asiya Javayant
1017Adams M BriddickSpain2024-04-26Chemel, James L Cpa PROPOSAL6Elwin Sharvill
1018Isabel D StockhamFrance2024-05-21Truhlar And Truhlar Attys NEW50Anna Fali
1019Aruna Q GillianBrazil2024-05-09Rangoni Of Florence NEGOTIATION42Bernardo Dominic
1020Greenwood E InouyeArgentina2024-05-11King, Christopher A Esq NEGOTIATION52Stephen Shaw
1021Jennifer G OldroydJapan2024-05-01King, Christopher A Esq RENEWAL68Ioni Bowcher
1022Juan R SaylorsJapan2024-04-25Truhlar And Truhlar Attys PROPOSAL28Anna Fali
1023Isabel L RoysterRussia2024-05-12Morlong Associates UNQUALIFIED52Anna Fali
1024Francesco J PaprockiRussia2024-05-07Morlong Associates RENEWAL61Elwin Sharvill
1025Mayumi T VenereFrance2024-05-20King, Christopher A Esq PROPOSAL99Bernardo Dominic
1026Murillo W ChuiRussia2024-05-14Benton, John B Jr PROPOSAL99Asiya Javayant
1027Clifford D PerinArgentina2024-05-22Rousseaux, Michael Esq NEW21Ivan Magalhaes
1028Mujtaba M WieserFrance2024-05-17King, Christopher A Esq QUALIFIED83Onyama Limba
1029Deepesh B GillianBrazil2024-05-06King, Christopher A Esq NEGOTIATION65Xuxue Feng
1030Nicolas C OstroskyIndia2024-05-01Printing Dimensions PROPOSAL54Elwin Sharvill
1031Arvin A BriddickSpain2024-05-15Printing Dimensions RENEWAL27Anna Fali
1032Nicolas S FlosiAustralia2024-05-07Morlong Associates UNQUALIFIED84Ivan Magalhaes
1033Darci V SaylorsIndia2024-05-07Printing Dimensions QUALIFIED31Onyama Limba
1034Jones V FigeroaJapan2024-04-28Chemel, James L Cpa QUALIFIED90Asiya Javayant
1035Kaitlin O ChuiCanada2024-05-04Dorl, James J Esq QUALIFIED32Anna Fali
1036Ricardo B BriddickFrance2024-05-12Rousseaux, Michael Esq UNQUALIFIED3Onyama Limba
1037Costa W AlbaresRussia2024-05-09Chapman, Ross E Esq RENEWAL90Ioni Bowcher
1038Kadeem N DoeBrazil2024-05-10Benton, John B Jr RENEWAL67Bernardo Dominic
1039Leon F MaletUnited Kingdom2024-05-19Buckley Miller Wright UNQUALIFIED80Ivan Magalhaes
1040Smith W SergiIndia2024-05-12Morlong Associates PROPOSAL87Bernardo Dominic
1041Darci V CaudyItaly2024-05-23Chapman, Ross E Esq UNQUALIFIED49Anna Fali
1042Deepesh U RulapaughIndia2024-04-30Feltz Printing Service UNQUALIFIED95Ioni Bowcher
1043James Y WaycottIndia2024-05-10Benton, John B Jr NEW55Anna Fali
1044Francesco W SergiUnited Kingdom2024-05-03Benton, John B Jr RENEWAL78Bernardo Dominic
1045Maria U InouyeAustralia2024-05-09Benton, John B Jr RENEWAL20Anna Fali
1046Francesco Z ButtIndia2024-05-14Feltz Printing Service PROPOSAL68Onyama Limba
1047Arvin R SlusarskiCanada2024-04-27Truhlar And Truhlar Attys RENEWAL77Onyama Limba
1048Johnson O GarufiAustralia2024-05-09Printing Dimensions QUALIFIED66Ivan Magalhaes
1049Mujtaba L GauchoIndia2024-05-24Benton, John B Jr NEGOTIATION97Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jones I SlusarskiSpainAsiya Javayant PROPOSAL
Misaki L ShinkoGermanyIoni Bowcher RENEWAL
Aika V RulapaughCanadaElwin Sharvill UNQUALIFIED
Aruna L RulapaughSpainAsiya Javayant NEGOTIATION
Isabel G OldroydItalyBernardo Dominic NEW
Antonio X RimRussiaAmy Elsner RENEWAL
Claire U ButtArgentinaStephen Shaw NEW
Maria H CaudyUnited KingdomAsiya Javayant NEGOTIATION
David M StensethJapanIvan Magalhaes QUALIFIED
Julie T TollnerCanadaAnna Fali QUALIFIED
Mujtaba K WieserBrazilStephen Shaw NEW
Maisha L PoquetteFranceIoni Bowcher UNQUALIFIED
Juan K OstroskyUnited KingdomStephen Shaw QUALIFIED
Silvio S VocelkaGermanyStephen Shaw NEW
Wickens N NestleFranceXuxue Feng QUALIFIED
Morrow S StockhamSpainBernardo Dominic UNQUALIFIED
Julie J SchemmerItalyIvan Magalhaes QUALIFIED
Kaitlin P PaprockiRussiaAsiya Javayant RENEWAL
Clifford C FlosiGermanyAmy Elsner NEGOTIATION
Sinclair D GlickJapanAmy Elsner NEW
Emily Z NickaCanadaStephen Shaw QUALIFIED
Aika D DarakjyIndiaAsiya Javayant UNQUALIFIED
Mujtaba S GlickItalyBernardo Dominic NEGOTIATION
Wickens U ShinkoAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois J AmigonJapanIoni Bowcher QUALIFIED
Clifford X GlickSpainBernardo Dominic PROPOSAL
Nicolas S FollerIndiaBernardo Dominic NEGOTIATION
Jeanfrancois C CampainArgentinaIvan Magalhaes UNQUALIFIED
Darci Z InouyeAustraliaOnyama Limba PROPOSAL
Mayumi T FollerAustraliaIvan Magalhaes NEGOTIATION
Clifford J GlickSpainIoni Bowcher RENEWAL
Ricardo N IturbideAustraliaOnyama Limba PROPOSAL
Jeanfrancois X VocelkaAustraliaElwin Sharvill PROPOSAL
Ricardo N WieserGermanyAmy Elsner NEGOTIATION
Antonio X WaycottSpainAnna Fali NEW
Francesco W FollerAustraliaIoni Bowcher NEW
Leon E CampainFranceElwin Sharvill PROPOSAL
Sinclair I SergiSpainAmy Elsner UNQUALIFIED
Faith R PaprockiJapanStephen Shaw QUALIFIED
Maria A FigeroaRussiaAnna Fali NEGOTIATION
Deepesh N RulapaughGermanyAnna Fali NEGOTIATION
James W NickaAustraliaAnna Fali PROPOSAL
Cody V FlosiItalyBernardo Dominic PROPOSAL
Arvin B SlusarskiSpainAmy Elsner QUALIFIED
Ivar G WhobreyArgentinaIoni Bowcher QUALIFIED
Chavez R SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Misaki W CampainJapanAsiya Javayant NEGOTIATION
Wickens Q SchemmerItalyElwin Sharvill RENEWAL
Darci H DarakjyRussiaAmy Elsner PROPOSAL
Rodrigues P FerenczCanadaIvan Magalhaes RENEWAL
Frozen Columns
Name
Antonio F Schemmer
Aruna W Gillian
Jeanfrancois J Caldarera
Octavia G Marrier
Deepesh H Venere
Rodrigues P Gillian
Claire U Royster
Jones O Shinko
Juan B Oldroyd
Aika V Saylors
Kaitlin L Vocelka
Juan C Garufi
Johnson R Malet
Silvio I Kusko
Morrow U Ferencz
Mujtaba D Gaucho
Mujtaba G Nestle
Kadeem G Malet
Maria H Campain
Alejandro N Garufi
Arvin B Flosi
Wickens T Malet
Chavez Q Gillian
Murillo O Glick
Mujtaba W Paprocki
Kaitlin R Bolognia
Faith A Maclead
Leja H Kolmetz
Leon S Kusko
Misaki A Rulapaugh
Cody C Amigon
Misaki E Venere
Jeanfrancois W Bowley
Sinclair N Oldroyd
Mayumi X Caldarera
Nicolas V Albares
Wickens I Inouye
Jeanfrancois A Ferencz
Salvatore Y Wieser
Sinclair B Bolognia
Silvio W Gaucho
Claire X Rulapaugh
Aika L Waycott
Claire B Paprocki
Johnson B Ferencz
Chavez F Ruta
Johnson B Nicka
David T Doe
Johnson Y Amigon
Emily R Sergi
IdCountryDate
1000Spain2024-05-03
1001Germany2024-05-04
1002Canada2024-04-25
1003Canada2024-05-09
1004Argentina2024-05-20
1005India2024-04-26
1006India2024-05-03
1007Russia2024-05-21
1008Russia2024-05-24
1009Canada2024-05-21
1010Italy2024-05-11
1011Russia2024-05-21
1012United Kingdom2024-05-19
1013Spain2024-05-14
1014United Kingdom2024-05-09
1015Italy2024-05-02
1016Japan2024-05-16
1017Italy2024-04-27
1018India2024-05-21
1019United Kingdom2024-05-12
1020Spain2024-05-16
1021United Kingdom2024-05-06
1022United Kingdom2024-05-08
1023Argentina2024-05-14
1024France2024-05-07
1025India2024-05-02
1026India2024-05-18
1027Brazil2024-04-28
1028Argentina2024-04-30
1029United Kingdom2024-05-17
1030Spain2024-05-03
1031Russia2024-05-17
1032Argentina2024-05-23
1033Argentina2024-05-12
1034United Kingdom2024-05-05
1035Australia2024-05-02
1036Australia2024-05-23
1037France2024-05-22
1038Germany2024-05-08
1039Canada2024-05-23
1040France2024-05-16
1041France2024-05-17
1042France2024-05-24
1043Germany2024-05-06
1044Japan2024-05-07
1045Italy2024-05-19
1046Italy2024-04-27
1047France2024-05-14
1048Italy2024-04-26
1049India2024-05-17

On-Demand Data

NameIdCountryDate
James B Oldroyd1000Argentina2024-05-16
Aika P Vocelka1001Australia2024-05-23
Nicolas Y Bolognia1002Italy2024-05-23
Stacey Q Campain1003Japan2024-05-09
Adams B Ostrosky1004Canada2024-04-26
Antonio T Iturbide1005Germany2024-05-19
Aruna J Perin1006Argentina2024-04-29
Maria T Wieser1007Australia2024-05-02
Munro J Waycott1008France2024-05-17
Clifford R Vocelka1009United Kingdom2024-05-24
Ashley H Whobrey1010Brazil2024-04-27
Ashley D Tollner1011France2024-05-20
Munro U Darakjy1012Japan2024-05-05
Smith M Briddick1013Russia2024-05-20
Misaki K Royster1014Brazil2024-05-01
Greenwood T Royster1015Spain2024-05-04
James P Ferencz1016United Kingdom2024-05-19
Smith Q Rulapaugh1017United Kingdom2024-05-03
James V Oldroyd1018Russia2024-04-29
Salvatore W Shinko1019Germany2024-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire J WhobreyGermanyAsiya Javayant UNQUALIFIED
Stacey O RimItalyElwin Sharvill RENEWAL
Ivar R RoysterFranceIoni Bowcher PROPOSAL
Isabel Z MarrierGermanyBernardo Dominic RENEWAL
Julie W FerenczCanadaAsiya Javayant UNQUALIFIED
Mujtaba L WaycottJapanXuxue Feng NEW
Darci C BowleyFranceAmy Elsner PROPOSAL
David I NestleItalyStephen Shaw UNQUALIFIED
Maisha X BologniaBrazilStephen Shaw PROPOSAL
Kadeem T IturbideUnited KingdomXuxue Feng RENEWAL
Costa N BriddickIndiaAmy Elsner RENEWAL
Juan K MarrierIndiaIvan Magalhaes RENEWAL
David R DilliardRussiaElwin Sharvill NEGOTIATION
Antonio K DarakjyJapanOnyama Limba RENEWAL
James V PoquetteItalyIvan Magalhaes RENEWAL
Chavez X AmigonUnited KingdomXuxue Feng QUALIFIED
Ivar C FollerJapanElwin Sharvill NEGOTIATION
Isabel G PerinIndiaBernardo Dominic NEGOTIATION
Juan M RimIndiaAmy Elsner NEGOTIATION
Clifford L RutaRussiaAmy Elsner NEGOTIATION
Emily W FigeroaJapanOnyama Limba UNQUALIFIED
Emily T NestleCanadaStephen Shaw UNQUALIFIED
Emily X WaycottRussiaElwin Sharvill UNQUALIFIED
Deepesh I CaldareraArgentinaIvan Magalhaes NEGOTIATION
Rodrigues G PaprockiSpainAnna Fali QUALIFIED
Jones E MorascaJapanXuxue Feng QUALIFIED
Greenwood D RulapaughCanadaXuxue Feng QUALIFIED
Mujtaba R InouyeAustraliaOnyama Limba UNQUALIFIED
Isabel Z MaletCanadaIvan Magalhaes PROPOSAL
Jefferson U SergiAustraliaAmy Elsner PROPOSAL
Octavia N ShinkoJapanOnyama Limba PROPOSAL
Adams S WhobreyGermanyXuxue Feng NEW
Mayumi D NestleRussiaBernardo Dominic QUALIFIED
Murillo H VocelkaIndiaElwin Sharvill UNQUALIFIED
Ricardo S OldroydGermanyElwin Sharvill QUALIFIED
Sinclair B IturbideGermanyBernardo Dominic RENEWAL
Smith M AmigonArgentinaIvan Magalhaes PROPOSAL
James U CampainIndiaAsiya Javayant PROPOSAL
Chavez I KolmetzIndiaIoni Bowcher QUALIFIED
Tony E AmigonAustraliaAsiya Javayant 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>