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
Izzy D WieserAustraliaAsiya Javayant NEW
Kadeem Y SergiJapanStephen Shaw PROPOSAL
Arvin A FerenczIndiaElwin Sharvill PROPOSAL
Nicolas K ButtBrazilOnyama Limba NEGOTIATION
Maria B BologniaIndiaXuxue Feng NEW
Julie P RulapaughRussiaAmy Elsner NEW
Octavia Y GlickAustraliaBernardo Dominic UNQUALIFIED
Clifford U GauchoAustraliaAnna Fali RENEWAL
Mujtaba B BowleyFranceAmy Elsner NEW
Leon G OstroskyBrazilStephen Shaw PROPOSAL
Clifford Q AlbaresItalyAsiya Javayant QUALIFIED
Alejandro N FlosiJapanStephen Shaw RENEWAL
Darci W GarufiIndiaIoni Bowcher UNQUALIFIED
Adams W PaprockiCanadaXuxue Feng RENEWAL
Arvin B MarrierSpainIvan Magalhaes NEW
Ricardo P RutaAustraliaIvan Magalhaes QUALIFIED
Octavia P DoeSpainElwin Sharvill RENEWAL
Jennifer C VocelkaRussiaAnna Fali RENEWAL
Ricardo A FigeroaBrazilAsiya Javayant NEW
Chavez B RutaIndiaXuxue Feng PROPOSAL
Izzy A WhobreyArgentinaStephen Shaw NEGOTIATION
Francesco E ShinkoGermanyOnyama Limba NEW
Antonio S FlosiIndiaAsiya Javayant UNQUALIFIED
Deepesh S WieserCanadaBernardo Dominic QUALIFIED
Murillo Q VenereIndiaAsiya Javayant QUALIFIED
Greenwood G RoysterSpainElwin Sharvill NEW
Murillo Q IturbideArgentinaAmy Elsner NEGOTIATION
Leon Z BriddickFranceAmy Elsner PROPOSAL
Smith K RulapaughCanadaOnyama Limba NEW
Murillo W RimCanadaOnyama Limba NEGOTIATION
Ricardo I DarakjyAustraliaBernardo Dominic NEW
Ricardo W TollnerGermanyAmy Elsner NEGOTIATION
Emily Z SchemmerCanadaStephen Shaw PROPOSAL
Emily A DoeUnited KingdomElwin Sharvill UNQUALIFIED
Ashley W RimCanadaIvan Magalhaes NEW
Misaki V BologniaFranceStephen Shaw RENEWAL
Kaitlin E RimSpainAmy Elsner QUALIFIED
David F MacleadArgentinaAmy Elsner QUALIFIED
Arvin J PaprockiItalyOnyama Limba UNQUALIFIED
Jefferson E GauchoJapanAmy Elsner QUALIFIED
Jefferson Y FerenczAustraliaIoni Bowcher NEGOTIATION
Aika K CaudyIndiaAnna Fali UNQUALIFIED
Faith R SlusarskiSpainOnyama Limba PROPOSAL
Claire V WhobreyIndiaStephen Shaw RENEWAL
Maria L RimFranceAsiya Javayant NEW
Emily K GlickFranceAmy Elsner NEGOTIATION
Leja K OldroydAustraliaXuxue Feng UNQUALIFIED
Mujtaba X MaletCanadaStephen Shaw NEW
Kadeem Y FlosiItalyXuxue Feng UNQUALIFIED
Francesco P DoeRussiaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens L VenereArgentinaIvan Magalhaes NEGOTIATION
Izzy M NestleBrazilIoni Bowcher NEW
Tony E SchemmerArgentinaOnyama Limba UNQUALIFIED
Mayumi G SchemmerUnited KingdomAmy Elsner NEW
Munro S NestleGermanyBernardo Dominic RENEWAL
Kaitlin V GauchoSpainAnna Fali QUALIFIED
Jones A KolmetzUnited KingdomAmy Elsner PROPOSAL
Nicolas B DarakjyIndiaXuxue Feng NEW
Morrow J SaylorsGermanyBernardo Dominic PROPOSAL
David O SchemmerAustraliaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody Y MorascaGermany2025-05-18Commercial Press UNQUALIFIED30Ivan Magalhaes
1001Octavia V IturbideItaly2025-06-16Feiner Bros NEGOTIATION36Amy Elsner
1002Maisha V ChuiRussia2025-05-25Rousseaux, Michael Esq NEGOTIATION52Anna Fali
1003Sinclair Y RoysterBrazil2025-05-26Buckley Miller Wright QUALIFIED85Ivan Magalhaes
1004Chavez Q MaletAustralia2025-05-20Feltz Printing Service NEGOTIATION90Onyama Limba
1005James V MacleadCanada2025-06-10Chemel, James L Cpa UNQUALIFIED25Xuxue Feng
1006Jones H RutaAustralia2025-05-23Dorl, James J Esq NEW20Onyama Limba
1007Izzy B WieserJapan2025-05-22Morlong Associates QUALIFIED4Bernardo Dominic
1008Silvio B SergiIndia2025-06-11Feiner Bros NEGOTIATION99Elwin Sharvill
1009Morrow C VenereCanada2025-05-29Commercial Press RENEWAL51Stephen Shaw
1010Jefferson Q MorascaCanada2025-06-08Chemel, James L Cpa QUALIFIED48Anna Fali
1011Octavia A OstroskyBrazil2025-05-30Buckley Miller Wright PROPOSAL62Amy Elsner
1012Deepesh X BologniaAustralia2025-06-09Chapman, Ross E Esq RENEWAL34Asiya Javayant
1013Arvin F ShinkoAustralia2025-05-27Benton, John B Jr NEW32Asiya Javayant
1014Antonio B MacleadItaly2025-06-08Dorl, James J Esq NEGOTIATION27Asiya Javayant
1015Mujtaba F IturbideArgentina2025-05-21Truhlar And Truhlar Attys PROPOSAL78Anna Fali
1016Wickens Q ButtIndia2025-06-07Chapman, Ross E Esq RENEWAL87Amy Elsner
1017Sinclair P TollnerBrazil2025-06-10Truhlar And Truhlar Attys NEW31Ioni Bowcher
1018Chavez V RoysterIndia2025-06-03Buckley Miller Wright NEW93Ioni Bowcher
1019Tony N FlosiSpain2025-05-27Commercial Press UNQUALIFIED15Xuxue Feng
1020Maisha L BowleyAustralia2025-05-28Chapman, Ross E Esq RENEWAL52Amy Elsner
1021Ricardo Z KuskoGermany2025-06-04Feiner Bros RENEWAL27Xuxue Feng
1022Antonio Z MarrierItaly2025-06-13Morlong Associates PROPOSAL76Ivan Magalhaes
1023Mujtaba Z MaletJapan2025-06-05Chapman, Ross E Esq PROPOSAL22Onyama Limba
1024James T WieserAustralia2025-06-10Buckley Miller Wright RENEWAL64Xuxue Feng
1025Maisha Q FlosiGermany2025-06-03Dorl, James J Esq NEW22Xuxue Feng
1026Antonio T FollerJapan2025-05-28Rousseaux, Michael Esq NEW32Xuxue Feng
1027Stacey G GarufiGermany2025-06-13Feiner Bros NEW64Onyama Limba
1028Silvio J ShinkoFrance2025-06-06Buckley Miller Wright UNQUALIFIED86Anna Fali
1029Stacey W InouyeGermany2025-05-28Truhlar And Truhlar Attys NEGOTIATION50Anna Fali
1030Misaki I MacleadFrance2025-06-02Printing Dimensions RENEWAL45Bernardo Dominic
1031Maria N RimFrance2025-05-28Buckley Miller Wright PROPOSAL84Xuxue Feng
1032Stacey B ShinkoAustralia2025-06-07Chemel, James L Cpa PROPOSAL10Bernardo Dominic
1033Aruna W MarrierFrance2025-06-07Feiner Bros QUALIFIED16Anna Fali
1034David P SlusarskiRussia2025-06-09Morlong Associates RENEWAL85Bernardo Dominic
1035Kaitlin Y CampainJapan2025-06-11Printing Dimensions PROPOSAL49Anna Fali
1036Jeanfrancois P SchemmerFrance2025-06-03Chanay, Jeffrey A Esq NEGOTIATION91Amy Elsner
1037Clifford L PaprockiCanada2025-05-27Chanay, Jeffrey A Esq QUALIFIED21Ioni Bowcher
1038Francesco U SlusarskiIndia2025-06-15Printing Dimensions UNQUALIFIED13Amy Elsner
1039Isabel Z CaldareraGermany2025-05-29Feiner Bros RENEWAL38Anna Fali
1040Jeanfrancois T FlosiRussia2025-06-11Printing Dimensions NEGOTIATION20Asiya Javayant
1041Claire F MaletIndia2025-05-29Chemel, James L Cpa RENEWAL26Ioni Bowcher
1042Aditya W VocelkaRussia2025-06-04Rousseaux, Michael Esq RENEWAL87Amy Elsner
1043Ashley Z WieserAustralia2025-06-13King, Christopher A Esq QUALIFIED31Ioni Bowcher
1044Stacey Q OldroydArgentina2025-05-24Buckley Miller Wright NEW65Onyama Limba
1045Juan R RoysterRussia2025-06-13Truhlar And Truhlar Attys UNQUALIFIED79Elwin Sharvill
1046Jeanfrancois B RoysterArgentina2025-06-11Rousseaux, Michael Esq UNQUALIFIED71Onyama Limba
1047Ricardo F ButtArgentina2025-06-14Buckley Miller Wright QUALIFIED53Elwin Sharvill
1048James A MarrierGermany2025-05-25Dorl, James J Esq NEGOTIATION92Xuxue Feng
1049Greenwood C ChuiItaly2025-05-31Benton, John B Jr QUALIFIED15Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Alejandro R CaudyRussiaOnyama Limba RENEWAL
Faith Q BriddickAustraliaOnyama Limba QUALIFIED
Sinclair T SergiRussiaAsiya Javayant PROPOSAL
Smith Y TollnerJapanAsiya Javayant NEGOTIATION
Claire O KuskoGermanyAsiya Javayant RENEWAL
Smith N InouyeBrazilAmy Elsner NEGOTIATION
Julie P FerenczIndiaAnna Fali NEW
Aika Q DoeArgentinaXuxue Feng NEGOTIATION
Leja D ShinkoJapanAsiya Javayant NEW
Jennifer G RimItalyXuxue Feng RENEWAL
Wickens R RutaFranceXuxue Feng PROPOSAL
Aditya C RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Maria N SaylorsAustraliaOnyama Limba PROPOSAL
Deepesh V NickaIndiaIvan Magalhaes NEGOTIATION
Antonio C BologniaJapanAnna Fali QUALIFIED
Cody Q RulapaughCanadaBernardo Dominic NEW
Chavez M CaudyItalyAsiya Javayant QUALIFIED
Maria W CaudyArgentinaIoni Bowcher UNQUALIFIED
Maisha S ButtIndiaIoni Bowcher RENEWAL
Mujtaba D AmigonGermanyAnna Fali UNQUALIFIED
Jennifer X DoeSpainOnyama Limba NEW
Jones B FlosiRussiaStephen Shaw QUALIFIED
Arvin E SaylorsUnited KingdomIvan Magalhaes NEW
Ashley I MarrierGermanyAnna Fali NEGOTIATION
Jeanfrancois J InouyeBrazilAsiya Javayant UNQUALIFIED
Octavia N FigeroaBrazilAmy Elsner RENEWAL
Antonio U KolmetzRussiaAmy Elsner NEW
Emily D CampainIndiaAsiya Javayant QUALIFIED
Sinclair K PaprockiUnited KingdomAnna Fali UNQUALIFIED
Claire P AmigonUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba V BologniaSpainElwin Sharvill PROPOSAL
James Y NestleArgentinaAnna Fali NEW
Munro D DoeRussiaOnyama Limba QUALIFIED
Jones K FerenczArgentinaAnna Fali NEGOTIATION
Jones Y AmigonSpainAnna Fali UNQUALIFIED
Arvin I FigeroaArgentinaOnyama Limba UNQUALIFIED
Aditya R FlosiSpainIoni Bowcher UNQUALIFIED
Greenwood L WaycottJapanIoni Bowcher UNQUALIFIED
Nicolas H MorascaFranceAsiya Javayant UNQUALIFIED
Darci J SchemmerRussiaIvan Magalhaes NEGOTIATION
Costa F PoquetteRussiaBernardo Dominic PROPOSAL
Silvio H MarrierUnited KingdomBernardo Dominic PROPOSAL
Morrow A OstroskyJapanBernardo Dominic QUALIFIED
Mujtaba E SlusarskiGermanyBernardo Dominic NEW
Maisha T OstroskyJapanXuxue Feng QUALIFIED
Sinclair X RulapaughBrazilAnna Fali NEGOTIATION
Adams S VocelkaArgentinaStephen Shaw NEW
Maria Z CampainGermanyOnyama Limba RENEWAL
Izzy N AlbaresJapanXuxue Feng QUALIFIED
Chavez T MarrierBrazilStephen Shaw NEW
Frozen Columns
Name
Misaki B Stockham
Alejandro S Poquette
Deepesh K Chui
Francesco Z Stenseth
Salvatore W Caudy
Jefferson J Amigon
Claire M Garufi
Stacey D Gaucho
Antonio A Caldarera
Costa M Figeroa
Misaki E Glick
Juan M Paprocki
Sinclair V Chui
Maria K Iturbide
Smith H Garufi
Tony M Shinko
David Z Garufi
Mujtaba T Maclead
Mayumi A Vocelka
Leja W Glick
Misaki I Glick
Aika C Wieser
Arvin T Dilliard
Francesco H Shinko
Greenwood Z Paprocki
Maria A Gaucho
Leon G Morasca
Ashley O Venere
Cody I Venere
Izzy K Albares
Aruna R Caudy
Tony V Iturbide
Murillo R Gaucho
Morrow U Ferencz
Mujtaba S Whobrey
Jeanfrancois Y Schemmer
Juan O Campain
Arvin S Slusarski
Adams D Doe
Greenwood B Marrier
Costa M Doe
Tony Z Albares
Nicolas W Morasca
Ricardo O Royster
Aika Q Paprocki
Deepesh I Ostrosky
Sinclair O Dilliard
Murillo G Rulapaugh
Aditya U Royster
Munro W Flosi
IdCountryDate
1000Italy2025-05-23
1001Russia2025-05-29
1002Spain2025-05-22
1003France2025-06-08
1004France2025-06-15
1005Argentina2025-06-14
1006India2025-06-09
1007India2025-05-29
1008Canada2025-05-19
1009Australia2025-06-10
1010Brazil2025-06-05
1011Argentina2025-06-03
1012Japan2025-06-01
1013United Kingdom2025-06-06
1014India2025-06-10
1015Australia2025-06-08
1016United Kingdom2025-06-15
1017Japan2025-06-12
1018Japan2025-05-25
1019Italy2025-05-24
1020Canada2025-05-30
1021Russia2025-05-28
1022Argentina2025-06-07
1023Argentina2025-05-20
1024Russia2025-06-06
1025Italy2025-05-30
1026Russia2025-06-15
1027Australia2025-06-15
1028Canada2025-05-29
1029Italy2025-05-18
1030Italy2025-05-27
1031United Kingdom2025-05-26
1032Australia2025-06-01
1033Argentina2025-06-06
1034Australia2025-05-24
1035France2025-05-18
1036France2025-06-07
1037Germany2025-06-02
1038Argentina2025-06-06
1039United Kingdom2025-06-11
1040India2025-06-13
1041Brazil2025-05-18
1042France2025-05-31
1043Japan2025-05-21
1044India2025-06-04
1045Japan2025-05-28
1046Japan2025-05-21
1047Brazil2025-06-02
1048Australia2025-05-31
1049Spain2025-06-04

On-Demand Data

NameIdCountryDate
Aditya Q Ruta1000Spain2025-06-11
Morrow K Perin1001India2025-06-02
Juan D Garufi1002India2025-06-01
Claire B Inouye1003United Kingdom2025-06-15
Greenwood F Caldarera1004Italy2025-05-18
Chavez J Dilliard1005Canada2025-05-20
Mayumi L Chui1006India2025-05-31
Octavia E Perin1007India2025-06-05
Arvin Z Kusko1008Germany2025-06-14
Greenwood K Shinko1009Australia2025-05-23
Clifford N Chui1010Spain2025-06-03
Aruna A Maclead1011India2025-06-06
Mujtaba K Morasca1012Argentina2025-06-10
Rodrigues T Caudy1013Italy2025-06-05
Mayumi B Malet1014Brazil2025-05-20
Izzy E Campain1015Italy2025-05-30
Silvio O Kolmetz1016India2025-06-13
Francesco A Garufi1017France2025-05-19
Adams Z Rulapaugh1018Germany2025-05-22
Antonio W Tollner1019United Kingdom2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki U MarrierSpainAnna Fali RENEWAL
Costa M AmigonIndiaStephen Shaw QUALIFIED
Murillo D MaletAustraliaStephen Shaw QUALIFIED
Wickens D AmigonSpainElwin Sharvill NEGOTIATION
Ashley V MorascaIndiaStephen Shaw PROPOSAL
Emily A IturbideRussiaOnyama Limba UNQUALIFIED
Silvio J FollerAustraliaXuxue Feng UNQUALIFIED
Faith G AlbaresFranceOnyama Limba NEW
Nicolas F GauchoSpainXuxue Feng PROPOSAL
Jeanfrancois X VenereFranceElwin Sharvill UNQUALIFIED
Aika Z FerenczArgentinaIoni Bowcher NEW
Faith L DoeAustraliaAsiya Javayant NEGOTIATION
Salvatore A NestleIndiaXuxue Feng NEW
Antonio H KolmetzRussiaIvan Magalhaes QUALIFIED
Salvatore T DoeItalyOnyama Limba UNQUALIFIED
Misaki U DilliardFranceAmy Elsner NEW
Clifford T TollnerGermanyIoni Bowcher PROPOSAL
Ashley N PaprockiSpainAmy Elsner NEGOTIATION
Izzy R FigeroaUnited KingdomBernardo Dominic RENEWAL
Jones P FigeroaSpainIoni Bowcher UNQUALIFIED
Clifford R BriddickItalyIvan Magalhaes NEGOTIATION
Antonio Z CampainGermanyStephen Shaw NEW
Chavez D OstroskyBrazilXuxue Feng PROPOSAL
Darci R PaprockiUnited KingdomBernardo Dominic QUALIFIED
Rodrigues X BowleyIndiaBernardo Dominic UNQUALIFIED
Smith P FigeroaAustraliaAmy Elsner QUALIFIED
Jennifer G TollnerArgentinaXuxue Feng PROPOSAL
Jefferson I BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Stacey P GillianSpainBernardo Dominic UNQUALIFIED
Munro K OldroydFranceIoni Bowcher UNQUALIFIED
Jeanfrancois H FlosiSpainElwin Sharvill QUALIFIED
Chavez S MacleadSpainXuxue Feng QUALIFIED
Silvio Y WaycottIndiaOnyama Limba NEGOTIATION
Jones O SaylorsArgentinaElwin Sharvill PROPOSAL
Maria E CampainCanadaBernardo Dominic NEGOTIATION
Maisha M InouyeArgentinaOnyama Limba QUALIFIED
Clifford T ButtRussiaXuxue Feng PROPOSAL
Emily H MaletJapanAsiya Javayant NEGOTIATION
Mayumi U SaylorsArgentinaAmy Elsner QUALIFIED
Silvio Y WaycottItalyIvan Magalhaes RENEWAL

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