Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Kaitlin L WieserFranceOnyama Limba NEGOTIATION
Juan S OldroydGermanyAmy Elsner PROPOSAL
Wickens B DilliardArgentinaStephen Shaw QUALIFIED
Adams X VocelkaIndiaElwin Sharvill NEGOTIATION
Murillo M AmigonItalyBernardo Dominic RENEWAL
Jennifer D FollerAustraliaAnna Fali UNQUALIFIED
Adams N RutaSpainIvan Magalhaes QUALIFIED
Salvatore G MarrierBrazilElwin Sharvill NEGOTIATION
Darci X PoquetteGermanyStephen Shaw RENEWAL
Alejandro X MaletFranceOnyama Limba NEW
Chavez V FerenczArgentinaIvan Magalhaes NEGOTIATION
Aruna E PerinArgentinaStephen Shaw PROPOSAL
Clifford X AlbaresIndiaXuxue Feng NEW
Kadeem Z FollerJapanStephen Shaw RENEWAL
Aika B GarufiBrazilAsiya Javayant PROPOSAL
Chavez P MorascaBrazilAsiya Javayant RENEWAL
Leja Q CaldareraRussiaXuxue Feng UNQUALIFIED
Julie W GillianFranceOnyama Limba QUALIFIED
Darci H GlickCanadaAmy Elsner NEGOTIATION
Morrow Y NestleRussiaStephen Shaw NEGOTIATION
Clifford L GauchoArgentinaIoni Bowcher NEGOTIATION
Izzy P KuskoBrazilOnyama Limba QUALIFIED
Darci F StensethJapanBernardo Dominic PROPOSAL
Claire A InouyeItalyOnyama Limba NEW
Aika G FigeroaUnited KingdomStephen Shaw NEW
Smith N PerinJapanAsiya Javayant NEGOTIATION
Tony O RulapaughIndiaAnna Fali PROPOSAL
Tony M VocelkaSpainAsiya Javayant NEGOTIATION
Maria R SlusarskiItalyOnyama Limba UNQUALIFIED
Clifford W OldroydRussiaXuxue Feng PROPOSAL
Arvin K WaycottFranceIvan Magalhaes UNQUALIFIED
Jefferson K RulapaughRussiaOnyama Limba RENEWAL
Octavia O MaletIndiaAsiya Javayant UNQUALIFIED
Ashley F ShinkoUnited KingdomAnna Fali NEW
Smith D SchemmerItalyStephen Shaw NEGOTIATION
James V GauchoRussiaElwin Sharvill NEW
Alejandro V DarakjyUnited KingdomIoni Bowcher RENEWAL
Clifford O GlickRussiaAmy Elsner UNQUALIFIED
Isabel R GlickRussiaXuxue Feng PROPOSAL
Julie A VenereRussiaOnyama Limba NEW
Maria B ButtAustraliaAmy Elsner UNQUALIFIED
Mayumi W MarrierIndiaBernardo Dominic NEGOTIATION
Tony D TollnerAustraliaStephen Shaw PROPOSAL
James H BriddickAustraliaOnyama Limba RENEWAL
Smith D GlickItalyIoni Bowcher PROPOSAL
Maisha D NickaCanadaAnna Fali NEW
Mayumi I GauchoRussiaIoni Bowcher QUALIFIED
Aruna N VocelkaSpainElwin Sharvill NEGOTIATION
Jennifer L GarufiCanadaAsiya Javayant QUALIFIED
Ivar G WhobreyBrazilStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan L FlosiUnited KingdomAsiya Javayant NEGOTIATION
Aditya H VenereUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois I CaldareraFranceBernardo Dominic NEW
Aruna T FerenczSpainStephen Shaw UNQUALIFIED
Maria K StensethSpainAnna Fali UNQUALIFIED
Kaitlin P PerinFranceIoni Bowcher UNQUALIFIED
Leja H CaldareraJapanBernardo Dominic UNQUALIFIED
Izzy V BowleyJapanAnna Fali NEW
Johnson G StockhamGermanyAsiya Javayant NEGOTIATION
Johnson G OldroydGermanyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya L CampainIndia2025-08-23Rousseaux, Michael Esq NEGOTIATION96Stephen Shaw
1001Cody K ChuiRussia2025-07-31Chapman, Ross E Esq NEW80Amy Elsner
1002Kaitlin O CaudyBrazil2025-07-27Chanay, Jeffrey A Esq RENEWAL92Xuxue Feng
1003Jennifer A CaudyGermany2025-08-18Dorl, James J Esq NEGOTIATION65Asiya Javayant
1004Darci B DoeArgentina2025-07-25Printing Dimensions PROPOSAL62Xuxue Feng
1005James T GarufiSpain2025-07-31Printing Dimensions UNQUALIFIED73Xuxue Feng
1006Cody T GillianRussia2025-08-10King, Christopher A Esq NEGOTIATION70Ioni Bowcher
1007Silvio Y PaprockiArgentina2025-08-14Benton, John B Jr UNQUALIFIED5Anna Fali
1008Johnson K GauchoRussia2025-08-19Chanay, Jeffrey A Esq NEW26Stephen Shaw
1009Aruna P DoeJapan2025-08-03Chanay, Jeffrey A Esq UNQUALIFIED8Stephen Shaw
1010Leon R StockhamRussia2025-08-09Truhlar And Truhlar Attys NEGOTIATION48Xuxue Feng
1011Cody Z FigeroaUnited Kingdom2025-08-15Chapman, Ross E Esq NEGOTIATION55Amy Elsner
1012Aditya T SlusarskiJapan2025-08-13Morlong Associates UNQUALIFIED89Elwin Sharvill
1013Greenwood A PoquetteCanada2025-07-28King, Christopher A Esq QUALIFIED99Onyama Limba
1014Aika B PerinSpain2025-08-20Dorl, James J Esq UNQUALIFIED38Asiya Javayant
1015Wickens X GauchoAustralia2025-08-23Printing Dimensions PROPOSAL7Ivan Magalhaes
1016Salvatore C SchemmerItaly2025-08-17Chanay, Jeffrey A Esq UNQUALIFIED88Elwin Sharvill
1017Jennifer F DoeItaly2025-08-08Feltz Printing Service PROPOSAL88Amy Elsner
1018Kaitlin S BologniaFrance2025-07-30Benton, John B Jr RENEWAL27Stephen Shaw
1019Aditya H KuskoItaly2025-08-18Morlong Associates UNQUALIFIED78Xuxue Feng
1020Aruna E InouyeItaly2025-08-23Commercial Press NEGOTIATION88Amy Elsner
1021Leon A AlbaresGermany2025-07-27Chanay, Jeffrey A Esq QUALIFIED41Elwin Sharvill
1022Antonio L PerinArgentina2025-07-28Printing Dimensions UNQUALIFIED4Onyama Limba
1023Jefferson H ShinkoRussia2025-08-20Morlong Associates RENEWAL46Bernardo Dominic
1024Sinclair Z MarrierIndia2025-08-11Printing Dimensions UNQUALIFIED68Xuxue Feng
1025Jones Q GarufiBrazil2025-07-28Rangoni Of Florence PROPOSAL27Onyama Limba
1026James K NestleSpain2025-08-18King, Christopher A Esq QUALIFIED37Onyama Limba
1027Isabel O SchemmerCanada2025-08-11Morlong Associates NEW33Anna Fali
1028Jefferson N FollerAustralia2025-08-11Printing Dimensions RENEWAL56Amy Elsner
1029Chavez C RoysterIndia2025-08-10Printing Dimensions NEGOTIATION32Ivan Magalhaes
1030Leon J MaletArgentina2025-08-17Chemel, James L Cpa UNQUALIFIED61Bernardo Dominic
1031Mujtaba A FlosiJapan2025-08-13Dorl, James J Esq RENEWAL66Ioni Bowcher
1032Cody C RoysterFrance2025-07-25Printing Dimensions NEW28Bernardo Dominic
1033Izzy B NickaCanada2025-08-03Commercial Press RENEWAL45Ivan Magalhaes
1034Ivar Z FlosiSpain2025-07-27Feiner Bros RENEWAL33Asiya Javayant
1035Leon C RulapaughItaly2025-08-08Feltz Printing Service QUALIFIED70Elwin Sharvill
1036Tony G WieserAustralia2025-08-02Chapman, Ross E Esq NEW73Elwin Sharvill
1037Salvatore G NestleItaly2025-08-19Morlong Associates NEGOTIATION89Ioni Bowcher
1038Wickens H InouyeBrazil2025-08-13King, Christopher A Esq PROPOSAL70Bernardo Dominic
1039Isabel J RoysterCanada2025-08-10Chanay, Jeffrey A Esq QUALIFIED28Bernardo Dominic
1040Chavez K ChuiItaly2025-07-29Printing Dimensions PROPOSAL51Onyama Limba
1041Aruna V GarufiArgentina2025-08-07Truhlar And Truhlar Attys NEGOTIATION52Asiya Javayant
1042Ivar F SergiAustralia2025-08-09King, Christopher A Esq NEW15Elwin Sharvill
1043Antonio L RulapaughCanada2025-07-31Rousseaux, Michael Esq NEGOTIATION12Xuxue Feng
1044Nicolas C BologniaIndia2025-08-04King, Christopher A Esq UNQUALIFIED58Xuxue Feng
1045Emily J MaletArgentina2025-08-22Benton, John B Jr PROPOSAL49Asiya Javayant
1046Mujtaba M MarrierItaly2025-08-14Printing Dimensions RENEWAL5Stephen Shaw
1047Darci Y DoeArgentina2025-08-12Chapman, Ross E Esq UNQUALIFIED66Stephen Shaw
1048Kaitlin T SaylorsArgentina2025-07-31Benton, John B Jr UNQUALIFIED54Elwin Sharvill
1049Sinclair V MacleadFrance2025-08-17Dorl, James J Esq PROPOSAL73Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Sinclair Q RulapaughItalyBernardo Dominic PROPOSAL
Isabel V OstroskyRussiaAnna Fali NEGOTIATION
Ricardo V SergiUnited KingdomAmy Elsner NEGOTIATION
Greenwood F NickaSpainAmy Elsner NEGOTIATION
Jones J SchemmerArgentinaAnna Fali UNQUALIFIED
Adams Q NickaAustraliaAnna Fali UNQUALIFIED
Juan P NestleUnited KingdomAsiya Javayant UNQUALIFIED
Izzy Q PoquetteRussiaElwin Sharvill UNQUALIFIED
Isabel U MorascaItalyIoni Bowcher PROPOSAL
Jeanfrancois N MaletBrazilAnna Fali UNQUALIFIED
Wickens A RoysterItalyStephen Shaw PROPOSAL
Cody D RimSpainIvan Magalhaes PROPOSAL
Maria N WhobreyCanadaStephen Shaw UNQUALIFIED
Tony X OldroydItalyStephen Shaw RENEWAL
Jones G RimGermanyAsiya Javayant NEGOTIATION
Costa U WhobreyFranceElwin Sharvill RENEWAL
Claire K FlosiSpainOnyama Limba UNQUALIFIED
Chavez G BriddickFranceIoni Bowcher QUALIFIED
Aditya T SergiUnited KingdomIvan Magalhaes QUALIFIED
Nicolas V SchemmerBrazilAmy Elsner NEW
Johnson C CaldareraJapanAsiya Javayant NEW
Misaki Z MarrierGermanyIoni Bowcher PROPOSAL
Johnson J FlosiArgentinaXuxue Feng UNQUALIFIED
Ashley E VocelkaRussiaElwin Sharvill RENEWAL
Aika O RulapaughRussiaAnna Fali NEW
Nicolas W NickaRussiaOnyama Limba QUALIFIED
Morrow D StensethAustraliaStephen Shaw NEW
Kaitlin T NestleJapanIvan Magalhaes NEGOTIATION
Maria E RoysterArgentinaOnyama Limba NEGOTIATION
Murillo G WaycottSpainXuxue Feng NEGOTIATION
Maria Z DilliardSpainAnna Fali UNQUALIFIED
Isabel Q InouyeArgentinaAnna Fali UNQUALIFIED
Maisha F GarufiGermanyIvan Magalhaes RENEWAL
Aika Q InouyeAustraliaBernardo Dominic PROPOSAL
Costa R FlosiArgentinaAnna Fali PROPOSAL
Murillo H MaletJapanStephen Shaw NEW
Rodrigues T SaylorsBrazilAmy Elsner RENEWAL
Munro L BriddickJapanAmy Elsner QUALIFIED
Arvin S SchemmerUnited KingdomElwin Sharvill QUALIFIED
Julie Y InouyeArgentinaAnna Fali UNQUALIFIED
Leon A GarufiRussiaBernardo Dominic NEW
Aika Y KuskoAustraliaOnyama Limba QUALIFIED
Aika C RoysterAustraliaXuxue Feng PROPOSAL
Leon S AmigonSpainBernardo Dominic PROPOSAL
Kaitlin J MorascaFranceIvan Magalhaes NEW
Maria U CaudyIndiaAnna Fali RENEWAL
Emily Y WieserUnited KingdomIvan Magalhaes RENEWAL
Greenwood E ChuiAustraliaXuxue Feng UNQUALIFIED
Maisha J PerinJapanStephen Shaw NEGOTIATION
Ivar U InouyeAustraliaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Aruna K Doe
Mujtaba A Caldarera
Costa T Wieser
Smith X Bolognia
Aika Q Inouye
Ivar D Foller
Maisha U Marrier
Mujtaba V Sergi
Mayumi D Amigon
Claire C Slusarski
Ricardo S Maclead
Alejandro D Schemmer
Johnson T Wieser
Francesco R Marrier
Maisha I Ruta
Johnson P Butt
Leon I Foller
Jones W Slusarski
Chavez X Kolmetz
Jones W Whobrey
Rodrigues I Butt
Jones R Kolmetz
Rodrigues B Figeroa
Wickens I Sergi
Emily Y Vocelka
Ricardo L Wieser
Nicolas U Perin
Juan U Inouye
Munro H Saylors
Smith H Figeroa
Maisha C Malet
Emily T Kusko
Clifford B Oldroyd
Deepesh Q Tollner
Aika G Foller
Darci B Tollner
Kaitlin H Nicka
Emily N Malet
Smith W Shinko
Claire U Campain
Jennifer K Rulapaugh
Leja V Flosi
Francesco N Rulapaugh
Clifford T Caudy
Claire G Foller
Johnson D Chui
Arvin R Ruta
Ivar V Caudy
Munro J Slusarski
Aruna L Malet
IdCountryDate
1000Canada2025-07-27
1001India2025-08-01
1002France2025-08-11
1003Spain2025-08-23
1004Russia2025-08-23
1005United Kingdom2025-08-08
1006Japan2025-08-14
1007Spain2025-08-20
1008Spain2025-07-25
1009Brazil2025-08-02
1010Italy2025-08-21
1011India2025-07-31
1012Brazil2025-08-19
1013Argentina2025-08-10
1014Canada2025-08-21
1015Russia2025-08-01
1016India2025-08-04
1017Germany2025-08-11
1018France2025-08-13
1019France2025-08-19
1020United Kingdom2025-07-29
1021Japan2025-07-29
1022Spain2025-08-08
1023United Kingdom2025-08-13
1024Australia2025-08-01
1025India2025-08-19
1026Spain2025-08-21
1027Japan2025-08-05
1028Argentina2025-08-16
1029France2025-08-07
1030United Kingdom2025-08-19
1031Australia2025-08-11
1032Argentina2025-08-18
1033Argentina2025-08-03
1034Russia2025-07-27
1035Canada2025-08-18
1036Spain2025-07-31
1037Brazil2025-08-19
1038Argentina2025-08-21
1039Canada2025-08-16
1040Argentina2025-07-26
1041Argentina2025-07-28
1042Argentina2025-08-23
1043Brazil2025-08-17
1044Germany2025-07-28
1045India2025-08-22
1046Japan2025-08-22
1047India2025-08-08
1048Canada2025-08-10
1049United Kingdom2025-08-04

On-Demand Data

NameIdCountryDate
Mayumi C Vocelka1000Canada2025-08-01
Wickens K Royster1001Australia2025-07-28
Leja J Schemmer1002France2025-08-18
Ivar H Bolognia1003France2025-08-16
Kadeem N Doe1004Spain2025-07-26
Juan G Wieser1005Russia2025-08-07
Darci X Gaucho1006India2025-08-10
Mayumi I Whobrey1007Italy2025-08-23
Aditya K Chui1008Spain2025-07-29
Munro Q Iturbide1009Spain2025-07-29
Smith C Campain1010Italy2025-07-28
Mujtaba D Rim1011Australia2025-08-12
Mayumi K Briddick1012Australia2025-07-31
Adams Q Darakjy1013Japan2025-08-09
Aditya X Stenseth1014United Kingdom2025-08-08
David Q Albares1015Russia2025-08-14
Jefferson L Darakjy1016Argentina2025-08-16
Costa U Poquette1017Australia2025-07-30
Cody W Butt1018Canada2025-08-01
Cody S Amigon1019United Kingdom2025-08-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki F CaudyGermanyElwin Sharvill PROPOSAL
Morrow X MacleadArgentinaIvan Magalhaes QUALIFIED
Sinclair P KuskoAustraliaIoni Bowcher QUALIFIED
Johnson L ChuiUnited KingdomXuxue Feng PROPOSAL
James P WhobreyRussiaAmy Elsner RENEWAL
Ivar M WhobreyItalyAmy Elsner NEW
Ricardo H CampainBrazilBernardo Dominic NEW
Maria A RulapaughBrazilIoni Bowcher RENEWAL
Cody U FollerCanadaElwin Sharvill UNQUALIFIED
Aditya M MacleadGermanyBernardo Dominic RENEWAL
Jefferson L GarufiSpainAnna Fali UNQUALIFIED
Adams B FollerFranceIvan Magalhaes RENEWAL
Adams W FlosiUnited KingdomAsiya Javayant PROPOSAL
Misaki D CampainIndiaElwin Sharvill PROPOSAL
Darci Y SchemmerRussiaOnyama Limba UNQUALIFIED
Munro G NestleRussiaBernardo Dominic NEGOTIATION
Kadeem S PaprockiIndiaAnna Fali RENEWAL
Jones K VenereItalyElwin Sharvill QUALIFIED
Emily Z RulapaughBrazilAmy Elsner PROPOSAL
Rodrigues U PoquetteFranceXuxue Feng NEGOTIATION
Aditya I RoysterItalyBernardo Dominic NEW
Costa X DoeSpainAsiya Javayant NEGOTIATION
Arvin K WhobreyBrazilAsiya Javayant UNQUALIFIED
Clifford E AlbaresRussiaAmy Elsner UNQUALIFIED
Wickens V VocelkaSpainXuxue Feng UNQUALIFIED
Clifford T RoysterUnited KingdomOnyama Limba NEGOTIATION
Francesco M SaylorsFranceStephen Shaw QUALIFIED
Rodrigues P MorascaArgentinaStephen Shaw UNQUALIFIED
Mayumi I KolmetzArgentinaAnna Fali QUALIFIED
Chavez A NestleFranceStephen Shaw NEGOTIATION
Kaitlin E CaudyBrazilElwin Sharvill PROPOSAL
Claire V OldroydIndiaStephen Shaw RENEWAL
Deepesh Y SergiArgentinaIoni Bowcher RENEWAL
Jeanfrancois A StensethBrazilXuxue Feng RENEWAL
Aruna R CaudySpainAmy Elsner NEGOTIATION
Jeanfrancois T VocelkaUnited KingdomElwin Sharvill QUALIFIED
Greenwood X GarufiUnited KingdomOnyama Limba UNQUALIFIED
Jennifer Z WieserAustraliaStephen Shaw NEGOTIATION
Mujtaba B WaycottAustraliaAmy Elsner QUALIFIED
Claire D SlusarskiFranceOnyama Limba QUALIFIED

<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" frozenColumnsAlignment="left">
            <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>