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
Salvatore C ChuiRussiaXuxue Feng QUALIFIED
Sinclair Q PerinJapanXuxue Feng NEGOTIATION
Murillo R MacleadAustraliaElwin Sharvill UNQUALIFIED
Silvio O InouyeGermanyXuxue Feng RENEWAL
Chavez X IturbideItalyBernardo Dominic PROPOSAL
Darci L MacleadSpainIvan Magalhaes PROPOSAL
Salvatore W WaycottAustraliaStephen Shaw UNQUALIFIED
Salvatore T ChuiAustraliaAnna Fali RENEWAL
Antonio D IturbideJapanElwin Sharvill NEW
Cody R TollnerGermanyBernardo Dominic RENEWAL
Leja A BologniaRussiaStephen Shaw UNQUALIFIED
Claire H BriddickJapanAmy Elsner NEGOTIATION
Leja A CaldareraAustraliaElwin Sharvill UNQUALIFIED
James W CaudyGermanyIoni Bowcher QUALIFIED
Leja M PoquetteBrazilAnna Fali QUALIFIED
Greenwood P SaylorsRussiaAmy Elsner UNQUALIFIED
Deepesh A FollerSpainIvan Magalhaes UNQUALIFIED
Silvio P StockhamItalyAnna Fali PROPOSAL
Tony U BriddickSpainBernardo Dominic RENEWAL
Ivar F GlickItalyBernardo Dominic RENEWAL
Darci I PoquetteGermanyAnna Fali QUALIFIED
Murillo F VenereBrazilIvan Magalhaes RENEWAL
Jones U MorascaIndiaXuxue Feng NEGOTIATION
Jennifer R WaycottRussiaOnyama Limba NEGOTIATION
Maria Q FlosiGermanyAsiya Javayant RENEWAL
Faith Y PaprockiJapanElwin Sharvill UNQUALIFIED
Antonio D DarakjySpainOnyama Limba PROPOSAL
Isabel G WieserIndiaAsiya Javayant NEW
Maria Q BowleyGermanyBernardo Dominic PROPOSAL
Claire J WaycottJapanBernardo Dominic RENEWAL
Alejandro Q RimCanadaStephen Shaw QUALIFIED
Darci N VocelkaGermanyOnyama Limba QUALIFIED
Munro O PerinIndiaElwin Sharvill NEGOTIATION
Deepesh M RulapaughBrazilIvan Magalhaes PROPOSAL
Clifford B DoeJapanBernardo Dominic NEW
Izzy U SlusarskiUnited KingdomAmy Elsner UNQUALIFIED
Sinclair B ChuiFranceIvan Magalhaes UNQUALIFIED
Julie L RimIndiaIoni Bowcher PROPOSAL
Francesco R RutaItalyXuxue Feng PROPOSAL
Murillo T BriddickAustraliaAmy Elsner RENEWAL
Wickens X VocelkaFranceStephen Shaw PROPOSAL
James T GarufiAustraliaOnyama Limba PROPOSAL
Sinclair Y CampainBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois J IturbideItalyXuxue Feng PROPOSAL
Faith E PoquetteSpainAsiya Javayant RENEWAL
Morrow X MaletGermanyXuxue Feng PROPOSAL
Octavia B FollerGermanyIvan Magalhaes QUALIFIED
Claire O PoquetteRussiaBernardo Dominic NEGOTIATION
Munro U AlbaresArgentinaXuxue Feng RENEWAL
Clifford T PerinSpainAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh X GillianArgentinaAnna Fali RENEWAL
Juan A NestleGermanyIoni Bowcher UNQUALIFIED
Ashley K GlickSpainIvan Magalhaes PROPOSAL
Jeanfrancois F FollerAustraliaXuxue Feng QUALIFIED
Johnson H InouyeUnited KingdomAnna Fali QUALIFIED
Aika O GillianItalyIoni Bowcher PROPOSAL
Chavez C SaylorsAustraliaOnyama Limba UNQUALIFIED
Mujtaba C FollerCanadaAnna Fali NEW
Claire D PaprockiFranceAnna Fali QUALIFIED
Mujtaba C BowleyUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez H CaudyBrazil2026-11-08Commercial Press NEW63Amy Elsner
1001Emily Y RimBrazil2026-11-01Chapman, Ross E Esq QUALIFIED15Elwin Sharvill
1002Chavez I GlickCanada2026-11-06Benton, John B Jr NEW98Elwin Sharvill
1003Greenwood O GlickJapan2026-10-28Chemel, James L Cpa RENEWAL72Stephen Shaw
1004Salvatore B ChuiGermany2026-10-29Rousseaux, Michael Esq QUALIFIED19Ioni Bowcher
1005Jefferson B RoysterArgentina2026-11-08Chapman, Ross E Esq NEGOTIATION76Ivan Magalhaes
1006Adams J ChuiUnited Kingdom2026-10-25Chemel, James L Cpa UNQUALIFIED86Anna Fali
1007Aruna Z IturbideCanada2026-10-13Rousseaux, Michael Esq QUALIFIED17Bernardo Dominic
1008James P PerinCanada2026-10-13Dorl, James J Esq PROPOSAL81Ivan Magalhaes
1009Jennifer I PaprockiSpain2026-10-31Truhlar And Truhlar Attys NEW74Bernardo Dominic
1010Aruna L InouyeJapan2026-10-25Rousseaux, Michael Esq QUALIFIED76Bernardo Dominic
1011Greenwood A GauchoItaly2026-10-23Rangoni Of Florence NEW3Xuxue Feng
1012Murillo V VenereCanada2026-10-27Buckley Miller Wright PROPOSAL23Ioni Bowcher
1013James F MaletArgentina2026-10-18Chapman, Ross E Esq QUALIFIED96Amy Elsner
1014Francesco B NickaIndia2026-10-28Feiner Bros PROPOSAL59Elwin Sharvill
1015Faith J PaprockiFrance2026-10-12Commercial Press QUALIFIED15Elwin Sharvill
1016Nicolas V MarrierCanada2026-11-07Commercial Press PROPOSAL10Stephen Shaw
1017Juan W CampainIndia2026-10-24Chanay, Jeffrey A Esq NEGOTIATION81Xuxue Feng
1018Silvio E KuskoFrance2026-10-18Feiner Bros QUALIFIED76Stephen Shaw
1019Murillo Y GarufiBrazil2026-10-19Benton, John B Jr UNQUALIFIED51Ioni Bowcher
1020Octavia J RoysterRussia2026-10-18Dorl, James J Esq QUALIFIED7Bernardo Dominic
1021Smith F FigeroaJapan2026-10-24Rousseaux, Michael Esq PROPOSAL69Amy Elsner
1022Ricardo U DarakjyIndia2026-10-30Feiner Bros NEW45Ivan Magalhaes
1023Salvatore J GillianArgentina2026-10-21Benton, John B Jr PROPOSAL9Ivan Magalhaes
1024Morrow Z ShinkoArgentina2026-10-13Dorl, James J Esq RENEWAL82Xuxue Feng
1025Maisha U BologniaAustralia2026-10-30Commercial Press NEW67Amy Elsner
1026Jeanfrancois T StockhamSpain2026-11-03Chapman, Ross E Esq NEW17Elwin Sharvill
1027Ricardo H FerenczArgentina2026-11-06Dorl, James J Esq RENEWAL13Ioni Bowcher
1028Stacey G PoquetteBrazil2026-10-14Rousseaux, Michael Esq NEGOTIATION3Stephen Shaw
1029Ivar N PaprockiUnited Kingdom2026-10-12Feiner Bros NEGOTIATION20Ivan Magalhaes
1030Morrow R BowleyItaly2026-10-29Chapman, Ross E Esq NEGOTIATION60Bernardo Dominic
1031Ivar L GlickIndia2026-11-07Dorl, James J Esq RENEWAL66Ivan Magalhaes
1032Silvio E SlusarskiUnited Kingdom2026-10-12Rousseaux, Michael Esq RENEWAL19Bernardo Dominic
1033James D CampainRussia2026-10-29Dorl, James J Esq UNQUALIFIED85Elwin Sharvill
1034Jennifer U StockhamArgentina2026-10-24Chapman, Ross E Esq QUALIFIED52Ioni Bowcher
1035Antonio F WhobreyGermany2026-11-07Feltz Printing Service RENEWAL3Xuxue Feng
1036Kaitlin V PerinIndia2026-10-15Commercial Press RENEWAL59Xuxue Feng
1037Faith Q OldroydCanada2026-10-26Chemel, James L Cpa RENEWAL99Amy Elsner
1038Munro D KolmetzFrance2026-10-25Chapman, Ross E Esq PROPOSAL13Ioni Bowcher
1039Leja M RutaItaly2026-10-17Rangoni Of Florence QUALIFIED95Ivan Magalhaes
1040Costa X ChuiRussia2026-10-28Rangoni Of Florence NEW85Xuxue Feng
1041Stacey R ButtSpain2026-10-12Benton, John B Jr NEW63Xuxue Feng
1042Claire A MacleadGermany2026-10-28Chapman, Ross E Esq QUALIFIED18Ivan Magalhaes
1043Jones L BologniaIndia2026-10-28Benton, John B Jr NEW76Anna Fali
1044Cody E VenereUnited Kingdom2026-10-17Buckley Miller Wright QUALIFIED60Bernardo Dominic
1045Isabel E FigeroaAustralia2026-10-20Truhlar And Truhlar Attys UNQUALIFIED40Bernardo Dominic
1046Greenwood T MorascaGermany2026-10-14Rousseaux, Michael Esq PROPOSAL68Stephen Shaw
1047Leon V DoeItaly2026-10-11Rangoni Of Florence QUALIFIED32Onyama Limba
1048Greenwood N RoysterBrazil2026-11-05Rangoni Of Florence QUALIFIED68Ioni Bowcher
1049Morrow E GlickRussia2026-11-03Morlong Associates NEW69Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Silvio V VenereBrazilIoni Bowcher NEW
Alejandro U StensethFranceElwin Sharvill RENEWAL
Salvatore D DilliardSpainXuxue Feng NEW
Ashley U GlickCanadaBernardo Dominic NEW
Antonio S GillianSpainBernardo Dominic NEW
Izzy N GillianCanadaStephen Shaw RENEWAL
Cody K RimSpainOnyama Limba NEGOTIATION
Claire A SergiIndiaIoni Bowcher PROPOSAL
Salvatore C PaprockiGermanyOnyama Limba NEW
Deepesh C GauchoAustraliaXuxue Feng NEW
Deepesh G PerinFranceOnyama Limba RENEWAL
Costa F FollerItalyAsiya Javayant NEGOTIATION
Maria D RutaFranceIvan Magalhaes NEGOTIATION
Salvatore A SergiJapanOnyama Limba PROPOSAL
Jennifer Q FollerBrazilAmy Elsner PROPOSAL
Aditya C ChuiCanadaIoni Bowcher NEGOTIATION
Morrow Z CaldareraUnited KingdomStephen Shaw QUALIFIED
Isabel A RutaItalyIoni Bowcher QUALIFIED
Aruna K WaycottSpainElwin Sharvill QUALIFIED
Leja W VocelkaGermanyAsiya Javayant PROPOSAL
Aruna E StensethIndiaAsiya Javayant RENEWAL
Smith C MacleadUnited KingdomXuxue Feng NEGOTIATION
James J GauchoIndiaAsiya Javayant QUALIFIED
Mujtaba B WieserUnited KingdomIvan Magalhaes QUALIFIED
Jennifer H PaprockiFranceAnna Fali NEGOTIATION
Misaki J GauchoBrazilIoni Bowcher NEW
Julie S PerinJapanAmy Elsner QUALIFIED
Kadeem B BriddickArgentinaStephen Shaw NEW
Julie H TollnerSpainIvan Magalhaes PROPOSAL
Silvio C ShinkoCanadaIvan Magalhaes NEW
Kaitlin G StensethUnited KingdomOnyama Limba NEW
Ivar J VenereGermanyElwin Sharvill NEW
Jefferson F PaprockiAustraliaOnyama Limba NEW
Darci R RulapaughAustraliaXuxue Feng UNQUALIFIED
Leja W FollerUnited KingdomAsiya Javayant NEW
Kaitlin T PoquetteGermanyOnyama Limba NEW
Aruna R OstroskyGermanyXuxue Feng RENEWAL
Alejandro V WieserGermanyAsiya Javayant RENEWAL
James J GillianCanadaOnyama Limba UNQUALIFIED
Munro H GlickIndiaOnyama Limba UNQUALIFIED
Darci M RimBrazilBernardo Dominic PROPOSAL
Aditya D VenereAustraliaAmy Elsner RENEWAL
Deepesh W DarakjyItalyIoni Bowcher UNQUALIFIED
Julie X OstroskyItalyIoni Bowcher UNQUALIFIED
Isabel B WhobreyIndiaAsiya Javayant NEGOTIATION
Francesco N ButtIndiaOnyama Limba RENEWAL
Ashley L SlusarskiAustraliaOnyama Limba QUALIFIED
Maria N FlosiJapanOnyama Limba PROPOSAL
Francesco R ButtArgentinaXuxue Feng RENEWAL
Tony X PoquetteCanadaAsiya Javayant QUALIFIED
Frozen Columns
Name
Leja I Foller
Maria H Gaucho
Morrow H Stockham
Cody M Ostrosky
Kadeem Z Garufi
Wickens B Morasca
Sinclair Y Whobrey
Morrow A Vocelka
Darci X Rim
Johnson R Rim
Aditya K Venere
Darci J Darakjy
Clifford P Wieser
Wickens Z Sergi
Costa R Ferencz
Smith F Ostrosky
Kadeem Z Stockham
Octavia Y Waycott
Jefferson J Darakjy
Leon I Inouye
James L Bowley
Aditya P Gaucho
Rodrigues P Ruta
Antonio B Waycott
Munro I Nestle
Smith Q Malet
James U Schemmer
Ashley S Butt
Emily A Kolmetz
Jones E Nestle
Ricardo K Albares
Sinclair O Flosi
Claire O Caudy
Ashley N Royster
Isabel M Kusko
Clifford W Chui
Salvatore B Rulapaugh
Misaki Z Ostrosky
James E Gaucho
Jones Q Garufi
Adams K Ferencz
Chavez Q Doe
Mayumi R Ruta
Aruna M Paprocki
Chavez K Marrier
Izzy S Marrier
Leja Q Iturbide
Kaitlin O Malet
Alejandro K Gaucho
David P Waycott
IdCountryDate
1000United Kingdom2026-10-30
1001Italy2026-10-24
1002India2026-10-24
1003Argentina2026-11-06
1004Argentina2026-11-08
1005Canada2026-10-27
1006Canada2026-10-18
1007Italy2026-10-23
1008Australia2026-10-25
1009Italy2026-11-04
1010Australia2026-10-16
1011United Kingdom2026-10-28
1012Canada2026-10-18
1013Brazil2026-11-02
1014Russia2026-10-10
1015Russia2026-10-25
1016Japan2026-11-02
1017Brazil2026-10-28
1018Russia2026-10-14
1019Spain2026-10-12
1020India2026-10-25
1021Spain2026-10-22
1022Canada2026-11-08
1023France2026-11-05
1024India2026-10-16
1025Canada2026-10-18
1026Russia2026-10-29
1027Argentina2026-11-05
1028United Kingdom2026-10-22
1029Russia2026-10-16
1030Australia2026-11-04
1031Italy2026-11-06
1032France2026-11-01
1033United Kingdom2026-11-02
1034Japan2026-10-19
1035Japan2026-11-04
1036United Kingdom2026-10-25
1037Argentina2026-10-24
1038Spain2026-10-13
1039Germany2026-11-07
1040India2026-10-18
1041Japan2026-10-19
1042France2026-10-18
1043Argentina2026-10-23
1044India2026-11-01
1045Russia2026-10-21
1046India2026-10-27
1047Japan2026-11-05
1048Brazil2026-10-21
1049India2026-10-30

On-Demand Data

NameIdCountryDate
Juan C Iturbide1000India2026-11-01
Emily R Waycott1001Italy2026-11-06
Chavez E Royster1002United Kingdom2026-10-29
Aruna R Marrier1003Brazil2026-10-11
David O Schemmer1004Canada2026-10-29
Ashley J Marrier1005Brazil2026-10-11
Costa S Vocelka1006India2026-11-06
Leja M Doe1007Italy2026-11-04
Adams I Foller1008Australia2026-10-12
Maria M Gaucho1009Australia2026-10-20
Kadeem V Whobrey1010United Kingdom2026-11-01
Ivar E Doe1011Italy2026-10-12
Misaki R Vocelka1012United Kingdom2026-10-10
Maisha L Gaucho1013Australia2026-10-14
Faith R Schemmer1014France2026-10-31
Isabel W Sergi1015Argentina2026-11-03
James O Albares1016India2026-10-25
Silvio V Saylors1017Canada2026-10-12
Emily W Morasca1018India2026-10-20
Aika J Stenseth1019India2026-11-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith D ChuiItalyAsiya Javayant QUALIFIED
Smith B SchemmerItalyXuxue Feng PROPOSAL
Silvio K BriddickArgentinaAnna Fali NEGOTIATION
Ashley E RoysterUnited KingdomOnyama Limba RENEWAL
Costa P KuskoItalyIoni Bowcher UNQUALIFIED
Clifford L RulapaughGermanyXuxue Feng UNQUALIFIED
Antonio B SaylorsUnited KingdomIoni Bowcher RENEWAL
Mayumi F AlbaresFranceAsiya Javayant NEW
Aika U DarakjyRussiaOnyama Limba UNQUALIFIED
Clifford E FlosiCanadaBernardo Dominic NEGOTIATION
Aika N StensethJapanIvan Magalhaes UNQUALIFIED
Julie F StockhamUnited KingdomOnyama Limba NEGOTIATION
Johnson D GlickGermanyXuxue Feng NEGOTIATION
Ricardo M DarakjyGermanyAnna Fali RENEWAL
Tony Z RulapaughRussiaAsiya Javayant NEGOTIATION
Sinclair Q IturbideSpainIoni Bowcher RENEWAL
Alejandro Q StockhamGermanyAsiya Javayant UNQUALIFIED
Kaitlin N SaylorsItalyAnna Fali UNQUALIFIED
Nicolas X SchemmerGermanyAnna Fali RENEWAL
Julie B OldroydBrazilElwin Sharvill UNQUALIFIED
Deepesh X StensethArgentinaStephen Shaw NEW
Nicolas U MaletCanadaXuxue Feng NEW
Kadeem E VenereUnited KingdomIoni Bowcher QUALIFIED
Isabel L NickaJapanAmy Elsner RENEWAL
Adams C SergiItalyBernardo Dominic QUALIFIED
Ricardo L StensethUnited KingdomBernardo Dominic RENEWAL
Octavia X NestleJapanAsiya Javayant NEW
Mujtaba Y RimArgentinaAmy Elsner UNQUALIFIED
Arvin Z SergiUnited KingdomBernardo Dominic NEGOTIATION
Isabel Y TollnerItalyAsiya Javayant QUALIFIED
Jennifer R VenereRussiaIvan Magalhaes NEW
Misaki E InouyeUnited KingdomAmy Elsner NEW
Francesco Q CampainJapanStephen Shaw RENEWAL
Ivar U ButtRussiaAsiya Javayant UNQUALIFIED
Aruna D KuskoIndiaAmy Elsner PROPOSAL
Leon W FlosiItalyXuxue Feng PROPOSAL
Jeanfrancois A KolmetzJapanOnyama Limba NEW
Nicolas S BowleyArgentinaAnna Fali QUALIFIED
Murillo G ShinkoBrazilIvan Magalhaes UNQUALIFIED
Wickens F SaylorsCanadaBernardo Dominic 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>