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
Adams P RulapaughIndiaStephen Shaw PROPOSAL
Cody B IturbideCanadaIvan Magalhaes UNQUALIFIED
Aika S BologniaRussiaAsiya Javayant NEGOTIATION
Clifford Q MarrierSpainAnna Fali UNQUALIFIED
Claire A PoquetteItalyStephen Shaw QUALIFIED
Alejandro L FlosiIndiaIoni Bowcher RENEWAL
Kaitlin A CampainSpainAnna Fali NEW
Kadeem N PerinIndiaAnna Fali NEW
Smith D ButtCanadaXuxue Feng NEGOTIATION
Faith U GarufiUnited KingdomAmy Elsner RENEWAL
Rodrigues C NestleBrazilIoni Bowcher NEW
Salvatore U ChuiGermanyOnyama Limba NEGOTIATION
Salvatore S GlickIndiaOnyama Limba RENEWAL
James N BriddickRussiaAnna Fali PROPOSAL
David L StockhamUnited KingdomOnyama Limba RENEWAL
Aruna R GillianArgentinaAnna Fali UNQUALIFIED
Munro I DilliardAustraliaBernardo Dominic UNQUALIFIED
Jefferson B SchemmerFranceIvan Magalhaes NEGOTIATION
Deepesh G GarufiGermanyAnna Fali PROPOSAL
David N AlbaresItalyIoni Bowcher UNQUALIFIED
Faith Z KolmetzIndiaXuxue Feng PROPOSAL
Tony E OstroskyBrazilElwin Sharvill NEW
Salvatore P FigeroaUnited KingdomBernardo Dominic QUALIFIED
Octavia C MorascaIndiaAsiya Javayant RENEWAL
Smith P CampainFranceStephen Shaw RENEWAL
Aditya A AlbaresBrazilOnyama Limba UNQUALIFIED
David A WhobreyAustraliaElwin Sharvill UNQUALIFIED
Mayumi M MaletFranceOnyama Limba NEW
Tony P CaldareraIndiaAmy Elsner NEW
Tony N BriddickBrazilIoni Bowcher UNQUALIFIED
Nicolas B DarakjyArgentinaStephen Shaw PROPOSAL
Octavia W PoquetteSpainXuxue Feng PROPOSAL
Jones O DoeIndiaAsiya Javayant NEW
Ivar T KuskoSpainAmy Elsner UNQUALIFIED
Isabel M RimUnited KingdomBernardo Dominic NEGOTIATION
Julie O AmigonItalyAnna Fali NEW
Leja O DilliardSpainStephen Shaw PROPOSAL
Leon Z PaprockiGermanyStephen Shaw PROPOSAL
Jeanfrancois B WhobreyItalyAnna Fali NEW
Adams R CaldareraFranceIoni Bowcher NEGOTIATION
Jeanfrancois W BowleyCanadaBernardo Dominic PROPOSAL
Darci E NestleArgentinaElwin Sharvill QUALIFIED
Antonio A CampainIndiaOnyama Limba PROPOSAL
Ivar V SergiUnited KingdomOnyama Limba QUALIFIED
James X FlosiRussiaXuxue Feng RENEWAL
Darci F FerenczAustraliaBernardo Dominic UNQUALIFIED
Sinclair L KolmetzFranceIvan Magalhaes UNQUALIFIED
Darci O WaycottCanadaElwin Sharvill NEW
Ivar X AmigonFranceXuxue Feng QUALIFIED
Adams G MaletAustraliaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore E MaletJapanAmy Elsner RENEWAL
Silvio Z AmigonSpainIoni Bowcher NEW
David X MaletSpainAmy Elsner RENEWAL
Mayumi O GlickFranceXuxue Feng NEGOTIATION
Darci E RulapaughItalyAmy Elsner UNQUALIFIED
Cody C FollerItalyIvan Magalhaes PROPOSAL
Costa A CaldareraFranceAnna Fali NEGOTIATION
Maisha J BologniaUnited KingdomStephen Shaw RENEWAL
Wickens L SchemmerBrazilAmy Elsner UNQUALIFIED
Leon U PerinAustraliaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois L DarakjyJapan2026-10-06Truhlar And Truhlar Attys NEGOTIATION96Anna Fali
1001Maisha O GauchoGermany2026-10-21Benton, John B Jr UNQUALIFIED27Elwin Sharvill
1002Salvatore M ButtRussia2026-10-11Commercial Press NEGOTIATION42Ivan Magalhaes
1003James K AmigonSpain2026-10-08Buckley Miller Wright UNQUALIFIED10Xuxue Feng
1004Alejandro Y PerinCanada2026-10-31Rangoni Of Florence NEW1Elwin Sharvill
1005Isabel Z TollnerSpain2026-10-18King, Christopher A Esq NEGOTIATION97Stephen Shaw
1006Alejandro P KuskoItaly2026-10-07Printing Dimensions PROPOSAL4Amy Elsner
1007Salvatore R MarrierCanada2026-10-20Commercial Press NEGOTIATION58Ioni Bowcher
1008Julie C SergiJapan2026-10-08Morlong Associates PROPOSAL63Xuxue Feng
1009Jones N GarufiItaly2026-10-12Chanay, Jeffrey A Esq NEW91Onyama Limba
1010Wickens E BriddickGermany2026-10-18Rousseaux, Michael Esq UNQUALIFIED47Onyama Limba
1011Adams G BologniaSpain2026-10-18Morlong Associates RENEWAL51Bernardo Dominic
1012Munro D MaletBrazil2026-10-30Buckley Miller Wright NEGOTIATION15Ivan Magalhaes
1013Antonio K PaprockiBrazil2026-10-12Buckley Miller Wright UNQUALIFIED65Stephen Shaw
1014Claire W PerinJapan2026-10-25Morlong Associates RENEWAL74Bernardo Dominic
1015Alejandro L TollnerGermany2026-10-23Printing Dimensions PROPOSAL41Amy Elsner
1016Aruna F ShinkoGermany2026-10-04Rangoni Of Florence RENEWAL20Xuxue Feng
1017Ivar C VocelkaItaly2026-10-09Commercial Press UNQUALIFIED86Onyama Limba
1018Juan J KuskoGermany2026-10-20Chapman, Ross E Esq NEW63Anna Fali
1019Clifford B GlickRussia2026-10-28Commercial Press QUALIFIED74Ioni Bowcher
1020Sinclair R VenereAustralia2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED29Bernardo Dominic
1021Jones L CaudyRussia2026-10-16Dorl, James J Esq RENEWAL70Anna Fali
1022Mujtaba R MaletRussia2026-10-07Morlong Associates NEGOTIATION76Ivan Magalhaes
1023Johnson Z IturbideIndia2026-10-21Chanay, Jeffrey A Esq QUALIFIED70Ivan Magalhaes
1024Misaki V OstroskyGermany2026-10-26Commercial Press UNQUALIFIED41Elwin Sharvill
1025Munro G StockhamArgentina2026-10-28King, Christopher A Esq RENEWAL84Ivan Magalhaes
1026Adams C KolmetzSpain2026-10-02Chapman, Ross E Esq NEGOTIATION42Anna Fali
1027Darci N TollnerArgentina2026-10-15Dorl, James J Esq RENEWAL33Onyama Limba
1028Mayumi S StensethArgentina2026-10-13Buckley Miller Wright NEGOTIATION50Amy Elsner
1029James D WieserJapan2026-10-29Chemel, James L Cpa NEW65Amy Elsner
1030Kaitlin S WhobreyCanada2026-10-20Rangoni Of Florence NEGOTIATION56Xuxue Feng
1031Wickens E MorascaArgentina2026-10-17Morlong Associates PROPOSAL13Amy Elsner
1032Leon O GillianSpain2026-10-29Chemel, James L Cpa UNQUALIFIED89Stephen Shaw
1033Octavia L OldroydAustralia2026-10-04Morlong Associates QUALIFIED77Elwin Sharvill
1034Faith O WaycottUnited Kingdom2026-10-14Benton, John B Jr NEGOTIATION21Onyama Limba
1035Emily E GlickCanada2026-10-30Chapman, Ross E Esq NEGOTIATION23Bernardo Dominic
1036Cody E MaletRussia2026-10-06Truhlar And Truhlar Attys RENEWAL20Ioni Bowcher
1037Costa F OldroydIndia2026-10-11Rangoni Of Florence NEGOTIATION86Elwin Sharvill
1038Emily K MaletAustralia2026-10-17Rousseaux, Michael Esq PROPOSAL18Ivan Magalhaes
1039Aruna O SlusarskiAustralia2026-10-11Buckley Miller Wright NEW65Ivan Magalhaes
1040Darci W MaletItaly2026-10-12Truhlar And Truhlar Attys RENEWAL20Ioni Bowcher
1041Arvin Z NestleUnited Kingdom2026-10-19Truhlar And Truhlar Attys UNQUALIFIED56Stephen Shaw
1042Salvatore T CaudyCanada2026-10-30Feiner Bros NEW52Bernardo Dominic
1043Kadeem E FlosiJapan2026-10-18King, Christopher A Esq NEGOTIATION52Onyama Limba
1044Ashley D InouyeCanada2026-10-31Chapman, Ross E Esq QUALIFIED32Ioni Bowcher
1045Adams H DarakjyUnited Kingdom2026-10-17Commercial Press RENEWAL39Anna Fali
1046Misaki R GlickItaly2026-10-30Truhlar And Truhlar Attys QUALIFIED43Ivan Magalhaes
1047Emily C FerenczFrance2026-10-16Truhlar And Truhlar Attys RENEWAL36Ioni Bowcher
1048Silvio K GillianBrazil2026-10-25Printing Dimensions PROPOSAL28Elwin Sharvill
1049Murillo Y BowleyUnited Kingdom2026-10-06Benton, John B Jr NEGOTIATION75Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Darci U RutaSpainIvan Magalhaes QUALIFIED
Mayumi H RutaCanadaXuxue Feng NEW
Jennifer A CaldareraRussiaAnna Fali QUALIFIED
Kaitlin S GarufiRussiaBernardo Dominic NEW
James H WhobreyArgentinaBernardo Dominic PROPOSAL
Mujtaba F CaudyAustraliaXuxue Feng RENEWAL
Wickens Z GlickAustraliaXuxue Feng UNQUALIFIED
Aruna I StensethGermanyAnna Fali PROPOSAL
Salvatore Y StensethUnited KingdomIoni Bowcher NEGOTIATION
Julie Z PoquetteCanadaIvan Magalhaes NEGOTIATION
Ashley N NestleJapanOnyama Limba PROPOSAL
Tony M NestleArgentinaAsiya Javayant RENEWAL
Octavia U PoquetteIndiaIvan Magalhaes QUALIFIED
James Y ChuiCanadaAnna Fali QUALIFIED
Isabel F GlickItalyAmy Elsner QUALIFIED
David F BriddickItalyElwin Sharvill NEGOTIATION
Emily C ButtGermanyXuxue Feng QUALIFIED
Kaitlin U StensethItalyIoni Bowcher NEW
Greenwood K SchemmerUnited KingdomAmy Elsner NEGOTIATION
Maria A WhobreyJapanAmy Elsner NEGOTIATION
Murillo T NestleUnited KingdomAsiya Javayant PROPOSAL
David D DarakjyIndiaIvan Magalhaes RENEWAL
Aditya Q WieserGermanyElwin Sharvill QUALIFIED
Ashley H ShinkoJapanIoni Bowcher QUALIFIED
Maisha Q AmigonArgentinaXuxue Feng RENEWAL
Isabel S CaldareraIndiaXuxue Feng UNQUALIFIED
Wickens H BowleyArgentinaOnyama Limba NEGOTIATION
Maisha P MorascaSpainIoni Bowcher QUALIFIED
Jefferson A AlbaresBrazilAmy Elsner QUALIFIED
Smith N FerenczSpainBernardo Dominic NEW
Emily P VenereIndiaBernardo Dominic RENEWAL
Clifford X DoeCanadaXuxue Feng QUALIFIED
Stacey T OldroydCanadaStephen Shaw UNQUALIFIED
Leon J MorascaJapanOnyama Limba RENEWAL
Jefferson W FollerItalyAsiya Javayant NEGOTIATION
Julie J IturbideJapanXuxue Feng RENEWAL
Kaitlin M MorascaUnited KingdomAsiya Javayant QUALIFIED
Mujtaba L DilliardUnited KingdomBernardo Dominic NEGOTIATION
Alejandro D VocelkaCanadaIvan Magalhaes NEW
Sinclair E MaletArgentinaIoni Bowcher UNQUALIFIED
Nicolas K CaldareraSpainIoni Bowcher PROPOSAL
Aditya U CaldareraGermanyElwin Sharvill UNQUALIFIED
Darci P VocelkaUnited KingdomAmy Elsner RENEWAL
Aditya V SaylorsFranceElwin Sharvill RENEWAL
Munro U StockhamBrazilStephen Shaw RENEWAL
Silvio O BowleyArgentinaStephen Shaw RENEWAL
Ricardo I SergiCanadaElwin Sharvill PROPOSAL
Rodrigues P FigeroaRussiaOnyama Limba QUALIFIED
Ashley H ButtCanadaIvan Magalhaes PROPOSAL
Maria Q SergiBrazilXuxue Feng QUALIFIED
Frozen Columns
Name
Chavez Z Bolognia
Morrow O Slusarski
Aika P Sergi
Clifford V Tollner
Jeanfrancois L Royster
Misaki F Doe
Murillo G Rim
Emily X Perin
Mujtaba K Nestle
Silvio W Waycott
Leja H Maclead
Leja F Schemmer
Chavez K Slusarski
Aditya O Campain
Salvatore M Iturbide
Nicolas L Rulapaugh
Ricardo E Foller
Jones N Shinko
Isabel N Perin
Greenwood G Gaucho
Sinclair O Caldarera
Johnson Z Maclead
Greenwood P Stockham
Aika U Kolmetz
Isabel H Foller
Leon R Kusko
Stacey D Chui
Darci J Albares
Aruna C Chui
Kadeem F Ruta
Arvin W Nicka
Clifford P Marrier
David F Whobrey
David Z Venere
Darci O Campain
Deepesh C Maclead
Jeanfrancois R Ferencz
Claire U Figeroa
Jeanfrancois N Garufi
Mujtaba X Campain
Tony M Darakjy
Arvin O Butt
Juan B Doe
Salvatore N Whobrey
David S Caudy
Leja S Poquette
Jeanfrancois B Gillian
Stacey M Slusarski
Arvin A Foller
Stacey D Amigon
IdCountryDate
1000Brazil2026-10-21
1001Russia2026-10-09
1002France2026-10-10
1003India2026-10-16
1004Australia2026-10-05
1005Russia2026-10-15
1006India2026-10-07
1007India2026-10-22
1008Italy2026-10-27
1009Spain2026-10-25
1010Italy2026-10-12
1011Germany2026-10-30
1012Spain2026-10-18
1013France2026-10-20
1014Russia2026-10-06
1015Germany2026-10-15
1016Argentina2026-10-17
1017Germany2026-10-19
1018Italy2026-10-10
1019Argentina2026-10-11
1020Brazil2026-10-14
1021France2026-10-08
1022Argentina2026-10-31
1023Brazil2026-10-23
1024Japan2026-10-13
1025United Kingdom2026-10-26
1026Australia2026-10-02
1027United Kingdom2026-10-16
1028France2026-10-29
1029Germany2026-10-12
1030Japan2026-10-03
1031Argentina2026-10-22
1032India2026-10-24
1033Brazil2026-10-03
1034Australia2026-10-02
1035United Kingdom2026-10-30
1036Brazil2026-10-26
1037Argentina2026-10-18
1038Australia2026-10-05
1039Spain2026-10-03
1040Argentina2026-10-21
1041Brazil2026-10-30
1042Spain2026-10-12
1043India2026-10-10
1044Canada2026-10-03
1045Germany2026-10-02
1046Germany2026-10-06
1047Canada2026-10-20
1048Canada2026-10-06
1049Russia2026-10-20

On-Demand Data

NameIdCountryDate
Faith J Dilliard1000India2026-10-22
Faith O Kolmetz1001Spain2026-10-24
Antonio J Flosi1002Germany2026-10-23
Isabel T Wieser1003Argentina2026-10-12
Nicolas U Saylors1004United Kingdom2026-10-24
Octavia N Nicka1005Russia2026-10-22
Murillo H Briddick1006United Kingdom2026-10-13
Julie B Butt1007Russia2026-10-26
Arvin P Royster1008France2026-10-05
Salvatore C Tollner1009Germany2026-10-07
Sinclair H Albares1010Brazil2026-10-19
Deepesh V Figeroa1011Germany2026-10-08
Darci F Dilliard1012Brazil2026-10-08
Murillo D Gaucho1013Brazil2026-10-23
Jefferson D Rulapaugh1014Argentina2026-10-02
Ashley D Ferencz1015Russia2026-10-31
Leon E Caudy1016Italy2026-10-10
Smith J Butt1017Germany2026-10-05
Antonio Z Doe1018Germany2026-10-23
Octavia T Oldroyd1019Italy2026-10-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna K RoysterSpainAsiya Javayant UNQUALIFIED
Antonio M StensethUnited KingdomXuxue Feng RENEWAL
Leon X StensethBrazilIoni Bowcher NEW
Misaki J OstroskyFranceXuxue Feng NEW
Leja H BologniaGermanyAmy Elsner PROPOSAL
Francesco K KuskoRussiaIvan Magalhaes RENEWAL
Antonio Z RutaRussiaIvan Magalhaes NEGOTIATION
Ashley L WhobreyGermanyIoni Bowcher NEW
Emily R FlosiItalyStephen Shaw NEW
Ricardo D WhobreyItalyAmy Elsner NEGOTIATION
Morrow G DoeBrazilBernardo Dominic NEGOTIATION
Izzy P CampainUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues F AlbaresCanadaOnyama Limba NEGOTIATION
Nicolas S GauchoCanadaBernardo Dominic UNQUALIFIED
Clifford O BriddickFranceAsiya Javayant UNQUALIFIED
Arvin N MarrierSpainAnna Fali NEGOTIATION
Greenwood U DilliardSpainElwin Sharvill NEGOTIATION
Jefferson A KolmetzFranceAmy Elsner NEGOTIATION
Jeanfrancois B DoeFranceIoni Bowcher NEGOTIATION
Murillo Z AlbaresUnited KingdomOnyama Limba PROPOSAL
Chavez R StensethFranceOnyama Limba PROPOSAL
Ivar S SlusarskiAustraliaAnna Fali RENEWAL
Izzy O OldroydJapanIvan Magalhaes UNQUALIFIED
Rodrigues K MaletFranceAmy Elsner PROPOSAL
Mayumi F GillianFranceIoni Bowcher PROPOSAL
Misaki O ShinkoRussiaXuxue Feng PROPOSAL
Wickens T MarrierUnited KingdomIoni Bowcher PROPOSAL
Silvio B MaletSpainXuxue Feng PROPOSAL
Alejandro X FlosiUnited KingdomAmy Elsner NEGOTIATION
Darci R FigeroaJapanElwin Sharvill PROPOSAL
Kaitlin I FerenczUnited KingdomAsiya Javayant NEW
Sinclair X ChuiCanadaBernardo Dominic PROPOSAL
Murillo C FigeroaFranceOnyama Limba NEW
Arvin G FigeroaItalyBernardo Dominic QUALIFIED
Ricardo N DarakjyArgentinaBernardo Dominic NEW
Chavez A RoysterIndiaAsiya Javayant NEW
Murillo F ShinkoRussiaBernardo Dominic NEGOTIATION
Arvin Y GlickBrazilIvan Magalhaes UNQUALIFIED
Francesco G NestleSpainBernardo Dominic UNQUALIFIED
Morrow K FerenczAustraliaStephen Shaw NEGOTIATION

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