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
Rodrigues A PoquetteArgentinaIoni Bowcher NEW
Izzy K WieserAustraliaAsiya Javayant NEGOTIATION
Salvatore V BriddickBrazilOnyama Limba NEGOTIATION
Ricardo B RutaRussiaIvan Magalhaes PROPOSAL
Nicolas O DilliardBrazilXuxue Feng UNQUALIFIED
Stacey Q WieserSpainXuxue Feng QUALIFIED
Misaki G BriddickItalyAmy Elsner RENEWAL
Maisha L RutaGermanyOnyama Limba NEW
Maisha Q WhobreySpainXuxue Feng NEW
Ashley Q GillianFranceIoni Bowcher QUALIFIED
Mayumi S ChuiFranceStephen Shaw QUALIFIED
Chavez H DilliardRussiaBernardo Dominic NEW
Izzy J BowleyCanadaElwin Sharvill RENEWAL
Aditya V CampainGermanyStephen Shaw QUALIFIED
Silvio M ButtItalyBernardo Dominic QUALIFIED
Maisha Q ChuiSpainElwin Sharvill QUALIFIED
Stacey V FlosiItalyBernardo Dominic QUALIFIED
Misaki C MorascaArgentinaXuxue Feng NEGOTIATION
Claire V TollnerItalyAsiya Javayant QUALIFIED
Aika J FollerBrazilXuxue Feng NEGOTIATION
Deepesh I PoquetteItalyXuxue Feng NEGOTIATION
Maisha Z WaycottCanadaIoni Bowcher RENEWAL
Salvatore T FerenczAustraliaOnyama Limba PROPOSAL
Johnson J GlickJapanStephen Shaw NEW
Munro Y NestleFranceAmy Elsner NEW
Izzy J SaylorsItalyBernardo Dominic PROPOSAL
Leja A KuskoGermanyAmy Elsner PROPOSAL
Cody W GillianJapanAnna Fali PROPOSAL
Emily S NestleFranceStephen Shaw QUALIFIED
Kaitlin D AlbaresGermanyAmy Elsner QUALIFIED
Stacey B MaletArgentinaOnyama Limba PROPOSAL
Octavia N DarakjyItalyBernardo Dominic NEW
Izzy D NestleBrazilElwin Sharvill UNQUALIFIED
Johnson B DarakjyRussiaStephen Shaw NEGOTIATION
Morrow K RulapaughFranceXuxue Feng PROPOSAL
Johnson J AlbaresAustraliaElwin Sharvill NEGOTIATION
Salvatore Q ShinkoArgentinaElwin Sharvill NEGOTIATION
Jennifer W ShinkoJapanIvan Magalhaes RENEWAL
Greenwood W PerinFranceIvan Magalhaes NEGOTIATION
Emily D IturbideJapanIvan Magalhaes NEW
Maria L DoeCanadaIvan Magalhaes NEGOTIATION
Munro M StockhamUnited KingdomElwin Sharvill RENEWAL
Greenwood F RoysterArgentinaElwin Sharvill PROPOSAL
Isabel T WhobreyGermanyAnna Fali NEGOTIATION
Greenwood L IturbideBrazilAsiya Javayant UNQUALIFIED
Morrow H VocelkaBrazilIvan Magalhaes NEW
Jones U MacleadIndiaAnna Fali RENEWAL
Aruna R MorascaAustraliaAnna Fali NEW
Chavez N SlusarskiFranceBernardo Dominic NEGOTIATION
Aika E InouyeCanadaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja K FollerAustraliaBernardo Dominic NEGOTIATION
Kadeem T SchemmerUnited KingdomBernardo Dominic NEW
Leon J GarufiGermanyAmy Elsner NEW
Rodrigues R RimArgentinaOnyama Limba NEGOTIATION
Morrow B FollerGermanyElwin Sharvill UNQUALIFIED
Emily C IturbideItalyIoni Bowcher PROPOSAL
James P BriddickGermanyAnna Fali UNQUALIFIED
Mayumi N FigeroaAustraliaStephen Shaw UNQUALIFIED
Aditya G SchemmerItalyAmy Elsner NEGOTIATION
Maria N WhobreyRussiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia Z PaprockiArgentina2026-10-02Feiner Bros RENEWAL57Amy Elsner
1001Ivar J PaprockiGermany2026-10-08Morlong Associates QUALIFIED97Stephen Shaw
1002Antonio D CampainGermany2026-10-10Dorl, James J Esq RENEWAL70Stephen Shaw
1003Izzy D KolmetzUnited Kingdom2026-10-06Commercial Press NEGOTIATION95Xuxue Feng
1004Antonio Y AlbaresUnited Kingdom2026-10-30Rousseaux, Michael Esq RENEWAL33Elwin Sharvill
1005Ivar M CampainSpain2026-10-19Benton, John B Jr RENEWAL60Amy Elsner
1006Mujtaba F FlosiJapan2026-10-30Chapman, Ross E Esq NEGOTIATION72Bernardo Dominic
1007Jones K NestleItaly2026-10-14Buckley Miller Wright QUALIFIED78Onyama Limba
1008Antonio W BowleyBrazil2026-10-24Dorl, James J Esq NEGOTIATION91Xuxue Feng
1009Deepesh V TollnerFrance2026-10-08Benton, John B Jr RENEWAL6Ioni Bowcher
1010Nicolas Z SergiIndia2026-10-30King, Christopher A Esq UNQUALIFIED60Amy Elsner
1011Aika L DoeArgentina2026-10-09Chemel, James L Cpa PROPOSAL35Stephen Shaw
1012Arvin A BologniaFrance2026-10-20Feltz Printing Service QUALIFIED40Ivan Magalhaes
1013David P MaletBrazil2026-10-06Benton, John B Jr UNQUALIFIED2Stephen Shaw
1014Mayumi M GillianRussia2026-10-04Benton, John B Jr NEGOTIATION2Amy Elsner
1015Jeanfrancois N PerinIndia2026-10-29Rousseaux, Michael Esq NEW50Elwin Sharvill
1016Antonio T FigeroaBrazil2026-10-29Feiner Bros PROPOSAL91Anna Fali
1017Ricardo E OldroydGermany2026-10-24Rangoni Of Florence PROPOSAL86Stephen Shaw
1018James F MacleadAustralia2026-10-15Buckley Miller Wright UNQUALIFIED55Bernardo Dominic
1019Salvatore F MorascaUnited Kingdom2026-10-18Buckley Miller Wright NEGOTIATION46Ivan Magalhaes
1020Jefferson O OldroydGermany2026-10-13Rousseaux, Michael Esq NEGOTIATION73Anna Fali
1021Salvatore R SlusarskiJapan2026-10-09Chemel, James L Cpa NEGOTIATION53Xuxue Feng
1022Ivar M BriddickUnited Kingdom2026-10-16Feiner Bros NEGOTIATION26Stephen Shaw
1023Julie R DilliardIndia2026-10-15Chemel, James L Cpa QUALIFIED21Onyama Limba
1024Julie T SchemmerUnited Kingdom2026-10-07Chemel, James L Cpa UNQUALIFIED9Stephen Shaw
1025Morrow D FlosiGermany2026-10-24Dorl, James J Esq QUALIFIED16Anna Fali
1026Aruna X MorascaRussia2026-10-18Feiner Bros UNQUALIFIED79Xuxue Feng
1027Maria Y PaprockiRussia2026-10-09King, Christopher A Esq NEGOTIATION55Asiya Javayant
1028Juan W CampainUnited Kingdom2026-10-25Morlong Associates RENEWAL78Asiya Javayant
1029Leon K ChuiArgentina2026-10-18King, Christopher A Esq QUALIFIED11Asiya Javayant
1030Darci D GarufiAustralia2026-10-09Morlong Associates PROPOSAL38Ioni Bowcher
1031Faith T PoquetteArgentina2026-10-03Rangoni Of Florence NEGOTIATION53Bernardo Dominic
1032David S VenereJapan2026-10-27Morlong Associates NEGOTIATION38Amy Elsner
1033Leja F PoquetteAustralia2026-10-23Feiner Bros UNQUALIFIED89Onyama Limba
1034Greenwood J IturbideBrazil2026-10-07Buckley Miller Wright NEW51Xuxue Feng
1035Johnson R IturbideBrazil2026-10-17Rousseaux, Michael Esq PROPOSAL22Ioni Bowcher
1036Aika M SchemmerCanada2026-10-22King, Christopher A Esq RENEWAL3Stephen Shaw
1037Stacey G NickaUnited Kingdom2026-10-28Chanay, Jeffrey A Esq UNQUALIFIED92Stephen Shaw
1038Emily I FlosiBrazil2026-10-11Chapman, Ross E Esq NEW75Bernardo Dominic
1039Morrow Z SlusarskiBrazil2026-10-27Benton, John B Jr NEW98Ioni Bowcher
1040Chavez P CaudyCanada2026-10-07Morlong Associates RENEWAL62Stephen Shaw
1041Izzy K PaprockiBrazil2026-10-09Rangoni Of Florence UNQUALIFIED25Bernardo Dominic
1042Ivar P GlickAustralia2026-10-01Printing Dimensions PROPOSAL65Stephen Shaw
1043Isabel D BriddickAustralia2026-10-26Chapman, Ross E Esq UNQUALIFIED1Ioni Bowcher
1044Ricardo I KolmetzBrazil2026-10-22Dorl, James J Esq NEW23Bernardo Dominic
1045Silvio S BriddickRussia2026-10-02Rousseaux, Michael Esq NEGOTIATION94Elwin Sharvill
1046Clifford I CampainIndia2026-10-03Feiner Bros NEW44Stephen Shaw
1047Stacey D BologniaSpain2026-10-21Chemel, James L Cpa UNQUALIFIED89Bernardo Dominic
1048Francesco D StensethSpain2026-10-18Rousseaux, Michael Esq PROPOSAL70Xuxue Feng
1049Misaki Q CampainRussia2026-10-16Rousseaux, Michael Esq UNQUALIFIED70Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jefferson P SlusarskiBrazilElwin Sharvill RENEWAL
Maria K CaudyIndiaIoni Bowcher QUALIFIED
Stacey C DoeSpainAsiya Javayant QUALIFIED
Costa X IturbideFranceIoni Bowcher NEGOTIATION
Jefferson W StensethCanadaAsiya Javayant NEGOTIATION
Francesco W NickaUnited KingdomAmy Elsner UNQUALIFIED
Costa M BowleyIndiaOnyama Limba NEW
Greenwood Y DarakjyItalyElwin Sharvill NEW
Izzy X GlickCanadaBernardo Dominic NEW
Rodrigues L MarrierUnited KingdomAmy Elsner PROPOSAL
Sinclair V FlosiSpainAnna Fali NEGOTIATION
Aruna U DarakjyUnited KingdomBernardo Dominic QUALIFIED
Izzy T GlickFranceStephen Shaw RENEWAL
Alejandro Y BriddickSpainElwin Sharvill QUALIFIED
Clifford L StensethAustraliaAnna Fali QUALIFIED
Adams K MarrierFranceAmy Elsner PROPOSAL
Aika E GlickAustraliaXuxue Feng NEGOTIATION
Kaitlin V ShinkoArgentinaIoni Bowcher PROPOSAL
Johnson F PoquetteItalyIvan Magalhaes NEGOTIATION
Juan H FlosiGermanyStephen Shaw UNQUALIFIED
Claire C GauchoIndiaAmy Elsner QUALIFIED
Leon A DoeBrazilIoni Bowcher UNQUALIFIED
Ricardo H CaldareraAustraliaAmy Elsner NEW
James K PerinFranceIoni Bowcher RENEWAL
Kadeem D VocelkaSpainXuxue Feng UNQUALIFIED
Greenwood H NestleUnited KingdomBernardo Dominic UNQUALIFIED
James T VenereBrazilBernardo Dominic PROPOSAL
Leja A FollerCanadaOnyama Limba NEGOTIATION
Arvin H ButtJapanStephen Shaw PROPOSAL
Octavia M ShinkoRussiaElwin Sharvill QUALIFIED
Isabel N BriddickGermanyOnyama Limba NEGOTIATION
Francesco B KuskoJapanAnna Fali NEW
Kaitlin P RimFranceOnyama Limba RENEWAL
Kadeem X DilliardJapanIoni Bowcher QUALIFIED
Ivar L TollnerSpainBernardo Dominic UNQUALIFIED
Emily M GarufiGermanyAsiya Javayant PROPOSAL
Adams S MaletCanadaAmy Elsner QUALIFIED
Jones X NickaItalyAsiya Javayant RENEWAL
Leon O OstroskyAustraliaAnna Fali UNQUALIFIED
Nicolas P IturbideUnited KingdomXuxue Feng RENEWAL
Greenwood E RulapaughJapanXuxue Feng PROPOSAL
Leja R AlbaresItalyStephen Shaw UNQUALIFIED
Tony P SergiItalyIoni Bowcher PROPOSAL
Jefferson P CaudyGermanyXuxue Feng PROPOSAL
Mujtaba J PerinGermanyAmy Elsner NEW
Jefferson N SlusarskiGermanyAmy Elsner NEW
Murillo V MacleadUnited KingdomElwin Sharvill RENEWAL
Darci S WhobreyGermanyOnyama Limba QUALIFIED
Chavez J MaletUnited KingdomStephen Shaw QUALIFIED
Leon M NickaJapanXuxue Feng RENEWAL
Frozen Columns
Name
Aika E Stenseth
Ricardo O Bowley
James L Shinko
Adams Y Perin
Tony Y Chui
Nicolas R Ostrosky
Ashley H Gillian
Deepesh X Ruta
Jefferson H Stockham
Arvin H Bowley
Morrow E Figeroa
Chavez G Dilliard
James U Shinko
Nicolas M Kolmetz
Isabel A Inouye
Jennifer J Saylors
Mayumi A Albares
Aditya R Caldarera
Juan Y Morasca
Chavez T Sergi
Johnson E Ruta
Emily K Rim
Maria F Caudy
Claire V Tollner
Emily B Venere
Nicolas L Tollner
Darci D Glick
Salvatore L Doe
James R Foller
Leja D Garufi
Ricardo L Vocelka
David X Morasca
Ivar Q Albares
Julie L Butt
Kaitlin D Foller
Wickens T Iturbide
Munro U Rim
Ivar K Garufi
Misaki N Ruta
Arvin R Amigon
Francesco P Perin
Aika Q Amigon
Misaki F Oldroyd
Jones D Oldroyd
Juan Z Saylors
Smith Y Kolmetz
Stacey U Butt
Juan Y Slusarski
Aruna U Albares
Murillo B Darakjy
IdCountryDate
1000United Kingdom2026-10-07
1001Italy2026-10-29
1002Italy2026-10-06
1003Italy2026-10-09
1004Japan2026-10-05
1005Germany2026-10-15
1006Australia2026-10-24
1007Canada2026-10-04
1008Italy2026-10-23
1009Spain2026-10-14
1010Australia2026-10-07
1011United Kingdom2026-10-11
1012Germany2026-10-13
1013France2026-10-06
1014India2026-10-29
1015Argentina2026-10-30
1016Russia2026-10-28
1017Italy2026-10-01
1018Russia2026-10-06
1019Russia2026-10-26
1020Spain2026-10-06
1021Canada2026-10-25
1022Spain2026-10-24
1023Germany2026-10-11
1024Germany2026-10-18
1025Germany2026-10-22
1026United Kingdom2026-10-21
1027Spain2026-10-07
1028Italy2026-10-15
1029Spain2026-10-10
1030Spain2026-10-24
1031Russia2026-10-08
1032India2026-10-18
1033Japan2026-10-07
1034Canada2026-10-14
1035Japan2026-10-09
1036Brazil2026-10-18
1037Brazil2026-10-27
1038Russia2026-10-02
1039India2026-10-23
1040United Kingdom2026-10-02
1041France2026-10-16
1042Australia2026-10-14
1043France2026-10-03
1044Japan2026-10-02
1045India2026-10-26
1046Canada2026-10-03
1047Australia2026-10-05
1048Canada2026-10-02
1049Germany2026-10-22

On-Demand Data

NameIdCountryDate
Salvatore L Kolmetz1000Brazil2026-10-08
Izzy H Stenseth1001Japan2026-10-20
Sinclair U Kusko1002Japan2026-10-23
Ricardo C Dilliard1003France2026-10-13
Adams Q Perin1004India2026-10-18
Morrow C Malet1005Australia2026-10-16
Alejandro K Caldarera1006Brazil2026-10-16
Octavia G Chui1007India2026-10-21
Salvatore V Saylors1008Japan2026-10-28
Aditya S Briddick1009Australia2026-10-27
Izzy V Sergi1010United Kingdom2026-10-23
Misaki G Kolmetz1011Spain2026-10-30
Sinclair W Slusarski1012Spain2026-10-15
Munro H Schemmer1013Spain2026-10-16
Stacey R Figeroa1014Russia2026-10-27
Mayumi Z Ruta1015Japan2026-10-18
Darci X Shinko1016France2026-10-09
Juan K Marrier1017Brazil2026-10-03
Aika P Amigon1018Germany2026-10-10
Ricardo H Schemmer1019Germany2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens F MaletCanadaBernardo Dominic NEGOTIATION
Morrow Z ShinkoJapanAnna Fali UNQUALIFIED
James K AmigonCanadaIoni Bowcher NEGOTIATION
Smith L MaletItalyIvan Magalhaes UNQUALIFIED
Kaitlin B PaprockiAustraliaBernardo Dominic NEW
Mujtaba V GlickRussiaXuxue Feng UNQUALIFIED
Chavez G MaletArgentinaIoni Bowcher QUALIFIED
Rodrigues F BologniaArgentinaIvan Magalhaes RENEWAL
Sinclair V MacleadBrazilAmy Elsner RENEWAL
Murillo Q BologniaArgentinaStephen Shaw QUALIFIED
Francesco T OldroydRussiaXuxue Feng NEW
Salvatore P CaudyGermanyXuxue Feng QUALIFIED
Jennifer D CaudyGermanyElwin Sharvill PROPOSAL
James Y SergiGermanyAnna Fali UNQUALIFIED
Ashley I WaycottSpainAmy Elsner NEW
Johnson Q BologniaAustraliaAnna Fali NEGOTIATION
Izzy B ButtIndiaOnyama Limba NEW
Kadeem D ChuiArgentinaIvan Magalhaes UNQUALIFIED
Nicolas V WhobreyItalyOnyama Limba UNQUALIFIED
Munro T GarufiArgentinaAnna Fali QUALIFIED
Misaki K ShinkoCanadaXuxue Feng RENEWAL
Alejandro X SlusarskiJapanAnna Fali UNQUALIFIED
Stacey M SlusarskiItalyIvan Magalhaes NEGOTIATION
Murillo R FlosiItalyBernardo Dominic QUALIFIED
Darci I IturbideJapanStephen Shaw QUALIFIED
Wickens Y ShinkoJapanIvan Magalhaes QUALIFIED
Greenwood B DoeGermanyIoni Bowcher NEGOTIATION
Faith L DarakjyBrazilAnna Fali PROPOSAL
Jones N StockhamGermanyBernardo Dominic NEGOTIATION
Leon N PoquetteJapanIoni Bowcher QUALIFIED
Salvatore B DilliardRussiaStephen Shaw QUALIFIED
James L GlickAustraliaAsiya Javayant RENEWAL
Murillo O OstroskyJapanOnyama Limba PROPOSAL
James N GauchoGermanyAmy Elsner PROPOSAL
Juan C VenereGermanyIvan Magalhaes NEW
Deepesh H GauchoUnited KingdomAnna Fali UNQUALIFIED
Ivar T KuskoFranceIoni Bowcher RENEWAL
Faith X SergiIndiaElwin Sharvill RENEWAL
Aika W MaletSpainOnyama Limba QUALIFIED
Faith F GlickArgentinaAsiya Javayant 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>