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
Munro P MacleadFranceBernardo Dominic UNQUALIFIED
Johnson F TollnerBrazilStephen Shaw RENEWAL
Munro K MarrierAustraliaBernardo Dominic RENEWAL
Darci Z ButtIndiaElwin Sharvill NEGOTIATION
Darci G RoysterItalyBernardo Dominic QUALIFIED
Aditya U BowleyCanadaBernardo Dominic RENEWAL
Aruna C NickaCanadaOnyama Limba RENEWAL
Leon D BriddickAustraliaAsiya Javayant UNQUALIFIED
Alejandro Q DoeIndiaAnna Fali UNQUALIFIED
Faith H PoquetteAustraliaIvan Magalhaes PROPOSAL
Aika B FollerJapanOnyama Limba QUALIFIED
Maisha G CaldareraBrazilAnna Fali UNQUALIFIED
Cody O RoysterGermanyAmy Elsner RENEWAL
Juan O BologniaItalyXuxue Feng QUALIFIED
Stacey D GlickFranceOnyama Limba NEW
Arvin L KolmetzRussiaBernardo Dominic QUALIFIED
Jennifer P GarufiBrazilIvan Magalhaes NEGOTIATION
Jones N VocelkaFranceOnyama Limba UNQUALIFIED
Aruna Q WieserJapanAsiya Javayant QUALIFIED
Tony I MorascaAustraliaAmy Elsner NEW
Mujtaba Z GarufiGermanyAnna Fali NEGOTIATION
Francesco L BowleyItalyIoni Bowcher UNQUALIFIED
Stacey K ShinkoFranceStephen Shaw QUALIFIED
Faith M ChuiAustraliaStephen Shaw NEW
Maisha K CampainUnited KingdomElwin Sharvill RENEWAL
Isabel Y CampainBrazilAnna Fali UNQUALIFIED
Alejandro C AmigonArgentinaOnyama Limba PROPOSAL
Arvin G RulapaughUnited KingdomAnna Fali PROPOSAL
Maria G PoquetteRussiaElwin Sharvill RENEWAL
Johnson B NestleAustraliaAmy Elsner PROPOSAL
Tony E VocelkaGermanyIvan Magalhaes PROPOSAL
Munro P MaletCanadaAmy Elsner QUALIFIED
Silvio G AlbaresItalyXuxue Feng RENEWAL
Aditya Q FlosiUnited KingdomOnyama Limba RENEWAL
David Y BriddickSpainXuxue Feng NEGOTIATION
Salvatore V FollerUnited KingdomBernardo Dominic QUALIFIED
Kaitlin M NickaBrazilOnyama Limba NEW
Johnson P RimBrazilIvan Magalhaes RENEWAL
David W MacleadFranceAnna Fali NEGOTIATION
Mujtaba K SaylorsUnited KingdomAnna Fali NEGOTIATION
Mujtaba I VenereArgentinaBernardo Dominic QUALIFIED
Munro G VenereGermanyOnyama Limba PROPOSAL
Greenwood X GarufiRussiaOnyama Limba PROPOSAL
Adams N ShinkoUnited KingdomOnyama Limba PROPOSAL
Costa L MorascaGermanyAsiya Javayant NEW
Ashley D WhobreySpainOnyama Limba UNQUALIFIED
Aruna C GlickArgentinaBernardo Dominic NEW
Leja T WieserRussiaIvan Magalhaes NEGOTIATION
Chavez V OldroydIndiaOnyama Limba QUALIFIED
Jennifer G CaudyJapanStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon Y WieserAustraliaAsiya Javayant PROPOSAL
Johnson C FollerIndiaAmy Elsner UNQUALIFIED
Stacey V AmigonIndiaAsiya Javayant NEW
Morrow P CaudyArgentinaBernardo Dominic UNQUALIFIED
David H FigeroaItalyElwin Sharvill QUALIFIED
Jennifer U MacleadSpainBernardo Dominic UNQUALIFIED
Emily Z BologniaIndiaBernardo Dominic NEW
Aika I ChuiAustraliaOnyama Limba RENEWAL
Julie X BriddickItalyXuxue Feng PROPOSAL
Aditya S StensethFranceBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith L PaprockiAustralia2024-05-31Dorl, James J Esq NEGOTIATION53Amy Elsner
1001Adams B AmigonIndia2024-05-31Feltz Printing Service NEW7Onyama Limba
1002Faith R SlusarskiJapan2024-05-24King, Christopher A Esq PROPOSAL99Xuxue Feng
1003Jefferson Z CaldareraItaly2024-06-15Morlong Associates UNQUALIFIED75Elwin Sharvill
1004Sinclair C CaudyGermany2024-05-31Dorl, James J Esq NEW88Ioni Bowcher
1005Leja X KuskoRussia2024-06-13Dorl, James J Esq NEW74Ioni Bowcher
1006Mayumi R WaycottArgentina2024-06-15Feiner Bros RENEWAL56Bernardo Dominic
1007Maria B BriddickGermany2024-05-30Rousseaux, Michael Esq NEGOTIATION97Asiya Javayant
1008Kaitlin D MarrierBrazil2024-06-08Rangoni Of Florence NEW65Asiya Javayant
1009Clifford U FlosiBrazil2024-06-11Truhlar And Truhlar Attys NEGOTIATION71Asiya Javayant
1010Alejandro F MaletFrance2024-06-07Feltz Printing Service NEGOTIATION98Anna Fali
1011Morrow O RimItaly2024-06-13Benton, John B Jr QUALIFIED41Asiya Javayant
1012Aditya V RoysterRussia2024-05-27Morlong Associates UNQUALIFIED49Stephen Shaw
1013Adams N MorascaFrance2024-06-04King, Christopher A Esq QUALIFIED22Onyama Limba
1014Rodrigues R FerenczBrazil2024-06-03Rangoni Of Florence PROPOSAL37Amy Elsner
1015Murillo S WhobreyFrance2024-06-13Chanay, Jeffrey A Esq QUALIFIED92Onyama Limba
1016Wickens V CaldareraArgentina2024-05-30Chapman, Ross E Esq NEGOTIATION82Ivan Magalhaes
1017Octavia B SlusarskiGermany2024-06-05Commercial Press NEW63Stephen Shaw
1018Jones D VenereFrance2024-06-11Feiner Bros QUALIFIED59Ivan Magalhaes
1019Morrow F BriddickSpain2024-05-30Printing Dimensions RENEWAL30Onyama Limba
1020Maisha Y AlbaresItaly2024-06-05Feiner Bros PROPOSAL87Anna Fali
1021Murillo B StensethSpain2024-06-10Chapman, Ross E Esq RENEWAL45Bernardo Dominic
1022Francesco H GlickUnited Kingdom2024-05-29Feiner Bros PROPOSAL48Onyama Limba
1023Kadeem L PaprockiFrance2024-06-19Chemel, James L Cpa PROPOSAL98Elwin Sharvill
1024Silvio R PaprockiUnited Kingdom2024-06-05Morlong Associates QUALIFIED3Asiya Javayant
1025Darci P MaletArgentina2024-06-04Chapman, Ross E Esq UNQUALIFIED39Xuxue Feng
1026Juan W VocelkaJapan2024-06-09King, Christopher A Esq QUALIFIED54Ioni Bowcher
1027Cody K RoysterSpain2024-06-21Chapman, Ross E Esq QUALIFIED74Ivan Magalhaes
1028Salvatore Q BologniaSpain2024-06-18Printing Dimensions NEW59Ioni Bowcher
1029Adams V ShinkoJapan2024-05-28Feltz Printing Service PROPOSAL34Bernardo Dominic
1030Antonio B KolmetzArgentina2024-06-14Printing Dimensions UNQUALIFIED0Elwin Sharvill
1031Aditya A RutaAustralia2024-05-29Chemel, James L Cpa RENEWAL54Xuxue Feng
1032Faith M RutaGermany2024-06-06Benton, John B Jr RENEWAL52Xuxue Feng
1033Francesco V RoysterArgentina2024-06-20Rangoni Of Florence UNQUALIFIED14Amy Elsner
1034Emily L RutaArgentina2024-05-29Feiner Bros NEW39Bernardo Dominic
1035Octavia L RimCanada2024-05-25Benton, John B Jr NEGOTIATION0Bernardo Dominic
1036Johnson L TollnerCanada2024-05-30Rangoni Of Florence NEGOTIATION45Onyama Limba
1037Salvatore T PaprockiUnited Kingdom2024-06-02Truhlar And Truhlar Attys UNQUALIFIED95Xuxue Feng
1038Morrow B PerinUnited Kingdom2024-06-02Chemel, James L Cpa RENEWAL87Onyama Limba
1039Jennifer D GauchoSpain2024-06-02Benton, John B Jr PROPOSAL73Elwin Sharvill
1040Juan W MaletAustralia2024-06-06Feltz Printing Service NEW57Xuxue Feng
1041Murillo K GauchoJapan2024-05-31Feltz Printing Service RENEWAL0Anna Fali
1042Maisha V OstroskyFrance2024-06-03Buckley Miller Wright RENEWAL60Onyama Limba
1043Johnson F BologniaGermany2024-05-24Commercial Press UNQUALIFIED1Asiya Javayant
1044Ashley L GlickJapan2024-05-31Morlong Associates RENEWAL90Ivan Magalhaes
1045Aruna A ShinkoJapan2024-06-02Chapman, Ross E Esq NEGOTIATION32Asiya Javayant
1046Maria F SergiAustralia2024-05-29Rousseaux, Michael Esq NEW5Stephen Shaw
1047Darci Y FerenczIndia2024-05-31Rousseaux, Michael Esq RENEWAL56Anna Fali
1048Cody Q RimIndia2024-06-05King, Christopher A Esq RENEWAL34Ivan Magalhaes
1049Jefferson X BriddickJapan2024-05-29Buckley Miller Wright PROPOSAL67Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair C CaldareraFranceAnna Fali PROPOSAL
Murillo G RimCanadaIvan Magalhaes PROPOSAL
Nicolas E TollnerGermanyAsiya Javayant QUALIFIED
Morrow G KuskoIndiaXuxue Feng PROPOSAL
Isabel W PerinIndiaAsiya Javayant UNQUALIFIED
Antonio B OldroydGermanyOnyama Limba RENEWAL
Antonio R AmigonIndiaAmy Elsner UNQUALIFIED
Jeanfrancois Y GarufiFranceAnna Fali QUALIFIED
Aruna G GauchoJapanAnna Fali PROPOSAL
David E IturbideBrazilIvan Magalhaes RENEWAL
Antonio I SaylorsUnited KingdomElwin Sharvill QUALIFIED
Salvatore H RimBrazilAmy Elsner UNQUALIFIED
Smith D PerinGermanyAsiya Javayant PROPOSAL
Silvio Z FigeroaArgentinaElwin Sharvill QUALIFIED
Misaki D ShinkoArgentinaIvan Magalhaes NEGOTIATION
Mujtaba O CampainAustraliaStephen Shaw QUALIFIED
Octavia G NickaCanadaAmy Elsner UNQUALIFIED
Aruna V DilliardGermanyIoni Bowcher NEGOTIATION
James K VenereCanadaXuxue Feng RENEWAL
Tony J GlickJapanXuxue Feng NEW
Munro V FollerRussiaStephen Shaw NEW
Salvatore Z ButtFranceOnyama Limba UNQUALIFIED
Maria G AlbaresIndiaStephen Shaw QUALIFIED
Ivar K BriddickCanadaIoni Bowcher PROPOSAL
Ashley R IturbideIndiaAsiya Javayant UNQUALIFIED
Izzy X DoeArgentinaAmy Elsner NEW
Tony U ButtAustraliaAsiya Javayant QUALIFIED
Faith L VocelkaRussiaBernardo Dominic UNQUALIFIED
Murillo L BowleyGermanyElwin Sharvill PROPOSAL
Ricardo V ShinkoJapanAsiya Javayant PROPOSAL
Morrow E WieserIndiaIvan Magalhaes RENEWAL
Murillo F SchemmerCanadaAnna Fali NEW
Ivar S FlosiGermanyBernardo Dominic NEGOTIATION
Johnson C BologniaIndiaXuxue Feng RENEWAL
Alejandro F MaletUnited KingdomBernardo Dominic NEW
Jones K NestleJapanIvan Magalhaes NEGOTIATION
Kadeem U FlosiArgentinaAnna Fali NEGOTIATION
Darci D MorascaFranceAnna Fali QUALIFIED
Aika P WieserUnited KingdomAsiya Javayant RENEWAL
Leja B DilliardFranceAnna Fali NEW
Antonio L GlickFranceXuxue Feng NEW
Morrow Z KuskoUnited KingdomIoni Bowcher RENEWAL
Ivar T AlbaresJapanBernardo Dominic NEGOTIATION
Rodrigues W MorascaRussiaAmy Elsner NEGOTIATION
Jeanfrancois E WieserBrazilIvan Magalhaes NEW
Sinclair H GauchoJapanIvan Magalhaes PROPOSAL
Costa D VocelkaAustraliaBernardo Dominic UNQUALIFIED
Sinclair L BriddickFranceAsiya Javayant NEW
Maria N BologniaUnited KingdomAmy Elsner QUALIFIED
Jennifer R IturbideItalyXuxue Feng PROPOSAL
Frozen Columns
Name
Izzy D Figeroa
Arvin T Slusarski
Julie Y Venere
Maisha Q Perin
Jefferson H Chui
Wickens Z Nestle
Maisha Y Rulapaugh
Claire V Iturbide
Cody X Inouye
Kadeem N Morasca
Salvatore A Figeroa
James L Stenseth
Murillo Z Ferencz
Wickens A Rulapaugh
Deepesh C Chui
Clifford S Venere
Isabel C Briddick
Antonio A Schemmer
Cody A Whobrey
Aruna B Inouye
Aika T Inouye
Greenwood I Malet
Munro Q Poquette
Morrow J Malet
Chavez S Gaucho
Munro U Poquette
Isabel E Bowley
Juan D Flosi
Kaitlin S Nicka
Octavia X Royster
Aditya K Malet
Alejandro X Butt
Chavez H Schemmer
Faith N Malet
Darci P Glick
Aika I Caudy
Leon H Darakjy
Smith A Caudy
Jones P Foller
Clifford M Saylors
Leja V Inouye
Munro B Iturbide
Aditya H Schemmer
Stacey O Butt
Jefferson A Chui
Adams T Malet
Wickens N Doe
Octavia Q Dilliard
Mujtaba E Kusko
Kaitlin V Saylors
IdCountryDate
1000Japan2024-06-04
1001India2024-06-03
1002Spain2024-05-24
1003Japan2024-06-09
1004Argentina2024-06-09
1005Japan2024-05-26
1006Brazil2024-05-25
1007Canada2024-05-28
1008Italy2024-05-25
1009Brazil2024-06-03
1010Brazil2024-06-01
1011India2024-05-23
1012Italy2024-06-01
1013Brazil2024-06-10
1014India2024-06-17
1015Brazil2024-05-27
1016Spain2024-05-23
1017United Kingdom2024-06-10
1018United Kingdom2024-05-28
1019Spain2024-06-10
1020Argentina2024-05-24
1021India2024-06-18
1022Japan2024-06-14
1023France2024-05-23
1024Argentina2024-05-29
1025Germany2024-06-10
1026United Kingdom2024-06-01
1027France2024-05-26
1028Italy2024-06-16
1029India2024-06-19
1030Argentina2024-06-20
1031Germany2024-06-02
1032Spain2024-05-27
1033Italy2024-06-10
1034Germany2024-06-10
1035Germany2024-05-31
1036United Kingdom2024-05-28
1037Canada2024-05-28
1038United Kingdom2024-05-29
1039India2024-06-17
1040Japan2024-05-26
1041Spain2024-06-15
1042Brazil2024-06-06
1043Russia2024-06-06
1044France2024-05-27
1045India2024-05-28
1046Australia2024-06-15
1047Canada2024-06-15
1048India2024-06-18
1049France2024-05-24

On-Demand Data

NameIdCountryDate
Kadeem W Iturbide1000United Kingdom2024-05-29
Morrow S Caldarera1001Russia2024-06-14
Aika X Foller1002Spain2024-06-08
Izzy Z Kolmetz1003France2024-06-16
Nicolas X Tollner1004Italy2024-06-02
Emily A Figeroa1005Spain2024-06-08
Alejandro P Malet1006Canada2024-06-16
Mayumi H Bowley1007Japan2024-05-30
Ricardo M Paprocki1008Russia2024-06-10
Ricardo C Marrier1009Australia2024-06-13
Ricardo E Royster1010Brazil2024-06-10
Maisha O Vocelka1011Argentina2024-05-30
Aditya T Iturbide1012Germany2024-06-15
David V Kolmetz1013Japan2024-06-01
Antonio R Wieser1014Germany2024-06-14
Clifford T Ostrosky1015Spain2024-05-28
Greenwood R Doe1016Russia2024-06-13
Jeanfrancois R Campain1017India2024-06-04
Kadeem T Rulapaugh1018Italy2024-05-31
Clifford H Marrier1019Australia2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon U KuskoRussiaAsiya Javayant QUALIFIED
Murillo O AlbaresJapanAmy Elsner NEGOTIATION
Ricardo Q PoquetteBrazilAmy Elsner RENEWAL
Mujtaba N PoquetteIndiaXuxue Feng PROPOSAL
Ashley B VocelkaCanadaAnna Fali QUALIFIED
Aruna U SchemmerRussiaIvan Magalhaes QUALIFIED
Aika J TollnerCanadaAsiya Javayant NEW
Darci O RutaAustraliaAmy Elsner NEGOTIATION
Sinclair M VocelkaIndiaIvan Magalhaes NEGOTIATION
Misaki B ButtGermanyAsiya Javayant UNQUALIFIED
Maisha I SlusarskiUnited KingdomBernardo Dominic NEW
Jennifer G PoquetteFranceOnyama Limba RENEWAL
Tony X CampainFranceAsiya Javayant UNQUALIFIED
Antonio G MarrierAustraliaIoni Bowcher PROPOSAL
Ricardo F AlbaresIndiaAsiya Javayant NEGOTIATION
Julie P NestleItalyAnna Fali NEGOTIATION
Aika T FigeroaFranceBernardo Dominic NEW
Arvin F SchemmerCanadaXuxue Feng NEW
Adams P SaylorsRussiaAmy Elsner NEW
Leon P ShinkoUnited KingdomXuxue Feng NEW
Jefferson X SaylorsFranceElwin Sharvill RENEWAL
Leon T RulapaughCanadaOnyama Limba UNQUALIFIED
James X NickaFranceBernardo Dominic PROPOSAL
Jones T FigeroaIndiaAnna Fali PROPOSAL
Jefferson X KuskoFranceAnna Fali NEW
David Y OldroydGermanyAmy Elsner UNQUALIFIED
Octavia O PaprockiCanadaStephen Shaw QUALIFIED
Chavez Y RoysterArgentinaAsiya Javayant UNQUALIFIED
Sinclair F FlosiIndiaAnna Fali NEGOTIATION
Darci K AlbaresCanadaIvan Magalhaes PROPOSAL
Aruna F ShinkoSpainAsiya Javayant PROPOSAL
Murillo R RimRussiaBernardo Dominic RENEWAL
Claire A GillianIndiaIoni Bowcher RENEWAL
Adams H ChuiItalyAnna Fali RENEWAL
Cody N MaletUnited KingdomBernardo Dominic QUALIFIED
Wickens H RutaJapanIvan Magalhaes QUALIFIED
Munro J VocelkaJapanStephen Shaw NEW
Aika U MarrierAustraliaAmy Elsner UNQUALIFIED
Silvio Y PerinCanadaXuxue Feng PROPOSAL
Nicolas S RimJapanIvan Magalhaes NEGOTIATION

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