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
Smith V OldroydIndiaStephen Shaw QUALIFIED
Cody L ChuiIndiaBernardo Dominic NEW
Darci T VocelkaItalyAmy Elsner PROPOSAL
Isabel O NestleIndiaIvan Magalhaes NEGOTIATION
Claire N ShinkoRussiaOnyama Limba NEW
Julie N BologniaSpainStephen Shaw UNQUALIFIED
Stacey J RutaArgentinaOnyama Limba NEGOTIATION
Octavia M FlosiAustraliaIvan Magalhaes QUALIFIED
James P PerinUnited KingdomAmy Elsner NEGOTIATION
Ivar K FlosiFranceAmy Elsner NEW
Chavez C GauchoItalyIvan Magalhaes RENEWAL
Tony R RimItalyStephen Shaw UNQUALIFIED
David C PaprockiFranceBernardo Dominic NEW
Aruna N VocelkaAustraliaBernardo Dominic UNQUALIFIED
Julie T GlickJapanAsiya Javayant NEGOTIATION
Stacey Y SergiRussiaOnyama Limba NEGOTIATION
Murillo S BriddickRussiaXuxue Feng PROPOSAL
Leja V BowleyRussiaBernardo Dominic QUALIFIED
Isabel G CampainCanadaStephen Shaw UNQUALIFIED
Antonio H CaudyUnited KingdomOnyama Limba RENEWAL
Cody M BowleyItalyAsiya Javayant NEGOTIATION
Faith M BriddickCanadaStephen Shaw QUALIFIED
Octavia B BowleyGermanyAmy Elsner RENEWAL
Adams I GlickJapanOnyama Limba RENEWAL
Jeanfrancois E OldroydBrazilAsiya Javayant NEGOTIATION
Claire K CaldareraIndiaBernardo Dominic QUALIFIED
Rodrigues M MorascaArgentinaAmy Elsner NEW
Darci G WieserBrazilXuxue Feng UNQUALIFIED
Morrow L CaldareraUnited KingdomStephen Shaw NEGOTIATION
Jones B BologniaGermanyXuxue Feng PROPOSAL
Salvatore P KolmetzArgentinaXuxue Feng QUALIFIED
Tony O ShinkoIndiaIoni Bowcher NEW
Izzy Y KuskoArgentinaIoni Bowcher NEGOTIATION
Adams Q DoeGermanyXuxue Feng PROPOSAL
Aika U OstroskyArgentinaIvan Magalhaes NEGOTIATION
Jefferson E MaletGermanyAmy Elsner NEW
Francesco B MarrierIndiaIvan Magalhaes UNQUALIFIED
Maisha K MarrierItalyAnna Fali NEW
Murillo C SergiSpainAnna Fali RENEWAL
Salvatore C SergiCanadaIvan Magalhaes RENEWAL
Clifford Z OstroskySpainBernardo Dominic UNQUALIFIED
Octavia T OstroskyItalyBernardo Dominic NEW
Cody X VenereIndiaStephen Shaw PROPOSAL
Octavia T TollnerArgentinaElwin Sharvill NEW
Maria N DilliardRussiaBernardo Dominic QUALIFIED
Julie P MaletRussiaAnna Fali PROPOSAL
Octavia Y CaldareraArgentinaAsiya Javayant RENEWAL
Antonio N KuskoRussiaAmy Elsner NEW
Smith H PerinFranceOnyama Limba QUALIFIED
Arvin M MorascaItalyBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan Q NestleArgentinaIoni Bowcher NEW
Izzy U GlickJapanXuxue Feng UNQUALIFIED
Izzy X FigeroaUnited KingdomStephen Shaw NEGOTIATION
Murillo L MorascaFranceIvan Magalhaes QUALIFIED
Tony R OldroydAustraliaIvan Magalhaes NEW
Ivar U ShinkoJapanAsiya Javayant RENEWAL
Silvio W NestleArgentinaAnna Fali NEW
Deepesh R SaylorsGermanyOnyama Limba NEW
Nicolas I RulapaughAustraliaBernardo Dominic NEGOTIATION
Kadeem G WhobreySpainIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro G IturbideRussia2026-09-16Chapman, Ross E Esq NEGOTIATION21Onyama Limba
1001Wickens E ButtRussia2026-10-07Buckley Miller Wright QUALIFIED31Xuxue Feng
1002Julie Z OldroydBrazil2026-10-03Chapman, Ross E Esq RENEWAL58Onyama Limba
1003Morrow O PaprockiGermany2026-09-24Benton, John B Jr QUALIFIED37Amy Elsner
1004Octavia D MaletGermany2026-09-27Chemel, James L Cpa QUALIFIED54Ivan Magalhaes
1005Leja Q StensethBrazil2026-09-22Rousseaux, Michael Esq QUALIFIED73Ivan Magalhaes
1006Antonio V FigeroaJapan2026-09-18Truhlar And Truhlar Attys UNQUALIFIED53Stephen Shaw
1007Ashley Y ChuiBrazil2026-10-09Commercial Press RENEWAL75Bernardo Dominic
1008Maria Q OldroydRussia2026-09-15Dorl, James J Esq PROPOSAL88Ioni Bowcher
1009Smith R GlickBrazil2026-10-05Printing Dimensions NEW42Onyama Limba
1010Ricardo J AlbaresCanada2026-10-01Morlong Associates UNQUALIFIED72Onyama Limba
1011Juan H GlickItaly2026-10-06Feiner Bros NEW13Asiya Javayant
1012Leja Y GauchoSpain2026-09-22Rangoni Of Florence NEGOTIATION97Asiya Javayant
1013James I RulapaughJapan2026-09-19Chapman, Ross E Esq PROPOSAL65Bernardo Dominic
1014Aika L PoquetteFrance2026-09-10Benton, John B Jr QUALIFIED43Asiya Javayant
1015Stacey K MacleadGermany2026-09-30Chanay, Jeffrey A Esq UNQUALIFIED6Ioni Bowcher
1016Kadeem E WieserAustralia2026-09-23Truhlar And Truhlar Attys NEGOTIATION93Stephen Shaw
1017Adams T PoquetteItaly2026-09-22Feltz Printing Service QUALIFIED66Ivan Magalhaes
1018Francesco G RimGermany2026-10-07King, Christopher A Esq NEW5Amy Elsner
1019Francesco E GarufiIndia2026-10-09Morlong Associates QUALIFIED31Bernardo Dominic
1020Smith D PaprockiCanada2026-10-04Commercial Press NEGOTIATION61Elwin Sharvill
1021Costa Q RulapaughRussia2026-09-26Chanay, Jeffrey A Esq PROPOSAL17Asiya Javayant
1022Claire L MaletIndia2026-09-11Chanay, Jeffrey A Esq QUALIFIED80Elwin Sharvill
1023Sinclair T MaletBrazil2026-09-30Chemel, James L Cpa NEGOTIATION40Ivan Magalhaes
1024Johnson U MaletJapan2026-10-02Printing Dimensions UNQUALIFIED87Ivan Magalhaes
1025Cody M InouyeBrazil2026-10-06King, Christopher A Esq PROPOSAL54Xuxue Feng
1026Salvatore V BriddickCanada2026-09-15King, Christopher A Esq NEGOTIATION20Anna Fali
1027Jeanfrancois Z GlickRussia2026-09-17Buckley Miller Wright UNQUALIFIED47Bernardo Dominic
1028Claire N RimGermany2026-10-06King, Christopher A Esq QUALIFIED69Bernardo Dominic
1029Arvin A BowleyIndia2026-09-19Rousseaux, Michael Esq NEW58Asiya Javayant
1030Aika F DarakjyRussia2026-09-17Buckley Miller Wright RENEWAL57Onyama Limba
1031Ashley K SergiRussia2026-09-17Benton, John B Jr NEGOTIATION79Bernardo Dominic
1032Greenwood S KolmetzArgentina2026-09-17Commercial Press UNQUALIFIED18Ivan Magalhaes
1033Leon B MaletArgentina2026-10-08Truhlar And Truhlar Attys NEGOTIATION73Ivan Magalhaes
1034Costa H KolmetzArgentina2026-09-16Truhlar And Truhlar Attys QUALIFIED95Elwin Sharvill
1035Maisha L DilliardGermany2026-09-11Chemel, James L Cpa RENEWAL51Amy Elsner
1036Octavia L ButtCanada2026-09-16Benton, John B Jr UNQUALIFIED47Amy Elsner
1037Isabel S SaylorsSpain2026-10-03Dorl, James J Esq PROPOSAL63Anna Fali
1038Johnson Z MaletJapan2026-09-30Dorl, James J Esq UNQUALIFIED73Elwin Sharvill
1039Leja W RulapaughSpain2026-10-01Buckley Miller Wright QUALIFIED96Ioni Bowcher
1040Nicolas A PoquetteSpain2026-09-13Chemel, James L Cpa NEGOTIATION80Ivan Magalhaes
1041Ricardo E RoysterFrance2026-10-05Dorl, James J Esq UNQUALIFIED0Elwin Sharvill
1042Aditya Z NickaIndia2026-09-30Dorl, James J Esq NEGOTIATION78Bernardo Dominic
1043Aika X SlusarskiUnited Kingdom2026-09-19Commercial Press NEW40Bernardo Dominic
1044Stacey V CampainArgentina2026-09-11Feltz Printing Service PROPOSAL11Xuxue Feng
1045Morrow X MaletRussia2026-09-12Truhlar And Truhlar Attys PROPOSAL22Elwin Sharvill
1046Mayumi V KolmetzAustralia2026-09-23Benton, John B Jr NEGOTIATION68Anna Fali
1047Octavia D ShinkoGermany2026-10-04Printing Dimensions NEW76Amy Elsner
1048Antonio D SlusarskiAustralia2026-09-29Feiner Bros PROPOSAL66Asiya Javayant
1049Leon L PoquetteBrazil2026-09-29Feltz Printing Service NEW10Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Nicolas Y PerinRussiaAmy Elsner NEGOTIATION
Rodrigues D VocelkaGermanyAsiya Javayant RENEWAL
Isabel E RimUnited KingdomAmy Elsner QUALIFIED
Silvio T GillianBrazilElwin Sharvill QUALIFIED
Costa C KolmetzArgentinaXuxue Feng RENEWAL
Nicolas J StockhamAustraliaStephen Shaw PROPOSAL
Wickens U SaylorsFranceElwin Sharvill PROPOSAL
Jennifer W IturbideBrazilElwin Sharvill PROPOSAL
Jefferson Y MaletFranceElwin Sharvill UNQUALIFIED
Arvin D RulapaughIndiaAmy Elsner QUALIFIED
Maisha S ChuiArgentinaOnyama Limba NEGOTIATION
Ashley L KuskoIndiaAnna Fali NEGOTIATION
Jefferson O GillianCanadaIoni Bowcher NEW
Jennifer Q GarufiGermanyAnna Fali UNQUALIFIED
Arvin X RoysterRussiaIvan Magalhaes RENEWAL
Rodrigues Z ButtBrazilStephen Shaw NEW
Jennifer Q ChuiGermanyIoni Bowcher PROPOSAL
Aditya K RutaIndiaIvan Magalhaes UNQUALIFIED
Greenwood X MorascaCanadaBernardo Dominic NEGOTIATION
Octavia B VenereArgentinaAnna Fali RENEWAL
James D GlickRussiaAsiya Javayant QUALIFIED
Octavia M InouyeFranceXuxue Feng PROPOSAL
Leja W NickaArgentinaAsiya Javayant RENEWAL
Julie A IturbideSpainOnyama Limba QUALIFIED
Juan V InouyeItalyAnna Fali PROPOSAL
Tony C CaldareraFranceIvan Magalhaes RENEWAL
Aruna M PoquetteGermanyIoni Bowcher RENEWAL
Silvio L SergiUnited KingdomAsiya Javayant PROPOSAL
Costa D WhobreySpainAsiya Javayant UNQUALIFIED
Clifford T DilliardItalyXuxue Feng PROPOSAL
Kaitlin Y CaldareraArgentinaIvan Magalhaes NEW
Tony F PerinItalyBernardo Dominic QUALIFIED
Maisha L RoysterSpainOnyama Limba RENEWAL
Deepesh Q CampainArgentinaOnyama Limba UNQUALIFIED
Faith I DoeItalyBernardo Dominic NEGOTIATION
Costa S SergiSpainAmy Elsner PROPOSAL
Cody M PoquetteArgentinaXuxue Feng RENEWAL
Juan S MaletRussiaStephen Shaw PROPOSAL
Izzy J PoquetteArgentinaIoni Bowcher QUALIFIED
Aditya A PerinBrazilOnyama Limba NEGOTIATION
Claire R ShinkoJapanElwin Sharvill NEGOTIATION
Kaitlin R MaletCanadaStephen Shaw NEGOTIATION
Faith W PaprockiCanadaBernardo Dominic UNQUALIFIED
Silvio X StockhamUnited KingdomXuxue Feng RENEWAL
Deepesh G RulapaughSpainAnna Fali RENEWAL
Leon B SchemmerSpainAsiya Javayant UNQUALIFIED
Ivar I FigeroaUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois T GlickJapanIvan Magalhaes RENEWAL
Faith F VenereAustraliaAsiya Javayant NEW
Juan A MaletUnited KingdomXuxue Feng NEGOTIATION
Frozen Columns
Name
Octavia A Darakjy
Cody A Paprocki
Tony B Chui
Octavia Q Morasca
Kaitlin T Albares
Cody R Nestle
Munro F Iturbide
Nicolas N Malet
Cody Z Chui
Clifford Q Amigon
Mujtaba I Foller
Cody C Gaucho
Juan S Iturbide
Maria F Sergi
Arvin A Briddick
Silvio B Ruta
Alejandro C Ferencz
Rodrigues U Shinko
Octavia H Butt
Leon A Slusarski
Greenwood L Garufi
Cody H Kusko
Salvatore I Poquette
Greenwood F Slusarski
Mujtaba A Nestle
Faith O Briddick
Aika N Rulapaugh
Misaki O Flosi
Chavez A Schemmer
Maisha N Kusko
Kadeem N Nicka
Stacey P Poquette
Kaitlin T Stenseth
David O Dilliard
Octavia U Bolognia
Alejandro I Foller
Sinclair L Gaucho
Cody D Ostrosky
Wickens S Whobrey
Julie Z Briddick
Johnson M Gaucho
Antonio M Morasca
Clifford Q Foller
Jeanfrancois D Gaucho
Izzy V Morasca
Arvin Q Campain
Munro Z Inouye
Izzy E Gaucho
Nicolas C Ferencz
Maisha K Sergi
IdCountryDate
1000United Kingdom2026-09-28
1001Germany2026-09-22
1002Japan2026-09-22
1003Italy2026-09-13
1004United Kingdom2026-10-09
1005Russia2026-09-19
1006United Kingdom2026-09-29
1007Spain2026-09-11
1008Italy2026-09-17
1009Canada2026-10-01
1010Japan2026-09-18
1011Spain2026-09-12
1012Germany2026-10-07
1013Spain2026-09-12
1014Argentina2026-09-27
1015Australia2026-09-24
1016Spain2026-09-30
1017India2026-09-28
1018Australia2026-10-03
1019France2026-09-28
1020United Kingdom2026-09-11
1021Brazil2026-10-07
1022Australia2026-10-01
1023Germany2026-09-15
1024Spain2026-09-12
1025France2026-09-23
1026United Kingdom2026-09-21
1027Australia2026-10-04
1028Argentina2026-09-15
1029Russia2026-09-11
1030Russia2026-09-23
1031Germany2026-09-20
1032Italy2026-09-14
1033Russia2026-09-15
1034Germany2026-09-21
1035Japan2026-09-27
1036India2026-09-11
1037India2026-09-26
1038Brazil2026-09-23
1039Spain2026-10-03
1040Germany2026-10-09
1041Australia2026-09-16
1042Spain2026-09-14
1043Spain2026-09-26
1044France2026-10-06
1045Spain2026-09-14
1046Australia2026-09-29
1047Germany2026-10-06
1048Japan2026-09-27
1049Russia2026-09-13

On-Demand Data

NameIdCountryDate
Ricardo W Bowley1000Japan2026-10-03
Emily Z Ruta1001Russia2026-09-28
Maria Y Campain1002India2026-10-05
Jones B Waycott1003Brazil2026-10-01
Leja G Whobrey1004United Kingdom2026-09-22
Francesco L Poquette1005Australia2026-09-16
Maria T Nestle1006Russia2026-09-18
Johnson S Malet1007Spain2026-10-08
Nicolas Y Stenseth1008Argentina2026-09-30
Rodrigues K Poquette1009Argentina2026-09-12
Emily L Bolognia1010Russia2026-09-18
Francesco G Stenseth1011Spain2026-10-03
Ashley F Albares1012India2026-09-25
Salvatore J Schemmer1013Argentina2026-09-10
Izzy X Poquette1014Italy2026-09-19
Aditya I Perin1015Germany2026-09-26
Ivar L Tollner1016Germany2026-09-26
Stacey D Iturbide1017Germany2026-09-24
Ivar R Darakjy1018Japan2026-10-01
Mayumi A Stenseth1019Germany2026-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi B DilliardBrazilStephen Shaw QUALIFIED
Mayumi K GlickSpainIvan Magalhaes NEW
Maisha A FollerJapanIvan Magalhaes RENEWAL
Mujtaba E SchemmerRussiaOnyama Limba PROPOSAL
Johnson S NickaIndiaAnna Fali RENEWAL
Greenwood H CaudyFranceBernardo Dominic PROPOSAL
Claire M RoysterGermanyElwin Sharvill PROPOSAL
Kaitlin O NickaRussiaAsiya Javayant QUALIFIED
Sinclair K RutaFranceIoni Bowcher NEW
Sinclair C SaylorsIndiaStephen Shaw RENEWAL
David V MorascaSpainAnna Fali QUALIFIED
Aditya I SergiIndiaBernardo Dominic NEW
Chavez C AlbaresRussiaAsiya Javayant UNQUALIFIED
Chavez U GlickArgentinaOnyama Limba NEW
Isabel E IturbideBrazilAmy Elsner QUALIFIED
Clifford I BologniaRussiaAmy Elsner QUALIFIED
Nicolas D ButtGermanyAmy Elsner QUALIFIED
Misaki P BowleyGermanyIvan Magalhaes PROPOSAL
Rodrigues T SchemmerAustraliaOnyama Limba UNQUALIFIED
Maria M RoysterBrazilXuxue Feng NEGOTIATION
Arvin T SergiJapanIvan Magalhaes QUALIFIED
Cody B VenereJapanElwin Sharvill PROPOSAL
Ricardo S TollnerArgentinaOnyama Limba NEGOTIATION
Jennifer Z MaletBrazilIoni Bowcher NEW
Rodrigues L RutaIndiaAmy Elsner QUALIFIED
Aruna M OstroskyJapanXuxue Feng RENEWAL
Aika J TollnerCanadaIoni Bowcher PROPOSAL
Aika O ShinkoCanadaIvan Magalhaes QUALIFIED
Nicolas G ButtFranceIvan Magalhaes NEGOTIATION
Isabel O WieserAustraliaIoni Bowcher PROPOSAL
Isabel H GauchoCanadaAmy Elsner RENEWAL
Chavez S KolmetzUnited KingdomStephen Shaw NEW
Morrow E GlickRussiaAsiya Javayant NEGOTIATION
Darci U VocelkaAustraliaAsiya Javayant QUALIFIED
Adams E SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Claire S VocelkaUnited KingdomAsiya Javayant NEW
Johnson Q InouyeSpainBernardo Dominic UNQUALIFIED
Claire U PoquetteItalyAnna Fali NEW
Maisha B StensethFranceXuxue Feng RENEWAL
Chavez F AlbaresFranceAsiya Javayant 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>