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
Leja A CaudyJapanStephen Shaw NEGOTIATION
Adams K SlusarskiGermanyStephen Shaw QUALIFIED
Costa B DarakjyFranceElwin Sharvill PROPOSAL
Emily U ShinkoArgentinaAnna Fali PROPOSAL
Jennifer E NickaJapanAmy Elsner QUALIFIED
Mayumi F CampainUnited KingdomStephen Shaw UNQUALIFIED
Morrow W PerinFranceIoni Bowcher QUALIFIED
Arvin E GarufiArgentinaAnna Fali QUALIFIED
Stacey W NestleBrazilAnna Fali PROPOSAL
Morrow Q CampainJapanStephen Shaw PROPOSAL
Maria D ChuiGermanyAmy Elsner NEGOTIATION
Kadeem C CaudyItalyIoni Bowcher NEW
Emily Y MorascaCanadaBernardo Dominic UNQUALIFIED
Costa T VocelkaSpainIvan Magalhaes QUALIFIED
Arvin S DilliardIndiaAnna Fali NEW
Johnson U NestleArgentinaElwin Sharvill NEW
Morrow U StockhamGermanyElwin Sharvill UNQUALIFIED
Aruna L AlbaresFranceAnna Fali RENEWAL
Ashley B MarrierGermanyIoni Bowcher PROPOSAL
Jeanfrancois J TollnerCanadaAmy Elsner RENEWAL
Costa Y WaycottUnited KingdomAnna Fali QUALIFIED
Ashley T DilliardBrazilIvan Magalhaes QUALIFIED
Cody I GarufiFranceAnna Fali PROPOSAL
Octavia O PerinCanadaIvan Magalhaes NEW
Rodrigues R CaldareraIndiaIvan Magalhaes RENEWAL
Maria J MacleadAustraliaElwin Sharvill NEW
Kadeem D ChuiFranceAmy Elsner NEW
Smith S PaprockiUnited KingdomAnna Fali NEW
Mujtaba I CaudyAustraliaElwin Sharvill NEW
Leja C ShinkoSpainIoni Bowcher NEGOTIATION
Julie J RoysterFranceAnna Fali PROPOSAL
Deepesh D GlickItalyElwin Sharvill UNQUALIFIED
Jennifer A FerenczItalyAmy Elsner UNQUALIFIED
Izzy Q DilliardAustraliaAnna Fali RENEWAL
Jefferson Q MacleadFranceAmy Elsner UNQUALIFIED
Chavez T BriddickAustraliaBernardo Dominic PROPOSAL
Kadeem B ChuiBrazilAsiya Javayant QUALIFIED
Adams B CaudyItalyAmy Elsner NEGOTIATION
Maria J CaldareraIndiaAnna Fali QUALIFIED
Aika U KuskoBrazilAmy Elsner NEGOTIATION
Claire E FerenczGermanyStephen Shaw PROPOSAL
Aika G FigeroaItalyAmy Elsner RENEWAL
Jeanfrancois D SaylorsUnited KingdomAnna Fali UNQUALIFIED
Francesco B VenereBrazilIoni Bowcher QUALIFIED
Isabel O VenereBrazilStephen Shaw NEGOTIATION
Aika K ButtSpainAsiya Javayant RENEWAL
Alejandro O RoysterAustraliaAmy Elsner QUALIFIED
Sinclair F RutaIndiaXuxue Feng PROPOSAL
Jeanfrancois X GillianFranceIvan Magalhaes NEW
James T FollerAustraliaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith M ChuiSpainBernardo Dominic NEGOTIATION
Aruna V NestleIndiaBernardo Dominic UNQUALIFIED
Greenwood D FlosiArgentinaAnna Fali QUALIFIED
Adams O MorascaRussiaElwin Sharvill RENEWAL
Deepesh D KuskoCanadaOnyama Limba QUALIFIED
Alejandro B FerenczIndiaXuxue Feng QUALIFIED
Arvin M DoeBrazilElwin Sharvill QUALIFIED
Jones W WhobreyBrazilAsiya Javayant PROPOSAL
Kaitlin C NickaBrazilAsiya Javayant PROPOSAL
Maisha M MaletGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair A WaycottJapan2024-06-05Feiner Bros QUALIFIED13Anna Fali
1001Rodrigues J DoeCanada2024-06-11Chapman, Ross E Esq PROPOSAL66Stephen Shaw
1002Kaitlin S GauchoCanada2024-06-17Feiner Bros QUALIFIED3Ioni Bowcher
1003Jones Y PoquetteJapan2024-06-02King, Christopher A Esq RENEWAL55Bernardo Dominic
1004Morrow T ChuiGermany2024-06-09Commercial Press QUALIFIED13Ioni Bowcher
1005Isabel O NestleSpain2024-05-26Feltz Printing Service UNQUALIFIED44Stephen Shaw
1006Octavia A GlickFrance2024-06-02Commercial Press NEGOTIATION14Ioni Bowcher
1007Tony E BowleyCanada2024-06-02Commercial Press NEW28Ioni Bowcher
1008Ricardo E RimFrance2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED62Bernardo Dominic
1009Rodrigues C MaletSpain2024-06-07King, Christopher A Esq QUALIFIED80Xuxue Feng
1010Morrow X BowleyItaly2024-06-20King, Christopher A Esq NEGOTIATION48Bernardo Dominic
1011Kadeem T BowleyCanada2024-06-06Feiner Bros RENEWAL2Bernardo Dominic
1012Chavez N KuskoBrazil2024-06-03Morlong Associates NEW20Stephen Shaw
1013Stacey S BologniaAustralia2024-06-08Truhlar And Truhlar Attys NEGOTIATION69Elwin Sharvill
1014Adams H NickaBrazil2024-06-18Chanay, Jeffrey A Esq PROPOSAL42Anna Fali
1015Octavia P KuskoUnited Kingdom2024-06-22Feiner Bros NEGOTIATION31Xuxue Feng
1016Johnson V RoysterCanada2024-06-20Feiner Bros UNQUALIFIED36Stephen Shaw
1017Rodrigues C StensethUnited Kingdom2024-06-02Feltz Printing Service RENEWAL0Elwin Sharvill
1018Jennifer N KuskoBrazil2024-06-16Chemel, James L Cpa UNQUALIFIED74Stephen Shaw
1019Costa G SchemmerCanada2024-06-10Rousseaux, Michael Esq UNQUALIFIED18Ioni Bowcher
1020Mujtaba V PoquetteItaly2024-06-11Dorl, James J Esq NEW8Xuxue Feng
1021Salvatore J ShinkoRussia2024-06-09Benton, John B Jr RENEWAL57Elwin Sharvill
1022Stacey Y MaletGermany2024-06-05Chemel, James L Cpa QUALIFIED78Ivan Magalhaes
1023Clifford D ChuiAustralia2024-06-18Rangoni Of Florence QUALIFIED39Ivan Magalhaes
1024Clifford V CaudyItaly2024-06-14Feltz Printing Service PROPOSAL31Elwin Sharvill
1025Leon F WhobreyFrance2024-05-30Chapman, Ross E Esq NEGOTIATION94Elwin Sharvill
1026Jennifer S RutaBrazil2024-06-09Printing Dimensions NEW36Bernardo Dominic
1027Rodrigues R OstroskyBrazil2024-06-13Truhlar And Truhlar Attys NEW48Amy Elsner
1028Faith B SlusarskiJapan2024-06-05Dorl, James J Esq QUALIFIED61Amy Elsner
1029Alejandro Q SchemmerIndia2024-06-23King, Christopher A Esq RENEWAL33Onyama Limba
1030Izzy V SaylorsSpain2024-06-20Chapman, Ross E Esq NEGOTIATION28Onyama Limba
1031Greenwood I PoquetteJapan2024-06-12Morlong Associates UNQUALIFIED64Ivan Magalhaes
1032Leon L GauchoCanada2024-06-23Rousseaux, Michael Esq NEW7Asiya Javayant
1033Ashley M FigeroaGermany2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED91Ioni Bowcher
1034Antonio S FollerUnited Kingdom2024-05-28Chemel, James L Cpa UNQUALIFIED20Bernardo Dominic
1035Emily Q GauchoBrazil2024-06-13Printing Dimensions PROPOSAL17Asiya Javayant
1036Silvio W DoeJapan2024-05-29Commercial Press UNQUALIFIED59Xuxue Feng
1037Darci N MacleadUnited Kingdom2024-06-09Commercial Press PROPOSAL39Stephen Shaw
1038Maria J DarakjyRussia2024-06-20Chanay, Jeffrey A Esq PROPOSAL23Anna Fali
1039Maisha A WieserBrazil2024-06-10Chanay, Jeffrey A Esq NEW77Bernardo Dominic
1040Leja D FlosiArgentina2024-06-18Buckley Miller Wright NEGOTIATION30Ioni Bowcher
1041Faith B GauchoBrazil2024-06-22Morlong Associates UNQUALIFIED86Ivan Magalhaes
1042Clifford O BriddickCanada2024-06-19Rangoni Of Florence UNQUALIFIED89Amy Elsner
1043Jefferson T DilliardArgentina2024-06-16Morlong Associates PROPOSAL20Asiya Javayant
1044Emily O InouyeFrance2024-06-17Morlong Associates UNQUALIFIED22Anna Fali
1045Mayumi G VenereItaly2024-06-23Chanay, Jeffrey A Esq RENEWAL92Ivan Magalhaes
1046Octavia I RulapaughBrazil2024-06-10Chanay, Jeffrey A Esq PROPOSAL14Xuxue Feng
1047Kadeem P WaycottFrance2024-06-12Chapman, Ross E Esq QUALIFIED94Ioni Bowcher
1048Sinclair B TollnerArgentina2024-06-09Chanay, Jeffrey A Esq NEGOTIATION85Amy Elsner
1049Kaitlin T PerinGermany2024-05-26Feltz Printing Service PROPOSAL28Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Tony R RoysterGermanyBernardo Dominic NEGOTIATION
Greenwood S SaylorsAustraliaIoni Bowcher NEW
Ashley L KolmetzAustraliaOnyama Limba NEW
Leon S GauchoCanadaXuxue Feng RENEWAL
Stacey V RutaCanadaBernardo Dominic UNQUALIFIED
Aditya U DoeUnited KingdomElwin Sharvill NEW
Aika Q WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Emily U VenereUnited KingdomIoni Bowcher QUALIFIED
Isabel H StockhamArgentinaIvan Magalhaes RENEWAL
Emily C FlosiRussiaAmy Elsner NEW
Jeanfrancois D RulapaughFranceAmy Elsner PROPOSAL
Cody A KolmetzBrazilAnna Fali NEW
Adams G OstroskyRussiaAsiya Javayant PROPOSAL
Jeanfrancois D SergiAustraliaOnyama Limba RENEWAL
Ivar O FlosiIndiaAmy Elsner NEW
Jennifer V WieserFranceIvan Magalhaes PROPOSAL
Costa L BowleyUnited KingdomOnyama Limba NEGOTIATION
Murillo T ButtSpainAmy Elsner RENEWAL
Aruna D VenereBrazilStephen Shaw UNQUALIFIED
Faith M DoeBrazilAnna Fali PROPOSAL
Juan Z MorascaIndiaStephen Shaw UNQUALIFIED
Arvin M RimUnited KingdomAmy Elsner NEGOTIATION
Salvatore V RoysterFranceIvan Magalhaes NEGOTIATION
Izzy X OstroskyJapanIvan Magalhaes NEW
Jefferson S FigeroaJapanAmy Elsner UNQUALIFIED
Isabel Q KolmetzGermanyIvan Magalhaes NEW
Aruna O MarrierArgentinaIoni Bowcher RENEWAL
James E FlosiItalyXuxue Feng UNQUALIFIED
Aditya B KolmetzArgentinaElwin Sharvill NEW
Stacey Y CaldareraArgentinaAsiya Javayant PROPOSAL
Isabel N SaylorsIndiaIoni Bowcher NEGOTIATION
Izzy N ButtJapanOnyama Limba PROPOSAL
Tony F SaylorsCanadaBernardo Dominic UNQUALIFIED
Clifford X OldroydBrazilIoni Bowcher NEGOTIATION
Tony L CampainAustraliaXuxue Feng UNQUALIFIED
Jefferson T TollnerUnited KingdomOnyama Limba UNQUALIFIED
Nicolas D WaycottUnited KingdomAsiya Javayant PROPOSAL
Salvatore G RimJapanBernardo Dominic PROPOSAL
Juan K CaldareraBrazilOnyama Limba UNQUALIFIED
Stacey Y PerinSpainStephen Shaw QUALIFIED
Leon C VocelkaSpainOnyama Limba PROPOSAL
Kaitlin W MacleadFranceOnyama Limba UNQUALIFIED
David W FerenczGermanyIvan Magalhaes NEW
Jones H GarufiIndiaIvan Magalhaes NEW
Arvin N KuskoAustraliaAsiya Javayant NEGOTIATION
Izzy A RulapaughFranceAnna Fali NEW
Nicolas R ChuiCanadaIoni Bowcher RENEWAL
Aika Q BriddickCanadaIvan Magalhaes NEW
Izzy U FlosiArgentinaIvan Magalhaes QUALIFIED
Clifford O StockhamIndiaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Stacey U Schemmer
Antonio W Perin
Faith P Wieser
Ivar N Albares
Costa V Nestle
Maria I Butt
Stacey U Caudy
Cody C Poquette
Morrow H Paprocki
Izzy Y Rulapaugh
Deepesh W Kusko
Izzy N Inouye
Leja V Sergi
Stacey F Slusarski
Jones U Darakjy
Cody J Ruta
Ivar U Paprocki
Ashley Y Maclead
Deepesh Z Saylors
Deepesh C Shinko
Greenwood L Bolognia
Maisha F Bolognia
Misaki J Slusarski
Greenwood O Kusko
Ricardo C Chui
Aruna H Amigon
David E Ruta
Kaitlin X Ostrosky
Claire B Marrier
Ricardo C Darakjy
James B Schemmer
Ivar G Saylors
Rodrigues H Figeroa
James M Flosi
Rodrigues D Rim
Munro O Dilliard
Stacey H Vocelka
Rodrigues O Chui
Juan R Caudy
Smith S Glick
Leja V Chui
Antonio H Garufi
Ivar X Flosi
Ricardo D Kusko
Aika G Whobrey
Cody V Ostrosky
Deepesh O Slusarski
Aruna L Stenseth
Mujtaba X Whobrey
Greenwood F Perin
IdCountryDate
1000Australia2024-06-22
1001Japan2024-06-14
1002Germany2024-06-07
1003Argentina2024-06-22
1004Argentina2024-06-10
1005Brazil2024-06-10
1006Canada2024-06-13
1007Argentina2024-05-29
1008Brazil2024-05-27
1009Germany2024-06-04
1010United Kingdom2024-05-27
1011France2024-06-17
1012Australia2024-05-30
1013United Kingdom2024-06-06
1014Germany2024-06-08
1015Canada2024-06-06
1016Australia2024-06-01
1017Spain2024-06-16
1018Germany2024-05-26
1019Argentina2024-06-09
1020Russia2024-06-06
1021Brazil2024-06-01
1022Argentina2024-06-03
1023Australia2024-06-20
1024Japan2024-06-08
1025Spain2024-06-23
1026Brazil2024-06-07
1027Germany2024-06-08
1028Germany2024-05-27
1029India2024-06-01
1030Brazil2024-06-06
1031France2024-06-18
1032France2024-06-19
1033Russia2024-06-20
1034Spain2024-06-23
1035Japan2024-06-18
1036Canada2024-06-18
1037Australia2024-05-28
1038Russia2024-06-04
1039Japan2024-06-16
1040Australia2024-06-01
1041Russia2024-06-20
1042France2024-06-18
1043Spain2024-05-29
1044Italy2024-06-04
1045Spain2024-05-27
1046France2024-06-09
1047United Kingdom2024-06-15
1048Spain2024-06-24
1049Italy2024-06-23

On-Demand Data

NameIdCountryDate
Ivar I Malet1000Germany2024-06-07
Octavia Z Caldarera1001Australia2024-06-23
Darci N Nestle1002Argentina2024-06-18
Ricardo D Marrier1003Germany2024-06-15
Salvatore U Albares1004Spain2024-06-04
Deepesh I Ostrosky1005Italy2024-05-26
Adams F Oldroyd1006Australia2024-06-21
Leja L Vocelka1007Japan2024-06-22
Clifford G Iturbide1008Australia2024-05-31
Misaki A Doe1009Russia2024-06-15
Chavez T Ostrosky1010Russia2024-06-20
Munro D Sergi1011Brazil2024-06-13
Jennifer E Malet1012India2024-06-11
Kadeem X Maclead1013Canada2024-06-12
Emily P Darakjy1014Brazil2024-06-17
Greenwood Y Malet1015Italy2024-06-08
Ricardo N Doe1016Germany2024-06-21
Smith F Kolmetz1017Germany2024-06-14
Smith F Oldroyd1018Australia2024-06-22
Adams Z Bowley1019Brazil2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey G PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Jennifer O WhobreySpainAmy Elsner QUALIFIED
Rodrigues Q StockhamGermanyAsiya Javayant QUALIFIED
Jones A WhobreyJapanElwin Sharvill UNQUALIFIED
Jones E FigeroaArgentinaAsiya Javayant NEGOTIATION
Tony O KolmetzAustraliaAmy Elsner PROPOSAL
David U DoeIndiaXuxue Feng RENEWAL
Tony X KuskoFranceAsiya Javayant NEGOTIATION
Ashley N GlickUnited KingdomXuxue Feng PROPOSAL
Izzy N StockhamAustraliaXuxue Feng PROPOSAL
Costa H SchemmerBrazilIvan Magalhaes PROPOSAL
Maria F MacleadSpainStephen Shaw RENEWAL
Maisha J AlbaresFranceAmy Elsner UNQUALIFIED
Maisha L OldroydUnited KingdomBernardo Dominic PROPOSAL
Smith U MarrierGermanyIvan Magalhaes PROPOSAL
Ivar S FerenczBrazilStephen Shaw PROPOSAL
Ricardo J VenereJapanAnna Fali PROPOSAL
Chavez W InouyeAustraliaOnyama Limba NEW
Jeanfrancois J DilliardUnited KingdomXuxue Feng PROPOSAL
Morrow T GlickRussiaAsiya Javayant QUALIFIED
Kadeem P NickaIndiaAmy Elsner PROPOSAL
Rodrigues C MorascaJapanIvan Magalhaes QUALIFIED
Mujtaba G GarufiIndiaOnyama Limba NEW
Leja L BowleyItalyAmy Elsner UNQUALIFIED
Ivar H AlbaresSpainIvan Magalhaes RENEWAL
Stacey J AmigonGermanyXuxue Feng QUALIFIED
Julie T FollerAustraliaIvan Magalhaes NEW
Francesco A GlickFranceXuxue Feng NEW
Faith E DarakjyArgentinaIvan Magalhaes PROPOSAL
Maria B GlickItalyIvan Magalhaes UNQUALIFIED
Rodrigues A WhobreyGermanyXuxue Feng UNQUALIFIED
Ricardo D GauchoGermanyAmy Elsner PROPOSAL
Costa D KolmetzIndiaStephen Shaw RENEWAL
Aika L CaudyAustraliaOnyama Limba NEW
Misaki L NestleBrazilAnna Fali UNQUALIFIED
Isabel Y GlickAustraliaAsiya Javayant NEW
Francesco G StensethJapanOnyama Limba NEGOTIATION
David B ChuiSpainIoni Bowcher RENEWAL
Alejandro C SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Wickens D RutaFranceAnna Fali 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>