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
Chavez D WaycottFranceIvan Magalhaes RENEWAL
Jones I RulapaughSpainStephen Shaw QUALIFIED
Jefferson J VocelkaGermanyElwin Sharvill NEGOTIATION
Stacey A WieserBrazilBernardo Dominic RENEWAL
Rodrigues H GillianUnited KingdomOnyama Limba RENEWAL
Jennifer P BologniaSpainXuxue Feng NEGOTIATION
Salvatore E RimAustraliaXuxue Feng RENEWAL
Ivar D AmigonSpainAsiya Javayant PROPOSAL
Jeanfrancois Q RoysterArgentinaBernardo Dominic NEW
Emily I GarufiItalyStephen Shaw QUALIFIED
Aditya N RimItalyXuxue Feng PROPOSAL
Kadeem J SergiArgentinaBernardo Dominic NEGOTIATION
Julie X FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh T ShinkoCanadaAmy Elsner QUALIFIED
Munro F NickaRussiaIoni Bowcher NEW
Jones T PaprockiJapanAsiya Javayant RENEWAL
Morrow M DilliardGermanyOnyama Limba NEGOTIATION
Faith K PaprockiBrazilAsiya Javayant PROPOSAL
Deepesh T AmigonBrazilElwin Sharvill PROPOSAL
Alejandro Q AmigonCanadaStephen Shaw NEW
Isabel Y WaycottJapanBernardo Dominic NEGOTIATION
David K FigeroaSpainXuxue Feng NEGOTIATION
Tony X FerenczAustraliaAsiya Javayant NEW
Salvatore A AlbaresUnited KingdomIoni Bowcher QUALIFIED
Greenwood M CaldareraSpainIoni Bowcher RENEWAL
Maria S KolmetzUnited KingdomOnyama Limba PROPOSAL
Jennifer M MaletCanadaAmy Elsner NEW
Francesco L GarufiAustraliaElwin Sharvill UNQUALIFIED
Leja C WhobreyRussiaAsiya Javayant PROPOSAL
Chavez E RulapaughItalyAnna Fali QUALIFIED
Faith R OldroydFranceOnyama Limba UNQUALIFIED
Jones Y FerenczRussiaAnna Fali QUALIFIED
Murillo Z KolmetzFranceAsiya Javayant RENEWAL
Misaki S ButtArgentinaElwin Sharvill UNQUALIFIED
Isabel N WieserIndiaAnna Fali UNQUALIFIED
Kadeem V GillianJapanStephen Shaw PROPOSAL
Jefferson I MorascaJapanBernardo Dominic UNQUALIFIED
Emily G SchemmerFranceIoni Bowcher NEGOTIATION
Darci T DoeAustraliaAmy Elsner NEW
Rodrigues W BologniaJapanXuxue Feng RENEWAL
Adams J CaldareraJapanIoni Bowcher QUALIFIED
Kadeem O ChuiBrazilStephen Shaw RENEWAL
Ricardo O MarrierItalyElwin Sharvill RENEWAL
Faith D GauchoBrazilXuxue Feng QUALIFIED
Johnson W SchemmerCanadaAnna Fali QUALIFIED
Munro N NickaIndiaXuxue Feng NEW
Sinclair O AlbaresBrazilOnyama Limba UNQUALIFIED
Silvio P DarakjyIndiaAsiya Javayant NEW
Ivar J DilliardBrazilBernardo Dominic RENEWAL
Greenwood H FlosiItalyAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams X SlusarskiAustraliaXuxue Feng RENEWAL
Julie X InouyeBrazilIvan Magalhaes NEGOTIATION
Clifford F BowleySpainElwin Sharvill RENEWAL
Mayumi O FollerAustraliaOnyama Limba QUALIFIED
Stacey Z RimArgentinaXuxue Feng NEGOTIATION
Aruna F GarufiCanadaElwin Sharvill UNQUALIFIED
Alejandro L AmigonCanadaAsiya Javayant NEGOTIATION
Murillo Q SlusarskiBrazilAsiya Javayant QUALIFIED
Julie J CaldareraJapanElwin Sharvill NEW
Salvatore N NestleFranceXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Y FigeroaJapan2026-11-05Dorl, James J Esq UNQUALIFIED49Ivan Magalhaes
1001Aruna M NestleIndia2026-10-23Buckley Miller Wright QUALIFIED66Ioni Bowcher
1002David W BriddickUnited Kingdom2026-10-14Benton, John B Jr RENEWAL60Asiya Javayant
1003Leja K GarufiFrance2026-10-28Chanay, Jeffrey A Esq UNQUALIFIED22Anna Fali
1004Claire I PerinUnited Kingdom2026-10-13Printing Dimensions UNQUALIFIED89Ioni Bowcher
1005Leon F KolmetzBrazil2026-10-07Feltz Printing Service UNQUALIFIED1Ivan Magalhaes
1006Mujtaba Z MaletSpain2026-10-10Dorl, James J Esq NEW75Bernardo Dominic
1007David C StensethAustralia2026-11-01Commercial Press NEGOTIATION91Elwin Sharvill
1008Mujtaba X DilliardIndia2026-10-19Feltz Printing Service UNQUALIFIED87Xuxue Feng
1009Salvatore D GlickAustralia2026-10-16Benton, John B Jr NEW86Ioni Bowcher
1010Antonio L IturbideUnited Kingdom2026-10-24Rangoni Of Florence UNQUALIFIED56Asiya Javayant
1011Aruna V WaycottJapan2026-10-07King, Christopher A Esq QUALIFIED62Elwin Sharvill
1012Mayumi R SaylorsCanada2026-10-18Rangoni Of Florence NEGOTIATION48Ivan Magalhaes
1013Costa L BowleyRussia2026-10-13Dorl, James J Esq RENEWAL96Xuxue Feng
1014Maisha R AlbaresGermany2026-10-09Chanay, Jeffrey A Esq UNQUALIFIED93Bernardo Dominic
1015Greenwood T RulapaughItaly2026-10-08Feltz Printing Service NEW67Anna Fali
1016Kaitlin A PaprockiItaly2026-10-28Feiner Bros UNQUALIFIED85Ivan Magalhaes
1017Claire B BowleySpain2026-10-28Morlong Associates QUALIFIED70Elwin Sharvill
1018Izzy W PaprockiJapan2026-11-05Printing Dimensions PROPOSAL52Asiya Javayant
1019Johnson T DarakjyAustralia2026-10-14Rangoni Of Florence RENEWAL56Onyama Limba
1020Francesco D MaletJapan2026-10-16Rousseaux, Michael Esq UNQUALIFIED75Xuxue Feng
1021Deepesh G NickaArgentina2026-10-23Dorl, James J Esq UNQUALIFIED84Elwin Sharvill
1022Maisha L ButtAustralia2026-11-02Dorl, James J Esq NEGOTIATION12Ivan Magalhaes
1023Izzy F BologniaIndia2026-10-30Rousseaux, Michael Esq NEW86Anna Fali
1024Nicolas E MaletBrazil2026-10-31Commercial Press NEGOTIATION10Ivan Magalhaes
1025Rodrigues B PerinIndia2026-10-17King, Christopher A Esq PROPOSAL37Xuxue Feng
1026Nicolas Y KuskoFrance2026-11-04Buckley Miller Wright UNQUALIFIED12Stephen Shaw
1027Faith Y MaletArgentina2026-11-02Commercial Press NEGOTIATION65Amy Elsner
1028Morrow N OstroskyJapan2026-10-24Printing Dimensions UNQUALIFIED64Xuxue Feng
1029Maisha V IturbideItaly2026-10-11Feiner Bros UNQUALIFIED7Amy Elsner
1030Misaki Y ButtIndia2026-10-09Feiner Bros NEGOTIATION54Ivan Magalhaes
1031Ivar E SaylorsSpain2026-10-30Chanay, Jeffrey A Esq QUALIFIED17Asiya Javayant
1032Jefferson J BriddickAustralia2026-10-29Chapman, Ross E Esq NEGOTIATION11Elwin Sharvill
1033Maisha N MarrierIndia2026-10-29Buckley Miller Wright RENEWAL40Anna Fali
1034Salvatore M GarufiAustralia2026-11-02Rousseaux, Michael Esq PROPOSAL43Stephen Shaw
1035Murillo D StockhamGermany2026-10-25Feltz Printing Service QUALIFIED85Elwin Sharvill
1036Cody R GauchoBrazil2026-10-21Morlong Associates UNQUALIFIED79Ioni Bowcher
1037Antonio H CampainUnited Kingdom2026-11-04Dorl, James J Esq PROPOSAL0Amy Elsner
1038Maisha C MaletJapan2026-10-19Rousseaux, Michael Esq UNQUALIFIED45Stephen Shaw
1039Silvio Y ShinkoArgentina2026-10-08Rangoni Of Florence NEGOTIATION22Ioni Bowcher
1040Ivar P FerenczCanada2026-10-07Buckley Miller Wright PROPOSAL52Bernardo Dominic
1041Arvin N MaletIndia2026-10-14Morlong Associates UNQUALIFIED17Anna Fali
1042Izzy S MorascaSpain2026-10-17Dorl, James J Esq QUALIFIED42Elwin Sharvill
1043Smith B StensethRussia2026-11-03Chanay, Jeffrey A Esq NEGOTIATION93Ioni Bowcher
1044Silvio V MaletFrance2026-11-04Morlong Associates PROPOSAL84Ivan Magalhaes
1045Costa O ChuiJapan2026-10-29Rangoni Of Florence NEW13Bernardo Dominic
1046Silvio K ShinkoArgentina2026-10-10Benton, John B Jr RENEWAL21Onyama Limba
1047Kaitlin E KuskoAustralia2026-11-03Rangoni Of Florence RENEWAL99Elwin Sharvill
1048Alejandro V NickaIndia2026-10-21Commercial Press UNQUALIFIED11Amy Elsner
1049Isabel C MaletJapan2026-10-12Chemel, James L Cpa UNQUALIFIED30Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Sinclair N CaldareraAustraliaAsiya Javayant QUALIFIED
Isabel J GauchoGermanyIoni Bowcher UNQUALIFIED
Munro A GarufiSpainStephen Shaw UNQUALIFIED
Jones L DilliardItalyBernardo Dominic PROPOSAL
Johnson I RulapaughAustraliaXuxue Feng NEGOTIATION
Deepesh W RoysterGermanyIoni Bowcher NEW
Deepesh B AmigonSpainStephen Shaw UNQUALIFIED
Cody F MarrierGermanyStephen Shaw UNQUALIFIED
Rodrigues F ShinkoItalyStephen Shaw QUALIFIED
Leon R VenereFranceElwin Sharvill RENEWAL
Adams N BowleyIndiaXuxue Feng NEGOTIATION
Emily T SaylorsBrazilAmy Elsner NEW
Claire H RutaAustraliaAmy Elsner RENEWAL
Jefferson J OstroskySpainAsiya Javayant QUALIFIED
Jones E TollnerUnited KingdomXuxue Feng NEW
Emily J SergiAustraliaIvan Magalhaes NEGOTIATION
Aruna N DarakjyIndiaIvan Magalhaes RENEWAL
Morrow R GauchoJapanOnyama Limba RENEWAL
Jones F AmigonGermanyOnyama Limba QUALIFIED
Jeanfrancois E GauchoSpainStephen Shaw QUALIFIED
James H NickaCanadaElwin Sharvill NEGOTIATION
Jefferson N KuskoFranceIoni Bowcher PROPOSAL
Leon B VenereArgentinaBernardo Dominic RENEWAL
Jennifer Z NestleIndiaIvan Magalhaes NEW
Aika J PaprockiArgentinaStephen Shaw QUALIFIED
Costa F MorascaJapanAnna Fali PROPOSAL
Munro N CampainJapanOnyama Limba NEGOTIATION
Nicolas G AlbaresGermanyElwin Sharvill PROPOSAL
Ivar K PoquetteRussiaXuxue Feng PROPOSAL
Stacey G RimCanadaIoni Bowcher QUALIFIED
Juan H VocelkaIndiaStephen Shaw UNQUALIFIED
Leon X KuskoBrazilIoni Bowcher NEW
Maisha Y NickaAustraliaIvan Magalhaes QUALIFIED
Greenwood X WaycottJapanOnyama Limba NEGOTIATION
Silvio V CaldareraBrazilAnna Fali QUALIFIED
Tony W PerinJapanElwin Sharvill UNQUALIFIED
Isabel J AmigonGermanyElwin Sharvill QUALIFIED
Ricardo Y WaycottJapanAsiya Javayant RENEWAL
Aika A IturbideAustraliaXuxue Feng NEW
Leja E AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Cody N StensethAustraliaXuxue Feng NEGOTIATION
Kaitlin U FigeroaIndiaAmy Elsner NEW
Leja F ButtItalyStephen Shaw QUALIFIED
Jeanfrancois G KolmetzFranceStephen Shaw NEW
Izzy L TollnerAustraliaBernardo Dominic UNQUALIFIED
Nicolas R FerenczItalyXuxue Feng NEGOTIATION
Misaki Y BologniaAustraliaXuxue Feng NEW
Ricardo U GarufiIndiaIoni Bowcher UNQUALIFIED
Ricardo B IturbideItalyAmy Elsner PROPOSAL
Salvatore Z CaudyItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Jefferson F Glick
Faith H Iturbide
Adams A Figeroa
Greenwood W Glick
Kaitlin G Gaucho
Leon D Whobrey
Murillo B Shinko
Julie U Albares
Munro V Malet
Misaki R Malet
Johnson R Malet
Cody K Bowley
Wickens J Stenseth
Isabel E Shinko
Murillo E Gillian
Francesco Q Tollner
Rodrigues J Amigon
Maria H Stenseth
Ricardo Y Sergi
Leon B Whobrey
Emily J Schemmer
Jeanfrancois O Flosi
Johnson M Perin
Julie H Venere
Mujtaba T Malet
Cody Y Caudy
Morrow N Caudy
Jeanfrancois I Whobrey
Francesco Y Paprocki
Aika L Wieser
Maisha I Perin
James J Slusarski
Chavez K Bowley
Darci U Sergi
Ashley N Campain
Isabel M Flosi
Claire A Perin
Aika K Rulapaugh
Juan E Bowley
Morrow F Doe
Rodrigues Y Oldroyd
Leon W Caudy
Jeanfrancois D Inouye
Greenwood E Ferencz
Johnson R Gaucho
Deepesh I Ferencz
Clifford N Vocelka
Greenwood U Dilliard
Salvatore G Ruta
Murillo K Nestle
IdCountryDate
1000Australia2026-10-18
1001Argentina2026-10-14
1002Japan2026-10-17
1003Brazil2026-11-04
1004Canada2026-10-13
1005India2026-11-01
1006India2026-10-20
1007Germany2026-10-25
1008Spain2026-10-16
1009Canada2026-10-08
1010Spain2026-10-31
1011Argentina2026-11-01
1012Australia2026-10-07
1013Australia2026-10-25
1014United Kingdom2026-10-12
1015Germany2026-10-20
1016India2026-10-15
1017Australia2026-10-13
1018Germany2026-11-05
1019Germany2026-10-10
1020Spain2026-10-31
1021Brazil2026-11-04
1022India2026-11-04
1023Italy2026-10-26
1024Germany2026-10-28
1025United Kingdom2026-11-05
1026Germany2026-10-31
1027Italy2026-10-15
1028France2026-10-30
1029Spain2026-10-14
1030France2026-10-10
1031India2026-10-28
1032Argentina2026-11-01
1033Russia2026-10-15
1034Argentina2026-10-17
1035France2026-10-23
1036Japan2026-10-12
1037Japan2026-10-13
1038United Kingdom2026-10-20
1039Italy2026-11-01
1040Spain2026-11-02
1041Australia2026-11-05
1042Italy2026-10-24
1043Argentina2026-10-18
1044Australia2026-10-17
1045Canada2026-11-04
1046France2026-11-02
1047Germany2026-10-27
1048India2026-10-17
1049Russia2026-10-22

On-Demand Data

NameIdCountryDate
Francesco T Vocelka1000Russia2026-10-29
Clifford Y Bolognia1001France2026-10-10
Greenwood T Gillian1002Japan2026-10-23
Ivar I Flosi1003Japan2026-10-17
Arvin R Royster1004India2026-10-31
Mayumi Q Marrier1005Canada2026-11-01
Ricardo Y Campain1006Canada2026-10-18
Faith C Slusarski1007France2026-10-15
Clifford T Inouye1008Brazil2026-10-16
Munro F Briddick1009Italy2026-11-01
Clifford E Malet1010Japan2026-10-10
Munro G Slusarski1011Argentina2026-10-30
David U Venere1012Spain2026-11-05
Emily U Glick1013Spain2026-11-03
Munro B Doe1014United Kingdom2026-10-20
Darci J Maclead1015France2026-10-24
Salvatore F Malet1016France2026-10-23
Sinclair Q Tollner1017Canada2026-10-16
Isabel C Oldroyd1018Italy2026-10-12
Aruna G Waycott1019Italy2026-11-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Q StockhamGermanyElwin Sharvill UNQUALIFIED
Aruna F BologniaCanadaAmy Elsner QUALIFIED
Rodrigues S DarakjyArgentinaIoni Bowcher NEGOTIATION
Ashley D WaycottGermanyElwin Sharvill NEW
Julie C FlosiItalyIvan Magalhaes UNQUALIFIED
Mayumi H IturbideRussiaAnna Fali NEGOTIATION
Chavez N WieserSpainAmy Elsner UNQUALIFIED
Octavia W SchemmerItalyAmy Elsner PROPOSAL
Cody E PaprockiBrazilAsiya Javayant UNQUALIFIED
Ashley M BriddickJapanStephen Shaw NEGOTIATION
Stacey M GlickItalyIoni Bowcher NEW
Salvatore T GauchoIndiaXuxue Feng QUALIFIED
Kaitlin P GarufiAustraliaXuxue Feng NEGOTIATION
Mujtaba R MaletBrazilIoni Bowcher UNQUALIFIED
Juan T FigeroaCanadaIvan Magalhaes RENEWAL
Juan G CaldareraGermanyBernardo Dominic NEW
Misaki V BowleyAustraliaAnna Fali UNQUALIFIED
Clifford K OldroydUnited KingdomAmy Elsner UNQUALIFIED
Smith Y PoquetteArgentinaBernardo Dominic PROPOSAL
Claire S DarakjyFranceBernardo Dominic QUALIFIED
Leon L RutaUnited KingdomAsiya Javayant NEW
Antonio K ButtFranceBernardo Dominic NEGOTIATION
Adams Y DarakjyBrazilAsiya Javayant QUALIFIED
Deepesh L OldroydUnited KingdomXuxue Feng UNQUALIFIED
Mayumi D VenereBrazilAmy Elsner NEGOTIATION
Ivar B StensethArgentinaAsiya Javayant UNQUALIFIED
Costa R CaldareraArgentinaAsiya Javayant UNQUALIFIED
Morrow U IturbideBrazilStephen Shaw QUALIFIED
Munro X StockhamArgentinaXuxue Feng NEGOTIATION
Adams E ChuiRussiaAnna Fali RENEWAL
Ashley U SchemmerAustraliaAnna Fali UNQUALIFIED
Maisha A InouyeFranceElwin Sharvill QUALIFIED
Morrow K OldroydCanadaIoni Bowcher NEGOTIATION
Johnson O VocelkaIndiaAmy Elsner RENEWAL
Arvin D GarufiBrazilIoni Bowcher QUALIFIED
Juan Q PaprockiJapanAsiya Javayant UNQUALIFIED
Murillo F AmigonIndiaOnyama Limba QUALIFIED
Kaitlin X GarufiAustraliaStephen Shaw NEGOTIATION
Rodrigues Y FollerAustraliaIoni Bowcher NEW
Nicolas Q KuskoItalyElwin Sharvill 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>