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
Juan I TollnerCanadaAsiya Javayant RENEWAL
Cody F StockhamFranceOnyama Limba NEW
Morrow R CaudyCanadaIvan Magalhaes PROPOSAL
Stacey Q WaycottRussiaBernardo Dominic NEW
Maisha G SaylorsRussiaIoni Bowcher UNQUALIFIED
Maisha I CaudyArgentinaAmy Elsner RENEWAL
Mayumi T PoquetteIndiaAnna Fali QUALIFIED
Clifford X PaprockiRussiaIvan Magalhaes PROPOSAL
Ricardo H ShinkoUnited KingdomAmy Elsner QUALIFIED
Munro D KolmetzAustraliaIoni Bowcher NEW
Octavia U RutaArgentinaIvan Magalhaes PROPOSAL
Sinclair K StensethAustraliaAsiya Javayant UNQUALIFIED
Emily H BologniaSpainElwin Sharvill PROPOSAL
David K NestleBrazilAsiya Javayant UNQUALIFIED
Jennifer Y VenereBrazilElwin Sharvill PROPOSAL
Izzy F SergiCanadaOnyama Limba UNQUALIFIED
Adams B GarufiIndiaXuxue Feng PROPOSAL
James M RulapaughJapanElwin Sharvill PROPOSAL
Aditya I RutaArgentinaStephen Shaw NEW
Silvio L RoysterRussiaXuxue Feng PROPOSAL
David U SlusarskiRussiaOnyama Limba RENEWAL
Jeanfrancois O KuskoUnited KingdomAnna Fali PROPOSAL
Smith N InouyeJapanAmy Elsner PROPOSAL
Ricardo A MarrierJapanStephen Shaw QUALIFIED
Julie B RimGermanyIoni Bowcher UNQUALIFIED
Jones Q GauchoFranceAnna Fali UNQUALIFIED
Mujtaba Q GlickFranceAsiya Javayant NEW
Aika F PerinRussiaStephen Shaw UNQUALIFIED
Ashley D KolmetzItalyAsiya Javayant NEW
Claire M RulapaughItalyElwin Sharvill NEGOTIATION
Maisha O BowleyFranceXuxue Feng PROPOSAL
Stacey E RimGermanyIvan Magalhaes QUALIFIED
Wickens P FerenczRussiaXuxue Feng NEGOTIATION
Maisha S BologniaBrazilIoni Bowcher UNQUALIFIED
Darci V OstroskyRussiaElwin Sharvill RENEWAL
Johnson F FigeroaAustraliaElwin Sharvill NEGOTIATION
Munro D NickaJapanOnyama Limba RENEWAL
Tony N CampainRussiaElwin Sharvill NEW
Misaki R InouyeUnited KingdomAnna Fali PROPOSAL
Chavez T DarakjyArgentinaStephen Shaw NEW
Octavia X StensethJapanAnna Fali UNQUALIFIED
Munro V RutaGermanyAsiya Javayant QUALIFIED
Kadeem E OstroskyGermanyAnna Fali QUALIFIED
Aruna I GlickFranceXuxue Feng NEGOTIATION
Wickens L DilliardArgentinaStephen Shaw RENEWAL
Wickens N MarrierRussiaAnna Fali PROPOSAL
Jeanfrancois W StockhamBrazilIoni Bowcher UNQUALIFIED
Mayumi N AmigonBrazilIoni Bowcher RENEWAL
Ashley J DarakjyRussiaAsiya Javayant RENEWAL
Sinclair W ShinkoGermanyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria C MarrierItalyStephen Shaw UNQUALIFIED
Rodrigues F FlosiFranceElwin Sharvill NEW
Smith J VenereAustraliaAsiya Javayant UNQUALIFIED
Sinclair G SlusarskiBrazilIoni Bowcher RENEWAL
Izzy X DoeArgentinaIvan Magalhaes NEW
Jones A VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
James U WhobreyRussiaAsiya Javayant PROPOSAL
Mujtaba V VenereFranceElwin Sharvill UNQUALIFIED
Antonio M GillianRussiaIvan Magalhaes NEW
Jennifer W KuskoCanadaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan Q NestleIndia2026-09-11Benton, John B Jr PROPOSAL51Bernardo Dominic
1001Jennifer K GauchoJapan2026-09-17Feiner Bros NEW89Ivan Magalhaes
1002Silvio L KolmetzBrazil2026-09-07King, Christopher A Esq RENEWAL34Onyama Limba
1003Stacey C NickaFrance2026-09-09Buckley Miller Wright PROPOSAL15Bernardo Dominic
1004Mayumi P WaycottItaly2026-09-08Chapman, Ross E Esq UNQUALIFIED67Anna Fali
1005Maria Q ShinkoRussia2026-09-17Feiner Bros NEGOTIATION16Anna Fali
1006Johnson M RoysterUnited Kingdom2026-09-17King, Christopher A Esq NEW55Bernardo Dominic
1007Maria P ButtItaly2026-08-29Buckley Miller Wright QUALIFIED23Ioni Bowcher
1008Morrow Q StockhamBrazil2026-09-14Morlong Associates UNQUALIFIED77Ivan Magalhaes
1009Chavez S StockhamItaly2026-09-04Benton, John B Jr RENEWAL81Asiya Javayant
1010Greenwood P VocelkaIndia2026-08-26Benton, John B Jr UNQUALIFIED22Amy Elsner
1011Kaitlin F FollerBrazil2026-08-21Commercial Press NEGOTIATION67Xuxue Feng
1012Mujtaba Y FlosiIndia2026-09-14Chanay, Jeffrey A Esq NEW42Asiya Javayant
1013Juan E FlosiGermany2026-08-31Feiner Bros NEW16Ivan Magalhaes
1014Jefferson R CaldareraIndia2026-09-03Feiner Bros QUALIFIED48Anna Fali
1015Octavia W IturbideRussia2026-08-24Chemel, James L Cpa UNQUALIFIED77Bernardo Dominic
1016Jones T PaprockiBrazil2026-09-05Feiner Bros UNQUALIFIED34Amy Elsner
1017Jones L FigeroaUnited Kingdom2026-08-22Rangoni Of Florence UNQUALIFIED16Stephen Shaw
1018Adams U ButtArgentina2026-08-30Commercial Press UNQUALIFIED64Onyama Limba
1019David N FerenczItaly2026-09-12Feltz Printing Service UNQUALIFIED81Xuxue Feng
1020Wickens S BologniaJapan2026-08-27Chapman, Ross E Esq RENEWAL76Xuxue Feng
1021Kaitlin G DilliardBrazil2026-09-10Rousseaux, Michael Esq NEGOTIATION20Ioni Bowcher
1022Rodrigues J GlickBrazil2026-09-05King, Christopher A Esq NEW76Onyama Limba
1023Octavia K MacleadJapan2026-09-15Commercial Press QUALIFIED63Asiya Javayant
1024Kaitlin T NestleRussia2026-09-15Benton, John B Jr NEGOTIATION67Ioni Bowcher
1025Nicolas R BologniaUnited Kingdom2026-08-28Morlong Associates NEGOTIATION72Elwin Sharvill
1026Ivar N MaletFrance2026-09-13Morlong Associates UNQUALIFIED18Elwin Sharvill
1027Arvin B NickaRussia2026-08-30Dorl, James J Esq NEW15Bernardo Dominic
1028Misaki A AlbaresJapan2026-08-31King, Christopher A Esq PROPOSAL0Bernardo Dominic
1029Stacey J StensethBrazil2026-09-19Rousseaux, Michael Esq RENEWAL47Bernardo Dominic
1030Mayumi H RimUnited Kingdom2026-08-22Buckley Miller Wright NEGOTIATION83Ioni Bowcher
1031Mujtaba K MaletCanada2026-08-23Rangoni Of Florence RENEWAL3Elwin Sharvill
1032Clifford B KuskoItaly2026-08-24Rousseaux, Michael Esq NEGOTIATION19Amy Elsner
1033Adams R AlbaresUnited Kingdom2026-08-24Benton, John B Jr UNQUALIFIED99Ioni Bowcher
1034Sinclair K GillianFrance2026-09-05Feiner Bros NEW24Bernardo Dominic
1035Munro A OldroydIndia2026-08-24King, Christopher A Esq NEGOTIATION15Anna Fali
1036Darci Z FollerFrance2026-08-28Rangoni Of Florence NEGOTIATION96Amy Elsner
1037Murillo Q SchemmerSpain2026-09-04Printing Dimensions RENEWAL56Asiya Javayant
1038Alejandro M FlosiJapan2026-09-06Commercial Press NEGOTIATION90Ivan Magalhaes
1039Leja O FlosiAustralia2026-09-16Chanay, Jeffrey A Esq RENEWAL21Stephen Shaw
1040Rodrigues H VocelkaRussia2026-09-15Commercial Press PROPOSAL44Anna Fali
1041David Q GarufiCanada2026-09-19Morlong Associates QUALIFIED56Elwin Sharvill
1042Jones M FigeroaJapan2026-08-25Rangoni Of Florence QUALIFIED37Ioni Bowcher
1043Aditya X StensethAustralia2026-09-03Morlong Associates UNQUALIFIED61Bernardo Dominic
1044Jeanfrancois J WieserBrazil2026-08-23Benton, John B Jr PROPOSAL52Onyama Limba
1045Smith S ChuiFrance2026-09-15Feiner Bros QUALIFIED38Ivan Magalhaes
1046Cody D StensethAustralia2026-08-27Benton, John B Jr UNQUALIFIED41Onyama Limba
1047Mayumi N MacleadGermany2026-09-12Dorl, James J Esq PROPOSAL7Xuxue Feng
1048Jones P StensethGermany2026-08-21Feiner Bros NEGOTIATION25Amy Elsner
1049David S RulapaughBrazil2026-09-18Feiner Bros UNQUALIFIED12Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Murillo P NickaUnited KingdomIoni Bowcher NEGOTIATION
Izzy S BowleyRussiaIoni Bowcher NEW
Clifford V PaprockiSpainIoni Bowcher UNQUALIFIED
Adams F CaldareraGermanyAsiya Javayant UNQUALIFIED
Misaki S CaudySpainIvan Magalhaes NEW
Arvin X SergiCanadaIoni Bowcher NEGOTIATION
Smith O MorascaIndiaAnna Fali QUALIFIED
Claire C BriddickSpainAnna Fali RENEWAL
Alejandro O ShinkoArgentinaBernardo Dominic RENEWAL
Julie G ShinkoIndiaBernardo Dominic PROPOSAL
Deepesh M VocelkaGermanyIoni Bowcher QUALIFIED
Izzy A RoysterItalyElwin Sharvill NEGOTIATION
Ricardo A OldroydJapanElwin Sharvill UNQUALIFIED
Mujtaba P DarakjySpainBernardo Dominic QUALIFIED
Wickens I VenereItalyStephen Shaw RENEWAL
Sinclair J KuskoGermanyElwin Sharvill UNQUALIFIED
Leja B VocelkaFranceXuxue Feng PROPOSAL
Greenwood C PaprockiRussiaIvan Magalhaes NEGOTIATION
Tony Q OstroskyIndiaIoni Bowcher QUALIFIED
Kaitlin S MorascaJapanXuxue Feng NEGOTIATION
Maria X MaletBrazilElwin Sharvill UNQUALIFIED
Cody H SaylorsCanadaAsiya Javayant NEW
Deepesh A FerenczIndiaBernardo Dominic NEW
Smith E RoysterCanadaBernardo Dominic RENEWAL
Francesco A OstroskyAustraliaElwin Sharvill RENEWAL
Johnson Z DarakjyCanadaAnna Fali UNQUALIFIED
Maisha E OstroskyCanadaIoni Bowcher UNQUALIFIED
Nicolas S WhobreySpainAmy Elsner NEW
Mayumi X WhobreyAustraliaOnyama Limba UNQUALIFIED
Munro M IturbideIndiaIvan Magalhaes QUALIFIED
Aditya E SaylorsCanadaElwin Sharvill NEW
Sinclair S RimUnited KingdomAsiya Javayant NEGOTIATION
Leon E IturbideGermanyBernardo Dominic NEGOTIATION
Aika Q RulapaughBrazilXuxue Feng UNQUALIFIED
Kadeem J MorascaSpainOnyama Limba NEW
Jeanfrancois H CampainCanadaIvan Magalhaes NEGOTIATION
Cody H CaldareraArgentinaBernardo Dominic UNQUALIFIED
Kadeem O VocelkaSpainXuxue Feng RENEWAL
Antonio J GillianGermanyIoni Bowcher PROPOSAL
Mayumi J GauchoBrazilIoni Bowcher RENEWAL
Julie B FigeroaFranceAmy Elsner NEGOTIATION
Kaitlin P WhobreyCanadaIoni Bowcher NEW
Nicolas B ButtIndiaIoni Bowcher NEW
Kaitlin T RimItalyIoni Bowcher NEGOTIATION
Wickens J GillianCanadaAnna Fali PROPOSAL
Deepesh J FigeroaItalyStephen Shaw NEW
Nicolas F GillianSpainAsiya Javayant NEGOTIATION
Aruna J FigeroaRussiaElwin Sharvill RENEWAL
Faith T FerenczRussiaXuxue Feng RENEWAL
Juan S DilliardGermanyStephen Shaw RENEWAL
Frozen Columns
Name
Wickens H Malet
Maisha U Malet
Kadeem Y Gillian
Izzy A Butt
Maria S Maclead
Costa G Inouye
Johnson Z Saylors
Jefferson Y Nestle
James E Bolognia
Nicolas A Nicka
Claire V Kusko
Ashley T Morasca
Juan B Rim
Kaitlin H Chui
Munro R Caudy
Octavia F Rulapaugh
Kadeem W Inouye
Octavia N Nestle
Antonio B Chui
Jennifer A Chui
Jennifer C Vocelka
Juan Q Malet
Alejandro A Caudy
Emily U Waycott
Kadeem V Darakjy
Adams B Poquette
Murillo R Venere
Leon R Oldroyd
James X Nicka
Wickens C Vocelka
Murillo H Briddick
Leon V Bowley
Izzy O Saylors
Adams V Albares
Izzy G Slusarski
Jefferson Y Stenseth
Alejandro Y Sergi
Leja F Ruta
Ivar M Butt
Arvin U Ruta
Leon L Paprocki
Ricardo K Slusarski
Ashley D Gillian
Arvin E Wieser
Isabel F Vocelka
Jennifer R Butt
Kaitlin A Rulapaugh
Claire W Dilliard
Antonio A Perin
Wickens L Chui
IdCountryDate
1000Russia2026-09-02
1001Japan2026-09-05
1002Brazil2026-08-22
1003Russia2026-09-13
1004France2026-08-31
1005Brazil2026-08-22
1006Russia2026-08-23
1007Canada2026-09-01
1008Italy2026-08-30
1009United Kingdom2026-08-27
1010Canada2026-09-08
1011Italy2026-08-28
1012Australia2026-09-03
1013France2026-08-21
1014Argentina2026-08-26
1015United Kingdom2026-09-09
1016France2026-09-16
1017Russia2026-09-16
1018Argentina2026-08-25
1019Russia2026-09-19
1020Brazil2026-09-10
1021France2026-08-25
1022Japan2026-09-06
1023India2026-08-29
1024Australia2026-08-30
1025Argentina2026-09-19
1026Canada2026-09-14
1027Germany2026-09-18
1028Brazil2026-08-24
1029United Kingdom2026-08-28
1030United Kingdom2026-08-24
1031Germany2026-09-18
1032Argentina2026-09-08
1033United Kingdom2026-08-28
1034India2026-09-04
1035United Kingdom2026-09-11
1036United Kingdom2026-08-27
1037Brazil2026-08-26
1038Brazil2026-08-24
1039Germany2026-09-11
1040Italy2026-09-18
1041France2026-09-09
1042Brazil2026-08-30
1043Japan2026-09-08
1044Brazil2026-09-15
1045Argentina2026-09-06
1046France2026-09-13
1047Japan2026-09-01
1048France2026-09-15
1049Argentina2026-08-26

On-Demand Data

NameIdCountryDate
Julie G Caudy1000Germany2026-09-04
Adams Z Malet1001Russia2026-09-15
Faith F Albares1002Canada2026-09-01
Ivar M Saylors1003United Kingdom2026-08-30
Mujtaba F Slusarski1004Russia2026-09-11
Leja K Rulapaugh1005Spain2026-09-17
Nicolas V Bolognia1006Spain2026-08-22
Costa J Kolmetz1007United Kingdom2026-09-01
Misaki W Butt1008United Kingdom2026-08-27
Wickens G Campain1009Australia2026-08-23
David F Campain1010Japan2026-08-22
Munro T Gillian1011Argentina2026-09-01
Kaitlin Q Perin1012Japan2026-09-18
Ricardo M Morasca1013Canada2026-08-30
Clifford F Campain1014Russia2026-09-08
Tony S Ostrosky1015France2026-08-24
Sinclair W Rulapaugh1016Spain2026-09-06
Arvin P Waycott1017Spain2026-09-09
Stacey M Briddick1018Argentina2026-08-22
Silvio B Vocelka1019India2026-08-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David M DoeGermanyOnyama Limba UNQUALIFIED
Jefferson C AmigonRussiaOnyama Limba UNQUALIFIED
Jennifer N SaylorsBrazilStephen Shaw NEGOTIATION
Smith I BriddickRussiaElwin Sharvill QUALIFIED
Silvio N PoquetteRussiaBernardo Dominic UNQUALIFIED
Francesco R RulapaughArgentinaStephen Shaw UNQUALIFIED
Claire A DoeUnited KingdomIoni Bowcher NEGOTIATION
James R FollerItalyIvan Magalhaes UNQUALIFIED
Greenwood A MarrierBrazilBernardo Dominic NEW
Francesco M FerenczArgentinaIvan Magalhaes UNQUALIFIED
Munro J AlbaresCanadaXuxue Feng QUALIFIED
Kaitlin S PoquetteArgentinaXuxue Feng NEW
Chavez M StockhamRussiaAmy Elsner RENEWAL
Wickens Z CaldareraSpainIvan Magalhaes NEW
Nicolas E WaycottFranceAsiya Javayant PROPOSAL
Mujtaba C FollerArgentinaXuxue Feng UNQUALIFIED
Rodrigues H AlbaresItalyAsiya Javayant PROPOSAL
Maria J NickaIndiaAmy Elsner QUALIFIED
Stacey L GarufiArgentinaElwin Sharvill NEW
Leon J MacleadFranceAmy Elsner UNQUALIFIED
Misaki V PoquetteArgentinaElwin Sharvill RENEWAL
Sinclair J OldroydJapanIvan Magalhaes NEW
Jennifer U NickaFranceXuxue Feng NEW
Antonio G GillianIndiaIoni Bowcher NEW
Jefferson S GauchoGermanyBernardo Dominic UNQUALIFIED
Leja M BologniaCanadaIoni Bowcher QUALIFIED
Chavez J GauchoRussiaOnyama Limba NEGOTIATION
Murillo T VocelkaIndiaOnyama Limba NEW
Ivar M InouyeGermanyIoni Bowcher PROPOSAL
Ashley X StockhamItalyAsiya Javayant NEGOTIATION
Jennifer F PoquetteRussiaAmy Elsner QUALIFIED
Silvio N InouyeUnited KingdomXuxue Feng PROPOSAL
Ricardo N GillianUnited KingdomIoni Bowcher PROPOSAL
Johnson X ButtAustraliaStephen Shaw UNQUALIFIED
Nicolas R AlbaresRussiaIoni Bowcher PROPOSAL
Claire B MacleadRussiaAmy Elsner PROPOSAL
Stacey B FollerCanadaStephen Shaw PROPOSAL
Leon P FerenczAustraliaElwin Sharvill NEW
Isabel M DilliardBrazilBernardo Dominic QUALIFIED
Johnson H WaycottFranceAmy Elsner 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>