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
Ashley Q FerenczUnited KingdomIoni Bowcher PROPOSAL
Aika H KolmetzJapanAmy Elsner RENEWAL
Munro J CaudyAustraliaStephen Shaw UNQUALIFIED
Aika V StockhamCanadaAnna Fali PROPOSAL
Ricardo V MarrierFranceOnyama Limba QUALIFIED
Alejandro R MorascaBrazilAnna Fali NEGOTIATION
Morrow J WaycottSpainAmy Elsner QUALIFIED
Stacey G CaldareraFranceIvan Magalhaes NEW
Claire C WhobreyCanadaAsiya Javayant NEGOTIATION
Misaki B WieserCanadaOnyama Limba NEGOTIATION
Rodrigues D OstroskyArgentinaElwin Sharvill RENEWAL
Costa W StensethUnited KingdomAmy Elsner PROPOSAL
Izzy C IturbideIndiaBernardo Dominic NEGOTIATION
Chavez J FlosiFranceAmy Elsner UNQUALIFIED
Octavia G GarufiJapanOnyama Limba PROPOSAL
Aditya K GlickBrazilStephen Shaw NEW
Misaki C GlickIndiaAmy Elsner NEGOTIATION
Aditya J MacleadUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois N TollnerUnited KingdomAnna Fali NEW
Juan P CampainArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois F CampainRussiaXuxue Feng NEGOTIATION
Ricardo E MaletFranceElwin Sharvill QUALIFIED
Nicolas T VocelkaIndiaXuxue Feng NEGOTIATION
Jeanfrancois Q SchemmerUnited KingdomAsiya Javayant PROPOSAL
Misaki B PoquetteSpainStephen Shaw QUALIFIED
Stacey O BriddickSpainAsiya Javayant NEW
David O KolmetzUnited KingdomElwin Sharvill NEGOTIATION
Aruna V RimGermanyAsiya Javayant UNQUALIFIED
Claire T RimFranceBernardo Dominic QUALIFIED
Kadeem V GauchoAustraliaElwin Sharvill QUALIFIED
Francesco U WieserIndiaIvan Magalhaes QUALIFIED
Juan B WhobreyFranceIoni Bowcher PROPOSAL
Morrow M PerinItalyElwin Sharvill UNQUALIFIED
Jeanfrancois W AmigonAustraliaOnyama Limba NEW
Morrow Q CampainIndiaOnyama Limba NEGOTIATION
Deepesh C PerinUnited KingdomBernardo Dominic NEW
Deepesh Y StockhamAustraliaAmy Elsner PROPOSAL
Smith X MarrierSpainAmy Elsner PROPOSAL
Leja H DilliardGermanyIvan Magalhaes RENEWAL
Costa H VenereArgentinaBernardo Dominic RENEWAL
Nicolas P PaprockiFranceBernardo Dominic UNQUALIFIED
Maisha E InouyeGermanyAnna Fali QUALIFIED
Cody V CampainUnited KingdomIoni Bowcher NEGOTIATION
Salvatore A AlbaresIndiaElwin Sharvill QUALIFIED
Morrow P DarakjyArgentinaStephen Shaw RENEWAL
Jefferson E FigeroaIndiaBernardo Dominic PROPOSAL
Ashley F PerinBrazilElwin Sharvill NEW
Faith Y MaletFranceOnyama Limba UNQUALIFIED
Izzy U KolmetzBrazilIvan Magalhaes QUALIFIED
Darci E GillianIndiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez D GauchoItalyAmy Elsner QUALIFIED
Kadeem H FollerUnited KingdomIvan Magalhaes RENEWAL
James J KolmetzFranceAmy Elsner QUALIFIED
Darci G SchemmerIndiaAsiya Javayant UNQUALIFIED
Aruna N OstroskyFranceAsiya Javayant QUALIFIED
Juan F KolmetzRussiaAnna Fali RENEWAL
Johnson K RimGermanyXuxue Feng QUALIFIED
Murillo B WaycottFranceBernardo Dominic RENEWAL
Adams F ShinkoRussiaIvan Magalhaes NEW
Mujtaba U VenereGermanyStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez U InouyeBrazil2026-10-13Chanay, Jeffrey A Esq NEGOTIATION51Stephen Shaw
1001Ricardo Z CampainRussia2026-10-27Buckley Miller Wright PROPOSAL83Anna Fali
1002Clifford U PaprockiJapan2026-10-30Chapman, Ross E Esq RENEWAL66Elwin Sharvill
1003Faith T SergiFrance2026-10-22Truhlar And Truhlar Attys RENEWAL74Xuxue Feng
1004Wickens G AlbaresAustralia2026-10-18Dorl, James J Esq UNQUALIFIED28Stephen Shaw
1005James N MaletAustralia2026-11-05King, Christopher A Esq PROPOSAL24Ioni Bowcher
1006Antonio H MaletBrazil2026-11-06Chemel, James L Cpa NEGOTIATION68Anna Fali
1007Arvin X MaletAustralia2026-10-20Benton, John B Jr NEW24Elwin Sharvill
1008Francesco L DilliardCanada2026-10-26King, Christopher A Esq NEW82Asiya Javayant
1009Adams P TollnerArgentina2026-10-24King, Christopher A Esq NEGOTIATION93Anna Fali
1010Sinclair X FollerJapan2026-11-08Morlong Associates RENEWAL85Ioni Bowcher
1011Ivar X GarufiSpain2026-11-07Feltz Printing Service RENEWAL44Ivan Magalhaes
1012Tony P MarrierGermany2026-10-31Printing Dimensions UNQUALIFIED21Ioni Bowcher
1013Julie Q KuskoIndia2026-10-15Dorl, James J Esq RENEWAL71Ioni Bowcher
1014Morrow Y WieserItaly2026-11-01Commercial Press QUALIFIED22Stephen Shaw
1015Kaitlin W RutaUnited Kingdom2026-10-28Printing Dimensions UNQUALIFIED60Ivan Magalhaes
1016Smith E AmigonGermany2026-10-27Dorl, James J Esq NEGOTIATION59Onyama Limba
1017Jennifer R StockhamCanada2026-10-19King, Christopher A Esq NEGOTIATION75Anna Fali
1018Aditya I StensethSpain2026-10-29Benton, John B Jr UNQUALIFIED53Onyama Limba
1019Murillo K GarufiJapan2026-10-20Chanay, Jeffrey A Esq RENEWAL75Anna Fali
1020Francesco E MacleadRussia2026-10-13Chemel, James L Cpa QUALIFIED54Amy Elsner
1021Sinclair A StockhamAustralia2026-10-24Chapman, Ross E Esq QUALIFIED37Xuxue Feng
1022Jeanfrancois N CaudyFrance2026-11-10Rousseaux, Michael Esq NEW14Asiya Javayant
1023Isabel E WieserRussia2026-10-27Commercial Press NEGOTIATION91Ivan Magalhaes
1024Leon Z WieserIndia2026-11-09Feltz Printing Service QUALIFIED49Stephen Shaw
1025Alejandro E ShinkoSpain2026-10-12King, Christopher A Esq RENEWAL18Asiya Javayant
1026Salvatore K PoquetteArgentina2026-11-09Truhlar And Truhlar Attys NEGOTIATION80Asiya Javayant
1027Isabel Q FollerBrazil2026-10-27Chemel, James L Cpa NEGOTIATION60Asiya Javayant
1028Cody I KolmetzArgentina2026-10-26Benton, John B Jr NEGOTIATION25Ioni Bowcher
1029Tony W GarufiSpain2026-10-13Truhlar And Truhlar Attys RENEWAL76Asiya Javayant
1030Claire B SergiJapan2026-11-05Benton, John B Jr NEW3Elwin Sharvill
1031Aditya I BologniaBrazil2026-11-09Rangoni Of Florence NEW18Ioni Bowcher
1032Clifford I RulapaughUnited Kingdom2026-11-04King, Christopher A Esq UNQUALIFIED13Xuxue Feng
1033Leon G FerenczRussia2026-10-14Rangoni Of Florence NEW87Amy Elsner
1034Ricardo F BologniaItaly2026-10-12Printing Dimensions RENEWAL76Elwin Sharvill
1035Ivar L VenereUnited Kingdom2026-11-06Rangoni Of Florence NEGOTIATION37Ioni Bowcher
1036Costa O NestleUnited Kingdom2026-10-16Dorl, James J Esq QUALIFIED95Amy Elsner
1037Claire W BriddickGermany2026-11-05Rangoni Of Florence NEW59Onyama Limba
1038Tony H NestleUnited Kingdom2026-10-23Dorl, James J Esq QUALIFIED21Xuxue Feng
1039Murillo C PerinAustralia2026-10-30Rousseaux, Michael Esq NEGOTIATION21Ioni Bowcher
1040Jefferson B RimRussia2026-10-22Morlong Associates RENEWAL12Onyama Limba
1041Sinclair T DoeItaly2026-10-15Buckley Miller Wright QUALIFIED78Onyama Limba
1042Maisha Q SergiJapan2026-10-13Chemel, James L Cpa NEGOTIATION93Onyama Limba
1043Deepesh M KolmetzIndia2026-10-12Benton, John B Jr NEW22Amy Elsner
1044Jones S StensethFrance2026-10-28Dorl, James J Esq PROPOSAL16Amy Elsner
1045Arvin D CampainArgentina2026-11-10Chemel, James L Cpa QUALIFIED5Onyama Limba
1046Leja S MacleadUnited Kingdom2026-11-03Printing Dimensions QUALIFIED43Elwin Sharvill
1047Stacey B BriddickSpain2026-11-10Benton, John B Jr UNQUALIFIED65Stephen Shaw
1048Emily Y OstroskyItaly2026-11-08Feltz Printing Service RENEWAL96Onyama Limba
1049Chavez X CaldareraFrance2026-10-18Dorl, James J Esq UNQUALIFIED2Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois U NestleGermanyOnyama Limba RENEWAL
Faith W OldroydCanadaOnyama Limba NEW
Ashley V CaldareraCanadaXuxue Feng QUALIFIED
Kadeem P SaylorsAustraliaBernardo Dominic NEGOTIATION
Leja Z FerenczGermanyAmy Elsner QUALIFIED
Jones P CaudyAustraliaOnyama Limba RENEWAL
Antonio G ChuiSpainElwin Sharvill QUALIFIED
Adams C ButtRussiaElwin Sharvill RENEWAL
Kaitlin Z DoeFranceAnna Fali UNQUALIFIED
Murillo O OldroydItalyAnna Fali UNQUALIFIED
Jeanfrancois M GarufiRussiaElwin Sharvill UNQUALIFIED
Faith Z GillianItalyAnna Fali UNQUALIFIED
Chavez Y PaprockiAustraliaAmy Elsner NEGOTIATION
Wickens B RutaUnited KingdomElwin Sharvill NEW
Izzy O WhobreyRussiaXuxue Feng QUALIFIED
Kaitlin G DilliardFranceAnna Fali QUALIFIED
Costa P KuskoFranceAmy Elsner NEGOTIATION
Adams H GillianItalyIvan Magalhaes PROPOSAL
Kadeem B StensethBrazilOnyama Limba NEGOTIATION
David G FigeroaItalyAsiya Javayant UNQUALIFIED
Greenwood Y RutaBrazilOnyama Limba NEGOTIATION
Arvin D TollnerItalyElwin Sharvill QUALIFIED
Silvio W VenereAustraliaElwin Sharvill UNQUALIFIED
Morrow T SlusarskiItalyAmy Elsner PROPOSAL
Octavia A OldroydArgentinaOnyama Limba PROPOSAL
Deepesh V RulapaughBrazilIvan Magalhaes RENEWAL
Mayumi P CaudyRussiaAmy Elsner QUALIFIED
Mayumi G FigeroaIndiaIvan Magalhaes RENEWAL
Adams V IturbideIndiaStephen Shaw PROPOSAL
Misaki G WhobreyItalyIvan Magalhaes UNQUALIFIED
Juan D RutaSpainElwin Sharvill PROPOSAL
Maria B FerenczItalyElwin Sharvill NEW
Kaitlin X GillianJapanElwin Sharvill NEGOTIATION
Mujtaba D KolmetzItalyElwin Sharvill RENEWAL
Aruna X WieserAustraliaAsiya Javayant RENEWAL
Jeanfrancois A KuskoArgentinaIvan Magalhaes PROPOSAL
Stacey C FerenczIndiaElwin Sharvill QUALIFIED
Wickens A RoysterIndiaAnna Fali PROPOSAL
Misaki Q MaletItalyElwin Sharvill QUALIFIED
Aditya B AlbaresGermanyIoni Bowcher NEW
Claire P PerinJapanBernardo Dominic NEW
Smith T PoquetteSpainElwin Sharvill NEGOTIATION
Sinclair E AmigonCanadaAnna Fali NEW
Wickens S VenereFranceAmy Elsner UNQUALIFIED
Chavez K SchemmerItalyAnna Fali NEW
Leja X BriddickJapanXuxue Feng QUALIFIED
Arvin B PaprockiJapanAnna Fali RENEWAL
Isabel N MorascaJapanElwin Sharvill NEGOTIATION
Kadeem O InouyeSpainXuxue Feng NEGOTIATION
Smith E WhobreyItalyOnyama Limba PROPOSAL
Frozen Columns
Name
Faith B Oldroyd
Octavia G Marrier
Faith L Iturbide
Mujtaba P Vocelka
Misaki J Darakjy
Jeanfrancois O Shinko
Jefferson Z Tollner
Aika R Morasca
Johnson D Marrier
Juan U Chui
Mayumi R Waycott
Sinclair V Paprocki
Deepesh K Marrier
Rodrigues C Ruta
Chavez M Caldarera
Kaitlin U Darakjy
Jennifer F Paprocki
Smith V Bolognia
Deepesh T Figeroa
Aika J Flosi
Aika Z Vocelka
Costa L Ferencz
Isabel D Stenseth
Clifford Y Oldroyd
Ivar S Maclead
Deepesh G Gillian
Morrow C Gillian
Jennifer G Morasca
Mujtaba A Kusko
Nicolas U Morasca
Nicolas V Perin
Misaki Q Briddick
Morrow N Garufi
Murillo Y Saylors
Emily H Malet
Murillo C Rulapaugh
Smith Z Gaucho
Murillo A Gaucho
Misaki Q Vocelka
James L Bolognia
Faith G Rim
Ashley N Nicka
Ivar I Doe
Juan N Doe
Clifford O Bowley
Jeanfrancois A Malet
Francesco N Glick
Aditya Z Perin
Cody K Malet
Rodrigues M Morasca
IdCountryDate
1000Germany2026-10-17
1001Germany2026-10-18
1002Australia2026-11-04
1003United Kingdom2026-10-22
1004Russia2026-11-08
1005Argentina2026-10-14
1006Canada2026-10-31
1007Germany2026-11-07
1008Spain2026-10-16
1009Argentina2026-10-22
1010United Kingdom2026-11-09
1011Spain2026-11-06
1012United Kingdom2026-10-31
1013Argentina2026-10-26
1014Russia2026-10-14
1015Italy2026-10-28
1016France2026-11-06
1017Russia2026-10-19
1018Spain2026-11-06
1019France2026-10-22
1020Japan2026-11-04
1021United Kingdom2026-10-15
1022Japan2026-11-04
1023United Kingdom2026-11-04
1024Germany2026-10-19
1025United Kingdom2026-11-02
1026Italy2026-10-31
1027Japan2026-10-20
1028Argentina2026-10-12
1029France2026-10-25
1030India2026-11-02
1031Germany2026-11-07
1032Japan2026-10-28
1033Brazil2026-10-22
1034Italy2026-10-31
1035Italy2026-10-13
1036Argentina2026-11-10
1037France2026-11-07
1038Australia2026-10-26
1039Italy2026-11-02
1040Canada2026-11-03
1041Brazil2026-10-17
1042Japan2026-10-21
1043Canada2026-10-26
1044Australia2026-10-23
1045Brazil2026-10-30
1046Germany2026-11-10
1047Russia2026-10-30
1048United Kingdom2026-11-06
1049Italy2026-11-04

On-Demand Data

NameIdCountryDate
Antonio M Venere1000United Kingdom2026-11-04
Ashley A Rim1001India2026-10-30
Juan A Kolmetz1002France2026-11-03
Cody G Venere1003Russia2026-11-03
Tony F Doe1004Brazil2026-11-08
Aruna M Whobrey1005United Kingdom2026-10-16
Kaitlin J Oldroyd1006United Kingdom2026-10-12
Jefferson O Ferencz1007Italy2026-11-05
Leja Z Bolognia1008Japan2026-11-09
Costa C Ferencz1009Japan2026-10-17
Izzy M Gaucho1010Japan2026-10-30
Smith A Butt1011Canada2026-10-24
Juan I Amigon1012France2026-10-12
Octavia A Stenseth1013Japan2026-11-03
Munro F Rulapaugh1014France2026-10-20
Salvatore O Stockham1015Japan2026-11-02
Clifford A Bolognia1016Germany2026-10-17
Faith O Saylors1017Brazil2026-11-06
Rodrigues T Bolognia1018Russia2026-10-24
Tony K Venere1019France2026-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer B OldroydSpainBernardo Dominic RENEWAL
Tony X AmigonBrazilAsiya Javayant PROPOSAL
Izzy B OstroskyItalyIvan Magalhaes UNQUALIFIED
Deepesh Q IturbideFranceStephen Shaw QUALIFIED
David U StensethSpainStephen Shaw RENEWAL
Aruna X AlbaresSpainBernardo Dominic NEGOTIATION
Salvatore P FerenczSpainBernardo Dominic NEGOTIATION
Salvatore M BowleyBrazilIoni Bowcher NEGOTIATION
Faith N RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Tony X KuskoRussiaAsiya Javayant NEGOTIATION
Jefferson P SchemmerUnited KingdomAnna Fali QUALIFIED
David Q TollnerIndiaXuxue Feng RENEWAL
Julie W NestleGermanyAmy Elsner NEW
Munro Q RimFranceBernardo Dominic UNQUALIFIED
Maria M KuskoItalyOnyama Limba NEW
Smith C GarufiAustraliaIvan Magalhaes RENEWAL
Maisha Q GauchoFranceStephen Shaw PROPOSAL
Adams Y OstroskyUnited KingdomXuxue Feng RENEWAL
Smith K BowleyIndiaStephen Shaw QUALIFIED
Mujtaba X MaletArgentinaXuxue Feng UNQUALIFIED
James J ButtBrazilIvan Magalhaes QUALIFIED
Leja E BowleyIndiaAmy Elsner NEW
Octavia X SergiCanadaAsiya Javayant NEGOTIATION
Johnson R RulapaughBrazilOnyama Limba QUALIFIED
Clifford K TollnerSpainAsiya Javayant RENEWAL
Stacey X GlickRussiaElwin Sharvill NEGOTIATION
Adams G FollerCanadaAmy Elsner NEGOTIATION
Kaitlin C CampainItalyBernardo Dominic NEW
Nicolas A FerenczJapanIoni Bowcher QUALIFIED
Johnson A BriddickSpainStephen Shaw UNQUALIFIED
Murillo P NestleSpainAsiya Javayant RENEWAL
Aika C RoysterGermanyXuxue Feng NEGOTIATION
Rodrigues B OldroydItalyAmy Elsner NEW
Sinclair U CampainItalyIoni Bowcher PROPOSAL
Greenwood U MarrierAustraliaElwin Sharvill RENEWAL
Maisha Z SaylorsUnited KingdomOnyama Limba RENEWAL
Aika N PerinArgentinaStephen Shaw NEW
Deepesh F OstroskyBrazilStephen Shaw UNQUALIFIED
Isabel X AlbaresJapanStephen Shaw NEGOTIATION
Murillo O ButtGermanyIvan 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" 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>