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
Munro J CaudyRussiaBernardo Dominic UNQUALIFIED
Chavez C InouyeAustraliaIoni Bowcher NEW
Tony Y MorascaItalyElwin Sharvill PROPOSAL
Jones M PerinUnited KingdomOnyama Limba UNQUALIFIED
Smith P ChuiItalyAnna Fali NEGOTIATION
Silvio K MorascaIndiaAsiya Javayant PROPOSAL
Rodrigues P WhobreyCanadaElwin Sharvill NEW
Faith Y RimArgentinaStephen Shaw UNQUALIFIED
Juan U VenereIndiaIvan Magalhaes RENEWAL
James J BologniaAustraliaAmy Elsner NEW
Smith D RoysterRussiaAsiya Javayant NEGOTIATION
Cody H PerinSpainAnna Fali NEW
Jeanfrancois M TollnerArgentinaBernardo Dominic PROPOSAL
Emily O OstroskyCanadaIvan Magalhaes RENEWAL
Kadeem G GauchoUnited KingdomBernardo Dominic RENEWAL
Maisha N StensethCanadaElwin Sharvill PROPOSAL
Rodrigues J GlickItalyBernardo Dominic PROPOSAL
Wickens K RulapaughAustraliaAmy Elsner QUALIFIED
Mayumi Z SergiGermanyIvan Magalhaes RENEWAL
Smith I GarufiJapanAnna Fali RENEWAL
Faith X WhobreyCanadaAnna Fali NEW
Chavez K SchemmerUnited KingdomStephen Shaw QUALIFIED
Munro X OldroydItalyOnyama Limba RENEWAL
Arvin K TollnerRussiaBernardo Dominic RENEWAL
Leja X VenereGermanyAmy Elsner RENEWAL
Aruna P FigeroaGermanyAnna Fali RENEWAL
Isabel N BowleyGermanyIoni Bowcher QUALIFIED
Misaki Q CaudyJapanIvan Magalhaes NEGOTIATION
Morrow C MarrierGermanyAnna Fali UNQUALIFIED
Aditya Q PoquetteGermanyStephen Shaw PROPOSAL
Leja D MaletGermanyStephen Shaw RENEWAL
Munro Z StensethArgentinaStephen Shaw QUALIFIED
Salvatore Y CaldareraSpainIvan Magalhaes NEGOTIATION
Chavez N FigeroaItalyBernardo Dominic NEGOTIATION
Rodrigues C MacleadFranceAsiya Javayant NEW
Cody A RulapaughCanadaIoni Bowcher PROPOSAL
Izzy B ShinkoBrazilStephen Shaw NEW
Kadeem S CampainSpainAmy Elsner UNQUALIFIED
Tony X PerinItalyAmy Elsner NEGOTIATION
Rodrigues G NickaIndiaAmy Elsner RENEWAL
Chavez U RoysterArgentinaIoni Bowcher PROPOSAL
Maisha O DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Aruna T MarrierRussiaAsiya Javayant RENEWAL
Isabel F VocelkaItalyAmy Elsner UNQUALIFIED
Jennifer Z SaylorsJapanXuxue Feng RENEWAL
Alejandro W FlosiGermanyBernardo Dominic NEW
Ricardo B RulapaughItalyIoni Bowcher RENEWAL
Misaki W StensethItalyBernardo Dominic UNQUALIFIED
Salvatore O RoysterSpainIvan Magalhaes UNQUALIFIED
Leja U DoeArgentinaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin Y DoeGermanyBernardo Dominic NEGOTIATION
Chavez N WaycottGermanyStephen Shaw QUALIFIED
Adams E SlusarskiUnited KingdomAmy Elsner NEGOTIATION
David M BriddickGermanyAmy Elsner RENEWAL
Ivar O CampainGermanyElwin Sharvill UNQUALIFIED
Aditya P WaycottIndiaAnna Fali NEW
Stacey Q NestleJapanAmy Elsner NEGOTIATION
Chavez O PaprockiItalyIoni Bowcher PROPOSAL
Ricardo J SaylorsArgentinaAmy Elsner UNQUALIFIED
Johnson V TollnerFranceAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire Q KuskoRussia2026-08-27Printing Dimensions NEW67Amy Elsner
1001Rodrigues N MaletAustralia2026-09-14Commercial Press PROPOSAL22Xuxue Feng
1002Cody P DarakjyCanada2026-09-19Chanay, Jeffrey A Esq RENEWAL33Stephen Shaw
1003Cody U OldroydFrance2026-09-02Chapman, Ross E Esq PROPOSAL75Elwin Sharvill
1004Cody N FerenczSpain2026-09-13Feiner Bros NEW6Ioni Bowcher
1005Juan I SaylorsGermany2026-09-18Morlong Associates PROPOSAL50Xuxue Feng
1006Leja A VocelkaRussia2026-09-01Dorl, James J Esq NEW12Bernardo Dominic
1007Munro A DarakjyGermany2026-09-10Chanay, Jeffrey A Esq NEW84Onyama Limba
1008Aika Z BowleyBrazil2026-08-29Chapman, Ross E Esq NEGOTIATION70Ioni Bowcher
1009Costa P FigeroaJapan2026-08-30Feiner Bros NEW52Amy Elsner
1010Salvatore Z FigeroaCanada2026-08-30Chapman, Ross E Esq RENEWAL71Bernardo Dominic
1011Smith G MaletRussia2026-09-24Feltz Printing Service NEW36Stephen Shaw
1012Nicolas B GillianUnited Kingdom2026-09-07Rousseaux, Michael Esq QUALIFIED79Bernardo Dominic
1013Juan Q ButtItaly2026-09-02Printing Dimensions NEGOTIATION66Amy Elsner
1014Emily F VenereCanada2026-09-04Rousseaux, Michael Esq PROPOSAL92Elwin Sharvill
1015Alejandro Q PaprockiSpain2026-09-20Dorl, James J Esq PROPOSAL23Elwin Sharvill
1016Darci M VocelkaArgentina2026-09-24Rangoni Of Florence RENEWAL5Onyama Limba
1017Antonio H RulapaughFrance2026-08-31Printing Dimensions RENEWAL15Ioni Bowcher
1018Johnson N PaprockiRussia2026-09-10Chanay, Jeffrey A Esq UNQUALIFIED33Elwin Sharvill
1019Cody C RutaCanada2026-09-18Rangoni Of Florence PROPOSAL62Elwin Sharvill
1020Kaitlin E AlbaresFrance2026-09-04Truhlar And Truhlar Attys RENEWAL20Xuxue Feng
1021Aruna X GauchoAustralia2026-09-22Rangoni Of Florence UNQUALIFIED52Ivan Magalhaes
1022Jennifer B SaylorsUnited Kingdom2026-09-16Dorl, James J Esq PROPOSAL91Onyama Limba
1023James U FollerAustralia2026-09-11Chanay, Jeffrey A Esq RENEWAL26Amy Elsner
1024Morrow C ShinkoBrazil2026-09-21Chemel, James L Cpa NEW72Amy Elsner
1025James P SaylorsRussia2026-09-03Truhlar And Truhlar Attys UNQUALIFIED75Elwin Sharvill
1026Silvio T CaldareraItaly2026-09-23Chanay, Jeffrey A Esq UNQUALIFIED10Asiya Javayant
1027Kaitlin Q VenereRussia2026-08-28Printing Dimensions NEGOTIATION53Anna Fali
1028Salvatore I MaletBrazil2026-09-16Chemel, James L Cpa RENEWAL36Amy Elsner
1029Mujtaba F FerenczGermany2026-08-30Chapman, Ross E Esq QUALIFIED15Amy Elsner
1030Jeanfrancois M MorascaArgentina2026-09-19Chemel, James L Cpa PROPOSAL70Stephen Shaw
1031Wickens A TollnerFrance2026-09-17Truhlar And Truhlar Attys QUALIFIED55Anna Fali
1032Nicolas V MaletUnited Kingdom2026-09-18King, Christopher A Esq NEGOTIATION42Anna Fali
1033Kaitlin V DarakjySpain2026-09-08King, Christopher A Esq UNQUALIFIED15Ivan Magalhaes
1034Maisha S BowleyCanada2026-09-23Printing Dimensions PROPOSAL58Ivan Magalhaes
1035Silvio H ButtRussia2026-09-25Truhlar And Truhlar Attys UNQUALIFIED21Xuxue Feng
1036James R MarrierIndia2026-09-03Feltz Printing Service RENEWAL74Ioni Bowcher
1037Chavez H BologniaRussia2026-09-12Chemel, James L Cpa NEW46Asiya Javayant
1038Munro X FollerFrance2026-09-13Commercial Press RENEWAL60Asiya Javayant
1039James I OldroydBrazil2026-08-31Rousseaux, Michael Esq PROPOSAL7Elwin Sharvill
1040Deepesh E KolmetzAustralia2026-09-21Feiner Bros RENEWAL40Stephen Shaw
1041Jones T AmigonGermany2026-09-07Rousseaux, Michael Esq PROPOSAL50Bernardo Dominic
1042Darci N PaprockiItaly2026-09-17Rangoni Of Florence NEGOTIATION7Ioni Bowcher
1043Antonio E OstroskyUnited Kingdom2026-09-23Rangoni Of Florence NEGOTIATION94Elwin Sharvill
1044Ashley Z BriddickSpain2026-08-27Printing Dimensions UNQUALIFIED7Anna Fali
1045Munro L ChuiItaly2026-09-01Feltz Printing Service NEW64Elwin Sharvill
1046Munro I AmigonArgentina2026-09-10Benton, John B Jr PROPOSAL28Ioni Bowcher
1047Clifford B DoeIndia2026-09-13Feiner Bros UNQUALIFIED56Ivan Magalhaes
1048Aruna C WhobreyItaly2026-09-03Chapman, Ross E Esq NEGOTIATION53Onyama Limba
1049Emily O IturbideArgentina2026-09-15Printing Dimensions QUALIFIED59Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika S PoquetteItalyBernardo Dominic UNQUALIFIED
Julie Q FigeroaSpainIvan Magalhaes RENEWAL
Julie Z DilliardSpainIoni Bowcher NEGOTIATION
Sinclair A IturbideUnited KingdomAsiya Javayant NEW
Ricardo A BologniaSpainStephen Shaw NEW
Darci F DarakjySpainAsiya Javayant NEW
Izzy S WhobreyJapanOnyama Limba NEGOTIATION
Jennifer N PoquetteGermanyElwin Sharvill UNQUALIFIED
Mayumi K AmigonCanadaAmy Elsner UNQUALIFIED
Aruna G CaldareraGermanyXuxue Feng UNQUALIFIED
Maisha I GarufiJapanOnyama Limba NEW
Faith V MacleadIndiaXuxue Feng QUALIFIED
Francesco F OstroskyRussiaStephen Shaw PROPOSAL
Izzy S CampainAustraliaIvan Magalhaes NEW
Faith V PaprockiJapanAnna Fali PROPOSAL
Faith U AlbaresArgentinaIvan Magalhaes NEGOTIATION
David K TollnerIndiaAsiya Javayant QUALIFIED
Jeanfrancois H CampainSpainXuxue Feng UNQUALIFIED
Deepesh R GarufiItalyBernardo Dominic PROPOSAL
Claire T GarufiFranceAnna Fali QUALIFIED
Juan T CaldareraCanadaAmy Elsner PROPOSAL
Maria L StensethAustraliaAsiya Javayant NEW
Ricardo P MacleadSpainIoni Bowcher RENEWAL
Rodrigues Q FollerAustraliaIoni Bowcher NEGOTIATION
Ricardo X FollerRussiaElwin Sharvill PROPOSAL
Mayumi G KuskoBrazilAnna Fali NEGOTIATION
Nicolas E ShinkoGermanyStephen Shaw NEW
Chavez N RoysterGermanyOnyama Limba QUALIFIED
Jefferson X NestleJapanIoni Bowcher NEGOTIATION
Nicolas Q PaprockiSpainAsiya Javayant NEGOTIATION
Jennifer I GlickItalyIvan Magalhaes RENEWAL
Cody J IturbideRussiaStephen Shaw UNQUALIFIED
Sinclair V OstroskyBrazilStephen Shaw QUALIFIED
Sinclair K PaprockiUnited KingdomIoni Bowcher NEW
Leon R NickaBrazilAnna Fali QUALIFIED
Chavez V VenereJapanXuxue Feng QUALIFIED
Octavia L RimUnited KingdomIvan Magalhaes QUALIFIED
Jefferson W OstroskyItalyAmy Elsner QUALIFIED
Johnson F DarakjySpainIvan Magalhaes RENEWAL
Julie Z InouyeGermanyAmy Elsner UNQUALIFIED
Ashley B RoysterRussiaIoni Bowcher UNQUALIFIED
Alejandro Z DilliardBrazilIoni Bowcher QUALIFIED
Ashley K PaprockiRussiaIoni Bowcher PROPOSAL
Emily U RimFranceIoni Bowcher NEW
Arvin U ButtJapanXuxue Feng NEW
Maria J GlickBrazilAsiya Javayant QUALIFIED
Aika R CaldareraJapanAmy Elsner NEGOTIATION
Octavia M VocelkaIndiaIoni Bowcher NEW
Stacey P KuskoItalyElwin Sharvill NEGOTIATION
Tony J OldroydItalyXuxue Feng RENEWAL
Frozen Columns
Name
Leon R Garufi
Kadeem F Darakjy
Antonio A Darakjy
Mujtaba L Kolmetz
Maria X Gillian
Aika Q Malet
Deepesh V Venere
Leja Z Royster
Jones K Royster
Smith L Ferencz
Aditya L Oldroyd
Francesco F Butt
Misaki Y Butt
Mayumi C Figeroa
Deepesh I Bolognia
Faith P Poquette
Ivar I Ostrosky
Tony R Royster
James L Caudy
Munro C Flosi
Alejandro L Gillian
Nicolas S Vocelka
Greenwood D Figeroa
Johnson X Amigon
Ricardo W Ostrosky
Aditya J Flosi
Deepesh Z Doe
Tony B Oldroyd
Jeanfrancois B Stockham
Antonio A Doe
Juan I Caudy
Antonio Z Gaucho
Leja T Dilliard
Clifford T Caudy
Tony O Gillian
Nicolas C Saylors
Nicolas L Dilliard
Aika J Nestle
Munro H Bowley
Deepesh Z Caudy
Silvio T Dilliard
Ivar N Ostrosky
Aika V Dilliard
Jeanfrancois F Morasca
Aruna N Waycott
Jones Q Rulapaugh
Rodrigues Z Dilliard
Leja T Venere
Johnson B Gillian
Jones W Garufi
IdCountryDate
1000Canada2026-08-28
1001Spain2026-08-30
1002Brazil2026-08-29
1003Spain2026-08-28
1004Argentina2026-09-20
1005Argentina2026-09-24
1006Canada2026-09-07
1007Germany2026-09-23
1008Argentina2026-09-21
1009Canada2026-09-17
1010Australia2026-09-11
1011Brazil2026-09-07
1012India2026-09-09
1013Russia2026-09-24
1014Spain2026-09-24
1015Russia2026-09-20
1016Brazil2026-09-09
1017Germany2026-09-21
1018Japan2026-09-15
1019France2026-08-29
1020India2026-09-01
1021Argentina2026-09-10
1022Spain2026-09-02
1023Russia2026-09-16
1024Brazil2026-09-07
1025Italy2026-09-01
1026Germany2026-09-22
1027Brazil2026-09-24
1028Spain2026-08-31
1029Germany2026-09-18
1030France2026-09-07
1031Australia2026-08-28
1032France2026-09-01
1033Brazil2026-08-30
1034Brazil2026-09-10
1035Canada2026-09-11
1036Spain2026-08-27
1037Argentina2026-09-14
1038United Kingdom2026-08-30
1039Canada2026-09-23
1040Russia2026-09-03
1041Canada2026-08-28
1042Italy2026-08-27
1043Argentina2026-08-31
1044United Kingdom2026-09-08
1045India2026-09-20
1046Italy2026-09-15
1047United Kingdom2026-09-01
1048Russia2026-09-14
1049Brazil2026-09-02

On-Demand Data

NameIdCountryDate
Morrow V Garufi1000India2026-09-15
Faith J Gillian1001France2026-09-23
Deepesh W Morasca1002Brazil2026-09-11
Adams A Campain1003Australia2026-09-01
Ashley K Sergi1004India2026-09-21
Mayumi Y Stockham1005Japan2026-09-14
Faith H Whobrey1006Brazil2026-09-20
Mujtaba C Venere1007Brazil2026-09-19
Maisha I Albares1008Spain2026-09-01
Arvin F Ferencz1009Germany2026-08-31
Octavia P Kolmetz1010Argentina2026-09-15
Antonio J Iturbide1011Italy2026-09-08
Silvio O Waycott1012India2026-09-24
Antonio T Shinko1013Australia2026-09-10
Maria C Stockham1014United Kingdom2026-09-13
Nicolas F Campain1015Russia2026-09-09
Antonio I Waycott1016Germany2026-08-29
Misaki G Sergi1017Russia2026-09-17
Jones D Perin1018Brazil2026-09-25
Aika H Ostrosky1019Japan2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood M NickaUnited KingdomStephen Shaw NEGOTIATION
Sinclair O VenereCanadaAnna Fali NEW
Jones V NestleRussiaAmy Elsner QUALIFIED
Aditya R BriddickCanadaOnyama Limba NEW
Leon N RulapaughJapanAsiya Javayant NEW
Misaki S FerenczFranceOnyama Limba NEW
Leon B InouyeRussiaBernardo Dominic PROPOSAL
Morrow W OldroydIndiaAnna Fali PROPOSAL
Aditya F OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Izzy K MaletArgentinaAnna Fali NEGOTIATION
Cody H GauchoAustraliaAsiya Javayant PROPOSAL
Chavez J CaudyArgentinaXuxue Feng RENEWAL
Claire N RulapaughItalyAnna Fali NEW
Costa N PaprockiGermanyIoni Bowcher RENEWAL
Wickens S NickaRussiaAsiya Javayant RENEWAL
Maria H MaletRussiaIoni Bowcher NEGOTIATION
Darci R CaudyGermanyXuxue Feng PROPOSAL
Jefferson M OldroydBrazilAmy Elsner UNQUALIFIED
Greenwood L DarakjyCanadaElwin Sharvill RENEWAL
Juan C SaylorsItalyBernardo Dominic NEGOTIATION
Maisha O WieserArgentinaAsiya Javayant NEGOTIATION
Antonio V SergiGermanyIvan Magalhaes QUALIFIED
Jefferson O SaylorsAustraliaBernardo Dominic NEW
Jefferson Q KuskoBrazilAsiya Javayant QUALIFIED
Tony Z PaprockiSpainAnna Fali NEW
Jennifer Z CaldareraUnited KingdomOnyama Limba QUALIFIED
Faith T CaldareraIndiaStephen Shaw RENEWAL
Francesco S RimFranceOnyama Limba QUALIFIED
Aditya S DarakjyAustraliaXuxue Feng RENEWAL
Maria P StensethItalyElwin Sharvill RENEWAL
Octavia P DoeJapanBernardo Dominic NEGOTIATION
Smith H BowleyRussiaElwin Sharvill PROPOSAL
Octavia A DoeGermanyOnyama Limba UNQUALIFIED
Costa F InouyeBrazilIoni Bowcher QUALIFIED
Juan L GillianIndiaIoni Bowcher NEGOTIATION
Antonio K PoquetteFranceOnyama Limba PROPOSAL
Mayumi J PaprockiBrazilAmy Elsner UNQUALIFIED
Darci H TollnerGermanyIoni Bowcher QUALIFIED
Francesco G SchemmerJapanIoni Bowcher QUALIFIED
Tony H SlusarskiSpainIvan Magalhaes QUALIFIED

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