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
James T WhobreyItalyIoni Bowcher RENEWAL
Jennifer J MaletAustraliaOnyama Limba NEW
Francesco B MorascaRussiaIoni Bowcher PROPOSAL
Mayumi V BowleyRussiaIvan Magalhaes QUALIFIED
Morrow F SergiIndiaOnyama Limba NEW
Antonio V RoysterBrazilIvan Magalhaes NEGOTIATION
Jennifer V InouyeItalyIvan Magalhaes NEW
Silvio Z DarakjySpainAsiya Javayant QUALIFIED
Nicolas F SchemmerUnited KingdomAmy Elsner NEGOTIATION
Chavez H MaletJapanAsiya Javayant QUALIFIED
Emily V IturbideCanadaElwin Sharvill NEW
Silvio A NestleSpainStephen Shaw QUALIFIED
Claire K FlosiGermanyIvan Magalhaes UNQUALIFIED
Aruna J GlickItalyAnna Fali UNQUALIFIED
Aditya P StensethArgentinaXuxue Feng UNQUALIFIED
Johnson V RoysterRussiaXuxue Feng QUALIFIED
Silvio R ChuiGermanyIoni Bowcher NEGOTIATION
Wickens R StockhamCanadaXuxue Feng NEW
Juan F WaycottSpainOnyama Limba PROPOSAL
Isabel N PerinItalyOnyama Limba RENEWAL
Arvin X WhobreyJapanOnyama Limba PROPOSAL
Costa Q CampainSpainXuxue Feng PROPOSAL
Octavia G PoquetteIndiaOnyama Limba NEW
Mujtaba D ShinkoIndiaIoni Bowcher QUALIFIED
Adams Z StockhamItalyXuxue Feng UNQUALIFIED
Jennifer B CaudyUnited KingdomIoni Bowcher NEW
Smith L RulapaughFranceOnyama Limba QUALIFIED
Rodrigues N BriddickItalyIoni Bowcher NEGOTIATION
Clifford V AmigonSpainAsiya Javayant PROPOSAL
Jennifer B RimFranceAsiya Javayant UNQUALIFIED
David J MacleadGermanyOnyama Limba NEGOTIATION
Jefferson Q WieserGermanyAsiya Javayant UNQUALIFIED
Juan W FigeroaGermanyAsiya Javayant NEW
Wickens K SchemmerCanadaStephen Shaw NEGOTIATION
Jennifer U OldroydItalyOnyama Limba NEW
Johnson U FlosiAustraliaBernardo Dominic NEW
Maria L FollerArgentinaAnna Fali QUALIFIED
Leon R OstroskyItalyAmy Elsner NEW
Munro L ShinkoItalyStephen Shaw QUALIFIED
Mayumi Q RimFranceAmy Elsner NEW
Murillo F DoeGermanyIoni Bowcher PROPOSAL
Alejandro W RoysterAustraliaAsiya Javayant PROPOSAL
Munro M ShinkoGermanyOnyama Limba PROPOSAL
Nicolas P ShinkoCanadaAnna Fali PROPOSAL
Deepesh Q GauchoGermanyBernardo Dominic RENEWAL
Silvio P RulapaughGermanyElwin Sharvill NEW
Maria J InouyeUnited KingdomBernardo Dominic QUALIFIED
Salvatore S DarakjyFranceOnyama Limba UNQUALIFIED
Jones V KuskoIndiaBernardo Dominic UNQUALIFIED
Izzy I GillianFranceAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood B ButtGermanyElwin Sharvill UNQUALIFIED
Aditya D RimIndiaAmy Elsner UNQUALIFIED
Munro J RimFranceIoni Bowcher RENEWAL
Kadeem X VocelkaUnited KingdomAnna Fali NEGOTIATION
Aika X KolmetzJapanElwin Sharvill UNQUALIFIED
Ricardo C CaudyUnited KingdomIvan Magalhaes QUALIFIED
Greenwood C MorascaArgentinaElwin Sharvill UNQUALIFIED
Aditya L ButtFranceIoni Bowcher PROPOSAL
Jeanfrancois T WhobreyJapanOnyama Limba UNQUALIFIED
Octavia J RimGermanyAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio O ButtIndia2025-04-28Feiner Bros QUALIFIED83Amy Elsner
1001Jennifer Q DoeUnited Kingdom2025-04-16Rangoni Of Florence NEGOTIATION56Stephen Shaw
1002Deepesh V PoquetteArgentina2025-04-04King, Christopher A Esq PROPOSAL81Onyama Limba
1003Rodrigues R DilliardBrazil2025-04-13Dorl, James J Esq PROPOSAL30Xuxue Feng
1004Deepesh Q BowleyArgentina2025-04-25Chanay, Jeffrey A Esq QUALIFIED47Ivan Magalhaes
1005Sinclair H BriddickIndia2025-04-10Chemel, James L Cpa PROPOSAL85Anna Fali
1006Salvatore L KuskoJapan2025-04-18Morlong Associates NEW71Ivan Magalhaes
1007Aika P CaudySpain2025-04-04Morlong Associates NEW20Onyama Limba
1008Sinclair Z RimGermany2025-04-07Benton, John B Jr RENEWAL29Xuxue Feng
1009Emily F RulapaughAustralia2025-04-23Morlong Associates QUALIFIED1Onyama Limba
1010Tony V OstroskyRussia2025-03-31Benton, John B Jr QUALIFIED68Asiya Javayant
1011Wickens T WaycottGermany2025-04-08Printing Dimensions NEW78Bernardo Dominic
1012Leja V KuskoCanada2025-04-16Feltz Printing Service PROPOSAL42Asiya Javayant
1013Jennifer E WaycottRussia2025-04-16Chemel, James L Cpa UNQUALIFIED70Onyama Limba
1014Julie D AmigonItaly2025-04-10Chapman, Ross E Esq QUALIFIED49Ivan Magalhaes
1015Emily F VocelkaUnited Kingdom2025-04-02Rangoni Of Florence UNQUALIFIED44Ioni Bowcher
1016Ricardo M DarakjyJapan2025-04-06Rousseaux, Michael Esq PROPOSAL20Bernardo Dominic
1017Emily T MaletCanada2025-04-20Printing Dimensions NEW95Stephen Shaw
1018Greenwood G WieserSpain2025-04-02Commercial Press PROPOSAL92Amy Elsner
1019Cody W MaletUnited Kingdom2025-04-20Feiner Bros NEGOTIATION58Xuxue Feng
1020Jefferson N InouyeArgentina2025-04-09Printing Dimensions RENEWAL22Xuxue Feng
1021Leon E KuskoItaly2025-04-20Feiner Bros NEGOTIATION44Stephen Shaw
1022Mayumi R RutaArgentina2025-04-01Dorl, James J Esq NEGOTIATION76Xuxue Feng
1023Greenwood D VocelkaArgentina2025-04-26Rangoni Of Florence QUALIFIED78Asiya Javayant
1024Ricardo J ButtIndia2025-04-26Chemel, James L Cpa PROPOSAL89Xuxue Feng
1025Darci H SlusarskiGermany2025-04-05Rangoni Of Florence PROPOSAL95Anna Fali
1026Faith X MacleadArgentina2025-04-18Chemel, James L Cpa NEW0Amy Elsner
1027Emily C ShinkoAustralia2025-04-18Benton, John B Jr NEW73Asiya Javayant
1028Jennifer M NestleSpain2025-04-04Rousseaux, Michael Esq UNQUALIFIED44Amy Elsner
1029Kaitlin U FigeroaRussia2025-04-03Feltz Printing Service UNQUALIFIED40Bernardo Dominic
1030Nicolas S BriddickItaly2025-04-27Dorl, James J Esq NEW64Ivan Magalhaes
1031Mayumi R PoquetteSpain2025-04-11Truhlar And Truhlar Attys QUALIFIED80Amy Elsner
1032Juan Q MacleadIndia2025-04-03Truhlar And Truhlar Attys UNQUALIFIED4Asiya Javayant
1033Jones W PaprockiSpain2025-04-22Commercial Press QUALIFIED73Elwin Sharvill
1034Maisha P StensethJapan2025-04-29Printing Dimensions PROPOSAL88Ivan Magalhaes
1035Aditya J RulapaughGermany2025-04-07King, Christopher A Esq NEGOTIATION26Bernardo Dominic
1036Murillo N WieserRussia2025-04-06Chemel, James L Cpa UNQUALIFIED7Stephen Shaw
1037Claire A NickaFrance2025-04-03Printing Dimensions NEW75Stephen Shaw
1038Munro K MacleadUnited Kingdom2025-04-08Feltz Printing Service PROPOSAL2Stephen Shaw
1039Alejandro V RimRussia2025-04-08Rousseaux, Michael Esq NEGOTIATION71Onyama Limba
1040Murillo W SchemmerSpain2025-04-13Chemel, James L Cpa NEW0Xuxue Feng
1041Faith U StockhamJapan2025-04-02Chapman, Ross E Esq QUALIFIED61Onyama Limba
1042Mayumi H SchemmerUnited Kingdom2025-04-13Rousseaux, Michael Esq RENEWAL23Ivan Magalhaes
1043James G SaylorsAustralia2025-04-05Buckley Miller Wright UNQUALIFIED6Elwin Sharvill
1044Alejandro N AlbaresFrance2025-04-01Rangoni Of Florence QUALIFIED60Anna Fali
1045Ashley V RoysterArgentina2025-04-22King, Christopher A Esq RENEWAL48Ivan Magalhaes
1046Claire K ChuiRussia2025-03-31Rousseaux, Michael Esq NEGOTIATION15Amy Elsner
1047Wickens N NickaIndia2025-04-20Printing Dimensions NEW55Onyama Limba
1048Silvio I FerenczAustralia2025-04-02Feiner Bros QUALIFIED95Onyama Limba
1049Wickens Z GauchoRussia2025-04-11Chanay, Jeffrey A Esq RENEWAL57Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Arvin K GillianUnited KingdomAmy Elsner NEW
Tony L RutaFranceOnyama Limba NEGOTIATION
Nicolas B ChuiGermanyXuxue Feng PROPOSAL
Jones C BriddickCanadaIvan Magalhaes UNQUALIFIED
Morrow S GauchoFranceStephen Shaw UNQUALIFIED
Sinclair Q InouyeBrazilAmy Elsner PROPOSAL
Antonio O RoysterAustraliaElwin Sharvill PROPOSAL
Isabel J FerenczJapanAmy Elsner NEGOTIATION
Johnson H KolmetzFranceBernardo Dominic PROPOSAL
Francesco Y StockhamIndiaIvan Magalhaes NEGOTIATION
Ricardo G AmigonUnited KingdomIoni Bowcher QUALIFIED
Wickens V SlusarskiGermanyAmy Elsner UNQUALIFIED
Sinclair K ButtSpainIoni Bowcher PROPOSAL
Leon K IturbideSpainAmy Elsner QUALIFIED
Jennifer H SergiAustraliaBernardo Dominic UNQUALIFIED
Antonio M RoysterArgentinaAsiya Javayant RENEWAL
Claire D DilliardGermanyBernardo Dominic RENEWAL
Ivar D NestleBrazilBernardo Dominic UNQUALIFIED
David D KolmetzUnited KingdomXuxue Feng NEW
Octavia D GlickSpainOnyama Limba NEW
Aika M DarakjyIndiaAnna Fali UNQUALIFIED
David P VenereItalyElwin Sharvill QUALIFIED
Deepesh D DoeIndiaIvan Magalhaes RENEWAL
Salvatore Z IturbideItalyAnna Fali PROPOSAL
Isabel S ButtCanadaOnyama Limba QUALIFIED
Octavia E TollnerCanadaAnna Fali NEW
Faith O RulapaughAustraliaStephen Shaw NEGOTIATION
Greenwood N SchemmerGermanyElwin Sharvill RENEWAL
Johnson Y GarufiCanadaOnyama Limba PROPOSAL
Stacey H MaletUnited KingdomIvan Magalhaes NEW
Ashley U VenereSpainIoni Bowcher PROPOSAL
Aditya Y MorascaGermanyOnyama Limba NEGOTIATION
Munro E GillianRussiaOnyama Limba UNQUALIFIED
Kaitlin J RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin J BowleyIndiaXuxue Feng NEW
Deepesh T DarakjyBrazilOnyama Limba PROPOSAL
James G PoquetteBrazilAnna Fali QUALIFIED
Izzy H KuskoItalyAmy Elsner RENEWAL
Juan O SergiBrazilAsiya Javayant NEW
Leon H RutaUnited KingdomStephen Shaw NEW
Izzy Z SchemmerJapanAsiya Javayant NEW
Antonio B OstroskyIndiaAmy Elsner PROPOSAL
Clifford Y CaldareraGermanyAnna Fali NEW
Francesco E GarufiArgentinaIvan Magalhaes PROPOSAL
Stacey S KuskoGermanyStephen Shaw RENEWAL
Izzy E KuskoBrazilAmy Elsner NEGOTIATION
Darci V AmigonArgentinaAnna Fali NEGOTIATION
Costa O MaletFranceIvan Magalhaes UNQUALIFIED
Kadeem M VenereBrazilStephen Shaw RENEWAL
James J DilliardCanadaOnyama Limba PROPOSAL
Frozen Columns
Name
Faith G Royster
Aditya Y Darakjy
Greenwood W Albares
Antonio F Oldroyd
Leja Z Chui
Ricardo M Kusko
Jefferson N Amigon
Nicolas N Marrier
James Q Rim
Ivar I Schemmer
Silvio U Morasca
Alejandro W Glick
Murillo D Briddick
Murillo D Nestle
Costa Q Iturbide
David L Maclead
Murillo P Ruta
Silvio O Kolmetz
Kaitlin S Briddick
Kaitlin G Ruta
Mujtaba F Whobrey
Aditya H Rulapaugh
Kadeem J Waycott
David F Saylors
Chavez A Ostrosky
Izzy E Chui
Munro L Flosi
Murillo F Iturbide
Sinclair H Whobrey
Leja U Tollner
Leja M Perin
Jennifer T Gillian
Munro A Shinko
Jefferson I Caldarera
Chavez Q Whobrey
Kaitlin O Rim
Jones N Nestle
Ricardo H Iturbide
Murillo T Flosi
Jones Z Waycott
Wickens L Tollner
Alejandro H Briddick
Ashley O Amigon
Juan V Albares
Wickens A Slusarski
Juan R Maclead
Johnson L Tollner
Aika W Butt
Francesco B Doe
Emily S Rim
IdCountryDate
1000Italy2025-04-25
1001Germany2025-04-27
1002Spain2025-04-20
1003Russia2025-04-14
1004Russia2025-04-25
1005Japan2025-04-15
1006India2025-04-29
1007France2025-04-21
1008India2025-04-07
1009Canada2025-04-24
1010Germany2025-04-09
1011Japan2025-04-22
1012India2025-04-15
1013United Kingdom2025-04-25
1014Canada2025-04-23
1015Italy2025-03-31
1016Canada2025-04-18
1017Japan2025-04-19
1018Brazil2025-04-07
1019Japan2025-04-18
1020Russia2025-04-11
1021Russia2025-04-17
1022Australia2025-04-10
1023United Kingdom2025-04-11
1024Australia2025-04-12
1025India2025-04-26
1026India2025-04-16
1027Brazil2025-04-23
1028Russia2025-04-01
1029Russia2025-04-26
1030Spain2025-04-16
1031Russia2025-04-07
1032Russia2025-04-02
1033India2025-04-13
1034Italy2025-04-14
1035Spain2025-04-29
1036United Kingdom2025-03-31
1037Japan2025-04-29
1038India2025-04-19
1039Argentina2025-04-12
1040Australia2025-04-24
1041Russia2025-04-09
1042United Kingdom2025-04-13
1043Japan2025-04-24
1044Australia2025-04-09
1045United Kingdom2025-04-11
1046Russia2025-04-10
1047France2025-04-29
1048Australia2025-04-10
1049Italy2025-04-05

On-Demand Data

NameIdCountryDate
Cody P Glick1000Brazil2025-04-06
Ashley L Flosi1001Spain2025-04-13
Salvatore X Foller1002India2025-04-25
Costa S Kolmetz1003India2025-04-22
Stacey E Vocelka1004Japan2025-04-22
Ivar G Iturbide1005United Kingdom2025-04-13
Isabel M Figeroa1006Japan2025-04-18
Ricardo W Kusko1007Italy2025-04-12
Ivar T Shinko1008Italy2025-04-21
Francesco U Chui1009Argentina2025-04-14
Ivar Z Poquette1010Japan2025-04-20
Chavez B Morasca1011Brazil2025-04-24
Octavia A Dilliard1012Canada2025-04-09
Morrow W Albares1013Canada2025-03-31
Silvio O Kusko1014Italy2025-04-04
Silvio D Poquette1015India2025-04-10
Ashley X Glick1016France2025-04-22
Sinclair X Saylors1017Spain2025-04-22
Mujtaba H Malet1018Japan2025-04-22
James K Inouye1019Italy2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore C AmigonIndiaXuxue Feng NEGOTIATION
Rodrigues F CaldareraCanadaXuxue Feng NEGOTIATION
Jones S DarakjyCanadaIvan Magalhaes NEW
Jefferson I MacleadArgentinaStephen Shaw PROPOSAL
Mayumi M ShinkoFranceElwin Sharvill NEGOTIATION
Wickens O VocelkaFranceOnyama Limba NEGOTIATION
Rodrigues V NestleArgentinaIoni Bowcher NEGOTIATION
Isabel S BowleyAustraliaIvan Magalhaes QUALIFIED
Leja Y MorascaSpainXuxue Feng RENEWAL
Nicolas H CampainRussiaAnna Fali UNQUALIFIED
Chavez C CaudyGermanyIoni Bowcher NEW
Izzy Y NickaGermanyXuxue Feng RENEWAL
Stacey K WhobreyGermanyAnna Fali NEW
James Y MaletCanadaStephen Shaw QUALIFIED
Julie S BologniaAustraliaAnna Fali NEGOTIATION
Greenwood C FollerJapanAsiya Javayant RENEWAL
Wickens C WieserSpainAsiya Javayant PROPOSAL
Johnson P VocelkaJapanXuxue Feng RENEWAL
Juan G IturbideItalyElwin Sharvill QUALIFIED
Arvin T FigeroaFranceStephen Shaw PROPOSAL
Francesco A OstroskySpainBernardo Dominic NEGOTIATION
Julie U BologniaJapanBernardo Dominic NEW
Rodrigues G VocelkaCanadaBernardo Dominic NEGOTIATION
Tony B SergiArgentinaStephen Shaw UNQUALIFIED
Claire R FigeroaArgentinaAnna Fali NEGOTIATION
Aditya I FigeroaArgentinaAnna Fali PROPOSAL
Jones Q KuskoAustraliaElwin Sharvill NEGOTIATION
Leon J NestleJapanIoni Bowcher QUALIFIED
Antonio N GlickBrazilElwin Sharvill RENEWAL
Octavia U DilliardRussiaBernardo Dominic PROPOSAL
Aika Y RulapaughJapanIoni Bowcher NEGOTIATION
Aika J WhobreyItalyIvan Magalhaes UNQUALIFIED
Rodrigues T SaylorsIndiaOnyama Limba NEGOTIATION
Aika L MorascaCanadaAmy Elsner PROPOSAL
Jefferson M DilliardRussiaOnyama Limba UNQUALIFIED
Kaitlin Z FollerAustraliaAsiya Javayant NEGOTIATION
Francesco B TollnerFranceIoni Bowcher NEW
Octavia D RutaFranceElwin Sharvill QUALIFIED
Alejandro P MarrierSpainAsiya Javayant NEGOTIATION
James G FollerBrazilBernardo Dominic 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>