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
Morrow E RimBrazilElwin Sharvill NEGOTIATION
Costa N SlusarskiFranceOnyama Limba PROPOSAL
Deepesh Y DilliardAustraliaOnyama Limba NEW
Wickens D SchemmerArgentinaAmy Elsner NEGOTIATION
Faith A GarufiBrazilIoni Bowcher UNQUALIFIED
Murillo M DarakjyItalyIoni Bowcher QUALIFIED
Mujtaba H FerenczRussiaAmy Elsner UNQUALIFIED
Deepesh T NickaSpainAmy Elsner RENEWAL
Cody O RulapaughBrazilElwin Sharvill RENEWAL
Jones J BowleyBrazilBernardo Dominic UNQUALIFIED
Johnson G VenereAustraliaIoni Bowcher UNQUALIFIED
Rodrigues B KuskoCanadaStephen Shaw QUALIFIED
Darci K FlosiJapanAnna Fali UNQUALIFIED
Morrow U IturbideAustraliaAmy Elsner PROPOSAL
Tony G MorascaBrazilIoni Bowcher UNQUALIFIED
Aruna U RulapaughFranceOnyama Limba RENEWAL
Tony A PerinJapanBernardo Dominic PROPOSAL
Kadeem U CaldareraArgentinaAmy Elsner NEGOTIATION
Darci O AlbaresIndiaAmy Elsner NEGOTIATION
Octavia T SergiArgentinaStephen Shaw NEGOTIATION
Isabel G NickaItalyStephen Shaw NEW
Murillo D MaletItalyAnna Fali PROPOSAL
Adams K VenereSpainElwin Sharvill PROPOSAL
Arvin G WieserAustraliaBernardo Dominic NEW
Salvatore Q WhobreyCanadaAnna Fali QUALIFIED
Ricardo U MorascaAustraliaAnna Fali RENEWAL
Juan U SergiUnited KingdomAnna Fali NEGOTIATION
Ricardo I GlickUnited KingdomIvan Magalhaes NEW
Munro U PaprockiAustraliaXuxue Feng RENEWAL
Leja F FerenczGermanyElwin Sharvill RENEWAL
Emily Q SaylorsSpainStephen Shaw QUALIFIED
Cody Y GlickBrazilAmy Elsner NEW
Murillo X KuskoItalyBernardo Dominic PROPOSAL
Smith Z ChuiFranceAmy Elsner UNQUALIFIED
Nicolas L VocelkaJapanAsiya Javayant RENEWAL
Chavez K BriddickJapanIoni Bowcher NEGOTIATION
Mujtaba H MaletUnited KingdomAsiya Javayant QUALIFIED
James N OstroskyRussiaElwin Sharvill PROPOSAL
Ashley V SchemmerJapanAnna Fali QUALIFIED
Ashley R KuskoGermanyIvan Magalhaes NEW
Isabel B PerinGermanyOnyama Limba NEGOTIATION
David W GarufiArgentinaOnyama Limba QUALIFIED
Misaki G FollerGermanyBernardo Dominic NEW
Ivar W InouyeAustraliaOnyama Limba UNQUALIFIED
James I RutaUnited KingdomOnyama Limba NEW
Maisha V InouyeArgentinaAmy Elsner UNQUALIFIED
Johnson L ShinkoArgentinaAsiya Javayant UNQUALIFIED
David M ShinkoItalyBernardo Dominic QUALIFIED
Costa M DilliardAustraliaAmy Elsner NEGOTIATION
Aika J RoysterCanadaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo S FlosiJapanAnna Fali PROPOSAL
Greenwood O GlickAustraliaBernardo Dominic NEW
Johnson B NestleAustraliaBernardo Dominic QUALIFIED
Arvin H NestleRussiaAnna Fali NEW
Costa M KuskoSpainIoni Bowcher UNQUALIFIED
Jennifer H AmigonUnited KingdomXuxue Feng NEW
Rodrigues D CampainJapanAsiya Javayant UNQUALIFIED
Silvio E KolmetzRussiaOnyama Limba UNQUALIFIED
Antonio R DarakjyJapanAsiya Javayant PROPOSAL
Clifford Q WaycottFranceAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin K RutaItaly2026-10-10Morlong Associates PROPOSAL49Anna Fali
1001Tony J MacleadCanada2026-09-25Benton, John B Jr NEW83Amy Elsner
1002Izzy N VocelkaIndia2026-10-09Truhlar And Truhlar Attys QUALIFIED24Anna Fali
1003Izzy E GauchoIndia2026-10-04Commercial Press PROPOSAL48Ivan Magalhaes
1004Rodrigues E AmigonGermany2026-09-19Rousseaux, Michael Esq RENEWAL70Onyama Limba
1005Munro N RimGermany2026-10-15Feiner Bros NEW74Bernardo Dominic
1006Deepesh T GarufiGermany2026-10-12Feltz Printing Service NEGOTIATION14Asiya Javayant
1007Ashley A DarakjyBrazil2026-10-15Feiner Bros PROPOSAL36Anna Fali
1008Rodrigues M MacleadSpain2026-09-17Rangoni Of Florence RENEWAL42Bernardo Dominic
1009Maria O StockhamBrazil2026-10-07Feltz Printing Service RENEWAL41Anna Fali
1010Julie Y KolmetzUnited Kingdom2026-10-07King, Christopher A Esq PROPOSAL47Amy Elsner
1011Clifford V SlusarskiBrazil2026-09-18Benton, John B Jr QUALIFIED9Asiya Javayant
1012Salvatore Y OstroskyArgentina2026-10-01Dorl, James J Esq QUALIFIED35Amy Elsner
1013Emily T WaycottArgentina2026-10-07Rangoni Of Florence NEW8Ivan Magalhaes
1014Johnson Z SlusarskiArgentina2026-09-27Truhlar And Truhlar Attys QUALIFIED20Anna Fali
1015Izzy D PaprockiGermany2026-09-22Commercial Press QUALIFIED78Elwin Sharvill
1016Salvatore A PaprockiAustralia2026-10-11Commercial Press PROPOSAL16Anna Fali
1017Morrow O GarufiArgentina2026-10-16Truhlar And Truhlar Attys RENEWAL45Ioni Bowcher
1018Ricardo G GlickFrance2026-10-03Printing Dimensions NEW13Elwin Sharvill
1019Francesco Q WhobreyUnited Kingdom2026-10-03Truhlar And Truhlar Attys NEGOTIATION52Ivan Magalhaes
1020Clifford P RulapaughUnited Kingdom2026-10-15Feiner Bros NEW50Xuxue Feng
1021Leon N WhobreyBrazil2026-09-26Feiner Bros NEGOTIATION76Ioni Bowcher
1022Wickens E StensethArgentina2026-09-29Truhlar And Truhlar Attys RENEWAL7Ivan Magalhaes
1023Aika Q CaudyUnited Kingdom2026-09-29Dorl, James J Esq QUALIFIED49Amy Elsner
1024Emily U NickaAustralia2026-10-08Buckley Miller Wright NEW73Stephen Shaw
1025Isabel S KolmetzArgentina2026-10-04Chanay, Jeffrey A Esq RENEWAL84Onyama Limba
1026Kadeem Y StensethAustralia2026-09-20Dorl, James J Esq PROPOSAL2Ioni Bowcher
1027Claire U BologniaBrazil2026-09-17Rousseaux, Michael Esq UNQUALIFIED82Anna Fali
1028Costa I BowleyGermany2026-10-13Rousseaux, Michael Esq NEGOTIATION30Bernardo Dominic
1029Kadeem O FlosiBrazil2026-10-14Chanay, Jeffrey A Esq UNQUALIFIED32Elwin Sharvill
1030Clifford M MorascaAustralia2026-09-24Dorl, James J Esq RENEWAL81Ioni Bowcher
1031Tony A CampainFrance2026-09-30Morlong Associates UNQUALIFIED11Ioni Bowcher
1032Maria D DoeCanada2026-09-19Morlong Associates PROPOSAL3Stephen Shaw
1033Tony J MarrierJapan2026-10-12Chanay, Jeffrey A Esq NEGOTIATION31Xuxue Feng
1034Murillo M MaletSpain2026-10-14Truhlar And Truhlar Attys UNQUALIFIED59Amy Elsner
1035Mujtaba J StockhamJapan2026-09-17King, Christopher A Esq UNQUALIFIED14Ioni Bowcher
1036Leon B StensethItaly2026-09-18Rangoni Of Florence UNQUALIFIED70Stephen Shaw
1037Leon R SlusarskiGermany2026-10-07Dorl, James J Esq NEW83Stephen Shaw
1038Emily T FerenczBrazil2026-09-22Buckley Miller Wright UNQUALIFIED72Asiya Javayant
1039Aruna S VenereSpain2026-10-10Chapman, Ross E Esq PROPOSAL38Ioni Bowcher
1040Misaki E RutaArgentina2026-09-19Chapman, Ross E Esq UNQUALIFIED80Ivan Magalhaes
1041Leja P PoquetteIndia2026-09-24Feltz Printing Service RENEWAL76Xuxue Feng
1042Cody L PoquetteFrance2026-10-01Feltz Printing Service RENEWAL13Anna Fali
1043Salvatore C BowleyRussia2026-09-30Buckley Miller Wright NEGOTIATION1Asiya Javayant
1044Tony R MaletJapan2026-09-24Truhlar And Truhlar Attys NEGOTIATION43Amy Elsner
1045Kadeem G SchemmerArgentina2026-10-08Rousseaux, Michael Esq RENEWAL69Anna Fali
1046James U FerenczRussia2026-10-10Truhlar And Truhlar Attys NEGOTIATION94Anna Fali
1047Kadeem I PerinIndia2026-09-27Morlong Associates QUALIFIED66Ivan Magalhaes
1048Mujtaba O BriddickCanada2026-09-24Feiner Bros UNQUALIFIED3Asiya Javayant
1049Leja H PerinItaly2026-10-10Truhlar And Truhlar Attys NEGOTIATION26Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Morrow Z OldroydAustraliaBernardo Dominic NEGOTIATION
Emily I MarrierAustraliaAmy Elsner QUALIFIED
Cody Z ButtArgentinaXuxue Feng PROPOSAL
Wickens A StensethUnited KingdomAmy Elsner QUALIFIED
Aruna V CampainIndiaAmy Elsner NEW
Silvio A ShinkoCanadaBernardo Dominic UNQUALIFIED
Aika V FlosiJapanStephen Shaw NEGOTIATION
Leon E MacleadAustraliaAmy Elsner NEW
Antonio U ChuiAustraliaOnyama Limba NEW
Leon E CampainGermanyElwin Sharvill RENEWAL
Ricardo E FollerGermanyAmy Elsner NEGOTIATION
Darci S AmigonItalyBernardo Dominic NEGOTIATION
Octavia C CampainRussiaAmy Elsner UNQUALIFIED
Costa U KolmetzBrazilBernardo Dominic PROPOSAL
Johnson C WhobreyUnited KingdomBernardo Dominic PROPOSAL
Morrow V FollerRussiaAmy Elsner QUALIFIED
Leon G MorascaCanadaOnyama Limba NEW
Munro Q CaldareraBrazilXuxue Feng QUALIFIED
Jennifer C StockhamItalyIoni Bowcher NEW
Claire W ShinkoGermanyAmy Elsner NEW
Clifford S BologniaArgentinaAmy Elsner QUALIFIED
Ricardo F ShinkoCanadaStephen Shaw NEW
Antonio F CaldareraUnited KingdomOnyama Limba QUALIFIED
Leja T MorascaGermanyBernardo Dominic PROPOSAL
Ricardo M StockhamArgentinaAnna Fali NEW
James D FlosiFranceIoni Bowcher NEGOTIATION
Smith B RoysterItalyIvan Magalhaes NEW
Salvatore P GlickSpainAsiya Javayant PROPOSAL
Morrow S GarufiSpainStephen Shaw UNQUALIFIED
Aditya K PerinUnited KingdomAnna Fali QUALIFIED
Darci Z OldroydUnited KingdomXuxue Feng NEGOTIATION
Morrow A AlbaresAustraliaAnna Fali QUALIFIED
Leja T PerinCanadaElwin Sharvill PROPOSAL
Sinclair P SchemmerAustraliaElwin Sharvill NEW
Greenwood K RutaBrazilXuxue Feng UNQUALIFIED
Adams P GarufiJapanElwin Sharvill NEW
Morrow S MaletAustraliaBernardo Dominic QUALIFIED
Tony R TollnerJapanIoni Bowcher PROPOSAL
Julie Y WieserItalyIvan Magalhaes UNQUALIFIED
Izzy J ChuiSpainIoni Bowcher NEW
Jeanfrancois H FigeroaJapanAnna Fali QUALIFIED
Maisha K CampainJapanIvan Magalhaes NEGOTIATION
Faith V PoquetteJapanOnyama Limba QUALIFIED
Jones L MacleadCanadaIvan Magalhaes UNQUALIFIED
Rodrigues L CaldareraArgentinaStephen Shaw RENEWAL
Kadeem W BologniaSpainBernardo Dominic QUALIFIED
Kadeem M OstroskyGermanyAsiya Javayant NEGOTIATION
Rodrigues W RulapaughCanadaAsiya Javayant NEW
Munro D BriddickIndiaAmy Elsner RENEWAL
David Q ShinkoRussiaStephen Shaw QUALIFIED
Frozen Columns
Name
Leja Q Oldroyd
Rodrigues N Waycott
David D Rim
Murillo N Perin
Claire T Inouye
Morrow S Dilliard
Octavia Q Foller
Greenwood R Maclead
Faith E Albares
Deepesh V Perin
Jefferson J Morasca
Mayumi L Rulapaugh
David Z Poquette
Francesco I Malet
Rodrigues D Rim
Johnson K Stockham
Aruna I Gillian
Costa C Rulapaugh
Ivar T Rim
Leon I Wieser
Ricardo F Nicka
Johnson B Morasca
Juan S Sergi
Chavez P Stockham
Jefferson R Butt
Maisha V Venere
Arvin A Flosi
Isabel K Rulapaugh
Antonio K Vocelka
Aruna L Flosi
David X Slusarski
Adams D Foller
Ricardo G Iturbide
Maria D Rulapaugh
Emily T Shinko
Ashley A Vocelka
Sinclair A Briddick
Alejandro B Amigon
Claire J Vocelka
Tony L Ostrosky
Isabel Q Ferencz
Ricardo G Caudy
Silvio A Ruta
Maisha A Slusarski
Stacey F Butt
Faith A Slusarski
Darci P Maclead
Emily B Iturbide
Sinclair A Kusko
Cody T Paprocki
IdCountryDate
1000Russia2026-10-13
1001Italy2026-09-22
1002United Kingdom2026-10-03
1003Russia2026-09-23
1004Russia2026-09-17
1005United Kingdom2026-10-14
1006Japan2026-09-29
1007Australia2026-10-04
1008Australia2026-10-14
1009India2026-09-22
1010Argentina2026-10-01
1011Argentina2026-09-29
1012Russia2026-09-22
1013Russia2026-10-14
1014India2026-10-02
1015France2026-10-10
1016Argentina2026-10-04
1017Argentina2026-10-02
1018India2026-10-04
1019Japan2026-10-12
1020Brazil2026-09-30
1021India2026-09-25
1022United Kingdom2026-10-14
1023Australia2026-09-25
1024India2026-09-23
1025Russia2026-09-30
1026Germany2026-09-21
1027Australia2026-10-05
1028India2026-09-27
1029Japan2026-09-30
1030Australia2026-09-17
1031Spain2026-09-18
1032Brazil2026-10-04
1033Italy2026-09-19
1034Russia2026-09-28
1035Brazil2026-09-25
1036Canada2026-10-02
1037Japan2026-10-04
1038Japan2026-10-06
1039Japan2026-09-30
1040United Kingdom2026-10-05
1041Argentina2026-10-16
1042Spain2026-10-04
1043Germany2026-09-28
1044Brazil2026-09-19
1045France2026-10-12
1046Italy2026-10-15
1047Australia2026-10-02
1048Australia2026-10-01
1049Argentina2026-09-29

On-Demand Data

NameIdCountryDate
Ashley D Venere1000Spain2026-10-15
Ashley K Campain1001United Kingdom2026-10-15
Salvatore E Tollner1002Russia2026-10-03
Nicolas B Butt1003Canada2026-09-23
Claire K Albares1004Australia2026-10-03
Kaitlin O Gaucho1005Russia2026-09-29
Johnson R Caudy1006France2026-09-28
Jennifer E Rim1007Argentina2026-09-21
Stacey U Rulapaugh1008Australia2026-09-22
Chavez I Nestle1009Brazil2026-09-22
Kaitlin J Rulapaugh1010Brazil2026-09-17
Kadeem Q Tollner1011Argentina2026-09-18
Cody S Caldarera1012United Kingdom2026-10-04
Salvatore P Gaucho1013United Kingdom2026-09-19
Claire V Ferencz1014Argentina2026-09-18
Julie V Rulapaugh1015France2026-09-30
Claire B Nestle1016Italy2026-10-16
Emily I Flosi1017Germany2026-09-21
Greenwood B Glick1018Japan2026-10-01
Nicolas L Malet1019India2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh U ChuiBrazilAmy Elsner QUALIFIED
Aditya T FollerFranceBernardo Dominic UNQUALIFIED
Faith F InouyeIndiaElwin Sharvill UNQUALIFIED
Smith Q SlusarskiUnited KingdomAnna Fali QUALIFIED
James X GauchoUnited KingdomOnyama Limba NEW
Octavia E MaletCanadaElwin Sharvill NEGOTIATION
Maria K PaprockiGermanyIoni Bowcher NEW
Morrow S ButtSpainBernardo Dominic PROPOSAL
Clifford I DoeItalyXuxue Feng NEW
Francesco G SergiBrazilStephen Shaw NEGOTIATION
Rodrigues C OldroydSpainAnna Fali QUALIFIED
Jones F MarrierCanadaAsiya Javayant UNQUALIFIED
Aruna O MarrierItalyAmy Elsner QUALIFIED
Leon S OldroydIndiaAmy Elsner UNQUALIFIED
Leja P PaprockiGermanyBernardo Dominic NEGOTIATION
Deepesh M WaycottBrazilStephen Shaw UNQUALIFIED
Juan A AmigonSpainAsiya Javayant NEW
Francesco D StockhamUnited KingdomBernardo Dominic QUALIFIED
Nicolas A PoquetteGermanyOnyama Limba NEGOTIATION
Ricardo H RoysterFranceBernardo Dominic NEW
Aditya C FlosiItalyAmy Elsner NEW
Ricardo V BowleySpainIvan Magalhaes UNQUALIFIED
Mujtaba Z InouyeCanadaXuxue Feng PROPOSAL
Cody Z SergiCanadaStephen Shaw RENEWAL
Rodrigues W AlbaresArgentinaBernardo Dominic QUALIFIED
Arvin Q AmigonJapanIvan Magalhaes PROPOSAL
Silvio C MarrierBrazilIoni Bowcher NEGOTIATION
Juan K RulapaughRussiaAnna Fali NEGOTIATION
Aditya M IturbideIndiaAnna Fali PROPOSAL
Sinclair E SaylorsRussiaBernardo Dominic NEGOTIATION
Maria V RulapaughRussiaBernardo Dominic PROPOSAL
Alejandro I MaletAustraliaIoni Bowcher PROPOSAL
Clifford Z BologniaArgentinaAnna Fali QUALIFIED
Jeanfrancois P BowleyRussiaIoni Bowcher QUALIFIED
Nicolas A FollerAustraliaXuxue Feng RENEWAL
Kadeem N MaletJapanAnna Fali PROPOSAL
Arvin G StockhamBrazilXuxue Feng PROPOSAL
Adams M OldroydJapanElwin Sharvill PROPOSAL
Juan X DilliardBrazilOnyama Limba RENEWAL
Jennifer M RutaSpainXuxue Feng 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>