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
Wickens G SlusarskiJapanOnyama Limba NEGOTIATION
Jefferson J FlosiAustraliaIvan Magalhaes RENEWAL
Wickens E AmigonAustraliaBernardo Dominic QUALIFIED
Antonio O KuskoIndiaXuxue Feng PROPOSAL
Johnson R CaldareraItalyIvan Magalhaes QUALIFIED
Claire Y SchemmerFranceAmy Elsner PROPOSAL
Emily C RimGermanyStephen Shaw NEW
Francesco J VocelkaIndiaOnyama Limba QUALIFIED
Misaki R TollnerGermanyOnyama Limba RENEWAL
Claire S DarakjyArgentinaAmy Elsner NEW
Stacey P FigeroaCanadaAnna Fali NEGOTIATION
Cody L PoquetteIndiaIvan Magalhaes NEW
Claire W StensethItalyXuxue Feng NEGOTIATION
Aika R FigeroaFranceAnna Fali PROPOSAL
Jeanfrancois K GlickBrazilOnyama Limba QUALIFIED
Morrow P BriddickFranceXuxue Feng RENEWAL
David Q ChuiCanadaOnyama Limba NEW
Maria P ButtArgentinaAsiya Javayant UNQUALIFIED
Faith C StockhamItalyXuxue Feng PROPOSAL
Ashley R MaletRussiaAsiya Javayant NEW
Kaitlin T GlickRussiaElwin Sharvill UNQUALIFIED
Kaitlin K BologniaBrazilIvan Magalhaes RENEWAL
Alejandro U NickaSpainBernardo Dominic QUALIFIED
James P FigeroaItalyStephen Shaw NEGOTIATION
Aika E AmigonItalyOnyama Limba NEW
Sinclair W StensethAustraliaAmy Elsner PROPOSAL
Mayumi P FerenczRussiaStephen Shaw QUALIFIED
Faith Z GarufiFranceAsiya Javayant NEW
Alejandro O IturbideRussiaAnna Fali RENEWAL
Aditya B SergiGermanyOnyama Limba RENEWAL
Alejandro G WhobreyJapanStephen Shaw QUALIFIED
Clifford N WieserAustraliaElwin Sharvill QUALIFIED
Arvin Z NestleAustraliaAnna Fali QUALIFIED
Deepesh I FlosiArgentinaBernardo Dominic UNQUALIFIED
Aika D ChuiIndiaAmy Elsner NEW
Arvin Y PaprockiItalyXuxue Feng PROPOSAL
Rodrigues F CaudyArgentinaStephen Shaw NEGOTIATION
Ashley I CampainIndiaElwin Sharvill RENEWAL
Johnson U GarufiItalyIvan Magalhaes NEGOTIATION
Mujtaba J DoeItalyAnna Fali NEGOTIATION
Aditya G BowleyGermanyBernardo Dominic PROPOSAL
Kadeem G DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem P FollerRussiaIoni Bowcher NEGOTIATION
Izzy N GauchoIndiaAsiya Javayant RENEWAL
Jeanfrancois M DilliardIndiaBernardo Dominic RENEWAL
Mujtaba O WaycottRussiaAsiya Javayant RENEWAL
Jones U OldroydFranceAmy Elsner RENEWAL
Mujtaba V NestleAustraliaAnna Fali RENEWAL
Deepesh Q CaudyRussiaAsiya Javayant NEW
Munro V RoysterJapanAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio M AmigonSpainAnna Fali PROPOSAL
Clifford V RimArgentinaXuxue Feng PROPOSAL
Rodrigues R DarakjyItalyIvan Magalhaes UNQUALIFIED
Adams G NestleGermanyAmy Elsner NEGOTIATION
Cody N TollnerArgentinaBernardo Dominic UNQUALIFIED
Salvatore C SchemmerGermanyAnna Fali PROPOSAL
Francesco K KuskoUnited KingdomXuxue Feng NEGOTIATION
Murillo Q PerinCanadaAsiya Javayant QUALIFIED
James M IturbideRussiaAmy Elsner NEW
Adams H VenereItalyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony W DoeRussia2024-05-29Rousseaux, Michael Esq UNQUALIFIED41Asiya Javayant
1001Arvin F StensethRussia2024-06-09Feltz Printing Service QUALIFIED95Ivan Magalhaes
1002Misaki L CaudyCanada2024-06-11Truhlar And Truhlar Attys UNQUALIFIED2Elwin Sharvill
1003Ivar E PerinSpain2024-06-01Chapman, Ross E Esq RENEWAL46Ivan Magalhaes
1004Mujtaba D WieserGermany2024-05-28Morlong Associates PROPOSAL64Asiya Javayant
1005Morrow N MaletBrazil2024-06-18Buckley Miller Wright PROPOSAL10Stephen Shaw
1006Jennifer I MacleadGermany2024-06-10Chapman, Ross E Esq PROPOSAL59Ioni Bowcher
1007Maria P SaylorsCanada2024-05-29Chapman, Ross E Esq RENEWAL84Amy Elsner
1008Chavez L ChuiJapan2024-06-07Chapman, Ross E Esq RENEWAL49Xuxue Feng
1009Silvio S AlbaresArgentina2024-06-05Buckley Miller Wright QUALIFIED49Anna Fali
1010Jones H VocelkaIndia2024-06-21Benton, John B Jr NEW72Amy Elsner
1011Greenwood C CaldareraGermany2024-06-24Feiner Bros UNQUALIFIED69Bernardo Dominic
1012Chavez W GarufiIndia2024-05-30Chanay, Jeffrey A Esq NEW93Amy Elsner
1013Stacey W DilliardGermany2024-06-01Commercial Press QUALIFIED12Ivan Magalhaes
1014Sinclair J StockhamFrance2024-06-22Printing Dimensions RENEWAL0Ioni Bowcher
1015Maisha Z OstroskyArgentina2024-06-06Printing Dimensions NEW81Asiya Javayant
1016Johnson L RimGermany2024-06-24Feltz Printing Service PROPOSAL7Xuxue Feng
1017Murillo K BowleyIndia2024-06-08Buckley Miller Wright NEGOTIATION42Ioni Bowcher
1018Chavez N CaldareraSpain2024-06-09King, Christopher A Esq QUALIFIED14Onyama Limba
1019Alejandro Q VocelkaArgentina2024-05-29Feltz Printing Service QUALIFIED2Ioni Bowcher
1020Faith K GillianArgentina2024-06-18Commercial Press QUALIFIED36Anna Fali
1021Clifford M CaldareraArgentina2024-05-30Rangoni Of Florence QUALIFIED99Ivan Magalhaes
1022Leja H TollnerIndia2024-06-13Chapman, Ross E Esq UNQUALIFIED98Amy Elsner
1023Munro F PaprockiAustralia2024-05-26Dorl, James J Esq QUALIFIED47Ioni Bowcher
1024Aika L KolmetzBrazil2024-05-29King, Christopher A Esq UNQUALIFIED26Ivan Magalhaes
1025Ivar F RutaItaly2024-06-17Feiner Bros NEGOTIATION56Onyama Limba
1026Juan S DilliardRussia2024-06-19King, Christopher A Esq RENEWAL41Stephen Shaw
1027Mayumi P IturbideBrazil2024-06-15Buckley Miller Wright QUALIFIED21Onyama Limba
1028Emily M StockhamArgentina2024-06-02Rangoni Of Florence QUALIFIED38Stephen Shaw
1029Tony D AlbaresBrazil2024-06-24Commercial Press RENEWAL48Anna Fali
1030Darci U VocelkaIndia2024-06-14Chapman, Ross E Esq NEW51Elwin Sharvill
1031Morrow K PoquetteJapan2024-05-31Rousseaux, Michael Esq QUALIFIED26Ioni Bowcher
1032James R DoeItaly2024-06-22Rousseaux, Michael Esq QUALIFIED36Asiya Javayant
1033Claire U PerinItaly2024-05-30Feltz Printing Service RENEWAL76Elwin Sharvill
1034Rodrigues G ChuiRussia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED3Elwin Sharvill
1035Kadeem Q GauchoIndia2024-06-04Benton, John B Jr UNQUALIFIED31Asiya Javayant
1036Isabel O BologniaFrance2024-05-26Rangoni Of Florence QUALIFIED45Ivan Magalhaes
1037Sinclair K IturbideSpain2024-06-05Printing Dimensions NEW75Amy Elsner
1038Adams Z FerenczAustralia2024-06-01Feltz Printing Service NEGOTIATION50Amy Elsner
1039Faith V BologniaJapan2024-06-15Chanay, Jeffrey A Esq RENEWAL88Ioni Bowcher
1040Arvin E PoquetteArgentina2024-06-12Truhlar And Truhlar Attys RENEWAL72Asiya Javayant
1041Julie V FerenczJapan2024-06-23Truhlar And Truhlar Attys UNQUALIFIED76Anna Fali
1042Silvio Y StensethCanada2024-05-27Commercial Press RENEWAL42Anna Fali
1043Mujtaba L SchemmerCanada2024-06-19Rangoni Of Florence PROPOSAL95Stephen Shaw
1044Kaitlin Z SchemmerSpain2024-06-11Truhlar And Truhlar Attys UNQUALIFIED74Anna Fali
1045Cody D MarrierSpain2024-05-31Printing Dimensions NEGOTIATION94Xuxue Feng
1046Faith Z BowleyItaly2024-06-22Chemel, James L Cpa PROPOSAL40Bernardo Dominic
1047Wickens O MaletArgentina2024-06-19Rangoni Of Florence UNQUALIFIED45Xuxue Feng
1048James R MarrierAustralia2024-06-08Rangoni Of Florence QUALIFIED1Asiya Javayant
1049Murillo N RimRussia2024-06-03Chapman, Ross E Esq UNQUALIFIED41Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Q CampainCanadaStephen Shaw UNQUALIFIED
Leja Q SergiCanadaAmy Elsner UNQUALIFIED
Murillo M ShinkoAustraliaBernardo Dominic UNQUALIFIED
Jefferson Z PaprockiRussiaStephen Shaw QUALIFIED
David V BowleyJapanOnyama Limba NEW
Claire D StensethUnited KingdomElwin Sharvill QUALIFIED
Leja Y RulapaughSpainAnna Fali RENEWAL
Mayumi J SergiItalyXuxue Feng RENEWAL
Antonio L StockhamSpainIvan Magalhaes RENEWAL
Wickens E SchemmerJapanAsiya Javayant UNQUALIFIED
Darci R OldroydRussiaIvan Magalhaes QUALIFIED
Maisha K MarrierItalyAnna Fali PROPOSAL
Antonio Z MorascaAustraliaElwin Sharvill QUALIFIED
Salvatore G BowleyGermanyStephen Shaw NEGOTIATION
Juan C AmigonIndiaOnyama Limba NEGOTIATION
Clifford E WaycottFranceElwin Sharvill NEGOTIATION
Juan U SergiIndiaAnna Fali NEW
Arvin Z RimFranceIvan Magalhaes RENEWAL
Francesco G MarrierBrazilIvan Magalhaes PROPOSAL
James P BriddickArgentinaIvan Magalhaes UNQUALIFIED
Cody O MorascaCanadaXuxue Feng NEW
Arvin M AlbaresItalyBernardo Dominic PROPOSAL
Francesco A BologniaFranceOnyama Limba NEW
Clifford Z IturbideGermanyAmy Elsner UNQUALIFIED
Mujtaba F StockhamGermanyAnna Fali NEW
Leon B PerinCanadaAsiya Javayant NEW
Clifford K GlickSpainIvan Magalhaes NEGOTIATION
Nicolas M FigeroaFranceAnna Fali NEW
Alejandro P BowleyArgentinaOnyama Limba UNQUALIFIED
Munro N OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Morrow Z StockhamRussiaAmy Elsner PROPOSAL
Ricardo W RimItalyAsiya Javayant RENEWAL
Murillo B BriddickItalyOnyama Limba UNQUALIFIED
Mujtaba V KolmetzGermanyAnna Fali NEGOTIATION
James E FlosiSpainAmy Elsner NEGOTIATION
Julie D VenereGermanyOnyama Limba UNQUALIFIED
Adams E RimSpainXuxue Feng NEW
Juan M BowleyFranceAnna Fali NEW
Emily E FigeroaFranceOnyama Limba RENEWAL
Jennifer G NickaBrazilStephen Shaw NEGOTIATION
Antonio I PerinArgentinaXuxue Feng NEW
David F SlusarskiRussiaIvan Magalhaes NEW
Juan L ChuiSpainIvan Magalhaes NEGOTIATION
Sinclair G MaletSpainElwin Sharvill UNQUALIFIED
Alejandro I GillianJapanOnyama Limba RENEWAL
Deepesh G NickaUnited KingdomXuxue Feng RENEWAL
Darci A AmigonIndiaAnna Fali RENEWAL
Jeanfrancois U MarrierGermanyAsiya Javayant QUALIFIED
Alejandro V MaletFranceIoni Bowcher NEW
Aika G SlusarskiCanadaXuxue Feng PROPOSAL
Frozen Columns
Name
Costa D Nestle
Smith S Poquette
Faith S Ferencz
Juan P Doe
Morrow H Paprocki
Johnson U Darakjy
Nicolas O Ruta
Morrow K Rulapaugh
Leja H Tollner
Izzy J Wieser
Arvin L Kusko
Smith N Morasca
David G Perin
Ricardo N Tollner
Emily N Gillian
Claire F Darakjy
Wickens E Doe
Deepesh Q Waycott
Jefferson G Poquette
Aditya G Perin
Chavez P Dilliard
Francesco T Garufi
Emily Q Amigon
Salvatore W Paprocki
Leja O Malet
Maisha A Maclead
Alejandro O Shinko
Alejandro P Caudy
Arvin D Waycott
Kaitlin H Marrier
Maria F Morasca
Francesco P Foller
Sinclair M Foller
Jennifer U Schemmer
Emily G Caudy
Maisha F Glick
Aruna W Slusarski
Ivar M Oldroyd
Tony S Royster
Silvio X Tollner
Arvin Z Shinko
Claire G Ruta
Chavez Y Perin
Aruna S Garufi
Murillo M Paprocki
Leja B Foller
Francesco B Butt
David S Marrier
Mujtaba J Slusarski
Murillo V Kolmetz
IdCountryDate
1000Russia2024-06-24
1001Canada2024-06-14
1002Argentina2024-06-20
1003Brazil2024-05-28
1004Canada2024-05-26
1005Italy2024-05-27
1006France2024-06-20
1007Argentina2024-06-20
1008Canada2024-06-24
1009Australia2024-06-23
1010United Kingdom2024-06-12
1011Argentina2024-06-08
1012France2024-06-23
1013Canada2024-06-13
1014Italy2024-06-07
1015Germany2024-06-11
1016Argentina2024-05-27
1017Japan2024-06-19
1018Italy2024-06-06
1019Argentina2024-06-17
1020Spain2024-06-04
1021France2024-06-04
1022United Kingdom2024-06-16
1023Brazil2024-06-09
1024United Kingdom2024-06-15
1025Brazil2024-06-19
1026Germany2024-06-12
1027Italy2024-06-20
1028Canada2024-06-08
1029Australia2024-06-14
1030Spain2024-06-14
1031Canada2024-06-21
1032Australia2024-06-03
1033India2024-06-14
1034France2024-05-31
1035France2024-06-13
1036Australia2024-06-18
1037Australia2024-05-26
1038Germany2024-06-10
1039Germany2024-06-21
1040Russia2024-06-19
1041Brazil2024-06-06
1042Australia2024-06-14
1043Japan2024-06-07
1044Brazil2024-05-31
1045Russia2024-06-12
1046Germany2024-06-24
1047Russia2024-06-03
1048Japan2024-06-23
1049Germany2024-06-15

On-Demand Data

NameIdCountryDate
Alejandro A Inouye1000Canada2024-06-11
Clifford W Darakjy1001India2024-06-21
Mujtaba D Rim1002Russia2024-06-03
Greenwood W Stenseth1003Russia2024-06-20
Wickens I Stenseth1004United Kingdom2024-05-26
Silvio A Gaucho1005Australia2024-06-08
Leon S Shinko1006Germany2024-06-17
Aruna G Wieser1007Russia2024-06-10
Greenwood B Poquette1008France2024-06-24
Wickens L Morasca1009Germany2024-05-31
Antonio B Gillian1010Brazil2024-06-16
Ivar A Dilliard1011Germany2024-06-08
Isabel N Whobrey1012Italy2024-06-17
Maisha G Glick1013India2024-06-22
Emily E Amigon1014India2024-06-14
Antonio B Oldroyd1015Italy2024-06-10
Aruna A Darakjy1016Argentina2024-06-17
Faith M Schemmer1017Germany2024-06-11
Claire I Briddick1018Brazil2024-06-14
Jeanfrancois I Slusarski1019Australia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas R CampainRussiaOnyama Limba PROPOSAL
Kaitlin X MacleadBrazilAsiya Javayant NEW
Francesco Y MarrierFranceAnna Fali NEW
Juan C CaldareraUnited KingdomStephen Shaw QUALIFIED
Murillo Y GlickIndiaStephen Shaw QUALIFIED
Leon A PaprockiCanadaBernardo Dominic UNQUALIFIED
Leon B WieserJapanStephen Shaw UNQUALIFIED
Octavia E FigeroaCanadaXuxue Feng QUALIFIED
Antonio S KuskoFranceAnna Fali PROPOSAL
Izzy P RutaJapanOnyama Limba PROPOSAL
Mayumi G CaudyUnited KingdomOnyama Limba RENEWAL
Faith F RulapaughSpainAsiya Javayant NEW
David D BologniaFranceBernardo Dominic PROPOSAL
Izzy K KolmetzUnited KingdomOnyama Limba NEGOTIATION
Faith F AmigonCanadaElwin Sharvill UNQUALIFIED
Juan W AlbaresUnited KingdomOnyama Limba PROPOSAL
Aditya F SchemmerItalyIvan Magalhaes QUALIFIED
Claire X KolmetzBrazilXuxue Feng NEGOTIATION
Jennifer F DarakjyBrazilXuxue Feng NEGOTIATION
Mujtaba J KuskoItalyAsiya Javayant RENEWAL
Greenwood L BriddickRussiaAnna Fali NEW
Murillo T GarufiGermanyBernardo Dominic QUALIFIED
Arvin L SergiJapanAnna Fali QUALIFIED
Silvio K StockhamIndiaBernardo Dominic QUALIFIED
David T OldroydItalyAnna Fali NEGOTIATION
Julie O AlbaresBrazilAsiya Javayant QUALIFIED
Isabel U AlbaresAustraliaOnyama Limba UNQUALIFIED
Sinclair Z FollerUnited KingdomBernardo Dominic QUALIFIED
Smith I SchemmerJapanStephen Shaw QUALIFIED
Deepesh W GarufiCanadaAsiya Javayant QUALIFIED
Clifford Y CaldareraSpainXuxue Feng PROPOSAL
Greenwood E ShinkoSpainStephen Shaw NEGOTIATION
Alejandro L FlosiJapanIoni Bowcher RENEWAL
Darci W PoquetteRussiaAmy Elsner QUALIFIED
Murillo C SaylorsIndiaElwin Sharvill QUALIFIED
Julie N AmigonBrazilStephen Shaw PROPOSAL
Ashley Z RoysterGermanyOnyama Limba UNQUALIFIED
Kadeem Q VenereUnited KingdomIoni Bowcher PROPOSAL
Ricardo B WieserGermanyXuxue Feng RENEWAL
Costa L NestleAustraliaAmy Elsner 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>