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
Ivar L TollnerIndiaAnna Fali PROPOSAL
David Q AmigonUnited KingdomAsiya Javayant NEGOTIATION
Johnson Z FlosiIndiaStephen Shaw NEGOTIATION
Munro C ShinkoAustraliaAnna Fali UNQUALIFIED
Kaitlin A PaprockiSpainBernardo Dominic RENEWAL
Ivar V TollnerUnited KingdomAmy Elsner QUALIFIED
Smith F SchemmerGermanyElwin Sharvill PROPOSAL
Claire M SchemmerIndiaAmy Elsner UNQUALIFIED
Costa Y DoeIndiaAmy Elsner PROPOSAL
Octavia W RimBrazilIvan Magalhaes PROPOSAL
Johnson O IturbideSpainStephen Shaw RENEWAL
Jennifer O VocelkaGermanyElwin Sharvill UNQUALIFIED
Juan U MorascaCanadaBernardo Dominic NEGOTIATION
Aditya W RimSpainAnna Fali PROPOSAL
Aruna C GauchoFranceIoni Bowcher NEW
Jefferson Y DilliardCanadaXuxue Feng QUALIFIED
Aruna Y SchemmerIndiaIvan Magalhaes UNQUALIFIED
Octavia F RoysterUnited KingdomBernardo Dominic NEW
Munro V MarrierSpainAsiya Javayant NEW
Arvin B ChuiFranceBernardo Dominic PROPOSAL
Aruna Z NickaJapanBernardo Dominic UNQUALIFIED
Chavez D StockhamJapanAsiya Javayant UNQUALIFIED
Smith O SergiSpainAsiya Javayant QUALIFIED
Jeanfrancois J AmigonAustraliaAnna Fali NEGOTIATION
Stacey W ShinkoGermanyStephen Shaw NEW
Greenwood Q WieserFranceBernardo Dominic UNQUALIFIED
Deepesh P AlbaresUnited KingdomStephen Shaw NEW
Aditya B ButtUnited KingdomIvan Magalhaes RENEWAL
Morrow G ButtIndiaIoni Bowcher NEGOTIATION
Alejandro Z NickaCanadaAnna Fali QUALIFIED
Faith J SergiArgentinaStephen Shaw PROPOSAL
Isabel I StensethJapanBernardo Dominic QUALIFIED
Smith D CaldareraGermanyElwin Sharvill UNQUALIFIED
Tony N GillianJapanIoni Bowcher QUALIFIED
Costa W DilliardJapanAnna Fali PROPOSAL
Arvin G FerenczBrazilIvan Magalhaes PROPOSAL
Maria X MorascaUnited KingdomAmy Elsner UNQUALIFIED
Salvatore S WhobreyCanadaAnna Fali NEW
Julie A DarakjyGermanyIvan Magalhaes QUALIFIED
Mujtaba H TollnerSpainXuxue Feng QUALIFIED
Aditya C GillianArgentinaAsiya Javayant QUALIFIED
Cody H AlbaresFranceOnyama Limba RENEWAL
Morrow Q FigeroaAustraliaAnna Fali NEW
Mayumi D FlosiItalyElwin Sharvill NEW
Rodrigues M AmigonJapanIvan Magalhaes UNQUALIFIED
Salvatore B AmigonJapanAnna Fali NEW
Rodrigues X VenereAustraliaBernardo Dominic NEW
Jefferson M FigeroaArgentinaAnna Fali UNQUALIFIED
Maria Z CampainGermanyXuxue Feng UNQUALIFIED
Arvin W MorascaRussiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki W FollerGermanyStephen Shaw RENEWAL
Julie B StensethBrazilAsiya Javayant QUALIFIED
James P CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Izzy W StensethUnited KingdomBernardo Dominic PROPOSAL
Johnson C OstroskyIndiaAnna Fali NEW
Cody V MacleadIndiaXuxue Feng PROPOSAL
Leon K RutaUnited KingdomXuxue Feng RENEWAL
Izzy V SergiUnited KingdomElwin Sharvill RENEWAL
Stacey C CampainIndiaIvan Magalhaes PROPOSAL
Misaki F GarufiFranceOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy K DilliardArgentina2024-06-06Rousseaux, Michael Esq PROPOSAL94Onyama Limba
1001Ricardo V FigeroaArgentina2024-05-30Printing Dimensions RENEWAL64Bernardo Dominic
1002Sinclair G OstroskyItaly2024-06-07Truhlar And Truhlar Attys NEGOTIATION49Ioni Bowcher
1003Mujtaba Q TollnerSpain2024-05-31Chemel, James L Cpa PROPOSAL11Anna Fali
1004Adams D MacleadUnited Kingdom2024-05-24Buckley Miller Wright PROPOSAL59Asiya Javayant
1005Aditya H PaprockiSpain2024-05-28Feltz Printing Service UNQUALIFIED0Xuxue Feng
1006Faith W VenereJapan2024-06-18Morlong Associates NEW6Stephen Shaw
1007Jones N CaldareraUnited Kingdom2024-05-21Chapman, Ross E Esq NEW40Xuxue Feng
1008Aika E SergiFrance2024-06-18Morlong Associates QUALIFIED52Amy Elsner
1009Emily O DarakjyJapan2024-06-06Printing Dimensions PROPOSAL39Anna Fali
1010Chavez V MaletItaly2024-05-23Feltz Printing Service UNQUALIFIED82Xuxue Feng
1011Sinclair I FollerArgentina2024-05-20Feiner Bros NEGOTIATION58Xuxue Feng
1012James U SlusarskiIndia2024-06-04Chapman, Ross E Esq NEW63Ioni Bowcher
1013Aika G FollerAustralia2024-05-24Feltz Printing Service NEW77Onyama Limba
1014Mayumi G FlosiArgentina2024-06-09Morlong Associates UNQUALIFIED80Ioni Bowcher
1015Maria T RimJapan2024-06-17Feiner Bros NEGOTIATION34Asiya Javayant
1016Arvin N PoquetteBrazil2024-06-15Feltz Printing Service UNQUALIFIED9Elwin Sharvill
1017Stacey G DarakjyRussia2024-06-05King, Christopher A Esq NEGOTIATION38Asiya Javayant
1018Sinclair G FigeroaGermany2024-05-23Chemel, James L Cpa UNQUALIFIED55Elwin Sharvill
1019Wickens Y MaletAustralia2024-05-20Printing Dimensions NEGOTIATION85Elwin Sharvill
1020Silvio E GillianGermany2024-05-31King, Christopher A Esq QUALIFIED25Amy Elsner
1021Julie F ShinkoGermany2024-06-04Chemel, James L Cpa NEGOTIATION69Asiya Javayant
1022Kaitlin K RutaRussia2024-05-21King, Christopher A Esq PROPOSAL62Asiya Javayant
1023Costa Z IturbideGermany2024-06-18King, Christopher A Esq UNQUALIFIED71Amy Elsner
1024Maisha F FerenczIndia2024-05-21Feltz Printing Service UNQUALIFIED78Bernardo Dominic
1025Wickens A FigeroaCanada2024-06-08Chapman, Ross E Esq UNQUALIFIED20Elwin Sharvill
1026Misaki W OstroskyGermany2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED70Ioni Bowcher
1027Isabel D FerenczRussia2024-06-05Feltz Printing Service QUALIFIED9Amy Elsner
1028Johnson O ButtSpain2024-05-27Truhlar And Truhlar Attys PROPOSAL75Xuxue Feng
1029Ashley E RulapaughArgentina2024-05-24Rousseaux, Michael Esq RENEWAL44Amy Elsner
1030Aika L OstroskyFrance2024-06-17Commercial Press UNQUALIFIED17Bernardo Dominic
1031Greenwood E SergiArgentina2024-05-24Dorl, James J Esq NEGOTIATION18Bernardo Dominic
1032Munro P StensethRussia2024-06-06Morlong Associates NEGOTIATION80Amy Elsner
1033Johnson Z PaprockiFrance2024-06-14Buckley Miller Wright UNQUALIFIED32Elwin Sharvill
1034Juan E FerenczCanada2024-06-06Chemel, James L Cpa RENEWAL20Onyama Limba
1035Faith S StockhamFrance2024-06-16Rangoni Of Florence QUALIFIED76Ivan Magalhaes
1036Nicolas O GarufiArgentina2024-06-10Morlong Associates UNQUALIFIED67Ivan Magalhaes
1037Aruna O PaprockiRussia2024-05-31Printing Dimensions QUALIFIED52Asiya Javayant
1038Antonio A FlosiArgentina2024-05-28Chapman, Ross E Esq UNQUALIFIED45Bernardo Dominic
1039Ashley G SchemmerBrazil2024-05-29Chapman, Ross E Esq NEW40Ioni Bowcher
1040Smith W FerenczIndia2024-05-25King, Christopher A Esq NEW5Anna Fali
1041Cody Q DilliardFrance2024-05-24Truhlar And Truhlar Attys UNQUALIFIED41Anna Fali
1042Leja R RimRussia2024-05-23Feiner Bros NEW99Amy Elsner
1043Juan B MarrierUnited Kingdom2024-06-06Buckley Miller Wright PROPOSAL4Onyama Limba
1044Sinclair O AmigonArgentina2024-06-09Buckley Miller Wright UNQUALIFIED4Bernardo Dominic
1045James G CampainRussia2024-06-16Truhlar And Truhlar Attys UNQUALIFIED83Anna Fali
1046Cody J WaycottSpain2024-05-22Chanay, Jeffrey A Esq RENEWAL27Amy Elsner
1047Chavez O InouyeRussia2024-06-14Feiner Bros QUALIFIED53Stephen Shaw
1048Silvio N RutaBrazil2024-05-26Benton, John B Jr QUALIFIED40Xuxue Feng
1049Silvio X GarufiAustralia2024-06-08Chanay, Jeffrey A Esq QUALIFIED43Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Adams Y OldroydCanadaBernardo Dominic QUALIFIED
Greenwood D RutaAustraliaAnna Fali RENEWAL
Alejandro X TollnerArgentinaAmy Elsner PROPOSAL
Mujtaba Q WieserFranceStephen Shaw NEGOTIATION
Alejandro T GarufiRussiaAnna Fali QUALIFIED
Clifford Z FollerGermanyAsiya Javayant NEGOTIATION
Stacey K SaylorsArgentinaOnyama Limba RENEWAL
Munro W VenereItalyBernardo Dominic RENEWAL
Jeanfrancois G MacleadGermanyStephen Shaw PROPOSAL
Salvatore E SlusarskiBrazilAnna Fali RENEWAL
Aruna T OldroydIndiaXuxue Feng NEGOTIATION
Clifford U CaudyItalyAnna Fali NEGOTIATION
Mayumi L CaudyGermanyAsiya Javayant NEGOTIATION
Jennifer F WhobreyIndiaBernardo Dominic UNQUALIFIED
Jefferson V ButtCanadaAsiya Javayant NEW
Arvin B RulapaughGermanyOnyama Limba UNQUALIFIED
Arvin H KolmetzJapanOnyama Limba NEW
Ricardo Z RoysterGermanyOnyama Limba RENEWAL
Julie K MacleadItalyAmy Elsner UNQUALIFIED
Izzy O FigeroaJapanAmy Elsner RENEWAL
Salvatore F GauchoCanadaAmy Elsner UNQUALIFIED
James K WhobreyJapanOnyama Limba PROPOSAL
Jennifer M BologniaSpainXuxue Feng NEW
Murillo K GillianAustraliaOnyama Limba NEW
Ricardo K InouyeJapanXuxue Feng PROPOSAL
Greenwood M SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Salvatore X DoeSpainAmy Elsner QUALIFIED
Aika U MaletCanadaIoni Bowcher PROPOSAL
Octavia E SchemmerGermanyElwin Sharvill PROPOSAL
Nicolas N ButtIndiaAmy Elsner QUALIFIED
James I BowleyItalyIoni Bowcher NEGOTIATION
Francesco M IturbideSpainStephen Shaw UNQUALIFIED
Arvin V WaycottBrazilIoni Bowcher QUALIFIED
Adams Z VocelkaJapanAmy Elsner PROPOSAL
Maria X FlosiSpainStephen Shaw UNQUALIFIED
Rodrigues L VocelkaItalyOnyama Limba RENEWAL
Arvin U ShinkoRussiaIvan Magalhaes QUALIFIED
Clifford W ShinkoSpainBernardo Dominic NEGOTIATION
Mayumi C WhobreyUnited KingdomAmy Elsner PROPOSAL
Darci S FlosiArgentinaIoni Bowcher RENEWAL
Silvio I PoquetteJapanAsiya Javayant QUALIFIED
Faith K KuskoCanadaStephen Shaw NEW
Tony J AlbaresAustraliaIvan Magalhaes NEW
Costa J PoquetteBrazilAsiya Javayant NEGOTIATION
Deepesh T BologniaUnited KingdomIvan Magalhaes RENEWAL
Arvin S InouyeGermanyXuxue Feng PROPOSAL
Leon O InouyeAustraliaIvan Magalhaes RENEWAL
Leja D DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Leja J PoquetteUnited KingdomStephen Shaw NEGOTIATION
James F BowleyFranceElwin Sharvill RENEWAL
Frozen Columns
Name
Aruna T Poquette
Arvin M Stenseth
Juan G Ruta
Murillo S Shinko
Ivar W Nestle
Cody R Albares
Clifford D Gillian
Kadeem N Bowley
David P Vocelka
Antonio M Malet
Johnson J Ostrosky
Alejandro Q Malet
Sinclair I Wieser
Chavez M Garufi
Ashley C Venere
Clifford S Foller
Leja D Oldroyd
Silvio N Malet
Deepesh V Sergi
Isabel B Butt
Maisha U Perin
Munro M Perin
Maisha Q Campain
Clifford Q Bowley
Juan H Malet
Octavia R Flosi
James E Nestle
Nicolas X Albares
Salvatore J Rim
Smith O Nestle
Arvin E Paprocki
Munro Y Butt
Julie Y Waycott
Antonio S Gaucho
Sinclair O Doe
Murillo L Ostrosky
Silvio W Figeroa
Jennifer P Schemmer
Ivar H Rulapaugh
Nicolas G Perin
Francesco B Tollner
Maisha W Campain
Misaki M Albares
Silvio Y Saylors
Rodrigues U Gaucho
Izzy L Kusko
Chavez R Royster
Arvin Z Oldroyd
Leja T Slusarski
Julie N Tollner
IdCountryDate
1000Italy2024-05-27
1001Japan2024-05-26
1002Italy2024-05-24
1003France2024-05-28
1004Japan2024-05-23
1005Japan2024-06-09
1006Italy2024-05-27
1007Germany2024-05-21
1008Japan2024-05-25
1009Argentina2024-05-24
1010India2024-05-26
1011Italy2024-06-01
1012Argentina2024-05-28
1013Russia2024-05-27
1014Russia2024-05-20
1015India2024-05-25
1016Germany2024-06-08
1017Canada2024-06-02
1018Argentina2024-05-22
1019Australia2024-05-20
1020Japan2024-06-11
1021Italy2024-06-12
1022France2024-05-26
1023Argentina2024-05-22
1024Brazil2024-05-22
1025Japan2024-05-30
1026Spain2024-06-04
1027Argentina2024-05-30
1028Australia2024-05-23
1029Australia2024-05-25
1030Germany2024-06-18
1031Russia2024-06-12
1032Brazil2024-06-18
1033Australia2024-05-27
1034Russia2024-05-26
1035Germany2024-05-27
1036United Kingdom2024-06-11
1037Germany2024-06-01
1038Argentina2024-05-22
1039Brazil2024-06-17
1040Germany2024-06-18
1041Japan2024-05-27
1042France2024-06-04
1043France2024-05-27
1044Argentina2024-05-30
1045Russia2024-05-28
1046India2024-05-24
1047France2024-05-30
1048Australia2024-05-30
1049France2024-06-16

On-Demand Data

NameIdCountryDate
Darci I Perin1000Russia2024-05-27
Jennifer Y Marrier1001Canada2024-06-07
Cody O Inouye1002India2024-06-07
Darci Z Oldroyd1003Germany2024-06-03
Julie X Tollner1004Australia2024-06-04
Salvatore O Amigon1005Germany2024-06-14
Smith P Poquette1006Japan2024-06-17
Cody R Morasca1007Japan2024-06-12
Faith F Amigon1008Japan2024-06-02
Maria N Foller1009United Kingdom2024-06-08
Smith N Sergi1010Japan2024-05-28
Aika C Shinko1011Japan2024-06-13
Chavez G Paprocki1012Russia2024-06-06
Smith X Oldroyd1013Argentina2024-06-09
Silvio R Poquette1014France2024-06-08
Mujtaba Z Stockham1015Germany2024-05-27
Isabel O Caldarera1016Australia2024-06-05
Emily U Venere1017Germany2024-05-24
Cody O Stockham1018Australia2024-06-07
Costa J Glick1019Argentina2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci M SergiAustraliaAnna Fali PROPOSAL
Johnson T MaletSpainAsiya Javayant QUALIFIED
Cody V KuskoGermanyXuxue Feng RENEWAL
Jeanfrancois J DoeIndiaXuxue Feng NEW
Adams Y MaletCanadaElwin Sharvill UNQUALIFIED
Darci F CaldareraCanadaStephen Shaw RENEWAL
Jones K PerinSpainStephen Shaw PROPOSAL
Rodrigues I CaldareraFranceElwin Sharvill QUALIFIED
Ivar A DoeItalyAmy Elsner PROPOSAL
Antonio D FollerUnited KingdomIoni Bowcher NEGOTIATION
Ivar L FigeroaRussiaIoni Bowcher NEGOTIATION
Aditya E AmigonArgentinaStephen Shaw NEW
Kaitlin M IturbideSpainIoni Bowcher RENEWAL
Smith I WaycottIndiaBernardo Dominic NEGOTIATION
Salvatore T RoysterItalyAmy Elsner NEW
Aruna R GlickSpainElwin Sharvill NEW
Deepesh Z AlbaresUnited KingdomBernardo Dominic NEW
Maria S ShinkoIndiaAnna Fali UNQUALIFIED
Ivar T PerinAustraliaOnyama Limba PROPOSAL
James R NestleAustraliaXuxue Feng NEW
Maria C TollnerCanadaOnyama Limba PROPOSAL
Johnson H SaylorsIndiaIvan Magalhaes QUALIFIED
Julie Y DarakjyCanadaElwin Sharvill PROPOSAL
Mujtaba O GillianAustraliaOnyama Limba NEGOTIATION
Alejandro Q OstroskyAustraliaBernardo Dominic NEW
Claire K KolmetzGermanyStephen Shaw NEGOTIATION
Kaitlin D FerenczGermanyXuxue Feng NEGOTIATION
Leja C GauchoFranceOnyama Limba PROPOSAL
Leja C CampainAustraliaAnna Fali PROPOSAL
Ricardo F OstroskyJapanAnna Fali RENEWAL
Juan K CaldareraBrazilIoni Bowcher PROPOSAL
Chavez J WaycottFranceAnna Fali NEW
Aika S ButtAustraliaXuxue Feng UNQUALIFIED
Wickens G DarakjyCanadaIvan Magalhaes NEGOTIATION
Misaki W GauchoItalyIvan Magalhaes RENEWAL
Antonio M CampainCanadaElwin Sharvill QUALIFIED
Jones G CaldareraItalyStephen Shaw QUALIFIED
Octavia X RulapaughArgentinaIoni Bowcher NEGOTIATION
Aditya X MaletArgentinaAnna Fali NEW
Nicolas H WhobreyUnited KingdomAsiya Javayant 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>