November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Murillo I FerenczUnited KingdomElwin Sharvill NEGOTIATION
Salvatore V RimGermanyIoni Bowcher UNQUALIFIED
Salvatore F MaletBrazilXuxue Feng RENEWAL
Johnson C WaycottBrazilAmy Elsner RENEWAL
Claire C IturbideRussiaXuxue Feng NEW
Mujtaba J VenereJapanElwin Sharvill RENEWAL
Aika Y MacleadIndiaBernardo Dominic NEGOTIATION
Jefferson P NickaCanadaXuxue Feng PROPOSAL
Kaitlin Z VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Salvatore A KuskoFranceOnyama Limba UNQUALIFIED
Faith I CaudyArgentinaAmy Elsner NEGOTIATION
Ricardo X ChuiGermanyOnyama Limba QUALIFIED
Octavia O DilliardItalyAsiya Javayant QUALIFIED
Emily L IturbideCanadaIoni Bowcher QUALIFIED
Salvatore F VocelkaIndiaOnyama Limba RENEWAL
Jennifer K FigeroaJapanIoni Bowcher PROPOSAL
David F SlusarskiRussiaStephen Shaw UNQUALIFIED
Juan U NestleBrazilAmy Elsner RENEWAL
Rodrigues I SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Mayumi M GauchoBrazilElwin Sharvill NEGOTIATION
Isabel M StockhamUnited KingdomAsiya Javayant NEGOTIATION
Wickens O ChuiRussiaXuxue Feng PROPOSAL
Faith D SaylorsUnited KingdomIvan Magalhaes RENEWAL
Mayumi K NestleUnited KingdomOnyama Limba QUALIFIED
Maisha X RutaAustraliaAnna Fali NEW
Adams X WieserAustraliaXuxue Feng UNQUALIFIED
Morrow K SergiAustraliaXuxue Feng RENEWAL
Sinclair U FlosiUnited KingdomIoni Bowcher UNQUALIFIED
David I DilliardArgentinaIoni Bowcher NEW
Alejandro S MaletItalyBernardo Dominic RENEWAL
Mujtaba L VocelkaBrazilAnna Fali NEW
Arvin Y CampainItalyElwin Sharvill NEW
Salvatore W StensethSpainBernardo Dominic NEW
Munro A CampainIndiaOnyama Limba NEGOTIATION
Jennifer H DarakjyAustraliaBernardo Dominic UNQUALIFIED
Kaitlin M GlickRussiaAsiya Javayant NEW
Juan U PoquetteItalyAnna Fali UNQUALIFIED
Munro N DoeJapanAnna Fali UNQUALIFIED
Jennifer Q NestleCanadaIvan Magalhaes UNQUALIFIED
Alejandro A OldroydItalyAnna Fali PROPOSAL
Silvio Y RutaIndiaIvan Magalhaes UNQUALIFIED
Ricardo Y MacleadAustraliaIoni Bowcher PROPOSAL
Claire G SchemmerBrazilAsiya Javayant RENEWAL
Antonio Q ButtIndiaAnna Fali NEGOTIATION
Faith I OstroskyFranceIoni Bowcher QUALIFIED
Leja C CaldareraRussiaBernardo Dominic PROPOSAL
Ashley M PoquetteFranceElwin Sharvill QUALIFIED
Costa G PerinBrazilAmy Elsner NEW
Wickens E CaudyJapanStephen Shaw RENEWAL
Ivar P SergiRussiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki A BowleyGermanyBernardo Dominic UNQUALIFIED
Wickens E OldroydItalyAmy Elsner UNQUALIFIED
Kaitlin N RutaFranceIoni Bowcher QUALIFIED
Kadeem W PaprockiJapanStephen Shaw RENEWAL
Tony J AlbaresItalyAmy Elsner QUALIFIED
Mujtaba E FigeroaRussiaAmy Elsner NEGOTIATION
Murillo K FerenczJapanXuxue Feng NEGOTIATION
Leon Q SergiIndiaAnna Fali RENEWAL
Chavez R WieserCanadaIoni Bowcher RENEWAL
Leja N WaycottUnited KingdomBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro V WhobreyArgentina2026-10-06Feiner Bros NEW93Ivan Magalhaes
1001Sinclair L PerinRussia2026-10-07Rangoni Of Florence QUALIFIED99Asiya Javayant
1002Deepesh Y RulapaughFrance2026-10-04Rousseaux, Michael Esq QUALIFIED6Asiya Javayant
1003James H ChuiBrazil2026-10-07Dorl, James J Esq RENEWAL63Amy Elsner
1004Maria K VenereUnited Kingdom2026-09-16Morlong Associates UNQUALIFIED88Stephen Shaw
1005Stacey J DoeAustralia2026-09-22Feltz Printing Service PROPOSAL27Amy Elsner
1006Ashley X WaycottUnited Kingdom2026-09-17Chanay, Jeffrey A Esq RENEWAL48Asiya Javayant
1007Francesco F FigeroaCanada2026-10-02Rousseaux, Michael Esq UNQUALIFIED89Elwin Sharvill
1008Kaitlin D KuskoAustralia2026-10-05Dorl, James J Esq QUALIFIED34Stephen Shaw
1009Wickens S RoysterCanada2026-09-23Chanay, Jeffrey A Esq PROPOSAL98Xuxue Feng
1010Cody V AmigonArgentina2026-09-24Commercial Press UNQUALIFIED75Amy Elsner
1011Aruna A CampainJapan2026-09-17Buckley Miller Wright NEGOTIATION46Anna Fali
1012Emily I WaycottGermany2026-09-27Chapman, Ross E Esq PROPOSAL75Ivan Magalhaes
1013Misaki E CaldareraFrance2026-09-28Rangoni Of Florence UNQUALIFIED46Onyama Limba
1014Kadeem X BologniaAustralia2026-10-06Commercial Press NEW41Amy Elsner
1015Juan Q TollnerJapan2026-09-17Buckley Miller Wright NEW88Anna Fali
1016Antonio F DilliardFrance2026-09-26Chapman, Ross E Esq UNQUALIFIED3Ioni Bowcher
1017Rodrigues G PaprockiUnited Kingdom2026-09-23Feiner Bros UNQUALIFIED83Xuxue Feng
1018Nicolas M FollerItaly2026-10-10Chanay, Jeffrey A Esq PROPOSAL3Anna Fali
1019Silvio V CaudyUnited Kingdom2026-10-06Chanay, Jeffrey A Esq NEGOTIATION31Amy Elsner
1020Octavia Y IturbideAustralia2026-09-17Commercial Press NEGOTIATION57Xuxue Feng
1021Deepesh F WieserItaly2026-10-05King, Christopher A Esq QUALIFIED43Anna Fali
1022Francesco O PoquetteArgentina2026-10-05Rousseaux, Michael Esq UNQUALIFIED27Xuxue Feng
1023Leon F FigeroaIndia2026-09-17Feltz Printing Service QUALIFIED2Bernardo Dominic
1024David G KolmetzIndia2026-10-05Feiner Bros NEW82Amy Elsner
1025Morrow M FigeroaGermany2026-09-14Morlong Associates UNQUALIFIED34Xuxue Feng
1026Munro X SergiUnited Kingdom2026-10-03Chanay, Jeffrey A Esq PROPOSAL40Bernardo Dominic
1027Aruna G OldroydAustralia2026-10-05Benton, John B Jr RENEWAL92Bernardo Dominic
1028Antonio Q SchemmerRussia2026-10-06Truhlar And Truhlar Attys NEGOTIATION46Elwin Sharvill
1029David D NestleArgentina2026-09-14Dorl, James J Esq QUALIFIED97Ivan Magalhaes
1030Ivar C NickaJapan2026-09-19Chapman, Ross E Esq PROPOSAL78Stephen Shaw
1031James B MorascaItaly2026-09-22Buckley Miller Wright QUALIFIED55Ioni Bowcher
1032Izzy T GarufiSpain2026-09-29Feiner Bros UNQUALIFIED62Amy Elsner
1033Tony F SchemmerRussia2026-09-12Morlong Associates RENEWAL72Anna Fali
1034Misaki G PaprockiJapan2026-10-05Commercial Press NEW85Onyama Limba
1035Kadeem R VocelkaFrance2026-09-24Chapman, Ross E Esq UNQUALIFIED28Ivan Magalhaes
1036Julie J PoquetteArgentina2026-09-26Benton, John B Jr NEGOTIATION20Onyama Limba
1037Clifford Y GauchoRussia2026-09-25Chapman, Ross E Esq PROPOSAL33Bernardo Dominic
1038Nicolas M StockhamFrance2026-09-16Buckley Miller Wright RENEWAL8Ivan Magalhaes
1039Mujtaba H InouyeArgentina2026-10-02Benton, John B Jr NEW84Bernardo Dominic
1040Johnson E CampainBrazil2026-10-10Morlong Associates NEGOTIATION63Onyama Limba
1041Salvatore S BologniaRussia2026-09-26King, Christopher A Esq UNQUALIFIED24Bernardo Dominic
1042Johnson F NickaIndia2026-09-25Chanay, Jeffrey A Esq UNQUALIFIED76Ivan Magalhaes
1043Aika J VenereSpain2026-09-12Benton, John B Jr NEGOTIATION94Amy Elsner
1044Francesco H OldroydJapan2026-10-04Printing Dimensions QUALIFIED38Anna Fali
1045Ricardo Z TollnerFrance2026-09-20Benton, John B Jr UNQUALIFIED20Xuxue Feng
1046Rodrigues L IturbideItaly2026-09-18Feltz Printing Service NEW54Xuxue Feng
1047Leon G KolmetzRussia2026-10-01Chanay, Jeffrey A Esq RENEWAL51Xuxue Feng
1048Mujtaba Q TollnerRussia2026-10-10Rousseaux, Michael Esq NEW99Onyama Limba
1049Greenwood M WieserCanada2026-09-24Feltz Printing Service QUALIFIED17Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aruna K FlosiFranceAmy Elsner NEW
Izzy D SlusarskiGermanyAsiya Javayant NEGOTIATION
Nicolas T TollnerJapanOnyama Limba NEGOTIATION
Clifford C RulapaughAustraliaAsiya Javayant RENEWAL
Rodrigues G RoysterArgentinaAnna Fali PROPOSAL
Ashley V PerinIndiaIoni Bowcher NEW
Darci T OldroydCanadaElwin Sharvill NEGOTIATION
Wickens S RoysterIndiaIoni Bowcher NEGOTIATION
Jones V StockhamBrazilXuxue Feng NEW
Munro P MorascaUnited KingdomIvan Magalhaes PROPOSAL
Chavez D DarakjyJapanIoni Bowcher NEGOTIATION
Emily C ButtSpainElwin Sharvill QUALIFIED
Murillo Q StockhamItalyAnna Fali QUALIFIED
Johnson B GlickBrazilOnyama Limba UNQUALIFIED
Kadeem Y BologniaArgentinaStephen Shaw NEW
Francesco V GlickAustraliaElwin Sharvill NEW
Smith P RimBrazilOnyama Limba UNQUALIFIED
Johnson X PerinJapanIoni Bowcher NEGOTIATION
Antonio B NickaGermanyIvan Magalhaes NEW
Jefferson O KuskoFranceStephen Shaw NEGOTIATION
Deepesh E FlosiAustraliaOnyama Limba RENEWAL
Emily I NickaGermanyIvan Magalhaes RENEWAL
Cody K WaycottRussiaIoni Bowcher RENEWAL
Leja G GillianRussiaStephen Shaw NEW
Ashley J FigeroaBrazilOnyama Limba PROPOSAL
Faith K ButtIndiaElwin Sharvill NEGOTIATION
Jennifer C VenereArgentinaStephen Shaw RENEWAL
Jones O RoysterRussiaElwin Sharvill QUALIFIED
Johnson I KuskoUnited KingdomStephen Shaw PROPOSAL
Ivar I GarufiCanadaIvan Magalhaes PROPOSAL
Deepesh Q FigeroaIndiaIvan Magalhaes RENEWAL
Aditya W AlbaresBrazilAmy Elsner PROPOSAL
Cody N FlosiBrazilAsiya Javayant NEW
Kaitlin C KuskoGermanyXuxue Feng NEGOTIATION
Mujtaba B RutaFranceStephen Shaw PROPOSAL
Isabel P KuskoBrazilIvan Magalhaes PROPOSAL
Darci W BowleyJapanXuxue Feng NEGOTIATION
Isabel N KuskoItalyAsiya Javayant UNQUALIFIED
Arvin Z MaletUnited KingdomBernardo Dominic PROPOSAL
Isabel W AlbaresAustraliaAsiya Javayant RENEWAL
Claire S WaycottCanadaAmy Elsner PROPOSAL
Antonio A NickaRussiaElwin Sharvill QUALIFIED
Greenwood T GlickCanadaIoni Bowcher RENEWAL
Rodrigues J RutaSpainAsiya Javayant NEGOTIATION
Jefferson I TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Aruna T AlbaresUnited KingdomOnyama Limba RENEWAL
Kaitlin X MorascaAustraliaBernardo Dominic QUALIFIED
Jennifer N FerenczIndiaIoni Bowcher PROPOSAL
Maisha Y WaycottAustraliaIvan Magalhaes UNQUALIFIED
Maisha T TollnerRussiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Silvio U Stockham
Morrow N Saylors
Murillo N Stockham
Mayumi H Tollner
Sinclair C Briddick
Leon P Perin
Mayumi P Bolognia
Mujtaba H Venere
Aika O Slusarski
Isabel N Nestle
Antonio I Schemmer
Mayumi P Iturbide
Aruna N Glick
Aditya C Marrier
Stacey V Bowley
Leja Q Bolognia
Clifford K Whobrey
Deepesh V Foller
Chavez C Saylors
Leon N Malet
Morrow O Kusko
Claire U Caldarera
Adams D Poquette
Tony U Oldroyd
Antonio V Schemmer
Clifford T Bolognia
Juan H Royster
Leja J Marrier
Smith M Royster
Faith K Bowley
Maria J Tollner
Antonio Z Shinko
Costa W Briddick
Isabel D Schemmer
Adams I Glick
Silvio E Royster
Chavez P Foller
Leon Q Amigon
Julie Y Nicka
Claire S Morasca
Clifford M Marrier
Nicolas G Morasca
James V Saylors
Claire I Paprocki
Munro D Venere
Ricardo Z Rim
Octavia K Figeroa
Wickens W Venere
Octavia L Rim
Sinclair O Royster
IdCountryDate
1000France2026-09-17
1001Brazil2026-09-21
1002Spain2026-10-09
1003Italy2026-10-06
1004Russia2026-09-23
1005Japan2026-09-23
1006Spain2026-09-26
1007United Kingdom2026-09-18
1008France2026-09-18
1009United Kingdom2026-10-07
1010Brazil2026-09-14
1011Spain2026-10-05
1012Japan2026-09-24
1013Brazil2026-09-13
1014Australia2026-09-17
1015Japan2026-10-10
1016France2026-10-03
1017Spain2026-09-22
1018Russia2026-10-05
1019Germany2026-09-26
1020Canada2026-09-25
1021United Kingdom2026-10-01
1022Australia2026-09-20
1023Brazil2026-10-09
1024Brazil2026-10-05
1025France2026-09-30
1026India2026-09-18
1027Spain2026-09-18
1028Brazil2026-10-01
1029France2026-10-10
1030Brazil2026-10-04
1031Russia2026-09-14
1032Canada2026-09-13
1033United Kingdom2026-09-14
1034United Kingdom2026-09-18
1035Japan2026-09-28
1036Argentina2026-09-12
1037Italy2026-09-19
1038Australia2026-09-15
1039Italy2026-10-08
1040United Kingdom2026-09-30
1041Russia2026-10-02
1042France2026-09-21
1043Germany2026-10-01
1044Canada2026-09-15
1045Italy2026-09-26
1046Canada2026-10-06
1047Spain2026-09-27
1048Germany2026-10-05
1049Russia2026-09-30

On-Demand Data

NameIdCountryDate
Mujtaba O Wieser1000United Kingdom2026-09-27
Aruna E Morasca1001Russia2026-09-23
Claire W Gillian1002Japan2026-10-10
Alejandro K Briddick1003Canada2026-10-03
Aditya N Stockham1004Brazil2026-09-15
Faith R Glick1005Germany2026-09-29
Deepesh M Nestle1006Russia2026-09-14
Jeanfrancois J Saylors1007Spain2026-09-15
Munro F Nicka1008Argentina2026-10-05
Morrow K Poquette1009Australia2026-09-15
Cody A Tollner1010Australia2026-09-28
James P Ostrosky1011Spain2026-09-29
Arvin R Nestle1012Brazil2026-10-10
Munro O Gillian1013Argentina2026-09-21
Francesco D Briddick1014Japan2026-10-03
James X Figeroa1015Japan2026-09-15
James S Schemmer1016India2026-10-08
Ashley G Caldarera1017Japan2026-09-16
Ashley J Royster1018India2026-09-21
Izzy L Whobrey1019United Kingdom2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues J StensethItalyStephen Shaw NEW
Clifford I RutaSpainIoni Bowcher RENEWAL
Maisha P KolmetzCanadaAsiya Javayant QUALIFIED
Alejandro N MaletFranceBernardo Dominic QUALIFIED
Arvin B CaudyRussiaOnyama Limba NEW
Maisha B RimJapanAmy Elsner QUALIFIED
Wickens W FlosiBrazilXuxue Feng UNQUALIFIED
Chavez F NestleIndiaElwin Sharvill UNQUALIFIED
Jefferson Y BologniaJapanAsiya Javayant PROPOSAL
Morrow I SlusarskiItalyAnna Fali PROPOSAL
Francesco F AmigonJapanElwin Sharvill QUALIFIED
Izzy N IturbideGermanyStephen Shaw NEGOTIATION
Ashley T CaldareraFranceXuxue Feng NEGOTIATION
Wickens J GauchoItalyAnna Fali PROPOSAL
Claire U IturbideSpainOnyama Limba NEGOTIATION
Johnson P NestleItalyAmy Elsner UNQUALIFIED
Adams F FlosiCanadaAnna Fali QUALIFIED
Adams A DoeRussiaOnyama Limba QUALIFIED
Kadeem P BriddickSpainXuxue Feng UNQUALIFIED
Ivar J MarrierSpainAnna Fali QUALIFIED
Smith F MacleadCanadaIoni Bowcher UNQUALIFIED
Jennifer F RoysterSpainStephen Shaw NEW
Isabel F ChuiCanadaIoni Bowcher QUALIFIED
Mujtaba Q SlusarskiSpainElwin Sharvill RENEWAL
Claire R PaprockiSpainIvan Magalhaes QUALIFIED
Tony B KolmetzUnited KingdomIoni Bowcher RENEWAL
Darci B SlusarskiCanadaXuxue Feng UNQUALIFIED
David X VenereBrazilXuxue Feng NEGOTIATION
Salvatore J CampainRussiaBernardo Dominic QUALIFIED
Alejandro B KuskoSpainXuxue Feng RENEWAL
Stacey Z GauchoFranceXuxue Feng RENEWAL
Aditya Y MaletArgentinaAmy Elsner UNQUALIFIED
David B WhobreyArgentinaAmy Elsner PROPOSAL
Emily D SergiArgentinaElwin Sharvill UNQUALIFIED
Octavia Z AlbaresUnited KingdomAmy Elsner RENEWAL
Wickens N WaycottUnited KingdomBernardo Dominic NEGOTIATION
Juan U FlosiSpainXuxue Feng NEGOTIATION
Aditya L FerenczSpainAsiya Javayant PROPOSAL
Smith Q KolmetzUnited KingdomAmy Elsner RENEWAL
Mayumi N BowleyItalyElwin Sharvill 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" 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>