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
Wickens O MarrierItalyElwin Sharvill UNQUALIFIED
Nicolas R BriddickAustraliaXuxue Feng RENEWAL
Deepesh R MorascaSpainIvan Magalhaes PROPOSAL
Aika K PaprockiJapanAsiya Javayant NEGOTIATION
Jennifer V PaprockiArgentinaIoni Bowcher NEW
Costa W ChuiCanadaStephen Shaw UNQUALIFIED
Claire H PerinUnited KingdomBernardo Dominic NEW
Claire U MaletRussiaXuxue Feng NEW
Munro D GauchoSpainElwin Sharvill PROPOSAL
Adams R VenereRussiaIvan Magalhaes RENEWAL
Leja I StockhamJapanIvan Magalhaes QUALIFIED
Smith A CaudyFranceIoni Bowcher NEGOTIATION
Francesco K PoquetteFranceXuxue Feng PROPOSAL
Alejandro Q RutaArgentinaBernardo Dominic NEW
Murillo P MorascaJapanBernardo Dominic RENEWAL
Maria C VenereFranceAsiya Javayant QUALIFIED
Costa C TollnerArgentinaXuxue Feng RENEWAL
Rodrigues D GauchoSpainAmy Elsner RENEWAL
Ivar O DilliardGermanyIvan Magalhaes NEGOTIATION
Kaitlin P OldroydBrazilIvan Magalhaes RENEWAL
Leon W CampainFranceXuxue Feng RENEWAL
Costa K MaletRussiaXuxue Feng PROPOSAL
Nicolas A SaylorsCanadaElwin Sharvill NEW
Nicolas S SchemmerItalyAnna Fali UNQUALIFIED
Mayumi W TollnerAustraliaIvan Magalhaes PROPOSAL
Ricardo F MorascaJapanIoni Bowcher PROPOSAL
Greenwood B AlbaresItalyOnyama Limba RENEWAL
Arvin I RutaSpainXuxue Feng UNQUALIFIED
Silvio J RoysterIndiaAsiya Javayant RENEWAL
Murillo H FigeroaAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois C NickaAustraliaIvan Magalhaes RENEWAL
Smith S SaylorsRussiaAmy Elsner NEGOTIATION
Jeanfrancois M FigeroaGermanyElwin Sharvill NEW
Kadeem S RulapaughCanadaAnna Fali QUALIFIED
Costa Z OldroydArgentinaOnyama Limba QUALIFIED
Jefferson I OstroskyRussiaXuxue Feng NEGOTIATION
Deepesh S ButtArgentinaIoni Bowcher NEW
Aruna I OstroskyUnited KingdomOnyama Limba PROPOSAL
Rodrigues M SergiBrazilAmy Elsner RENEWAL
Adams M DilliardBrazilOnyama Limba UNQUALIFIED
Misaki F AlbaresBrazilElwin Sharvill PROPOSAL
Maria R MarrierArgentinaOnyama Limba UNQUALIFIED
Octavia H VenereUnited KingdomAnna Fali PROPOSAL
Juan N StensethSpainAmy Elsner QUALIFIED
Nicolas X SchemmerSpainIvan Magalhaes UNQUALIFIED
Isabel I PerinAustraliaAsiya Javayant PROPOSAL
Wickens P SergiSpainStephen Shaw QUALIFIED
Jefferson Q AlbaresFranceXuxue Feng NEGOTIATION
Jones O WieserItalyIvan Magalhaes QUALIFIED
Sinclair V NestleSpainStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya L PoquetteIndiaAsiya Javayant UNQUALIFIED
Ivar J IturbideSpainAsiya Javayant NEGOTIATION
Leon I ButtCanadaAmy Elsner NEW
Wickens F SaylorsRussiaElwin Sharvill RENEWAL
Silvio M SergiArgentinaAsiya Javayant NEW
Salvatore Q BologniaFranceAmy Elsner UNQUALIFIED
Kadeem U DarakjyUnited KingdomAnna Fali QUALIFIED
Deepesh T MorascaBrazilElwin Sharvill RENEWAL
Darci H GauchoBrazilAsiya Javayant RENEWAL
Leon U WhobreyCanadaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood L WieserUnited Kingdom2024-06-13Morlong Associates NEGOTIATION74Amy Elsner
1001Jeanfrancois T BriddickSpain2024-06-14Rangoni Of Florence RENEWAL32Elwin Sharvill
1002Aditya V StockhamAustralia2024-06-04Feiner Bros QUALIFIED20Bernardo Dominic
1003Antonio G SlusarskiGermany2024-06-16Morlong Associates NEW11Elwin Sharvill
1004Costa G IturbideItaly2024-06-06Chemel, James L Cpa UNQUALIFIED38Anna Fali
1005Tony U KolmetzIndia2024-06-13Buckley Miller Wright UNQUALIFIED57Ivan Magalhaes
1006Chavez Z RoysterJapan2024-05-29Chemel, James L Cpa NEGOTIATION95Ivan Magalhaes
1007Munro I WhobreyJapan2024-06-05Feiner Bros NEGOTIATION5Asiya Javayant
1008Ashley D KuskoRussia2024-06-19Feltz Printing Service QUALIFIED75Elwin Sharvill
1009Arvin Q ButtArgentina2024-06-12Commercial Press NEGOTIATION1Anna Fali
1010Mayumi Z StockhamArgentina2024-06-17Commercial Press NEGOTIATION45Ioni Bowcher
1011Aditya K CaldareraGermany2024-05-31Dorl, James J Esq NEGOTIATION25Asiya Javayant
1012Leon X MaletSpain2024-05-26Rangoni Of Florence NEGOTIATION33Stephen Shaw
1013Silvio X BowleyBrazil2024-06-05Rangoni Of Florence RENEWAL93Elwin Sharvill
1014Claire W GarufiBrazil2024-06-06Printing Dimensions RENEWAL92Onyama Limba
1015Leon Z RulapaughGermany2024-06-09Printing Dimensions PROPOSAL44Anna Fali
1016Maisha U MorascaAustralia2024-05-26Rangoni Of Florence NEW31Bernardo Dominic
1017Darci N MaletCanada2024-05-31Truhlar And Truhlar Attys NEGOTIATION43Bernardo Dominic
1018Francesco Q KuskoItaly2024-06-16Rousseaux, Michael Esq UNQUALIFIED2Xuxue Feng
1019Salvatore I AlbaresArgentina2024-05-28Printing Dimensions QUALIFIED78Bernardo Dominic
1020Greenwood Z SchemmerUnited Kingdom2024-06-12Buckley Miller Wright PROPOSAL50Asiya Javayant
1021Cody X RutaAustralia2024-05-30Feltz Printing Service UNQUALIFIED75Anna Fali
1022Smith M DarakjyItaly2024-06-10Dorl, James J Esq PROPOSAL10Asiya Javayant
1023Jones E IturbideGermany2024-06-07Commercial Press PROPOSAL68Anna Fali
1024Maria T AmigonCanada2024-06-13Rangoni Of Florence NEGOTIATION94Anna Fali
1025Morrow D RulapaughSpain2024-06-14Chemel, James L Cpa UNQUALIFIED99Bernardo Dominic
1026Antonio M CaldareraCanada2024-06-21Printing Dimensions QUALIFIED14Amy Elsner
1027Morrow L FigeroaItaly2024-05-28Dorl, James J Esq PROPOSAL35Anna Fali
1028Maisha A StockhamGermany2024-06-07Chemel, James L Cpa UNQUALIFIED0Onyama Limba
1029Leon K AlbaresAustralia2024-06-15Feiner Bros RENEWAL54Xuxue Feng
1030Misaki J IturbideSpain2024-06-14Feiner Bros NEW85Ioni Bowcher
1031Alejandro K RoysterArgentina2024-06-16Chemel, James L Cpa QUALIFIED1Ivan Magalhaes
1032Aditya I SaylorsGermany2024-05-31Morlong Associates QUALIFIED28Asiya Javayant
1033Aika Q BologniaBrazil2024-06-02Rangoni Of Florence PROPOSAL42Xuxue Feng
1034Aika Q KuskoCanada2024-06-11Truhlar And Truhlar Attys NEGOTIATION67Xuxue Feng
1035Costa Z WhobreySpain2024-06-18Dorl, James J Esq NEW27Elwin Sharvill
1036Juan N ChuiCanada2024-06-02Truhlar And Truhlar Attys NEW55Onyama Limba
1037Jeanfrancois D MacleadSpain2024-06-01Commercial Press NEGOTIATION71Amy Elsner
1038Jones O MaletIndia2024-06-14Rousseaux, Michael Esq PROPOSAL43Ioni Bowcher
1039Morrow C FigeroaGermany2024-05-31Dorl, James J Esq NEW26Amy Elsner
1040Ivar B WieserRussia2024-06-01Truhlar And Truhlar Attys NEGOTIATION70Ioni Bowcher
1041Aika X MorascaArgentina2024-06-06Chapman, Ross E Esq UNQUALIFIED84Stephen Shaw
1042Wickens F SlusarskiArgentina2024-06-07Truhlar And Truhlar Attys PROPOSAL92Ioni Bowcher
1043Emily C TollnerJapan2024-06-15Feiner Bros UNQUALIFIED59Ivan Magalhaes
1044Costa V OstroskyRussia2024-05-25Morlong Associates UNQUALIFIED72Amy Elsner
1045Leon L MaletFrance2024-06-07Rousseaux, Michael Esq NEGOTIATION11Ioni Bowcher
1046Chavez P GillianUnited Kingdom2024-06-17Chapman, Ross E Esq PROPOSAL66Stephen Shaw
1047Juan A ChuiCanada2024-05-29Rangoni Of Florence NEW15Anna Fali
1048Smith X SlusarskiArgentina2024-05-31Chemel, James L Cpa NEGOTIATION36Anna Fali
1049Darci X FerenczRussia2024-06-03King, Christopher A Esq UNQUALIFIED35Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James E CaldareraFranceElwin Sharvill QUALIFIED
Julie Y RulapaughJapanIoni Bowcher QUALIFIED
Aika O OstroskyJapanAsiya Javayant NEGOTIATION
Juan P GarufiAustraliaIvan Magalhaes NEGOTIATION
Izzy W RoysterRussiaBernardo Dominic QUALIFIED
Costa G FlosiFranceXuxue Feng NEW
Salvatore S RutaIndiaAmy Elsner PROPOSAL
Murillo U GauchoFranceStephen Shaw NEW
Deepesh H RulapaughRussiaAnna Fali RENEWAL
Jefferson N DarakjyRussiaAnna Fali QUALIFIED
Maisha P MarrierBrazilElwin Sharvill NEW
Wickens X InouyeJapanIvan Magalhaes RENEWAL
Juan R MacleadRussiaOnyama Limba NEGOTIATION
Nicolas J GillianSpainAmy Elsner NEGOTIATION
Juan G StockhamJapanElwin Sharvill RENEWAL
Maria G FigeroaSpainIvan Magalhaes NEW
Francesco Y PaprockiCanadaIoni Bowcher PROPOSAL
Leja Y PoquetteItalyOnyama Limba RENEWAL
Jennifer U SergiCanadaStephen Shaw RENEWAL
Misaki B DoeIndiaAmy Elsner NEGOTIATION
Aditya W SaylorsRussiaAnna Fali NEGOTIATION
Johnson P MacleadSpainAnna Fali NEW
Jeanfrancois Y NickaRussiaIoni Bowcher RENEWAL
Ricardo I AlbaresBrazilOnyama Limba NEW
Maisha S KuskoJapanAsiya Javayant UNQUALIFIED
Tony H PoquetteItalyOnyama Limba NEGOTIATION
Jefferson Z MaletUnited KingdomIvan Magalhaes NEW
Darci Q CampainUnited KingdomElwin Sharvill PROPOSAL
Faith N VocelkaSpainBernardo Dominic NEW
Claire F SchemmerFranceAmy Elsner PROPOSAL
Francesco R PerinItalyXuxue Feng UNQUALIFIED
Silvio M GillianCanadaStephen Shaw NEGOTIATION
Izzy P VocelkaJapanIoni Bowcher NEGOTIATION
Greenwood M BowleyJapanAmy Elsner UNQUALIFIED
Deepesh V CampainCanadaIoni Bowcher PROPOSAL
Jones V ChuiUnited KingdomBernardo Dominic NEGOTIATION
Faith B MorascaCanadaStephen Shaw NEGOTIATION
Leja H KuskoRussiaAsiya Javayant NEGOTIATION
Nicolas A NestleRussiaAsiya Javayant NEGOTIATION
Darci T AlbaresItalyIoni Bowcher RENEWAL
Aditya Z ChuiGermanyXuxue Feng NEGOTIATION
Claire W GarufiUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois H IturbideRussiaStephen Shaw RENEWAL
Claire P CampainJapanIoni Bowcher NEGOTIATION
Stacey U ChuiUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois N DarakjySpainIoni Bowcher UNQUALIFIED
Jeanfrancois R PerinBrazilStephen Shaw UNQUALIFIED
Darci B VenereCanadaIoni Bowcher NEGOTIATION
Claire C SergiItalyIvan Magalhaes NEGOTIATION
Greenwood O NestleBrazilAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Kadeem N Caldarera
Emily N Nicka
Wickens T Inouye
Emily V Garufi
Maria H Shinko
Alejandro J Slusarski
Leon T Saylors
Maisha X Chui
Nicolas O Butt
Tony J Paprocki
Silvio K Bowley
Rodrigues E Stenseth
David X Schemmer
Morrow W Malet
Leja Y Stenseth
Maria A Paprocki
James K Bowley
Mujtaba I Butt
Kaitlin R Gaucho
Adams O Royster
Jennifer N Iturbide
Francesco T Albares
Leja L Gaucho
Silvio V Campain
Faith Q Oldroyd
Julie L Rim
Greenwood A Shinko
Cody D Nicka
Mayumi Y Maclead
Faith P Slusarski
Arvin K Vocelka
Jones K Ferencz
Tony Z Ostrosky
Leon R Saylors
Jeanfrancois Z Rim
Misaki E Inouye
Greenwood J Chui
Kaitlin Y Wieser
Cody F Figeroa
Munro E Paprocki
Greenwood M Doe
Ashley Y Chui
Maria P Saylors
Chavez A Marrier
Ashley N Bowley
Mujtaba M Stockham
Cody L Bowley
Leon I Caldarera
Salvatore Z Darakjy
Costa A Briddick
IdCountryDate
1000Australia2024-05-24
1001Brazil2024-06-13
1002Argentina2024-06-02
1003Russia2024-05-26
1004United Kingdom2024-06-12
1005Germany2024-06-04
1006Germany2024-06-16
1007Germany2024-06-10
1008Russia2024-06-13
1009Japan2024-06-17
1010Spain2024-06-05
1011Brazil2024-06-08
1012Russia2024-06-15
1013Russia2024-06-01
1014Russia2024-05-24
1015Brazil2024-05-31
1016Argentina2024-06-01
1017Germany2024-06-18
1018Italy2024-06-20
1019France2024-06-08
1020Japan2024-06-11
1021France2024-06-02
1022Canada2024-05-28
1023United Kingdom2024-06-09
1024Russia2024-06-21
1025United Kingdom2024-05-26
1026Russia2024-06-05
1027France2024-06-07
1028Japan2024-06-03
1029India2024-06-07
1030Russia2024-06-13
1031France2024-06-06
1032France2024-06-12
1033Australia2024-06-08
1034Argentina2024-05-26
1035India2024-06-04
1036India2024-05-31
1037United Kingdom2024-05-23
1038Spain2024-06-14
1039France2024-06-12
1040Argentina2024-06-12
1041Germany2024-06-18
1042Argentina2024-05-31
1043Japan2024-06-15
1044Japan2024-06-04
1045Australia2024-06-05
1046Italy2024-06-19
1047Japan2024-06-03
1048Brazil2024-05-27
1049France2024-05-24

On-Demand Data

NameIdCountryDate
Adams K Maclead1000Australia2024-05-31
Leon G Stenseth1001United Kingdom2024-06-01
Francesco J Poquette1002Australia2024-05-30
David Y Dilliard1003United Kingdom2024-06-21
Rodrigues V Schemmer1004Italy2024-05-26
Claire K Nicka1005United Kingdom2024-06-01
Jones F Albares1006Germany2024-06-16
Tony F Nicka1007France2024-06-19
Julie M Amigon1008Canada2024-06-11
Nicolas B Figeroa1009United Kingdom2024-05-26
Leon L Rulapaugh1010Germany2024-06-01
Silvio Z Gillian1011Italy2024-05-28
Emily N Inouye1012Japan2024-06-07
Antonio H Ferencz1013Argentina2024-05-27
Sinclair E Rim1014United Kingdom2024-06-02
Mujtaba K Rulapaugh1015Argentina2024-06-09
Jeanfrancois R Caudy1016Brazil2024-06-05
Deepesh M Shinko1017Australia2024-06-04
Wickens E Venere1018Germany2024-05-26
Leon B Vocelka1019Italy2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria N WieserCanadaStephen Shaw NEGOTIATION
Francesco V WieserAustraliaStephen Shaw QUALIFIED
Maria Q NickaItalyAsiya Javayant RENEWAL
Alejandro Q MarrierCanadaAsiya Javayant PROPOSAL
Salvatore U RimRussiaIoni Bowcher NEW
Rodrigues V VenereIndiaAnna Fali RENEWAL
Munro H RimIndiaIoni Bowcher RENEWAL
Aruna Y MorascaFranceAnna Fali QUALIFIED
Alejandro T SchemmerSpainBernardo Dominic NEW
Arvin I GillianSpainAsiya Javayant NEW
Greenwood H ShinkoAustraliaIoni Bowcher NEW
Rodrigues R ChuiSpainStephen Shaw UNQUALIFIED
Ricardo O CaudyRussiaXuxue Feng QUALIFIED
Stacey G SchemmerIndiaIvan Magalhaes NEGOTIATION
Sinclair C MaletSpainAmy Elsner NEW
Francesco E GlickRussiaStephen Shaw NEW
Chavez T AlbaresSpainXuxue Feng NEW
Juan H WieserBrazilIoni Bowcher QUALIFIED
Silvio P RoysterUnited KingdomXuxue Feng UNQUALIFIED
Silvio F FigeroaJapanOnyama Limba PROPOSAL
Jefferson J StensethRussiaAnna Fali PROPOSAL
Johnson I DilliardBrazilOnyama Limba UNQUALIFIED
Aruna F CampainCanadaOnyama Limba QUALIFIED
Ivar U SergiAustraliaAnna Fali QUALIFIED
Leja Q InouyeSpainAmy Elsner PROPOSAL
Sinclair Y RulapaughAustraliaOnyama Limba NEW
Mujtaba E CaldareraRussiaElwin Sharvill PROPOSAL
Maria M MaletJapanAnna Fali UNQUALIFIED
Faith L MaletSpainAsiya Javayant QUALIFIED
Costa F VenereFranceElwin Sharvill NEGOTIATION
Adams H RulapaughRussiaAnna Fali UNQUALIFIED
Aruna X ButtAustraliaIvan Magalhaes NEW
Alejandro C RulapaughItalyAnna Fali PROPOSAL
Misaki V GarufiItalyBernardo Dominic RENEWAL
Ashley X GillianBrazilAmy Elsner PROPOSAL
Jeanfrancois R KolmetzItalyXuxue Feng NEW
Isabel M PoquetteAustraliaIoni Bowcher NEW
Silvio L FigeroaBrazilBernardo Dominic PROPOSAL
Francesco V ButtArgentinaStephen Shaw NEGOTIATION
David P MaletArgentinaAsiya Javayant 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>