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
Jeanfrancois A NickaItalyAsiya Javayant NEGOTIATION
Aika R ShinkoSpainAnna Fali QUALIFIED
Kaitlin R BologniaIndiaXuxue Feng NEW
Claire Z DilliardUnited KingdomXuxue Feng NEW
Claire F FerenczAustraliaOnyama Limba PROPOSAL
Clifford B NickaJapanIoni Bowcher NEW
Antonio C StockhamGermanyIvan Magalhaes NEW
Morrow Z FlosiUnited KingdomIvan Magalhaes RENEWAL
Silvio E StockhamIndiaElwin Sharvill PROPOSAL
Cody L BriddickArgentinaAnna Fali QUALIFIED
Emily M CaudyArgentinaAnna Fali NEW
Aika V StockhamFranceBernardo Dominic QUALIFIED
Jeanfrancois B StockhamItalyIvan Magalhaes NEW
Maria E MaletItalyBernardo Dominic RENEWAL
Jones S BriddickAustraliaXuxue Feng UNQUALIFIED
David T VenereCanadaIvan Magalhaes UNQUALIFIED
Cody D DoeItalyAmy Elsner RENEWAL
Deepesh T VocelkaIndiaXuxue Feng UNQUALIFIED
Morrow N MorascaFranceOnyama Limba NEGOTIATION
Ashley X DoeCanadaBernardo Dominic UNQUALIFIED
Murillo S GarufiJapanXuxue Feng RENEWAL
Aika F FerenczFranceStephen Shaw NEGOTIATION
Ricardo V AlbaresJapanStephen Shaw NEW
Maria A RutaGermanyElwin Sharvill PROPOSAL
Greenwood L SchemmerFranceAnna Fali QUALIFIED
Antonio L StensethGermanyIvan Magalhaes QUALIFIED
Greenwood B GarufiIndiaBernardo Dominic PROPOSAL
Jefferson P PaprockiFranceXuxue Feng PROPOSAL
Faith A NestleIndiaIoni Bowcher PROPOSAL
Darci B ChuiSpainAsiya Javayant RENEWAL
Jefferson E TollnerCanadaAnna Fali UNQUALIFIED
Stacey C ChuiRussiaOnyama Limba NEW
Wickens E DarakjyArgentinaStephen Shaw UNQUALIFIED
Darci E NickaGermanyXuxue Feng NEW
James W MarrierGermanyIoni Bowcher PROPOSAL
Izzy H GlickBrazilAnna Fali NEW
Kadeem A WaycottGermanyOnyama Limba NEW
Aruna J RutaSpainOnyama Limba NEGOTIATION
Costa U GarufiIndiaStephen Shaw NEGOTIATION
Jennifer N PaprockiRussiaIvan Magalhaes NEGOTIATION
Rodrigues E PerinBrazilIvan Magalhaes UNQUALIFIED
David Y GauchoRussiaStephen Shaw NEW
Adams D BowleyCanadaAsiya Javayant QUALIFIED
Rodrigues C AlbaresArgentinaAsiya Javayant QUALIFIED
Adams W FigeroaSpainAmy Elsner PROPOSAL
Stacey U ChuiBrazilAsiya Javayant NEGOTIATION
Izzy N SlusarskiGermanyStephen Shaw PROPOSAL
Rodrigues U GillianArgentinaBernardo Dominic RENEWAL
Sinclair R RutaSpainAnna Fali NEW
Stacey X BologniaJapanXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan U WhobreyFranceElwin Sharvill NEGOTIATION
Aditya X SergiUnited KingdomAsiya Javayant PROPOSAL
James H SlusarskiArgentinaStephen Shaw PROPOSAL
Misaki A BowleyAustraliaAnna Fali UNQUALIFIED
Misaki I SchemmerSpainIoni Bowcher PROPOSAL
Tony T MaletIndiaOnyama Limba QUALIFIED
Ricardo L DoeAustraliaXuxue Feng UNQUALIFIED
Octavia I RutaRussiaBernardo Dominic UNQUALIFIED
Deepesh H NickaIndiaAsiya Javayant PROPOSAL
Sinclair D RutaFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony A SlusarskiGermany2026-10-02Truhlar And Truhlar Attys PROPOSAL78Amy Elsner
1001David T NickaRussia2026-10-06King, Christopher A Esq NEGOTIATION78Onyama Limba
1002Faith X OstroskyItaly2026-09-14Chemel, James L Cpa QUALIFIED79Elwin Sharvill
1003Juan O GarufiAustralia2026-10-09Chanay, Jeffrey A Esq QUALIFIED22Onyama Limba
1004Nicolas S MarrierUnited Kingdom2026-09-12King, Christopher A Esq RENEWAL61Elwin Sharvill
1005Tony X NestleJapan2026-10-03Rangoni Of Florence QUALIFIED5Amy Elsner
1006Greenwood P MarrierBrazil2026-10-02Rousseaux, Michael Esq PROPOSAL12Stephen Shaw
1007Leon Q MaletJapan2026-10-06Dorl, James J Esq QUALIFIED40Anna Fali
1008Tony D KuskoBrazil2026-10-09Truhlar And Truhlar Attys QUALIFIED83Asiya Javayant
1009Faith E AmigonSpain2026-10-11Feltz Printing Service PROPOSAL89Bernardo Dominic
1010Kadeem Z AmigonJapan2026-09-29Feltz Printing Service QUALIFIED64Ioni Bowcher
1011Octavia J CampainBrazil2026-10-11Feiner Bros NEW17Elwin Sharvill
1012Maisha H IturbideItaly2026-09-26Truhlar And Truhlar Attys UNQUALIFIED15Xuxue Feng
1013Smith P StockhamSpain2026-09-25Truhlar And Truhlar Attys RENEWAL82Stephen Shaw
1014Octavia J RutaBrazil2026-09-13Benton, John B Jr NEW17Xuxue Feng
1015Francesco S GlickArgentina2026-09-21Rousseaux, Michael Esq NEW17Onyama Limba
1016Smith Z CampainJapan2026-09-20Chemel, James L Cpa NEGOTIATION92Onyama Limba
1017Ivar S BologniaJapan2026-09-26Feiner Bros NEGOTIATION12Ivan Magalhaes
1018Nicolas E ShinkoAustralia2026-09-21Buckley Miller Wright RENEWAL98Stephen Shaw
1019Darci P WhobreyBrazil2026-09-13Chapman, Ross E Esq UNQUALIFIED24Ioni Bowcher
1020Rodrigues E DarakjyRussia2026-10-04Commercial Press PROPOSAL3Amy Elsner
1021Jeanfrancois J VocelkaBrazil2026-09-23Printing Dimensions NEGOTIATION41Anna Fali
1022Jennifer G CaldareraGermany2026-09-18Truhlar And Truhlar Attys PROPOSAL34Asiya Javayant
1023Arvin L ChuiCanada2026-09-18Chemel, James L Cpa NEW67Onyama Limba
1024Aditya C InouyeUnited Kingdom2026-09-18Rangoni Of Florence NEGOTIATION38Anna Fali
1025Greenwood N RutaRussia2026-09-24Chapman, Ross E Esq PROPOSAL85Stephen Shaw
1026Smith U InouyeUnited Kingdom2026-09-30Buckley Miller Wright QUALIFIED85Amy Elsner
1027Alejandro U BologniaUnited Kingdom2026-09-16Rousseaux, Michael Esq UNQUALIFIED70Stephen Shaw
1028Costa J MaletAustralia2026-09-24Rousseaux, Michael Esq NEW6Ivan Magalhaes
1029Jones U GlickUnited Kingdom2026-09-17Truhlar And Truhlar Attys RENEWAL58Xuxue Feng
1030Mayumi U WaycottJapan2026-09-23Rousseaux, Michael Esq QUALIFIED70Onyama Limba
1031Octavia C GillianIndia2026-10-05Printing Dimensions NEGOTIATION90Xuxue Feng
1032Alejandro X RutaBrazil2026-09-19Feltz Printing Service RENEWAL30Onyama Limba
1033Leja Z CampainArgentina2026-09-25Chapman, Ross E Esq QUALIFIED92Bernardo Dominic
1034Chavez A GauchoArgentina2026-09-27Benton, John B Jr QUALIFIED41Onyama Limba
1035Tony P ButtJapan2026-10-04Feiner Bros NEGOTIATION18Asiya Javayant
1036Wickens D FerenczUnited Kingdom2026-10-09King, Christopher A Esq PROPOSAL99Xuxue Feng
1037Silvio I WaycottIndia2026-10-08King, Christopher A Esq QUALIFIED8Ioni Bowcher
1038Aika K TollnerGermany2026-09-23Commercial Press UNQUALIFIED30Ioni Bowcher
1039Arvin V RoysterUnited Kingdom2026-09-18Commercial Press UNQUALIFIED0Ioni Bowcher
1040Greenwood V DilliardGermany2026-09-16Morlong Associates UNQUALIFIED72Elwin Sharvill
1041Faith U FollerBrazil2026-09-29Chapman, Ross E Esq RENEWAL51Bernardo Dominic
1042Ashley Q AmigonUnited Kingdom2026-09-12Buckley Miller Wright RENEWAL5Bernardo Dominic
1043Johnson T WaycottAustralia2026-09-21Commercial Press RENEWAL9Stephen Shaw
1044Deepesh X InouyeCanada2026-09-17Printing Dimensions QUALIFIED9Anna Fali
1045Octavia N ChuiSpain2026-10-01Buckley Miller Wright PROPOSAL49Elwin Sharvill
1046Wickens M RutaAustralia2026-09-16Benton, John B Jr UNQUALIFIED68Xuxue Feng
1047Aika L PoquetteUnited Kingdom2026-10-11Feiner Bros NEW17Bernardo Dominic
1048Isabel E FerenczAustralia2026-10-09Printing Dimensions NEW40Asiya Javayant
1049Deepesh T DoeJapan2026-10-04Morlong Associates PROPOSAL9Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kadeem K GarufiJapanAsiya Javayant PROPOSAL
Morrow L RimArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois R ButtUnited KingdomBernardo Dominic RENEWAL
Munro D NestleCanadaElwin Sharvill QUALIFIED
Deepesh D DilliardGermanyStephen Shaw NEW
David E KuskoBrazilBernardo Dominic QUALIFIED
Munro Q PerinSpainBernardo Dominic QUALIFIED
Francesco C SchemmerRussiaIoni Bowcher RENEWAL
Johnson B PerinUnited KingdomIvan Magalhaes PROPOSAL
Aruna Y CaudyRussiaAsiya Javayant QUALIFIED
Kadeem S GarufiItalyOnyama Limba RENEWAL
Aruna N MaletIndiaIoni Bowcher NEGOTIATION
Arvin N MaletCanadaStephen Shaw RENEWAL
Emily J MaletFranceElwin Sharvill QUALIFIED
Emily W InouyeRussiaIvan Magalhaes NEW
Aditya X SlusarskiJapanIvan Magalhaes NEW
Aditya F SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Maria F SaylorsGermanyIvan Magalhaes RENEWAL
Aruna W BowleyJapanElwin Sharvill NEGOTIATION
Sinclair Q CaudyAustraliaIvan Magalhaes UNQUALIFIED
Aditya F StockhamCanadaIoni Bowcher NEGOTIATION
Silvio A RulapaughItalyAmy Elsner UNQUALIFIED
Leja N SchemmerArgentinaAnna Fali NEW
James B DarakjyFranceStephen Shaw RENEWAL
Leon X CaudyAustraliaOnyama Limba UNQUALIFIED
Cody U GillianGermanyAnna Fali RENEWAL
Costa D BriddickItalyAmy Elsner NEGOTIATION
Stacey G AmigonItalyElwin Sharvill PROPOSAL
Leja R OstroskyAustraliaXuxue Feng UNQUALIFIED
Stacey G KolmetzCanadaOnyama Limba UNQUALIFIED
Greenwood M GauchoGermanyIoni Bowcher PROPOSAL
Morrow E GarufiBrazilAmy Elsner UNQUALIFIED
Alejandro G RimIndiaStephen Shaw UNQUALIFIED
Juan H MarrierBrazilAsiya Javayant NEGOTIATION
Aika R FollerBrazilXuxue Feng UNQUALIFIED
Francesco T ShinkoUnited KingdomStephen Shaw PROPOSAL
Sinclair O StockhamIndiaElwin Sharvill PROPOSAL
Leon B ButtSpainElwin Sharvill NEW
Claire O FollerIndiaAmy Elsner PROPOSAL
Antonio M RoysterArgentinaBernardo Dominic RENEWAL
Tony I WieserUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin M SergiFranceIvan Magalhaes PROPOSAL
Stacey W BologniaArgentinaStephen Shaw RENEWAL
Francesco D SaylorsItalyAmy Elsner UNQUALIFIED
Tony N ButtBrazilAnna Fali NEGOTIATION
Silvio B ShinkoItalyXuxue Feng UNQUALIFIED
Leon D TollnerBrazilAmy Elsner UNQUALIFIED
Octavia M GillianArgentinaIoni Bowcher NEGOTIATION
Ashley E WieserArgentinaOnyama Limba NEW
Emily U AlbaresFranceIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Stacey W Ostrosky
Nicolas F Schemmer
Julie K Ostrosky
Alejandro W Whobrey
Mayumi M Morasca
Chavez A Iturbide
Isabel J Butt
Emily T Rulapaugh
Stacey O Nicka
Smith A Poquette
Maisha K Malet
Kaitlin H Stenseth
Salvatore Z Poquette
Rodrigues S Schemmer
Mayumi E Ostrosky
Arvin Q Caldarera
Ricardo L Briddick
Murillo H Waycott
Ashley N Malet
Jennifer B Sergi
Cody L Oldroyd
Aditya F Figeroa
Costa R Glick
Octavia I Venere
Alejandro Y Amigon
Izzy D Dilliard
Kaitlin B Ferencz
Claire M Slusarski
Jones W Wieser
Wickens G Caldarera
Izzy U Bolognia
David Y Marrier
Clifford V Maclead
Darci E Ruta
Munro R Chui
Cody J Stenseth
Maisha Y Marrier
Arvin D Kolmetz
Julie L Briddick
Aruna P Bolognia
Faith O Doe
Johnson Y Kusko
Ricardo M Kolmetz
Alejandro D Tollner
Silvio E Marrier
Rodrigues V Poquette
Silvio R Amigon
Rodrigues R Briddick
Nicolas V Whobrey
Ricardo S Gillian
IdCountryDate
1000Brazil2026-09-21
1001Brazil2026-09-15
1002Germany2026-09-22
1003Australia2026-09-23
1004Brazil2026-09-14
1005India2026-09-29
1006Japan2026-10-01
1007Argentina2026-09-21
1008Italy2026-09-22
1009Germany2026-09-12
1010Japan2026-09-16
1011France2026-09-20
1012Russia2026-09-17
1013Argentina2026-09-19
1014Italy2026-10-05
1015Russia2026-10-02
1016Russia2026-09-19
1017France2026-10-07
1018Brazil2026-10-08
1019Australia2026-09-25
1020Russia2026-10-07
1021Argentina2026-09-27
1022Italy2026-09-25
1023Russia2026-09-24
1024India2026-09-15
1025Australia2026-10-01
1026Russia2026-10-01
1027Spain2026-10-03
1028Argentina2026-09-17
1029Japan2026-09-29
1030Russia2026-09-18
1031Italy2026-10-02
1032India2026-10-01
1033Russia2026-09-30
1034Russia2026-09-29
1035Russia2026-09-28
1036Germany2026-09-21
1037Canada2026-09-19
1038France2026-10-04
1039Brazil2026-10-09
1040Germany2026-09-30
1041United Kingdom2026-10-11
1042Italy2026-09-27
1043France2026-10-09
1044Canada2026-10-09
1045Brazil2026-10-09
1046Argentina2026-09-24
1047Canada2026-09-23
1048Germany2026-09-13
1049Spain2026-09-25

On-Demand Data

NameIdCountryDate
Costa F Garufi1000Argentina2026-09-21
Aditya J Royster1001Brazil2026-10-01
James H Oldroyd1002Russia2026-09-27
Nicolas N Paprocki1003Brazil2026-10-04
Mayumi O Sergi1004Canada2026-09-21
Costa B Malet1005Canada2026-09-30
Ivar I Oldroyd1006Australia2026-10-04
Cody X Bolognia1007Canada2026-09-18
Mayumi X Caldarera1008United Kingdom2026-09-30
Adams I Malet1009United Kingdom2026-09-20
Smith A Stockham1010Argentina2026-10-05
Morrow W Kolmetz1011Australia2026-10-06
Antonio L Stenseth1012Germany2026-09-15
Sinclair B Venere1013France2026-09-18
Maisha C Caldarera1014France2026-10-01
Tony N Ostrosky1015Canada2026-10-07
Munro K Caudy1016Argentina2026-10-08
Arvin C Glick1017United Kingdom2026-10-06
Smith K Amigon1018Spain2026-10-06
Wickens Q Glick1019Russia2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas O CaldareraItalyAmy Elsner NEGOTIATION
Claire T IturbideAustraliaOnyama Limba PROPOSAL
Aruna O RulapaughSpainOnyama Limba NEW
Aditya K MaletUnited KingdomAmy Elsner QUALIFIED
Jefferson L StockhamUnited KingdomXuxue Feng UNQUALIFIED
Juan G KolmetzAustraliaBernardo Dominic NEW
Deepesh R CaldareraFranceStephen Shaw PROPOSAL
Kaitlin J CampainArgentinaAmy Elsner UNQUALIFIED
Adams K IturbideRussiaAmy Elsner RENEWAL
Maria Y SaylorsBrazilXuxue Feng NEGOTIATION
Alejandro N ShinkoGermanyAmy Elsner QUALIFIED
Emily L MaletAustraliaAsiya Javayant NEW
Kaitlin S FollerCanadaXuxue Feng QUALIFIED
Izzy U PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Izzy G IturbideItalyStephen Shaw PROPOSAL
Rodrigues D MaletBrazilAnna Fali RENEWAL
Isabel Q DoeItalyIoni Bowcher RENEWAL
Adams V MarrierBrazilAsiya Javayant NEGOTIATION
Emily U GauchoItalyAsiya Javayant UNQUALIFIED
Chavez W CaldareraItalyElwin Sharvill PROPOSAL
Ricardo J StockhamJapanXuxue Feng QUALIFIED
Johnson G InouyeCanadaXuxue Feng PROPOSAL
Darci I DilliardUnited KingdomStephen Shaw PROPOSAL
Octavia B GauchoCanadaOnyama Limba NEW
Munro D PoquetteFranceAnna Fali NEGOTIATION
Cody C DarakjyRussiaStephen Shaw NEW
Antonio L RimRussiaIoni Bowcher NEW
Costa Q MaletItalyXuxue Feng RENEWAL
Smith G BologniaBrazilIvan Magalhaes NEW
Jefferson S VocelkaJapanIvan Magalhaes NEW
Wickens U FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Darci N MacleadUnited KingdomAmy Elsner NEW
Aika J DarakjyUnited KingdomIoni Bowcher NEGOTIATION
Maisha B MorascaFranceAmy Elsner QUALIFIED
Munro A StensethCanadaXuxue Feng PROPOSAL
Jeanfrancois W DilliardIndiaAnna Fali NEW
Nicolas T VenereArgentinaAsiya Javayant RENEWAL
Juan U GarufiIndiaElwin Sharvill NEGOTIATION
Francesco G MorascaIndiaAnna Fali QUALIFIED
Ricardo N ShinkoRussiaOnyama Limba PROPOSAL

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