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
Adams W TollnerGermanyAnna Fali NEGOTIATION
Nicolas G SergiJapanIvan Magalhaes NEGOTIATION
Rodrigues C RimSpainElwin Sharvill RENEWAL
Antonio F WieserUnited KingdomBernardo Dominic PROPOSAL
Clifford Y IturbideItalyXuxue Feng NEW
Stacey M BologniaBrazilStephen Shaw NEW
Darci V GlickJapanXuxue Feng PROPOSAL
Tony L KuskoUnited KingdomStephen Shaw UNQUALIFIED
Costa Z BologniaIndiaIvan Magalhaes QUALIFIED
Salvatore H CaudyIndiaAmy Elsner NEGOTIATION
Kaitlin E CampainArgentinaBernardo Dominic NEW
Darci S StockhamUnited KingdomBernardo Dominic NEW
Faith I GarufiSpainAnna Fali PROPOSAL
Antonio J RulapaughJapanIoni Bowcher UNQUALIFIED
Juan T ButtCanadaElwin Sharvill QUALIFIED
Ricardo W DarakjyGermanyAmy Elsner RENEWAL
Leon M KuskoIndiaAnna Fali NEGOTIATION
Wickens M VenereRussiaOnyama Limba RENEWAL
Misaki I VocelkaFranceElwin Sharvill NEW
Deepesh I TollnerFranceAnna Fali NEGOTIATION
Julie K WhobreyUnited KingdomElwin Sharvill NEW
Morrow Y RoysterItalyElwin Sharvill RENEWAL
Murillo O CaldareraIndiaXuxue Feng UNQUALIFIED
Antonio V FigeroaCanadaStephen Shaw PROPOSAL
Tony E FerenczJapanOnyama Limba PROPOSAL
James Y CaldareraIndiaAnna Fali RENEWAL
Claire B KuskoSpainXuxue Feng QUALIFIED
Faith P NestleSpainIvan Magalhaes NEGOTIATION
Aditya G SergiItalyAmy Elsner UNQUALIFIED
Isabel V MaletSpainOnyama Limba PROPOSAL
Misaki S MarrierSpainXuxue Feng NEGOTIATION
Salvatore T WaycottBrazilAnna Fali RENEWAL
Johnson Q RoysterGermanyStephen Shaw NEGOTIATION
Faith J ShinkoBrazilAsiya Javayant PROPOSAL
Johnson H BriddickItalyElwin Sharvill UNQUALIFIED
Octavia D DarakjyGermanyIoni Bowcher UNQUALIFIED
Wickens H DilliardUnited KingdomStephen Shaw QUALIFIED
Darci S MarrierItalyAsiya Javayant QUALIFIED
Stacey G WieserGermanyXuxue Feng UNQUALIFIED
Octavia W FlosiUnited KingdomAmy Elsner NEW
Salvatore V BologniaGermanyAmy Elsner NEGOTIATION
Juan W SlusarskiItalyAmy Elsner RENEWAL
Stacey L InouyeJapanElwin Sharvill RENEWAL
Jennifer Y WieserRussiaAnna Fali UNQUALIFIED
Tony A ChuiJapanIoni Bowcher PROPOSAL
Murillo K AmigonSpainIoni Bowcher UNQUALIFIED
Jennifer G RimRussiaStephen Shaw QUALIFIED
Clifford J BriddickArgentinaElwin Sharvill NEW
Jefferson I VenereUnited KingdomAsiya Javayant PROPOSAL
James Y SlusarskiSpainAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair V VenereBrazilAmy Elsner NEGOTIATION
Isabel O SergiAustraliaStephen Shaw NEGOTIATION
Smith C CaldareraSpainStephen Shaw QUALIFIED
Salvatore W CampainFranceIvan Magalhaes QUALIFIED
Julie S AlbaresBrazilStephen Shaw RENEWAL
Jefferson P GlickSpainStephen Shaw PROPOSAL
Antonio V SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Mayumi B WaycottArgentinaXuxue Feng UNQUALIFIED
Ivar I CampainUnited KingdomOnyama Limba NEGOTIATION
David Z OstroskyArgentinaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria G MorascaUnited Kingdom2026-08-21Rousseaux, Michael Esq NEGOTIATION3Stephen Shaw
1001Arvin B BriddickBrazil2026-09-03Printing Dimensions PROPOSAL85Amy Elsner
1002Arvin R NickaArgentina2026-09-05Rangoni Of Florence NEGOTIATION59Stephen Shaw
1003Jeanfrancois Y BriddickBrazil2026-09-04Dorl, James J Esq RENEWAL79Ivan Magalhaes
1004Emily T StensethIndia2026-08-26Morlong Associates NEGOTIATION84Anna Fali
1005Johnson K PerinUnited Kingdom2026-08-30Rousseaux, Michael Esq NEW96Elwin Sharvill
1006Munro X NickaUnited Kingdom2026-09-05Commercial Press UNQUALIFIED84Ioni Bowcher
1007Alejandro T MorascaRussia2026-09-05Chemel, James L Cpa RENEWAL6Asiya Javayant
1008Francesco C StockhamFrance2026-08-24Printing Dimensions RENEWAL75Asiya Javayant
1009Tony M GillianArgentina2026-09-10Rangoni Of Florence QUALIFIED33Bernardo Dominic
1010Alejandro Z InouyeBrazil2026-08-31King, Christopher A Esq RENEWAL46Stephen Shaw
1011Mayumi F FollerGermany2026-09-02Chemel, James L Cpa NEW46Bernardo Dominic
1012Adams E CampainSpain2026-08-25Buckley Miller Wright QUALIFIED86Anna Fali
1013Munro F FerenczFrance2026-08-23Buckley Miller Wright QUALIFIED86Bernardo Dominic
1014Aditya Q ChuiArgentina2026-09-07Rousseaux, Michael Esq QUALIFIED68Amy Elsner
1015Kaitlin H RutaSpain2026-08-21Truhlar And Truhlar Attys NEGOTIATION62Amy Elsner
1016Misaki F PaprockiArgentina2026-09-05Rangoni Of Florence UNQUALIFIED84Xuxue Feng
1017Morrow K DarakjyItaly2026-08-30Feiner Bros QUALIFIED63Xuxue Feng
1018Chavez B StockhamArgentina2026-09-16Rousseaux, Michael Esq NEGOTIATION55Xuxue Feng
1019Leon W WhobreySpain2026-08-29Chapman, Ross E Esq QUALIFIED52Ioni Bowcher
1020Jennifer N MaletUnited Kingdom2026-08-29Truhlar And Truhlar Attys NEW90Elwin Sharvill
1021Alejandro K FollerCanada2026-08-31Feltz Printing Service UNQUALIFIED23Amy Elsner
1022Rodrigues X InouyeCanada2026-09-15Benton, John B Jr UNQUALIFIED15Onyama Limba
1023Jones B FollerJapan2026-08-21Commercial Press RENEWAL15Xuxue Feng
1024Costa K RulapaughBrazil2026-09-19Chapman, Ross E Esq RENEWAL47Amy Elsner
1025Isabel T AlbaresCanada2026-09-14Chanay, Jeffrey A Esq NEW86Onyama Limba
1026Maria V RimBrazil2026-09-09Chanay, Jeffrey A Esq NEW66Asiya Javayant
1027Johnson O SaylorsArgentina2026-08-22Benton, John B Jr PROPOSAL60Elwin Sharvill
1028Izzy S DoeJapan2026-08-30Dorl, James J Esq UNQUALIFIED97Anna Fali
1029Rodrigues Y SlusarskiFrance2026-09-04Chemel, James L Cpa NEGOTIATION24Ivan Magalhaes
1030Leon S FlosiIndia2026-09-09Morlong Associates QUALIFIED22Stephen Shaw
1031Stacey F FerenczUnited Kingdom2026-09-09Printing Dimensions RENEWAL6Asiya Javayant
1032Deepesh L ChuiBrazil2026-08-23Rousseaux, Michael Esq RENEWAL51Ioni Bowcher
1033Izzy V AlbaresFrance2026-09-14Dorl, James J Esq QUALIFIED81Onyama Limba
1034Darci V WhobreyIndia2026-09-01Commercial Press UNQUALIFIED35Asiya Javayant
1035Munro R MaletBrazil2026-08-24Commercial Press RENEWAL85Elwin Sharvill
1036Faith N GauchoJapan2026-09-03King, Christopher A Esq UNQUALIFIED60Anna Fali
1037Alejandro V PaprockiGermany2026-08-27King, Christopher A Esq RENEWAL83Ioni Bowcher
1038Jeanfrancois Z CaldareraJapan2026-08-22Chanay, Jeffrey A Esq RENEWAL97Bernardo Dominic
1039Tony K WaycottRussia2026-09-15Chemel, James L Cpa UNQUALIFIED10Xuxue Feng
1040Darci H CaudyRussia2026-09-10King, Christopher A Esq UNQUALIFIED35Anna Fali
1041Rodrigues F GarufiFrance2026-09-08Commercial Press NEW39Xuxue Feng
1042Salvatore V VenereCanada2026-09-18Morlong Associates QUALIFIED95Ivan Magalhaes
1043Arvin H TollnerAustralia2026-09-19Buckley Miller Wright PROPOSAL37Bernardo Dominic
1044Claire Z KolmetzGermany2026-08-29Printing Dimensions UNQUALIFIED82Ivan Magalhaes
1045Adams F MaletIndia2026-09-02Printing Dimensions UNQUALIFIED31Asiya Javayant
1046Octavia G SergiAustralia2026-09-10King, Christopher A Esq UNQUALIFIED76Elwin Sharvill
1047Maisha K IturbideRussia2026-09-12Printing Dimensions RENEWAL17Xuxue Feng
1048Jennifer V MaletCanada2026-08-28Morlong Associates UNQUALIFIED3Bernardo Dominic
1049Smith N StockhamAustralia2026-09-13Dorl, James J Esq QUALIFIED18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley B FlosiCanadaAnna Fali UNQUALIFIED
Munro Z RulapaughIndiaAsiya Javayant QUALIFIED
Jeanfrancois N GillianJapanOnyama Limba NEGOTIATION
Alejandro U OldroydRussiaStephen Shaw UNQUALIFIED
Faith R MaletUnited KingdomAsiya Javayant NEGOTIATION
Jefferson O BologniaIndiaAmy Elsner RENEWAL
Mujtaba V KuskoCanadaXuxue Feng QUALIFIED
Cody N ShinkoItalyIoni Bowcher UNQUALIFIED
Rodrigues N NestleJapanAmy Elsner NEW
Stacey A NickaBrazilIoni Bowcher QUALIFIED
Costa A MaletArgentinaElwin Sharvill NEGOTIATION
Jennifer W SaylorsFranceIvan Magalhaes NEGOTIATION
Darci R ShinkoGermanyOnyama Limba NEW
Emily A InouyeSpainOnyama Limba PROPOSAL
Aditya N VenereRussiaIvan Magalhaes RENEWAL
Octavia G AmigonItalyIoni Bowcher PROPOSAL
Misaki T DilliardArgentinaAsiya Javayant PROPOSAL
Darci Y PaprockiJapanXuxue Feng PROPOSAL
Rodrigues D RulapaughJapanIoni Bowcher NEW
Misaki Y MorascaBrazilIvan Magalhaes NEW
Costa P OldroydJapanStephen Shaw QUALIFIED
Costa N ChuiSpainAmy Elsner RENEWAL
Darci F PerinItalyIoni Bowcher NEW
Mujtaba N BriddickBrazilIoni Bowcher PROPOSAL
Kadeem A ChuiBrazilIoni Bowcher NEW
Adams V MaletGermanyIvan Magalhaes NEGOTIATION
Aditya T DoeFranceStephen Shaw NEW
Clifford V WieserFranceAsiya Javayant NEW
Julie U GarufiAustraliaElwin Sharvill RENEWAL
Jeanfrancois H TollnerAustraliaElwin Sharvill NEGOTIATION
Aruna H ButtJapanIvan Magalhaes RENEWAL
Chavez W ButtBrazilIvan Magalhaes NEGOTIATION
Faith M MaletItalyElwin Sharvill PROPOSAL
Izzy M FollerCanadaIoni Bowcher QUALIFIED
Misaki W RimFranceAmy Elsner QUALIFIED
Smith H WaycottJapanBernardo Dominic UNQUALIFIED
Aditya R GarufiJapanAsiya Javayant NEGOTIATION
Misaki Q IturbideBrazilBernardo Dominic PROPOSAL
Ivar G ShinkoIndiaBernardo Dominic RENEWAL
Alejandro O RoysterSpainIvan Magalhaes NEGOTIATION
Aditya N GarufiSpainAsiya Javayant QUALIFIED
Stacey T RimRussiaOnyama Limba QUALIFIED
Mujtaba M PoquetteAustraliaAnna Fali NEGOTIATION
Francesco E GarufiIndiaAnna Fali NEGOTIATION
Julie O SlusarskiAustraliaStephen Shaw NEW
Silvio C FlosiBrazilStephen Shaw NEGOTIATION
Costa W BologniaRussiaElwin Sharvill PROPOSAL
Aruna H RoysterAustraliaIvan Magalhaes NEW
Ivar V CampainRussiaBernardo Dominic QUALIFIED
Johnson M RutaJapanAmy Elsner QUALIFIED
Frozen Columns
Name
Greenwood U Morasca
Mujtaba C Caldarera
Deepesh H Darakjy
Francesco A Doe
Munro M Stenseth
Kadeem E Malet
Mayumi I Dilliard
Chavez V Schemmer
Aruna P Morasca
Aditya E Stenseth
Aruna V Vocelka
Costa X Tollner
Maria C Waycott
Sinclair V Shinko
Izzy A Kolmetz
Maisha V Saylors
Costa G Saylors
Greenwood C Nicka
Ivar Y Caudy
Leja H Shinko
Maisha V Stenseth
Claire T Shinko
Izzy W Maclead
Wickens K Bolognia
Munro P Inouye
Aika Z Shinko
Nicolas L Glick
Kadeem D Wieser
Jennifer V Bolognia
Isabel O Saylors
Chavez W Royster
Deepesh N Darakjy
Johnson Y Maclead
Nicolas K Sergi
Julie J Royster
Salvatore V Caudy
Chavez K Venere
Jeanfrancois H Campain
Greenwood S Iturbide
Costa Q Stenseth
David Z Nicka
Ashley M Ruta
Greenwood J Oldroyd
Maisha K Glick
Clifford K Figeroa
Juan B Chui
Deepesh J Vocelka
Jennifer I Waycott
Adams U Bolognia
Maisha V Sergi
IdCountryDate
1000Australia2026-09-12
1001United Kingdom2026-08-27
1002Italy2026-08-25
1003Japan2026-09-06
1004Brazil2026-09-19
1005France2026-08-23
1006Australia2026-08-22
1007Canada2026-08-30
1008Brazil2026-09-07
1009France2026-09-18
1010Canada2026-09-16
1011United Kingdom2026-09-17
1012Canada2026-09-09
1013Japan2026-08-24
1014United Kingdom2026-09-19
1015Japan2026-08-31
1016India2026-09-12
1017Italy2026-08-25
1018Spain2026-08-28
1019Canada2026-09-07
1020Russia2026-08-27
1021Spain2026-08-21
1022Japan2026-09-10
1023Canada2026-08-26
1024France2026-08-26
1025Australia2026-09-10
1026Russia2026-08-26
1027United Kingdom2026-08-29
1028Australia2026-09-15
1029Australia2026-09-08
1030Canada2026-08-28
1031Australia2026-08-25
1032Australia2026-09-13
1033Spain2026-09-06
1034Russia2026-08-26
1035India2026-09-01
1036Canada2026-08-31
1037Russia2026-09-16
1038Germany2026-08-31
1039Argentina2026-09-17
1040Brazil2026-08-25
1041Germany2026-09-11
1042India2026-09-01
1043Russia2026-09-08
1044Germany2026-09-05
1045Japan2026-09-17
1046Italy2026-09-08
1047Japan2026-08-22
1048Italy2026-09-11
1049Australia2026-09-09

On-Demand Data

NameIdCountryDate
Aika Q Bolognia1000Germany2026-09-18
Aika D Malet1001Russia2026-09-02
Juan D Tollner1002Japan2026-08-21
Johnson C Bowley1003Australia2026-09-03
Johnson E Darakjy1004India2026-09-04
Aruna N Shinko1005Japan2026-09-05
Greenwood W Kolmetz1006France2026-08-25
Wickens X Glick1007Germany2026-09-01
Leja R Tollner1008Brazil2026-09-14
Maisha Z Royster1009United Kingdom2026-09-03
Antonio C Oldroyd1010Spain2026-08-30
Izzy Q Caudy1011Russia2026-09-04
Kadeem N Venere1012India2026-09-11
Claire Y Stockham1013Argentina2026-09-05
Juan O Gillian1014Argentina2026-09-18
Johnson V Royster1015Canada2026-08-27
Octavia B Gillian1016Russia2026-08-29
Aika L Sergi1017Brazil2026-09-08
Mayumi I Gaucho1018Italy2026-08-22
Leon U Darakjy1019France2026-09-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi H RimUnited KingdomXuxue Feng PROPOSAL
Ashley C GillianUnited KingdomIvan Magalhaes NEW
Aika X CaudyItalyXuxue Feng QUALIFIED
David F FerenczUnited KingdomStephen Shaw PROPOSAL
Greenwood Q KuskoSpainAnna Fali NEGOTIATION
Francesco O FerenczJapanAnna Fali UNQUALIFIED
Isabel Y AlbaresRussiaOnyama Limba RENEWAL
Emily O InouyeSpainIoni Bowcher QUALIFIED
Wickens Z CaudyAustraliaAnna Fali QUALIFIED
David S StensethBrazilXuxue Feng QUALIFIED
Sinclair C VocelkaGermanyXuxue Feng QUALIFIED
Misaki Y ShinkoArgentinaAnna Fali PROPOSAL
Jennifer S RimUnited KingdomAsiya Javayant NEW
Jefferson I TollnerAustraliaIvan Magalhaes NEW
Maria C KuskoGermanyBernardo Dominic NEGOTIATION
Sinclair I GillianJapanIvan Magalhaes RENEWAL
Tony G ShinkoIndiaAnna Fali RENEWAL
Isabel G InouyeIndiaStephen Shaw NEGOTIATION
Nicolas K GlickItalyBernardo Dominic RENEWAL
Isabel P SergiAustraliaOnyama Limba NEW
Silvio A GarufiAustraliaStephen Shaw NEW
Julie H PoquetteCanadaAsiya Javayant UNQUALIFIED
Isabel J WieserCanadaBernardo Dominic NEW
Francesco Y IturbideIndiaAnna Fali QUALIFIED
Claire F SchemmerSpainElwin Sharvill NEGOTIATION
Jones V StockhamJapanElwin Sharvill UNQUALIFIED
Ashley H AlbaresSpainIvan Magalhaes UNQUALIFIED
Antonio Q DilliardItalyXuxue Feng NEW
James T InouyeGermanyElwin Sharvill NEGOTIATION
Aika Z SlusarskiRussiaXuxue Feng UNQUALIFIED
Alejandro Q MarrierRussiaStephen Shaw RENEWAL
Leja Q ShinkoAustraliaAnna Fali RENEWAL
Emily Y SergiSpainAsiya Javayant QUALIFIED
Jennifer I SchemmerBrazilAnna Fali NEGOTIATION
James C AmigonIndiaIvan Magalhaes NEGOTIATION
Morrow E StensethAustraliaXuxue Feng NEW
Aruna A TollnerSpainBernardo Dominic RENEWAL
Maisha W BriddickRussiaAmy Elsner NEGOTIATION
Leon S RutaItalyElwin Sharvill UNQUALIFIED
Jones S PaprockiAustraliaIvan Magalhaes NEW

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