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
Salvatore V MorascaArgentinaBernardo Dominic PROPOSAL
David F RoysterUnited KingdomElwin Sharvill NEW
Aruna V BowleyUnited KingdomBernardo Dominic RENEWAL
Munro W MaletJapanIoni Bowcher NEW
Aruna M RimJapanAsiya Javayant QUALIFIED
Mayumi T VenereSpainIvan Magalhaes PROPOSAL
Emily R MarrierItalyStephen Shaw UNQUALIFIED
Maisha B GarufiCanadaOnyama Limba NEGOTIATION
Kadeem T RulapaughBrazilBernardo Dominic NEW
Jefferson W MarrierSpainBernardo Dominic UNQUALIFIED
Jefferson R BologniaItalyStephen Shaw NEW
Kaitlin N SergiIndiaElwin Sharvill QUALIFIED
Aditya F MorascaAustraliaStephen Shaw PROPOSAL
Clifford T KuskoBrazilAsiya Javayant NEGOTIATION
Jefferson B WieserGermanyAmy Elsner RENEWAL
Munro W WhobreyAustraliaElwin Sharvill RENEWAL
Johnson Q OldroydIndiaBernardo Dominic PROPOSAL
Ricardo H GlickCanadaIvan Magalhaes UNQUALIFIED
Greenwood M KuskoAustraliaXuxue Feng RENEWAL
Clifford O OldroydJapanAmy Elsner NEGOTIATION
Mujtaba X KolmetzJapanXuxue Feng NEW
Stacey E CampainItalyOnyama Limba RENEWAL
Smith Z SergiIndiaIoni Bowcher UNQUALIFIED
Darci W OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Clifford L VenereRussiaStephen Shaw NEW
Jeanfrancois Q GauchoJapanElwin Sharvill QUALIFIED
Octavia P StensethArgentinaAmy Elsner QUALIFIED
Wickens K RutaBrazilOnyama Limba PROPOSAL
Octavia Q GlickIndiaAsiya Javayant QUALIFIED
Murillo I NestleItalyStephen Shaw RENEWAL
Emily J MorascaGermanyIoni Bowcher RENEWAL
Aika C PoquetteIndiaAmy Elsner RENEWAL
Mayumi K PerinJapanAsiya Javayant NEW
Morrow D BowleyItalyXuxue Feng NEGOTIATION
Maisha X FlosiGermanyXuxue Feng UNQUALIFIED
Aruna G PaprockiAustraliaAnna Fali UNQUALIFIED
Darci J ShinkoRussiaIvan Magalhaes QUALIFIED
Johnson W FigeroaArgentinaAmy Elsner NEW
Stacey Z TollnerSpainBernardo Dominic NEW
Munro Q OstroskyBrazilAmy Elsner PROPOSAL
Munro N TollnerIndiaIoni Bowcher UNQUALIFIED
Munro K FerenczGermanyStephen Shaw PROPOSAL
Isabel P PerinGermanyIoni Bowcher QUALIFIED
David Y NestleGermanyAmy Elsner NEGOTIATION
Maisha O AlbaresBrazilAnna Fali NEW
Jefferson P RutaIndiaXuxue Feng NEW
Costa U NestleIndiaOnyama Limba UNQUALIFIED
Izzy L ButtBrazilAmy Elsner RENEWAL
Smith T KolmetzArgentinaAmy Elsner QUALIFIED
Morrow M ButtFranceBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore U RulapaughAustraliaAsiya Javayant QUALIFIED
Kaitlin Q RimBrazilStephen Shaw PROPOSAL
Adams E MaletArgentinaIoni Bowcher RENEWAL
Jefferson G VocelkaFranceAnna Fali RENEWAL
Silvio W DilliardRussiaElwin Sharvill NEW
Nicolas W SchemmerGermanyAmy Elsner QUALIFIED
Greenwood C AlbaresBrazilElwin Sharvill NEW
Clifford W IturbideItalyIvan Magalhaes RENEWAL
Juan S AmigonItalyElwin Sharvill UNQUALIFIED
Mayumi V TollnerFranceAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha E RoysterArgentina2026-09-06Rangoni Of Florence NEW29Ioni Bowcher
1001Alejandro D InouyeBrazil2026-09-29Chemel, James L Cpa PROPOSAL22Ivan Magalhaes
1002Emily M BriddickRussia2026-09-16King, Christopher A Esq UNQUALIFIED95Bernardo Dominic
1003Juan Z MorascaItaly2026-10-02Rousseaux, Michael Esq NEGOTIATION17Ioni Bowcher
1004Kadeem K CaudyArgentina2026-09-11Morlong Associates PROPOSAL76Onyama Limba
1005Kaitlin S SlusarskiAustralia2026-09-13Truhlar And Truhlar Attys UNQUALIFIED95Ioni Bowcher
1006Leon E PoquetteUnited Kingdom2026-09-08Rangoni Of Florence UNQUALIFIED21Onyama Limba
1007Antonio S CaudyArgentina2026-09-11Truhlar And Truhlar Attys NEGOTIATION34Ivan Magalhaes
1008Tony T GauchoFrance2026-09-11Dorl, James J Esq NEGOTIATION52Asiya Javayant
1009Kadeem L PoquetteBrazil2026-10-02Commercial Press UNQUALIFIED55Xuxue Feng
1010Silvio I IturbideGermany2026-09-17Chemel, James L Cpa PROPOSAL93Bernardo Dominic
1011Ivar N FlosiBrazil2026-09-19Feltz Printing Service NEW34Asiya Javayant
1012Jeanfrancois S WhobreyAustralia2026-09-05Rousseaux, Michael Esq NEW35Ioni Bowcher
1013Kaitlin X ButtGermany2026-09-24Morlong Associates UNQUALIFIED15Amy Elsner
1014Ashley C PaprockiJapan2026-09-09Buckley Miller Wright UNQUALIFIED36Amy Elsner
1015Adams H CampainArgentina2026-09-13Printing Dimensions QUALIFIED60Anna Fali
1016Mujtaba Q OstroskySpain2026-09-11Chemel, James L Cpa NEGOTIATION8Amy Elsner
1017James N MaletUnited Kingdom2026-09-20Benton, John B Jr NEW13Asiya Javayant
1018Smith V SergiBrazil2026-09-26Truhlar And Truhlar Attys NEW25Onyama Limba
1019Murillo A GauchoGermany2026-09-14Commercial Press PROPOSAL67Stephen Shaw
1020Misaki D WieserItaly2026-09-17Rangoni Of Florence RENEWAL27Ivan Magalhaes
1021Claire J CaldareraAustralia2026-09-12Buckley Miller Wright PROPOSAL90Ioni Bowcher
1022Emily C GarufiRussia2026-09-20Rangoni Of Florence RENEWAL41Bernardo Dominic
1023Jennifer M BowleyIndia2026-09-19Benton, John B Jr NEGOTIATION89Ioni Bowcher
1024Leja E DarakjyIndia2026-09-05Benton, John B Jr QUALIFIED26Anna Fali
1025Ashley M StensethArgentina2026-09-30Rangoni Of Florence UNQUALIFIED49Asiya Javayant
1026Ashley K ShinkoArgentina2026-09-10Chapman, Ross E Esq QUALIFIED35Ivan Magalhaes
1027Munro F NickaAustralia2026-09-23Rousseaux, Michael Esq NEGOTIATION24Asiya Javayant
1028Octavia P GarufiIndia2026-09-05Morlong Associates RENEWAL99Onyama Limba
1029Jefferson I RutaAustralia2026-09-15Buckley Miller Wright RENEWAL38Stephen Shaw
1030Mujtaba O MaletFrance2026-09-23Chemel, James L Cpa NEW32Stephen Shaw
1031Adams Y WhobreyJapan2026-09-12Dorl, James J Esq NEW67Stephen Shaw
1032Clifford J RulapaughCanada2026-09-11Chapman, Ross E Esq NEW97Elwin Sharvill
1033Greenwood Q TollnerGermany2026-09-09Dorl, James J Esq RENEWAL40Bernardo Dominic
1034Ivar I KolmetzJapan2026-09-11Benton, John B Jr QUALIFIED47Ivan Magalhaes
1035Darci I ButtFrance2026-09-08Rangoni Of Florence PROPOSAL8Bernardo Dominic
1036Claire F OstroskyFrance2026-09-22Dorl, James J Esq NEW70Ioni Bowcher
1037Costa E WhobreyFrance2026-09-26Chemel, James L Cpa QUALIFIED58Asiya Javayant
1038Cody K ShinkoBrazil2026-09-11Chapman, Ross E Esq QUALIFIED39Asiya Javayant
1039Darci Y WhobreyRussia2026-10-03Feltz Printing Service UNQUALIFIED64Asiya Javayant
1040Morrow S VenereItaly2026-09-24Buckley Miller Wright RENEWAL65Ioni Bowcher
1041Antonio U ButtArgentina2026-09-25Dorl, James J Esq NEW4Ioni Bowcher
1042Smith L MaletFrance2026-09-20Chanay, Jeffrey A Esq UNQUALIFIED13Stephen Shaw
1043Tony R GarufiAustralia2026-09-24Chapman, Ross E Esq RENEWAL62Bernardo Dominic
1044Ashley A StensethArgentina2026-09-23Feltz Printing Service NEW85Onyama Limba
1045Jennifer E MorascaJapan2026-09-12Rangoni Of Florence RENEWAL39Anna Fali
1046Rodrigues C DoeRussia2026-09-08Commercial Press PROPOSAL38Ivan Magalhaes
1047Alejandro N BologniaUnited Kingdom2026-09-29Truhlar And Truhlar Attys UNQUALIFIED5Bernardo Dominic
1048Faith Z BowleyGermany2026-09-08Chapman, Ross E Esq RENEWAL13Asiya Javayant
1049Jones P OstroskyItaly2026-09-21King, Christopher A Esq QUALIFIED1Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aika Y VocelkaRussiaBernardo Dominic UNQUALIFIED
Isabel F BriddickItalyElwin Sharvill PROPOSAL
Deepesh E RutaItalyElwin Sharvill UNQUALIFIED
Isabel I AlbaresRussiaAnna Fali PROPOSAL
Mayumi N InouyeArgentinaElwin Sharvill PROPOSAL
Darci Z FlosiArgentinaElwin Sharvill QUALIFIED
Adams T RulapaughArgentinaXuxue Feng NEGOTIATION
Darci Q AmigonRussiaIoni Bowcher PROPOSAL
Munro H PaprockiJapanIvan Magalhaes NEW
Greenwood O MaletFranceAmy Elsner PROPOSAL
Ashley F AmigonAustraliaBernardo Dominic RENEWAL
Salvatore F MaletUnited KingdomAmy Elsner NEW
Jefferson K GauchoUnited KingdomOnyama Limba QUALIFIED
Darci L FlosiIndiaIvan Magalhaes RENEWAL
Leja T GillianUnited KingdomXuxue Feng RENEWAL
Wickens Q DilliardSpainAsiya Javayant NEW
Nicolas I SergiGermanyIvan Magalhaes NEGOTIATION
David W GillianIndiaXuxue Feng QUALIFIED
Aika X GlickCanadaIvan Magalhaes NEW
Silvio Y MarrierCanadaBernardo Dominic RENEWAL
Jefferson E AmigonItalyOnyama Limba QUALIFIED
Stacey H ChuiIndiaStephen Shaw UNQUALIFIED
Maisha I FerenczGermanyAmy Elsner NEGOTIATION
Izzy W MaletSpainStephen Shaw NEGOTIATION
Faith O IturbideIndiaStephen Shaw NEW
Kaitlin Z PerinArgentinaElwin Sharvill NEW
Adams K WaycottJapanOnyama Limba PROPOSAL
Darci R ShinkoRussiaIoni Bowcher NEW
Jennifer K IturbideAustraliaElwin Sharvill UNQUALIFIED
Ricardo D CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Juan V BowleyFranceStephen Shaw UNQUALIFIED
Alejandro K RulapaughAustraliaIvan Magalhaes PROPOSAL
James Y SlusarskiIndiaIvan Magalhaes NEGOTIATION
Clifford P BriddickAustraliaStephen Shaw NEGOTIATION
Ivar Q RimRussiaAsiya Javayant QUALIFIED
Murillo T FigeroaItalyXuxue Feng UNQUALIFIED
Tony J BologniaIndiaStephen Shaw UNQUALIFIED
Murillo H PoquetteSpainAmy Elsner NEGOTIATION
Wickens X SlusarskiBrazilIvan Magalhaes NEW
Maria D SchemmerArgentinaIvan Magalhaes RENEWAL
Mayumi R BowleyCanadaAsiya Javayant NEGOTIATION
Kadeem S GlickArgentinaAsiya Javayant PROPOSAL
Aruna P IturbideGermanyAnna Fali UNQUALIFIED
Tony X RoysterItalyIoni Bowcher UNQUALIFIED
Francesco Y WieserGermanyIvan Magalhaes QUALIFIED
Jefferson A MaletBrazilIvan Magalhaes PROPOSAL
Jennifer E DilliardGermanyAsiya Javayant QUALIFIED
Leja Q MaletBrazilAmy Elsner PROPOSAL
Izzy S VenereGermanyIvan Magalhaes UNQUALIFIED
Aruna T MarrierRussiaIvan Magalhaes NEW
Frozen Columns
Name
Maisha T Foller
Maisha M Shinko
Leja R Oldroyd
Stacey E Albares
Rodrigues Y Caudy
Nicolas T Waycott
Aika Z Stockham
Leja J Inouye
Aika D Whobrey
Clifford O Saylors
Wickens E Stenseth
Maria K Inouye
Stacey T Caudy
Aruna A Darakjy
Alejandro F Inouye
Jefferson N Briddick
Ashley I Darakjy
Emily O Paprocki
Wickens N Inouye
Faith Y Nestle
Mujtaba S Wieser
Greenwood M Sergi
Smith R Foller
Johnson R Maclead
Maria W Venere
James T Campain
Aditya S Schemmer
Jefferson J Saylors
Clifford D Tollner
Morrow Z Darakjy
Deepesh P Caudy
Adams Q Garufi
Maria P Doe
Clifford O Royster
Kadeem X Albares
Mujtaba P Flosi
Jones I Briddick
Jeanfrancois Q Stenseth
Faith W Waycott
Deepesh Z Foller
Leon L Poquette
Stacey B Foller
Jefferson M Inouye
Rodrigues K Ruta
Deepesh I Tollner
Isabel Q Malet
Sinclair S Whobrey
Ricardo S Stockham
Morrow S Ostrosky
Juan Y Malet
IdCountryDate
1000Italy2026-09-12
1001India2026-10-01
1002Australia2026-09-14
1003United Kingdom2026-09-20
1004Spain2026-09-20
1005France2026-09-06
1006Spain2026-09-11
1007Australia2026-09-18
1008Argentina2026-10-03
1009Germany2026-09-28
1010France2026-09-30
1011India2026-09-21
1012Australia2026-09-27
1013Argentina2026-09-04
1014India2026-09-21
1015Argentina2026-09-14
1016India2026-09-27
1017Canada2026-09-21
1018United Kingdom2026-09-27
1019Spain2026-09-04
1020Australia2026-09-27
1021Argentina2026-09-06
1022United Kingdom2026-09-13
1023Australia2026-09-20
1024Italy2026-09-17
1025India2026-09-28
1026Russia2026-09-13
1027Spain2026-09-21
1028India2026-09-18
1029Russia2026-09-23
1030Canada2026-09-08
1031Russia2026-09-11
1032Spain2026-09-27
1033Germany2026-09-27
1034France2026-10-03
1035Argentina2026-09-14
1036Italy2026-09-04
1037Russia2026-10-01
1038Brazil2026-09-27
1039France2026-10-01
1040France2026-09-11
1041India2026-09-04
1042Australia2026-09-24
1043Japan2026-09-30
1044Russia2026-09-27
1045India2026-09-23
1046Argentina2026-09-23
1047Japan2026-09-23
1048Australia2026-09-07
1049Spain2026-10-01

On-Demand Data

NameIdCountryDate
Ricardo J Nicka1000Australia2026-09-22
Smith U Wieser1001Italy2026-09-12
Morrow Z Rulapaugh1002United Kingdom2026-09-22
David N Whobrey1003Japan2026-09-11
Murillo C Stockham1004France2026-09-12
Adams T Venere1005Spain2026-09-19
Salvatore C Garufi1006France2026-09-13
Jennifer D Kolmetz1007Italy2026-09-12
Adams N Shinko1008Canada2026-09-24
Francesco U Figeroa1009Brazil2026-09-05
Johnson W Malet1010Russia2026-09-21
Ashley F Maclead1011Spain2026-09-18
Aika G Venere1012Spain2026-09-15
Cody L Whobrey1013United Kingdom2026-09-20
Nicolas G Sergi1014Argentina2026-09-30
Isabel I Flosi1015Russia2026-10-03
Izzy Y Slusarski1016Spain2026-09-20
Kadeem G Shinko1017Canada2026-10-01
Salvatore E Albares1018Australia2026-09-08
Emily L Perin1019Brazil2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja C AlbaresJapanIoni Bowcher UNQUALIFIED
Mujtaba X WhobreySpainIoni Bowcher UNQUALIFIED
Ivar T VocelkaSpainStephen Shaw NEGOTIATION
Claire M VocelkaSpainAmy Elsner NEGOTIATION
Kaitlin N PoquetteItalyStephen Shaw QUALIFIED
Juan P RoysterBrazilIvan Magalhaes PROPOSAL
Jennifer A FlosiItalyXuxue Feng NEGOTIATION
Mayumi W VocelkaBrazilAmy Elsner NEW
Johnson Q RoysterArgentinaStephen Shaw RENEWAL
Claire W FigeroaRussiaStephen Shaw NEW
Johnson V NestleRussiaIoni Bowcher NEW
Munro X NestleRussiaAnna Fali RENEWAL
Rodrigues B BologniaRussiaIoni Bowcher PROPOSAL
Jennifer N WieserAustraliaStephen Shaw PROPOSAL
Tony R CaldareraAustraliaAmy Elsner UNQUALIFIED
Jefferson U NestleRussiaOnyama Limba NEW
Greenwood R CaudyAustraliaIvan Magalhaes PROPOSAL
Morrow D CaldareraSpainStephen Shaw PROPOSAL
Tony Z InouyeCanadaAmy Elsner QUALIFIED
Kaitlin L GarufiIndiaElwin Sharvill NEW
Ricardo Z BowleyRussiaXuxue Feng NEGOTIATION
Antonio V DilliardIndiaAnna Fali QUALIFIED
Sinclair M GarufiBrazilStephen Shaw RENEWAL
Emily W NestleFranceOnyama Limba UNQUALIFIED
Juan D ChuiArgentinaOnyama Limba QUALIFIED
Silvio G StockhamUnited KingdomAnna Fali NEW
Kadeem P GillianIndiaAsiya Javayant NEGOTIATION
Jefferson C NestleRussiaXuxue Feng PROPOSAL
Mujtaba T DoeUnited KingdomIvan Magalhaes NEW
Mayumi R OstroskyGermanyXuxue Feng QUALIFIED
Claire P MarrierRussiaIoni Bowcher RENEWAL
Ivar F PoquetteIndiaAnna Fali NEW
Salvatore U CaudyFranceIoni Bowcher NEGOTIATION
Murillo Y ChuiIndiaElwin Sharvill NEW
Leja P FerenczAustraliaIoni Bowcher RENEWAL
Aika Y ChuiCanadaBernardo Dominic NEW
Jones K DarakjyCanadaOnyama Limba NEW
Rodrigues V SchemmerArgentinaIoni Bowcher PROPOSAL
Jefferson J FollerFranceIvan Magalhaes QUALIFIED
Wickens A MaletGermanyXuxue Feng PROPOSAL

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