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
James P NickaBrazilXuxue Feng PROPOSAL
Misaki J TollnerArgentinaStephen Shaw UNQUALIFIED
Morrow G DilliardRussiaElwin Sharvill NEW
Ivar H WieserAustraliaAsiya Javayant NEGOTIATION
Juan Y AmigonJapanStephen Shaw NEW
Antonio W AlbaresJapanAsiya Javayant QUALIFIED
Antonio O DoeBrazilBernardo Dominic NEW
Kaitlin E OstroskyUnited KingdomIvan Magalhaes RENEWAL
Antonio A CampainBrazilXuxue Feng NEGOTIATION
Tony J PoquetteBrazilOnyama Limba NEGOTIATION
Misaki Z VocelkaIndiaStephen Shaw PROPOSAL
Wickens Z MarrierFranceAnna Fali NEGOTIATION
Costa B PaprockiArgentinaBernardo Dominic PROPOSAL
Maisha V FerenczRussiaAnna Fali UNQUALIFIED
Antonio O NestleFranceBernardo Dominic QUALIFIED
Arvin A GlickBrazilIoni Bowcher UNQUALIFIED
Maisha M AlbaresGermanyIvan Magalhaes NEW
Misaki Q RimCanadaIvan Magalhaes NEGOTIATION
David Y DarakjyCanadaStephen Shaw RENEWAL
Sinclair P PaprockiSpainIoni Bowcher QUALIFIED
Sinclair M RutaArgentinaElwin Sharvill NEW
Rodrigues H PoquetteGermanyXuxue Feng NEGOTIATION
Silvio V ShinkoRussiaIvan Magalhaes PROPOSAL
Leja O RutaSpainIoni Bowcher UNQUALIFIED
Jennifer V AmigonRussiaIvan Magalhaes PROPOSAL
David E BriddickRussiaBernardo Dominic QUALIFIED
Silvio I SchemmerRussiaIvan Magalhaes NEW
Johnson Q StensethSpainAmy Elsner RENEWAL
Leja S NestleUnited KingdomIvan Magalhaes UNQUALIFIED
Faith N CampainAustraliaOnyama Limba RENEWAL
Deepesh H DoeFranceOnyama Limba QUALIFIED
Costa A DarakjyCanadaStephen Shaw UNQUALIFIED
Francesco Q BowleyAustraliaAnna Fali RENEWAL
Clifford S NickaCanadaAnna Fali NEGOTIATION
Costa V RutaIndiaIoni Bowcher QUALIFIED
Kadeem C KuskoBrazilIoni Bowcher RENEWAL
Maisha B FlosiJapanBernardo Dominic UNQUALIFIED
Chavez X NestleItalyXuxue Feng QUALIFIED
Costa V MorascaAustraliaXuxue Feng PROPOSAL
Darci N GlickSpainBernardo Dominic PROPOSAL
Adams R IturbideRussiaAsiya Javayant RENEWAL
Juan A MacleadRussiaStephen Shaw UNQUALIFIED
Aditya T SlusarskiRussiaXuxue Feng PROPOSAL
Clifford X CaudyUnited KingdomBernardo Dominic NEGOTIATION
Maria Q StensethJapanAmy Elsner PROPOSAL
Leja S MorascaArgentinaOnyama Limba UNQUALIFIED
Smith C PaprockiItalyIvan Magalhaes QUALIFIED
Ivar O IturbideItalyElwin Sharvill RENEWAL
Adams Z CaldareraAustraliaAmy Elsner RENEWAL
Nicolas V VenereFranceAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith X DarakjyArgentinaIvan Magalhaes RENEWAL
Ashley K MarrierItalyAsiya Javayant NEGOTIATION
Tony G BriddickAustraliaAsiya Javayant QUALIFIED
Ivar K NestleGermanyIoni Bowcher QUALIFIED
Silvio D RoysterFranceOnyama Limba RENEWAL
Mayumi G GarufiRussiaAsiya Javayant QUALIFIED
Morrow H DoeIndiaElwin Sharvill QUALIFIED
Greenwood R AlbaresItalyBernardo Dominic NEW
Juan J OldroydRussiaIoni Bowcher UNQUALIFIED
Munro P MacleadGermanyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh R MarrierJapan2026-09-19Chapman, Ross E Esq UNQUALIFIED11Onyama Limba
1001Adams V DarakjyFrance2026-09-13Commercial Press PROPOSAL51Amy Elsner
1002Francesco H BriddickArgentina2026-09-13Feltz Printing Service QUALIFIED71Ioni Bowcher
1003Ricardo M GlickSpain2026-09-23Dorl, James J Esq QUALIFIED73Xuxue Feng
1004Julie A OstroskyItaly2026-09-06Rousseaux, Michael Esq UNQUALIFIED79Ioni Bowcher
1005Leja K GillianJapan2026-09-22Chemel, James L Cpa NEW78Amy Elsner
1006Mayumi P FollerGermany2026-09-18Truhlar And Truhlar Attys NEGOTIATION20Onyama Limba
1007Kadeem V GauchoGermany2026-09-14King, Christopher A Esq NEW62Stephen Shaw
1008Antonio X RimBrazil2026-09-30Chanay, Jeffrey A Esq QUALIFIED19Anna Fali
1009Silvio L PaprockiIndia2026-10-04Buckley Miller Wright NEW40Amy Elsner
1010Juan H WhobreyArgentina2026-09-30Benton, John B Jr PROPOSAL6Anna Fali
1011Juan T RoysterSpain2026-09-22Commercial Press NEGOTIATION67Xuxue Feng
1012Rodrigues V WhobreyFrance2026-09-19Chapman, Ross E Esq NEW12Amy Elsner
1013Ashley Z GauchoBrazil2026-09-22Chanay, Jeffrey A Esq UNQUALIFIED76Stephen Shaw
1014Mayumi C OstroskyItaly2026-09-18Benton, John B Jr NEGOTIATION73Ivan Magalhaes
1015Misaki I FollerArgentina2026-09-21Chapman, Ross E Esq PROPOSAL62Stephen Shaw
1016Kaitlin F NickaUnited Kingdom2026-09-23Feiner Bros PROPOSAL45Stephen Shaw
1017Smith O MacleadRussia2026-09-23Buckley Miller Wright PROPOSAL20Asiya Javayant
1018Silvio A PoquetteAustralia2026-09-18Printing Dimensions PROPOSAL89Ivan Magalhaes
1019Rodrigues S DoeJapan2026-09-30Commercial Press UNQUALIFIED86Xuxue Feng
1020Ricardo F WieserGermany2026-10-02Benton, John B Jr NEW58Ivan Magalhaes
1021Julie D FerenczItaly2026-09-13Chanay, Jeffrey A Esq NEW84Bernardo Dominic
1022Jones Z AmigonSpain2026-09-11Morlong Associates UNQUALIFIED96Anna Fali
1023Faith R CaldareraArgentina2026-09-14Morlong Associates NEW98Anna Fali
1024Faith O ShinkoAustralia2026-09-24Morlong Associates NEW59Elwin Sharvill
1025David N ShinkoItaly2026-09-19King, Christopher A Esq PROPOSAL92Amy Elsner
1026Jones X DarakjyCanada2026-09-23Commercial Press UNQUALIFIED91Asiya Javayant
1027Cody D MarrierSpain2026-09-20Benton, John B Jr NEGOTIATION34Amy Elsner
1028Jefferson Q AmigonArgentina2026-10-02Commercial Press UNQUALIFIED34Onyama Limba
1029Johnson V SlusarskiRussia2026-09-17Morlong Associates NEGOTIATION59Amy Elsner
1030Munro B PoquetteArgentina2026-09-30Chemel, James L Cpa QUALIFIED89Stephen Shaw
1031Silvio Z SchemmerSpain2026-09-28Buckley Miller Wright UNQUALIFIED61Amy Elsner
1032Octavia M NickaBrazil2026-09-28Truhlar And Truhlar Attys PROPOSAL78Asiya Javayant
1033Leja M GauchoRussia2026-09-18Rangoni Of Florence QUALIFIED46Stephen Shaw
1034Chavez G BriddickBrazil2026-09-16Commercial Press PROPOSAL47Asiya Javayant
1035Ashley L BowleyGermany2026-09-24Morlong Associates RENEWAL9Ioni Bowcher
1036Ricardo B DilliardAustralia2026-10-01King, Christopher A Esq PROPOSAL59Ioni Bowcher
1037Misaki P PoquetteAustralia2026-09-11Truhlar And Truhlar Attys QUALIFIED97Onyama Limba
1038Stacey M IturbideIndia2026-09-06King, Christopher A Esq QUALIFIED58Bernardo Dominic
1039Murillo U WieserSpain2026-09-08Printing Dimensions NEW62Xuxue Feng
1040Adams G BologniaItaly2026-09-18Rangoni Of Florence NEGOTIATION90Ioni Bowcher
1041David H RoysterArgentina2026-09-23King, Christopher A Esq NEW58Anna Fali
1042Sinclair M RutaUnited Kingdom2026-09-18Buckley Miller Wright NEGOTIATION44Anna Fali
1043Antonio R SergiJapan2026-09-06Rangoni Of Florence NEGOTIATION89Asiya Javayant
1044Aika Z ButtSpain2026-09-07Feiner Bros NEGOTIATION70Anna Fali
1045Isabel T VenereCanada2026-09-07Benton, John B Jr PROPOSAL20Stephen Shaw
1046Nicolas T GarufiRussia2026-09-05King, Christopher A Esq NEW98Elwin Sharvill
1047Ivar T CampainIndia2026-09-16Feiner Bros NEGOTIATION32Ivan Magalhaes
1048Aika M FollerGermany2026-09-28Chemel, James L Cpa PROPOSAL70Onyama Limba
1049Morrow R GillianRussia2026-09-13Chanay, Jeffrey A Esq QUALIFIED84Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas B PaprockiArgentinaXuxue Feng QUALIFIED
Kaitlin G StensethCanadaIvan Magalhaes NEW
Antonio X WieserGermanyBernardo Dominic QUALIFIED
Adams Z MaletItalyAnna Fali NEGOTIATION
Mujtaba S CampainUnited KingdomIvan Magalhaes QUALIFIED
Leon K ShinkoJapanElwin Sharvill PROPOSAL
Isabel V StockhamRussiaIvan Magalhaes RENEWAL
Maria G MarrierAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba M RulapaughCanadaXuxue Feng NEGOTIATION
Salvatore E ButtIndiaAmy Elsner RENEWAL
Kadeem F OstroskyUnited KingdomAmy Elsner NEW
Tony X ShinkoUnited KingdomAnna Fali NEGOTIATION
Rodrigues D RutaJapanStephen Shaw QUALIFIED
Clifford R OldroydArgentinaIoni Bowcher QUALIFIED
Aika Q GlickJapanElwin Sharvill NEGOTIATION
Octavia N FigeroaFranceIvan Magalhaes PROPOSAL
Arvin F AlbaresAustraliaXuxue Feng UNQUALIFIED
Sinclair O OldroydArgentinaOnyama Limba NEW
Johnson T FerenczJapanAmy Elsner UNQUALIFIED
Julie U StensethSpainXuxue Feng NEGOTIATION
Stacey T TollnerBrazilOnyama Limba UNQUALIFIED
Ashley W BriddickItalyElwin Sharvill NEGOTIATION
Emily N CaldareraAustraliaAnna Fali PROPOSAL
Mujtaba B CaudyGermanyStephen Shaw NEGOTIATION
Isabel G StockhamFranceXuxue Feng QUALIFIED
Chavez N NestleGermanyBernardo Dominic PROPOSAL
Morrow Q OldroydAustraliaElwin Sharvill PROPOSAL
Darci G MarrierCanadaAnna Fali QUALIFIED
Octavia W IturbideJapanIvan Magalhaes RENEWAL
Sinclair K CaldareraJapanOnyama Limba NEW
Sinclair F ButtArgentinaOnyama Limba NEW
Salvatore C InouyeRussiaIvan Magalhaes RENEWAL
Izzy Q CampainSpainElwin Sharvill NEW
Julie D CampainCanadaOnyama Limba QUALIFIED
Juan M BologniaArgentinaAsiya Javayant RENEWAL
Greenwood W GauchoIndiaXuxue Feng QUALIFIED
Octavia D NestleGermanyOnyama Limba QUALIFIED
Smith S VocelkaCanadaStephen Shaw UNQUALIFIED
Mujtaba D NickaIndiaAsiya Javayant NEGOTIATION
Maisha S SaylorsAustraliaXuxue Feng NEGOTIATION
Clifford J MorascaJapanAsiya Javayant NEW
Johnson V GarufiUnited KingdomAsiya Javayant NEGOTIATION
Sinclair R SaylorsBrazilStephen Shaw NEGOTIATION
Faith R DilliardFranceAsiya Javayant PROPOSAL
Francesco F RimIndiaBernardo Dominic PROPOSAL
Claire O TollnerRussiaAsiya Javayant UNQUALIFIED
Juan I KuskoSpainAmy Elsner NEGOTIATION
Sinclair C OstroskyGermanyStephen Shaw NEW
Clifford B FlosiJapanElwin Sharvill NEGOTIATION
Aditya R StensethBrazilIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Morrow J Marrier
Aruna S Morasca
Jeanfrancois W Ferencz
Murillo Y Paprocki
Darci B Ferencz
Cody M Whobrey
Jennifer Z Malet
Jennifer T Nicka
Darci N Kolmetz
Greenwood K Ostrosky
Faith H Glick
Misaki Z Glick
Greenwood Z Morasca
Arvin G Ostrosky
Rodrigues L Garufi
Jeanfrancois O Nicka
Morrow F Vocelka
Rodrigues Y Gaucho
Ashley U Butt
Octavia X Albares
Ricardo E Stenseth
Deepesh G Ruta
Sinclair Y Nicka
Ricardo E Vocelka
Octavia R Shinko
Leja T Waycott
Chavez I Waycott
Adams O Kusko
Costa P Briddick
Kaitlin X Nicka
Ivar M Bowley
Leja G Dilliard
Izzy F Glick
Arvin P Tollner
Greenwood J Rim
Deepesh Y Figeroa
Leon Q Stenseth
Misaki M Caldarera
Ashley R Doe
Jones C Foller
Juan J Inouye
Wickens I Chui
Aruna H Venere
Arvin W Figeroa
Greenwood V Malet
Kaitlin V Ostrosky
Aditya B Briddick
Antonio L Shinko
Darci B Whobrey
Salvatore Q Campain
IdCountryDate
1000United Kingdom2026-09-29
1001Australia2026-10-04
1002Canada2026-09-05
1003Japan2026-10-01
1004Russia2026-09-20
1005Brazil2026-09-19
1006India2026-09-17
1007Spain2026-09-20
1008Russia2026-09-26
1009Australia2026-09-27
1010Argentina2026-09-25
1011United Kingdom2026-09-25
1012Argentina2026-09-18
1013Argentina2026-10-04
1014Brazil2026-09-12
1015Argentina2026-09-24
1016India2026-09-11
1017Italy2026-09-09
1018Germany2026-09-17
1019Australia2026-09-28
1020India2026-09-24
1021Australia2026-09-11
1022Spain2026-09-10
1023India2026-09-25
1024India2026-09-07
1025Argentina2026-09-08
1026Canada2026-10-01
1027India2026-09-26
1028Italy2026-09-30
1029Australia2026-09-17
1030United Kingdom2026-09-12
1031Brazil2026-09-25
1032Japan2026-09-24
1033Canada2026-10-03
1034Argentina2026-09-05
1035India2026-09-15
1036France2026-09-29
1037Russia2026-09-21
1038India2026-09-26
1039Spain2026-09-06
1040Spain2026-09-08
1041Russia2026-09-16
1042Germany2026-09-28
1043Spain2026-09-19
1044United Kingdom2026-09-26
1045Japan2026-09-28
1046Germany2026-09-18
1047Spain2026-09-25
1048France2026-09-26
1049Russia2026-09-09

On-Demand Data

NameIdCountryDate
Jennifer B Bowley1000Italy2026-09-20
Antonio D Iturbide1001Italy2026-10-01
Nicolas V Royster1002Spain2026-09-21
Jeanfrancois W Flosi1003Argentina2026-10-01
Jeanfrancois I Iturbide1004Argentina2026-09-05
Mayumi Q Bolognia1005Japan2026-09-18
Mujtaba I Briddick1006India2026-10-01
Deepesh U Gillian1007France2026-09-28
Deepesh K Kusko1008Germany2026-09-21
Jennifer A Stockham1009Argentina2026-09-25
Adams H Glick1010United Kingdom2026-09-22
Misaki U Poquette1011Italy2026-09-29
Darci O Garufi1012Argentina2026-09-22
Aika J Butt1013Australia2026-10-02
Adams N Slusarski1014United Kingdom2026-09-29
Nicolas D Malet1015France2026-09-19
Izzy V Doe1016Russia2026-09-16
Izzy H Waycott1017Japan2026-09-21
Maisha S Amigon1018Russia2026-09-30
Jones K Campain1019Brazil2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood X AlbaresUnited KingdomAmy Elsner RENEWAL
Costa M CaudyJapanXuxue Feng NEW
Mayumi T BriddickItalyIoni Bowcher UNQUALIFIED
Morrow V ButtArgentinaAnna Fali QUALIFIED
Kaitlin T CaldareraSpainAsiya Javayant NEW
Jefferson Z ChuiFranceBernardo Dominic PROPOSAL
Faith Q WhobreyCanadaAmy Elsner NEW
Ashley A RulapaughItalyAnna Fali RENEWAL
Stacey W VenereIndiaAmy Elsner NEW
Stacey Q BowleyIndiaAnna Fali PROPOSAL
Izzy N FollerUnited KingdomAmy Elsner PROPOSAL
Mayumi Y AlbaresFranceOnyama Limba UNQUALIFIED
Arvin Y MacleadSpainAmy Elsner NEGOTIATION
Ricardo H GauchoUnited KingdomOnyama Limba PROPOSAL
Isabel F PaprockiCanadaBernardo Dominic RENEWAL
Ricardo K PerinGermanyIvan Magalhaes NEW
Octavia I FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Stacey B SaylorsAustraliaAsiya Javayant UNQUALIFIED
James O RutaCanadaOnyama Limba PROPOSAL
Alejandro A GlickCanadaAmy Elsner UNQUALIFIED
Chavez S WaycottFranceIoni Bowcher QUALIFIED
Stacey W GarufiItalyXuxue Feng UNQUALIFIED
Isabel X WieserAustraliaIvan Magalhaes NEW
Maisha F GillianItalyAsiya Javayant QUALIFIED
Misaki M GarufiRussiaAnna Fali QUALIFIED
Munro S MacleadItalyAmy Elsner PROPOSAL
Ivar F MacleadFranceIoni Bowcher UNQUALIFIED
Smith V DoeArgentinaElwin Sharvill QUALIFIED
Wickens G MorascaItalyBernardo Dominic PROPOSAL
Chavez X RoysterArgentinaStephen Shaw PROPOSAL
Munro S WieserUnited KingdomStephen Shaw NEGOTIATION
Mujtaba L RoysterGermanyElwin Sharvill NEGOTIATION
Smith V SlusarskiRussiaStephen Shaw NEW
Isabel T DoeIndiaAsiya Javayant NEGOTIATION
Isabel J SlusarskiArgentinaStephen Shaw PROPOSAL
Maisha R WhobreyIndiaOnyama Limba UNQUALIFIED
Arvin X MaletBrazilAmy Elsner QUALIFIED
Wickens Y AmigonItalyXuxue Feng QUALIFIED
Wickens N PoquetteUnited KingdomAmy Elsner RENEWAL
Aruna K MarrierIndiaAnna Fali UNQUALIFIED

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