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
Kaitlin J CaldareraJapanIvan Magalhaes RENEWAL
Aditya W GarufiGermanyElwin Sharvill UNQUALIFIED
Munro X SchemmerSpainElwin Sharvill QUALIFIED
Silvio I VenereIndiaElwin Sharvill QUALIFIED
Maria V DarakjyCanadaAmy Elsner NEW
Maria B NickaCanadaAmy Elsner NEW
Emily U MaletItalyElwin Sharvill PROPOSAL
Juan G MacleadItalyXuxue Feng UNQUALIFIED
Leon G WaycottGermanyStephen Shaw RENEWAL
Aditya W FigeroaIndiaAsiya Javayant UNQUALIFIED
Leon P RoysterRussiaXuxue Feng RENEWAL
Kadeem L VocelkaUnited KingdomAnna Fali NEGOTIATION
Johnson T MarrierFranceIoni Bowcher PROPOSAL
Francesco N RoysterIndiaOnyama Limba RENEWAL
Munro G MacleadJapanElwin Sharvill PROPOSAL
Octavia H AlbaresCanadaBernardo Dominic RENEWAL
Claire C OldroydItalyOnyama Limba NEGOTIATION
Wickens T RutaItalyIvan Magalhaes NEW
Aruna Y BriddickSpainAsiya Javayant NEGOTIATION
Izzy D RutaItalyStephen Shaw PROPOSAL
Stacey N CampainRussiaAsiya Javayant RENEWAL
Julie U ChuiFranceXuxue Feng NEGOTIATION
Kaitlin D GlickBrazilElwin Sharvill NEGOTIATION
David V RulapaughItalyXuxue Feng UNQUALIFIED
Faith Z MaletAustraliaXuxue Feng NEGOTIATION
Smith G ButtCanadaStephen Shaw QUALIFIED
Smith J MacleadUnited KingdomAnna Fali UNQUALIFIED
Julie O RimArgentinaStephen Shaw NEGOTIATION
Stacey L RutaFranceIoni Bowcher RENEWAL
Octavia X DilliardArgentinaAmy Elsner UNQUALIFIED
Antonio D MarrierUnited KingdomElwin Sharvill NEW
Leja W GauchoJapanElwin Sharvill NEW
Munro W TollnerGermanyBernardo Dominic RENEWAL
Maisha A OstroskyRussiaXuxue Feng QUALIFIED
Aika L SaylorsUnited KingdomStephen Shaw RENEWAL
Ivar I FlosiFranceBernardo Dominic PROPOSAL
Jennifer G FlosiIndiaAsiya Javayant QUALIFIED
Jones F TollnerJapanXuxue Feng UNQUALIFIED
Kaitlin Z BologniaJapanAnna Fali RENEWAL
Octavia M RulapaughCanadaElwin Sharvill UNQUALIFIED
Adams X WieserIndiaIvan Magalhaes PROPOSAL
Cody A KolmetzSpainBernardo Dominic UNQUALIFIED
Mujtaba C ButtCanadaXuxue Feng UNQUALIFIED
Wickens B KuskoSpainXuxue Feng RENEWAL
Claire U BriddickItalyStephen Shaw QUALIFIED
Faith S ChuiBrazilStephen Shaw NEW
Kadeem U StensethFranceAnna Fali NEGOTIATION
Alejandro O IturbideRussiaIvan Magalhaes NEW
Costa F ChuiSpainXuxue Feng QUALIFIED
Ricardo T VenereAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aditya M ButtArgentinaElwin Sharvill NEW
Kadeem O CaudyIndiaStephen Shaw NEGOTIATION
Maisha H StensethBrazilElwin Sharvill PROPOSAL
Sinclair U WhobreyJapanElwin Sharvill NEGOTIATION
Rodrigues G RulapaughCanadaIvan Magalhaes NEW
Mujtaba T CaldareraArgentinaXuxue Feng NEW
Kadeem T MaletFranceIvan Magalhaes NEGOTIATION
Arvin X GauchoGermanyIoni Bowcher UNQUALIFIED
Greenwood T VenereIndiaStephen Shaw NEGOTIATION
Salvatore A CaudySpainIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams I OldroydArgentina2026-10-11Buckley Miller Wright PROPOSAL65Xuxue Feng
1001Adams L WaycottRussia2026-10-18Feltz Printing Service PROPOSAL82Ivan Magalhaes
1002Aditya T FollerUnited Kingdom2026-10-15Printing Dimensions QUALIFIED83Anna Fali
1003Claire C RimSpain2026-10-18Benton, John B Jr NEW98Anna Fali
1004Maria G PaprockiItaly2026-11-01Rangoni Of Florence QUALIFIED51Anna Fali
1005Silvio S RutaItaly2026-10-28Chanay, Jeffrey A Esq QUALIFIED22Amy Elsner
1006Clifford G BologniaUnited Kingdom2026-10-25Buckley Miller Wright QUALIFIED85Asiya Javayant
1007Kaitlin V MaletSpain2026-10-31Rangoni Of Florence PROPOSAL74Asiya Javayant
1008Juan G ChuiArgentina2026-10-08Feltz Printing Service RENEWAL46Xuxue Feng
1009Wickens M InouyeAustralia2026-10-21King, Christopher A Esq PROPOSAL86Xuxue Feng
1010Chavez G DoeFrance2026-10-24Commercial Press QUALIFIED59Elwin Sharvill
1011Clifford V MacleadAustralia2026-10-19Feiner Bros QUALIFIED62Bernardo Dominic
1012Maria N MorascaFrance2026-10-27Benton, John B Jr QUALIFIED90Amy Elsner
1013Mujtaba O ButtArgentina2026-10-08Buckley Miller Wright NEGOTIATION99Stephen Shaw
1014Salvatore E PoquetteJapan2026-10-31Chanay, Jeffrey A Esq QUALIFIED67Bernardo Dominic
1015Maisha S MaletUnited Kingdom2026-10-12Commercial Press UNQUALIFIED17Asiya Javayant
1016Francesco I NestleJapan2026-10-29Rangoni Of Florence RENEWAL66Xuxue Feng
1017Stacey K PerinSpain2026-10-10Buckley Miller Wright QUALIFIED52Stephen Shaw
1018Ivar B PoquetteArgentina2026-10-20Commercial Press QUALIFIED55Bernardo Dominic
1019Leon J IturbideRussia2026-11-04Chapman, Ross E Esq NEGOTIATION36Onyama Limba
1020Deepesh H CampainBrazil2026-10-19Commercial Press UNQUALIFIED12Amy Elsner
1021Deepesh Y PerinUnited Kingdom2026-10-08Feiner Bros NEW80Anna Fali
1022Antonio D NestleCanada2026-10-16Buckley Miller Wright RENEWAL88Ioni Bowcher
1023Cody H CaldareraRussia2026-10-12Morlong Associates RENEWAL3Amy Elsner
1024Jeanfrancois A SlusarskiBrazil2026-10-19Truhlar And Truhlar Attys NEW82Ivan Magalhaes
1025Stacey I VocelkaCanada2026-10-08Feiner Bros NEGOTIATION20Amy Elsner
1026James G BologniaJapan2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED6Amy Elsner
1027Tony V GlickCanada2026-10-12Benton, John B Jr PROPOSAL73Ivan Magalhaes
1028Murillo C WieserSpain2026-10-19Truhlar And Truhlar Attys QUALIFIED61Amy Elsner
1029Greenwood K SchemmerIndia2026-10-08Benton, John B Jr NEW28Asiya Javayant
1030Murillo Y NickaGermany2026-11-01Truhlar And Truhlar Attys QUALIFIED92Ioni Bowcher
1031Sinclair P GauchoAustralia2026-10-08Dorl, James J Esq NEGOTIATION77Bernardo Dominic
1032Costa M NickaSpain2026-11-05Chemel, James L Cpa NEGOTIATION97Bernardo Dominic
1033Ivar H DarakjyBrazil2026-10-24King, Christopher A Esq NEGOTIATION42Amy Elsner
1034Adams P SaylorsJapan2026-10-09Rousseaux, Michael Esq NEGOTIATION46Ioni Bowcher
1035Silvio T AmigonArgentina2026-11-03Printing Dimensions NEW53Stephen Shaw
1036Alejandro Z SchemmerUnited Kingdom2026-10-09Feiner Bros NEW85Elwin Sharvill
1037Wickens I KuskoGermany2026-10-18Feltz Printing Service QUALIFIED39Ioni Bowcher
1038Francesco D RoysterUnited Kingdom2026-10-09Rousseaux, Michael Esq UNQUALIFIED84Ioni Bowcher
1039Juan K InouyeSpain2026-10-19Chemel, James L Cpa PROPOSAL19Asiya Javayant
1040Leja U SaylorsRussia2026-10-14Commercial Press PROPOSAL19Onyama Limba
1041Smith Y BologniaSpain2026-10-19Chapman, Ross E Esq PROPOSAL21Asiya Javayant
1042Rodrigues M ButtFrance2026-10-28King, Christopher A Esq QUALIFIED66Stephen Shaw
1043Ashley N RulapaughFrance2026-10-07Commercial Press NEGOTIATION65Amy Elsner
1044Octavia A StockhamItaly2026-10-21King, Christopher A Esq UNQUALIFIED47Elwin Sharvill
1045Misaki H PoquetteJapan2026-10-08Morlong Associates UNQUALIFIED80Bernardo Dominic
1046Jeanfrancois K CampainJapan2026-10-18King, Christopher A Esq UNQUALIFIED67Anna Fali
1047Tony V OldroydJapan2026-10-09Chanay, Jeffrey A Esq NEGOTIATION65Stephen Shaw
1048Tony N SlusarskiIndia2026-11-05Buckley Miller Wright UNQUALIFIED41Bernardo Dominic
1049Salvatore U DarakjyItaly2026-11-01Morlong Associates RENEWAL3Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jefferson E StensethRussiaElwin Sharvill PROPOSAL
Johnson V RulapaughRussiaElwin Sharvill NEGOTIATION
David G RulapaughSpainElwin Sharvill NEW
Morrow F CaudyAustraliaIoni Bowcher NEGOTIATION
Salvatore A KolmetzJapanXuxue Feng PROPOSAL
Deepesh Z MorascaUnited KingdomAnna Fali NEGOTIATION
Isabel I GauchoBrazilStephen Shaw PROPOSAL
Cody X SaylorsSpainIvan Magalhaes NEW
Jennifer F StockhamRussiaIoni Bowcher RENEWAL
Arvin E CaldareraUnited KingdomBernardo Dominic NEW
Octavia Y SlusarskiIndiaIvan Magalhaes NEW
Deepesh W SaylorsRussiaIvan Magalhaes RENEWAL
Darci S PoquetteCanadaAsiya Javayant QUALIFIED
Johnson W DarakjyJapanOnyama Limba QUALIFIED
Emily F VocelkaRussiaStephen Shaw RENEWAL
Claire C GlickArgentinaStephen Shaw RENEWAL
Rodrigues Y VenereGermanyOnyama Limba RENEWAL
Antonio B SaylorsBrazilAmy Elsner QUALIFIED
Tony R KuskoIndiaOnyama Limba PROPOSAL
Rodrigues Q WhobreyAustraliaXuxue Feng NEGOTIATION
Jones R ShinkoItalyIoni Bowcher UNQUALIFIED
Sinclair I GillianCanadaIvan Magalhaes PROPOSAL
Johnson O BowleyGermanyOnyama Limba NEW
Jennifer Y BowleySpainXuxue Feng NEGOTIATION
Jennifer W ShinkoSpainIvan Magalhaes NEGOTIATION
James A FerenczCanadaIoni Bowcher PROPOSAL
Antonio U ButtFranceXuxue Feng RENEWAL
Leja X KolmetzFranceAsiya Javayant NEW
David T FigeroaUnited KingdomStephen Shaw RENEWAL
Aditya V KuskoJapanOnyama Limba RENEWAL
Aditya Y OldroydFranceOnyama Limba PROPOSAL
Nicolas D KuskoUnited KingdomAmy Elsner PROPOSAL
Leon T SlusarskiArgentinaAsiya Javayant PROPOSAL
Claire Q SergiUnited KingdomStephen Shaw NEW
Darci M NestleSpainStephen Shaw PROPOSAL
Leja R MaletBrazilAsiya Javayant QUALIFIED
Ivar I SchemmerSpainAsiya Javayant UNQUALIFIED
Deepesh Y VenereBrazilIvan Magalhaes NEGOTIATION
Misaki S MorascaUnited KingdomIvan Magalhaes RENEWAL
Alejandro M GauchoUnited KingdomStephen Shaw UNQUALIFIED
Mujtaba D BriddickJapanAnna Fali QUALIFIED
Arvin K AmigonRussiaElwin Sharvill NEGOTIATION
Stacey K FlosiItalyBernardo Dominic RENEWAL
Mujtaba D StensethAustraliaAsiya Javayant RENEWAL
Munro Y BriddickGermanyAnna Fali UNQUALIFIED
Claire E ChuiArgentinaElwin Sharvill QUALIFIED
Adams N InouyeGermanyAnna Fali RENEWAL
Silvio A MarrierAustraliaBernardo Dominic QUALIFIED
Alejandro U AmigonItalyStephen Shaw UNQUALIFIED
Smith H RulapaughItalyXuxue Feng NEGOTIATION
Frozen Columns
Name
James H Vocelka
Leon O Slusarski
Jeanfrancois W Waycott
Maisha O Whobrey
Kaitlin T Sergi
Aika O Doe
Smith X Flosi
Clifford P Nicka
Maisha P Flosi
Sinclair R Saylors
Greenwood Q Wieser
Alejandro S Poquette
Mujtaba R Wieser
Jones W Stenseth
Jefferson T Morasca
Jefferson O Stockham
Smith I Venere
Ivar K Stenseth
Chavez B Nestle
Ricardo K Kusko
Adams P Schemmer
Mayumi F Albares
Maisha E Royster
Morrow O Malet
Ashley Q Venere
Rodrigues H Ruta
Claire R Gaucho
David X Caldarera
Ashley O Bowley
Arvin D Caudy
Adams B Schemmer
Silvio X Wieser
Aditya P Whobrey
Tony W Oldroyd
Adams R Briddick
Jeanfrancois I Kolmetz
James Q Caldarera
Murillo C Schemmer
Faith D Butt
Jennifer K Iturbide
Maisha I Inouye
Smith P Vocelka
Jeanfrancois E Schemmer
Arvin T Rulapaugh
Arvin Y Saylors
Leja L Ferencz
Jones U Saylors
David F Slusarski
Morrow B Bolognia
Johnson K Paprocki
IdCountryDate
1000Brazil2026-10-28
1001Italy2026-10-19
1002Italy2026-10-27
1003Canada2026-10-12
1004Japan2026-11-03
1005Spain2026-10-23
1006Japan2026-10-11
1007Italy2026-10-16
1008India2026-10-27
1009Australia2026-10-10
1010Germany2026-10-29
1011Canada2026-10-23
1012Japan2026-10-25
1013India2026-10-31
1014United Kingdom2026-10-21
1015Spain2026-10-24
1016Australia2026-10-27
1017Brazil2026-10-14
1018France2026-10-19
1019Japan2026-10-10
1020Germany2026-10-08
1021Spain2026-10-24
1022Spain2026-11-04
1023Russia2026-10-21
1024Australia2026-10-11
1025Russia2026-10-09
1026Canada2026-10-20
1027Japan2026-10-14
1028India2026-10-10
1029Germany2026-10-15
1030India2026-10-10
1031India2026-10-24
1032Australia2026-10-17
1033Spain2026-10-08
1034Japan2026-10-24
1035Spain2026-10-18
1036Germany2026-10-10
1037Germany2026-10-23
1038France2026-10-19
1039Italy2026-10-16
1040Russia2026-10-22
1041Australia2026-11-02
1042France2026-10-23
1043Argentina2026-10-08
1044France2026-10-27
1045Spain2026-10-12
1046Italy2026-10-14
1047Australia2026-10-09
1048Italy2026-11-05
1049France2026-11-03

On-Demand Data

NameIdCountryDate
Aika J Foller1000Australia2026-10-15
Morrow J Doe1001Italy2026-10-23
Tony W Inouye1002Australia2026-11-04
Mayumi V Garufi1003Russia2026-11-04
Jefferson E Iturbide1004Argentina2026-10-09
Nicolas R Perin1005France2026-10-18
Isabel Z Caldarera1006France2026-10-21
Kadeem Z Darakjy1007Germany2026-10-20
Aruna X Morasca1008France2026-10-13
Kadeem M Inouye1009Canada2026-11-04
Jeanfrancois I Slusarski1010United Kingdom2026-10-26
Ivar Y Albares1011United Kingdom2026-10-19
Emily I Nestle1012France2026-10-27
Leja S Dilliard1013Japan2026-10-21
Morrow S Stockham1014Russia2026-10-13
Greenwood Q Poquette1015Canada2026-11-03
Ivar V Sergi1016Japan2026-10-22
Aika Y Royster1017Australia2026-10-17
Antonio B Slusarski1018India2026-10-15
Kaitlin S Schemmer1019Spain2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Z MaletAustraliaBernardo Dominic RENEWAL
Aika U AmigonCanadaIoni Bowcher NEGOTIATION
Silvio X SchemmerIndiaAmy Elsner PROPOSAL
Cody C PaprockiCanadaAnna Fali PROPOSAL
Salvatore E MaletArgentinaBernardo Dominic UNQUALIFIED
Tony R ChuiIndiaStephen Shaw PROPOSAL
Mujtaba B VocelkaUnited KingdomXuxue Feng NEGOTIATION
Wickens S MaletItalyStephen Shaw UNQUALIFIED
Leja H OldroydGermanyIoni Bowcher NEGOTIATION
Aditya B WieserJapanXuxue Feng UNQUALIFIED
Alejandro J DilliardGermanyBernardo Dominic RENEWAL
Jennifer S DoeItalyIoni Bowcher NEGOTIATION
Ricardo Z PoquetteItalyBernardo Dominic PROPOSAL
Tony I GauchoIndiaStephen Shaw UNQUALIFIED
Maria I GarufiCanadaIoni Bowcher PROPOSAL
Ricardo T VocelkaCanadaElwin Sharvill PROPOSAL
James W WieserRussiaIvan Magalhaes PROPOSAL
Antonio L MorascaRussiaAnna Fali QUALIFIED
Clifford R BriddickRussiaBernardo Dominic NEGOTIATION
Claire T FigeroaBrazilAsiya Javayant QUALIFIED
Stacey G DarakjyAustraliaBernardo Dominic NEW
Ashley J CampainUnited KingdomOnyama Limba RENEWAL
Smith C MorascaUnited KingdomIvan Magalhaes NEW
Jefferson Y VocelkaFranceBernardo Dominic NEGOTIATION
Sinclair I OstroskyArgentinaAmy Elsner NEGOTIATION
Salvatore Z PaprockiJapanAmy Elsner UNQUALIFIED
Juan U GlickItalyOnyama Limba NEGOTIATION
Octavia H MorascaAustraliaAnna Fali NEW
Morrow M SchemmerItalyOnyama Limba NEW
Isabel E ButtCanadaAmy Elsner NEGOTIATION
Ashley W SergiArgentinaAsiya Javayant NEW
Aruna I CaldareraGermanyElwin Sharvill NEGOTIATION
Aditya J GauchoGermanyAnna Fali NEW
Deepesh P TollnerFranceBernardo Dominic NEW
Claire O DarakjyArgentinaBernardo Dominic RENEWAL
Clifford U NestleRussiaOnyama Limba PROPOSAL
Octavia G KuskoFranceIoni Bowcher RENEWAL
Aditya C WaycottSpainIvan Magalhaes NEGOTIATION
Ricardo G DoeRussiaAsiya Javayant PROPOSAL
Deepesh Z AlbaresSpainOnyama Limba RENEWAL

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