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
Johnson N PoquetteGermanyAmy Elsner QUALIFIED
Darci R RulapaughCanadaIoni Bowcher UNQUALIFIED
James B WaycottRussiaAmy Elsner QUALIFIED
Mayumi R DilliardItalyAnna Fali NEW
Francesco F PerinArgentinaAsiya Javayant NEW
Faith R CaldareraItalyAsiya Javayant PROPOSAL
Aruna N WieserSpainAmy Elsner NEW
Wickens M DilliardUnited KingdomAsiya Javayant QUALIFIED
Antonio K MaletIndiaAsiya Javayant QUALIFIED
Costa G OldroydCanadaAmy Elsner NEW
Arvin T DarakjyAustraliaOnyama Limba RENEWAL
Darci K MaletCanadaIvan Magalhaes QUALIFIED
Smith P VocelkaUnited KingdomAnna Fali PROPOSAL
Morrow T FigeroaItalyAmy Elsner QUALIFIED
Morrow V MarrierCanadaXuxue Feng QUALIFIED
Murillo O BowleyFranceIoni Bowcher NEGOTIATION
Greenwood N NickaAustraliaBernardo Dominic NEGOTIATION
Izzy D SergiIndiaStephen Shaw PROPOSAL
Clifford B CampainRussiaAmy Elsner RENEWAL
Silvio S MaletIndiaOnyama Limba NEW
Emily E MacleadRussiaAsiya Javayant PROPOSAL
Emily Q BowleyFranceAmy Elsner PROPOSAL
Isabel K BowleyArgentinaElwin Sharvill PROPOSAL
Nicolas U FigeroaSpainXuxue Feng PROPOSAL
Izzy I PaprockiFranceStephen Shaw NEW
Darci W RutaItalyOnyama Limba NEGOTIATION
Octavia L BriddickIndiaAmy Elsner PROPOSAL
Wickens L KolmetzSpainXuxue Feng UNQUALIFIED
Juan I SchemmerFranceOnyama Limba PROPOSAL
Leon W FerenczArgentinaAsiya Javayant QUALIFIED
Aruna W MaletItalyIoni Bowcher RENEWAL
Morrow T IturbideIndiaBernardo Dominic NEGOTIATION
Greenwood Z CaldareraSpainOnyama Limba UNQUALIFIED
Munro C DilliardCanadaElwin Sharvill QUALIFIED
Jennifer T OstroskyUnited KingdomXuxue Feng PROPOSAL
Deepesh I RoysterArgentinaOnyama Limba UNQUALIFIED
Faith B GlickBrazilBernardo Dominic RENEWAL
Adams N RulapaughIndiaAnna Fali UNQUALIFIED
Nicolas U FigeroaFranceAnna Fali QUALIFIED
Alejandro E MorascaRussiaBernardo Dominic UNQUALIFIED
Faith U CaudySpainAsiya Javayant RENEWAL
Leon M BowleyBrazilAsiya Javayant PROPOSAL
Jefferson A SergiSpainAmy Elsner QUALIFIED
Leja N GauchoJapanElwin Sharvill NEGOTIATION
Kaitlin K BriddickFranceAnna Fali NEGOTIATION
Adams U GarufiItalyAnna Fali NEW
Ashley J CaudyBrazilOnyama Limba UNQUALIFIED
Costa A VenereFranceElwin Sharvill NEGOTIATION
Greenwood U RulapaughGermanyStephen Shaw QUALIFIED
Aika S ButtIndiaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa G RutaAustraliaBernardo Dominic PROPOSAL
Misaki E ButtGermanyAnna Fali QUALIFIED
Ashley V StockhamJapanStephen Shaw QUALIFIED
Emily A InouyeArgentinaOnyama Limba NEW
Emily F DilliardAustraliaOnyama Limba NEGOTIATION
Faith K CaldareraIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois F PerinRussiaBernardo Dominic UNQUALIFIED
Francesco W DarakjyFranceXuxue Feng UNQUALIFIED
Chavez P PoquetteRussiaOnyama Limba NEW
Izzy A ChuiGermanyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams O SchemmerGermany2024-06-09Morlong Associates UNQUALIFIED16Ioni Bowcher
1001Maria O GillianIndia2024-06-20Feiner Bros NEGOTIATION62Asiya Javayant
1002Ivar B OldroydAustralia2024-06-13Rangoni Of Florence NEW65Anna Fali
1003Sinclair N SergiSpain2024-06-21Chemel, James L Cpa NEW77Amy Elsner
1004James P BologniaGermany2024-06-18King, Christopher A Esq NEGOTIATION45Onyama Limba
1005Claire J WhobreySpain2024-05-26Buckley Miller Wright NEW91Onyama Limba
1006Salvatore W RulapaughFrance2024-06-10Chapman, Ross E Esq QUALIFIED29Elwin Sharvill
1007Munro S CampainFrance2024-06-05Truhlar And Truhlar Attys UNQUALIFIED98Elwin Sharvill
1008Deepesh W NestleJapan2024-06-15King, Christopher A Esq QUALIFIED87Amy Elsner
1009Cody Z CaldareraFrance2024-06-14Feltz Printing Service NEW42Stephen Shaw
1010Greenwood E ShinkoSpain2024-06-11Chapman, Ross E Esq QUALIFIED87Onyama Limba
1011Misaki J AlbaresUnited Kingdom2024-06-09Feltz Printing Service QUALIFIED58Anna Fali
1012Aruna T SergiIndia2024-06-10Feiner Bros RENEWAL24Onyama Limba
1013Alejandro R GlickBrazil2024-05-27Commercial Press RENEWAL55Ioni Bowcher
1014Deepesh Z RutaJapan2024-06-20Truhlar And Truhlar Attys NEW64Ioni Bowcher
1015Claire I GlickUnited Kingdom2024-06-16Feltz Printing Service UNQUALIFIED33Onyama Limba
1016Darci Z DilliardBrazil2024-05-30Printing Dimensions UNQUALIFIED17Bernardo Dominic
1017Izzy Z GauchoGermany2024-05-30Rousseaux, Michael Esq NEW32Anna Fali
1018Clifford I MaletFrance2024-06-07Feltz Printing Service PROPOSAL48Onyama Limba
1019Jefferson A BriddickArgentina2024-06-24King, Christopher A Esq NEW61Ivan Magalhaes
1020Sinclair O IturbideArgentina2024-06-03Chapman, Ross E Esq UNQUALIFIED43Ivan Magalhaes
1021Wickens B MaletBrazil2024-05-31Truhlar And Truhlar Attys RENEWAL76Elwin Sharvill
1022Jones K FerenczGermany2024-06-08Feltz Printing Service UNQUALIFIED24Bernardo Dominic
1023David Z StensethSpain2024-06-21Rangoni Of Florence QUALIFIED46Stephen Shaw
1024Isabel U ChuiSpain2024-06-21Feiner Bros NEW75Elwin Sharvill
1025Arvin W FollerBrazil2024-06-09Chanay, Jeffrey A Esq NEW47Asiya Javayant
1026Octavia X AmigonJapan2024-06-21Truhlar And Truhlar Attys NEGOTIATION64Bernardo Dominic
1027Julie K VenereArgentina2024-06-16Rousseaux, Michael Esq PROPOSAL39Xuxue Feng
1028Costa Y DarakjyCanada2024-06-19King, Christopher A Esq UNQUALIFIED46Amy Elsner
1029Izzy S BriddickAustralia2024-06-01Printing Dimensions RENEWAL86Stephen Shaw
1030David W WaycottUnited Kingdom2024-06-07Chapman, Ross E Esq NEGOTIATION29Asiya Javayant
1031Leja B VocelkaFrance2024-06-16Buckley Miller Wright NEW11Ioni Bowcher
1032Izzy M AmigonJapan2024-06-23Chapman, Ross E Esq QUALIFIED42Ivan Magalhaes
1033Ivar C WaycottRussia2024-05-27Dorl, James J Esq NEGOTIATION90Ioni Bowcher
1034Izzy A FlosiIndia2024-06-04Rousseaux, Michael Esq RENEWAL30Stephen Shaw
1035Aruna C CaudyJapan2024-06-22Truhlar And Truhlar Attys NEGOTIATION20Asiya Javayant
1036Kaitlin T OldroydGermany2024-06-08Dorl, James J Esq NEW38Ioni Bowcher
1037Darci E GlickBrazil2024-06-12Feltz Printing Service PROPOSAL70Ivan Magalhaes
1038Alejandro E RulapaughJapan2024-06-07Rangoni Of Florence RENEWAL30Onyama Limba
1039Chavez G WieserJapan2024-05-28Benton, John B Jr UNQUALIFIED39Asiya Javayant
1040Greenwood F RutaGermany2024-06-04Feiner Bros UNQUALIFIED57Bernardo Dominic
1041Murillo Y CampainAustralia2024-06-19King, Christopher A Esq NEGOTIATION93Bernardo Dominic
1042Juan M CaldareraIndia2024-06-09Chemel, James L Cpa UNQUALIFIED73Asiya Javayant
1043Jones C GarufiIndia2024-06-22Benton, John B Jr NEGOTIATION10Ioni Bowcher
1044Aditya F MaletArgentina2024-06-24Rousseaux, Michael Esq NEW15Amy Elsner
1045Kadeem B PoquetteFrance2024-06-02Buckley Miller Wright UNQUALIFIED40Onyama Limba
1046Juan H PaprockiAustralia2024-06-06Chemel, James L Cpa NEW42Stephen Shaw
1047Deepesh I SchemmerSpain2024-06-24Rousseaux, Michael Esq UNQUALIFIED91Bernardo Dominic
1048Murillo N MaletRussia2024-06-12Rangoni Of Florence RENEWAL44Elwin Sharvill
1049Aika Z FerenczArgentina2024-06-03King, Christopher A Esq NEW14Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leon O SlusarskiJapanStephen Shaw UNQUALIFIED
Stacey K SchemmerFranceBernardo Dominic NEW
Aika I CaldareraGermanyAmy Elsner NEW
Misaki A RutaJapanStephen Shaw NEGOTIATION
Murillo C WieserUnited KingdomIoni Bowcher NEGOTIATION
Smith J NickaIndiaIvan Magalhaes RENEWAL
Silvio J DarakjyArgentinaStephen Shaw PROPOSAL
Jones U SaylorsIndiaAmy Elsner NEGOTIATION
Isabel Z MorascaArgentinaAnna Fali PROPOSAL
Sinclair L WieserItalyElwin Sharvill UNQUALIFIED
Cody J TollnerFranceStephen Shaw NEW
Jones Z PaprockiRussiaAnna Fali UNQUALIFIED
Ricardo S RoysterRussiaIvan Magalhaes QUALIFIED
Greenwood S NestleRussiaAnna Fali RENEWAL
Jefferson M RutaCanadaStephen Shaw UNQUALIFIED
Kaitlin Y StensethIndiaOnyama Limba RENEWAL
Emily P GauchoJapanAmy Elsner RENEWAL
Jones U ChuiAustraliaBernardo Dominic QUALIFIED
Stacey Y IturbideGermanyElwin Sharvill QUALIFIED
David X DilliardGermanyAsiya Javayant QUALIFIED
Isabel A ButtSpainBernardo Dominic RENEWAL
Cody O BowleyGermanyIvan Magalhaes PROPOSAL
Jefferson Q TollnerFranceIvan Magalhaes UNQUALIFIED
Stacey O SlusarskiArgentinaBernardo Dominic QUALIFIED
Mayumi C NestleCanadaElwin Sharvill PROPOSAL
Jefferson S KuskoItalyIoni Bowcher NEW
Antonio F MaletAustraliaIoni Bowcher NEGOTIATION
David N DoeIndiaIoni Bowcher NEW
Isabel H StockhamCanadaIvan Magalhaes QUALIFIED
David M DilliardIndiaIoni Bowcher PROPOSAL
Murillo Y SlusarskiIndiaOnyama Limba UNQUALIFIED
Jefferson R WhobreyFranceXuxue Feng NEW
David I ChuiBrazilElwin Sharvill PROPOSAL
Murillo B SaylorsGermanyElwin Sharvill NEW
David Y MacleadItalyOnyama Limba PROPOSAL
Claire Z RimArgentinaStephen Shaw NEGOTIATION
Clifford B InouyeJapanIoni Bowcher NEW
Juan X GauchoArgentinaOnyama Limba QUALIFIED
Deepesh F PoquetteIndiaAsiya Javayant RENEWAL
Faith E MorascaGermanyXuxue Feng RENEWAL
Mujtaba N VenereJapanAnna Fali RENEWAL
Julie G FollerAustraliaXuxue Feng NEGOTIATION
Deepesh X StensethRussiaIoni Bowcher RENEWAL
Francesco S VenereFranceIvan Magalhaes UNQUALIFIED
Costa M WhobreyUnited KingdomAsiya Javayant RENEWAL
Salvatore Z VocelkaJapanAmy Elsner RENEWAL
Kaitlin V AmigonCanadaIoni Bowcher UNQUALIFIED
Cody Z PoquetteIndiaAmy Elsner RENEWAL
Sinclair T TollnerBrazilBernardo Dominic NEGOTIATION
Emily D DilliardGermanyAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Costa I Slusarski
Julie J Slusarski
David W Vocelka
Mayumi R Rim
Johnson X Caldarera
Kaitlin D Bowley
Rodrigues F Ruta
Ivar F Malet
Aika Q Campain
Francesco C Gillian
Aditya P Kolmetz
Ivar X Tollner
Maisha O Caudy
Wickens N Briddick
Ricardo Y Marrier
Alejandro Z Poquette
Chavez Y Ruta
Faith M Kusko
Arvin P Maclead
Aika I Chui
Mayumi F Sergi
Salvatore X Darakjy
Misaki Z Garufi
Alejandro C Stenseth
David X Waycott
Mujtaba I Garufi
Silvio J Caldarera
Ricardo V Kolmetz
Mujtaba F Kolmetz
James O Butt
Deepesh X Maclead
James C Bolognia
Aruna F Caldarera
Isabel E Chui
Leon V Maclead
Morrow K Darakjy
Izzy Q Iturbide
Claire H Flosi
Maria R Bowley
Morrow B Slusarski
Murillo C Stenseth
Sinclair Z Flosi
Nicolas R Morasca
Jennifer O Gaucho
Isabel J Garufi
David B Flosi
Nicolas I Caldarera
Claire D Slusarski
Johnson D Saylors
Costa H Venere
IdCountryDate
1000Russia2024-06-20
1001Italy2024-06-07
1002Japan2024-05-31
1003France2024-06-05
1004Spain2024-06-03
1005Argentina2024-06-04
1006United Kingdom2024-05-31
1007France2024-06-11
1008Japan2024-06-22
1009Russia2024-06-08
1010Russia2024-06-04
1011India2024-06-17
1012Canada2024-06-08
1013United Kingdom2024-06-17
1014France2024-06-08
1015Brazil2024-06-06
1016Germany2024-05-30
1017Australia2024-06-01
1018Japan2024-06-03
1019United Kingdom2024-06-01
1020Spain2024-06-04
1021Spain2024-05-27
1022Australia2024-06-20
1023Canada2024-06-05
1024Argentina2024-06-24
1025Spain2024-06-16
1026Russia2024-05-30
1027Spain2024-05-31
1028Italy2024-05-31
1029United Kingdom2024-06-23
1030France2024-06-19
1031Spain2024-06-21
1032India2024-05-31
1033Canada2024-05-29
1034Italy2024-06-02
1035Australia2024-06-12
1036Australia2024-05-27
1037Japan2024-06-09
1038Brazil2024-06-14
1039Russia2024-06-14
1040Brazil2024-06-05
1041Spain2024-06-05
1042Brazil2024-06-24
1043India2024-06-14
1044Germany2024-06-05
1045Brazil2024-06-12
1046Japan2024-05-26
1047Brazil2024-05-30
1048Spain2024-06-23
1049United Kingdom2024-06-13

On-Demand Data

NameIdCountryDate
Jennifer C Sergi1000Germany2024-06-14
Tony F Inouye1001Argentina2024-06-23
Costa V Perin1002Argentina2024-06-10
Aika K Ferencz1003France2024-06-22
Antonio X Morasca1004Japan2024-05-27
Aruna J Malet1005Japan2024-05-30
Leja D Garufi1006Italy2024-06-04
Aruna E Morasca1007Brazil2024-06-24
Kaitlin I Albares1008Italy2024-06-12
Nicolas I Butt1009United Kingdom2024-06-07
Murillo R Morasca1010Australia2024-06-19
Alejandro C Ferencz1011Australia2024-06-01
Octavia F Ruta1012Spain2024-06-15
Stacey G Gaucho1013United Kingdom2024-06-02
Wickens V Caudy1014Brazil2024-06-09
Juan Y Stockham1015Canada2024-06-22
Morrow T Ostrosky1016Spain2024-06-01
Smith R Ostrosky1017France2024-06-06
Leon M Poquette1018Australia2024-05-26
Adams N Paprocki1019India2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci E GauchoItalyAmy Elsner RENEWAL
Greenwood G FollerUnited KingdomOnyama Limba UNQUALIFIED
Johnson K PerinAustraliaStephen Shaw PROPOSAL
Aditya I ShinkoUnited KingdomXuxue Feng NEW
Johnson U OldroydGermanyAmy Elsner PROPOSAL
Maisha Q KolmetzIndiaAsiya Javayant UNQUALIFIED
Ashley N WaycottItalyIvan Magalhaes NEGOTIATION
Salvatore E AmigonArgentinaAnna Fali PROPOSAL
Wickens K SlusarskiSpainIoni Bowcher PROPOSAL
Tony M DoeJapanAmy Elsner UNQUALIFIED
Sinclair Y FollerCanadaAsiya Javayant NEGOTIATION
Darci W CaudyIndiaIoni Bowcher RENEWAL
Antonio M RutaFranceAsiya Javayant UNQUALIFIED
Ivar I VocelkaCanadaBernardo Dominic RENEWAL
Julie K GillianCanadaAsiya Javayant UNQUALIFIED
Octavia U GlickArgentinaStephen Shaw NEGOTIATION
Faith G KuskoUnited KingdomBernardo Dominic NEW
Kadeem M ShinkoGermanyIvan Magalhaes NEW
Adams H FerenczCanadaIvan Magalhaes NEGOTIATION
Munro I GauchoIndiaIvan Magalhaes PROPOSAL
Juan Z WhobreyBrazilIoni Bowcher NEGOTIATION
Cody C DoeGermanyBernardo Dominic RENEWAL
Francesco Z VenereGermanyElwin Sharvill NEGOTIATION
Clifford H ButtSpainAsiya Javayant QUALIFIED
Claire Z RulapaughCanadaElwin Sharvill UNQUALIFIED
Claire G WieserSpainAnna Fali RENEWAL
Jennifer O ShinkoRussiaBernardo Dominic RENEWAL
Ivar V PerinSpainOnyama Limba NEW
Kaitlin A PoquetteGermanyAmy Elsner QUALIFIED
Octavia P RimFranceXuxue Feng RENEWAL
Julie I SchemmerIndiaAsiya Javayant QUALIFIED
Jones S ButtRussiaBernardo Dominic NEW
Cody V VenereFranceBernardo Dominic UNQUALIFIED
Claire Z CampainRussiaAnna Fali PROPOSAL
Aika I MaletBrazilElwin Sharvill PROPOSAL
Isabel D ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Greenwood O OldroydBrazilAnna Fali RENEWAL
Nicolas W RoysterRussiaStephen Shaw UNQUALIFIED
Alejandro E TollnerUnited KingdomIvan Magalhaes PROPOSAL
Juan C FollerAustraliaOnyama Limba 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>