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
Darci E SaylorsRussiaAnna Fali UNQUALIFIED
Salvatore M ShinkoIndiaAnna Fali PROPOSAL
Jefferson M ButtAustraliaIvan Magalhaes NEGOTIATION
Chavez S StockhamItalyOnyama Limba PROPOSAL
Nicolas B IturbideItalyAnna Fali QUALIFIED
Deepesh A ButtRussiaAsiya Javayant PROPOSAL
Adams G CaldareraRussiaElwin Sharvill NEGOTIATION
Octavia G CampainAustraliaAnna Fali NEW
Deepesh A AmigonFranceAmy Elsner UNQUALIFIED
Kaitlin O MorascaFranceIoni Bowcher UNQUALIFIED
Leja C PaprockiRussiaIoni Bowcher NEGOTIATION
Ricardo N VenereIndiaElwin Sharvill UNQUALIFIED
Julie B MaletFranceStephen Shaw UNQUALIFIED
Kaitlin D PoquetteCanadaElwin Sharvill RENEWAL
Nicolas O SlusarskiAustraliaElwin Sharvill PROPOSAL
Johnson U RutaFranceXuxue Feng NEW
Rodrigues E CampainItalyIoni Bowcher NEW
Arvin H CaldareraGermanyBernardo Dominic UNQUALIFIED
Silvio E SergiIndiaXuxue Feng PROPOSAL
Chavez I NestleCanadaAmy Elsner RENEWAL
Leon W WaycottAustraliaElwin Sharvill UNQUALIFIED
Misaki O BriddickAustraliaIoni Bowcher RENEWAL
Tony D OldroydSpainElwin Sharvill UNQUALIFIED
Isabel X AmigonFranceAmy Elsner QUALIFIED
Ricardo O PerinAustraliaAsiya Javayant QUALIFIED
James Z AmigonSpainBernardo Dominic UNQUALIFIED
Darci C MaletBrazilBernardo Dominic QUALIFIED
Maria M RutaBrazilBernardo Dominic PROPOSAL
Leon R DilliardFranceAmy Elsner UNQUALIFIED
Maisha X VocelkaAustraliaAsiya Javayant RENEWAL
Jennifer J MaletRussiaAmy Elsner NEW
Silvio M WieserAustraliaAnna Fali NEGOTIATION
Aika L ChuiFranceAmy Elsner QUALIFIED
Kadeem K DoeSpainIvan Magalhaes UNQUALIFIED
Juan S AmigonIndiaIvan Magalhaes UNQUALIFIED
Misaki D WieserSpainIvan Magalhaes NEGOTIATION
Jones X WieserItalyElwin Sharvill NEGOTIATION
Darci O RimIndiaXuxue Feng NEGOTIATION
Isabel O MorascaJapanXuxue Feng RENEWAL
Munro A MaletIndiaIvan Magalhaes QUALIFIED
Alejandro A NestleSpainAsiya Javayant NEW
Aika A WieserRussiaIvan Magalhaes PROPOSAL
Sinclair N MorascaJapanStephen Shaw RENEWAL
Izzy F FollerJapanStephen Shaw QUALIFIED
Jefferson J DoeArgentinaAmy Elsner NEGOTIATION
Jennifer B RimAustraliaElwin Sharvill RENEWAL
Stacey E IturbideFranceOnyama Limba PROPOSAL
Munro H IturbideRussiaBernardo Dominic NEGOTIATION
Francesco R KuskoAustraliaXuxue Feng NEW
Isabel Z InouyeFranceAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens I RulapaughGermanyBernardo Dominic PROPOSAL
Jeanfrancois J SchemmerBrazilAnna Fali NEGOTIATION
Costa Y FlosiAustraliaBernardo Dominic PROPOSAL
Sinclair L RoysterItalyStephen Shaw NEW
Murillo T FerenczAustraliaElwin Sharvill NEGOTIATION
Emily A SaylorsBrazilAmy Elsner NEW
Kadeem F InouyeIndiaOnyama Limba NEGOTIATION
Kadeem Y SchemmerIndiaStephen Shaw RENEWAL
Munro G FlosiRussiaAmy Elsner UNQUALIFIED
Sinclair Z CaldareraJapanOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio R InouyeArgentina2025-04-18Feltz Printing Service PROPOSAL77Anna Fali
1001Emily M SergiIndia2025-04-27Commercial Press NEGOTIATION86Asiya Javayant
1002Tony U FlosiUnited Kingdom2025-04-12Chemel, James L Cpa UNQUALIFIED57Anna Fali
1003Kaitlin H RutaIndia2025-04-05Chanay, Jeffrey A Esq PROPOSAL18Ioni Bowcher
1004Maisha D DarakjyItaly2025-04-19Chapman, Ross E Esq RENEWAL37Ivan Magalhaes
1005Kadeem Y WhobreyUnited Kingdom2025-04-03Chapman, Ross E Esq UNQUALIFIED57Onyama Limba
1006Costa Q KuskoBrazil2025-04-19Chanay, Jeffrey A Esq NEGOTIATION4Asiya Javayant
1007Munro D WhobreySpain2025-04-04Chanay, Jeffrey A Esq NEW5Asiya Javayant
1008Octavia A AlbaresSpain2025-04-21Feiner Bros NEGOTIATION35Amy Elsner
1009Aditya N DarakjyFrance2025-04-01Rangoni Of Florence NEGOTIATION83Stephen Shaw
1010Jones C SchemmerCanada2025-04-02Printing Dimensions RENEWAL43Amy Elsner
1011Izzy J MaletRussia2025-04-06King, Christopher A Esq RENEWAL50Onyama Limba
1012Ivar W RulapaughGermany2025-04-10Feiner Bros NEGOTIATION95Ioni Bowcher
1013Tony G NickaJapan2025-04-03Dorl, James J Esq RENEWAL85Anna Fali
1014Cody M IturbideUnited Kingdom2025-04-19Chanay, Jeffrey A Esq RENEWAL52Anna Fali
1015Ricardo U FerenczGermany2025-04-17Chanay, Jeffrey A Esq RENEWAL14Stephen Shaw
1016Nicolas N SergiIndia2025-04-16Commercial Press QUALIFIED16Elwin Sharvill
1017Octavia H CampainUnited Kingdom2025-04-16Chanay, Jeffrey A Esq NEGOTIATION97Ioni Bowcher
1018Deepesh S DoeUnited Kingdom2025-04-13Dorl, James J Esq NEW72Xuxue Feng
1019Isabel F PoquetteGermany2025-04-21Rangoni Of Florence RENEWAL49Ioni Bowcher
1020Salvatore C DarakjyRussia2025-04-02Printing Dimensions NEW67Xuxue Feng
1021Julie F OstroskyGermany2025-04-16Chanay, Jeffrey A Esq QUALIFIED87Elwin Sharvill
1022Mujtaba N SaylorsGermany2025-04-28King, Christopher A Esq UNQUALIFIED60Ivan Magalhaes
1023Ricardo P TollnerJapan2025-04-23Feltz Printing Service RENEWAL74Elwin Sharvill
1024Emily W WaycottSpain2025-04-16Feiner Bros RENEWAL76Ivan Magalhaes
1025Jeanfrancois R TollnerIndia2025-04-05King, Christopher A Esq NEW25Ivan Magalhaes
1026Mayumi L RimFrance2025-04-04Feiner Bros PROPOSAL29Ioni Bowcher
1027Tony V GarufiUnited Kingdom2025-04-01Rousseaux, Michael Esq PROPOSAL58Onyama Limba
1028Clifford J SlusarskiSpain2025-04-04Truhlar And Truhlar Attys PROPOSAL54Amy Elsner
1029Maisha I VocelkaItaly2025-04-26Buckley Miller Wright NEW84Xuxue Feng
1030Jones Y BriddickRussia2025-04-05Benton, John B Jr QUALIFIED62Elwin Sharvill
1031Mayumi O GillianGermany2025-04-11Chemel, James L Cpa PROPOSAL31Xuxue Feng
1032Silvio Q SaylorsArgentina2025-04-23Chapman, Ross E Esq RENEWAL14Ivan Magalhaes
1033Adams P IturbideCanada2025-04-17Morlong Associates NEW59Elwin Sharvill
1034Isabel N GarufiAustralia2025-04-29King, Christopher A Esq QUALIFIED82Onyama Limba
1035Ashley V NickaBrazil2025-04-12Buckley Miller Wright QUALIFIED6Stephen Shaw
1036Juan N MaletFrance2025-04-03Rousseaux, Michael Esq RENEWAL48Ioni Bowcher
1037Chavez F TollnerIndia2025-04-01Morlong Associates UNQUALIFIED14Anna Fali
1038Jeanfrancois N MaletCanada2025-04-30Chapman, Ross E Esq NEW29Anna Fali
1039Munro Q WhobreyAustralia2025-04-16Truhlar And Truhlar Attys QUALIFIED36Onyama Limba
1040Aditya R AlbaresJapan2025-04-06Morlong Associates NEW81Stephen Shaw
1041Aruna D SlusarskiSpain2025-04-18Chapman, Ross E Esq NEGOTIATION50Anna Fali
1042James U NestleSpain2025-04-04Morlong Associates QUALIFIED33Elwin Sharvill
1043James A OldroydRussia2025-04-22King, Christopher A Esq NEGOTIATION27Elwin Sharvill
1044Arvin H DilliardArgentina2025-04-06Morlong Associates PROPOSAL33Anna Fali
1045Greenwood G PerinRussia2025-04-01Buckley Miller Wright PROPOSAL40Onyama Limba
1046Rodrigues S WaycottAustralia2025-04-07Benton, John B Jr UNQUALIFIED96Stephen Shaw
1047Juan B VenereBrazil2025-04-09Feltz Printing Service QUALIFIED14Anna Fali
1048Octavia S OstroskyRussia2025-04-07Buckley Miller Wright RENEWAL71Stephen Shaw
1049Isabel R RoysterBrazil2025-04-04Dorl, James J Esq NEGOTIATION93Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez B BowleyAustraliaAnna Fali PROPOSAL
James Q IturbideSpainIvan Magalhaes RENEWAL
Rodrigues F DarakjyIndiaElwin Sharvill NEGOTIATION
Jefferson S WieserCanadaBernardo Dominic RENEWAL
Sinclair K StensethBrazilXuxue Feng QUALIFIED
Ivar E WhobreyFranceOnyama Limba RENEWAL
Wickens K TollnerSpainXuxue Feng NEGOTIATION
Jefferson L BowleyFranceElwin Sharvill PROPOSAL
Silvio T GarufiArgentinaAsiya Javayant NEGOTIATION
Darci C MorascaFranceXuxue Feng QUALIFIED
Arvin N GauchoCanadaAmy Elsner NEGOTIATION
Leja E InouyeIndiaAsiya Javayant RENEWAL
Mayumi V WieserSpainBernardo Dominic NEGOTIATION
Salvatore H RutaArgentinaOnyama Limba NEW
Silvio Z SaylorsBrazilStephen Shaw RENEWAL
Nicolas E WieserCanadaIvan Magalhaes NEW
Francesco R FigeroaItalyIoni Bowcher UNQUALIFIED
Leja I MaletJapanAsiya Javayant NEW
Alejandro W WieserFranceAsiya Javayant NEW
Aika F StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Emily W ButtBrazilIvan Magalhaes QUALIFIED
Stacey I AmigonGermanyAmy Elsner UNQUALIFIED
Alejandro B WaycottGermanyIoni Bowcher UNQUALIFIED
Silvio J StockhamCanadaIoni Bowcher PROPOSAL
Aika O OstroskyIndiaStephen Shaw PROPOSAL
Costa A ShinkoIndiaStephen Shaw PROPOSAL
Ashley C VenereGermanyAmy Elsner RENEWAL
Maisha B PoquetteItalyAnna Fali QUALIFIED
Rodrigues I SlusarskiSpainAsiya Javayant PROPOSAL
Greenwood R DoeFranceBernardo Dominic UNQUALIFIED
Arvin Q RutaArgentinaIvan Magalhaes RENEWAL
Faith N StockhamJapanAnna Fali QUALIFIED
Sinclair L WaycottSpainIvan Magalhaes RENEWAL
Salvatore K RutaItalyIvan Magalhaes NEW
Ivar U OldroydRussiaBernardo Dominic PROPOSAL
Maisha O RimBrazilBernardo Dominic UNQUALIFIED
Maria P CaldareraArgentinaElwin Sharvill QUALIFIED
David L GlickArgentinaXuxue Feng PROPOSAL
Wickens Q CaudyGermanyElwin Sharvill PROPOSAL
Tony E RutaItalyXuxue Feng QUALIFIED
Silvio V MacleadAustraliaIvan Magalhaes NEW
Julie V MacleadCanadaAsiya Javayant PROPOSAL
Chavez A RutaCanadaStephen Shaw QUALIFIED
Mayumi Z SaylorsAustraliaOnyama Limba NEW
David I FerenczCanadaXuxue Feng PROPOSAL
Emily A SergiFranceXuxue Feng NEW
Nicolas X WhobreyCanadaIvan Magalhaes NEGOTIATION
Arvin O RimArgentinaIvan Magalhaes NEW
Darci L ButtBrazilAmy Elsner NEW
Mujtaba S GlickArgentinaOnyama Limba QUALIFIED
Frozen Columns
Name
Munro L Paprocki
Jennifer O Sergi
Nicolas S Waycott
Adams U Paprocki
Emily V Ferencz
David H Kolmetz
Aika P Shinko
Aruna W Whobrey
Misaki Z Briddick
Alejandro X Rulapaugh
Wickens B Kusko
David K Darakjy
Greenwood B Waycott
Clifford W Stockham
Leja Z Albares
Aika K Ostrosky
Silvio S Chui
Jefferson Q Maclead
Juan O Perin
Ivar L Rim
Costa O Butt
Juan N Butt
Ashley M Malet
Izzy R Oldroyd
Octavia M Maclead
Ivar Q Campain
Nicolas S Bolognia
Aruna S Ruta
Kadeem A Marrier
Aika K Tollner
Murillo L Morasca
Mayumi I Ruta
Arvin X Slusarski
Stacey K Ferencz
Tony D Rulapaugh
Ricardo H Figeroa
Deepesh L Caudy
Aruna Y Wieser
James V Shinko
Tony S Gillian
Rodrigues E Garufi
Cody U Glick
Rodrigues P Dilliard
Cody Y Foller
Kaitlin F Ruta
Smith G Bowley
Juan A Albares
Jones H Ostrosky
Stacey H Tollner
Claire S Whobrey
IdCountryDate
1000United Kingdom2025-04-08
1001India2025-04-25
1002Italy2025-04-26
1003Brazil2025-04-17
1004Brazil2025-04-05
1005Japan2025-04-18
1006Japan2025-04-26
1007Canada2025-04-05
1008United Kingdom2025-04-05
1009Australia2025-04-04
1010Russia2025-04-28
1011Brazil2025-04-14
1012Japan2025-04-28
1013Australia2025-04-16
1014France2025-04-17
1015Germany2025-04-21
1016Italy2025-04-20
1017Brazil2025-04-10
1018Australia2025-04-12
1019Spain2025-04-09
1020France2025-04-26
1021India2025-04-08
1022Germany2025-04-05
1023France2025-04-05
1024Russia2025-04-22
1025India2025-04-02
1026Russia2025-04-26
1027Germany2025-04-01
1028Spain2025-04-18
1029France2025-04-05
1030France2025-04-13
1031France2025-04-20
1032India2025-04-27
1033Germany2025-04-17
1034Argentina2025-04-19
1035United Kingdom2025-04-15
1036Germany2025-04-19
1037Germany2025-04-07
1038Spain2025-04-13
1039India2025-04-29
1040United Kingdom2025-04-01
1041Spain2025-04-17
1042Russia2025-04-22
1043Russia2025-04-25
1044Canada2025-04-02
1045Germany2025-04-04
1046United Kingdom2025-04-13
1047France2025-04-15
1048Japan2025-04-05
1049France2025-04-17

On-Demand Data

NameIdCountryDate
Ashley G Saylors1000Canada2025-04-18
Kaitlin M Ruta1001Russia2025-04-14
Rodrigues S Foller1002India2025-04-21
Faith F Saylors1003Spain2025-04-07
Julie V Inouye1004Spain2025-04-20
Ivar H Glick1005Germany2025-04-15
James G Maclead1006Japan2025-04-03
Julie N Paprocki1007Australia2025-04-02
Antonio B Foller1008Brazil2025-04-26
Jennifer N Rulapaugh1009Australia2025-04-23
Francesco L Kusko1010Brazil2025-04-21
Rodrigues A Schemmer1011Russia2025-04-29
Isabel Q Poquette1012Japan2025-04-22
Aruna W Schemmer1013Australia2025-04-07
Salvatore V Inouye1014Italy2025-04-26
David M Garufi1015France2025-04-08
Smith B Venere1016India2025-04-15
Salvatore E Morasca1017Russia2025-04-02
James Z Ferencz1018Japan2025-04-23
Jefferson I Stenseth1019Spain2025-04-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams A RutaFranceAsiya Javayant QUALIFIED
Munro C GlickFranceAsiya Javayant QUALIFIED
Leja K KolmetzCanadaIoni Bowcher UNQUALIFIED
Maisha L ShinkoAustraliaAnna Fali RENEWAL
Darci S PoquetteArgentinaIoni Bowcher NEW
Murillo P BriddickRussiaIoni Bowcher RENEWAL
Murillo P BologniaGermanyIvan Magalhaes QUALIFIED
Ricardo C FlosiCanadaBernardo Dominic NEW
Claire I FollerAustraliaAnna Fali QUALIFIED
Cody D KuskoCanadaBernardo Dominic RENEWAL
Stacey S AlbaresBrazilAnna Fali NEW
Ivar C WhobreyGermanyAnna Fali RENEWAL
Izzy Q RulapaughRussiaOnyama Limba PROPOSAL
Jeanfrancois R FigeroaAustraliaIoni Bowcher QUALIFIED
Kadeem X BriddickBrazilAsiya Javayant QUALIFIED
David Z FollerJapanAmy Elsner UNQUALIFIED
James G SlusarskiBrazilIoni Bowcher NEGOTIATION
Misaki S WieserFranceIvan Magalhaes PROPOSAL
Ivar S BologniaItalyXuxue Feng NEGOTIATION
Ivar J FollerIndiaAsiya Javayant NEGOTIATION
Tony J MorascaAustraliaOnyama Limba NEW
Leja K PoquetteRussiaBernardo Dominic QUALIFIED
Salvatore N OldroydCanadaAsiya Javayant UNQUALIFIED
Munro R GarufiGermanyXuxue Feng NEW
Mujtaba S BowleyCanadaIvan Magalhaes UNQUALIFIED
Leon B WieserBrazilOnyama Limba QUALIFIED
Wickens J WaycottSpainAsiya Javayant RENEWAL
Adams Z DoeGermanyXuxue Feng QUALIFIED
Morrow O MaletRussiaOnyama Limba RENEWAL
Arvin B AmigonItalyIoni Bowcher NEW
Cody V OldroydUnited KingdomAmy Elsner RENEWAL
Izzy Y MaletBrazilStephen Shaw QUALIFIED
David W PerinIndiaXuxue Feng NEGOTIATION
Aika K RulapaughFranceAmy Elsner UNQUALIFIED
Misaki J AmigonAustraliaBernardo Dominic QUALIFIED
Nicolas D RoysterGermanyAnna Fali PROPOSAL
Ashley W FigeroaBrazilAnna Fali UNQUALIFIED
Costa R MarrierAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin D TollnerSpainStephen Shaw PROPOSAL
Julie B ButtGermanyElwin Sharvill 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>