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
Claire T CaldareraRussiaBernardo Dominic UNQUALIFIED
James D FollerSpainAsiya Javayant NEW
Clifford H TollnerFranceAnna Fali QUALIFIED
Munro C SaylorsRussiaIvan Magalhaes RENEWAL
Leja Q NestleAustraliaIvan Magalhaes NEGOTIATION
Munro P BologniaSpainElwin Sharvill PROPOSAL
Salvatore P MacleadFranceBernardo Dominic NEGOTIATION
Maria L KolmetzBrazilBernardo Dominic PROPOSAL
Kadeem F CampainFranceAnna Fali PROPOSAL
Jennifer P NickaRussiaAnna Fali QUALIFIED
Ricardo N FerenczFranceBernardo Dominic QUALIFIED
Silvio R ChuiArgentinaIvan Magalhaes RENEWAL
Wickens K FlosiUnited KingdomIoni Bowcher PROPOSAL
Smith E OstroskyJapanIvan Magalhaes NEW
Ricardo Z ShinkoItalyXuxue Feng NEW
Alejandro U CaldareraGermanyIoni Bowcher RENEWAL
Costa A RutaCanadaOnyama Limba RENEWAL
Cody U InouyeIndiaElwin Sharvill RENEWAL
Alejandro I FerenczSpainAmy Elsner NEGOTIATION
David C KuskoJapanStephen Shaw QUALIFIED
Aditya Q AmigonCanadaAmy Elsner PROPOSAL
Arvin X MorascaCanadaIvan Magalhaes RENEWAL
Arvin O BriddickIndiaIvan Magalhaes RENEWAL
Claire M GarufiSpainXuxue Feng UNQUALIFIED
Murillo C RulapaughBrazilIoni Bowcher NEW
Smith L WaycottAustraliaElwin Sharvill RENEWAL
Aika E MaletJapanBernardo Dominic QUALIFIED
Octavia I PaprockiBrazilIvan Magalhaes QUALIFIED
Murillo P StensethSpainIvan Magalhaes NEGOTIATION
Izzy J BriddickFranceOnyama Limba QUALIFIED
Francesco O ShinkoCanadaAsiya Javayant UNQUALIFIED
Ivar Y SchemmerRussiaXuxue Feng NEW
Ashley G StensethUnited KingdomAnna Fali NEW
Darci E FollerGermanyOnyama Limba UNQUALIFIED
Cody C VenereRussiaAsiya Javayant UNQUALIFIED
Julie A FerenczAustraliaAnna Fali QUALIFIED
Kadeem Y VenereCanadaAmy Elsner RENEWAL
Sinclair M FlosiJapanAnna Fali PROPOSAL
Julie J WhobreyBrazilBernardo Dominic RENEWAL
Munro Q TollnerUnited KingdomAnna Fali NEW
Mujtaba C DarakjyGermanyStephen Shaw NEW
Kadeem O RimGermanyIvan Magalhaes QUALIFIED
Tony G SergiUnited KingdomBernardo Dominic NEGOTIATION
Misaki S WieserRussiaBernardo Dominic PROPOSAL
Misaki D GauchoGermanyStephen Shaw RENEWAL
Aika J CaldareraIndiaIvan Magalhaes NEW
Cody R InouyeSpainIvan Magalhaes QUALIFIED
Munro Z AlbaresItalyOnyama Limba NEW
Greenwood F WaycottArgentinaIvan Magalhaes PROPOSAL
Octavia E InouyeCanadaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez L DilliardRussiaIoni Bowcher UNQUALIFIED
Misaki K TollnerCanadaAsiya Javayant PROPOSAL
Wickens T RimFranceAsiya Javayant NEGOTIATION
Jones J VocelkaAustraliaStephen Shaw UNQUALIFIED
Mujtaba Y MaletItalyOnyama Limba RENEWAL
Alejandro K CampainIndiaElwin Sharvill QUALIFIED
Jeanfrancois Y OstroskyUnited KingdomIoni Bowcher QUALIFIED
Aruna J FlosiAustraliaIoni Bowcher PROPOSAL
Francesco B CaldareraArgentinaStephen Shaw QUALIFIED
Clifford I WhobreyJapanAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones C BriddickSpain2024-06-11Buckley Miller Wright QUALIFIED29Stephen Shaw
1001Faith V RutaGermany2024-06-01Commercial Press UNQUALIFIED24Anna Fali
1002David G PoquetteGermany2024-06-18Chanay, Jeffrey A Esq NEGOTIATION7Anna Fali
1003Faith P SergiArgentina2024-06-16Rangoni Of Florence UNQUALIFIED33Asiya Javayant
1004Claire A BowleySpain2024-06-05Printing Dimensions NEW19Anna Fali
1005Greenwood I BriddickGermany2024-06-16Chemel, James L Cpa UNQUALIFIED84Elwin Sharvill
1006Isabel V VocelkaJapan2024-05-28Chapman, Ross E Esq UNQUALIFIED21Bernardo Dominic
1007Ricardo Z IturbideIndia2024-06-18Commercial Press QUALIFIED25Ioni Bowcher
1008Rodrigues G OldroydGermany2024-05-28King, Christopher A Esq PROPOSAL2Ivan Magalhaes
1009Leon S DarakjyAustralia2024-06-01Rousseaux, Michael Esq RENEWAL42Xuxue Feng
1010David N IturbideItaly2024-06-21Dorl, James J Esq NEW73Ioni Bowcher
1011Costa U PaprockiUnited Kingdom2024-06-19Commercial Press QUALIFIED78Anna Fali
1012Ricardo C SchemmerAustralia2024-06-14Dorl, James J Esq QUALIFIED97Onyama Limba
1013Chavez V RoysterFrance2024-06-03King, Christopher A Esq NEW98Onyama Limba
1014Mujtaba T NestleCanada2024-05-31Commercial Press NEGOTIATION22Asiya Javayant
1015Leja K OstroskyJapan2024-06-10Chanay, Jeffrey A Esq QUALIFIED28Amy Elsner
1016Clifford Q FlosiUnited Kingdom2024-06-03Feiner Bros QUALIFIED90Ioni Bowcher
1017Adams I RutaItaly2024-06-10Commercial Press QUALIFIED30Xuxue Feng
1018Ricardo F MaletBrazil2024-06-21Rangoni Of Florence RENEWAL62Elwin Sharvill
1019Izzy G BriddickAustralia2024-05-25Chemel, James L Cpa PROPOSAL74Ioni Bowcher
1020Aika L AmigonJapan2024-05-24Morlong Associates NEW97Ivan Magalhaes
1021Jeanfrancois H FlosiGermany2024-06-19Chanay, Jeffrey A Esq RENEWAL27Stephen Shaw
1022Octavia M ShinkoFrance2024-06-20Rousseaux, Michael Esq NEW95Amy Elsner
1023Greenwood H VenereUnited Kingdom2024-06-04Chapman, Ross E Esq QUALIFIED70Ivan Magalhaes
1024Jennifer E MarrierCanada2024-06-03Feiner Bros NEGOTIATION96Elwin Sharvill
1025Claire T KolmetzArgentina2024-06-14Feltz Printing Service UNQUALIFIED93Ivan Magalhaes
1026Jeanfrancois W BologniaItaly2024-06-09Chemel, James L Cpa PROPOSAL70Ivan Magalhaes
1027Tony T WieserAustralia2024-06-16Buckley Miller Wright NEGOTIATION35Elwin Sharvill
1028Julie E WieserRussia2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED80Ioni Bowcher
1029Stacey D InouyeItaly2024-06-19Chanay, Jeffrey A Esq PROPOSAL19Xuxue Feng
1030Leja O GlickSpain2024-05-25Dorl, James J Esq PROPOSAL15Anna Fali
1031Tony S MaletArgentina2024-05-29Truhlar And Truhlar Attys NEW69Ivan Magalhaes
1032Munro U MarrierBrazil2024-06-13Buckley Miller Wright UNQUALIFIED4Onyama Limba
1033Maisha C CampainCanada2024-06-14Morlong Associates RENEWAL85Onyama Limba
1034Mujtaba E RulapaughJapan2024-06-17Feiner Bros PROPOSAL81Xuxue Feng
1035Tony N FigeroaArgentina2024-06-11Buckley Miller Wright QUALIFIED69Asiya Javayant
1036Mujtaba L RoysterCanada2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED66Stephen Shaw
1037Silvio U VenereFrance2024-05-24Chemel, James L Cpa NEW97Asiya Javayant
1038Ricardo B AlbaresRussia2024-05-30Printing Dimensions NEW22Anna Fali
1039Octavia N RulapaughBrazil2024-06-01Buckley Miller Wright RENEWAL3Onyama Limba
1040Isabel C DilliardCanada2024-05-27Chemel, James L Cpa RENEWAL50Onyama Limba
1041Nicolas R AlbaresItaly2024-06-17Commercial Press NEGOTIATION58Amy Elsner
1042Murillo O FigeroaSpain2024-06-13Benton, John B Jr PROPOSAL36Bernardo Dominic
1043Murillo U DilliardJapan2024-05-28Rousseaux, Michael Esq RENEWAL93Anna Fali
1044Clifford H OstroskyCanada2024-06-13Buckley Miller Wright QUALIFIED71Bernardo Dominic
1045Tony B WaycottAustralia2024-06-14Truhlar And Truhlar Attys QUALIFIED52Amy Elsner
1046Salvatore J WhobreySpain2024-05-28Rangoni Of Florence QUALIFIED44Bernardo Dominic
1047Ricardo M AlbaresRussia2024-06-04Morlong Associates QUALIFIED1Amy Elsner
1048Isabel Z BologniaArgentina2024-06-11Feiner Bros QUALIFIED40Onyama Limba
1049Claire E ChuiRussia2024-05-31Feiner Bros UNQUALIFIED96Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Francesco N GillianUnited KingdomStephen Shaw PROPOSAL
Morrow F CampainUnited KingdomStephen Shaw NEGOTIATION
Munro Q BriddickCanadaIvan Magalhaes RENEWAL
Salvatore G RulapaughIndiaIvan Magalhaes UNQUALIFIED
Ashley S RulapaughJapanStephen Shaw RENEWAL
Cody E SlusarskiBrazilBernardo Dominic QUALIFIED
James D InouyeIndiaStephen Shaw RENEWAL
Jennifer Z StockhamFranceElwin Sharvill NEW
Morrow J BologniaIndiaBernardo Dominic RENEWAL
Rodrigues G ButtGermanyOnyama Limba QUALIFIED
Ivar O InouyeBrazilStephen Shaw QUALIFIED
Clifford P InouyeUnited KingdomIoni Bowcher PROPOSAL
Nicolas V BologniaUnited KingdomBernardo Dominic QUALIFIED
Aruna B OstroskyUnited KingdomAnna Fali RENEWAL
Deepesh V TollnerBrazilStephen Shaw PROPOSAL
Ivar W GarufiCanadaOnyama Limba RENEWAL
Isabel C PoquetteAustraliaAsiya Javayant NEGOTIATION
Ashley O MorascaIndiaStephen Shaw NEGOTIATION
Tony A GlickAustraliaAnna Fali PROPOSAL
Mujtaba X SaylorsItalyOnyama Limba RENEWAL
Emily L WieserGermanyOnyama Limba QUALIFIED
Costa R VocelkaItalyAmy Elsner NEGOTIATION
Mayumi Z RulapaughRussiaIvan Magalhaes RENEWAL
Leja R WaycottSpainAsiya Javayant NEW
Clifford G CaldareraUnited KingdomAnna Fali RENEWAL
Smith E RoysterRussiaBernardo Dominic NEW
Francesco U FlosiItalyAsiya Javayant NEGOTIATION
Johnson D NickaFranceIoni Bowcher UNQUALIFIED
Cody U SlusarskiAustraliaAsiya Javayant RENEWAL
Izzy O KolmetzGermanyAsiya Javayant QUALIFIED
Clifford G GauchoGermanyElwin Sharvill NEGOTIATION
Arvin L OldroydItalyIoni Bowcher RENEWAL
Leja J KuskoIndiaStephen Shaw RENEWAL
Kaitlin E OstroskyItalyIoni Bowcher NEGOTIATION
Wickens J MarrierFranceIvan Magalhaes UNQUALIFIED
Faith K NickaBrazilAnna Fali UNQUALIFIED
Jennifer W CaudyRussiaAmy Elsner UNQUALIFIED
Costa K MorascaItalyAnna Fali RENEWAL
Murillo J RoysterCanadaIvan Magalhaes PROPOSAL
Mujtaba S GauchoFranceXuxue Feng QUALIFIED
Rodrigues C ChuiJapanStephen Shaw NEGOTIATION
Faith Q GillianIndiaOnyama Limba NEGOTIATION
Clifford O SlusarskiAustraliaXuxue Feng NEGOTIATION
Kaitlin M PaprockiItalyAnna Fali UNQUALIFIED
Stacey W AlbaresIndiaAmy Elsner RENEWAL
Chavez K PerinCanadaAmy Elsner QUALIFIED
Izzy S NickaFranceAmy Elsner NEW
Kaitlin I DilliardUnited KingdomStephen Shaw PROPOSAL
Aika W TollnerArgentinaAsiya Javayant UNQUALIFIED
Mujtaba I RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Frozen Columns
Name
Juan X Caudy
James D Inouye
Jefferson V Paprocki
James B Gillian
Tony V Slusarski
Julie C Inouye
Alejandro K Rim
Misaki F Poquette
Jones P Rulapaugh
Wickens E Paprocki
Antonio O Stockham
Leja R Chui
Maria O Paprocki
Leon C Nicka
Salvatore L Royster
Johnson X Albares
Jones W Venere
Juan V Sergi
Adams X Rim
Izzy M Malet
James Q Morasca
Jennifer G Stockham
Ivar Y Poquette
Jefferson D Maclead
Alejandro E Shinko
Murillo L Royster
Faith F Paprocki
Ricardo G Amigon
Maria D Schemmer
Cody S Kolmetz
Jefferson V Bolognia
Kadeem P Rulapaugh
Murillo Y Bowley
Murillo V Bolognia
Francesco X Briddick
Misaki P Waycott
Morrow Z Rim
Juan I Poquette
Alejandro Q Wieser
Mayumi Q Royster
Isabel J Bowley
Julie V Iturbide
Maria T Foller
Murillo R Maclead
Smith C Morasca
Izzy D Caldarera
Nicolas V Royster
Munro N Foller
Nicolas B Wieser
Arvin J Shinko
IdCountryDate
1000United Kingdom2024-05-27
1001Canada2024-06-03
1002Japan2024-06-02
1003Germany2024-05-25
1004Brazil2024-05-26
1005Russia2024-06-18
1006Russia2024-05-24
1007Italy2024-06-02
1008Japan2024-05-30
1009India2024-06-02
1010Australia2024-06-21
1011United Kingdom2024-06-15
1012India2024-06-05
1013Germany2024-06-03
1014Spain2024-06-01
1015Australia2024-06-13
1016Italy2024-06-14
1017Germany2024-06-21
1018United Kingdom2024-06-05
1019United Kingdom2024-06-20
1020Russia2024-06-21
1021Russia2024-06-04
1022France2024-05-24
1023Russia2024-06-11
1024Australia2024-06-17
1025Germany2024-05-28
1026Brazil2024-06-16
1027Spain2024-05-27
1028Spain2024-06-14
1029Canada2024-05-30
1030Argentina2024-06-10
1031Russia2024-06-10
1032Russia2024-05-25
1033Canada2024-06-10
1034Germany2024-06-04
1035Japan2024-05-24
1036France2024-05-28
1037Japan2024-05-23
1038Brazil2024-05-29
1039Spain2024-05-31
1040Australia2024-05-23
1041Brazil2024-06-02
1042Italy2024-06-03
1043Spain2024-05-29
1044Germany2024-05-25
1045Japan2024-06-17
1046India2024-06-08
1047Japan2024-06-09
1048Italy2024-06-07
1049Italy2024-06-11

On-Demand Data

NameIdCountryDate
Jefferson L Tollner1000Australia2024-06-02
Salvatore Z Gillian1001India2024-05-30
Greenwood M Saylors1002Spain2024-06-10
Leon C Waycott1003Japan2024-05-29
Sinclair C Whobrey1004Italy2024-06-04
Cody M Bowley1005Spain2024-06-10
Claire N Butt1006Spain2024-06-12
Izzy D Campain1007Italy2024-06-10
Misaki N Malet1008Italy2024-05-23
Maisha S Flosi1009Germany2024-05-27
Emily M Ferencz1010United Kingdom2024-05-25
Juan B Malet1011France2024-06-10
Darci K Gaucho1012Canada2024-05-27
Leja R Gillian1013Japan2024-06-08
Kaitlin Q Garufi1014Australia2024-06-03
Jeanfrancois U Waycott1015India2024-05-31
David J Gillian1016Spain2024-06-07
Jefferson W Malet1017Germany2024-06-18
Julie G Marrier1018Spain2024-06-10
Maisha E Wieser1019Brazil2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi D NestleSpainIoni Bowcher NEGOTIATION
Leon Q KolmetzItalyXuxue Feng PROPOSAL
Aika I WaycottBrazilOnyama Limba PROPOSAL
Morrow K ShinkoCanadaStephen Shaw RENEWAL
Mayumi A WaycottFranceAnna Fali UNQUALIFIED
Antonio M AmigonUnited KingdomXuxue Feng UNQUALIFIED
Faith X SlusarskiGermanyXuxue Feng NEW
Faith A AlbaresItalyAnna Fali UNQUALIFIED
Aditya Q PaprockiJapanAmy Elsner QUALIFIED
Arvin P AmigonJapanAnna Fali UNQUALIFIED
Octavia V IturbideBrazilAsiya Javayant NEW
Wickens K InouyeJapanAnna Fali QUALIFIED
Ashley P SlusarskiBrazilAmy Elsner PROPOSAL
Salvatore P WaycottGermanyOnyama Limba UNQUALIFIED
Aditya O MaletCanadaStephen Shaw QUALIFIED
James J SaylorsJapanOnyama Limba NEW
Isabel L InouyeFranceIoni Bowcher NEGOTIATION
Francesco F WieserArgentinaStephen Shaw NEW
Munro I MaletArgentinaStephen Shaw UNQUALIFIED
Izzy Q InouyeAustraliaIoni Bowcher UNQUALIFIED
Izzy R StockhamJapanXuxue Feng RENEWAL
Adams I AmigonSpainAmy Elsner UNQUALIFIED
Claire Q TollnerAustraliaXuxue Feng NEGOTIATION
Morrow V DarakjyItalyElwin Sharvill UNQUALIFIED
Salvatore C TollnerFranceIvan Magalhaes RENEWAL
Antonio W WaycottGermanyOnyama Limba PROPOSAL
Nicolas M SergiRussiaAsiya Javayant NEW
Jennifer D MaletFranceIoni Bowcher PROPOSAL
Leon S FlosiFranceAnna Fali NEGOTIATION
Aika M SergiGermanyXuxue Feng NEW
Jennifer K DoeUnited KingdomBernardo Dominic NEGOTIATION
Sinclair G OldroydBrazilElwin Sharvill QUALIFIED
Adams U CampainCanadaXuxue Feng UNQUALIFIED
Leja S CaudyIndiaBernardo Dominic UNQUALIFIED
Ivar P FerenczFranceBernardo Dominic UNQUALIFIED
Claire P InouyeGermanyIoni Bowcher NEW
Izzy S GlickBrazilAnna Fali QUALIFIED
Antonio S WhobreyIndiaAsiya Javayant QUALIFIED
Juan A RutaItalyAmy Elsner QUALIFIED
Claire D FigeroaFranceIvan Magalhaes PROPOSAL

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