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
Jefferson M PoquetteFranceAmy Elsner QUALIFIED
Jeanfrancois C SlusarskiSpainXuxue Feng UNQUALIFIED
Smith F RimIndiaAnna Fali PROPOSAL
Leja P RimRussiaBernardo Dominic PROPOSAL
Clifford N ButtAustraliaBernardo Dominic NEGOTIATION
Silvio N BowleyItalyElwin Sharvill RENEWAL
Claire J AmigonSpainAmy Elsner UNQUALIFIED
Nicolas N FerenczUnited KingdomXuxue Feng RENEWAL
Nicolas A BriddickFranceOnyama Limba UNQUALIFIED
Francesco W CaldareraIndiaXuxue Feng RENEWAL
James F DilliardItalyElwin Sharvill QUALIFIED
Maria E GauchoRussiaAnna Fali PROPOSAL
Cody R WaycottAustraliaBernardo Dominic RENEWAL
Chavez P CampainBrazilAnna Fali UNQUALIFIED
Ivar S SaylorsItalyAmy Elsner NEGOTIATION
Maisha T TollnerUnited KingdomOnyama Limba UNQUALIFIED
Arvin C GlickArgentinaOnyama Limba QUALIFIED
Aika U OstroskySpainBernardo Dominic UNQUALIFIED
Isabel V FollerJapanAmy Elsner UNQUALIFIED
Faith X MacleadCanadaIvan Magalhaes NEGOTIATION
Sinclair W DarakjyRussiaOnyama Limba NEGOTIATION
Emily F WaycottIndiaIoni Bowcher QUALIFIED
Kaitlin G SaylorsAustraliaAnna Fali QUALIFIED
Ricardo P GauchoFranceXuxue Feng NEW
Jones Y CampainItalyOnyama Limba NEW
Izzy T RulapaughBrazilAmy Elsner PROPOSAL
Leja L PerinGermanyIoni Bowcher NEGOTIATION
Alejandro F BowleyIndiaIvan Magalhaes PROPOSAL
Murillo F GarufiJapanElwin Sharvill PROPOSAL
Izzy W BriddickItalyAmy Elsner RENEWAL
Jefferson D KolmetzUnited KingdomAnna Fali QUALIFIED
Alejandro A KuskoIndiaAnna Fali UNQUALIFIED
Ricardo D VenereItalyOnyama Limba NEGOTIATION
Juan B FerenczFranceIvan Magalhaes UNQUALIFIED
Claire D FlosiItalyAmy Elsner RENEWAL
Clifford R CampainSpainOnyama Limba UNQUALIFIED
Ricardo B SchemmerItalyIvan Magalhaes UNQUALIFIED
Mayumi H MarrierSpainIoni Bowcher QUALIFIED
Kadeem D BologniaSpainXuxue Feng RENEWAL
Clifford T WieserArgentinaIoni Bowcher NEW
Leon F WaycottItalyStephen Shaw UNQUALIFIED
Costa W ButtUnited KingdomAmy Elsner NEW
Murillo F AlbaresSpainIoni Bowcher UNQUALIFIED
Aditya J FlosiCanadaAsiya Javayant UNQUALIFIED
Aika D MorascaBrazilAnna Fali UNQUALIFIED
David V BologniaRussiaIoni Bowcher NEGOTIATION
Johnson G StensethIndiaIoni Bowcher NEGOTIATION
Stacey A MarrierSpainAsiya Javayant RENEWAL
Cody K MaletItalyXuxue Feng QUALIFIED
Costa W MaletUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba Y VocelkaSpainAsiya Javayant UNQUALIFIED
Smith E MacleadArgentinaOnyama Limba PROPOSAL
Mujtaba P PerinItalyXuxue Feng QUALIFIED
Deepesh Z CampainBrazilElwin Sharvill RENEWAL
Stacey P ButtRussiaBernardo Dominic NEW
Juan R PerinRussiaStephen Shaw PROPOSAL
Adams E RoysterFranceAmy Elsner RENEWAL
Munro O FerenczBrazilAnna Fali PROPOSAL
Mayumi D ButtIndiaXuxue Feng PROPOSAL
Leja Z MaletUnited KingdomXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Q FigeroaSpain2026-10-23Buckley Miller Wright QUALIFIED14Onyama Limba
1001Smith H BologniaJapan2026-10-06Feiner Bros UNQUALIFIED20Asiya Javayant
1002Adams R NestleIndia2026-10-27Dorl, James J Esq PROPOSAL4Amy Elsner
1003Emily U ChuiGermany2026-10-16Benton, John B Jr NEW53Anna Fali
1004Murillo Q WieserSpain2026-10-04Morlong Associates NEGOTIATION44Stephen Shaw
1005Ricardo C BowleyBrazil2026-10-15Feltz Printing Service UNQUALIFIED32Ivan Magalhaes
1006Tony M AmigonArgentina2026-10-06Feltz Printing Service UNQUALIFIED87Onyama Limba
1007Isabel S PoquetteSpain2026-10-06Benton, John B Jr NEW11Stephen Shaw
1008Adams X SlusarskiGermany2026-10-12Truhlar And Truhlar Attys NEW76Elwin Sharvill
1009Mayumi C AlbaresFrance2026-10-31Dorl, James J Esq NEGOTIATION57Asiya Javayant
1010Maisha F RoysterIndia2026-10-30Printing Dimensions UNQUALIFIED65Anna Fali
1011Tony H InouyeSpain2026-10-22Chapman, Ross E Esq NEGOTIATION1Bernardo Dominic
1012Salvatore U TollnerRussia2026-10-27Benton, John B Jr RENEWAL90Onyama Limba
1013Ashley Y PaprockiFrance2026-10-09Chanay, Jeffrey A Esq RENEWAL56Bernardo Dominic
1014Izzy T MarrierBrazil2026-10-07Dorl, James J Esq NEW30Anna Fali
1015David G GarufiAustralia2026-10-02Morlong Associates PROPOSAL76Asiya Javayant
1016Kadeem F DarakjyCanada2026-10-20Commercial Press QUALIFIED68Amy Elsner
1017Darci X IturbideGermany2026-10-30Dorl, James J Esq UNQUALIFIED55Xuxue Feng
1018Silvio A RulapaughArgentina2026-10-13Chemel, James L Cpa NEW87Amy Elsner
1019Sinclair Q FollerJapan2026-10-12Buckley Miller Wright NEGOTIATION18Ioni Bowcher
1020Greenwood M RulapaughIndia2026-10-09Feltz Printing Service NEW57Bernardo Dominic
1021Juan K InouyeItaly2026-10-04Buckley Miller Wright UNQUALIFIED49Bernardo Dominic
1022Cody I StensethJapan2026-10-24Rousseaux, Michael Esq NEGOTIATION99Xuxue Feng
1023Cody M BologniaSpain2026-10-17Buckley Miller Wright UNQUALIFIED61Xuxue Feng
1024Sinclair T FigeroaJapan2026-10-29Rangoni Of Florence NEW17Elwin Sharvill
1025David V MacleadUnited Kingdom2026-10-24Truhlar And Truhlar Attys RENEWAL15Xuxue Feng
1026Misaki N RoysterIndia2026-10-21Rangoni Of Florence NEGOTIATION10Asiya Javayant
1027Tony G CaudyItaly2026-10-02Dorl, James J Esq UNQUALIFIED52Ioni Bowcher
1028Ashley X WieserJapan2026-10-09Chanay, Jeffrey A Esq PROPOSAL41Anna Fali
1029Jones C AmigonAustralia2026-10-05Benton, John B Jr PROPOSAL40Elwin Sharvill
1030Emily S BowleySpain2026-10-05Commercial Press NEGOTIATION53Asiya Javayant
1031Claire N FlosiRussia2026-10-10Benton, John B Jr PROPOSAL24Anna Fali
1032Greenwood W DarakjyIndia2026-10-26Chapman, Ross E Esq UNQUALIFIED49Elwin Sharvill
1033Leja E OldroydUnited Kingdom2026-10-04Buckley Miller Wright RENEWAL0Ioni Bowcher
1034Johnson C CaldareraUnited Kingdom2026-10-17Rangoni Of Florence RENEWAL17Anna Fali
1035Clifford R InouyeAustralia2026-10-30Truhlar And Truhlar Attys PROPOSAL83Stephen Shaw
1036Greenwood R MarrierCanada2026-10-08King, Christopher A Esq UNQUALIFIED88Xuxue Feng
1037Adams T OstroskyJapan2026-10-24Feltz Printing Service UNQUALIFIED55Xuxue Feng
1038Stacey P AmigonCanada2026-10-31Truhlar And Truhlar Attys NEW48Ioni Bowcher
1039Francesco W InouyeRussia2026-10-12Morlong Associates PROPOSAL30Bernardo Dominic
1040Leon I ButtSpain2026-10-25Commercial Press PROPOSAL74Elwin Sharvill
1041Smith C BowleyFrance2026-10-15Printing Dimensions RENEWAL74Ivan Magalhaes
1042David S AlbaresRussia2026-10-21Truhlar And Truhlar Attys RENEWAL97Onyama Limba
1043Rodrigues Q DoeArgentina2026-10-08Chapman, Ross E Esq NEW46Bernardo Dominic
1044Munro S SaylorsBrazil2026-10-06Feiner Bros RENEWAL70Xuxue Feng
1045Silvio V CaldareraItaly2026-10-03Feltz Printing Service UNQUALIFIED69Elwin Sharvill
1046Alejandro B SlusarskiUnited Kingdom2026-10-19Commercial Press NEW24Asiya Javayant
1047Alejandro F MarrierRussia2026-10-21Chapman, Ross E Esq NEW91Xuxue Feng
1048Chavez I MaletRussia2026-10-30Buckley Miller Wright NEW66Stephen Shaw
1049Jennifer B VenereArgentina2026-10-25Commercial Press QUALIFIED29Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Greenwood U KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Darci M GauchoBrazilAmy Elsner RENEWAL
Jennifer R FigeroaBrazilOnyama Limba NEW
Chavez B SaylorsCanadaAnna Fali NEGOTIATION
Emily Z OldroydCanadaIvan Magalhaes NEW
Aditya N WhobreyIndiaOnyama Limba QUALIFIED
Arvin G SlusarskiBrazilIvan Magalhaes NEGOTIATION
Nicolas J CaldareraBrazilIvan Magalhaes NEGOTIATION
Chavez I KuskoGermanyAmy Elsner PROPOSAL
Aruna Z NickaItalyIvan Magalhaes QUALIFIED
Kaitlin M GlickFranceBernardo Dominic UNQUALIFIED
Aruna E SlusarskiJapanElwin Sharvill NEGOTIATION
Maisha P BowleySpainAmy Elsner UNQUALIFIED
Ashley E ChuiUnited KingdomIvan Magalhaes NEW
Claire A DilliardAustraliaIoni Bowcher NEGOTIATION
Juan L GillianArgentinaIvan Magalhaes UNQUALIFIED
Octavia Z RimFranceElwin Sharvill NEGOTIATION
Sinclair D DarakjyRussiaOnyama Limba RENEWAL
Aruna W PoquetteSpainAsiya Javayant NEW
David J RoysterRussiaIoni Bowcher UNQUALIFIED
Emily P FerenczIndiaXuxue Feng NEW
Arvin N IturbideGermanyIvan Magalhaes RENEWAL
Cody J SaylorsCanadaBernardo Dominic RENEWAL
Morrow Q MaletSpainAsiya Javayant PROPOSAL
Kadeem J KuskoCanadaStephen Shaw PROPOSAL
Tony H RulapaughAustraliaAnna Fali PROPOSAL
Murillo U MaletRussiaIoni Bowcher QUALIFIED
Octavia E FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha U DilliardFranceIoni Bowcher NEGOTIATION
Ashley V BologniaSpainIvan Magalhaes RENEWAL
Claire H SaylorsRussiaStephen Shaw PROPOSAL
Morrow D DilliardIndiaStephen Shaw PROPOSAL
Francesco F FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Johnson E VenereUnited KingdomIoni Bowcher PROPOSAL
Aditya M SchemmerGermanyOnyama Limba NEW
Kadeem K StockhamCanadaIoni Bowcher NEW
Adams Q KuskoGermanyAmy Elsner NEW
Deepesh L PerinUnited KingdomIvan Magalhaes RENEWAL
Costa V SergiRussiaAmy Elsner NEW
Morrow S FerenczAustraliaIoni Bowcher UNQUALIFIED
Jennifer T IturbideArgentinaXuxue Feng RENEWAL
Mujtaba C AmigonSpainXuxue Feng QUALIFIED
Antonio B WieserGermanyStephen Shaw RENEWAL
Octavia B ShinkoSpainXuxue Feng PROPOSAL
Alejandro W FlosiItalyXuxue Feng UNQUALIFIED
Stacey U MaletRussiaElwin Sharvill RENEWAL
Aditya I GlickSpainBernardo Dominic PROPOSAL
Jones A GlickUnited KingdomBernardo Dominic PROPOSAL
Misaki T FerenczSpainElwin Sharvill PROPOSAL
Aditya C BologniaJapanIvan Magalhaes NEW
Frozen Columns
Name
Costa T Whobrey
Arvin N Marrier
Octavia E Oldroyd
Murillo X Butt
Mayumi N Morasca
Francesco B Shinko
Murillo P Stenseth
Munro F Kusko
Faith S Glick
Maria C Sergi
Misaki C Doe
Stacey Y Saylors
Darci E Flosi
Nicolas P Shinko
Clifford F Ferencz
Octavia E Briddick
Alejandro G Paprocki
Silvio L Ruta
Deepesh B Caldarera
Johnson L Schemmer
Faith A Nestle
Sinclair O Shinko
Mayumi D Morasca
Salvatore M Shinko
Rodrigues I Garufi
Cody S Poquette
Stacey S Bolognia
Arvin M Whobrey
Arvin I Waycott
Nicolas Y Royster
Misaki W Figeroa
Munro D Stockham
Kaitlin M Darakjy
Ivar K Rulapaugh
Isabel W Darakjy
Leon U Inouye
Cody K Bolognia
Darci E Doe
Mujtaba R Sergi
Maria A Perin
Antonio R Venere
Mayumi H Stockham
Alejandro J Sergi
Tony S Nicka
Nicolas I Royster
Ricardo A Foller
Izzy I Royster
Costa I Rim
Munro C Paprocki
Silvio H Wieser
IdCountryDate
1000Germany2026-10-12
1001Canada2026-10-02
1002Canada2026-10-11
1003France2026-10-23
1004Germany2026-10-24
1005Australia2026-10-23
1006France2026-10-24
1007Australia2026-10-27
1008Japan2026-10-10
1009Canada2026-10-15
1010Argentina2026-10-11
1011Australia2026-10-15
1012France2026-10-15
1013France2026-10-13
1014India2026-10-14
1015Argentina2026-10-19
1016India2026-10-08
1017United Kingdom2026-10-05
1018Canada2026-10-23
1019Spain2026-10-20
1020Canada2026-10-08
1021Spain2026-10-30
1022Australia2026-10-14
1023Russia2026-10-24
1024Argentina2026-10-30
1025Brazil2026-10-18
1026Brazil2026-10-19
1027Germany2026-10-07
1028Germany2026-10-22
1029Brazil2026-10-05
1030Brazil2026-10-06
1031France2026-10-03
1032Canada2026-10-21
1033Germany2026-10-10
1034Australia2026-10-16
1035Spain2026-10-17
1036Argentina2026-10-25
1037Italy2026-10-29
1038Japan2026-10-30
1039Brazil2026-10-07
1040Germany2026-10-04
1041Brazil2026-10-17
1042Argentina2026-10-12
1043India2026-10-22
1044Brazil2026-10-28
1045Brazil2026-10-24
1046Brazil2026-10-04
1047United Kingdom2026-10-07
1048Canada2026-10-08
1049Brazil2026-10-11

On-Demand Data

NameIdCountryDate
Arvin Z Stenseth1000Australia2026-10-03
Leon M Maclead1001Australia2026-10-07
Francesco O Ostrosky1002Italy2026-10-21
Tony D Marrier1003Italy2026-10-31
Johnson S Amigon1004Argentina2026-10-27
Aika W Caudy1005Italy2026-10-04
Clifford I Butt1006India2026-10-17
Sinclair B Ostrosky1007Russia2026-10-06
Murillo D Poquette1008Russia2026-10-16
Munro C Saylors1009Argentina2026-10-04
Jeanfrancois O Garufi1010Germany2026-10-10
Ashley Q Morasca1011Argentina2026-10-31
Aruna F Gaucho1012Germany2026-10-14
Leja X Wieser1013Russia2026-10-02
Johnson Y Darakjy1014Italy2026-10-09
Ricardo N Iturbide1015Argentina2026-10-28
Arvin P Perin1016Australia2026-10-12
Ivar X Waycott1017Spain2026-10-08
James X Malet1018Italy2026-10-12
Antonio X Dilliard1019Italy2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro P NestleCanadaIoni Bowcher NEW
Rodrigues M StensethAustraliaStephen Shaw QUALIFIED
Rodrigues C MorascaItalyXuxue Feng NEGOTIATION
Faith Q CaudyJapanElwin Sharvill UNQUALIFIED
Sinclair Y PerinSpainIoni Bowcher RENEWAL
Emily N PoquetteGermanyOnyama Limba UNQUALIFIED
Jones C FerenczAustraliaStephen Shaw NEW
Costa L NickaRussiaBernardo Dominic RENEWAL
Faith D ShinkoGermanyOnyama Limba UNQUALIFIED
Ivar P TollnerItalyIoni Bowcher QUALIFIED
Francesco K RutaAustraliaElwin Sharvill RENEWAL
Izzy O KolmetzCanadaBernardo Dominic RENEWAL
Nicolas H DilliardRussiaAnna Fali PROPOSAL
Aruna V GarufiAustraliaIoni Bowcher NEGOTIATION
Alejandro R SergiRussiaIoni Bowcher UNQUALIFIED
Maria L KuskoBrazilAmy Elsner RENEWAL
Isabel I GlickUnited KingdomIoni Bowcher NEGOTIATION
Faith J DarakjyJapanAmy Elsner UNQUALIFIED
Aika U ShinkoArgentinaElwin Sharvill UNQUALIFIED
Deepesh I AlbaresAustraliaOnyama Limba PROPOSAL
Maria L BriddickRussiaIvan Magalhaes PROPOSAL
Jeanfrancois Y VenereFranceIvan Magalhaes QUALIFIED
Greenwood P NestleUnited KingdomStephen Shaw NEW
Sinclair V MaletItalyXuxue Feng RENEWAL
Izzy K StockhamFranceAmy Elsner NEW
Jennifer H GlickFranceAsiya Javayant PROPOSAL
Julie A GarufiUnited KingdomXuxue Feng RENEWAL
Mujtaba O DoeFranceBernardo Dominic RENEWAL
Sinclair G BriddickSpainAmy Elsner NEW
Leon I NickaFranceXuxue Feng NEW
Stacey Y MorascaBrazilBernardo Dominic NEGOTIATION
Sinclair F PaprockiAustraliaXuxue Feng PROPOSAL
Kadeem U SaylorsArgentinaXuxue Feng PROPOSAL
Clifford C StockhamRussiaBernardo Dominic UNQUALIFIED
Jones F BriddickItalyXuxue Feng NEW
Darci A GarufiJapanOnyama Limba RENEWAL
Rodrigues R GillianRussiaAsiya Javayant NEW
Antonio Z FigeroaGermanyIvan Magalhaes RENEWAL
Misaki P SchemmerIndiaElwin Sharvill UNQUALIFIED
Aditya P KolmetzGermanyOnyama Limba RENEWAL

<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>