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 C RoysterFranceIoni Bowcher UNQUALIFIED
Isabel J StockhamCanadaElwin Sharvill NEGOTIATION
Silvio U CampainFranceIoni Bowcher NEW
Aditya Y FollerItalyBernardo Dominic PROPOSAL
Cody N MacleadItalyIoni Bowcher NEW
David Y MarrierGermanyAsiya Javayant PROPOSAL
Tony F DarakjyFranceBernardo Dominic NEW
Sinclair G ShinkoFranceOnyama Limba NEGOTIATION
Wickens W DarakjyGermanyAmy Elsner UNQUALIFIED
James Q InouyeIndiaElwin Sharvill UNQUALIFIED
Chavez J MarrierRussiaAmy Elsner PROPOSAL
Aika W RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Costa J FigeroaRussiaBernardo Dominic NEW
Jones B FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba C IturbideBrazilIoni Bowcher NEW
Stacey W DarakjyCanadaXuxue Feng RENEWAL
Emily A RimIndiaBernardo Dominic RENEWAL
Mujtaba V MorascaIndiaIoni Bowcher NEGOTIATION
Costa C DilliardArgentinaElwin Sharvill NEGOTIATION
Ivar W SlusarskiUnited KingdomOnyama Limba QUALIFIED
Sinclair O MaletJapanBernardo Dominic RENEWAL
James T WaycottGermanyIvan Magalhaes NEGOTIATION
Francesco V WhobreyBrazilElwin Sharvill QUALIFIED
Aika P MacleadItalyStephen Shaw UNQUALIFIED
Julie V GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Claire A MacleadGermanyBernardo Dominic UNQUALIFIED
Rodrigues X RoysterUnited KingdomAsiya Javayant NEW
Misaki I VocelkaBrazilAsiya Javayant QUALIFIED
Antonio S ButtUnited KingdomAnna Fali NEW
Adams G TollnerUnited KingdomIvan Magalhaes RENEWAL
Misaki Y ButtCanadaStephen Shaw PROPOSAL
Morrow F VocelkaCanadaElwin Sharvill UNQUALIFIED
Alejandro T StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Ashley R MaletArgentinaAnna Fali NEGOTIATION
Smith B KuskoCanadaBernardo Dominic NEW
Tony P MacleadJapanIvan Magalhaes UNQUALIFIED
Antonio R BowleyIndiaIoni Bowcher QUALIFIED
Emily C DilliardUnited KingdomIvan Magalhaes PROPOSAL
Juan W NestleCanadaXuxue Feng NEGOTIATION
Jones Y NestleArgentinaBernardo Dominic NEGOTIATION
Cody O SaylorsJapanAnna Fali NEW
Wickens J StockhamAustraliaAmy Elsner NEW
Octavia R GarufiArgentinaElwin Sharvill QUALIFIED
Chavez Z DoeFranceBernardo Dominic NEW
Ashley K MarrierIndiaStephen Shaw PROPOSAL
David K RoysterArgentinaAsiya Javayant QUALIFIED
Maria N WaycottRussiaStephen Shaw NEGOTIATION
Maria Z PerinFranceIvan Magalhaes NEW
Ivar X DarakjyIndiaElwin Sharvill QUALIFIED
Emily G FollerJapanOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin D StensethSpainElwin Sharvill QUALIFIED
Munro W MorascaFranceAmy Elsner NEW
Mayumi L RutaIndiaXuxue Feng RENEWAL
Silvio V TollnerJapanXuxue Feng QUALIFIED
Faith N MorascaAustraliaAsiya Javayant NEGOTIATION
Chavez T FigeroaSpainIoni Bowcher NEW
Emily W BologniaRussiaElwin Sharvill PROPOSAL
Isabel Z OstroskyAustraliaAsiya Javayant PROPOSAL
Maisha W InouyeFranceAsiya Javayant UNQUALIFIED
Claire Y WaycottUnited KingdomXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow U StockhamJapan2025-04-13Feiner Bros RENEWAL95Elwin Sharvill
1001Silvio X RulapaughUnited Kingdom2025-04-02Morlong Associates QUALIFIED47Xuxue Feng
1002Munro D VocelkaBrazil2025-04-16Morlong Associates NEW19Amy Elsner
1003David Y BriddickArgentina2025-04-27Rousseaux, Michael Esq RENEWAL4Onyama Limba
1004Sinclair E FlosiSpain2025-04-20Chemel, James L Cpa QUALIFIED84Asiya Javayant
1005Adams Z RulapaughJapan2025-04-11Feiner Bros RENEWAL17Bernardo Dominic
1006Faith O GauchoBrazil2025-04-10Commercial Press PROPOSAL26Ivan Magalhaes
1007Emily M GarufiItaly2025-04-24Printing Dimensions NEW52Anna Fali
1008Munro F MaletSpain2025-04-20Chemel, James L Cpa NEGOTIATION63Onyama Limba
1009Sinclair E MacleadBrazil2025-04-08Feltz Printing Service QUALIFIED36Asiya Javayant
1010Aditya P NickaRussia2025-04-10Rangoni Of Florence PROPOSAL20Bernardo Dominic
1011Aika O DoeArgentina2025-04-18Feiner Bros UNQUALIFIED55Xuxue Feng
1012Chavez D PaprockiArgentina2025-04-27Buckley Miller Wright QUALIFIED52Asiya Javayant
1013Juan I BowleyAustralia2025-04-21Chemel, James L Cpa QUALIFIED32Asiya Javayant
1014Jeanfrancois Y DoeGermany2025-04-25Printing Dimensions NEGOTIATION43Ivan Magalhaes
1015Emily C WhobreyIndia2025-04-16Chanay, Jeffrey A Esq QUALIFIED66Xuxue Feng
1016Jeanfrancois G TollnerFrance2025-04-11Morlong Associates RENEWAL83Amy Elsner
1017Maisha V FerenczRussia2025-04-26Rousseaux, Michael Esq NEGOTIATION93Ivan Magalhaes
1018Mayumi C DarakjyAustralia2025-03-31Feltz Printing Service NEGOTIATION21Asiya Javayant
1019James N WieserFrance2025-04-11Rangoni Of Florence RENEWAL89Bernardo Dominic
1020Julie C VenereSpain2025-04-03Buckley Miller Wright RENEWAL82Ivan Magalhaes
1021Octavia U GillianBrazil2025-04-17Dorl, James J Esq UNQUALIFIED33Bernardo Dominic
1022Deepesh X GillianSpain2025-04-12Feiner Bros UNQUALIFIED98Asiya Javayant
1023Darci R SchemmerFrance2025-04-03Chapman, Ross E Esq QUALIFIED89Ioni Bowcher
1024Silvio V CaudySpain2025-04-28Commercial Press QUALIFIED94Elwin Sharvill
1025James W ShinkoSpain2025-04-25Feltz Printing Service NEW97Asiya Javayant
1026Leja S PoquetteItaly2025-04-29Feltz Printing Service PROPOSAL16Asiya Javayant
1027Salvatore A MarrierFrance2025-04-09Chanay, Jeffrey A Esq NEW75Anna Fali
1028Silvio C AlbaresArgentina2025-04-26Chemel, James L Cpa PROPOSAL18Asiya Javayant
1029Mayumi Q PaprockiItaly2025-04-16Morlong Associates PROPOSAL51Ivan Magalhaes
1030Kadeem M FollerItaly2025-04-19Commercial Press NEGOTIATION51Anna Fali
1031Jones Q SaylorsRussia2025-04-02Rangoni Of Florence RENEWAL37Amy Elsner
1032James M TollnerGermany2025-04-15Benton, John B Jr NEW9Asiya Javayant
1033Kaitlin F DoeFrance2025-04-20Benton, John B Jr NEGOTIATION60Amy Elsner
1034Antonio L WieserBrazil2025-04-23Buckley Miller Wright NEGOTIATION48Amy Elsner
1035Morrow G NickaSpain2025-04-12Chapman, Ross E Esq RENEWAL19Stephen Shaw
1036Aika W OldroydArgentina2025-04-05Rangoni Of Florence NEGOTIATION82Ioni Bowcher
1037Salvatore K SchemmerUnited Kingdom2025-04-28Chapman, Ross E Esq NEW35Xuxue Feng
1038Ivar P StockhamSpain2025-04-21Commercial Press NEGOTIATION8Stephen Shaw
1039Ricardo C MarrierSpain2025-04-19Feltz Printing Service RENEWAL17Onyama Limba
1040Arvin K TollnerIndia2025-04-12Morlong Associates PROPOSAL90Bernardo Dominic
1041Leon S WhobreyJapan2025-04-04Printing Dimensions NEGOTIATION59Onyama Limba
1042Alejandro S OstroskyGermany2025-04-17Buckley Miller Wright PROPOSAL8Amy Elsner
1043Julie E AmigonAustralia2025-04-28Dorl, James J Esq NEGOTIATION53Elwin Sharvill
1044Clifford R AmigonSpain2025-04-03Feiner Bros RENEWAL8Onyama Limba
1045Francesco K NestleBrazil2025-04-28Chanay, Jeffrey A Esq RENEWAL54Anna Fali
1046Adams D MorascaUnited Kingdom2025-04-26Dorl, James J Esq RENEWAL93Ioni Bowcher
1047Murillo C CampainSpain2025-04-14Benton, John B Jr UNQUALIFIED7Amy Elsner
1048Darci K TollnerJapan2025-04-08Feiner Bros RENEWAL42Onyama Limba
1049Jefferson J GlickRussia2025-04-11Rousseaux, Michael Esq NEW35Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mayumi K AmigonRussiaStephen Shaw QUALIFIED
Aditya Z FollerCanadaAsiya Javayant PROPOSAL
Aditya Q MorascaAustraliaAmy Elsner NEW
Munro U MarrierFranceOnyama Limba NEGOTIATION
Leon B DarakjyCanadaOnyama Limba PROPOSAL
Ivar I DoeRussiaStephen Shaw QUALIFIED
Smith S MaletIndiaElwin Sharvill PROPOSAL
Kaitlin S KolmetzItalyAnna Fali UNQUALIFIED
Claire E SergiRussiaBernardo Dominic PROPOSAL
Costa N MaletItalyXuxue Feng RENEWAL
James W MarrierAustraliaElwin Sharvill UNQUALIFIED
Greenwood S BriddickAustraliaIvan Magalhaes NEGOTIATION
Wickens L CaudyIndiaElwin Sharvill NEGOTIATION
Chavez M StensethSpainAmy Elsner NEGOTIATION
Rodrigues A RulapaughCanadaIoni Bowcher UNQUALIFIED
Leon Q SergiGermanyAmy Elsner RENEWAL
Silvio N VocelkaAustraliaIvan Magalhaes RENEWAL
Jeanfrancois K PoquetteBrazilIvan Magalhaes UNQUALIFIED
Isabel S AmigonAustraliaIvan Magalhaes RENEWAL
Alejandro M SchemmerSpainElwin Sharvill NEW
Maisha N WieserRussiaBernardo Dominic NEW
Cody W RimGermanyAmy Elsner RENEWAL
Alejandro U BriddickItalyOnyama Limba NEGOTIATION
Jefferson F VocelkaFranceAmy Elsner NEW
Clifford U BologniaRussiaElwin Sharvill PROPOSAL
Mujtaba A WaycottItalyIoni Bowcher RENEWAL
Adams J TollnerUnited KingdomIvan Magalhaes PROPOSAL
Sinclair Q IturbideIndiaBernardo Dominic QUALIFIED
Arvin W KolmetzSpainIoni Bowcher UNQUALIFIED
Jones N FigeroaArgentinaOnyama Limba UNQUALIFIED
Aika Z GauchoJapanElwin Sharvill NEGOTIATION
Johnson T PerinUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair T SergiAustraliaAnna Fali NEGOTIATION
Ricardo L FigeroaSpainIoni Bowcher PROPOSAL
Misaki S MorascaJapanBernardo Dominic NEW
Leon J MacleadRussiaBernardo Dominic PROPOSAL
Morrow M SlusarskiGermanyIoni Bowcher PROPOSAL
Kaitlin U BriddickArgentinaIvan Magalhaes NEW
Jefferson B NestleAustraliaAmy Elsner RENEWAL
Johnson B SchemmerCanadaIvan Magalhaes NEW
Aruna I SaylorsIndiaStephen Shaw UNQUALIFIED
Claire U ButtAustraliaOnyama Limba RENEWAL
Tony H MacleadGermanyXuxue Feng RENEWAL
Wickens U VenereSpainAnna Fali QUALIFIED
Cody I RoysterIndiaStephen Shaw RENEWAL
Munro N MacleadJapanElwin Sharvill NEGOTIATION
Adams M SergiRussiaAnna Fali NEW
Leon M PaprockiSpainXuxue Feng PROPOSAL
Greenwood A PaprockiGermanyAsiya Javayant RENEWAL
Jones R GarufiIndiaAnna Fali QUALIFIED
Frozen Columns
Name
Murillo V Whobrey
Leja W Campain
Jefferson K Rulapaugh
Sinclair Z Schemmer
Salvatore N Glick
Claire M Garufi
Octavia K Foller
Octavia P Nicka
Emily R Inouye
Jeanfrancois A Iturbide
Maria D Poquette
Emily V Ostrosky
Cody J Stenseth
Jefferson K Nestle
Isabel P Slusarski
Izzy X Tollner
Izzy L Inouye
Tony W Slusarski
Johnson Y Ferencz
Clifford M Kusko
Costa M Nestle
Tony N Waycott
Smith F Amigon
Clifford K Inouye
Ricardo U Caudy
Johnson A Rim
Adams Z Inouye
Munro D Morasca
Salvatore Q Flosi
James Q Iturbide
Octavia J Maclead
Leon H Ferencz
Morrow P Sergi
Darci R Nicka
Ricardo R Wieser
Ivar Q Bowley
Tony A Briddick
Emily F Ostrosky
Darci A Vocelka
Mayumi D Nestle
Antonio Z Caldarera
Stacey L Albares
Izzy I Malet
Nicolas X Amigon
Leon W Royster
Leja O Waycott
James X Flosi
Greenwood X Perin
Kadeem K Kolmetz
Ashley I Stockham
IdCountryDate
1000Argentina2025-04-22
1001Spain2025-04-05
1002Australia2025-04-04
1003Canada2025-04-04
1004United Kingdom2025-04-13
1005Japan2025-04-07
1006Russia2025-04-05
1007Australia2025-04-27
1008France2025-04-09
1009United Kingdom2025-04-06
1010Germany2025-04-09
1011Argentina2025-04-23
1012Germany2025-04-10
1013Argentina2025-04-05
1014Russia2025-04-03
1015United Kingdom2025-04-07
1016Australia2025-04-29
1017India2025-04-02
1018France2025-04-06
1019Canada2025-04-01
1020Russia2025-04-13
1021India2025-04-01
1022Russia2025-04-03
1023Canada2025-04-09
1024Russia2025-04-17
1025Spain2025-04-23
1026Argentina2025-04-13
1027India2025-04-11
1028Italy2025-04-20
1029Australia2025-04-07
1030Germany2025-04-02
1031France2025-04-01
1032Germany2025-04-01
1033United Kingdom2025-04-18
1034Spain2025-04-21
1035United Kingdom2025-04-02
1036Spain2025-04-15
1037Germany2025-04-20
1038Spain2025-04-06
1039India2025-04-28
1040Australia2025-04-23
1041United Kingdom2025-04-22
1042Russia2025-04-07
1043Argentina2025-04-04
1044Spain2025-04-17
1045Argentina2025-04-03
1046Argentina2025-04-16
1047Germany2025-04-28
1048India2025-04-15
1049Australia2025-04-24

On-Demand Data

NameIdCountryDate
Stacey Q Gaucho1000Italy2025-04-25
Ricardo R Royster1001France2025-04-11
Arvin Z Rulapaugh1002Australia2025-04-28
Ashley G Flosi1003Argentina2025-04-05
Johnson F Kolmetz1004Italy2025-04-20
Jones O Ruta1005Russia2025-04-27
Maria V Venere1006Russia2025-04-04
Aika U Chui1007Argentina2025-04-28
Johnson J Marrier1008Spain2025-04-13
Morrow O Doe1009Canada2025-04-08
Faith X Inouye1010Italy2025-04-11
Alejandro R Rulapaugh1011Brazil2025-04-24
Stacey S Maclead1012Argentina2025-04-26
Adams V Malet1013India2025-04-22
Jones R Doe1014Japan2025-04-09
Morrow L Caudy1015United Kingdom2025-04-02
Stacey Y Iturbide1016Argentina2025-04-05
Mayumi V Chui1017Australia2025-04-11
Darci A Figeroa1018India2025-04-29
Kadeem T Royster1019France2025-04-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody A BologniaFranceOnyama Limba NEW
Aditya D AmigonAustraliaElwin Sharvill RENEWAL
Darci G FollerFranceIoni Bowcher RENEWAL
Jones K AmigonAustraliaAnna Fali NEGOTIATION
Morrow U TollnerItalyAmy Elsner QUALIFIED
Maria S StockhamItalyIvan Magalhaes NEGOTIATION
Jones J RoysterFranceXuxue Feng QUALIFIED
Aruna E WhobreyUnited KingdomOnyama Limba RENEWAL
Izzy E RulapaughBrazilAnna Fali PROPOSAL
Morrow B WieserSpainElwin Sharvill NEW
Jefferson Z KolmetzSpainBernardo Dominic QUALIFIED
Mayumi W MorascaSpainOnyama Limba NEW
Maisha B DoeUnited KingdomIvan Magalhaes PROPOSAL
Nicolas I GillianAustraliaOnyama Limba QUALIFIED
Leja E RimCanadaIoni Bowcher QUALIFIED
Juan W StockhamCanadaAsiya Javayant NEGOTIATION
Faith V SlusarskiAustraliaAmy Elsner QUALIFIED
Leon P BriddickRussiaOnyama Limba NEGOTIATION
Cody S PaprockiBrazilXuxue Feng NEW
Greenwood K RutaIndiaOnyama Limba QUALIFIED
James Y FigeroaGermanyIvan Magalhaes RENEWAL
Mujtaba K CampainJapanBernardo Dominic UNQUALIFIED
Aruna I FigeroaAustraliaElwin Sharvill QUALIFIED
Silvio O RimUnited KingdomAmy Elsner RENEWAL
Arvin J DilliardUnited KingdomBernardo Dominic NEW
Ashley Y MacleadRussiaStephen Shaw UNQUALIFIED
Francesco O DoeJapanXuxue Feng PROPOSAL
Aika A ButtItalyOnyama Limba NEGOTIATION
Aika V FollerIndiaBernardo Dominic QUALIFIED
Mayumi Q WhobreyItalyAsiya Javayant RENEWAL
Jeanfrancois Z WieserArgentinaElwin Sharvill NEW
Emily D PerinCanadaOnyama Limba NEGOTIATION
Izzy K CaldareraIndiaAmy Elsner NEW
Izzy N BriddickFranceBernardo Dominic NEGOTIATION
Morrow U WhobreyAustraliaAsiya Javayant QUALIFIED
Mujtaba I VocelkaBrazilAmy Elsner NEW
Tony S FerenczBrazilIvan Magalhaes UNQUALIFIED
Jennifer I MorascaCanadaAsiya Javayant NEW
Tony Y BologniaBrazilElwin Sharvill PROPOSAL
Clifford S BowleyAustraliaXuxue Feng UNQUALIFIED

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