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
Silvio P StockhamUnited KingdomIvan Magalhaes RENEWAL
Stacey A ShinkoBrazilIoni Bowcher UNQUALIFIED
Munro T RulapaughRussiaAsiya Javayant NEGOTIATION
Faith G VocelkaBrazilElwin Sharvill PROPOSAL
Nicolas G NestleUnited KingdomElwin Sharvill RENEWAL
Ricardo P WhobreyIndiaBernardo Dominic RENEWAL
Kadeem C FigeroaAustraliaAsiya Javayant NEGOTIATION
Aruna F TollnerBrazilIoni Bowcher NEW
David S SaylorsAustraliaAmy Elsner UNQUALIFIED
Izzy F MacleadFranceAmy Elsner UNQUALIFIED
Emily T VenereItalyOnyama Limba PROPOSAL
Munro S StensethRussiaAnna Fali UNQUALIFIED
Wickens V WhobreyIndiaIoni Bowcher NEGOTIATION
Salvatore V SlusarskiSpainAmy Elsner QUALIFIED
Ivar K MaletItalyOnyama Limba PROPOSAL
Mujtaba N FlosiIndiaIoni Bowcher NEW
Nicolas Y ButtAustraliaAsiya Javayant NEGOTIATION
Antonio Q GillianAustraliaXuxue Feng QUALIFIED
Alejandro F RutaUnited KingdomOnyama Limba RENEWAL
Cody J GarufiArgentinaXuxue Feng UNQUALIFIED
Silvio C NestleItalyXuxue Feng RENEWAL
Clifford X GarufiFranceStephen Shaw PROPOSAL
Wickens H VenereAustraliaIvan Magalhaes RENEWAL
Chavez D WaycottBrazilStephen Shaw NEW
Clifford I WhobreyGermanyXuxue Feng RENEWAL
Ricardo R KolmetzGermanyAnna Fali PROPOSAL
Silvio V DilliardFranceAnna Fali QUALIFIED
Sinclair V SlusarskiIndiaBernardo Dominic RENEWAL
Smith N SchemmerAustraliaStephen Shaw QUALIFIED
James A SergiGermanyElwin Sharvill PROPOSAL
Sinclair R RoysterIndiaAmy Elsner PROPOSAL
James Z PaprockiJapanAnna Fali QUALIFIED
Alejandro J DarakjyFranceElwin Sharvill QUALIFIED
Rodrigues N ShinkoArgentinaStephen Shaw PROPOSAL
Ashley Q GillianRussiaAnna Fali PROPOSAL
Cody R FlosiJapanBernardo Dominic UNQUALIFIED
Deepesh B MacleadRussiaAsiya Javayant UNQUALIFIED
Aika V BriddickAustraliaAmy Elsner NEW
Aika B SlusarskiCanadaIoni Bowcher RENEWAL
Chavez I MarrierSpainStephen Shaw NEW
Morrow B GlickSpainIoni Bowcher NEW
Darci A MarrierAustraliaOnyama Limba NEW
James X RoysterUnited KingdomStephen Shaw RENEWAL
Johnson Z CampainJapanIvan Magalhaes RENEWAL
Francesco I GauchoJapanIvan Magalhaes RENEWAL
Mujtaba H OstroskyItalyBernardo Dominic PROPOSAL
Kadeem B MaletIndiaAsiya Javayant UNQUALIFIED
Salvatore E SlusarskiSpainOnyama Limba UNQUALIFIED
Cody A FerenczItalyAnna Fali QUALIFIED
James O SlusarskiBrazilXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer I CampainIndiaIvan Magalhaes QUALIFIED
Arvin K SergiCanadaXuxue Feng QUALIFIED
Munro T WieserSpainAnna Fali NEGOTIATION
Greenwood M WieserCanadaXuxue Feng NEGOTIATION
Stacey F GarufiJapanIvan Magalhaes NEW
Antonio Q DarakjyRussiaBernardo Dominic UNQUALIFIED
Wickens Q DarakjyUnited KingdomOnyama Limba NEGOTIATION
Wickens Z MorascaIndiaAnna Fali NEGOTIATION
Leja L WhobreyAustraliaIoni Bowcher UNQUALIFIED
Tony L TollnerGermanyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony V FollerIndia2024-06-02Chanay, Jeffrey A Esq QUALIFIED67Bernardo Dominic
1001Kaitlin G OstroskyUnited Kingdom2024-06-14Chapman, Ross E Esq NEGOTIATION24Bernardo Dominic
1002Morrow X NestleBrazil2024-06-21Chemel, James L Cpa PROPOSAL49Asiya Javayant
1003Misaki J CampainJapan2024-06-10Chapman, Ross E Esq PROPOSAL68Onyama Limba
1004Ashley G RimCanada2024-06-13Dorl, James J Esq PROPOSAL66Asiya Javayant
1005Mayumi G ShinkoBrazil2024-06-21Rousseaux, Michael Esq NEGOTIATION33Amy Elsner
1006Alejandro N MaletBrazil2024-05-30Rousseaux, Michael Esq RENEWAL98Bernardo Dominic
1007Leja H DoeRussia2024-05-25Commercial Press QUALIFIED93Bernardo Dominic
1008Claire F MarrierAustralia2024-05-24Morlong Associates PROPOSAL50Ioni Bowcher
1009Julie H SaylorsSpain2024-06-05King, Christopher A Esq PROPOSAL69Xuxue Feng
1010David J MarrierSpain2024-06-12Feltz Printing Service UNQUALIFIED47Elwin Sharvill
1011Aika P SaylorsJapan2024-06-01Printing Dimensions PROPOSAL3Ivan Magalhaes
1012Juan K FigeroaRussia2024-05-28King, Christopher A Esq NEW2Ivan Magalhaes
1013Silvio G SchemmerItaly2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED13Asiya Javayant
1014Arvin S DoeArgentina2024-05-26Commercial Press UNQUALIFIED80Ivan Magalhaes
1015Alejandro G MacleadCanada2024-05-31Dorl, James J Esq NEW45Xuxue Feng
1016Octavia Q WhobreyGermany2024-06-01Printing Dimensions UNQUALIFIED53Onyama Limba
1017Aditya E WieserCanada2024-06-07Chanay, Jeffrey A Esq PROPOSAL73Stephen Shaw
1018Faith U FlosiGermany2024-05-28Dorl, James J Esq UNQUALIFIED17Ivan Magalhaes
1019Kadeem Y PaprockiRussia2024-06-14Feltz Printing Service NEGOTIATION45Amy Elsner
1020Jefferson D StensethFrance2024-05-25Feiner Bros RENEWAL28Ivan Magalhaes
1021Juan O GauchoRussia2024-06-04Rangoni Of Florence NEGOTIATION34Ioni Bowcher
1022Jones H RulapaughIndia2024-06-12Chanay, Jeffrey A Esq RENEWAL2Ivan Magalhaes
1023Alejandro F CampainUnited Kingdom2024-05-27Rousseaux, Michael Esq NEGOTIATION50Asiya Javayant
1024Sinclair B FerenczCanada2024-06-08Dorl, James J Esq QUALIFIED48Asiya Javayant
1025Maria Q CaldareraCanada2024-05-24Rousseaux, Michael Esq NEW48Ivan Magalhaes
1026Murillo J RimRussia2024-06-10King, Christopher A Esq PROPOSAL23Ivan Magalhaes
1027Arvin N RutaSpain2024-06-19Rousseaux, Michael Esq RENEWAL33Elwin Sharvill
1028Aika E RimGermany2024-06-21Morlong Associates QUALIFIED60Ioni Bowcher
1029Aditya Y KolmetzArgentina2024-06-07Dorl, James J Esq PROPOSAL7Elwin Sharvill
1030Aditya B WaycottIndia2024-06-07Chapman, Ross E Esq NEW57Asiya Javayant
1031Clifford C WaycottBrazil2024-06-01Chapman, Ross E Esq RENEWAL74Asiya Javayant
1032Mayumi U AlbaresJapan2024-06-14Benton, John B Jr UNQUALIFIED92Ivan Magalhaes
1033Salvatore D PaprockiSpain2024-05-31Morlong Associates QUALIFIED21Ivan Magalhaes
1034Misaki T GauchoArgentina2024-06-06Chemel, James L Cpa UNQUALIFIED46Anna Fali
1035Kadeem B SlusarskiUnited Kingdom2024-06-09Commercial Press PROPOSAL25Ivan Magalhaes
1036Ashley H RoysterCanada2024-06-14Commercial Press PROPOSAL83Bernardo Dominic
1037Faith L FollerIndia2024-06-17Chanay, Jeffrey A Esq RENEWAL48Elwin Sharvill
1038Faith L StockhamCanada2024-05-27Chanay, Jeffrey A Esq PROPOSAL35Onyama Limba
1039Wickens X FerenczArgentina2024-06-01Rangoni Of Florence NEW37Elwin Sharvill
1040Kadeem V NickaUnited Kingdom2024-05-25Feiner Bros QUALIFIED72Onyama Limba
1041Silvio T DilliardSpain2024-06-17Feiner Bros NEW57Amy Elsner
1042Clifford B MaletGermany2024-06-21Truhlar And Truhlar Attys PROPOSAL39Bernardo Dominic
1043Jefferson O CaldareraIndia2024-05-24Benton, John B Jr UNQUALIFIED90Ivan Magalhaes
1044Jones B CampainAustralia2024-06-11King, Christopher A Esq NEGOTIATION69Xuxue Feng
1045Ashley J VocelkaItaly2024-06-16King, Christopher A Esq QUALIFIED65Asiya Javayant
1046Ashley E MorascaIndia2024-06-04King, Christopher A Esq RENEWAL8Anna Fali
1047Darci R PerinCanada2024-06-20Dorl, James J Esq NEW57Anna Fali
1048Julie Y GarufiRussia2024-06-07Buckley Miller Wright RENEWAL1Ivan Magalhaes
1049Jeanfrancois K BowleyArgentina2024-06-07Benton, John B Jr PROPOSAL1Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa W SergiArgentinaAsiya Javayant UNQUALIFIED
Antonio N WieserFranceStephen Shaw NEW
Aruna T MaletItalyStephen Shaw PROPOSAL
Morrow O KolmetzCanadaAmy Elsner RENEWAL
Octavia O StockhamSpainAnna Fali PROPOSAL
Arvin N BologniaRussiaIvan Magalhaes NEGOTIATION
Nicolas C WaycottBrazilXuxue Feng NEW
Misaki T ChuiJapanXuxue Feng UNQUALIFIED
Wickens V PerinAustraliaAsiya Javayant PROPOSAL
Ricardo Y GlickJapanXuxue Feng NEGOTIATION
Maria T SchemmerArgentinaElwin Sharvill UNQUALIFIED
Maria K AlbaresItalyIvan Magalhaes UNQUALIFIED
Nicolas I StockhamSpainBernardo Dominic PROPOSAL
Rodrigues H PaprockiBrazilAnna Fali NEW
Aruna V DoeUnited KingdomBernardo Dominic RENEWAL
Sinclair Y RimArgentinaAnna Fali QUALIFIED
Maria C WaycottAustraliaIvan Magalhaes RENEWAL
Faith Q WaycottFranceIvan Magalhaes QUALIFIED
Rodrigues P PoquetteAustraliaAsiya Javayant PROPOSAL
Johnson K RulapaughItalyAmy Elsner NEGOTIATION
Jeanfrancois R WaycottFranceElwin Sharvill QUALIFIED
Nicolas D GauchoJapanAnna Fali PROPOSAL
Wickens C PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Isabel R KuskoArgentinaOnyama Limba PROPOSAL
Smith D ButtItalyXuxue Feng PROPOSAL
Mujtaba D MacleadRussiaElwin Sharvill QUALIFIED
Silvio U TollnerRussiaBernardo Dominic UNQUALIFIED
Ivar I DoeCanadaXuxue Feng RENEWAL
Munro Y GauchoGermanyBernardo Dominic UNQUALIFIED
Aika J FigeroaUnited KingdomIoni Bowcher RENEWAL
Munro I FerenczBrazilOnyama Limba NEGOTIATION
Darci L TollnerGermanyXuxue Feng PROPOSAL
Silvio E RulapaughJapanAsiya Javayant QUALIFIED
Kadeem D InouyeAustraliaAmy Elsner NEW
Mayumi H RimJapanAmy Elsner NEW
Jones W FlosiBrazilXuxue Feng NEGOTIATION
Sinclair I SaylorsItalyIoni Bowcher NEGOTIATION
Deepesh B RutaBrazilXuxue Feng PROPOSAL
Kadeem K WhobreyAustraliaOnyama Limba NEGOTIATION
Johnson A KolmetzFranceIvan Magalhaes UNQUALIFIED
Ashley O StockhamRussiaIvan Magalhaes NEW
Wickens V WhobreyFranceXuxue Feng QUALIFIED
Jones M RimGermanyXuxue Feng NEW
Adams Q FigeroaItalyStephen Shaw PROPOSAL
Costa Z VocelkaCanadaBernardo Dominic NEGOTIATION
Sinclair U TollnerJapanIvan Magalhaes QUALIFIED
Maisha P PerinSpainXuxue Feng PROPOSAL
Emily T VenereCanadaAnna Fali QUALIFIED
Ashley S TollnerRussiaIoni Bowcher UNQUALIFIED
Jefferson R WhobreyFranceStephen Shaw NEGOTIATION
Frozen Columns
Name
Izzy B Stockham
Claire Q Campain
Costa G Maclead
Rodrigues W Sergi
Smith D Gaucho
Antonio E Bolognia
Nicolas T Malet
Munro Z Maclead
Leja F Paprocki
Misaki L Iturbide
Mayumi V Stockham
Izzy M Royster
Morrow P Figeroa
Mujtaba L Gaucho
Leon O Dilliard
Julie R Amigon
Alejandro X Whobrey
Jefferson L Perin
Johnson B Schemmer
Rodrigues E Rim
Emily O Paprocki
Aruna N Schemmer
Aika L Wieser
Francesco Z Amigon
Stacey E Maclead
Francesco K Nestle
Darci S Saylors
Cody N Glick
Julie U Kolmetz
Sinclair U Iturbide
Smith P Stenseth
Izzy T Paprocki
Mujtaba Q Briddick
Munro U Sergi
Jennifer N Kolmetz
Antonio E Inouye
Ivar Q Rulapaugh
Greenwood H Caudy
Ivar G Garufi
Antonio T Figeroa
Stacey C Caldarera
Misaki G Figeroa
Maria O Kolmetz
Nicolas U Iturbide
Julie E Royster
Costa P Wieser
Kadeem D Glick
Clifford V Dilliard
Misaki B Ruta
Mujtaba M Gaucho
IdCountryDate
1000United Kingdom2024-06-20
1001Australia2024-06-15
1002Brazil2024-06-07
1003Germany2024-06-15
1004Germany2024-06-04
1005United Kingdom2024-06-20
1006Italy2024-06-10
1007Italy2024-05-27
1008India2024-06-18
1009Italy2024-06-01
1010Brazil2024-06-12
1011Spain2024-06-16
1012Australia2024-06-13
1013France2024-06-09
1014Canada2024-06-20
1015Italy2024-06-09
1016Russia2024-06-04
1017Australia2024-06-15
1018Japan2024-06-09
1019United Kingdom2024-06-02
1020Brazil2024-06-01
1021Japan2024-05-31
1022Japan2024-05-29
1023India2024-06-09
1024Japan2024-05-24
1025Australia2024-06-10
1026Canada2024-06-08
1027United Kingdom2024-06-04
1028Brazil2024-06-16
1029Russia2024-06-15
1030Italy2024-06-21
1031Spain2024-06-13
1032Germany2024-05-28
1033Russia2024-06-17
1034Russia2024-06-11
1035Japan2024-05-23
1036Australia2024-06-10
1037Australia2024-06-04
1038Brazil2024-06-07
1039Australia2024-06-10
1040France2024-05-26
1041Germany2024-06-08
1042France2024-05-30
1043Argentina2024-06-09
1044United Kingdom2024-06-12
1045Australia2024-05-29
1046Australia2024-06-11
1047Russia2024-06-15
1048Australia2024-06-03
1049Brazil2024-06-19

On-Demand Data

NameIdCountryDate
Salvatore O Sergi1000United Kingdom2024-05-30
Munro J Saylors1001Australia2024-06-04
Julie B Waycott1002Spain2024-06-13
Cody T Kusko1003Canada2024-06-15
Mujtaba M Caldarera1004Italy2024-06-11
Maisha X Royster1005Italy2024-06-09
Leon J Rim1006Australia2024-05-28
Murillo U Wieser1007Canada2024-06-10
Morrow J Rim1008Spain2024-06-18
Wickens P Nestle1009Spain2024-05-31
Leja I Oldroyd1010Brazil2024-05-24
James M Waycott1011India2024-06-12
Aditya E Schemmer1012Russia2024-06-01
Stacey B Morasca1013Japan2024-06-02
Maisha L Whobrey1014Russia2024-06-09
Rodrigues E Figeroa1015Spain2024-06-06
Jeanfrancois M Figeroa1016Brazil2024-06-11
Antonio T Wieser1017India2024-06-13
Salvatore T Tollner1018Russia2024-06-12
Murillo V Amigon1019Italy2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna L NickaIndiaIoni Bowcher RENEWAL
Ricardo Y NestleJapanIoni Bowcher NEGOTIATION
Claire C MacleadBrazilStephen Shaw NEGOTIATION
Jefferson A DoeFranceIvan Magalhaes NEGOTIATION
Adams M CaudySpainIoni Bowcher QUALIFIED
Rodrigues D AlbaresGermanyAmy Elsner QUALIFIED
Mujtaba R MarrierArgentinaIvan Magalhaes PROPOSAL
Octavia U WieserGermanyIvan Magalhaes NEW
David A FlosiGermanyXuxue Feng UNQUALIFIED
Jennifer Y MaletJapanBernardo Dominic NEGOTIATION
Stacey N DoeGermanyIoni Bowcher QUALIFIED
David N FerenczJapanAmy Elsner NEW
Isabel Y ButtSpainOnyama Limba UNQUALIFIED
Izzy U FigeroaItalyAnna Fali QUALIFIED
Tony N TollnerGermanyOnyama Limba RENEWAL
Julie Q CampainAustraliaElwin Sharvill QUALIFIED
Ashley B RutaIndiaBernardo Dominic NEW
Juan C RulapaughItalyAsiya Javayant NEW
Mayumi M VenereAustraliaIvan Magalhaes NEW
Tony T BriddickAustraliaIvan Magalhaes QUALIFIED
Kaitlin X SaylorsBrazilIvan Magalhaes QUALIFIED
David A AlbaresIndiaIvan Magalhaes RENEWAL
Tony S FigeroaBrazilAnna Fali RENEWAL
Nicolas N WaycottAustraliaAmy Elsner NEGOTIATION
Clifford N InouyeSpainIoni Bowcher RENEWAL
Darci A SchemmerArgentinaAnna Fali NEW
Misaki D BriddickCanadaIvan Magalhaes NEGOTIATION
Mujtaba I DarakjyCanadaStephen Shaw QUALIFIED
Mujtaba Q MaletFranceStephen Shaw PROPOSAL
Costa Y FlosiFranceAmy Elsner PROPOSAL
Misaki S BriddickCanadaAmy Elsner NEGOTIATION
Arvin J MaletJapanIoni Bowcher NEGOTIATION
Jeanfrancois O PerinItalyBernardo Dominic NEW
Aika D GauchoJapanXuxue Feng RENEWAL
Greenwood C GillianAustraliaStephen Shaw RENEWAL
Jeanfrancois U MaletSpainXuxue Feng UNQUALIFIED
Juan H KuskoItalyIoni Bowcher PROPOSAL
James X DilliardSpainStephen Shaw NEGOTIATION
Alejandro L StensethUnited KingdomOnyama Limba NEGOTIATION
Chavez V KuskoArgentinaXuxue Feng NEW

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