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
Ivar M CaudyFranceXuxue Feng NEGOTIATION
Maria T PoquetteJapanAsiya Javayant QUALIFIED
Leon G OldroydJapanAnna Fali QUALIFIED
Kaitlin M CaudyUnited KingdomAnna Fali NEGOTIATION
Greenwood S VenereBrazilAnna Fali NEW
Nicolas B RutaAustraliaIoni Bowcher NEGOTIATION
Mayumi B AmigonArgentinaIoni Bowcher PROPOSAL
Jefferson K KuskoArgentinaAnna Fali RENEWAL
Kaitlin F BriddickSpainXuxue Feng NEGOTIATION
Jefferson B PoquetteGermanyElwin Sharvill QUALIFIED
Jones Y IturbideCanadaAsiya Javayant NEW
James U VenereJapanOnyama Limba RENEWAL
Julie M OldroydItalyXuxue Feng RENEWAL
Silvio D OstroskyFranceBernardo Dominic NEW
Jennifer V GarufiRussiaStephen Shaw QUALIFIED
Francesco K BriddickAustraliaElwin Sharvill NEW
Aditya U PaprockiItalyAmy Elsner QUALIFIED
Sinclair V CaldareraItalyAsiya Javayant RENEWAL
James U BologniaItalyElwin Sharvill NEGOTIATION
Greenwood U FigeroaJapanIoni Bowcher UNQUALIFIED
Aika B AlbaresArgentinaIoni Bowcher UNQUALIFIED
Kaitlin E CaldareraArgentinaBernardo Dominic NEGOTIATION
Francesco M PoquetteJapanIoni Bowcher PROPOSAL
Adams D OstroskyArgentinaAsiya Javayant NEGOTIATION
Mujtaba M AmigonFranceOnyama Limba QUALIFIED
Arvin J CaldareraBrazilStephen Shaw UNQUALIFIED
Chavez O MorascaSpainOnyama Limba UNQUALIFIED
Costa T IturbideArgentinaStephen Shaw RENEWAL
Maria E TollnerArgentinaOnyama Limba PROPOSAL
Munro L GarufiSpainElwin Sharvill PROPOSAL
Morrow A DarakjyAustraliaBernardo Dominic UNQUALIFIED
Maisha U ShinkoIndiaAmy Elsner NEGOTIATION
Maria F CaldareraItalyAsiya Javayant NEW
Aditya Q StockhamFranceElwin Sharvill NEW
Julie S CaldareraJapanAnna Fali PROPOSAL
Emily U KuskoGermanyBernardo Dominic QUALIFIED
Darci Z AmigonItalyBernardo Dominic NEGOTIATION
James D WhobreyRussiaElwin Sharvill UNQUALIFIED
Aruna G MorascaIndiaOnyama Limba PROPOSAL
Aruna O ShinkoArgentinaAsiya Javayant RENEWAL
Deepesh Z SaylorsSpainStephen Shaw QUALIFIED
Jeanfrancois O NickaIndiaElwin Sharvill NEGOTIATION
Morrow D OldroydCanadaIoni Bowcher UNQUALIFIED
Mayumi U OldroydAustraliaAsiya Javayant QUALIFIED
Clifford E DilliardUnited KingdomIoni Bowcher NEGOTIATION
Maria Y FlosiBrazilBernardo Dominic RENEWAL
Isabel F BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Jones S ShinkoSpainBernardo Dominic QUALIFIED
Cody I ButtAustraliaAmy Elsner PROPOSAL
Arvin Z RoysterFranceOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith F SergiSpainAmy Elsner PROPOSAL
David J GarufiIndiaIvan Magalhaes NEGOTIATION
Julie M KuskoRussiaBernardo Dominic PROPOSAL
Jennifer J CampainAustraliaOnyama Limba RENEWAL
Cody N GauchoJapanAmy Elsner QUALIFIED
Stacey C ShinkoIndiaAmy Elsner RENEWAL
Francesco H SlusarskiJapanXuxue Feng PROPOSAL
Munro C RimItalyAsiya Javayant PROPOSAL
Ricardo P FlosiItalyAsiya Javayant UNQUALIFIED
Silvio H GillianUnited KingdomAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody V FollerIndia2026-09-28Chanay, Jeffrey A Esq NEGOTIATION42Amy Elsner
1001Mayumi W KolmetzGermany2026-09-25Rousseaux, Michael Esq NEW80Bernardo Dominic
1002Ricardo N CaudyRussia2026-09-26Rangoni Of Florence NEW30Stephen Shaw
1003Izzy R IturbideItaly2026-09-29Rousseaux, Michael Esq NEW19Bernardo Dominic
1004Rodrigues B SchemmerArgentina2026-09-08Buckley Miller Wright UNQUALIFIED9Ivan Magalhaes
1005Darci N SlusarskiGermany2026-09-22Chapman, Ross E Esq QUALIFIED63Onyama Limba
1006Mayumi N SaylorsRussia2026-09-06Printing Dimensions PROPOSAL52Asiya Javayant
1007Salvatore O CaudyCanada2026-09-24Rangoni Of Florence UNQUALIFIED32Amy Elsner
1008Murillo B NestleSpain2026-10-02Benton, John B Jr RENEWAL95Stephen Shaw
1009Chavez H RoysterAustralia2026-10-01Printing Dimensions UNQUALIFIED18Elwin Sharvill
1010Alejandro G RoysterJapan2026-09-22Chanay, Jeffrey A Esq RENEWAL97Bernardo Dominic
1011Salvatore Q CampainGermany2026-09-05Commercial Press UNQUALIFIED81Ivan Magalhaes
1012Juan E WieserCanada2026-09-08Morlong Associates NEW88Asiya Javayant
1013Tony C WhobreyItaly2026-09-16Truhlar And Truhlar Attys RENEWAL88Amy Elsner
1014Wickens H AmigonRussia2026-09-25Commercial Press RENEWAL31Stephen Shaw
1015Isabel Z KolmetzFrance2026-09-13Printing Dimensions QUALIFIED36Stephen Shaw
1016Octavia K SchemmerRussia2026-09-15Morlong Associates NEW82Amy Elsner
1017Mayumi R WieserBrazil2026-09-03Chemel, James L Cpa NEGOTIATION99Elwin Sharvill
1018Mujtaba G BologniaGermany2026-09-25Rangoni Of Florence PROPOSAL31Ivan Magalhaes
1019Deepesh E FerenczSpain2026-09-27Chemel, James L Cpa PROPOSAL62Bernardo Dominic
1020Costa T VocelkaBrazil2026-09-15Feiner Bros PROPOSAL59Stephen Shaw
1021Munro K InouyeBrazil2026-09-15Buckley Miller Wright NEW57Onyama Limba
1022Ivar N NestleGermany2026-09-18Morlong Associates PROPOSAL80Amy Elsner
1023Mujtaba S RulapaughFrance2026-09-30Chapman, Ross E Esq UNQUALIFIED13Asiya Javayant
1024Sinclair J KolmetzGermany2026-09-15Rangoni Of Florence QUALIFIED90Ioni Bowcher
1025Ivar K BriddickGermany2026-09-18Morlong Associates UNQUALIFIED95Amy Elsner
1026Silvio V SchemmerSpain2026-09-16Printing Dimensions RENEWAL99Xuxue Feng
1027Greenwood B GarufiFrance2026-09-12Chanay, Jeffrey A Esq NEW78Xuxue Feng
1028Ashley F WieserAustralia2026-09-19Feltz Printing Service NEW51Anna Fali
1029Misaki Q AlbaresArgentina2026-09-07Chapman, Ross E Esq RENEWAL23Ioni Bowcher
1030Munro V SaylorsJapan2026-09-09Rangoni Of Florence NEGOTIATION15Ioni Bowcher
1031Maisha M GauchoSpain2026-09-05Benton, John B Jr NEW29Bernardo Dominic
1032Ashley L RutaSpain2026-09-27Rangoni Of Florence NEW67Amy Elsner
1033Ivar B ChuiGermany2026-09-23Rousseaux, Michael Esq UNQUALIFIED92Onyama Limba
1034Silvio R SergiItaly2026-09-17Dorl, James J Esq UNQUALIFIED72Bernardo Dominic
1035Aditya B CaldareraIndia2026-09-03Truhlar And Truhlar Attys QUALIFIED16Xuxue Feng
1036Izzy F DilliardItaly2026-09-23Dorl, James J Esq QUALIFIED85Stephen Shaw
1037Johnson I MaletBrazil2026-09-29Chanay, Jeffrey A Esq RENEWAL51Ioni Bowcher
1038Aruna N FollerCanada2026-09-15Buckley Miller Wright QUALIFIED6Asiya Javayant
1039Emily Z GlickItaly2026-09-10Rangoni Of Florence UNQUALIFIED91Amy Elsner
1040Alejandro D CampainRussia2026-09-27Feiner Bros NEW45Elwin Sharvill
1041Murillo D VocelkaCanada2026-09-09Feiner Bros NEW78Asiya Javayant
1042Murillo J CampainAustralia2026-09-14Chapman, Ross E Esq NEW25Asiya Javayant
1043Stacey V BologniaFrance2026-09-25Morlong Associates NEW41Asiya Javayant
1044Aditya D BowleyCanada2026-09-15Feiner Bros RENEWAL31Amy Elsner
1045Alejandro W KolmetzAustralia2026-09-24Commercial Press NEGOTIATION76Ioni Bowcher
1046Julie J GauchoRussia2026-09-09Rangoni Of Florence RENEWAL68Stephen Shaw
1047Mujtaba D StensethBrazil2026-09-24Dorl, James J Esq PROPOSAL74Onyama Limba
1048Salvatore R OldroydJapan2026-09-30Dorl, James J Esq RENEWAL59Amy Elsner
1049Smith N SergiUnited Kingdom2026-09-21Morlong Associates UNQUALIFIED27Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Wickens Y MaletFranceAmy Elsner UNQUALIFIED
Adams Q RutaItalyElwin Sharvill PROPOSAL
Murillo K SergiJapanIvan Magalhaes UNQUALIFIED
Julie A SlusarskiIndiaBernardo Dominic PROPOSAL
Rodrigues Z PerinFranceAsiya Javayant PROPOSAL
Darci E MaletFranceElwin Sharvill NEGOTIATION
Aruna R RoysterItalyBernardo Dominic RENEWAL
Ashley T GillianSpainIvan Magalhaes PROPOSAL
Arvin F TollnerBrazilAsiya Javayant PROPOSAL
Isabel T RulapaughSpainBernardo Dominic NEW
Emily S KuskoGermanyBernardo Dominic QUALIFIED
Jefferson I CaudyFranceElwin Sharvill PROPOSAL
Ricardo N InouyeRussiaAnna Fali QUALIFIED
Johnson W NickaGermanyElwin Sharvill NEGOTIATION
Faith E IturbideSpainXuxue Feng RENEWAL
Emily Z BowleyIndiaAmy Elsner NEW
Kadeem R FollerGermanyIoni Bowcher NEGOTIATION
Juan F RutaRussiaElwin Sharvill NEW
Leja O MaletFranceElwin Sharvill QUALIFIED
Aruna Z DilliardFranceStephen Shaw NEGOTIATION
Sinclair T PerinItalyXuxue Feng NEW
Wickens J WieserUnited KingdomBernardo Dominic NEW
Costa X RulapaughSpainBernardo Dominic RENEWAL
Octavia O MacleadJapanElwin Sharvill RENEWAL
Maisha M FerenczRussiaXuxue Feng QUALIFIED
Aruna B CaldareraBrazilAmy Elsner QUALIFIED
Leja U NickaCanadaOnyama Limba PROPOSAL
Tony B SchemmerAustraliaStephen Shaw PROPOSAL
Leon N GarufiItalyOnyama Limba QUALIFIED
Jones F KuskoUnited KingdomAmy Elsner NEGOTIATION
Nicolas X AmigonArgentinaAmy Elsner NEGOTIATION
Silvio M GarufiBrazilElwin Sharvill QUALIFIED
Deepesh H InouyeRussiaStephen Shaw NEW
Rodrigues U RutaJapanXuxue Feng NEW
Francesco W InouyeArgentinaAnna Fali PROPOSAL
Costa U GarufiFranceIoni Bowcher UNQUALIFIED
Jeanfrancois R CaldareraGermanyIvan Magalhaes QUALIFIED
Izzy N OstroskyJapanElwin Sharvill QUALIFIED
David G InouyeGermanyIoni Bowcher UNQUALIFIED
Ricardo M VenereIndiaElwin Sharvill QUALIFIED
Nicolas E GillianAustraliaAnna Fali RENEWAL
Ricardo P MorascaGermanyOnyama Limba QUALIFIED
Darci Y TollnerAustraliaIoni Bowcher UNQUALIFIED
Aika I AlbaresAustraliaElwin Sharvill UNQUALIFIED
Octavia H TollnerArgentinaXuxue Feng RENEWAL
Izzy N StensethCanadaIoni Bowcher NEGOTIATION
Wickens Z FlosiUnited KingdomAnna Fali PROPOSAL
Deepesh K SaylorsSpainAmy Elsner UNQUALIFIED
Chavez A CaldareraUnited KingdomAmy Elsner NEW
Rodrigues K WhobreyFranceAsiya Javayant RENEWAL
Frozen Columns
Name
Darci E Ruta
Mayumi X Shinko
Misaki F Gillian
Sinclair P Rulapaugh
Francesco J Figeroa
Arvin T Malet
Wickens X Bowley
Izzy V Stenseth
Isabel R Nicka
Jones P Albares
Darci T Malet
Greenwood T Marrier
Kaitlin P Malet
James Q Schemmer
Julie T Waycott
Emily A Iturbide
Stacey B Garufi
Nicolas P Shinko
Munro M Inouye
Kaitlin G Darakjy
David A Dilliard
Johnson J Foller
Claire I Flosi
Darci T Vocelka
Jennifer P Garufi
Ivar A Rim
Murillo A Caudy
Alejandro J Butt
Leja G Stenseth
Julie E Foller
Izzy P Morasca
Aika P Flosi
Jennifer J Kusko
Isabel K Maclead
Darci O Whobrey
Misaki K Waycott
Emily R Venere
Silvio V Darakjy
Sinclair N Foller
Alejandro X Saylors
Darci Y Nestle
Isabel I Paprocki
Ivar K Flosi
Chavez D Sergi
Rodrigues I Gaucho
Claire S Kusko
Ricardo X Malet
Chavez R Royster
Jennifer L Stenseth
Maisha D Nicka
IdCountryDate
1000France2026-10-01
1001Brazil2026-09-10
1002Brazil2026-09-18
1003Spain2026-09-23
1004Canada2026-09-21
1005India2026-09-17
1006India2026-09-25
1007Brazil2026-09-22
1008Germany2026-09-14
1009Canada2026-09-10
1010India2026-09-25
1011Germany2026-09-25
1012Spain2026-09-12
1013Russia2026-09-06
1014Spain2026-09-08
1015Germany2026-09-15
1016India2026-09-24
1017Canada2026-09-30
1018Australia2026-09-06
1019India2026-10-02
1020Spain2026-09-23
1021Brazil2026-09-25
1022Italy2026-09-11
1023Japan2026-09-19
1024India2026-09-16
1025Spain2026-09-14
1026Spain2026-09-23
1027Canada2026-09-03
1028United Kingdom2026-09-23
1029Argentina2026-09-05
1030Russia2026-09-17
1031France2026-10-01
1032Canada2026-09-28
1033Australia2026-10-02
1034Argentina2026-09-06
1035Australia2026-09-10
1036India2026-09-11
1037Canada2026-10-02
1038United Kingdom2026-09-27
1039Germany2026-10-01
1040Germany2026-09-10
1041India2026-09-24
1042Italy2026-09-17
1043France2026-09-22
1044Spain2026-09-03
1045Japan2026-09-14
1046Australia2026-09-27
1047Brazil2026-09-20
1048Spain2026-09-13
1049Australia2026-09-15

On-Demand Data

NameIdCountryDate
James X Vocelka1000Australia2026-09-03
Antonio Y Maclead1001Spain2026-09-08
Tony I Doe1002Canada2026-09-18
Mujtaba X Shinko1003Italy2026-09-14
Greenwood G Gaucho1004Argentina2026-09-05
Jennifer H Kolmetz1005Canada2026-09-12
Sinclair T Ruta1006Japan2026-09-08
Aditya P Glick1007Canada2026-09-13
Maria D Caldarera1008India2026-09-12
Morrow T Nicka1009Brazil2026-09-21
Maisha I Stenseth1010Spain2026-09-24
Salvatore C Nestle1011Spain2026-09-30
David W Darakjy1012India2026-09-08
Rodrigues F Tollner1013United Kingdom2026-09-16
Arvin X Malet1014Brazil2026-09-23
Chavez P Malet1015Germany2026-09-24
Nicolas U Campain1016Argentina2026-09-19
Claire A Schemmer1017Brazil2026-09-24
Kadeem R Slusarski1018India2026-09-05
Silvio S Saylors1019France2026-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja F KolmetzJapanBernardo Dominic NEGOTIATION
Munro B ShinkoFranceAnna Fali QUALIFIED
Ricardo W KuskoSpainElwin Sharvill UNQUALIFIED
Francesco E MaletRussiaStephen Shaw QUALIFIED
Adams O WieserItalyStephen Shaw RENEWAL
Faith P RutaSpainIvan Magalhaes RENEWAL
Maisha E GillianCanadaOnyama Limba NEGOTIATION
Claire E MaletJapanXuxue Feng NEW
Antonio X PerinJapanAnna Fali NEGOTIATION
Faith A OldroydRussiaXuxue Feng QUALIFIED
Arvin F CaudyArgentinaStephen Shaw QUALIFIED
Ivar G GlickJapanOnyama Limba UNQUALIFIED
Morrow G RutaArgentinaElwin Sharvill PROPOSAL
Silvio F RulapaughSpainIoni Bowcher UNQUALIFIED
Ashley L OldroydRussiaStephen Shaw UNQUALIFIED
Arvin W RutaUnited KingdomIoni Bowcher NEGOTIATION
Antonio Q WieserUnited KingdomAsiya Javayant QUALIFIED
Kaitlin N AlbaresCanadaIoni Bowcher NEGOTIATION
Munro G CaudyIndiaBernardo Dominic NEW
Misaki H SaylorsFranceElwin Sharvill NEGOTIATION
Faith N KuskoGermanyAmy Elsner QUALIFIED
Faith P DilliardFranceAmy Elsner RENEWAL
Smith A WaycottJapanStephen Shaw NEGOTIATION
Jones C KuskoRussiaAmy Elsner NEW
Aika P MacleadItalyIvan Magalhaes RENEWAL
Isabel C InouyeAustraliaBernardo Dominic UNQUALIFIED
Jones B MarrierCanadaXuxue Feng NEW
Izzy L RimBrazilElwin Sharvill NEGOTIATION
Ivar Z PerinItalyIvan Magalhaes NEGOTIATION
Greenwood P NickaSpainXuxue Feng NEGOTIATION
Ivar S SergiAustraliaXuxue Feng RENEWAL
Octavia P SaylorsSpainAsiya Javayant UNQUALIFIED
Kaitlin U VocelkaSpainStephen Shaw QUALIFIED
Jennifer S DilliardUnited KingdomStephen Shaw PROPOSAL
Costa U MacleadIndiaXuxue Feng QUALIFIED
Misaki N StensethIndiaXuxue Feng UNQUALIFIED
Wickens L MarrierItalyIoni Bowcher QUALIFIED
Leon Z BologniaArgentinaIoni Bowcher QUALIFIED
Greenwood W VocelkaIndiaBernardo Dominic NEW
Deepesh J GarufiSpainBernardo Dominic 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>