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
Jones G PoquetteFranceXuxue Feng QUALIFIED
Jefferson N StockhamGermanyAnna Fali UNQUALIFIED
Munro X VenereCanadaStephen Shaw NEW
Misaki N BriddickArgentinaAmy Elsner QUALIFIED
Adams H KolmetzJapanElwin Sharvill NEW
Leon O SergiRussiaBernardo Dominic RENEWAL
Misaki J RoysterGermanyAnna Fali PROPOSAL
Isabel W VenereFranceBernardo Dominic NEW
Smith P StockhamAustraliaBernardo Dominic QUALIFIED
Wickens Q WaycottRussiaStephen Shaw UNQUALIFIED
Munro G RoysterItalyAmy Elsner NEGOTIATION
Izzy C FerenczItalyBernardo Dominic NEW
Mayumi K ButtGermanyIoni Bowcher RENEWAL
Leja N TollnerGermanyBernardo Dominic UNQUALIFIED
Juan D IturbideIndiaIoni Bowcher UNQUALIFIED
Julie Y WhobreyBrazilAnna Fali QUALIFIED
Izzy E PerinJapanElwin Sharvill PROPOSAL
Darci A WieserFranceXuxue Feng RENEWAL
Mujtaba B RimRussiaStephen Shaw NEGOTIATION
Ricardo M OstroskyFranceIoni Bowcher QUALIFIED
Tony V GillianAustraliaIvan Magalhaes UNQUALIFIED
Mayumi R IturbideRussiaAnna Fali PROPOSAL
Octavia K FlosiAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois X RutaUnited KingdomAsiya Javayant NEW
Jefferson O GillianGermanyBernardo Dominic QUALIFIED
Ivar Z PaprockiFranceStephen Shaw QUALIFIED
Leon L NestleSpainIvan Magalhaes QUALIFIED
Mujtaba Z BologniaUnited KingdomAnna Fali NEGOTIATION
Ashley P VocelkaItalyAnna Fali QUALIFIED
Claire Q ButtIndiaStephen Shaw QUALIFIED
Maria M VocelkaGermanyElwin Sharvill PROPOSAL
Aruna P RutaArgentinaXuxue Feng PROPOSAL
Claire L CampainCanadaStephen Shaw RENEWAL
Kaitlin X ShinkoCanadaIoni Bowcher UNQUALIFIED
Jefferson G InouyeIndiaBernardo Dominic NEW
Murillo C NickaArgentinaAnna Fali UNQUALIFIED
Ricardo A MaletArgentinaAnna Fali NEGOTIATION
Alejandro N DarakjyGermanyAnna Fali QUALIFIED
James F NestleUnited KingdomXuxue Feng RENEWAL
Jones L MaletCanadaXuxue Feng NEW
Leja F MaletSpainStephen Shaw PROPOSAL
Tony Q SergiJapanStephen Shaw NEGOTIATION
Chavez M MorascaJapanStephen Shaw NEGOTIATION
Kaitlin M MacleadCanadaIoni Bowcher NEW
Mayumi K VocelkaBrazilIvan Magalhaes NEGOTIATION
Isabel M FerenczItalyAmy Elsner NEGOTIATION
Antonio T MaletBrazilIvan Magalhaes RENEWAL
Wickens O MorascaAustraliaElwin Sharvill RENEWAL
Stacey K CaldareraUnited KingdomIoni Bowcher NEW
Francesco X NestleCanadaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem N PoquetteGermanyBernardo Dominic NEW
Misaki T DoeIndiaXuxue Feng RENEWAL
Nicolas P MaletFranceAmy Elsner PROPOSAL
Ivar L GarufiJapanStephen Shaw PROPOSAL
Clifford Y ShinkoGermanyBernardo Dominic PROPOSAL
Misaki Q MaletIndiaElwin Sharvill UNQUALIFIED
Cody H InouyeGermanyIvan Magalhaes NEGOTIATION
Antonio W PaprockiArgentinaAmy Elsner QUALIFIED
Antonio U RulapaughSpainAmy Elsner NEGOTIATION
Jeanfrancois J NickaSpainBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Q RimArgentina2026-09-23Rousseaux, Michael Esq RENEWAL76Bernardo Dominic
1001Silvio N FigeroaSpain2026-08-30Dorl, James J Esq RENEWAL16Ivan Magalhaes
1002Costa I MorascaJapan2026-09-11Rangoni Of Florence NEW88Elwin Sharvill
1003Murillo Q DoeUnited Kingdom2026-09-24Chanay, Jeffrey A Esq NEW82Ivan Magalhaes
1004Aditya O AmigonBrazil2026-09-16Rangoni Of Florence NEGOTIATION23Ioni Bowcher
1005Mayumi Z WieserFrance2026-09-12Commercial Press QUALIFIED71Xuxue Feng
1006Antonio P WieserSpain2026-09-03Feiner Bros RENEWAL86Asiya Javayant
1007Jefferson T VocelkaRussia2026-09-01Printing Dimensions RENEWAL35Xuxue Feng
1008Smith K RulapaughIndia2026-09-09Rangoni Of Florence UNQUALIFIED21Bernardo Dominic
1009Mujtaba M FigeroaCanada2026-09-13Commercial Press PROPOSAL23Stephen Shaw
1010Antonio H GlickGermany2026-09-25Dorl, James J Esq UNQUALIFIED33Asiya Javayant
1011James E PaprockiUnited Kingdom2026-08-29Dorl, James J Esq PROPOSAL23Asiya Javayant
1012Rodrigues O SergiArgentina2026-09-03Buckley Miller Wright QUALIFIED34Ivan Magalhaes
1013Murillo R WhobreyItaly2026-09-18Feiner Bros QUALIFIED81Asiya Javayant
1014Misaki G DarakjyItaly2026-09-22Chemel, James L Cpa NEW66Stephen Shaw
1015Chavez E VocelkaSpain2026-09-25King, Christopher A Esq PROPOSAL83Anna Fali
1016Silvio K GarufiGermany2026-09-07Chemel, James L Cpa NEW76Ivan Magalhaes
1017Smith Y VenereAustralia2026-08-30Morlong Associates UNQUALIFIED54Amy Elsner
1018Isabel K ButtItaly2026-09-02Chapman, Ross E Esq RENEWAL62Stephen Shaw
1019Ricardo Q BologniaAustralia2026-09-14Buckley Miller Wright PROPOSAL22Amy Elsner
1020Leja I FollerArgentina2026-09-09Truhlar And Truhlar Attys RENEWAL86Stephen Shaw
1021Julie S IturbideBrazil2026-08-31Chemel, James L Cpa PROPOSAL90Bernardo Dominic
1022Chavez G MacleadJapan2026-09-26Feltz Printing Service RENEWAL10Anna Fali
1023Costa Z RutaFrance2026-08-28Dorl, James J Esq UNQUALIFIED49Asiya Javayant
1024Jennifer G VocelkaGermany2026-09-12Chanay, Jeffrey A Esq QUALIFIED27Bernardo Dominic
1025Jeanfrancois G DarakjyUnited Kingdom2026-09-18Commercial Press NEW59Xuxue Feng
1026Nicolas P RoysterSpain2026-09-26Feltz Printing Service NEW72Bernardo Dominic
1027Ashley H BriddickAustralia2026-09-22Chapman, Ross E Esq RENEWAL55Elwin Sharvill
1028Morrow C OldroydJapan2026-09-11King, Christopher A Esq QUALIFIED19Bernardo Dominic
1029Ivar L FlosiSpain2026-09-21Feiner Bros NEW15Asiya Javayant
1030Stacey V ShinkoIndia2026-08-30Buckley Miller Wright PROPOSAL51Asiya Javayant
1031Clifford C DoeSpain2026-09-04Chapman, Ross E Esq NEGOTIATION26Amy Elsner
1032Aditya M GauchoIndia2026-08-28Chemel, James L Cpa UNQUALIFIED57Bernardo Dominic
1033Salvatore T SchemmerFrance2026-09-16Chapman, Ross E Esq PROPOSAL69Asiya Javayant
1034Stacey T OldroydItaly2026-09-17Benton, John B Jr NEGOTIATION28Amy Elsner
1035Izzy K PoquetteRussia2026-09-09Truhlar And Truhlar Attys NEGOTIATION23Stephen Shaw
1036Murillo J InouyeCanada2026-09-23Morlong Associates NEGOTIATION96Xuxue Feng
1037Costa L StensethAustralia2026-09-25Chapman, Ross E Esq UNQUALIFIED87Ioni Bowcher
1038Johnson D StockhamUnited Kingdom2026-09-04Rangoni Of Florence QUALIFIED83Xuxue Feng
1039Clifford J RoysterIndia2026-08-29Chemel, James L Cpa QUALIFIED10Onyama Limba
1040Nicolas D TollnerAustralia2026-09-06Dorl, James J Esq PROPOSAL22Elwin Sharvill
1041Maria I ShinkoCanada2026-09-25Rousseaux, Michael Esq UNQUALIFIED30Anna Fali
1042Aditya R WieserUnited Kingdom2026-09-17Chanay, Jeffrey A Esq RENEWAL88Xuxue Feng
1043Silvio P FerenczCanada2026-09-14Benton, John B Jr UNQUALIFIED58Ivan Magalhaes
1044Juan B MorascaIndia2026-08-30Truhlar And Truhlar Attys UNQUALIFIED33Onyama Limba
1045Nicolas O NestleSpain2026-09-10Rangoni Of Florence UNQUALIFIED42Stephen Shaw
1046Cody W FigeroaUnited Kingdom2026-09-19Commercial Press NEW43Ivan Magalhaes
1047Jeanfrancois J CampainFrance2026-09-06Rousseaux, Michael Esq NEW44Ivan Magalhaes
1048Jeanfrancois M VocelkaCanada2026-09-13Chanay, Jeffrey A Esq PROPOSAL84Stephen Shaw
1049Mayumi I MaletUnited Kingdom2026-09-10Printing Dimensions NEW17Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maria P SlusarskiItalyBernardo Dominic PROPOSAL
Ashley G VocelkaCanadaAsiya Javayant QUALIFIED
Jones H SlusarskiIndiaOnyama Limba RENEWAL
Kadeem U BowleyRussiaIvan Magalhaes UNQUALIFIED
Clifford W VenereSpainIvan Magalhaes QUALIFIED
Jennifer R FollerUnited KingdomAsiya Javayant RENEWAL
Costa S VenereJapanElwin Sharvill NEGOTIATION
Greenwood W OstroskyAustraliaAmy Elsner UNQUALIFIED
Arvin Y RoysterCanadaElwin Sharvill PROPOSAL
Leja D ChuiAustraliaAsiya Javayant NEGOTIATION
Johnson R GillianCanadaAsiya Javayant QUALIFIED
Cody E ChuiJapanXuxue Feng NEGOTIATION
Nicolas C TollnerGermanyIvan Magalhaes RENEWAL
Jones V DoeGermanyAnna Fali NEGOTIATION
Jennifer K StockhamAustraliaStephen Shaw UNQUALIFIED
Adams H KuskoItalyXuxue Feng NEGOTIATION
Ashley R DoeFranceStephen Shaw QUALIFIED
Jefferson G WieserSpainBernardo Dominic NEW
Jennifer Q FigeroaUnited KingdomOnyama Limba QUALIFIED
Clifford P WhobreyArgentinaAnna Fali RENEWAL
Claire D FigeroaFranceAsiya Javayant UNQUALIFIED
Emily K VenereGermanyStephen Shaw NEW
Kaitlin I GauchoSpainXuxue Feng QUALIFIED
Kadeem T RimGermanyStephen Shaw NEGOTIATION
Wickens S SaylorsBrazilAmy Elsner PROPOSAL
Emily S CampainFranceAsiya Javayant RENEWAL
Munro D WieserBrazilXuxue Feng NEGOTIATION
Cody Y AmigonItalyIvan Magalhaes QUALIFIED
Ashley C RutaAustraliaXuxue Feng QUALIFIED
Smith G ChuiFranceElwin Sharvill NEW
Rodrigues E RimArgentinaAnna Fali RENEWAL
Misaki J SchemmerCanadaElwin Sharvill UNQUALIFIED
Deepesh Z TollnerIndiaAmy Elsner UNQUALIFIED
Ashley Z VocelkaRussiaAsiya Javayant RENEWAL
Jones V CaldareraItalyStephen Shaw NEGOTIATION
Antonio C TollnerJapanAnna Fali NEGOTIATION
Claire W MaletCanadaElwin Sharvill PROPOSAL
Mujtaba R WaycottCanadaElwin Sharvill QUALIFIED
Clifford D BowleyIndiaElwin Sharvill RENEWAL
Deepesh U GillianRussiaElwin Sharvill RENEWAL
Johnson U WaycottArgentinaAsiya Javayant QUALIFIED
Aditya L RutaRussiaIoni Bowcher QUALIFIED
Isabel R MarrierArgentinaAnna Fali NEGOTIATION
Maria I TollnerArgentinaIoni Bowcher QUALIFIED
Maria H SaylorsAustraliaIoni Bowcher UNQUALIFIED
Juan O FlosiUnited KingdomElwin Sharvill PROPOSAL
Stacey X KolmetzFranceElwin Sharvill QUALIFIED
Aruna V IturbideIndiaAnna Fali NEGOTIATION
David Q WaycottRussiaElwin Sharvill RENEWAL
Nicolas X ButtSpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Misaki I Stenseth
Adams W Bolognia
Deepesh W Kusko
James P Oldroyd
Jefferson Q Caudy
Silvio U Campain
Stacey R Paprocki
Mujtaba O Paprocki
Costa F Dilliard
Darci P Iturbide
Aditya M Sergi
Adams U Maclead
Maria Z Bolognia
Kaitlin H Briddick
Arvin D Wieser
Murillo B Stenseth
Deepesh S Saylors
Jefferson O Perin
Ashley R Stenseth
Jeanfrancois N Morasca
Emily U Malet
Greenwood N Sergi
Emily K Waycott
Chavez A Poquette
Jefferson G Vocelka
Clifford L Amigon
David N Amigon
Aditya I Campain
Leja V Waycott
Leon Y Gaucho
Misaki V Kolmetz
Darci K Foller
Nicolas F Doe
Silvio R Rim
Misaki X Albares
Ivar V Figeroa
Octavia E Kusko
Alejandro X Kusko
Costa P Perin
James L Morasca
Antonio N Vocelka
Ivar S Malet
Julie R Malet
Cody C Bolognia
Ashley K Rulapaugh
Mayumi Y Flosi
Emily X Sergi
Morrow Z Nestle
David Y Vocelka
Darci M Caudy
IdCountryDate
1000France2026-09-19
1001Germany2026-09-04
1002United Kingdom2026-09-05
1003Russia2026-09-04
1004Canada2026-09-18
1005Brazil2026-09-19
1006Spain2026-09-16
1007Italy2026-09-25
1008United Kingdom2026-08-29
1009Japan2026-09-22
1010Germany2026-09-17
1011Spain2026-09-15
1012Brazil2026-08-30
1013Brazil2026-09-04
1014Germany2026-09-24
1015Japan2026-09-17
1016Australia2026-09-24
1017Spain2026-09-17
1018Argentina2026-09-18
1019France2026-09-25
1020Argentina2026-09-26
1021Spain2026-09-12
1022United Kingdom2026-08-30
1023Italy2026-09-20
1024Japan2026-09-18
1025Brazil2026-09-25
1026Canada2026-08-31
1027Spain2026-09-14
1028United Kingdom2026-09-26
1029Brazil2026-09-02
1030Italy2026-09-09
1031Canada2026-09-13
1032Germany2026-09-02
1033Japan2026-09-14
1034Argentina2026-09-15
1035Russia2026-09-02
1036Spain2026-09-08
1037Argentina2026-09-02
1038Russia2026-09-08
1039Brazil2026-09-17
1040Japan2026-09-04
1041Australia2026-09-07
1042Italy2026-09-01
1043Argentina2026-09-12
1044Italy2026-09-16
1045Argentina2026-09-24
1046Germany2026-09-26
1047Argentina2026-09-10
1048Germany2026-09-15
1049Argentina2026-09-13

On-Demand Data

NameIdCountryDate
Francesco Z Nicka1000Germany2026-09-12
Stacey P Campain1001Canada2026-09-14
James X Briddick1002Germany2026-08-28
Greenwood O Iturbide1003France2026-09-01
Sinclair X Nicka1004United Kingdom2026-09-16
Nicolas H Doe1005Brazil2026-09-04
Murillo K Kusko1006France2026-09-09
Silvio R Foller1007Brazil2026-09-08
Kaitlin L Briddick1008Japan2026-09-06
Sinclair S Campain1009Argentina2026-09-10
Maisha P Butt1010Germany2026-09-24
James E Caldarera1011Canada2026-09-08
Julie V Waycott1012Australia2026-09-25
Isabel E Saylors1013Japan2026-09-20
Johnson C Stockham1014United Kingdom2026-09-03
David J Ruta1015Australia2026-09-07
Mayumi M Darakjy1016Australia2026-08-29
Leja S Shinko1017Russia2026-09-03
Cody B Nicka1018Japan2026-09-13
Aruna S Kolmetz1019Japan2026-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez S BologniaAustraliaElwin Sharvill UNQUALIFIED
Murillo Y DoeUnited KingdomAmy Elsner NEW
Emily O InouyeIndiaAsiya Javayant UNQUALIFIED
Isabel K FigeroaArgentinaOnyama Limba UNQUALIFIED
Juan B BowleyRussiaIoni Bowcher QUALIFIED
Johnson N SlusarskiIndiaXuxue Feng PROPOSAL
Clifford L CaudyBrazilBernardo Dominic PROPOSAL
Ricardo K GarufiAustraliaIoni Bowcher QUALIFIED
Cody O WaycottCanadaIoni Bowcher QUALIFIED
Ivar Y WaycottSpainXuxue Feng QUALIFIED
Leon S SergiAustraliaIvan Magalhaes NEW
Juan G InouyeGermanyElwin Sharvill QUALIFIED
Chavez F RimItalyAmy Elsner RENEWAL
Aika H AlbaresJapanStephen Shaw NEGOTIATION
Smith B FigeroaItalyOnyama Limba NEGOTIATION
Johnson P KuskoBrazilXuxue Feng RENEWAL
Sinclair C PaprockiRussiaOnyama Limba RENEWAL
Salvatore Q VenereJapanAmy Elsner RENEWAL
Clifford Z CampainIndiaIoni Bowcher NEGOTIATION
Sinclair F RimRussiaIoni Bowcher QUALIFIED
Tony O InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Salvatore W MacleadIndiaBernardo Dominic NEW
Aika X BowleyIndiaOnyama Limba RENEWAL
Cody T NickaAustraliaIvan Magalhaes QUALIFIED
Faith Q AlbaresUnited KingdomAnna Fali PROPOSAL
Maisha J GarufiJapanBernardo Dominic PROPOSAL
Adams P BriddickAustraliaIvan Magalhaes NEW
Julie J PerinItalyIoni Bowcher UNQUALIFIED
Ricardo Q MorascaJapanIoni Bowcher NEGOTIATION
Tony U FigeroaUnited KingdomOnyama Limba QUALIFIED
David B BriddickCanadaAnna Fali RENEWAL
Antonio D SlusarskiRussiaBernardo Dominic PROPOSAL
Claire A FerenczGermanyIoni Bowcher NEW
Ricardo W TollnerArgentinaAsiya Javayant UNQUALIFIED
Morrow Z AmigonRussiaOnyama Limba NEW
Adams E OldroydIndiaAmy Elsner RENEWAL
Morrow H GillianAustraliaElwin Sharvill NEW
Stacey F RoysterUnited KingdomAmy Elsner QUALIFIED
Leon O OldroydCanadaBernardo Dominic NEGOTIATION
Rodrigues L GarufiGermanyStephen Shaw NEW

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