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
Maria X GlickCanadaIvan Magalhaes NEW
Alejandro N BriddickRussiaIvan Magalhaes UNQUALIFIED
Arvin Q PerinArgentinaXuxue Feng QUALIFIED
Aika G GillianSpainBernardo Dominic NEGOTIATION
Clifford C BologniaUnited KingdomElwin Sharvill RENEWAL
Mayumi E GlickJapanAnna Fali NEW
Munro N DilliardArgentinaXuxue Feng QUALIFIED
Kadeem M WaycottBrazilAnna Fali NEGOTIATION
Cody G PaprockiUnited KingdomAnna Fali UNQUALIFIED
Leon L GillianArgentinaIoni Bowcher RENEWAL
Maria L WaycottAustraliaStephen Shaw UNQUALIFIED
James U AlbaresBrazilIoni Bowcher NEW
Wickens O SergiRussiaOnyama Limba RENEWAL
Ricardo G SlusarskiIndiaXuxue Feng NEW
Chavez C RutaJapanStephen Shaw QUALIFIED
Cody D RulapaughArgentinaXuxue Feng NEW
Julie E VocelkaGermanyXuxue Feng QUALIFIED
Salvatore Y WhobreyBrazilElwin Sharvill RENEWAL
Nicolas G CampainJapanStephen Shaw NEW
Chavez O VenereBrazilAnna Fali PROPOSAL
Costa T RulapaughAustraliaIvan Magalhaes PROPOSAL
Leon Y GauchoItalyAsiya Javayant NEW
Cody G MaletSpainIvan Magalhaes NEW
Faith Q BologniaAustraliaAnna Fali RENEWAL
Kaitlin C OldroydRussiaBernardo Dominic QUALIFIED
Chavez M NickaIndiaIoni Bowcher PROPOSAL
Smith K SaylorsAustraliaIoni Bowcher RENEWAL
Morrow V SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Greenwood T FollerRussiaIoni Bowcher RENEWAL
Ashley D NestleSpainAmy Elsner RENEWAL
Morrow E NestleItalyAsiya Javayant NEGOTIATION
Jefferson A SaylorsFranceOnyama Limba RENEWAL
Jeanfrancois N SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Costa S DoeIndiaIoni Bowcher QUALIFIED
Claire W GillianSpainElwin Sharvill NEW
Ivar R SchemmerGermanyXuxue Feng RENEWAL
Chavez Q SlusarskiJapanStephen Shaw RENEWAL
Ivar P WieserAustraliaIoni Bowcher RENEWAL
Darci Q GauchoIndiaIvan Magalhaes NEW
Aika E ButtSpainAsiya Javayant UNQUALIFIED
Octavia C RoysterSpainStephen Shaw PROPOSAL
Salvatore C CampainArgentinaAmy Elsner NEW
Aika I WaycottArgentinaAnna Fali QUALIFIED
Silvio Z GarufiItalyStephen Shaw PROPOSAL
Faith C DarakjySpainElwin Sharvill RENEWAL
Munro U NestleGermanyOnyama Limba QUALIFIED
Antonio E CaldareraIndiaXuxue Feng RENEWAL
Adams P FollerJapanOnyama Limba QUALIFIED
Tony I FerenczItalyElwin Sharvill UNQUALIFIED
Stacey Q ButtAustraliaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo I KuskoCanadaAnna Fali NEW
Tony H NickaCanadaAsiya Javayant NEW
Chavez M AlbaresBrazilAnna Fali RENEWAL
Jones D CampainItalyAmy Elsner PROPOSAL
Nicolas R CaudyBrazilXuxue Feng QUALIFIED
Jefferson G OldroydUnited KingdomIvan Magalhaes RENEWAL
Ricardo H CampainBrazilOnyama Limba NEGOTIATION
Deepesh A FigeroaSpainXuxue Feng NEW
Sinclair O MorascaRussiaAnna Fali RENEWAL
Deepesh Z CaudyIndiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia P GarufiJapan2024-09-20Chemel, James L Cpa NEW21Asiya Javayant
1001Morrow L ButtItaly2024-09-18Commercial Press PROPOSAL81Ioni Bowcher
1002Murillo L BologniaAustralia2024-09-08Chanay, Jeffrey A Esq NEGOTIATION25Onyama Limba
1003Chavez K DarakjyUnited Kingdom2024-09-02Dorl, James J Esq PROPOSAL41Ioni Bowcher
1004Juan Y SergiArgentina2024-09-18Dorl, James J Esq RENEWAL79Xuxue Feng
1005Silvio Z SlusarskiFrance2024-08-29Rousseaux, Michael Esq UNQUALIFIED13Anna Fali
1006Rodrigues F ChuiBrazil2024-09-24Commercial Press RENEWAL37Amy Elsner
1007Izzy L GauchoCanada2024-09-13King, Christopher A Esq PROPOSAL26Bernardo Dominic
1008Aika I ChuiArgentina2024-09-12Truhlar And Truhlar Attys PROPOSAL82Ioni Bowcher
1009Murillo Q IturbideJapan2024-09-15Rousseaux, Michael Esq PROPOSAL13Xuxue Feng
1010Ivar P SaylorsBrazil2024-09-10Rangoni Of Florence NEGOTIATION7Anna Fali
1011Aditya G RulapaughIndia2024-09-19Feiner Bros NEW41Ioni Bowcher
1012Jefferson C PaprockiGermany2024-09-04Rousseaux, Michael Esq NEW27Bernardo Dominic
1013Clifford S FollerUnited Kingdom2024-08-30Feiner Bros NEGOTIATION81Stephen Shaw
1014Rodrigues Z GarufiIndia2024-09-20Dorl, James J Esq PROPOSAL71Ivan Magalhaes
1015Aditya B GauchoCanada2024-09-06Truhlar And Truhlar Attys QUALIFIED0Elwin Sharvill
1016Clifford F PoquetteCanada2024-08-30Chemel, James L Cpa UNQUALIFIED93Elwin Sharvill
1017Julie X GillianFrance2024-08-28King, Christopher A Esq PROPOSAL4Asiya Javayant
1018Aika C ShinkoAustralia2024-09-01Rangoni Of Florence PROPOSAL41Onyama Limba
1019Isabel A PerinAustralia2024-09-07Feiner Bros RENEWAL43Bernardo Dominic
1020Wickens W SchemmerArgentina2024-08-31Feiner Bros NEW27Amy Elsner
1021Costa A RulapaughAustralia2024-09-10King, Christopher A Esq PROPOSAL86Ioni Bowcher
1022Nicolas N PerinItaly2024-09-09Chapman, Ross E Esq PROPOSAL46Onyama Limba
1023Chavez K MacleadBrazil2024-09-13Chemel, James L Cpa RENEWAL12Ivan Magalhaes
1024Antonio O IturbideBrazil2024-08-29Chapman, Ross E Esq NEW65Anna Fali
1025Tony K FollerFrance2024-09-23Benton, John B Jr QUALIFIED93Xuxue Feng
1026Greenwood T RoysterIndia2024-08-27Rousseaux, Michael Esq PROPOSAL39Elwin Sharvill
1027Wickens F ButtJapan2024-09-14Chapman, Ross E Esq NEW58Bernardo Dominic
1028Claire R RulapaughCanada2024-09-02Feiner Bros QUALIFIED48Bernardo Dominic
1029Chavez Q RoysterRussia2024-09-04Buckley Miller Wright PROPOSAL68Anna Fali
1030Morrow A PerinArgentina2024-09-16Chapman, Ross E Esq UNQUALIFIED90Onyama Limba
1031Aruna D GauchoArgentina2024-09-10Truhlar And Truhlar Attys UNQUALIFIED38Bernardo Dominic
1032Stacey C MaletBrazil2024-09-11Rangoni Of Florence NEW53Bernardo Dominic
1033Octavia F VocelkaItaly2024-09-09Chemel, James L Cpa NEW72Stephen Shaw
1034Stacey B FerenczCanada2024-09-04Feiner Bros PROPOSAL87Elwin Sharvill
1035Jennifer W FollerJapan2024-09-17Feltz Printing Service NEW53Bernardo Dominic
1036Wickens B FigeroaAustralia2024-09-17Dorl, James J Esq QUALIFIED24Anna Fali
1037James E DilliardBrazil2024-09-07Rousseaux, Michael Esq UNQUALIFIED61Asiya Javayant
1038Aika R InouyeUnited Kingdom2024-08-30King, Christopher A Esq RENEWAL82Asiya Javayant
1039Alejandro F AmigonIndia2024-09-25Commercial Press NEGOTIATION88Asiya Javayant
1040Nicolas L ChuiAustralia2024-09-13Benton, John B Jr PROPOSAL20Xuxue Feng
1041Antonio H StockhamFrance2024-09-03Truhlar And Truhlar Attys QUALIFIED6Bernardo Dominic
1042Arvin Q CaudyAustralia2024-09-07Chemel, James L Cpa PROPOSAL35Bernardo Dominic
1043Mayumi S AmigonUnited Kingdom2024-09-22Rousseaux, Michael Esq UNQUALIFIED65Anna Fali
1044Tony V KolmetzArgentina2024-09-03Feiner Bros UNQUALIFIED17Amy Elsner
1045Wickens D PerinJapan2024-08-29Buckley Miller Wright RENEWAL44Ivan Magalhaes
1046Francesco G CampainSpain2024-09-17Commercial Press NEGOTIATION40Ioni Bowcher
1047Aruna T KolmetzBrazil2024-09-24Commercial Press NEW31Stephen Shaw
1048Izzy B ButtIndia2024-09-20King, Christopher A Esq UNQUALIFIED84Ivan Magalhaes
1049Juan E KolmetzArgentina2024-09-11Chemel, James L Cpa PROPOSAL78Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas W KolmetzAustraliaAsiya Javayant UNQUALIFIED
Kaitlin N ChuiBrazilIvan Magalhaes QUALIFIED
Tony Q AlbaresIndiaIoni Bowcher QUALIFIED
Alejandro G CaldareraJapanAsiya Javayant QUALIFIED
Aruna N RoysterUnited KingdomAnna Fali UNQUALIFIED
Rodrigues E ButtFranceAmy Elsner UNQUALIFIED
Stacey U CampainCanadaStephen Shaw NEGOTIATION
Aika L KolmetzAustraliaIoni Bowcher QUALIFIED
Claire T AmigonAustraliaOnyama Limba NEW
Smith X GlickFranceStephen Shaw UNQUALIFIED
Nicolas U DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Tony X KuskoAustraliaAmy Elsner NEGOTIATION
Kadeem Y CaldareraAustraliaAsiya Javayant PROPOSAL
Stacey I FigeroaSpainAsiya Javayant PROPOSAL
Johnson J GlickItalyAsiya Javayant PROPOSAL
Aditya M RimRussiaAsiya Javayant RENEWAL
Stacey J IturbideFranceAsiya Javayant PROPOSAL
Julie Z WhobreyArgentinaIoni Bowcher PROPOSAL
Arvin Q CaldareraGermanyAmy Elsner QUALIFIED
Maria P MarrierJapanIoni Bowcher QUALIFIED
Johnson T CaldareraAustraliaStephen Shaw QUALIFIED
Cody P WieserSpainBernardo Dominic NEGOTIATION
Tony Z BowleyJapanBernardo Dominic NEGOTIATION
Kadeem I RutaJapanOnyama Limba RENEWAL
Claire S StockhamUnited KingdomBernardo Dominic QUALIFIED
Aruna S OldroydUnited KingdomAsiya Javayant NEGOTIATION
Arvin F NestleAustraliaAmy Elsner RENEWAL
Antonio V GlickFranceOnyama Limba NEW
Jefferson E KuskoSpainAmy Elsner QUALIFIED
Tony Y CaldareraArgentinaStephen Shaw UNQUALIFIED
Ricardo E AmigonUnited KingdomOnyama Limba RENEWAL
Morrow I AmigonCanadaXuxue Feng NEW
Jeanfrancois X KolmetzRussiaBernardo Dominic NEW
Ricardo C IturbideCanadaIvan Magalhaes UNQUALIFIED
James B WhobreyJapanIoni Bowcher NEW
Wickens H RimIndiaStephen Shaw NEGOTIATION
Leja C ShinkoAustraliaOnyama Limba NEW
Wickens M TollnerJapanIoni Bowcher UNQUALIFIED
Emily H BowleyAustraliaIoni Bowcher PROPOSAL
Rodrigues K FerenczJapanAmy Elsner PROPOSAL
Misaki W NickaIndiaAsiya Javayant PROPOSAL
David R AlbaresSpainAsiya Javayant NEW
Silvio Z ButtFranceStephen Shaw NEGOTIATION
Munro F FerenczUnited KingdomOnyama Limba NEW
Stacey H MacleadItalyOnyama Limba QUALIFIED
Sinclair Z MacleadItalyAmy Elsner QUALIFIED
Sinclair Y VenereUnited KingdomAnna Fali QUALIFIED
Cody U OstroskyUnited KingdomIvan Magalhaes NEW
Morrow P NickaBrazilIvan Magalhaes RENEWAL
Silvio B MorascaRussiaBernardo Dominic RENEWAL
Frozen Columns
Name
Maria A Gillian
Mujtaba L Stockham
Ashley A Royster
Deepesh I Flosi
Maria P Malet
Ivar E Kusko
Stacey X Amigon
Johnson K Rim
Salvatore X Waycott
Isabel B Nestle
Smith A Garufi
Murillo U Tollner
Darci O Oldroyd
Murillo V Caudy
Emily Q Garufi
Munro A Venere
Greenwood T Butt
Julie E Schemmer
Wickens J Waycott
Aruna B Poquette
Aruna A Morasca
Adams E Iturbide
Arvin R Royster
Kaitlin R Glick
Chavez P Foller
Mujtaba Y Caldarera
Aditya W Darakjy
Costa Z Maclead
Emily B Glick
Morrow B Bowley
Misaki X Flosi
David Z Foller
Aika Q Oldroyd
Emily F Sergi
Kadeem K Malet
Mujtaba H Rim
Arvin Y Campain
Izzy F Caldarera
Izzy A Caldarera
Chavez V Rim
Tony G Stenseth
Cody A Garufi
Jefferson C Nicka
Kaitlin K Ruta
Silvio D Ruta
Octavia Z Saylors
Aika V Caldarera
Aruna C Shinko
Julie R Maclead
Stacey H Stenseth
IdCountryDate
1000Australia2024-09-23
1001France2024-09-15
1002Australia2024-09-04
1003Japan2024-09-15
1004Brazil2024-09-07
1005Argentina2024-08-31
1006Italy2024-08-28
1007Italy2024-09-22
1008Argentina2024-08-30
1009United Kingdom2024-09-11
1010India2024-08-29
1011India2024-09-10
1012Germany2024-09-14
1013Germany2024-09-15
1014Spain2024-09-21
1015Canada2024-09-20
1016United Kingdom2024-09-20
1017Australia2024-09-23
1018France2024-09-12
1019Australia2024-09-08
1020Russia2024-09-09
1021Germany2024-09-11
1022France2024-09-11
1023Italy2024-09-02
1024Brazil2024-09-10
1025India2024-08-31
1026Australia2024-09-18
1027France2024-09-08
1028Brazil2024-09-15
1029Argentina2024-09-21
1030Italy2024-09-21
1031United Kingdom2024-09-19
1032France2024-09-20
1033India2024-09-08
1034Argentina2024-09-05
1035Germany2024-08-28
1036Russia2024-09-22
1037United Kingdom2024-09-02
1038Spain2024-09-08
1039France2024-09-04
1040India2024-09-10
1041Italy2024-08-28
1042Japan2024-09-20
1043Argentina2024-09-22
1044Germany2024-09-18
1045United Kingdom2024-09-04
1046Spain2024-09-06
1047Argentina2024-09-01
1048Russia2024-09-04
1049Spain2024-09-01

On-Demand Data

NameIdCountryDate
Aruna S Caudy1000Spain2024-08-29
Maria V Tollner1001Germany2024-09-10
Mujtaba Y Ruta1002India2024-09-12
Cody E Gillian1003Spain2024-09-17
Cody X Caldarera1004India2024-09-24
Costa B Oldroyd1005India2024-09-01
Leja C Kolmetz1006Australia2024-09-03
Leon G Kolmetz1007Italy2024-09-09
Murillo I Butt1008Argentina2024-09-09
Aditya Z Stenseth1009Canada2024-08-28
Juan O Stockham1010Germany2024-09-23
Maisha Y Butt1011Germany2024-09-11
Leja T Royster1012Argentina2024-09-12
Emily R Glick1013United Kingdom2024-09-13
Isabel Q Doe1014Canada2024-08-30
Nicolas H Schemmer1015Canada2024-09-25
Costa M Ostrosky1016Argentina2024-09-25
Aika W Maclead1017Germany2024-09-22
Juan V Malet1018Canada2024-09-20
Costa A Malet1019Japan2024-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith U TollnerUnited KingdomXuxue Feng NEW
Jennifer Y SchemmerSpainXuxue Feng NEGOTIATION
Salvatore S KuskoFranceBernardo Dominic PROPOSAL
Johnson G CaldareraRussiaOnyama Limba NEGOTIATION
Faith U GarufiFranceIvan Magalhaes NEGOTIATION
Kadeem S NestleGermanyAsiya Javayant UNQUALIFIED
Francesco B KolmetzBrazilIvan Magalhaes NEGOTIATION
Izzy G GauchoRussiaAnna Fali RENEWAL
Jones R CampainAustraliaAsiya Javayant NEW
Emily T RimItalyElwin Sharvill QUALIFIED
Francesco D GauchoSpainIoni Bowcher RENEWAL
Claire Q FerenczSpainIoni Bowcher NEW
Ashley F GillianItalyIoni Bowcher UNQUALIFIED
Aruna N RoysterArgentinaAmy Elsner QUALIFIED
Cody P WieserBrazilStephen Shaw QUALIFIED
Cody V MaletRussiaBernardo Dominic RENEWAL
Octavia S VocelkaRussiaIoni Bowcher QUALIFIED
Jefferson G CaldareraCanadaBernardo Dominic RENEWAL
Salvatore X OstroskyBrazilOnyama Limba QUALIFIED
Clifford H KolmetzArgentinaBernardo Dominic RENEWAL
Murillo J AmigonItalyAmy Elsner NEW
Tony M MacleadItalyXuxue Feng QUALIFIED
Sinclair P TollnerArgentinaElwin Sharvill PROPOSAL
Greenwood D BowleyBrazilAnna Fali NEGOTIATION
Adams S WieserAustraliaAmy Elsner NEGOTIATION
Mujtaba M PoquetteUnited KingdomOnyama Limba NEW
Maisha U MaletAustraliaAnna Fali NEW
Tony N GarufiAustraliaStephen Shaw RENEWAL
Nicolas K WieserBrazilXuxue Feng NEW
Ashley Z RimIndiaAsiya Javayant NEW
Ricardo Z CaudyArgentinaAnna Fali PROPOSAL
Sinclair M FollerItalyIoni Bowcher RENEWAL
Johnson I NestleCanadaAsiya Javayant RENEWAL
Octavia I ChuiAustraliaAmy Elsner QUALIFIED
Leon G MaletUnited KingdomElwin Sharvill PROPOSAL
Darci Z RutaIndiaOnyama Limba NEGOTIATION
Isabel J VenereSpainAsiya Javayant RENEWAL
Ashley I StockhamItalyOnyama Limba UNQUALIFIED
Jennifer A MorascaAustraliaAmy Elsner QUALIFIED
Ivar H FlosiSpainIvan Magalhaes 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>