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
Nicolas R RoysterItalyAmy Elsner NEW
Mayumi T GillianArgentinaIvan Magalhaes NEGOTIATION
Silvio C CaudyRussiaXuxue Feng RENEWAL
Murillo N CampainFranceIvan Magalhaes NEGOTIATION
Aditya G CampainAustraliaStephen Shaw QUALIFIED
Aruna V BologniaItalyBernardo Dominic UNQUALIFIED
Greenwood F DoeBrazilIoni Bowcher QUALIFIED
Wickens T InouyeIndiaIvan Magalhaes RENEWAL
Deepesh A NestleCanadaElwin Sharvill RENEWAL
Smith P KuskoUnited KingdomXuxue Feng RENEWAL
Cody V MorascaFranceStephen Shaw PROPOSAL
Octavia C SergiIndiaAsiya Javayant QUALIFIED
Alejandro Q PoquetteArgentinaIoni Bowcher QUALIFIED
Jennifer S MarrierGermanyAmy Elsner NEGOTIATION
Misaki T GauchoUnited KingdomAmy Elsner RENEWAL
Mayumi H GarufiArgentinaAnna Fali RENEWAL
Nicolas R AmigonRussiaAmy Elsner NEW
Octavia Y NestleGermanyElwin Sharvill NEW
Emily A KolmetzArgentinaIoni Bowcher QUALIFIED
Misaki R ChuiUnited KingdomStephen Shaw NEW
Kadeem P MaletAustraliaOnyama Limba QUALIFIED
Deepesh D KuskoBrazilAsiya Javayant QUALIFIED
Aditya M GillianBrazilOnyama Limba PROPOSAL
Isabel T NickaUnited KingdomAnna Fali RENEWAL
Aditya Y FerenczSpainStephen Shaw NEW
Arvin I ShinkoItalyElwin Sharvill RENEWAL
Rodrigues Y StockhamJapanElwin Sharvill RENEWAL
Mayumi H AlbaresJapanBernardo Dominic QUALIFIED
Cody Q SergiCanadaIoni Bowcher QUALIFIED
Leon Q ButtArgentinaElwin Sharvill RENEWAL
Jeanfrancois M RulapaughItalyStephen Shaw PROPOSAL
Juan E RimAustraliaAmy Elsner NEGOTIATION
Aruna E VenereBrazilXuxue Feng NEGOTIATION
Isabel J PerinAustraliaElwin Sharvill NEGOTIATION
Rodrigues A SergiFranceAmy Elsner RENEWAL
Aruna J FollerAustraliaAnna Fali PROPOSAL
Morrow Z ShinkoBrazilBernardo Dominic UNQUALIFIED
Francesco W NestleUnited KingdomAmy Elsner NEW
Aditya A MaletCanadaIvan Magalhaes QUALIFIED
Claire Z AlbaresFranceBernardo Dominic RENEWAL
Munro B MaletJapanAmy Elsner NEGOTIATION
Francesco E MorascaGermanyStephen Shaw RENEWAL
Cody A IturbideCanadaAnna Fali RENEWAL
Juan P MacleadSpainElwin Sharvill UNQUALIFIED
Ashley U SaylorsCanadaAnna Fali NEW
Octavia Q InouyeBrazilAnna Fali UNQUALIFIED
Julie Y DilliardJapanBernardo Dominic UNQUALIFIED
Darci F GlickGermanyElwin Sharvill QUALIFIED
Stacey L GarufiIndiaIoni Bowcher NEGOTIATION
Ivar H SergiGermanyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio W ShinkoRussiaIvan Magalhaes UNQUALIFIED
Morrow B SlusarskiSpainIvan Magalhaes NEGOTIATION
Salvatore B NickaJapanElwin Sharvill PROPOSAL
Jeanfrancois R GarufiSpainAnna Fali RENEWAL
Ricardo Y NickaRussiaStephen Shaw QUALIFIED
Izzy A RoysterAustraliaAsiya Javayant NEGOTIATION
Tony H CampainArgentinaBernardo Dominic QUALIFIED
Munro K GillianFranceBernardo Dominic QUALIFIED
Alejandro J MaletItalyIvan Magalhaes QUALIFIED
Deepesh C RutaUnited KingdomBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony P MacleadArgentina2026-09-16Morlong Associates PROPOSAL72Asiya Javayant
1001Claire C AlbaresFrance2026-09-30Dorl, James J Esq RENEWAL70Amy Elsner
1002Chavez Z CaudyItaly2026-09-18Commercial Press RENEWAL32Bernardo Dominic
1003Ivar D GillianItaly2026-09-29Dorl, James J Esq QUALIFIED19Bernardo Dominic
1004Jeanfrancois E OstroskyArgentina2026-10-10Rousseaux, Michael Esq QUALIFIED90Bernardo Dominic
1005Deepesh Q OldroydFrance2026-09-28Chemel, James L Cpa QUALIFIED78Amy Elsner
1006Jeanfrancois Z SaylorsGermany2026-09-20Buckley Miller Wright NEGOTIATION89Bernardo Dominic
1007Deepesh N BowleyRussia2026-09-20Chapman, Ross E Esq QUALIFIED74Xuxue Feng
1008Clifford O WhobreyBrazil2026-09-15Buckley Miller Wright PROPOSAL19Stephen Shaw
1009Ricardo U AlbaresCanada2026-09-19Morlong Associates PROPOSAL58Amy Elsner
1010Wickens C WaycottBrazil2026-10-10Benton, John B Jr RENEWAL37Amy Elsner
1011Emily A WieserRussia2026-09-24Buckley Miller Wright UNQUALIFIED61Amy Elsner
1012Jennifer K KuskoIndia2026-10-04Feiner Bros RENEWAL63Elwin Sharvill
1013Morrow O AlbaresGermany2026-10-09Buckley Miller Wright NEGOTIATION15Amy Elsner
1014Sinclair F SlusarskiAustralia2026-09-25Dorl, James J Esq QUALIFIED44Elwin Sharvill
1015Kaitlin K ChuiIndia2026-09-14Feltz Printing Service NEGOTIATION49Onyama Limba
1016Faith F GlickSpain2026-10-09Benton, John B Jr QUALIFIED66Ioni Bowcher
1017Leja K InouyeFrance2026-10-02Morlong Associates NEW90Onyama Limba
1018Maisha A DilliardBrazil2026-09-28Printing Dimensions NEW75Stephen Shaw
1019Nicolas N WhobreyCanada2026-10-06Chanay, Jeffrey A Esq UNQUALIFIED80Ivan Magalhaes
1020Julie H ChuiSpain2026-09-27Truhlar And Truhlar Attys NEGOTIATION55Elwin Sharvill
1021James C CampainFrance2026-09-22King, Christopher A Esq NEGOTIATION40Onyama Limba
1022Silvio N KuskoJapan2026-09-24Truhlar And Truhlar Attys NEW84Ivan Magalhaes
1023Tony S GarufiArgentina2026-09-28Chapman, Ross E Esq NEGOTIATION24Asiya Javayant
1024Maisha B FlosiGermany2026-10-10Chanay, Jeffrey A Esq RENEWAL41Ivan Magalhaes
1025Mayumi R FollerAustralia2026-09-23Rangoni Of Florence UNQUALIFIED45Xuxue Feng
1026Johnson W DoeAustralia2026-09-30Rangoni Of Florence PROPOSAL89Bernardo Dominic
1027Adams F GarufiAustralia2026-09-25Morlong Associates UNQUALIFIED65Elwin Sharvill
1028Deepesh P RoysterJapan2026-09-28Chapman, Ross E Esq UNQUALIFIED15Ivan Magalhaes
1029Maisha K OldroydSpain2026-10-01Feiner Bros RENEWAL42Onyama Limba
1030Sinclair U WhobreyGermany2026-09-19Chemel, James L Cpa RENEWAL12Anna Fali
1031Kaitlin J GlickBrazil2026-09-29Feltz Printing Service QUALIFIED37Onyama Limba
1032Aika N CampainGermany2026-09-24Printing Dimensions RENEWAL45Amy Elsner
1033Maisha I MacleadSpain2026-09-11King, Christopher A Esq QUALIFIED75Asiya Javayant
1034Deepesh Z GauchoItaly2026-09-14Chapman, Ross E Esq QUALIFIED34Xuxue Feng
1035Misaki Q VenereBrazil2026-10-06Chanay, Jeffrey A Esq RENEWAL65Onyama Limba
1036Smith C SergiFrance2026-09-24Chapman, Ross E Esq PROPOSAL28Stephen Shaw
1037Ivar S ShinkoBrazil2026-10-10Morlong Associates NEGOTIATION94Elwin Sharvill
1038Costa L ShinkoIndia2026-10-03Feiner Bros NEGOTIATION81Stephen Shaw
1039Maria I GlickArgentina2026-09-15Truhlar And Truhlar Attys PROPOSAL66Amy Elsner
1040Chavez Q CaudyItaly2026-09-26Chemel, James L Cpa NEGOTIATION32Amy Elsner
1041Murillo H OstroskyAustralia2026-10-08Morlong Associates PROPOSAL20Anna Fali
1042Nicolas H NickaJapan2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED38Ivan Magalhaes
1043Jennifer X VocelkaGermany2026-09-25Printing Dimensions QUALIFIED13Ivan Magalhaes
1044Johnson N GlickGermany2026-10-04Benton, John B Jr QUALIFIED34Ioni Bowcher
1045Jefferson B FlosiRussia2026-09-15Feltz Printing Service NEGOTIATION83Ivan Magalhaes
1046Chavez J BriddickItaly2026-09-22Commercial Press RENEWAL83Anna Fali
1047Juan A RoysterCanada2026-09-16Chapman, Ross E Esq NEW80Elwin Sharvill
1048Tony R GlickGermany2026-09-11Morlong Associates PROPOSAL58Onyama Limba
1049Murillo A RulapaughCanada2026-09-17Morlong Associates QUALIFIED61Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
David C PerinIndiaAmy Elsner UNQUALIFIED
Arvin I ButtSpainOnyama Limba PROPOSAL
Kadeem I SaylorsSpainStephen Shaw RENEWAL
Leon E DarakjyGermanyOnyama Limba NEGOTIATION
Ashley E DarakjyItalyAsiya Javayant PROPOSAL
Jennifer A KolmetzUnited KingdomStephen Shaw UNQUALIFIED
Arvin P KuskoArgentinaXuxue Feng UNQUALIFIED
Nicolas X OstroskyJapanAnna Fali NEW
Tony P SergiCanadaIvan Magalhaes NEGOTIATION
Greenwood U SergiAustraliaBernardo Dominic QUALIFIED
Octavia W FollerGermanyElwin Sharvill RENEWAL
Ricardo T DarakjyRussiaAnna Fali QUALIFIED
Mujtaba M ChuiCanadaIoni Bowcher QUALIFIED
Izzy Q BologniaSpainBernardo Dominic PROPOSAL
Mayumi W WhobreyBrazilAmy Elsner QUALIFIED
Munro I VenereGermanyAmy Elsner NEGOTIATION
Maria Q RutaIndiaIoni Bowcher NEW
Leja E MacleadAustraliaIvan Magalhaes UNQUALIFIED
Jefferson A NickaUnited KingdomElwin Sharvill QUALIFIED
Aika J InouyeItalyAnna Fali RENEWAL
Nicolas M GlickFranceAnna Fali QUALIFIED
Aika X GauchoCanadaBernardo Dominic RENEWAL
Darci K SlusarskiArgentinaAmy Elsner UNQUALIFIED
Jennifer J TollnerAustraliaIvan Magalhaes PROPOSAL
Kadeem K AlbaresArgentinaXuxue Feng QUALIFIED
Isabel M RutaArgentinaXuxue Feng NEGOTIATION
Aditya O SergiArgentinaAnna Fali NEGOTIATION
Ricardo J GauchoRussiaStephen Shaw RENEWAL
Chavez O RutaRussiaXuxue Feng RENEWAL
Arvin I CaudyJapanElwin Sharvill PROPOSAL
Jennifer U RimSpainAnna Fali QUALIFIED
Silvio S PoquetteArgentinaXuxue Feng QUALIFIED
Francesco K MacleadItalyIoni Bowcher NEGOTIATION
Leon H BologniaArgentinaIoni Bowcher NEW
James C IturbideSpainAmy Elsner RENEWAL
Mujtaba A DarakjyUnited KingdomXuxue Feng RENEWAL
Ashley K MarrierFranceAsiya Javayant UNQUALIFIED
Ivar G SaylorsArgentinaAsiya Javayant PROPOSAL
Ricardo E SergiBrazilElwin Sharvill RENEWAL
Tony H NestleArgentinaElwin Sharvill NEW
Juan D BowleyRussiaAsiya Javayant PROPOSAL
Greenwood F SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Morrow L MarrierJapanStephen Shaw UNQUALIFIED
James G GillianItalyAnna Fali QUALIFIED
Maisha H VenereItalyAsiya Javayant RENEWAL
Maisha K StockhamArgentinaIvan Magalhaes NEW
Costa G NickaCanadaXuxue Feng NEW
David T DoeUnited KingdomAmy Elsner NEW
Greenwood V FerenczItalyAsiya Javayant NEGOTIATION
Jeanfrancois E RimSpainAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Sinclair T Doe
Jennifer L Vocelka
Ricardo V Rulapaugh
Mujtaba D Ruta
Rodrigues A Amigon
Kadeem M Perin
Emily T Ruta
Isabel O Iturbide
Smith Q Inouye
David M Bowley
Emily A Schemmer
Izzy T Caldarera
Wickens F Nicka
Smith T Caldarera
Mujtaba C Ostrosky
Silvio P Kusko
Juan D Ostrosky
Maisha G Inouye
Adams W Malet
Rodrigues L Schemmer
Claire N Ruta
Munro H Kusko
Maisha G Schemmer
Isabel B Rim
Ivar Z Inouye
Deepesh X Tollner
Greenwood C Ostrosky
Chavez Z Ruta
Kadeem B Glick
Smith M Bolognia
Murillo V Nicka
Jeanfrancois D Stenseth
Jeanfrancois F Royster
Jefferson C Vocelka
Morrow R Gillian
Smith B Wieser
Leon F Bowley
Silvio K Venere
Aditya E Albares
Stacey G Garufi
Izzy Y Malet
Murillo C Chui
Leja Y Royster
Sinclair N Caudy
Jeanfrancois W Briddick
Kaitlin J Foller
Octavia H Glick
Jefferson Z Paprocki
Adams R Stockham
Alejandro H Albares
IdCountryDate
1000Germany2026-10-04
1001United Kingdom2026-09-22
1002Germany2026-09-21
1003United Kingdom2026-09-14
1004India2026-09-17
1005Canada2026-09-13
1006Germany2026-09-20
1007France2026-10-10
1008Canada2026-10-09
1009Brazil2026-09-26
1010Italy2026-09-28
1011Japan2026-09-22
1012Australia2026-09-11
1013France2026-09-26
1014Germany2026-09-23
1015India2026-10-10
1016Brazil2026-09-28
1017France2026-09-15
1018United Kingdom2026-09-16
1019Brazil2026-09-26
1020Brazil2026-10-08
1021Japan2026-09-16
1022Canada2026-09-19
1023Canada2026-10-09
1024France2026-09-16
1025India2026-09-30
1026France2026-09-15
1027India2026-09-11
1028Italy2026-09-12
1029Germany2026-09-24
1030Japan2026-09-11
1031Argentina2026-09-15
1032France2026-09-12
1033Italy2026-10-07
1034Brazil2026-09-12
1035United Kingdom2026-10-07
1036India2026-09-12
1037Spain2026-09-18
1038Japan2026-10-07
1039India2026-09-25
1040Canada2026-09-17
1041Spain2026-09-20
1042India2026-09-22
1043Brazil2026-09-19
1044Italy2026-10-09
1045France2026-10-05
1046Argentina2026-09-11
1047Italy2026-09-17
1048France2026-09-26
1049Argentina2026-10-01

On-Demand Data

NameIdCountryDate
Juan Z Schemmer1000France2026-09-14
Aruna U Rim1001Germany2026-09-20
James V Flosi1002Italy2026-10-04
Ivar C Slusarski1003Russia2026-10-04
David Y Waycott1004Brazil2026-09-21
Mujtaba A Inouye1005Russia2026-09-15
Isabel N Saylors1006United Kingdom2026-09-25
Munro P Saylors1007Italy2026-09-14
Costa N Ruta1008Brazil2026-09-16
Jones Q Poquette1009Japan2026-10-08
Sinclair N Caldarera1010Brazil2026-10-08
Ivar H Perin1011United Kingdom2026-09-25
Salvatore W Malet1012Spain2026-09-16
Ashley H Perin1013Italy2026-09-14
Salvatore F Nestle1014Germany2026-09-14
Izzy N Butt1015Spain2026-10-04
Stacey C Malet1016Spain2026-10-09
Greenwood U Vocelka1017United Kingdom2026-09-27
Jennifer Q Kusko1018France2026-10-04
Stacey R Waycott1019Germany2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia V OstroskyBrazilIvan Magalhaes UNQUALIFIED
Smith I NestleBrazilIvan Magalhaes NEGOTIATION
Julie W InouyeAustraliaAnna Fali NEW
Misaki Q CaudyItalyBernardo Dominic RENEWAL
Ricardo A NestleCanadaXuxue Feng NEGOTIATION
Clifford V GarufiUnited KingdomAsiya Javayant PROPOSAL
Jennifer Z RoysterGermanyOnyama Limba NEW
Johnson X CaudySpainXuxue Feng QUALIFIED
Maisha S CampainIndiaIoni Bowcher NEGOTIATION
Juan G MacleadBrazilOnyama Limba PROPOSAL
Ashley T MorascaJapanOnyama Limba NEW
Darci Z DilliardFranceXuxue Feng NEGOTIATION
Arvin E OldroydAustraliaAmy Elsner RENEWAL
Jeanfrancois M FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Izzy Y PerinUnited KingdomOnyama Limba RENEWAL
Morrow X MorascaGermanyElwin Sharvill NEGOTIATION
Isabel I VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Jefferson L MorascaFranceXuxue Feng QUALIFIED
Leja L SchemmerAustraliaXuxue Feng UNQUALIFIED
Maisha R CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Clifford Y ChuiUnited KingdomAsiya Javayant PROPOSAL
Silvio X PaprockiIndiaBernardo Dominic NEGOTIATION
Alejandro A NestleItalyOnyama Limba UNQUALIFIED
Darci K SlusarskiCanadaElwin Sharvill RENEWAL
Sinclair H WhobreyCanadaAsiya Javayant NEGOTIATION
Aditya S RimIndiaOnyama Limba NEGOTIATION
Cody E StensethItalyAnna Fali QUALIFIED
Antonio G IturbideUnited KingdomXuxue Feng UNQUALIFIED
Izzy B MaletFranceBernardo Dominic NEGOTIATION
Aruna G MarrierJapanXuxue Feng PROPOSAL
Greenwood Q SergiJapanBernardo Dominic RENEWAL
Maisha S SergiBrazilElwin Sharvill RENEWAL
Francesco C SlusarskiFranceBernardo Dominic UNQUALIFIED
Stacey Q KuskoArgentinaAmy Elsner PROPOSAL
Jennifer R FollerIndiaAsiya Javayant NEGOTIATION
Silvio G WaycottUnited KingdomOnyama Limba RENEWAL
Juan K MacleadCanadaStephen Shaw NEGOTIATION
Faith I TollnerBrazilXuxue Feng RENEWAL
Jefferson T StockhamGermanyIoni Bowcher RENEWAL
Izzy T CaldareraJapanIvan Magalhaes 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>