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
Leon Y FerenczGermanyIvan Magalhaes UNQUALIFIED
Smith Q VenereRussiaBernardo Dominic NEGOTIATION
Adams P CaudyBrazilElwin Sharvill NEGOTIATION
Jennifer I CaldareraItalyXuxue Feng RENEWAL
James S StockhamSpainXuxue Feng NEW
Jefferson T ButtBrazilIoni Bowcher UNQUALIFIED
Maria D MacleadSpainOnyama Limba RENEWAL
Clifford C BriddickAustraliaAnna Fali PROPOSAL
Misaki K NestleArgentinaOnyama Limba PROPOSAL
Ricardo U TollnerBrazilIvan Magalhaes QUALIFIED
Silvio F WaycottArgentinaStephen Shaw RENEWAL
Aika T MorascaAustraliaIvan Magalhaes NEW
Deepesh M PoquetteJapanIoni Bowcher PROPOSAL
Sinclair P GarufiItalyElwin Sharvill QUALIFIED
Emily N InouyeBrazilElwin Sharvill PROPOSAL
Jennifer P SchemmerSpainXuxue Feng UNQUALIFIED
Aika O PaprockiGermanyOnyama Limba NEW
Octavia L FollerFranceOnyama Limba PROPOSAL
Greenwood B BologniaArgentinaIoni Bowcher NEGOTIATION
Ivar O MorascaRussiaIoni Bowcher NEGOTIATION
Jeanfrancois R MacleadItalyAsiya Javayant NEW
Adams J CampainAustraliaAsiya Javayant UNQUALIFIED
Munro C VenereItalyStephen Shaw QUALIFIED
Maisha Z IturbideGermanyAmy Elsner NEGOTIATION
Costa U GillianJapanAmy Elsner PROPOSAL
Isabel J RoysterUnited KingdomElwin Sharvill NEGOTIATION
Kadeem H FollerUnited KingdomAmy Elsner NEGOTIATION
Clifford T BriddickIndiaStephen Shaw PROPOSAL
Clifford P KuskoItalyElwin Sharvill RENEWAL
Maisha T GarufiBrazilStephen Shaw UNQUALIFIED
Francesco D SchemmerBrazilElwin Sharvill NEGOTIATION
Rodrigues D VenereArgentinaIoni Bowcher RENEWAL
Misaki N WhobreyFranceXuxue Feng NEW
Maria I GarufiIndiaBernardo Dominic RENEWAL
Clifford D CaudyJapanAmy Elsner NEW
Faith W DarakjyIndiaAsiya Javayant QUALIFIED
Octavia Z OldroydBrazilStephen Shaw NEW
Jefferson C VocelkaJapanOnyama Limba NEGOTIATION
Munro R BologniaArgentinaAmy Elsner RENEWAL
Julie I BowleySpainIvan Magalhaes PROPOSAL
Emily X AlbaresAustraliaStephen Shaw NEW
Sinclair W OstroskyIndiaOnyama Limba UNQUALIFIED
Silvio J StockhamGermanyIoni Bowcher UNQUALIFIED
Aruna T CaudyIndiaOnyama Limba NEGOTIATION
David R WieserFranceXuxue Feng QUALIFIED
James U WaycottAustraliaAnna Fali NEGOTIATION
Clifford D VocelkaArgentinaOnyama Limba QUALIFIED
Leon U SaylorsFranceStephen Shaw NEW
Johnson A ShinkoItalyAsiya Javayant NEW
Leon M WaycottArgentinaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Darci W NickaSpainXuxue Feng UNQUALIFIED
Kaitlin Q WhobreyJapanBernardo Dominic QUALIFIED
David T WhobreyRussiaStephen Shaw NEW
Jennifer M ShinkoItalyElwin Sharvill RENEWAL
Rodrigues D BologniaCanadaBernardo Dominic NEGOTIATION
Francesco O FollerAustraliaStephen Shaw NEGOTIATION
Faith L NestleBrazilXuxue Feng NEGOTIATION
David O NestleUnited KingdomElwin Sharvill NEGOTIATION
David W ButtBrazilBernardo Dominic RENEWAL
Izzy L RulapaughAustraliaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon R RutaJapan2025-06-05King, Christopher A Esq NEW48Elwin Sharvill
1001Murillo W GarufiBrazil2025-05-21Buckley Miller Wright RENEWAL11Asiya Javayant
1002David Z PoquetteArgentina2025-05-16Rousseaux, Michael Esq PROPOSAL35Bernardo Dominic
1003Mujtaba B IturbideIndia2025-05-16Chapman, Ross E Esq UNQUALIFIED48Elwin Sharvill
1004Ivar H PoquetteCanada2025-06-01King, Christopher A Esq QUALIFIED52Asiya Javayant
1005Misaki G NestleIndia2025-05-09Dorl, James J Esq PROPOSAL53Amy Elsner
1006Johnson B NestleRussia2025-06-02Chemel, James L Cpa QUALIFIED80Onyama Limba
1007David X AlbaresUnited Kingdom2025-05-12Feiner Bros RENEWAL84Onyama Limba
1008Maria T OldroydFrance2025-05-30Dorl, James J Esq QUALIFIED78Onyama Limba
1009Nicolas H TollnerIndia2025-05-29Benton, John B Jr UNQUALIFIED55Anna Fali
1010Chavez J FerenczBrazil2025-05-20Chapman, Ross E Esq NEW43Elwin Sharvill
1011Nicolas E FerenczItaly2025-06-05King, Christopher A Esq RENEWAL99Asiya Javayant
1012Cody R BologniaItaly2025-05-23Rangoni Of Florence NEGOTIATION88Bernardo Dominic
1013Leja R WieserAustralia2025-05-29Chemel, James L Cpa NEW69Anna Fali
1014Aika X PerinArgentina2025-05-13Truhlar And Truhlar Attys PROPOSAL45Amy Elsner
1015Emily X AlbaresRussia2025-05-24Commercial Press NEGOTIATION25Asiya Javayant
1016Johnson Z RutaAustralia2025-05-25Rousseaux, Michael Esq UNQUALIFIED86Stephen Shaw
1017Maria G RutaJapan2025-05-21Dorl, James J Esq UNQUALIFIED80Bernardo Dominic
1018Aruna K AlbaresAustralia2025-05-17Commercial Press UNQUALIFIED70Ivan Magalhaes
1019Munro J AmigonCanada2025-05-15Printing Dimensions QUALIFIED7Onyama Limba
1020Tony B DoeUnited Kingdom2025-06-01Rangoni Of Florence PROPOSAL40Stephen Shaw
1021Salvatore J CaldareraFrance2025-05-16Chanay, Jeffrey A Esq PROPOSAL23Stephen Shaw
1022Sinclair J KuskoAustralia2025-05-13Benton, John B Jr RENEWAL40Asiya Javayant
1023Leja I CampainIndia2025-05-27Feltz Printing Service QUALIFIED43Xuxue Feng
1024Adams R ChuiItaly2025-05-22King, Christopher A Esq UNQUALIFIED20Asiya Javayant
1025Izzy F TollnerCanada2025-05-14Morlong Associates NEW27Anna Fali
1026Sinclair V SlusarskiSpain2025-05-24Dorl, James J Esq NEW15Ioni Bowcher
1027Octavia U FlosiRussia2025-05-09Morlong Associates RENEWAL53Amy Elsner
1028Rodrigues O WaycottJapan2025-05-19Buckley Miller Wright PROPOSAL67Ioni Bowcher
1029Leja C AlbaresAustralia2025-06-03Benton, John B Jr RENEWAL50Anna Fali
1030Leja U OstroskyFrance2025-06-03Printing Dimensions RENEWAL21Ivan Magalhaes
1031Arvin D AlbaresUnited Kingdom2025-05-22Chemel, James L Cpa NEGOTIATION27Stephen Shaw
1032Francesco K RulapaughIndia2025-05-30Printing Dimensions PROPOSAL49Stephen Shaw
1033Mujtaba L DoeRussia2025-05-24Chanay, Jeffrey A Esq RENEWAL52Ioni Bowcher
1034Ricardo H NickaRussia2025-05-29Feiner Bros PROPOSAL37Ivan Magalhaes
1035Kaitlin S ShinkoUnited Kingdom2025-05-18Rousseaux, Michael Esq RENEWAL30Onyama Limba
1036Johnson R WaycottUnited Kingdom2025-05-27Buckley Miller Wright QUALIFIED32Ioni Bowcher
1037Smith S FigeroaUnited Kingdom2025-05-24Morlong Associates PROPOSAL26Asiya Javayant
1038Cody Q WhobreyCanada2025-05-13Morlong Associates UNQUALIFIED49Anna Fali
1039Smith W BowleyIndia2025-05-10Chemel, James L Cpa PROPOSAL84Bernardo Dominic
1040Ricardo B GillianCanada2025-05-15Rousseaux, Michael Esq RENEWAL91Stephen Shaw
1041Munro U RoysterSpain2025-05-09Chanay, Jeffrey A Esq RENEWAL38Ioni Bowcher
1042Clifford F CaudyBrazil2025-05-09Benton, John B Jr QUALIFIED21Onyama Limba
1043Misaki A MorascaBrazil2025-05-12Morlong Associates UNQUALIFIED41Bernardo Dominic
1044Leon O InouyeGermany2025-05-23Commercial Press QUALIFIED69Asiya Javayant
1045Wickens H IturbideFrance2025-05-07Printing Dimensions PROPOSAL11Ivan Magalhaes
1046Wickens E RimFrance2025-05-27King, Christopher A Esq NEW62Xuxue Feng
1047Maria M WaycottUnited Kingdom2025-05-13Chapman, Ross E Esq RENEWAL52Asiya Javayant
1048Johnson G KolmetzAustralia2025-05-23Feltz Printing Service RENEWAL4Onyama Limba
1049Aditya A CaudyBrazil2025-05-29Benton, John B Jr NEW92Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Q StensethRussiaIoni Bowcher PROPOSAL
Greenwood J ShinkoAustraliaAnna Fali QUALIFIED
Leja V AlbaresSpainAsiya Javayant NEW
Jefferson Q GlickSpainXuxue Feng NEW
Ricardo T SlusarskiFranceXuxue Feng RENEWAL
Jennifer B StockhamRussiaBernardo Dominic RENEWAL
Wickens N ChuiSpainAnna Fali NEGOTIATION
Sinclair V StensethArgentinaBernardo Dominic RENEWAL
Jones F OstroskyItalyXuxue Feng RENEWAL
Jeanfrancois J AmigonUnited KingdomIoni Bowcher QUALIFIED
Kadeem Z CaldareraSpainIoni Bowcher UNQUALIFIED
Arvin U GarufiJapanAnna Fali RENEWAL
Juan I GarufiGermanyOnyama Limba RENEWAL
Costa M RulapaughCanadaXuxue Feng NEGOTIATION
Salvatore S FollerUnited KingdomIvan Magalhaes NEGOTIATION
Maisha N PaprockiRussiaAmy Elsner PROPOSAL
Faith R OldroydCanadaIvan Magalhaes UNQUALIFIED
David K IturbideArgentinaAmy Elsner UNQUALIFIED
Ivar V BriddickGermanyAsiya Javayant UNQUALIFIED
James V ShinkoFranceOnyama Limba RENEWAL
Morrow R IturbideSpainIoni Bowcher RENEWAL
Wickens W ButtUnited KingdomIoni Bowcher PROPOSAL
Clifford P RoysterGermanyIoni Bowcher PROPOSAL
Misaki K FlosiFranceAsiya Javayant NEW
Arvin C NestleFranceAsiya Javayant NEGOTIATION
Stacey A WhobreyGermanyAnna Fali PROPOSAL
Aditya P GauchoItalyAnna Fali QUALIFIED
Darci U FerenczRussiaBernardo Dominic NEGOTIATION
Kaitlin K GillianAustraliaIvan Magalhaes NEW
Stacey D SergiItalyAmy Elsner RENEWAL
Juan T BriddickIndiaAsiya Javayant NEW
Stacey C SaylorsJapanIoni Bowcher QUALIFIED
Emily W VocelkaJapanAnna Fali RENEWAL
Smith D FerenczRussiaStephen Shaw NEGOTIATION
Leja O RimGermanyOnyama Limba RENEWAL
Maisha W KuskoSpainIoni Bowcher NEGOTIATION
Kadeem O RutaGermanyIoni Bowcher RENEWAL
Stacey G MaletBrazilIvan Magalhaes UNQUALIFIED
Arvin O CampainCanadaAsiya Javayant NEW
Clifford X PaprockiIndiaIvan Magalhaes PROPOSAL
Ivar N GillianArgentinaIoni Bowcher NEGOTIATION
Chavez K StensethIndiaXuxue Feng UNQUALIFIED
Aruna I RutaAustraliaElwin Sharvill UNQUALIFIED
Nicolas N WhobreyBrazilElwin Sharvill NEGOTIATION
Murillo G DarakjyJapanBernardo Dominic PROPOSAL
Aika A BowleyJapanAmy Elsner NEGOTIATION
Johnson G StockhamUnited KingdomAsiya Javayant QUALIFIED
Faith S InouyeCanadaOnyama Limba NEW
Faith Y NestleCanadaOnyama Limba RENEWAL
Mayumi X DoeUnited KingdomIoni Bowcher RENEWAL
Frozen Columns
Name
Adams F Marrier
Ivar M Garufi
Aika H Flosi
Greenwood Z Poquette
Silvio O Paprocki
Izzy Y Marrier
Jennifer G Vocelka
Jefferson A Venere
Jefferson P Perin
Jefferson R Flosi
Arvin H Malet
Alejandro E Waycott
Smith V Paprocki
Kaitlin Z Caldarera
Ivar J Figeroa
Rodrigues S Wieser
Munro T Venere
Ivar U Bolognia
Munro P Rim
Jeanfrancois T Dilliard
Maisha U Amigon
Octavia T Glick
Jones H Glick
Julie D Dilliard
Maria R Waycott
Mujtaba O Campain
Rodrigues P Ostrosky
Maisha T Glick
David U Wieser
Izzy U Kolmetz
Stacey W Butt
Alejandro I Malet
Julie G Shinko
Murillo V Perin
Faith K Amigon
Izzy I Marrier
Arvin N Stenseth
Francesco J Malet
Aruna K Sergi
Johnson W Inouye
Leon R Nestle
Emily O Figeroa
Jones R Flosi
Francesco Y Briddick
Wickens W Bolognia
Murillo X Doe
Sinclair R Slusarski
David F Perin
Salvatore A Tollner
Costa Z Wieser
IdCountryDate
1000Italy2025-05-20
1001Argentina2025-05-30
1002Russia2025-05-15
1003Japan2025-06-01
1004Australia2025-05-10
1005France2025-06-04
1006Brazil2025-05-26
1007India2025-05-31
1008United Kingdom2025-05-23
1009Germany2025-05-25
1010Spain2025-06-03
1011Spain2025-05-12
1012Italy2025-05-08
1013France2025-05-29
1014France2025-05-12
1015United Kingdom2025-05-17
1016United Kingdom2025-05-20
1017Germany2025-05-08
1018France2025-05-14
1019Canada2025-06-01
1020Canada2025-06-02
1021Spain2025-05-20
1022Japan2025-05-11
1023Italy2025-05-13
1024Spain2025-05-19
1025Argentina2025-05-13
1026France2025-05-18
1027Japan2025-05-20
1028United Kingdom2025-06-02
1029Spain2025-05-26
1030Russia2025-05-18
1031Japan2025-05-30
1032Italy2025-06-04
1033Japan2025-05-14
1034Brazil2025-05-17
1035Canada2025-06-02
1036Italy2025-06-04
1037Russia2025-05-22
1038Russia2025-05-20
1039Japan2025-06-05
1040France2025-05-08
1041France2025-05-17
1042Japan2025-06-04
1043Canada2025-05-29
1044France2025-05-20
1045Canada2025-05-26
1046Spain2025-05-31
1047United Kingdom2025-05-16
1048Australia2025-05-31
1049Russia2025-05-22

On-Demand Data

NameIdCountryDate
Juan U Venere1000Australia2025-05-27
Leja P Bolognia1001Brazil2025-06-02
Maisha Z Rim1002Japan2025-06-04
Maria U Butt1003Spain2025-05-10
Leon K Maclead1004India2025-05-26
Jeanfrancois M Maclead1005Spain2025-05-16
Leja C Oldroyd1006Brazil2025-05-15
Rodrigues D Malet1007Australia2025-05-22
Sinclair I Tollner1008United Kingdom2025-05-12
Octavia Q Vocelka1009Japan2025-06-01
Arvin Y Morasca1010Japan2025-05-12
Octavia T Oldroyd1011Germany2025-05-12
Ashley I Bolognia1012Argentina2025-06-03
Johnson U Albares1013Germany2025-05-22
Stacey M Ruta1014Spain2025-05-08
Ivar L Glick1015Italy2025-05-09
Izzy G Slusarski1016Russia2025-05-23
Ashley W Ruta1017Brazil2025-05-20
James N Tollner1018Russia2025-05-17
Julie A Caldarera1019Canada2025-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem W AmigonArgentinaXuxue Feng NEW
Sinclair L SaylorsItalyIvan Magalhaes UNQUALIFIED
Mayumi K CampainUnited KingdomOnyama Limba NEW
Aruna X PoquetteSpainAnna Fali RENEWAL
Murillo G ShinkoAustraliaAmy Elsner PROPOSAL
Adams M AlbaresFranceAnna Fali PROPOSAL
Chavez H MacleadGermanyAmy Elsner PROPOSAL
Juan F WhobreyUnited KingdomBernardo Dominic QUALIFIED
Mayumi T DoeSpainIvan Magalhaes UNQUALIFIED
Francesco R ChuiArgentinaElwin Sharvill NEGOTIATION
Nicolas Z SchemmerJapanXuxue Feng UNQUALIFIED
Costa K FigeroaItalyIoni Bowcher PROPOSAL
Emily D DilliardFranceOnyama Limba PROPOSAL
Jennifer D VocelkaRussiaAsiya Javayant NEGOTIATION
Arvin X StensethUnited KingdomAnna Fali UNQUALIFIED
Mujtaba F CaudyArgentinaElwin Sharvill PROPOSAL
Faith U CaudyJapanAsiya Javayant NEGOTIATION
Sinclair K StensethRussiaAsiya Javayant PROPOSAL
Clifford U FollerUnited KingdomBernardo Dominic PROPOSAL
Jefferson B AlbaresUnited KingdomElwin Sharvill PROPOSAL
Izzy P StensethFranceStephen Shaw UNQUALIFIED
David Z ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Izzy I GarufiCanadaStephen Shaw UNQUALIFIED
Ricardo N KuskoItalyAsiya Javayant NEW
Claire C FollerSpainAsiya Javayant RENEWAL
Stacey M InouyeIndiaIvan Magalhaes NEW
Ashley U MacleadGermanyOnyama Limba QUALIFIED
Cody H CaudyItalyStephen Shaw PROPOSAL
Arvin I AmigonIndiaStephen Shaw UNQUALIFIED
Aditya S RutaGermanyAnna Fali QUALIFIED
Wickens H WieserArgentinaElwin Sharvill PROPOSAL
Ivar P RutaRussiaOnyama Limba PROPOSAL
Isabel E RoysterJapanAmy Elsner RENEWAL
Ashley L BowleyGermanyStephen Shaw RENEWAL
Greenwood T VocelkaFranceElwin Sharvill QUALIFIED
Octavia O WaycottCanadaIoni Bowcher QUALIFIED
Isabel Y SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Leja G KolmetzRussiaAsiya Javayant PROPOSAL
Clifford W OstroskyBrazilAsiya Javayant NEGOTIATION
Julie W StockhamBrazilIvan Magalhaes 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>