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
Johnson I PaprockiRussiaOnyama Limba RENEWAL
Leon I StensethSpainAsiya Javayant RENEWAL
Jones N GlickBrazilXuxue Feng NEGOTIATION
Kaitlin L PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna H RulapaughFranceAsiya Javayant PROPOSAL
Deepesh P ShinkoJapanIvan Magalhaes NEW
Silvio L RulapaughGermanyStephen Shaw NEGOTIATION
Adams A MacleadJapanIvan Magalhaes NEW
Aika Q PoquetteCanadaAsiya Javayant RENEWAL
Darci Y AlbaresFranceIvan Magalhaes NEW
Mujtaba Z BowleyItalyElwin Sharvill RENEWAL
Jennifer I VenereItalyAmy Elsner NEW
Faith X RoysterArgentinaIoni Bowcher NEW
Cody C VenereAustraliaAsiya Javayant PROPOSAL
Izzy M CaldareraAustraliaOnyama Limba PROPOSAL
Emily L DilliardFranceAnna Fali NEW
Stacey P PaprockiIndiaXuxue Feng PROPOSAL
Ricardo Y MarrierGermanyBernardo Dominic QUALIFIED
Juan K RutaFranceElwin Sharvill UNQUALIFIED
Cody E SergiBrazilIvan Magalhaes NEW
Arvin C NestleIndiaAnna Fali PROPOSAL
Tony G VenereFranceAsiya Javayant NEW
Chavez Q OldroydItalyXuxue Feng NEW
Ricardo A RoysterUnited KingdomBernardo Dominic PROPOSAL
Darci J DarakjyUnited KingdomBernardo Dominic QUALIFIED
Arvin D WieserSpainAsiya Javayant QUALIFIED
Adams D OldroydItalyIoni Bowcher PROPOSAL
Stacey U RutaFranceAnna Fali PROPOSAL
Clifford C BowleySpainStephen Shaw RENEWAL
Murillo E NickaSpainXuxue Feng RENEWAL
Rodrigues N SergiUnited KingdomIvan Magalhaes QUALIFIED
Isabel M WaycottGermanyOnyama Limba QUALIFIED
Misaki F MacleadIndiaBernardo Dominic QUALIFIED
Deepesh C MorascaJapanAnna Fali NEGOTIATION
Kaitlin Z GlickBrazilElwin Sharvill RENEWAL
Murillo V BowleyCanadaOnyama Limba RENEWAL
Murillo H DoeSpainIoni Bowcher RENEWAL
Arvin S FollerRussiaBernardo Dominic UNQUALIFIED
Izzy E ShinkoGermanyBernardo Dominic RENEWAL
Morrow N GlickFranceOnyama Limba NEW
Izzy B RutaRussiaIoni Bowcher RENEWAL
Greenwood M PerinIndiaAmy Elsner RENEWAL
Salvatore N NestleAustraliaIvan Magalhaes NEGOTIATION
Jennifer H BowleyRussiaStephen Shaw RENEWAL
David E RimRussiaStephen Shaw PROPOSAL
Julie K FlosiRussiaAsiya Javayant PROPOSAL
Francesco Q CaldareraCanadaStephen Shaw NEGOTIATION
Leja V GarufiGermanyAmy Elsner UNQUALIFIED
Darci N KolmetzAustraliaStephen Shaw RENEWAL
Misaki F FlosiBrazilXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily C FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Leon N KuskoBrazilAmy Elsner NEW
Jeanfrancois Q FollerJapanOnyama Limba RENEWAL
Misaki R PoquetteAustraliaAmy Elsner NEGOTIATION
Maisha B GillianItalyAmy Elsner RENEWAL
Aditya Y InouyeCanadaAmy Elsner QUALIFIED
Darci X RulapaughJapanElwin Sharvill PROPOSAL
James W DarakjyArgentinaAsiya Javayant NEW
Aditya N InouyeGermanyStephen Shaw QUALIFIED
Kadeem E AmigonBrazilStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Q WhobreySpain2026-09-18Chanay, Jeffrey A Esq NEW98Xuxue Feng
1001Deepesh W WaycottItaly2026-10-05Morlong Associates UNQUALIFIED54Amy Elsner
1002Jones J BowleyArgentina2026-09-12Feltz Printing Service RENEWAL37Asiya Javayant
1003Ricardo B PoquetteAustralia2026-10-05Dorl, James J Esq QUALIFIED43Amy Elsner
1004Aruna X SlusarskiRussia2026-10-01King, Christopher A Esq PROPOSAL18Elwin Sharvill
1005James H DilliardGermany2026-10-10Chapman, Ross E Esq PROPOSAL84Xuxue Feng
1006Nicolas Q OstroskyBrazil2026-10-07Rangoni Of Florence NEW56Asiya Javayant
1007Arvin J MarrierItaly2026-09-29Commercial Press UNQUALIFIED72Onyama Limba
1008Alejandro F KuskoArgentina2026-10-03King, Christopher A Esq PROPOSAL62Anna Fali
1009Kaitlin W RimUnited Kingdom2026-09-30Truhlar And Truhlar Attys UNQUALIFIED56Ivan Magalhaes
1010Julie Z BowleyCanada2026-09-29Rangoni Of Florence RENEWAL31Ioni Bowcher
1011Leon G RulapaughBrazil2026-10-01Buckley Miller Wright NEW42Onyama Limba
1012Jefferson A SlusarskiAustralia2026-10-07Feiner Bros NEW17Bernardo Dominic
1013Jones L MorascaIndia2026-09-20Feiner Bros UNQUALIFIED23Onyama Limba
1014Murillo V OstroskyAustralia2026-09-12Commercial Press RENEWAL29Asiya Javayant
1015Chavez J GarufiRussia2026-09-15Commercial Press UNQUALIFIED8Elwin Sharvill
1016Tony W IturbideSpain2026-09-29Chapman, Ross E Esq UNQUALIFIED24Asiya Javayant
1017Julie M SaylorsRussia2026-09-15Chapman, Ross E Esq RENEWAL49Onyama Limba
1018Darci J RutaBrazil2026-09-12Rangoni Of Florence UNQUALIFIED92Bernardo Dominic
1019David E StensethSpain2026-09-28King, Christopher A Esq RENEWAL70Elwin Sharvill
1020Cody C AmigonArgentina2026-09-12Buckley Miller Wright QUALIFIED45Asiya Javayant
1021Morrow R DilliardSpain2026-10-09Dorl, James J Esq UNQUALIFIED30Amy Elsner
1022Alejandro W SaylorsFrance2026-09-12Buckley Miller Wright NEW14Onyama Limba
1023Deepesh S FlosiFrance2026-10-08Rangoni Of Florence QUALIFIED5Asiya Javayant
1024Murillo T MorascaArgentina2026-09-14Rangoni Of Florence NEGOTIATION94Onyama Limba
1025Jones V NickaBrazil2026-10-02Benton, John B Jr NEGOTIATION88Amy Elsner
1026Jefferson L ButtAustralia2026-10-08Chanay, Jeffrey A Esq QUALIFIED24Ivan Magalhaes
1027Francesco E GauchoBrazil2026-09-14Dorl, James J Esq NEW3Amy Elsner
1028Salvatore B WhobreyFrance2026-09-12Chemel, James L Cpa RENEWAL33Bernardo Dominic
1029James H GauchoRussia2026-09-18Printing Dimensions RENEWAL61Ivan Magalhaes
1030Nicolas G MaletSpain2026-10-09Chanay, Jeffrey A Esq PROPOSAL84Elwin Sharvill
1031Misaki X CampainUnited Kingdom2026-10-05Chemel, James L Cpa RENEWAL42Stephen Shaw
1032Kadeem E PoquetteCanada2026-09-29Rangoni Of Florence UNQUALIFIED94Elwin Sharvill
1033Greenwood E FigeroaRussia2026-09-23Feltz Printing Service UNQUALIFIED37Stephen Shaw
1034Sinclair U MorascaUnited Kingdom2026-10-05Rangoni Of Florence RENEWAL67Xuxue Feng
1035Murillo K CaudyUnited Kingdom2026-10-04Dorl, James J Esq PROPOSAL63Ivan Magalhaes
1036Aika B MaletAustralia2026-10-04Benton, John B Jr PROPOSAL26Onyama Limba
1037Aruna X VocelkaItaly2026-09-21Rousseaux, Michael Esq UNQUALIFIED44Amy Elsner
1038Silvio D ButtArgentina2026-10-01Rangoni Of Florence QUALIFIED53Xuxue Feng
1039Adams L IturbideFrance2026-10-05Morlong Associates PROPOSAL71Asiya Javayant
1040Arvin Z MarrierArgentina2026-09-15Morlong Associates QUALIFIED85Xuxue Feng
1041Chavez Q InouyeJapan2026-09-22Morlong Associates UNQUALIFIED68Amy Elsner
1042Rodrigues C PaprockiItaly2026-09-23Chemel, James L Cpa UNQUALIFIED94Elwin Sharvill
1043Arvin J WieserJapan2026-10-04Morlong Associates UNQUALIFIED47Stephen Shaw
1044Clifford I MaletSpain2026-09-27Buckley Miller Wright NEW38Ivan Magalhaes
1045Wickens J WhobreyItaly2026-10-05Rousseaux, Michael Esq UNQUALIFIED18Asiya Javayant
1046Aruna M WhobreyCanada2026-09-22Rangoni Of Florence NEW5Elwin Sharvill
1047Tony K StensethUnited Kingdom2026-10-06Morlong Associates NEW78Ivan Magalhaes
1048Jeanfrancois X AmigonItaly2026-10-04Benton, John B Jr UNQUALIFIED70Onyama Limba
1049Jeanfrancois V RulapaughItaly2026-09-18Feiner Bros QUALIFIED56Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ivar M VocelkaJapanIvan Magalhaes UNQUALIFIED
Sinclair Q CaudyAustraliaAsiya Javayant PROPOSAL
Maisha S RutaRussiaIvan Magalhaes RENEWAL
Maria F RutaRussiaAmy Elsner NEGOTIATION
Claire H StockhamRussiaElwin Sharvill QUALIFIED
Arvin S KolmetzItalyIoni Bowcher PROPOSAL
Isabel M PoquetteRussiaIoni Bowcher NEGOTIATION
Jeanfrancois R OldroydGermanyXuxue Feng UNQUALIFIED
Nicolas T WieserUnited KingdomAnna Fali NEGOTIATION
Aruna Q NickaBrazilAsiya Javayant RENEWAL
Maria R VocelkaArgentinaXuxue Feng RENEWAL
Clifford R StensethUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi B CampainItalyAnna Fali NEGOTIATION
Emily U SlusarskiJapanOnyama Limba NEGOTIATION
Stacey Q FlosiCanadaElwin Sharvill RENEWAL
Leon A MacleadItalyAnna Fali PROPOSAL
Maria A GarufiRussiaXuxue Feng RENEWAL
Alejandro K FlosiBrazilStephen Shaw UNQUALIFIED
Octavia S CaldareraItalyAsiya Javayant RENEWAL
Claire P RutaSpainElwin Sharvill PROPOSAL
Mujtaba I DoeArgentinaAmy Elsner NEW
Mayumi T TollnerIndiaOnyama Limba RENEWAL
Wickens X SaylorsFranceAnna Fali RENEWAL
Francesco H PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues W ButtItalyStephen Shaw QUALIFIED
Cody G ChuiCanadaAmy Elsner RENEWAL
Alejandro I CaldareraCanadaBernardo Dominic RENEWAL
Ivar E PoquetteUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois O WieserGermanyAmy Elsner NEW
Jennifer W CampainBrazilAsiya Javayant NEW
Greenwood P InouyeAustraliaAsiya Javayant NEW
Greenwood Z NestleSpainIvan Magalhaes QUALIFIED
James U GauchoIndiaBernardo Dominic UNQUALIFIED
Silvio O RulapaughIndiaAmy Elsner UNQUALIFIED
Ashley U RoysterCanadaAmy Elsner RENEWAL
Misaki H ShinkoSpainOnyama Limba RENEWAL
Ashley S StockhamBrazilOnyama Limba RENEWAL
Cody N ShinkoItalyIoni Bowcher PROPOSAL
Clifford V RutaJapanIoni Bowcher QUALIFIED
Julie E NestleBrazilAmy Elsner NEW
Jefferson F ButtIndiaXuxue Feng RENEWAL
Munro Q VocelkaIndiaAsiya Javayant QUALIFIED
Cody R ChuiUnited KingdomIoni Bowcher QUALIFIED
Munro B IturbideAustraliaBernardo Dominic UNQUALIFIED
Arvin P KolmetzAustraliaIvan Magalhaes NEGOTIATION
Juan Y InouyeFranceAnna Fali NEGOTIATION
Murillo F DarakjyGermanyBernardo Dominic UNQUALIFIED
Clifford R BologniaJapanAmy Elsner PROPOSAL
Tony N SergiJapanAnna Fali UNQUALIFIED
Sinclair T ChuiBrazilStephen Shaw RENEWAL
Frozen Columns
Name
Darci S Gillian
Munro V Foller
Jefferson I Stenseth
Aruna Q Briddick
Deepesh F Tollner
Maria H Malet
Tony S Stenseth
Costa N Ruta
Darci F Sergi
Ivar A Ferencz
Adams B Inouye
Tony L Briddick
Julie F Gaucho
Jeanfrancois J Gillian
Wickens F Venere
Julie J Waycott
Emily E Butt
Cody V Maclead
Kadeem V Briddick
Jeanfrancois P Ruta
Misaki F Ferencz
Ricardo F Shinko
Faith Y Shinko
Tony G Glick
Jeanfrancois N Doe
Sinclair M Schemmer
Kadeem J Nicka
Faith A Poquette
Rodrigues T Morasca
Emily D Perin
Rodrigues H Malet
Johnson H Rulapaugh
Alejandro Q Ruta
Kadeem O Doe
Arvin U Sergi
Alejandro D Dilliard
Adams S Wieser
Izzy I Malet
Johnson D Caudy
Aditya A Iturbide
Ivar S Gillian
Adams K Doe
Morrow Q Campain
Stacey P Ruta
Alejandro R Amigon
Rodrigues U Nestle
David Y Figeroa
Jefferson C Morasca
Francesco W Waycott
Jones S Doe
IdCountryDate
1000Germany2026-09-17
1001Brazil2026-09-17
1002Canada2026-10-08
1003Canada2026-09-19
1004Argentina2026-10-01
1005Brazil2026-09-26
1006India2026-10-04
1007Russia2026-10-05
1008Argentina2026-09-29
1009Russia2026-09-22
1010Australia2026-09-23
1011Canada2026-10-07
1012Japan2026-09-26
1013Australia2026-09-26
1014Argentina2026-10-09
1015Argentina2026-09-28
1016Australia2026-09-17
1017Argentina2026-09-17
1018France2026-10-05
1019Canada2026-09-25
1020Germany2026-09-25
1021Japan2026-09-19
1022Argentina2026-09-22
1023Italy2026-10-11
1024Italy2026-10-08
1025Japan2026-10-02
1026Japan2026-09-25
1027Canada2026-10-03
1028Germany2026-09-25
1029Argentina2026-10-10
1030Brazil2026-09-25
1031Canada2026-09-27
1032Brazil2026-09-15
1033Italy2026-09-27
1034Argentina2026-09-18
1035India2026-09-25
1036India2026-09-21
1037Italy2026-09-16
1038Italy2026-09-15
1039Spain2026-09-21
1040Australia2026-09-22
1041Spain2026-09-15
1042Russia2026-10-04
1043Argentina2026-09-16
1044Australia2026-09-28
1045India2026-09-29
1046Brazil2026-09-23
1047Germany2026-09-29
1048India2026-10-08
1049Canada2026-10-08

On-Demand Data

NameIdCountryDate
Smith K Nestle1000Australia2026-09-12
Juan P Royster1001Canada2026-09-12
Faith A Iturbide1002Italy2026-09-20
Jeanfrancois Z Chui1003France2026-09-24
Adams U Schemmer1004Canada2026-09-22
Jennifer Z Bowley1005United Kingdom2026-09-22
Aditya K Venere1006Germany2026-09-23
Chavez N Rulapaugh1007Russia2026-09-18
Nicolas K Stockham1008Canada2026-09-22
Salvatore T Slusarski1009Canada2026-09-12
Ricardo Q Figeroa1010Japan2026-09-18
Sinclair B Royster1011Japan2026-09-26
Deepesh X Maclead1012Russia2026-09-22
Antonio Z Amigon1013Australia2026-10-08
Claire O Bowley1014Argentina2026-09-30
Arvin A Malet1015Brazil2026-10-04
Arvin T Flosi1016Argentina2026-09-30
Aika W Caldarera1017Spain2026-10-09
Faith G Poquette1018Brazil2026-09-25
Tony Z Ostrosky1019Australia2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon X OldroydUnited KingdomBernardo Dominic PROPOSAL
Francesco Y KolmetzIndiaIvan Magalhaes UNQUALIFIED
James A CampainArgentinaAnna Fali PROPOSAL
Juan K GauchoRussiaElwin Sharvill QUALIFIED
Munro F ChuiUnited KingdomXuxue Feng QUALIFIED
Ricardo H InouyeFranceXuxue Feng PROPOSAL
Antonio J MaletAustraliaBernardo Dominic NEGOTIATION
Octavia G SergiCanadaOnyama Limba RENEWAL
David Q IturbideRussiaXuxue Feng NEGOTIATION
Ricardo I CaudyFranceAsiya Javayant RENEWAL
Chavez G FigeroaItalyAmy Elsner RENEWAL
Misaki N BriddickCanadaStephen Shaw RENEWAL
Misaki L ButtSpainXuxue Feng NEW
Rodrigues B NickaGermanyAsiya Javayant PROPOSAL
Aditya U ShinkoCanadaAsiya Javayant NEGOTIATION
Octavia A MaletFranceBernardo Dominic QUALIFIED
Deepesh X GarufiAustraliaOnyama Limba NEW
Antonio K GauchoArgentinaBernardo Dominic NEW
Sinclair N AlbaresRussiaStephen Shaw QUALIFIED
James V SchemmerItalyOnyama Limba NEGOTIATION
Jeanfrancois Q OldroydAustraliaAsiya Javayant NEW
Julie T MaletRussiaBernardo Dominic PROPOSAL
Mujtaba X MorascaCanadaIvan Magalhaes QUALIFIED
Jefferson E FollerBrazilOnyama Limba NEW
Munro S WieserAustraliaXuxue Feng UNQUALIFIED
David I VenereIndiaStephen Shaw NEW
Julie L SchemmerArgentinaIoni Bowcher RENEWAL
Aika N StockhamBrazilAmy Elsner UNQUALIFIED
Cody X VenereCanadaAsiya Javayant NEGOTIATION
Sinclair R OstroskyGermanyIvan Magalhaes NEGOTIATION
Ricardo K GillianUnited KingdomXuxue Feng QUALIFIED
Misaki V BriddickRussiaAnna Fali PROPOSAL
Aruna D ButtGermanyOnyama Limba NEW
Costa L MaletBrazilAsiya Javayant PROPOSAL
Leja G SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Antonio J WhobreyFranceStephen Shaw UNQUALIFIED
Morrow Q FerenczSpainBernardo Dominic QUALIFIED
Morrow C FerenczUnited KingdomOnyama Limba QUALIFIED
Kaitlin H BowleyJapanAnna Fali PROPOSAL
Emily I GillianBrazilStephen Shaw 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>