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
Maria N RutaRussiaIoni Bowcher QUALIFIED
Aditya N RoysterRussiaIvan Magalhaes NEGOTIATION
Rodrigues J GarufiItalyElwin Sharvill QUALIFIED
Jefferson W NestleSpainOnyama Limba NEGOTIATION
Julie J FlosiRussiaIoni Bowcher QUALIFIED
Faith M BowleyCanadaAnna Fali RENEWAL
Alejandro R PaprockiCanadaOnyama Limba QUALIFIED
Leon C CampainUnited KingdomIoni Bowcher UNQUALIFIED
Antonio E SchemmerSpainIoni Bowcher RENEWAL
Salvatore X KolmetzFranceAmy Elsner NEGOTIATION
Costa T FlosiCanadaAsiya Javayant PROPOSAL
James I FlosiBrazilElwin Sharvill PROPOSAL
Mujtaba I FerenczJapanOnyama Limba PROPOSAL
Chavez K RulapaughRussiaIoni Bowcher PROPOSAL
Izzy C MorascaArgentinaStephen Shaw PROPOSAL
Julie E FollerUnited KingdomElwin Sharvill NEGOTIATION
Isabel C SaylorsArgentinaStephen Shaw NEW
Arvin E PerinUnited KingdomOnyama Limba QUALIFIED
Aditya Z DoeRussiaBernardo Dominic RENEWAL
Jones H SergiArgentinaAnna Fali QUALIFIED
Munro H RutaBrazilOnyama Limba RENEWAL
Antonio Y GauchoUnited KingdomOnyama Limba UNQUALIFIED
Johnson H VocelkaAustraliaStephen Shaw NEGOTIATION
Izzy W SaylorsRussiaAsiya Javayant RENEWAL
Kadeem A TollnerBrazilAsiya Javayant RENEWAL
Mujtaba B AmigonArgentinaOnyama Limba PROPOSAL
Octavia F WaycottArgentinaAmy Elsner NEW
Juan Q GarufiGermanyIoni Bowcher QUALIFIED
Aika E WieserBrazilAmy Elsner NEW
Antonio N ChuiGermanyElwin Sharvill NEGOTIATION
Jennifer V GillianCanadaBernardo Dominic PROPOSAL
Kadeem I FerenczItalyStephen Shaw RENEWAL
Jeanfrancois W PerinFranceXuxue Feng NEGOTIATION
Aruna M BowleyCanadaStephen Shaw RENEWAL
Faith M GauchoUnited KingdomBernardo Dominic QUALIFIED
David K KolmetzItalyIvan Magalhaes NEW
Costa Y ChuiItalyAnna Fali NEGOTIATION
Jeanfrancois B FollerCanadaOnyama Limba NEW
Clifford P TollnerFranceAmy Elsner RENEWAL
James D CaldareraGermanyOnyama Limba UNQUALIFIED
Jeanfrancois P AlbaresItalyBernardo Dominic RENEWAL
Claire V DilliardCanadaOnyama Limba NEW
Greenwood B TollnerBrazilAsiya Javayant UNQUALIFIED
Emily E MarrierRussiaXuxue Feng QUALIFIED
Misaki Y FerenczFranceIvan Magalhaes NEW
Rodrigues Y AmigonItalyOnyama Limba PROPOSAL
David S DilliardAustraliaElwin Sharvill RENEWAL
Nicolas Q RutaAustraliaElwin Sharvill RENEWAL
Aruna T IturbideAustraliaElwin Sharvill PROPOSAL
Sinclair Q AmigonRussiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson X TollnerJapanXuxue Feng UNQUALIFIED
Emily L PaprockiIndiaIvan Magalhaes QUALIFIED
Darci Q NestleBrazilAmy Elsner NEW
Salvatore K SaylorsArgentinaOnyama Limba NEW
Cody D NickaFranceAsiya Javayant RENEWAL
Juan G StensethCanadaAnna Fali QUALIFIED
Maisha D CaudyUnited KingdomXuxue Feng NEW
Wickens I DoeGermanyAmy Elsner PROPOSAL
Mayumi B StockhamGermanyXuxue Feng NEW
Morrow Y FerenczAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley T CaldareraItaly2026-09-03Commercial Press UNQUALIFIED95Onyama Limba
1001Rodrigues R MorascaIndia2026-10-02Chemel, James L Cpa NEW95Bernardo Dominic
1002Maisha D WieserUnited Kingdom2026-09-16King, Christopher A Esq NEGOTIATION21Anna Fali
1003Maria Y MarrierArgentina2026-09-18Chemel, James L Cpa QUALIFIED93Onyama Limba
1004Jones G IturbideArgentina2026-09-27Printing Dimensions PROPOSAL12Xuxue Feng
1005Wickens C MacleadRussia2026-09-13Chemel, James L Cpa NEGOTIATION60Elwin Sharvill
1006Mayumi T FigeroaRussia2026-09-24King, Christopher A Esq NEGOTIATION71Stephen Shaw
1007Murillo W MarrierAustralia2026-09-10Chanay, Jeffrey A Esq RENEWAL59Bernardo Dominic
1008Johnson U RutaSpain2026-09-24King, Christopher A Esq RENEWAL61Amy Elsner
1009Salvatore U RoysterRussia2026-09-22Feltz Printing Service RENEWAL29Asiya Javayant
1010Jones I GauchoGermany2026-09-13Chemel, James L Cpa QUALIFIED69Anna Fali
1011Isabel U WieserRussia2026-09-24Rangoni Of Florence UNQUALIFIED64Ivan Magalhaes
1012Francesco N NickaAustralia2026-09-18Commercial Press RENEWAL95Asiya Javayant
1013Jeanfrancois R WieserItaly2026-09-19Chapman, Ross E Esq RENEWAL32Elwin Sharvill
1014Silvio Y StockhamItaly2026-09-05King, Christopher A Esq RENEWAL28Asiya Javayant
1015Nicolas G DarakjyAustralia2026-09-29Chapman, Ross E Esq RENEWAL97Bernardo Dominic
1016Claire T DoeGermany2026-09-29Chanay, Jeffrey A Esq RENEWAL44Stephen Shaw
1017Jennifer E StensethItaly2026-09-20Chanay, Jeffrey A Esq UNQUALIFIED61Onyama Limba
1018Ashley S WieserAustralia2026-09-19Printing Dimensions NEGOTIATION94Bernardo Dominic
1019Claire S KolmetzSpain2026-09-28Rousseaux, Michael Esq NEGOTIATION99Onyama Limba
1020Johnson A SchemmerFrance2026-10-02Chapman, Ross E Esq NEGOTIATION25Asiya Javayant
1021Aika U RulapaughItaly2026-09-22Printing Dimensions RENEWAL35Xuxue Feng
1022Smith P MaletAustralia2026-09-30Chanay, Jeffrey A Esq RENEWAL18Anna Fali
1023Francesco F OldroydFrance2026-09-10Dorl, James J Esq NEGOTIATION97Xuxue Feng
1024Ashley D BowleyBrazil2026-09-10Truhlar And Truhlar Attys NEGOTIATION16Ivan Magalhaes
1025Clifford Z SaylorsItaly2026-09-19Dorl, James J Esq QUALIFIED53Ioni Bowcher
1026Claire F MacleadGermany2026-09-19Chapman, Ross E Esq PROPOSAL82Xuxue Feng
1027David N TollnerFrance2026-09-18Morlong Associates RENEWAL64Elwin Sharvill
1028Smith F RutaIndia2026-09-23Dorl, James J Esq QUALIFIED32Elwin Sharvill
1029Ricardo C FerenczCanada2026-09-28Rangoni Of Florence UNQUALIFIED80Xuxue Feng
1030Jones Q BowleyFrance2026-09-20Buckley Miller Wright NEW99Asiya Javayant
1031Cody X AlbaresAustralia2026-09-27Chemel, James L Cpa RENEWAL6Ivan Magalhaes
1032Mujtaba X FigeroaIndia2026-10-01Chanay, Jeffrey A Esq QUALIFIED56Ivan Magalhaes
1033Tony D VocelkaIndia2026-09-13Truhlar And Truhlar Attys NEGOTIATION51Onyama Limba
1034Tony Y OstroskyCanada2026-09-16Dorl, James J Esq QUALIFIED35Stephen Shaw
1035Arvin Z MaletFrance2026-09-07Rangoni Of Florence QUALIFIED57Onyama Limba
1036Ivar G IturbideArgentina2026-09-13King, Christopher A Esq RENEWAL48Stephen Shaw
1037Sinclair J CampainFrance2026-09-14Chemel, James L Cpa QUALIFIED80Anna Fali
1038Alejandro D BologniaSpain2026-09-21Chapman, Ross E Esq UNQUALIFIED97Stephen Shaw
1039Stacey P KuskoCanada2026-09-14Dorl, James J Esq NEGOTIATION41Elwin Sharvill
1040Antonio V TollnerAustralia2026-09-18Buckley Miller Wright UNQUALIFIED21Bernardo Dominic
1041Isabel N ShinkoUnited Kingdom2026-09-17Commercial Press RENEWAL27Onyama Limba
1042Deepesh D ChuiGermany2026-09-29Chapman, Ross E Esq UNQUALIFIED91Asiya Javayant
1043Morrow F CaudyCanada2026-09-05Printing Dimensions RENEWAL82Elwin Sharvill
1044Aika Q StensethIndia2026-09-08Dorl, James J Esq NEW20Elwin Sharvill
1045Kaitlin J GauchoRussia2026-09-16Printing Dimensions RENEWAL31Anna Fali
1046Chavez P DoeRussia2026-09-21Rousseaux, Michael Esq QUALIFIED40Stephen Shaw
1047Octavia P IturbideJapan2026-09-25Commercial Press QUALIFIED42Ivan Magalhaes
1048Juan P IturbideItaly2026-09-30Morlong Associates UNQUALIFIED72Xuxue Feng
1049Chavez Q ShinkoJapan2026-09-29Feiner Bros RENEWAL41Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Chavez G GarufiArgentinaAmy Elsner RENEWAL
Adams Y InouyeBrazilIoni Bowcher UNQUALIFIED
Tony S BriddickJapanAnna Fali PROPOSAL
Clifford F PoquetteBrazilIoni Bowcher NEGOTIATION
Cody X GillianBrazilAsiya Javayant NEW
Antonio O VenereCanadaAnna Fali QUALIFIED
Leja E DoeCanadaIoni Bowcher NEW
Salvatore J AmigonUnited KingdomOnyama Limba PROPOSAL
Smith V TollnerIndiaAsiya Javayant NEW
Arvin U MarrierIndiaIoni Bowcher NEW
Aika K ChuiJapanStephen Shaw PROPOSAL
Adams Q NickaRussiaXuxue Feng UNQUALIFIED
Ashley O KuskoUnited KingdomIoni Bowcher QUALIFIED
Aruna O DoeFranceOnyama Limba NEGOTIATION
Jennifer E VocelkaRussiaAmy Elsner QUALIFIED
Ashley Q DarakjyRussiaAmy Elsner QUALIFIED
Jeanfrancois V WhobreyAustraliaAsiya Javayant UNQUALIFIED
Johnson J MaletIndiaBernardo Dominic NEGOTIATION
Smith C SchemmerRussiaIoni Bowcher RENEWAL
Maisha B StensethArgentinaAmy Elsner NEGOTIATION
Greenwood Z CaudyItalyXuxue Feng RENEWAL
Munro J FerenczArgentinaBernardo Dominic QUALIFIED
Sinclair C FollerAustraliaBernardo Dominic UNQUALIFIED
Smith S FlosiGermanyOnyama Limba QUALIFIED
Octavia H FlosiBrazilAsiya Javayant QUALIFIED
David S CaldareraGermanyElwin Sharvill UNQUALIFIED
Adams Y VenereArgentinaBernardo Dominic NEW
Francesco H MaletBrazilAsiya Javayant UNQUALIFIED
Isabel F DoeFranceXuxue Feng NEGOTIATION
Tony K SchemmerRussiaElwin Sharvill UNQUALIFIED
Kadeem A CampainFranceElwin Sharvill NEW
Sinclair V OldroydJapanAmy Elsner UNQUALIFIED
Isabel V VocelkaAustraliaStephen Shaw RENEWAL
Silvio M ChuiBrazilBernardo Dominic RENEWAL
Emily M FlosiJapanXuxue Feng PROPOSAL
Silvio Q MaletItalyXuxue Feng UNQUALIFIED
Aditya I DoeBrazilAnna Fali UNQUALIFIED
Morrow D SaylorsSpainStephen Shaw RENEWAL
Ivar X AlbaresBrazilAmy Elsner NEGOTIATION
Francesco O BowleyArgentinaIvan Magalhaes NEW
Sinclair Z IturbideSpainIoni Bowcher PROPOSAL
Arvin M VenereSpainAnna Fali PROPOSAL
David J MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Silvio N DilliardBrazilOnyama Limba NEGOTIATION
Julie N StensethJapanIoni Bowcher UNQUALIFIED
Costa K OldroydSpainXuxue Feng UNQUALIFIED
Kadeem L MaletCanadaIoni Bowcher QUALIFIED
Ivar Y DilliardGermanyOnyama Limba NEW
Leon L SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha Y GauchoCanadaAmy Elsner QUALIFIED
Frozen Columns
Name
Greenwood M Nestle
Leon T Morasca
James O Tollner
James S Poquette
Isabel E Doe
Kaitlin E Tollner
Isabel M Royster
Faith G Tollner
Jeanfrancois C Foller
Tony L Inouye
Isabel I Schemmer
Kaitlin W Glick
Emily H Caudy
Clifford E Stenseth
Maisha Q Perin
Silvio W Flosi
Alejandro K Ostrosky
Kadeem K Kolmetz
Kadeem I Dilliard
Morrow U Nicka
Cody V Kusko
Misaki R Stenseth
Costa C Royster
James C Marrier
Smith Z Oldroyd
Smith Y Ruta
Leja I Foller
Adams S Doe
Jefferson M Whobrey
Darci P Butt
James U Morasca
Mujtaba N Paprocki
Maisha M Wieser
Emily F Ferencz
Smith R Doe
Jennifer T Caldarera
Cody A Figeroa
Johnson N Ruta
Jeanfrancois M Shinko
Greenwood A Stockham
Aditya C Wieser
Ivar G Sergi
Jones G Perin
James E Ostrosky
Salvatore D Oldroyd
Aditya L Bowley
Rodrigues Y Paprocki
Octavia E Doe
Octavia Q Rim
Jefferson I Poquette
IdCountryDate
1000India2026-09-07
1001Canada2026-09-15
1002Argentina2026-09-24
1003Russia2026-09-25
1004Argentina2026-09-16
1005India2026-09-26
1006India2026-09-18
1007Canada2026-09-04
1008France2026-09-24
1009Australia2026-09-14
1010United Kingdom2026-09-13
1011Canada2026-10-02
1012Russia2026-09-03
1013Germany2026-10-01
1014Brazil2026-09-26
1015Australia2026-09-11
1016France2026-09-24
1017Brazil2026-09-26
1018Australia2026-09-15
1019Australia2026-09-22
1020Spain2026-09-07
1021Argentina2026-10-01
1022Japan2026-09-28
1023Argentina2026-10-02
1024India2026-09-26
1025France2026-09-21
1026United Kingdom2026-09-05
1027Japan2026-09-04
1028Russia2026-09-15
1029France2026-09-30
1030Germany2026-09-15
1031France2026-09-21
1032Italy2026-09-08
1033Brazil2026-09-30
1034Japan2026-09-30
1035Canada2026-10-01
1036Brazil2026-09-12
1037Spain2026-09-22
1038Australia2026-09-11
1039Germany2026-09-30
1040Argentina2026-09-09
1041Russia2026-09-20
1042Spain2026-09-16
1043Canada2026-09-21
1044Japan2026-10-02
1045Japan2026-09-20
1046Argentina2026-09-19
1047Russia2026-09-19
1048Germany2026-09-19
1049United Kingdom2026-09-10

On-Demand Data

NameIdCountryDate
Izzy R Vocelka1000Japan2026-09-26
Francesco K Stockham1001Germany2026-09-24
Jones F Wieser1002United Kingdom2026-09-11
David D Vocelka1003Brazil2026-10-02
Antonio O Rim1004Italy2026-09-17
Ashley V Royster1005Japan2026-09-06
Tony K Slusarski1006Argentina2026-09-04
James J Ostrosky1007Italy2026-09-27
Ivar R Caldarera1008Australia2026-10-01
Silvio X Shinko1009Australia2026-09-26
Greenwood N Maclead1010Germany2026-09-10
Adams W Caldarera1011France2026-09-16
Claire Y Campain1012Japan2026-09-19
James R Maclead1013Italy2026-09-09
Maisha Q Maclead1014Argentina2026-09-10
Ivar C Maclead1015Italy2026-09-19
Johnson K Saylors1016Germany2026-09-13
Clifford Z Campain1017Spain2026-09-07
Mayumi N Foller1018Italy2026-09-14
Isabel B Vocelka1019India2026-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones J WhobreyGermanyAmy Elsner PROPOSAL
Arvin V StockhamIndiaOnyama Limba NEGOTIATION
Wickens D AlbaresItalyBernardo Dominic QUALIFIED
Kadeem R MaletAustraliaAsiya Javayant RENEWAL
Costa O GlickCanadaIoni Bowcher UNQUALIFIED
Julie N OstroskyIndiaBernardo Dominic NEW
Silvio I GlickJapanAmy Elsner QUALIFIED
Smith G StockhamGermanyOnyama Limba PROPOSAL
Claire C MacleadGermanyElwin Sharvill UNQUALIFIED
Kaitlin C DoeArgentinaIvan Magalhaes NEGOTIATION
Salvatore D DoeGermanyIvan Magalhaes NEGOTIATION
Tony S PerinItalyAsiya Javayant PROPOSAL
Ivar T DarakjySpainOnyama Limba RENEWAL
Alejandro M KuskoItalyXuxue Feng NEGOTIATION
Ivar T FollerArgentinaBernardo Dominic QUALIFIED
Izzy W AmigonRussiaXuxue Feng PROPOSAL
Ricardo M AlbaresFranceXuxue Feng NEGOTIATION
Wickens U VocelkaRussiaElwin Sharvill QUALIFIED
Kadeem T CampainGermanyAsiya Javayant NEGOTIATION
Ivar E SchemmerAustraliaStephen Shaw NEW
Jones G IturbideRussiaOnyama Limba PROPOSAL
Arvin B MaletUnited KingdomIvan Magalhaes QUALIFIED
Ashley E MaletItalyBernardo Dominic NEW
Aika G OldroydArgentinaStephen Shaw NEGOTIATION
Mujtaba C GillianUnited KingdomStephen Shaw NEW
Jennifer M WieserItalyIoni Bowcher NEGOTIATION
Nicolas Y TollnerArgentinaAnna Fali QUALIFIED
Rodrigues F SaylorsBrazilElwin Sharvill QUALIFIED
Alejandro H RutaArgentinaBernardo Dominic NEW
Claire D BologniaCanadaElwin Sharvill PROPOSAL
Arvin M PerinJapanOnyama Limba RENEWAL
Maria Z IturbideFranceElwin Sharvill PROPOSAL
Mayumi D PoquetteBrazilElwin Sharvill QUALIFIED
Jones E KolmetzUnited KingdomXuxue Feng PROPOSAL
Izzy L InouyeArgentinaAmy Elsner NEW
Aruna I RimFranceAnna Fali PROPOSAL
Leja F ButtGermanyIvan Magalhaes NEW
Leon X GillianBrazilIvan Magalhaes UNQUALIFIED
Maria I GillianBrazilStephen Shaw PROPOSAL
Ivar S RoysterRussiaElwin Sharvill QUALIFIED

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