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
Maisha D SaylorsRussiaOnyama Limba RENEWAL
Sinclair K OstroskyGermanyElwin Sharvill PROPOSAL
Mayumi Z MaletItalyIoni Bowcher UNQUALIFIED
Aika W NickaAustraliaAnna Fali UNQUALIFIED
Aditya X WhobreyGermanyAsiya Javayant NEW
Misaki I CaudyIndiaXuxue Feng UNQUALIFIED
Emily T PaprockiSpainAnna Fali RENEWAL
Faith R RoysterSpainStephen Shaw UNQUALIFIED
Salvatore P BowleySpainAsiya Javayant RENEWAL
Munro N GarufiRussiaIvan Magalhaes PROPOSAL
Jefferson L GarufiRussiaIoni Bowcher RENEWAL
Isabel F CaudyCanadaIvan Magalhaes NEW
Jeanfrancois W WhobreySpainBernardo Dominic QUALIFIED
Francesco J FlosiGermanyIoni Bowcher QUALIFIED
Nicolas V DilliardJapanXuxue Feng RENEWAL
Kadeem S GillianArgentinaAsiya Javayant PROPOSAL
Jones Y RutaUnited KingdomElwin Sharvill RENEWAL
Isabel M FollerBrazilOnyama Limba UNQUALIFIED
Octavia F MorascaItalyAsiya Javayant NEW
Aditya I GillianAustraliaOnyama Limba NEGOTIATION
Izzy R StockhamCanadaAmy Elsner NEGOTIATION
Kadeem Z MacleadUnited KingdomBernardo Dominic RENEWAL
Johnson T SaylorsIndiaAsiya Javayant QUALIFIED
Chavez W MaletGermanyOnyama Limba NEW
Adams V IturbideFranceOnyama Limba NEGOTIATION
Wickens D ShinkoIndiaAnna Fali NEGOTIATION
Murillo G OldroydSpainAsiya Javayant UNQUALIFIED
Antonio B BologniaFranceAsiya Javayant PROPOSAL
David V GlickRussiaBernardo Dominic NEGOTIATION
Julie A MaletBrazilXuxue Feng PROPOSAL
Aruna F PaprockiCanadaOnyama Limba NEGOTIATION
Mujtaba K DoeBrazilIoni Bowcher RENEWAL
Tony E StensethCanadaElwin Sharvill NEGOTIATION
Claire X SchemmerGermanyAsiya Javayant NEGOTIATION
Arvin W CampainCanadaElwin Sharvill NEW
Chavez I SergiAustraliaIoni Bowcher NEGOTIATION
Munro P PoquetteItalyAmy Elsner UNQUALIFIED
Jones J PoquetteItalyAmy Elsner NEW
Murillo R DilliardArgentinaXuxue Feng QUALIFIED
Jones Q FerenczBrazilAnna Fali QUALIFIED
Julie A SaylorsUnited KingdomBernardo Dominic QUALIFIED
Stacey L StockhamItalyIoni Bowcher NEGOTIATION
Chavez T RimRussiaOnyama Limba PROPOSAL
Darci S GillianArgentinaXuxue Feng RENEWAL
Misaki T StensethUnited KingdomOnyama Limba PROPOSAL
Ivar F KolmetzSpainIvan Magalhaes NEW
Morrow Z GillianRussiaOnyama Limba QUALIFIED
Antonio U GarufiIndiaXuxue Feng RENEWAL
James P SlusarskiIndiaAmy Elsner RENEWAL
Mujtaba S NestleGermanyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley T GillianAustraliaBernardo Dominic QUALIFIED
Kaitlin J BriddickItalyXuxue Feng UNQUALIFIED
Emily V DarakjyAustraliaXuxue Feng NEW
Rodrigues D SergiArgentinaBernardo Dominic NEGOTIATION
Aruna M FlosiSpainIoni Bowcher NEGOTIATION
Munro I GauchoRussiaStephen Shaw PROPOSAL
Isabel M SaylorsBrazilIvan Magalhaes PROPOSAL
Octavia I RutaItalyAsiya Javayant QUALIFIED
Maria S VocelkaArgentinaAnna Fali QUALIFIED
Costa G MaletUnited KingdomAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia D RutaBrazil2026-09-06Benton, John B Jr NEGOTIATION17Bernardo Dominic
1001Johnson F MarrierArgentina2026-09-19Truhlar And Truhlar Attys UNQUALIFIED95Xuxue Feng
1002Wickens D GillianArgentina2026-09-08Chapman, Ross E Esq QUALIFIED45Amy Elsner
1003Clifford Z StensethBrazil2026-09-03Feiner Bros PROPOSAL79Anna Fali
1004Isabel Q VocelkaItaly2026-09-10Printing Dimensions PROPOSAL86Xuxue Feng
1005Faith K PerinJapan2026-09-27Feiner Bros QUALIFIED7Xuxue Feng
1006Jeanfrancois N KolmetzSpain2026-09-20Commercial Press QUALIFIED70Elwin Sharvill
1007Aika L WhobreyGermany2026-09-16Truhlar And Truhlar Attys NEGOTIATION89Stephen Shaw
1008Morrow I CampainGermany2026-08-30Rousseaux, Michael Esq NEW91Elwin Sharvill
1009Leja N WaycottJapan2026-09-19Chapman, Ross E Esq QUALIFIED95Elwin Sharvill
1010Clifford E MarrierUnited Kingdom2026-08-29Truhlar And Truhlar Attys NEGOTIATION27Bernardo Dominic
1011Jennifer P GarufiFrance2026-09-08Rangoni Of Florence RENEWAL56Amy Elsner
1012Julie P CaldareraCanada2026-09-25Chapman, Ross E Esq RENEWAL71Ioni Bowcher
1013Wickens Z PoquetteArgentina2026-09-07Feiner Bros UNQUALIFIED15Onyama Limba
1014Johnson G RutaIndia2026-09-18Rousseaux, Michael Esq QUALIFIED8Ivan Magalhaes
1015Salvatore C PoquetteGermany2026-09-18Commercial Press NEW90Ioni Bowcher
1016Wickens O ChuiUnited Kingdom2026-09-17Commercial Press RENEWAL6Onyama Limba
1017Faith O NestleGermany2026-08-31Morlong Associates NEW64Elwin Sharvill
1018Darci T StockhamArgentina2026-09-04Chemel, James L Cpa PROPOSAL42Ioni Bowcher
1019Emily H MorascaJapan2026-09-27Dorl, James J Esq UNQUALIFIED93Anna Fali
1020Maria Q ShinkoSpain2026-09-09Dorl, James J Esq QUALIFIED25Ioni Bowcher
1021Clifford Q AlbaresArgentina2026-09-12Truhlar And Truhlar Attys NEW72Amy Elsner
1022Aruna Y VocelkaFrance2026-09-08Feltz Printing Service RENEWAL86Ioni Bowcher
1023Silvio M SchemmerSpain2026-09-22Chapman, Ross E Esq NEGOTIATION13Elwin Sharvill
1024Octavia B OstroskyAustralia2026-09-05Chanay, Jeffrey A Esq RENEWAL87Elwin Sharvill
1025Ashley Q RutaAustralia2026-08-29Morlong Associates NEW36Onyama Limba
1026Clifford L AlbaresAustralia2026-09-13Morlong Associates RENEWAL14Asiya Javayant
1027Ashley N WieserBrazil2026-09-13Buckley Miller Wright RENEWAL76Anna Fali
1028Isabel K CampainRussia2026-09-27Buckley Miller Wright NEW21Anna Fali
1029Chavez X SaylorsIndia2026-09-08Morlong Associates PROPOSAL64Xuxue Feng
1030James J PerinAustralia2026-09-07Rousseaux, Michael Esq NEGOTIATION41Ivan Magalhaes
1031James U KuskoArgentina2026-09-19Rangoni Of Florence UNQUALIFIED4Bernardo Dominic
1032Mayumi H NickaBrazil2026-09-08King, Christopher A Esq NEGOTIATION51Elwin Sharvill
1033Aditya J FigeroaFrance2026-09-06Rangoni Of Florence NEGOTIATION38Stephen Shaw
1034Nicolas S MarrierBrazil2026-09-03Commercial Press NEGOTIATION63Bernardo Dominic
1035Adams R NestleFrance2026-09-10Commercial Press RENEWAL65Ivan Magalhaes
1036Rodrigues A ButtCanada2026-09-09King, Christopher A Esq RENEWAL21Ivan Magalhaes
1037Alejandro W InouyeBrazil2026-09-15Feiner Bros NEGOTIATION92Anna Fali
1038Kadeem P CaudyArgentina2026-09-17Benton, John B Jr PROPOSAL22Ioni Bowcher
1039Aditya Y DarakjyGermany2026-09-07Rangoni Of Florence NEW60Amy Elsner
1040Ivar R FollerUnited Kingdom2026-09-05Printing Dimensions NEGOTIATION28Xuxue Feng
1041Darci P IturbideBrazil2026-09-06Feiner Bros RENEWAL43Amy Elsner
1042James C MaletArgentina2026-09-22Chanay, Jeffrey A Esq NEW36Bernardo Dominic
1043Maisha N DarakjyIndia2026-09-12Commercial Press NEGOTIATION25Onyama Limba
1044Darci M MaletCanada2026-09-20Dorl, James J Esq RENEWAL24Ivan Magalhaes
1045Julie Z GillianJapan2026-09-18Morlong Associates RENEWAL27Amy Elsner
1046Maisha X PoquetteCanada2026-09-18Commercial Press RENEWAL50Ioni Bowcher
1047Maisha O DoeFrance2026-09-01Chapman, Ross E Esq RENEWAL28Anna Fali
1048Tony P SergiCanada2026-09-10Feiner Bros QUALIFIED90Amy Elsner
1049Adams A RutaBrazil2026-09-18Printing Dimensions NEGOTIATION89Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio M PaprockiFranceBernardo Dominic QUALIFIED
Jones D MaletIndiaXuxue Feng RENEWAL
Nicolas Z MarrierItalyOnyama Limba QUALIFIED
Salvatore W WieserCanadaAsiya Javayant PROPOSAL
Julie U FerenczArgentinaAmy Elsner RENEWAL
Clifford O RulapaughAustraliaIoni Bowcher UNQUALIFIED
Aditya I MacleadAustraliaOnyama Limba NEW
Salvatore K ButtJapanStephen Shaw PROPOSAL
Morrow W NestleIndiaAmy Elsner NEW
Claire H RutaArgentinaIvan Magalhaes NEGOTIATION
Faith M SaylorsAustraliaAmy Elsner UNQUALIFIED
Silvio C VenereFranceAmy Elsner UNQUALIFIED
Maria T VocelkaIndiaAnna Fali UNQUALIFIED
Maria S OldroydAustraliaAmy Elsner UNQUALIFIED
Mayumi A GarufiAustraliaXuxue Feng QUALIFIED
Murillo P ButtRussiaAmy Elsner PROPOSAL
Juan A RimRussiaIoni Bowcher NEGOTIATION
Aruna T PerinSpainElwin Sharvill RENEWAL
Salvatore K WhobreyCanadaAsiya Javayant UNQUALIFIED
Johnson D SlusarskiIndiaAnna Fali RENEWAL
Adams T RutaRussiaAsiya Javayant NEGOTIATION
Darci O KolmetzItalyIoni Bowcher NEGOTIATION
Antonio I DilliardUnited KingdomElwin Sharvill QUALIFIED
Ivar O MaletGermanyIoni Bowcher QUALIFIED
Emily N FigeroaCanadaAsiya Javayant UNQUALIFIED
Ricardo C WieserArgentinaElwin Sharvill NEGOTIATION
Francesco N DoeJapanAsiya Javayant QUALIFIED
Faith U CaldareraIndiaXuxue Feng NEW
Sinclair Y OstroskyArgentinaAnna Fali NEGOTIATION
Ricardo K StensethGermanyAsiya Javayant QUALIFIED
Emily K DoeCanadaIoni Bowcher UNQUALIFIED
Emily U CaudyIndiaAnna Fali NEGOTIATION
Julie Y ShinkoIndiaBernardo Dominic QUALIFIED
Arvin C WieserFranceIoni Bowcher UNQUALIFIED
Kadeem E NestleRussiaAnna Fali NEGOTIATION
Nicolas C RulapaughItalyAmy Elsner RENEWAL
Aruna D FollerRussiaStephen Shaw UNQUALIFIED
Aditya H VenereJapanXuxue Feng UNQUALIFIED
Chavez G ButtGermanyIoni Bowcher PROPOSAL
Jones B IturbideGermanyOnyama Limba RENEWAL
Ashley I StensethItalyOnyama Limba NEGOTIATION
Aika F MaletArgentinaStephen Shaw NEGOTIATION
Aruna C FlosiSpainIvan Magalhaes RENEWAL
David W DarakjyBrazilAsiya Javayant QUALIFIED
Wickens U FollerItalyStephen Shaw UNQUALIFIED
Mujtaba U CaldareraArgentinaIoni Bowcher RENEWAL
Leja O MaletArgentinaXuxue Feng QUALIFIED
Izzy R DilliardItalyIvan Magalhaes RENEWAL
Claire B DarakjyItalyBernardo Dominic PROPOSAL
Rodrigues E GillianAustraliaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Deepesh Y Kusko
Mayumi M Dilliard
Darci F Briddick
Mayumi G Tollner
Nicolas N Bowley
Misaki E Morasca
Smith X Poquette
Jennifer O Flosi
Arvin F Royster
Aditya R Butt
Wickens T Flosi
Aditya X Schemmer
Mujtaba Y Vocelka
Leja F Ferencz
Greenwood B Poquette
Aruna N Waycott
Clifford Y Doe
Aditya E Wieser
Kaitlin T Foller
Deepesh I Nestle
Smith K Gillian
Kadeem T Vocelka
Maisha U Inouye
Ricardo P Nicka
Antonio O Figeroa
Emily J Royster
Leon P Maclead
Jennifer P Kusko
Johnson K Bowley
Ricardo K Nestle
Wickens U Nestle
Faith J Nestle
Nicolas S Oldroyd
Tony G Perin
Antonio O Figeroa
Julie J Albares
Ashley S Venere
Mayumi M Nicka
Ivar S Poquette
Jefferson Y Saylors
Kaitlin S Briddick
Johnson B Ruta
Aditya I Paprocki
Octavia G Marrier
Ashley L Marrier
Maria V Caudy
Kaitlin X Sergi
Kaitlin Z Waycott
Izzy A Shinko
Octavia D Kolmetz
IdCountryDate
1000Canada2026-09-10
1001Argentina2026-08-31
1002Spain2026-09-06
1003Italy2026-09-09
1004Spain2026-09-23
1005Argentina2026-09-13
1006France2026-09-20
1007Spain2026-08-29
1008France2026-09-24
1009Russia2026-09-15
1010Japan2026-09-20
1011France2026-09-23
1012Canada2026-09-17
1013Australia2026-09-16
1014Japan2026-08-29
1015France2026-09-10
1016Russia2026-09-08
1017France2026-09-25
1018Germany2026-09-19
1019Brazil2026-09-26
1020Russia2026-09-03
1021Germany2026-09-25
1022Spain2026-09-20
1023Canada2026-09-23
1024Argentina2026-09-11
1025Spain2026-09-05
1026United Kingdom2026-09-19
1027India2026-08-29
1028Germany2026-09-17
1029France2026-09-17
1030Brazil2026-09-08
1031Japan2026-09-06
1032United Kingdom2026-09-12
1033Russia2026-09-20
1034Brazil2026-09-23
1035Germany2026-09-16
1036Japan2026-09-14
1037Russia2026-09-07
1038Spain2026-09-17
1039Canada2026-09-19
1040France2026-09-23
1041India2026-09-09
1042Germany2026-09-14
1043United Kingdom2026-09-03
1044Argentina2026-09-12
1045United Kingdom2026-09-21
1046Italy2026-08-31
1047Germany2026-09-09
1048Italy2026-08-31
1049Spain2026-09-02

On-Demand Data

NameIdCountryDate
Costa I Butt1000India2026-09-06
Emily K Amigon1001United Kingdom2026-09-10
Nicolas H Venere1002Brazil2026-09-22
Arvin L Saylors1003Brazil2026-09-04
Clifford X Waycott1004Spain2026-09-15
Smith K Stockham1005Argentina2026-08-29
Nicolas A Rulapaugh1006Italy2026-09-03
Johnson D Bowley1007India2026-09-26
Rodrigues D Gaucho1008France2026-08-31
Julie W Gillian1009Brazil2026-09-24
Chavez U Schemmer1010Spain2026-09-06
Sinclair R Malet1011France2026-09-14
Ricardo D Dilliard1012United Kingdom2026-09-18
Leon X Sergi1013Argentina2026-09-13
Aditya G Dilliard1014Spain2026-09-11
Jefferson T Albares1015Japan2026-09-17
Jennifer N Stenseth1016India2026-09-20
Alejandro X Perin1017United Kingdom2026-09-07
Kaitlin C Campain1018Russia2026-09-24
Sinclair X Inouye1019United Kingdom2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin G WieserIndiaBernardo Dominic UNQUALIFIED
Ivar T NestleUnited KingdomStephen Shaw NEW
James L ButtGermanyIvan Magalhaes UNQUALIFIED
Mujtaba M MaletIndiaStephen Shaw NEGOTIATION
Aditya R CaudyUnited KingdomElwin Sharvill RENEWAL
Jones V RutaFranceXuxue Feng NEGOTIATION
Mayumi L PoquetteSpainAmy Elsner PROPOSAL
Stacey Y NickaAustraliaOnyama Limba RENEWAL
Kaitlin T FlosiAustraliaAsiya Javayant UNQUALIFIED
Munro J StensethFranceIoni Bowcher NEGOTIATION
Adams W ButtCanadaOnyama Limba PROPOSAL
Octavia Y GlickGermanyAmy Elsner NEGOTIATION
Nicolas W BriddickSpainIoni Bowcher PROPOSAL
Munro D BriddickSpainIoni Bowcher NEGOTIATION
Julie L SaylorsFranceXuxue Feng NEGOTIATION
James S MarrierFranceStephen Shaw QUALIFIED
Stacey J GauchoSpainAsiya Javayant NEW
Munro N MaletJapanIvan Magalhaes RENEWAL
Octavia C TollnerAustraliaStephen Shaw UNQUALIFIED
Kaitlin W AmigonCanadaXuxue Feng QUALIFIED
David Y GarufiArgentinaStephen Shaw QUALIFIED
Juan T FlosiJapanXuxue Feng NEGOTIATION
Leon Q AmigonArgentinaElwin Sharvill RENEWAL
Jefferson C SergiRussiaAsiya Javayant PROPOSAL
Aruna Z AlbaresRussiaAnna Fali RENEWAL
Deepesh V FlosiIndiaOnyama Limba RENEWAL
Julie P NestleRussiaStephen Shaw RENEWAL
Maisha Q TollnerGermanyIvan Magalhaes UNQUALIFIED
Salvatore E BowleyFranceAsiya Javayant NEGOTIATION
Ricardo U WhobreyBrazilAnna Fali QUALIFIED
Kadeem M VenereGermanyIvan Magalhaes QUALIFIED
David G ShinkoArgentinaIoni Bowcher NEGOTIATION
Leon R SergiIndiaElwin Sharvill NEW
Alejandro A RimIndiaOnyama Limba NEW
Antonio I DarakjyGermanyOnyama Limba NEGOTIATION
Silvio A TollnerItalyStephen Shaw NEW
Rodrigues R FigeroaItalyIoni Bowcher UNQUALIFIED
Jeanfrancois H FerenczBrazilAmy Elsner NEGOTIATION
Leja O PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens B GauchoIndiaAnna Fali 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>