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
Aika D GauchoAustraliaStephen Shaw QUALIFIED
Faith H ChuiBrazilXuxue Feng RENEWAL
Tony S RoysterRussiaBernardo Dominic QUALIFIED
Kadeem B InouyeCanadaIoni Bowcher NEGOTIATION
Octavia G RulapaughGermanyAnna Fali NEW
Antonio O MaletJapanBernardo Dominic RENEWAL
Jennifer R SlusarskiJapanBernardo Dominic QUALIFIED
Leja L DoeRussiaAmy Elsner QUALIFIED
Kaitlin J MorascaFranceElwin Sharvill NEGOTIATION
Aruna E SergiSpainAnna Fali UNQUALIFIED
Misaki R IturbideCanadaElwin Sharvill QUALIFIED
Antonio W WieserAustraliaAmy Elsner NEGOTIATION
Juan I MorascaSpainIvan Magalhaes QUALIFIED
Leja N PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Morrow V GarufiAustraliaXuxue Feng NEGOTIATION
Jennifer K MarrierAustraliaIoni Bowcher QUALIFIED
Jones Y StensethIndiaBernardo Dominic UNQUALIFIED
Wickens W PaprockiAustraliaOnyama Limba UNQUALIFIED
Chavez Z WhobreyBrazilAnna Fali QUALIFIED
Munro H MarrierBrazilAmy Elsner PROPOSAL
Deepesh W BologniaSpainElwin Sharvill PROPOSAL
Faith I BowleyArgentinaIvan Magalhaes NEGOTIATION
Morrow U RimItalyElwin Sharvill NEGOTIATION
Greenwood X WaycottFranceBernardo Dominic PROPOSAL
Ivar P PerinCanadaAnna Fali RENEWAL
Smith R ChuiJapanBernardo Dominic PROPOSAL
Mayumi J NickaGermanyAnna Fali NEW
Silvio Z PaprockiCanadaAsiya Javayant NEW
Jeanfrancois V MaletJapanIvan Magalhaes QUALIFIED
Johnson C StockhamGermanyStephen Shaw QUALIFIED
Maria Z WhobreyBrazilIvan Magalhaes QUALIFIED
Munro U WieserArgentinaAsiya Javayant UNQUALIFIED
Ricardo S IturbideArgentinaAmy Elsner PROPOSAL
Chavez P CampainCanadaElwin Sharvill PROPOSAL
Mujtaba U MorascaArgentinaIoni Bowcher PROPOSAL
Jefferson T AmigonFranceAnna Fali PROPOSAL
Izzy G SlusarskiFranceElwin Sharvill NEGOTIATION
Salvatore H BologniaItalyElwin Sharvill PROPOSAL
Jeanfrancois O OldroydCanadaOnyama Limba PROPOSAL
Ricardo J ButtRussiaStephen Shaw RENEWAL
Aruna N DilliardJapanAmy Elsner QUALIFIED
Silvio M NestleIndiaOnyama Limba NEGOTIATION
Ivar Y TollnerBrazilElwin Sharvill UNQUALIFIED
Smith P RoysterItalyIoni Bowcher NEGOTIATION
Salvatore G StensethAustraliaXuxue Feng QUALIFIED
Aditya B SchemmerCanadaAmy Elsner QUALIFIED
Maria D IturbideFranceXuxue Feng PROPOSAL
Wickens I FigeroaAustraliaOnyama Limba PROPOSAL
Antonio H InouyeBrazilIvan Magalhaes NEGOTIATION
Deepesh Z OstroskyArgentinaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson Z DarakjyItalyXuxue Feng NEW
Wickens R FollerUnited KingdomBernardo Dominic NEW
Jefferson K RimIndiaIvan Magalhaes RENEWAL
Isabel P TollnerUnited KingdomOnyama Limba QUALIFIED
Murillo I BriddickItalyElwin Sharvill PROPOSAL
Nicolas K DoeFranceIoni Bowcher NEGOTIATION
Costa Q FlosiGermanyAmy Elsner UNQUALIFIED
Adams T DoeUnited KingdomAsiya Javayant RENEWAL
Stacey Y StockhamArgentinaStephen Shaw NEW
Clifford J DarakjyArgentinaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin L InouyeGermany2026-09-06Printing Dimensions NEW48Amy Elsner
1001Clifford T InouyeAustralia2026-08-23Morlong Associates NEGOTIATION86Asiya Javayant
1002Ivar S GarufiRussia2026-09-13Chapman, Ross E Esq UNQUALIFIED79Amy Elsner
1003Stacey B ChuiSpain2026-09-05Rousseaux, Michael Esq NEW13Ivan Magalhaes
1004Ashley R NickaBrazil2026-08-31Rangoni Of Florence PROPOSAL18Elwin Sharvill
1005Jones G VenereAustralia2026-09-01Chapman, Ross E Esq RENEWAL82Onyama Limba
1006Ricardo B SchemmerAustralia2026-09-13Rangoni Of Florence NEGOTIATION68Onyama Limba
1007Isabel R GauchoUnited Kingdom2026-08-27Printing Dimensions PROPOSAL54Xuxue Feng
1008Smith G MaletSpain2026-08-30Feiner Bros PROPOSAL90Amy Elsner
1009Ricardo N BowleyUnited Kingdom2026-09-07Chapman, Ross E Esq QUALIFIED28Onyama Limba
1010Jeanfrancois G KolmetzGermany2026-09-15Benton, John B Jr UNQUALIFIED98Xuxue Feng
1011Ashley U TollnerUnited Kingdom2026-09-11Truhlar And Truhlar Attys NEW48Bernardo Dominic
1012Chavez R GarufiIndia2026-08-20Feltz Printing Service RENEWAL44Amy Elsner
1013Murillo A GauchoArgentina2026-09-02Buckley Miller Wright PROPOSAL53Amy Elsner
1014Ashley Z FigeroaBrazil2026-09-02Chapman, Ross E Esq PROPOSAL12Onyama Limba
1015Greenwood H AmigonFrance2026-09-07Truhlar And Truhlar Attys NEW24Asiya Javayant
1016Jennifer O BologniaItaly2026-09-04Commercial Press NEW8Elwin Sharvill
1017Mujtaba V RulapaughSpain2026-08-31Rangoni Of Florence NEGOTIATION51Anna Fali
1018Julie H GillianGermany2026-08-31Dorl, James J Esq NEW93Ioni Bowcher
1019Costa M BologniaBrazil2026-08-31Chapman, Ross E Esq UNQUALIFIED85Elwin Sharvill
1020Ricardo T MaletAustralia2026-09-16Commercial Press RENEWAL74Stephen Shaw
1021Leja S DilliardBrazil2026-09-14Feiner Bros QUALIFIED16Ioni Bowcher
1022Tony T PoquetteItaly2026-09-18Commercial Press QUALIFIED64Anna Fali
1023Antonio L NickaIndia2026-09-03Chapman, Ross E Esq RENEWAL68Xuxue Feng
1024Stacey O WieserRussia2026-09-01Truhlar And Truhlar Attys NEGOTIATION36Amy Elsner
1025Jennifer X KolmetzItaly2026-08-21Chapman, Ross E Esq NEW19Stephen Shaw
1026Maisha J PoquetteUnited Kingdom2026-09-03King, Christopher A Esq RENEWAL94Ivan Magalhaes
1027Antonio H FollerAustralia2026-09-14Chanay, Jeffrey A Esq NEW31Amy Elsner
1028Mujtaba I BowleyItaly2026-09-08King, Christopher A Esq PROPOSAL55Onyama Limba
1029Smith T DarakjyGermany2026-09-09Rangoni Of Florence NEGOTIATION98Asiya Javayant
1030Cody W KuskoArgentina2026-09-16Rousseaux, Michael Esq RENEWAL26Asiya Javayant
1031Emily U WhobreyGermany2026-09-02Chanay, Jeffrey A Esq NEW89Elwin Sharvill
1032Isabel M CampainArgentina2026-09-03Chapman, Ross E Esq NEGOTIATION58Onyama Limba
1033Alejandro L ButtAustralia2026-09-04Feiner Bros PROPOSAL51Bernardo Dominic
1034Isabel H AlbaresCanada2026-09-14Chapman, Ross E Esq UNQUALIFIED96Onyama Limba
1035Jennifer A StensethCanada2026-09-02Rousseaux, Michael Esq NEGOTIATION59Xuxue Feng
1036Mujtaba F FlosiIndia2026-08-28Feltz Printing Service UNQUALIFIED59Ivan Magalhaes
1037James X KuskoAustralia2026-08-28Morlong Associates PROPOSAL44Amy Elsner
1038Leon S MaletIndia2026-09-06Truhlar And Truhlar Attys PROPOSAL72Anna Fali
1039Cody P DoeJapan2026-09-15Dorl, James J Esq RENEWAL90Onyama Limba
1040Aika T DilliardArgentina2026-09-12Commercial Press NEGOTIATION44Ivan Magalhaes
1041Leja D IturbideIndia2026-08-31King, Christopher A Esq NEGOTIATION61Ioni Bowcher
1042Ashley Z KolmetzBrazil2026-09-15Dorl, James J Esq QUALIFIED84Stephen Shaw
1043Morrow N OldroydSpain2026-09-02Feiner Bros NEW40Amy Elsner
1044Ricardo Y SergiIndia2026-09-17Printing Dimensions NEW61Ioni Bowcher
1045Octavia G MorascaRussia2026-09-15Feiner Bros QUALIFIED86Bernardo Dominic
1046Deepesh V DilliardItaly2026-08-29Buckley Miller Wright RENEWAL36Onyama Limba
1047Wickens Z MaletSpain2026-09-14Feltz Printing Service NEGOTIATION68Bernardo Dominic
1048Sinclair E ButtJapan2026-09-07Rousseaux, Michael Esq PROPOSAL38Bernardo Dominic
1049Smith X DilliardArgentina2026-09-01Benton, John B Jr PROPOSAL43Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Misaki S RimItalyAmy Elsner QUALIFIED
Faith W CaldareraSpainOnyama Limba QUALIFIED
Isabel P WaycottBrazilIoni Bowcher UNQUALIFIED
Costa T StensethFranceAmy Elsner NEGOTIATION
Greenwood T SchemmerIndiaBernardo Dominic UNQUALIFIED
Cody W FollerUnited KingdomOnyama Limba UNQUALIFIED
Adams U OldroydSpainAnna Fali UNQUALIFIED
Jennifer Z ChuiJapanElwin Sharvill NEGOTIATION
Murillo P StensethGermanyAnna Fali PROPOSAL
Maisha C CaldareraIndiaAsiya Javayant RENEWAL
James S MaletArgentinaXuxue Feng NEW
Faith J WaycottArgentinaBernardo Dominic NEW
Maria X FollerItalyAnna Fali NEGOTIATION
Murillo K SchemmerBrazilOnyama Limba QUALIFIED
Jeanfrancois D SchemmerArgentinaAmy Elsner RENEWAL
Aruna N NestleFranceOnyama Limba NEW
Leja N CampainItalyIvan Magalhaes UNQUALIFIED
Francesco G MaletUnited KingdomAmy Elsner RENEWAL
David K DilliardArgentinaOnyama Limba QUALIFIED
Faith K VenereFranceIvan Magalhaes UNQUALIFIED
Rodrigues A RimFranceXuxue Feng UNQUALIFIED
Maria G GarufiGermanyIvan Magalhaes NEW
Mujtaba I DilliardCanadaXuxue Feng NEW
Tony Q AmigonGermanyAnna Fali UNQUALIFIED
Greenwood O OstroskyFranceIoni Bowcher UNQUALIFIED
Kaitlin K AmigonGermanyBernardo Dominic RENEWAL
Maria N PerinGermanyAmy Elsner NEGOTIATION
Mayumi Q GlickArgentinaBernardo Dominic RENEWAL
Ivar G MarrierRussiaXuxue Feng RENEWAL
Leja S GillianGermanyAnna Fali QUALIFIED
Aruna K MaletCanadaIoni Bowcher NEGOTIATION
Ivar Z OldroydFranceIvan Magalhaes UNQUALIFIED
Kadeem L AlbaresFranceOnyama Limba NEW
Ricardo H MarrierSpainAsiya Javayant PROPOSAL
Isabel M MorascaItalyAsiya Javayant NEGOTIATION
Costa S OldroydSpainAsiya Javayant UNQUALIFIED
Munro P VenereGermanyAmy Elsner QUALIFIED
Kaitlin V ButtCanadaStephen Shaw RENEWAL
Francesco P FigeroaCanadaElwin Sharvill NEW
Claire P SaylorsCanadaElwin Sharvill NEW
Antonio A StockhamItalyStephen Shaw PROPOSAL
Tony X WhobreyAustraliaBernardo Dominic RENEWAL
Costa T OstroskyIndiaXuxue Feng RENEWAL
Morrow R FigeroaSpainAmy Elsner RENEWAL
Maisha Y SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Darci I AlbaresCanadaBernardo Dominic PROPOSAL
Murillo K GlickRussiaIvan Magalhaes NEW
Jeanfrancois P AmigonCanadaBernardo Dominic NEGOTIATION
Wickens A RoysterItalyElwin Sharvill NEGOTIATION
Deepesh E DarakjyArgentinaIoni Bowcher PROPOSAL
Frozen Columns
Name
Costa L Caldarera
Sinclair A Shinko
Francesco W Nestle
Leon U Waycott
Aruna H Slusarski
Faith H Figeroa
Silvio Q Sergi
Darci H Malet
Misaki J Flosi
Tony F Paprocki
Wickens F Tollner
Jennifer A Malet
Jeanfrancois C Chui
Emily F Figeroa
James Q Albares
Antonio V Ostrosky
Ricardo N Royster
Arvin G Garufi
Tony Y Butt
Mayumi S Albares
Salvatore B Saylors
Mujtaba I Kolmetz
Leon F Royster
Antonio V Bolognia
Jeanfrancois H Ferencz
Antonio F Venere
David V Briddick
Aruna X Malet
Misaki E Darakjy
Jones M Stenseth
James P Venere
Clifford F Gaucho
Rodrigues P Darakjy
Darci A Ruta
Julie H Stockham
Maisha M Saylors
Jefferson J Dilliard
Munro R Kusko
Clifford R Royster
Silvio G Schemmer
Clifford P Rim
Darci S Marrier
Octavia G Malet
Leon G Bowley
Ivar M Tollner
Octavia K Iturbide
Johnson D Sergi
Kadeem V Kolmetz
Salvatore P Nestle
Emily M Kusko
IdCountryDate
1000United Kingdom2026-08-31
1001Italy2026-09-12
1002India2026-09-10
1003Russia2026-09-14
1004Germany2026-09-01
1005Japan2026-08-30
1006India2026-08-26
1007India2026-08-25
1008France2026-09-13
1009Italy2026-09-06
1010Australia2026-09-12
1011Germany2026-09-05
1012Japan2026-09-01
1013India2026-09-11
1014India2026-09-07
1015United Kingdom2026-09-09
1016Russia2026-08-22
1017Brazil2026-08-28
1018Spain2026-08-30
1019Australia2026-08-21
1020Germany2026-08-23
1021United Kingdom2026-09-07
1022Spain2026-09-05
1023Russia2026-08-21
1024Russia2026-08-24
1025France2026-08-29
1026Canada2026-09-16
1027India2026-08-30
1028Brazil2026-08-24
1029Brazil2026-08-30
1030United Kingdom2026-09-02
1031Russia2026-08-28
1032India2026-09-06
1033Germany2026-08-26
1034France2026-09-12
1035Brazil2026-08-31
1036Japan2026-08-31
1037Germany2026-09-11
1038France2026-08-29
1039France2026-08-21
1040Italy2026-09-06
1041France2026-09-18
1042Argentina2026-09-02
1043Japan2026-09-01
1044Brazil2026-08-21
1045Argentina2026-09-10
1046Russia2026-08-23
1047Spain2026-08-29
1048Italy2026-09-06
1049Spain2026-08-21

On-Demand Data

NameIdCountryDate
Greenwood B Albares1000Australia2026-09-01
Greenwood B Oldroyd1001India2026-09-01
Nicolas O Foller1002Canada2026-08-27
Alejandro K Caudy1003Italy2026-09-02
Jefferson I Royster1004Germany2026-08-28
Jennifer M Caudy1005India2026-08-23
Stacey Z Paprocki1006Spain2026-08-24
Maria U Dilliard1007India2026-09-16
Jones D Maclead1008Argentina2026-09-01
Cody Q Perin1009France2026-08-30
Tony C Gillian1010United Kingdom2026-09-11
Kadeem S Perin1011India2026-09-14
Mayumi A Royster1012Argentina2026-09-10
Francesco H Campain1013Russia2026-09-09
Isabel I Whobrey1014Italy2026-09-08
Aika Y Sergi1015Australia2026-09-06
Ashley B Bowley1016Canada2026-09-14
Silvio O Rim1017France2026-08-20
Claire J Royster1018Argentina2026-09-10
Chavez H Shinko1019Australia2026-08-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika X KolmetzRussiaStephen Shaw NEW
Aruna G NickaCanadaOnyama Limba NEGOTIATION
Chavez R IturbideCanadaOnyama Limba PROPOSAL
Deepesh R WaycottSpainXuxue Feng QUALIFIED
Silvio K PoquetteFranceAsiya Javayant PROPOSAL
Ivar U InouyeCanadaXuxue Feng RENEWAL
Deepesh C BologniaItalyBernardo Dominic PROPOSAL
Arvin P AmigonGermanyXuxue Feng RENEWAL
Silvio F KolmetzItalyXuxue Feng UNQUALIFIED
Leja N WhobreyFranceAnna Fali QUALIFIED
Ashley O DarakjyGermanyBernardo Dominic NEGOTIATION
Tony Z NickaAustraliaIoni Bowcher NEW
Chavez A OstroskyJapanElwin Sharvill QUALIFIED
Jones O NestleArgentinaBernardo Dominic UNQUALIFIED
Johnson O DoeFranceElwin Sharvill RENEWAL
Murillo X ShinkoUnited KingdomOnyama Limba NEGOTIATION
Octavia T OldroydFranceAnna Fali RENEWAL
Mujtaba T WieserSpainAnna Fali QUALIFIED
Emily Y NestleAustraliaXuxue Feng RENEWAL
Misaki Z InouyeRussiaIoni Bowcher NEGOTIATION
Mujtaba Y RimFranceAnna Fali UNQUALIFIED
Ricardo C TollnerSpainAnna Fali RENEWAL
Morrow X SergiArgentinaAnna Fali UNQUALIFIED
Adams A TollnerItalyBernardo Dominic NEW
Chavez A BowleyIndiaIvan Magalhaes QUALIFIED
Salvatore T FigeroaCanadaOnyama Limba PROPOSAL
Aruna C SlusarskiJapanAsiya Javayant UNQUALIFIED
Johnson Z AmigonSpainAsiya Javayant RENEWAL
Sinclair T OstroskyBrazilAmy Elsner NEGOTIATION
Ashley U WhobreyGermanyIoni Bowcher NEW
Arvin K FollerFranceStephen Shaw UNQUALIFIED
Smith N RutaIndiaXuxue Feng NEGOTIATION
Clifford G ShinkoSpainElwin Sharvill RENEWAL
Jeanfrancois J DoeCanadaAsiya Javayant NEGOTIATION
Julie O MorascaItalyStephen Shaw RENEWAL
Nicolas P FlosiArgentinaAmy Elsner UNQUALIFIED
Chavez B MorascaAustraliaAmy Elsner UNQUALIFIED
Wickens K WhobreyAustraliaAmy Elsner RENEWAL
Jeanfrancois T WaycottCanadaElwin Sharvill RENEWAL
Morrow M VenereFranceAnna Fali UNQUALIFIED

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