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
Kadeem G PaprockiFranceAmy Elsner UNQUALIFIED
James S CaldareraArgentinaAmy Elsner RENEWAL
Greenwood T SaylorsUnited KingdomXuxue Feng NEW
Juan S AmigonRussiaIvan Magalhaes PROPOSAL
Mayumi J ChuiGermanyStephen Shaw UNQUALIFIED
Murillo C KolmetzFranceStephen Shaw UNQUALIFIED
Sinclair I BologniaRussiaElwin Sharvill NEW
Rodrigues I SlusarskiJapanIvan Magalhaes QUALIFIED
Isabel C WhobreySpainIvan Magalhaes UNQUALIFIED
Greenwood I PoquetteFranceIoni Bowcher NEW
Jones R VocelkaBrazilAsiya Javayant RENEWAL
Stacey U ChuiAustraliaXuxue Feng UNQUALIFIED
Izzy D IturbideBrazilAnna Fali NEGOTIATION
Rodrigues O CaldareraArgentinaStephen Shaw NEGOTIATION
Jefferson K NickaItalyBernardo Dominic PROPOSAL
Octavia M MarrierIndiaAnna Fali RENEWAL
Aditya P WaycottCanadaOnyama Limba PROPOSAL
Rodrigues I AlbaresJapanBernardo Dominic UNQUALIFIED
Aditya Q FlosiRussiaXuxue Feng UNQUALIFIED
Isabel O ButtGermanyBernardo Dominic QUALIFIED
Alejandro Q RoysterUnited KingdomAsiya Javayant QUALIFIED
Aika E MarrierFranceAsiya Javayant NEW
Isabel Y CampainBrazilAmy Elsner PROPOSAL
Silvio Z SchemmerUnited KingdomIoni Bowcher NEW
Alejandro A DoeGermanyElwin Sharvill NEGOTIATION
Aika M VenereGermanyAsiya Javayant NEGOTIATION
Jeanfrancois R ShinkoItalyAsiya Javayant RENEWAL
Leja J GarufiItalyElwin Sharvill NEGOTIATION
Kaitlin N FollerArgentinaAnna Fali QUALIFIED
Johnson J RimItalyAnna Fali RENEWAL
Juan V KuskoUnited KingdomElwin Sharvill NEGOTIATION
Murillo B OldroydUnited KingdomIvan Magalhaes PROPOSAL
Aditya Q OldroydBrazilElwin Sharvill UNQUALIFIED
Maria D SlusarskiSpainAsiya Javayant RENEWAL
Jones A MacleadAustraliaIvan Magalhaes PROPOSAL
Rodrigues Y GlickCanadaAsiya Javayant NEGOTIATION
Maria P FigeroaGermanyIvan Magalhaes NEW
Claire M KuskoAustraliaElwin Sharvill RENEWAL
Izzy A ShinkoSpainElwin Sharvill QUALIFIED
Clifford S VenereItalyBernardo Dominic UNQUALIFIED
Izzy K InouyeArgentinaIvan Magalhaes NEW
Alejandro N CampainSpainIoni Bowcher RENEWAL
Jones R MaletAustraliaIvan Magalhaes NEGOTIATION
Julie D GlickArgentinaIvan Magalhaes QUALIFIED
Chavez F DilliardRussiaOnyama Limba NEGOTIATION
Leon S GillianItalyIvan Magalhaes PROPOSAL
Jeanfrancois X CaudySpainElwin Sharvill RENEWAL
Chavez S MorascaUnited KingdomAmy Elsner NEW
Misaki X VocelkaArgentinaOnyama Limba QUALIFIED
Johnson K BowleySpainBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria J VocelkaRussiaStephen Shaw UNQUALIFIED
Mayumi X SchemmerGermanyElwin Sharvill NEW
Wickens O CaudyRussiaAnna Fali PROPOSAL
Deepesh P MarrierSpainIvan Magalhaes NEW
Aruna R MaletUnited KingdomBernardo Dominic RENEWAL
Smith G AlbaresItalyStephen Shaw NEGOTIATION
Murillo F PerinBrazilElwin Sharvill NEW
Murillo Y AmigonUnited KingdomAmy Elsner UNQUALIFIED
James V BologniaJapanAmy Elsner NEGOTIATION
Costa B IturbideUnited KingdomElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo V SlusarskiBrazil2026-10-16Rousseaux, Michael Esq PROPOSAL28Asiya Javayant
1001Alejandro F KuskoCanada2026-11-06King, Christopher A Esq PROPOSAL2Stephen Shaw
1002Misaki Y RutaAustralia2026-10-30Chanay, Jeffrey A Esq NEW87Amy Elsner
1003Sinclair Z DoeIndia2026-10-22Chemel, James L Cpa QUALIFIED26Anna Fali
1004Emily L PaprockiItaly2026-11-11Printing Dimensions RENEWAL19Ivan Magalhaes
1005David C FollerArgentina2026-10-15Chapman, Ross E Esq NEGOTIATION24Xuxue Feng
1006Munro F SchemmerUnited Kingdom2026-10-22Morlong Associates NEW46Xuxue Feng
1007Jennifer I ButtCanada2026-10-26Commercial Press PROPOSAL89Asiya Javayant
1008Johnson F TollnerGermany2026-11-01Rousseaux, Michael Esq QUALIFIED7Anna Fali
1009Silvio A ShinkoItaly2026-10-26Rangoni Of Florence PROPOSAL15Onyama Limba
1010Aika Z MarrierIndia2026-11-08Rangoni Of Florence NEGOTIATION64Ioni Bowcher
1011David C CampainCanada2026-11-01Benton, John B Jr NEW87Onyama Limba
1012Sinclair Z InouyeIndia2026-10-14King, Christopher A Esq QUALIFIED95Ioni Bowcher
1013Leja Q NickaSpain2026-10-24Morlong Associates PROPOSAL25Elwin Sharvill
1014Mujtaba J SaylorsCanada2026-11-04Feiner Bros PROPOSAL86Ioni Bowcher
1015Rodrigues D TollnerIndia2026-10-14Benton, John B Jr PROPOSAL51Elwin Sharvill
1016Maisha X ShinkoIndia2026-10-19Benton, John B Jr QUALIFIED73Ioni Bowcher
1017Cody D BriddickGermany2026-10-17Morlong Associates RENEWAL0Ioni Bowcher
1018Jennifer S MaletJapan2026-11-05King, Christopher A Esq PROPOSAL48Anna Fali
1019Greenwood L MarrierIndia2026-10-31Benton, John B Jr QUALIFIED15Amy Elsner
1020Clifford G AlbaresSpain2026-10-18Commercial Press UNQUALIFIED59Xuxue Feng
1021Aditya C IturbideFrance2026-10-19Feiner Bros QUALIFIED6Bernardo Dominic
1022Jones N DoeFrance2026-11-01Commercial Press RENEWAL16Bernardo Dominic
1023Aditya I SergiSpain2026-10-28King, Christopher A Esq NEW69Anna Fali
1024Ricardo N BriddickSpain2026-11-06Feltz Printing Service UNQUALIFIED91Asiya Javayant
1025Misaki A RutaUnited Kingdom2026-10-14Buckley Miller Wright NEGOTIATION2Elwin Sharvill
1026Ivar P DilliardGermany2026-10-18Morlong Associates QUALIFIED8Stephen Shaw
1027Faith Y RimGermany2026-11-08Morlong Associates QUALIFIED68Amy Elsner
1028Johnson O AlbaresFrance2026-10-21Morlong Associates UNQUALIFIED63Stephen Shaw
1029Isabel E SergiFrance2026-10-13Chapman, Ross E Esq NEGOTIATION22Xuxue Feng
1030Cody A StockhamCanada2026-11-05Benton, John B Jr QUALIFIED5Amy Elsner
1031Aika M MorascaAustralia2026-11-08Chemel, James L Cpa UNQUALIFIED58Anna Fali
1032Juan B KolmetzCanada2026-10-20Chemel, James L Cpa QUALIFIED81Ioni Bowcher
1033Leja P KuskoGermany2026-10-24Morlong Associates NEGOTIATION77Onyama Limba
1034David T FlosiJapan2026-10-13Benton, John B Jr NEW38Asiya Javayant
1035Tony Q SaylorsArgentina2026-11-03Morlong Associates NEGOTIATION8Elwin Sharvill
1036Jones C RutaCanada2026-10-22Commercial Press UNQUALIFIED41Amy Elsner
1037Nicolas S PoquetteRussia2026-11-04Chapman, Ross E Esq NEGOTIATION48Onyama Limba
1038Isabel A InouyeArgentina2026-10-28Chanay, Jeffrey A Esq PROPOSAL64Ioni Bowcher
1039Maisha T StockhamGermany2026-10-23Rangoni Of Florence PROPOSAL86Xuxue Feng
1040Jefferson Q PaprockiRussia2026-10-14Chapman, Ross E Esq NEW59Bernardo Dominic
1041Alejandro E GarufiBrazil2026-10-29Printing Dimensions UNQUALIFIED55Onyama Limba
1042Emily P AlbaresItaly2026-10-22Printing Dimensions UNQUALIFIED11Bernardo Dominic
1043Francesco K TollnerCanada2026-10-27Buckley Miller Wright RENEWAL25Elwin Sharvill
1044Aika H RimSpain2026-10-24Chemel, James L Cpa RENEWAL57Ioni Bowcher
1045Stacey L FerenczJapan2026-11-08Benton, John B Jr RENEWAL13Ivan Magalhaes
1046Morrow F StockhamUnited Kingdom2026-10-20Chanay, Jeffrey A Esq UNQUALIFIED29Amy Elsner
1047Jones J BowleyIndia2026-11-07Feltz Printing Service UNQUALIFIED52Onyama Limba
1048Alejandro V BowleyRussia2026-11-09Feiner Bros PROPOSAL11Anna Fali
1049Wickens K RutaBrazil2026-10-20Printing Dimensions NEW80Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer E VocelkaAustraliaIoni Bowcher UNQUALIFIED
Ashley H KuskoSpainOnyama Limba UNQUALIFIED
Greenwood I TollnerIndiaAsiya Javayant NEW
Aika Z GillianFranceAsiya Javayant UNQUALIFIED
Alejandro O FlosiRussiaAnna Fali PROPOSAL
Jeanfrancois Q WhobreyAustraliaOnyama Limba UNQUALIFIED
Mujtaba D MarrierCanadaAsiya Javayant NEW
Aruna Z MaletBrazilStephen Shaw UNQUALIFIED
Ashley O DarakjyUnited KingdomAmy Elsner NEW
James W SaylorsIndiaIvan Magalhaes NEW
Julie P CaudySpainIoni Bowcher PROPOSAL
Sinclair H PerinFranceOnyama Limba NEGOTIATION
Darci U KolmetzSpainIvan Magalhaes QUALIFIED
Ashley W InouyeJapanBernardo Dominic UNQUALIFIED
Munro V BologniaBrazilIvan Magalhaes RENEWAL
Kadeem C TollnerAustraliaAnna Fali QUALIFIED
Maria E RutaSpainIoni Bowcher RENEWAL
Adams C SlusarskiGermanyIoni Bowcher UNQUALIFIED
Jefferson Q ChuiBrazilAnna Fali NEW
Aika U FerenczUnited KingdomIvan Magalhaes PROPOSAL
Izzy K MarrierCanadaOnyama Limba RENEWAL
Morrow S GlickIndiaAmy Elsner PROPOSAL
Costa Z RoysterBrazilStephen Shaw NEW
Johnson T RimIndiaAmy Elsner PROPOSAL
Chavez N TollnerJapanIvan Magalhaes PROPOSAL
Sinclair E MaletArgentinaStephen Shaw NEGOTIATION
Ashley B GauchoItalyOnyama Limba QUALIFIED
Nicolas D WaycottCanadaIoni Bowcher QUALIFIED
Francesco V AlbaresAustraliaAmy Elsner RENEWAL
Misaki T BriddickGermanyElwin Sharvill PROPOSAL
Alejandro O RimSpainIvan Magalhaes QUALIFIED
Aditya U FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Ashley G SchemmerSpainOnyama Limba NEGOTIATION
Leja H RimAustraliaAmy Elsner QUALIFIED
Juan P ChuiAustraliaAnna Fali QUALIFIED
Claire K DarakjyUnited KingdomOnyama Limba UNQUALIFIED
Antonio L KolmetzSpainIvan Magalhaes UNQUALIFIED
Ashley K DoeCanadaAmy Elsner PROPOSAL
Jeanfrancois A ShinkoAustraliaAnna Fali PROPOSAL
Julie T DoeAustraliaIoni Bowcher NEGOTIATION
Jennifer Y InouyeItalyIvan Magalhaes NEW
Deepesh Q TollnerCanadaBernardo Dominic NEGOTIATION
James P CaudyItalyAnna Fali QUALIFIED
Claire I AlbaresAustraliaElwin Sharvill PROPOSAL
Isabel F StockhamFranceAsiya Javayant PROPOSAL
Nicolas X OldroydAustraliaXuxue Feng UNQUALIFIED
Morrow Z ButtBrazilOnyama Limba PROPOSAL
Chavez A SlusarskiGermanyIvan Magalhaes QUALIFIED
Ivar W CaldareraSpainAsiya Javayant QUALIFIED
Tony D ChuiArgentinaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Wickens M Slusarski
Faith Y Venere
Mayumi P Iturbide
Deepesh A Ferencz
Tony T Stenseth
Smith T Shinko
Mujtaba H Stenseth
Cody I Schemmer
Aika N Shinko
Aruna I Dilliard
Mujtaba X Albares
Aika F Perin
Chavez Z Foller
Antonio L Caldarera
Jeanfrancois C Poquette
Cody E Gillian
Smith Z Caldarera
Misaki I Caudy
Leon G Campain
Isabel Y Figeroa
Jefferson K Schemmer
Wickens I Gillian
Leja Z Perin
Cody P Malet
Ashley L Ruta
Sinclair O Bolognia
Faith F Glick
Maria D Darakjy
Costa V Ruta
Johnson N Malet
Aruna L Nestle
Darci O Gaucho
Ashley F Malet
Smith C Ferencz
Leon C Oldroyd
James V Tollner
Ricardo S Poquette
Smith Q Nicka
Morrow Z Albares
Chavez I Rulapaugh
Emily M Doe
Stacey E Foller
Darci M Rulapaugh
Juan Y Schemmer
Stacey O Inouye
Mujtaba G Foller
Julie D Waycott
Greenwood Q Doe
Faith N Foller
Julie R Royster
IdCountryDate
1000Argentina2026-10-23
1001Canada2026-11-01
1002Japan2026-10-23
1003Canada2026-10-19
1004Japan2026-11-05
1005United Kingdom2026-11-06
1006Argentina2026-10-27
1007France2026-10-22
1008Japan2026-10-23
1009Spain2026-10-14
1010Germany2026-10-25
1011Germany2026-10-13
1012France2026-11-07
1013France2026-10-25
1014Brazil2026-11-02
1015Russia2026-11-05
1016Russia2026-11-08
1017Japan2026-10-18
1018Russia2026-10-16
1019Brazil2026-10-27
1020Russia2026-10-15
1021Argentina2026-10-25
1022Spain2026-10-27
1023Japan2026-10-29
1024Brazil2026-10-14
1025Brazil2026-10-19
1026Argentina2026-11-08
1027Russia2026-11-09
1028Russia2026-11-01
1029Canada2026-10-24
1030Germany2026-10-15
1031Australia2026-10-25
1032Germany2026-11-02
1033Argentina2026-10-24
1034Brazil2026-10-19
1035Australia2026-10-24
1036Russia2026-10-30
1037Russia2026-11-02
1038Argentina2026-10-23
1039India2026-11-06
1040Russia2026-11-09
1041Germany2026-10-26
1042Argentina2026-11-10
1043Australia2026-10-31
1044France2026-10-14
1045Japan2026-10-23
1046Spain2026-11-06
1047Russia2026-11-02
1048Brazil2026-10-31
1049Canada2026-10-15

On-Demand Data

NameIdCountryDate
Alejandro P Poquette1000Canada2026-11-04
Smith K Darakjy1001United Kingdom2026-11-06
Johnson Z Gillian1002Japan2026-10-16
Aruna C Caudy1003Argentina2026-10-24
Misaki I Caldarera1004India2026-10-30
Sinclair P Malet1005Australia2026-10-26
Tony Z Malet1006Spain2026-10-29
Johnson X Malet1007Spain2026-10-13
Misaki E Stockham1008Canada2026-10-28
Claire P Doe1009Argentina2026-10-15
Kadeem Z Rim1010Spain2026-10-23
Kaitlin C Gillian1011United Kingdom2026-10-23
Aika O Kolmetz1012Spain2026-10-30
Julie R Bolognia1013Canada2026-11-05
Darci C Dilliard1014Argentina2026-11-11
Ivar E Albares1015Argentina2026-10-14
Smith L Perin1016Russia2026-11-06
Jennifer X Malet1017Australia2026-10-31
Morrow B Briddick1018Germany2026-11-06
Maisha E Malet1019Russia2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie A StensethBrazilAsiya Javayant NEGOTIATION
Chavez Z GarufiGermanyAmy Elsner NEW
Kadeem N CaldareraGermanyAsiya Javayant PROPOSAL
Ashley E SlusarskiItalyIoni Bowcher UNQUALIFIED
Murillo E AlbaresCanadaIvan Magalhaes RENEWAL
James C BowleyAustraliaStephen Shaw QUALIFIED
Ashley J BowleyGermanyElwin Sharvill PROPOSAL
Ashley A GillianIndiaBernardo Dominic NEGOTIATION
Leja J DilliardUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois J BowleyBrazilIoni Bowcher RENEWAL
Julie Q OldroydIndiaAsiya Javayant UNQUALIFIED
Juan Y BowleyItalyAsiya Javayant UNQUALIFIED
Clifford W SaylorsJapanBernardo Dominic NEGOTIATION
Sinclair S NickaIndiaAnna Fali QUALIFIED
Silvio K BriddickJapanIvan Magalhaes NEGOTIATION
Misaki D SaylorsAustraliaXuxue Feng NEGOTIATION
Misaki X SergiJapanXuxue Feng UNQUALIFIED
James X MorascaSpainBernardo Dominic RENEWAL
David P BowleyGermanyBernardo Dominic NEGOTIATION
Munro L VocelkaSpainAnna Fali PROPOSAL
Francesco D NickaBrazilAmy Elsner QUALIFIED
Maria S MaletIndiaStephen Shaw NEGOTIATION
Leon J NickaFranceAsiya Javayant QUALIFIED
Leja V OldroydRussiaXuxue Feng PROPOSAL
James N MaletRussiaStephen Shaw UNQUALIFIED
Cody M ButtGermanyElwin Sharvill RENEWAL
Salvatore W NickaFranceAsiya Javayant UNQUALIFIED
Antonio D FlosiIndiaAnna Fali UNQUALIFIED
Deepesh O CaudyArgentinaXuxue Feng QUALIFIED
Leon O FlosiCanadaBernardo Dominic RENEWAL
James M ShinkoGermanyStephen Shaw UNQUALIFIED
Sinclair N InouyeBrazilIoni Bowcher NEW
Aditya L KuskoCanadaOnyama Limba RENEWAL
Stacey G VenereBrazilXuxue Feng NEW
Murillo S FigeroaArgentinaBernardo Dominic QUALIFIED
Octavia O RoysterSpainOnyama Limba QUALIFIED
Ricardo K SergiIndiaIvan Magalhaes NEW
Arvin L DoeJapanAnna Fali NEGOTIATION
Kaitlin L WieserAustraliaAsiya Javayant PROPOSAL
Aditya M OstroskyFranceElwin Sharvill 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>