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
Maria E InouyeIndiaElwin Sharvill UNQUALIFIED
Stacey P InouyeBrazilXuxue Feng QUALIFIED
Sinclair M MaletItalyBernardo Dominic NEW
Jefferson B RoysterBrazilBernardo Dominic RENEWAL
Stacey I SaylorsFranceOnyama Limba NEGOTIATION
Greenwood S RutaUnited KingdomAmy Elsner RENEWAL
Antonio Q AlbaresAustraliaAmy Elsner UNQUALIFIED
James G GlickItalyAnna Fali NEW
Ivar O GarufiRussiaIoni Bowcher RENEWAL
Kaitlin P GlickSpainBernardo Dominic UNQUALIFIED
Jeanfrancois E TollnerCanadaIoni Bowcher QUALIFIED
Jefferson O NickaIndiaIoni Bowcher PROPOSAL
Murillo Q MacleadBrazilAsiya Javayant NEGOTIATION
Kadeem U MacleadAustraliaXuxue Feng RENEWAL
Morrow P SchemmerCanadaIoni Bowcher NEGOTIATION
Arvin N PoquetteJapanOnyama Limba NEW
Julie N CampainAustraliaXuxue Feng UNQUALIFIED
Kadeem H RoysterFranceBernardo Dominic PROPOSAL
Claire G TollnerArgentinaOnyama Limba UNQUALIFIED
Darci J VenereJapanIoni Bowcher PROPOSAL
Salvatore O MorascaArgentinaAnna Fali RENEWAL
Jeanfrancois F MorascaIndiaStephen Shaw PROPOSAL
Francesco V DilliardAustraliaXuxue Feng NEGOTIATION
Aruna T RulapaughUnited KingdomIvan Magalhaes NEW
Munro Z FigeroaCanadaXuxue Feng NEGOTIATION
Darci B KuskoItalyBernardo Dominic NEW
Antonio G CampainSpainElwin Sharvill RENEWAL
Salvatore N StensethIndiaXuxue Feng QUALIFIED
Alejandro N OstroskyCanadaElwin Sharvill QUALIFIED
Claire Y OstroskyArgentinaStephen Shaw QUALIFIED
Francesco M DoeSpainStephen Shaw RENEWAL
Greenwood A PerinFranceStephen Shaw QUALIFIED
Faith T KuskoIndiaAmy Elsner NEW
Rodrigues C MarrierIndiaBernardo Dominic QUALIFIED
Maisha P MaletCanadaElwin Sharvill QUALIFIED
Antonio A BologniaJapanIoni Bowcher QUALIFIED
Mujtaba B MarrierIndiaAsiya Javayant QUALIFIED
Smith F GlickCanadaAnna Fali PROPOSAL
Julie V DilliardBrazilIoni Bowcher UNQUALIFIED
Darci M KolmetzGermanyAsiya Javayant PROPOSAL
Jefferson D OstroskyItalyElwin Sharvill RENEWAL
Tony X FollerGermanyIoni Bowcher NEW
Mujtaba J PerinArgentinaStephen Shaw UNQUALIFIED
James A GauchoBrazilStephen Shaw PROPOSAL
Rodrigues R AmigonItalyIoni Bowcher QUALIFIED
Izzy F KuskoJapanElwin Sharvill QUALIFIED
Adams I DilliardCanadaIvan Magalhaes NEW
Leja A ButtBrazilStephen Shaw QUALIFIED
Julie G ChuiCanadaXuxue Feng UNQUALIFIED
Leon U OstroskyBrazilIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Clifford G SlusarskiRussiaOnyama Limba NEW
Rodrigues S FerenczJapanAmy Elsner QUALIFIED
Costa H GauchoArgentinaIvan Magalhaes RENEWAL
Smith I RulapaughFranceIoni Bowcher PROPOSAL
Sinclair D GauchoFranceAnna Fali RENEWAL
Jeanfrancois G OldroydItalyIoni Bowcher NEGOTIATION
Francesco F DoeUnited KingdomIvan Magalhaes NEGOTIATION
Izzy B StensethBrazilAnna Fali QUALIFIED
Jones K BriddickGermanyAmy Elsner QUALIFIED
Cody U RulapaughRussiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya C GillianIndia2026-11-07Benton, John B Jr QUALIFIED92Bernardo Dominic
1001Johnson O CampainFrance2026-11-09Chapman, Ross E Esq RENEWAL17Xuxue Feng
1002David Y AlbaresBrazil2026-10-21King, Christopher A Esq NEGOTIATION23Stephen Shaw
1003Darci C OldroydIndia2026-10-12Feiner Bros NEW5Onyama Limba
1004Greenwood Z MorascaArgentina2026-10-14Rousseaux, Michael Esq NEGOTIATION89Stephen Shaw
1005Morrow O MaletRussia2026-10-12King, Christopher A Esq NEW15Ivan Magalhaes
1006Maria I WieserSpain2026-10-31King, Christopher A Esq UNQUALIFIED11Xuxue Feng
1007Maria T RutaAustralia2026-10-14King, Christopher A Esq UNQUALIFIED66Ioni Bowcher
1008Johnson R InouyeBrazil2026-10-12Buckley Miller Wright NEW29Amy Elsner
1009Ricardo V RoysterJapan2026-10-13Rousseaux, Michael Esq NEGOTIATION29Anna Fali
1010Mujtaba Y MorascaBrazil2026-10-29Buckley Miller Wright QUALIFIED59Amy Elsner
1011Wickens Y BriddickCanada2026-10-31Truhlar And Truhlar Attys NEW91Ioni Bowcher
1012Adams N RoysterArgentina2026-10-22Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1013Greenwood I DilliardArgentina2026-10-16Benton, John B Jr PROPOSAL10Amy Elsner
1014Isabel B StockhamFrance2026-10-30Morlong Associates QUALIFIED51Onyama Limba
1015Murillo L PaprockiBrazil2026-10-17Chemel, James L Cpa UNQUALIFIED92Ioni Bowcher
1016Wickens M WaycottArgentina2026-10-16Rangoni Of Florence NEGOTIATION76Ivan Magalhaes
1017Aditya I NickaRussia2026-10-13King, Christopher A Esq QUALIFIED47Onyama Limba
1018Salvatore G VocelkaIndia2026-10-27Commercial Press PROPOSAL52Xuxue Feng
1019Wickens D VenereCanada2026-10-27Rangoni Of Florence QUALIFIED92Elwin Sharvill
1020Cody D SergiUnited Kingdom2026-10-17King, Christopher A Esq QUALIFIED97Ioni Bowcher
1021Silvio K IturbideSpain2026-10-30Benton, John B Jr NEGOTIATION11Ioni Bowcher
1022Mayumi J VocelkaUnited Kingdom2026-10-20Feiner Bros QUALIFIED71Stephen Shaw
1023Antonio Z NickaRussia2026-10-15Rangoni Of Florence RENEWAL10Anna Fali
1024Jones T GillianFrance2026-11-06Feiner Bros NEW23Xuxue Feng
1025Johnson D NestleAustralia2026-10-31Dorl, James J Esq NEW67Xuxue Feng
1026Munro O StensethItaly2026-10-29King, Christopher A Esq QUALIFIED95Ioni Bowcher
1027Johnson M DoeFrance2026-10-21Dorl, James J Esq NEW78Xuxue Feng
1028Stacey T RulapaughGermany2026-11-07Chapman, Ross E Esq QUALIFIED58Ivan Magalhaes
1029Jeanfrancois O FollerFrance2026-10-27Truhlar And Truhlar Attys QUALIFIED51Amy Elsner
1030Emily E MorascaBrazil2026-10-28Feltz Printing Service NEGOTIATION8Anna Fali
1031Arvin X RulapaughUnited Kingdom2026-10-24Buckley Miller Wright UNQUALIFIED26Onyama Limba
1032Claire G MaletFrance2026-10-25Dorl, James J Esq NEGOTIATION94Bernardo Dominic
1033Alejandro K GarufiBrazil2026-10-19King, Christopher A Esq RENEWAL88Elwin Sharvill
1034Rodrigues J GlickIndia2026-10-28Chanay, Jeffrey A Esq UNQUALIFIED42Elwin Sharvill
1035Silvio Z PoquetteItaly2026-10-23Rousseaux, Michael Esq QUALIFIED18Anna Fali
1036Jeanfrancois G FlosiArgentina2026-11-05Rousseaux, Michael Esq NEGOTIATION55Ivan Magalhaes
1037Juan R MorascaItaly2026-11-01Rousseaux, Michael Esq NEGOTIATION95Ivan Magalhaes
1038Kadeem P MorascaIndia2026-10-13Rousseaux, Michael Esq PROPOSAL2Amy Elsner
1039Maria F SlusarskiFrance2026-11-02Chapman, Ross E Esq UNQUALIFIED91Elwin Sharvill
1040Aika N FerenczCanada2026-10-11Truhlar And Truhlar Attys NEGOTIATION20Anna Fali
1041Murillo D OldroydIndia2026-10-30King, Christopher A Esq UNQUALIFIED93Asiya Javayant
1042Sinclair G AlbaresBrazil2026-10-27Benton, John B Jr UNQUALIFIED98Stephen Shaw
1043Sinclair H StockhamRussia2026-10-18Feiner Bros UNQUALIFIED25Stephen Shaw
1044James A NestleCanada2026-10-27Feiner Bros PROPOSAL55Ioni Bowcher
1045James E KuskoUnited Kingdom2026-10-31Rangoni Of Florence NEW87Ioni Bowcher
1046Faith J RulapaughItaly2026-10-30Feiner Bros RENEWAL68Ivan Magalhaes
1047Jennifer B WhobreyGermany2026-10-12Chanay, Jeffrey A Esq PROPOSAL9Ivan Magalhaes
1048Isabel E MorascaBrazil2026-10-24Benton, John B Jr NEW40Ioni Bowcher
1049Silvio Y WieserArgentina2026-10-18Feltz Printing Service PROPOSAL6Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Wickens P CampainGermanyOnyama Limba RENEWAL
Adams Z DoeFranceAmy Elsner NEGOTIATION
Emily F CaudyJapanAmy Elsner RENEWAL
Darci N VocelkaItalyElwin Sharvill QUALIFIED
Jones T SchemmerGermanyBernardo Dominic RENEWAL
Ivar T VocelkaJapanAnna Fali UNQUALIFIED
Jeanfrancois Y OldroydAustraliaXuxue Feng QUALIFIED
Salvatore S SchemmerUnited KingdomIoni Bowcher NEW
Leon M TollnerSpainAmy Elsner NEW
Adams P StensethFranceIoni Bowcher UNQUALIFIED
Munro L FlosiCanadaAsiya Javayant RENEWAL
Tony T DoeSpainAnna Fali QUALIFIED
Octavia F FigeroaAustraliaAsiya Javayant UNQUALIFIED
Kadeem U StensethItalyAmy Elsner RENEWAL
Mujtaba I GarufiAustraliaStephen Shaw PROPOSAL
Arvin Q GauchoGermanyIvan Magalhaes PROPOSAL
Arvin X SaylorsJapanStephen Shaw PROPOSAL
Smith R AlbaresIndiaAsiya Javayant UNQUALIFIED
Ashley V WhobreyAustraliaXuxue Feng QUALIFIED
David B AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Smith I StockhamAustraliaOnyama Limba QUALIFIED
Leon C GarufiGermanyStephen Shaw QUALIFIED
Ashley E NickaGermanyOnyama Limba UNQUALIFIED
Nicolas J OldroydArgentinaOnyama Limba NEGOTIATION
Ashley N IturbideJapanXuxue Feng UNQUALIFIED
Nicolas H ButtAustraliaIvan Magalhaes NEGOTIATION
Sinclair U OldroydFranceOnyama Limba QUALIFIED
Misaki T NickaFranceOnyama Limba NEW
Morrow E PoquetteFranceElwin Sharvill UNQUALIFIED
Wickens I VenereGermanyIvan Magalhaes RENEWAL
Isabel K VenereAustraliaAmy Elsner UNQUALIFIED
Kadeem T ButtGermanyAnna Fali NEGOTIATION
Isabel R MaletSpainBernardo Dominic RENEWAL
Ivar A SaylorsFranceBernardo Dominic QUALIFIED
Kadeem U FigeroaFranceIvan Magalhaes PROPOSAL
Salvatore F ButtUnited KingdomAnna Fali NEGOTIATION
Mujtaba C CaldareraArgentinaBernardo Dominic PROPOSAL
Octavia O AmigonFranceStephen Shaw RENEWAL
Smith Y FollerCanadaAnna Fali NEW
Jones Z RimUnited KingdomAsiya Javayant RENEWAL
Wickens Z AlbaresIndiaElwin Sharvill RENEWAL
Adams V SergiArgentinaIvan Magalhaes QUALIFIED
Isabel Z DilliardBrazilOnyama Limba NEW
Alejandro S WaycottJapanXuxue Feng PROPOSAL
Jones Y CaldareraSpainIvan Magalhaes UNQUALIFIED
Munro L SergiIndiaAnna Fali NEW
Ricardo A KolmetzCanadaAnna Fali RENEWAL
Alejandro O VenereGermanyAsiya Javayant QUALIFIED
Aika V DilliardCanadaXuxue Feng RENEWAL
Jennifer X ShinkoFranceStephen Shaw QUALIFIED
Frozen Columns
Name
Wickens V Bolognia
Kadeem V Gaucho
Julie X Royster
Julie A Flosi
Arvin Q Whobrey
Clifford L Paprocki
Isabel H Venere
Julie C Marrier
Darci G Vocelka
Jefferson J Sergi
Darci Q Darakjy
Darci A Oldroyd
Murillo L Bolognia
Adams W Kolmetz
Jennifer Z Sergi
Tony R Briddick
Clifford H Foller
Jennifer S Royster
Claire K Briddick
Nicolas Y Shinko
Maria D Whobrey
Izzy U Amigon
Clifford O Paprocki
Stacey G Marrier
Adams T Ferencz
Kaitlin E Flosi
Murillo N Saylors
Francesco I Poquette
Aika Z Perin
Aditya G Flosi
Jeanfrancois Q Kolmetz
Smith X Tollner
Leja J Briddick
Darci Q Perin
Maisha M Venere
Rodrigues B Saylors
Rodrigues A Kolmetz
Nicolas Z Darakjy
Jefferson X Tollner
Morrow M Venere
Izzy Y Gaucho
Jennifer A Sergi
Clifford M Shinko
Clifford Q Bolognia
Jefferson X Amigon
Darci P Paprocki
Antonio P Shinko
Ashley G Shinko
Antonio U Maclead
Mayumi Q Morasca
IdCountryDate
1000India2026-10-17
1001Spain2026-10-20
1002France2026-10-15
1003Australia2026-10-14
1004Brazil2026-10-30
1005Brazil2026-10-22
1006Germany2026-10-14
1007India2026-11-02
1008Australia2026-10-21
1009Russia2026-10-17
1010Spain2026-11-09
1011India2026-10-17
1012Australia2026-11-03
1013Japan2026-10-28
1014Brazil2026-10-24
1015Argentina2026-11-06
1016Japan2026-10-15
1017Spain2026-10-12
1018India2026-10-29
1019France2026-10-29
1020Australia2026-11-07
1021Australia2026-10-28
1022Germany2026-10-29
1023Italy2026-11-04
1024United Kingdom2026-10-22
1025Canada2026-11-04
1026Australia2026-10-19
1027Argentina2026-10-20
1028India2026-10-11
1029Spain2026-11-03
1030Canada2026-11-07
1031France2026-10-19
1032Russia2026-10-29
1033Germany2026-10-14
1034France2026-10-17
1035United Kingdom2026-11-01
1036Brazil2026-10-27
1037Canada2026-10-28
1038France2026-10-12
1039Italy2026-10-17
1040Brazil2026-10-19
1041United Kingdom2026-10-13
1042Italy2026-10-21
1043Germany2026-10-30
1044France2026-10-31
1045India2026-11-02
1046India2026-11-07
1047Germany2026-11-05
1048Japan2026-11-03
1049Spain2026-10-12

On-Demand Data

NameIdCountryDate
Morrow I Campain1000Argentina2026-10-28
Rodrigues U Rim1001Japan2026-11-04
Adams S Paprocki1002India2026-11-08
Antonio X Malet1003France2026-10-25
Aika J Kusko1004Italy2026-10-31
Ricardo E Rim1005United Kingdom2026-11-06
Costa V Garufi1006Germany2026-11-08
Antonio E Oldroyd1007Japan2026-10-28
Greenwood L Wieser1008Argentina2026-10-17
Isabel M Foller1009Russia2026-11-04
Misaki S Inouye1010Argentina2026-10-19
Smith Q Nestle1011Brazil2026-10-27
Stacey A Iturbide1012Russia2026-10-27
Stacey H Malet1013United Kingdom2026-10-23
Jones O Royster1014Italy2026-11-03
Izzy O Doe1015France2026-10-17
Murillo N Tollner1016Japan2026-10-21
Francesco H Butt1017France2026-11-05
Maria P Whobrey1018Russia2026-10-26
Faith H Kusko1019Japan2026-11-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson V GillianArgentinaIvan Magalhaes RENEWAL
Tony L StensethJapanElwin Sharvill RENEWAL
Darci E ButtAustraliaStephen Shaw RENEWAL
Aika O RoysterSpainAsiya Javayant RENEWAL
Claire F DilliardUnited KingdomStephen Shaw UNQUALIFIED
Wickens G DarakjyGermanyElwin Sharvill QUALIFIED
Aditya T MorascaCanadaIoni Bowcher NEGOTIATION
Maisha V OldroydSpainIoni Bowcher UNQUALIFIED
Aditya C GillianCanadaAmy Elsner PROPOSAL
Cody U SlusarskiUnited KingdomXuxue Feng RENEWAL
Maisha L NestleUnited KingdomBernardo Dominic RENEWAL
Leja F SaylorsRussiaXuxue Feng PROPOSAL
Jeanfrancois G StockhamSpainAnna Fali PROPOSAL
Salvatore T ChuiJapanElwin Sharvill RENEWAL
Stacey M RulapaughAustraliaAmy Elsner QUALIFIED
Clifford J DilliardCanadaStephen Shaw NEW
Chavez G RimUnited KingdomXuxue Feng PROPOSAL
Clifford J DoeFranceElwin Sharvill NEW
Alejandro B FollerUnited KingdomAnna Fali UNQUALIFIED
Munro H SlusarskiJapanOnyama Limba QUALIFIED
Adams Q MorascaAustraliaBernardo Dominic NEW
Izzy R WhobreyBrazilBernardo Dominic NEW
Aruna X NestleCanadaAnna Fali NEW
Arvin U ChuiFranceAnna Fali PROPOSAL
David M FerenczFranceOnyama Limba RENEWAL
Deepesh R OldroydAustraliaAnna Fali NEGOTIATION
Misaki B TollnerBrazilElwin Sharvill NEW
Izzy Q ButtCanadaIoni Bowcher NEW
David O SergiJapanAsiya Javayant UNQUALIFIED
Emily F TollnerGermanyAmy Elsner NEGOTIATION
Deepesh S FerenczIndiaBernardo Dominic NEGOTIATION
Munro L CampainArgentinaElwin Sharvill NEGOTIATION
Faith T KuskoCanadaXuxue Feng UNQUALIFIED
Arvin K DarakjyAustraliaStephen Shaw UNQUALIFIED
David T StensethCanadaStephen Shaw NEW
Wickens D OstroskyFranceIvan Magalhaes NEW
Maria U AlbaresItalyIvan Magalhaes PROPOSAL
Clifford U ChuiGermanyBernardo Dominic RENEWAL
Alejandro S FlosiAustraliaBernardo Dominic NEGOTIATION
Jones T KolmetzSpainIoni Bowcher 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>