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
Ricardo P FlosiItalyAnna Fali UNQUALIFIED
Sinclair B BologniaUnited KingdomAmy Elsner QUALIFIED
Ricardo L CampainGermanyAmy Elsner QUALIFIED
Kaitlin R ChuiGermanyBernardo Dominic NEGOTIATION
Jennifer K FlosiGermanyAsiya Javayant PROPOSAL
Ricardo R SlusarskiArgentinaStephen Shaw NEGOTIATION
Salvatore Q GlickRussiaAnna Fali PROPOSAL
Costa P CampainRussiaOnyama Limba NEW
James Y GlickFranceXuxue Feng PROPOSAL
Munro L FigeroaArgentinaBernardo Dominic NEW
Faith L GlickUnited KingdomAnna Fali PROPOSAL
Izzy L VenereItalyOnyama Limba UNQUALIFIED
Silvio G WhobreyRussiaXuxue Feng NEGOTIATION
Octavia G DilliardArgentinaStephen Shaw NEGOTIATION
Ivar F MorascaJapanIvan Magalhaes UNQUALIFIED
Morrow O KolmetzBrazilOnyama Limba PROPOSAL
Leja I DoeArgentinaBernardo Dominic RENEWAL
Stacey H SergiRussiaStephen Shaw RENEWAL
Sinclair A ChuiJapanBernardo Dominic NEGOTIATION
Cody M DilliardUnited KingdomXuxue Feng RENEWAL
Murillo X FerenczItalyAnna Fali NEGOTIATION
James K KolmetzBrazilStephen Shaw PROPOSAL
Clifford M WhobreyIndiaStephen Shaw RENEWAL
Octavia R GillianBrazilIvan Magalhaes UNQUALIFIED
Alejandro X DilliardItalyIoni Bowcher NEW
Munro E SergiFranceBernardo Dominic QUALIFIED
Tony Z SaylorsJapanIvan Magalhaes NEGOTIATION
Clifford X KuskoItalyStephen Shaw NEGOTIATION
Izzy B PaprockiSpainBernardo Dominic NEGOTIATION
Mayumi M VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Faith W MacleadArgentinaElwin Sharvill PROPOSAL
Leja X MorascaSpainIvan Magalhaes NEGOTIATION
Julie R CampainUnited KingdomOnyama Limba UNQUALIFIED
Emily Q SergiItalyIoni Bowcher NEW
Salvatore H GillianJapanAsiya Javayant RENEWAL
Smith W MacleadRussiaIvan Magalhaes PROPOSAL
Ashley U MaletUnited KingdomElwin Sharvill QUALIFIED
Juan I PerinCanadaBernardo Dominic PROPOSAL
Jennifer R SaylorsUnited KingdomStephen Shaw RENEWAL
Aditya E MarrierFranceStephen Shaw PROPOSAL
Johnson O DoeAustraliaElwin Sharvill NEW
Aruna W KolmetzGermanyIvan Magalhaes RENEWAL
Kaitlin U SergiFranceIvan Magalhaes UNQUALIFIED
Cody T KuskoFranceBernardo Dominic QUALIFIED
Greenwood X AmigonAustraliaElwin Sharvill NEW
Aruna V StensethArgentinaOnyama Limba QUALIFIED
Misaki T BowleyAustraliaIoni Bowcher UNQUALIFIED
Mujtaba E DilliardSpainXuxue Feng NEGOTIATION
Antonio W StockhamBrazilAnna Fali NEGOTIATION
Arvin V FollerRussiaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan L StockhamBrazilIvan Magalhaes UNQUALIFIED
Mayumi Y NickaItalyAnna Fali PROPOSAL
Stacey F OstroskyArgentinaAmy Elsner RENEWAL
Chavez J WieserFranceElwin Sharvill NEGOTIATION
Maria L TollnerUnited KingdomAmy Elsner QUALIFIED
Stacey B FollerIndiaAmy Elsner PROPOSAL
Morrow L FollerArgentinaStephen Shaw RENEWAL
Munro F ChuiFranceAnna Fali RENEWAL
Ashley F RoysterBrazilBernardo Dominic PROPOSAL
Greenwood H GillianFranceXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer Y FigeroaItaly2026-11-01Chemel, James L Cpa NEGOTIATION18Anna Fali
1001David Y SlusarskiIndia2026-10-28Chanay, Jeffrey A Esq NEW30Anna Fali
1002Aruna Z ChuiItaly2026-10-18King, Christopher A Esq PROPOSAL10Asiya Javayant
1003Arvin F MacleadAustralia2026-10-20Morlong Associates UNQUALIFIED88Anna Fali
1004Arvin B ButtFrance2026-10-27King, Christopher A Esq PROPOSAL72Asiya Javayant
1005Misaki U RulapaughRussia2026-10-14Chapman, Ross E Esq PROPOSAL57Onyama Limba
1006Rodrigues V BowleyArgentina2026-10-12Morlong Associates UNQUALIFIED11Ivan Magalhaes
1007Darci C FigeroaUnited Kingdom2026-10-04Commercial Press RENEWAL71Ivan Magalhaes
1008Claire D ButtCanada2026-10-12Buckley Miller Wright UNQUALIFIED55Onyama Limba
1009Clifford N MorascaCanada2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED7Onyama Limba
1010Tony N FigeroaBrazil2026-10-09Printing Dimensions QUALIFIED64Ivan Magalhaes
1011Claire F StensethSpain2026-10-11Printing Dimensions QUALIFIED41Amy Elsner
1012Arvin M FigeroaSpain2026-10-25Chanay, Jeffrey A Esq NEW30Bernardo Dominic
1013Murillo X GarufiItaly2026-10-28Feltz Printing Service QUALIFIED98Ivan Magalhaes
1014Smith R MacleadBrazil2026-10-15Chemel, James L Cpa NEGOTIATION83Anna Fali
1015Jefferson B OldroydSpain2026-10-24Morlong Associates UNQUALIFIED69Bernardo Dominic
1016Alejandro K GarufiArgentina2026-10-07Commercial Press QUALIFIED30Elwin Sharvill
1017Salvatore V WieserGermany2026-10-14Chapman, Ross E Esq QUALIFIED24Anna Fali
1018Jennifer H FollerAustralia2026-10-13Chemel, James L Cpa NEGOTIATION49Elwin Sharvill
1019Chavez E SergiIndia2026-10-05Printing Dimensions NEGOTIATION7Ioni Bowcher
1020Claire W MorascaArgentina2026-10-15Rangoni Of Florence QUALIFIED38Onyama Limba
1021Ashley H WaycottCanada2026-10-05Morlong Associates NEW94Bernardo Dominic
1022Kaitlin B PerinGermany2026-10-19Commercial Press NEW4Stephen Shaw
1023Maria B OldroydRussia2026-10-04Chemel, James L Cpa PROPOSAL52Ioni Bowcher
1024Jefferson X PerinRussia2026-10-03Rangoni Of Florence RENEWAL23Ioni Bowcher
1025Octavia I ButtIndia2026-10-13Morlong Associates NEGOTIATION64Stephen Shaw
1026Francesco T GlickArgentina2026-10-21Benton, John B Jr RENEWAL6Ivan Magalhaes
1027Maisha Z FlosiRussia2026-10-15Chanay, Jeffrey A Esq QUALIFIED39Ivan Magalhaes
1028Johnson T WhobreyIndia2026-10-27Rousseaux, Michael Esq PROPOSAL63Anna Fali
1029Misaki H SaylorsItaly2026-10-11King, Christopher A Esq NEW3Bernardo Dominic
1030Darci W OldroydUnited Kingdom2026-10-08King, Christopher A Esq PROPOSAL34Asiya Javayant
1031Ivar L TollnerGermany2026-10-30Feiner Bros QUALIFIED99Anna Fali
1032Aruna G WieserBrazil2026-10-17Chapman, Ross E Esq RENEWAL52Xuxue Feng
1033Clifford U AlbaresArgentina2026-10-12Commercial Press RENEWAL75Asiya Javayant
1034Chavez W KuskoSpain2026-10-13Truhlar And Truhlar Attys NEW18Onyama Limba
1035Greenwood P SlusarskiRussia2026-10-03Dorl, James J Esq RENEWAL15Onyama Limba
1036Tony X DarakjyBrazil2026-10-16Feiner Bros UNQUALIFIED52Stephen Shaw
1037Costa C BologniaAustralia2026-10-21Rousseaux, Michael Esq NEGOTIATION62Onyama Limba
1038Tony S RimArgentina2026-11-01Morlong Associates PROPOSAL25Bernardo Dominic
1039Maria A StockhamFrance2026-10-31Feiner Bros UNQUALIFIED73Ioni Bowcher
1040Antonio E RutaItaly2026-10-26Rangoni Of Florence NEGOTIATION64Ioni Bowcher
1041Chavez Y WhobreyJapan2026-10-04Truhlar And Truhlar Attys PROPOSAL9Ioni Bowcher
1042Francesco M FlosiJapan2026-10-29Feiner Bros NEW65Anna Fali
1043Kadeem M RutaFrance2026-10-18Feiner Bros PROPOSAL30Asiya Javayant
1044David D VenereJapan2026-10-21Rangoni Of Florence QUALIFIED24Bernardo Dominic
1045Leon S DoeIndia2026-10-18Rousseaux, Michael Esq PROPOSAL79Ioni Bowcher
1046Emily Z KuskoAustralia2026-10-14King, Christopher A Esq NEGOTIATION13Amy Elsner
1047Isabel A VocelkaGermany2026-10-31Commercial Press PROPOSAL71Ivan Magalhaes
1048Cody C VocelkaItaly2026-10-18Commercial Press QUALIFIED33Ivan Magalhaes
1049Costa V GarufiArgentina2026-10-11Rangoni Of Florence NEGOTIATION26Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio A DarakjyJapanAnna Fali NEW
Ivar G WieserSpainIvan Magalhaes RENEWAL
Octavia A ShinkoUnited KingdomAsiya Javayant RENEWAL
Aditya V MacleadJapanOnyama Limba NEGOTIATION
Antonio J WhobreyGermanyIvan Magalhaes NEGOTIATION
Clifford F BriddickJapanBernardo Dominic UNQUALIFIED
Leja Y VenereBrazilOnyama Limba QUALIFIED
Silvio M NickaCanadaAnna Fali UNQUALIFIED
Ashley R InouyeFranceAmy Elsner NEW
Salvatore W AlbaresJapanElwin Sharvill NEW
Leon B SlusarskiGermanyElwin Sharvill NEW
Ivar R StockhamCanadaIoni Bowcher PROPOSAL
James L GauchoIndiaIvan Magalhaes PROPOSAL
Cody B WaycottBrazilElwin Sharvill NEGOTIATION
Kaitlin I PoquetteGermanyAsiya Javayant NEGOTIATION
Chavez U GauchoRussiaAmy Elsner UNQUALIFIED
Alejandro D MacleadSpainIvan Magalhaes RENEWAL
Mujtaba L MarrierFranceAsiya Javayant UNQUALIFIED
James O RimSpainAmy Elsner RENEWAL
Maisha V RimBrazilAnna Fali QUALIFIED
Costa T FigeroaJapanAmy Elsner NEGOTIATION
Clifford D MaletFranceIvan Magalhaes RENEWAL
Stacey U GauchoJapanBernardo Dominic PROPOSAL
Octavia L SergiAustraliaIoni Bowcher PROPOSAL
Jeanfrancois W WaycottItalyOnyama Limba PROPOSAL
Maria K TollnerAustraliaAnna Fali NEGOTIATION
Ricardo W WaycottUnited KingdomAmy Elsner NEW
Jennifer G SchemmerArgentinaIoni Bowcher QUALIFIED
Mujtaba Q GauchoAustraliaIoni Bowcher NEW
Leon Z MaletJapanAmy Elsner PROPOSAL
Cody Z StensethUnited KingdomBernardo Dominic PROPOSAL
Darci I ShinkoFranceStephen Shaw PROPOSAL
Maisha D GlickItalyAmy Elsner PROPOSAL
Maisha Y WieserGermanyIvan Magalhaes NEGOTIATION
Emily Z KolmetzBrazilXuxue Feng NEW
Jones S GauchoBrazilStephen Shaw NEGOTIATION
Aika X MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
James M WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Greenwood W WaycottFranceXuxue Feng NEW
Salvatore U DarakjyIndiaAnna Fali NEGOTIATION
Salvatore Q RulapaughJapanAsiya Javayant NEGOTIATION
Munro U MaletJapanIvan Magalhaes NEGOTIATION
Isabel F ChuiArgentinaAsiya Javayant NEGOTIATION
Ricardo R TollnerArgentinaAmy Elsner QUALIFIED
Arvin E PaprockiGermanyXuxue Feng QUALIFIED
Deepesh W KuskoAustraliaStephen Shaw NEW
Emily M FerenczCanadaAnna Fali NEW
Faith S CaudyCanadaOnyama Limba PROPOSAL
Darci S WieserIndiaElwin Sharvill UNQUALIFIED
Clifford Z AmigonItalyAmy Elsner RENEWAL
Frozen Columns
Name
Kadeem B Ostrosky
Smith U Oldroyd
Juan S Briddick
Jefferson A Schemmer
Morrow C Darakjy
Costa L Maclead
Morrow X Whobrey
Stacey G Vocelka
Greenwood Y Gillian
Octavia I Poquette
Leon G Ostrosky
Aika W Chui
Munro K Gillian
Leja M Caldarera
Salvatore I Stockham
Kadeem M Briddick
Salvatore O Albares
Wickens A Iturbide
Leja L Marrier
Kaitlin T Ruta
Tony H Slusarski
Ivar M Dilliard
Juan B Wieser
Kaitlin R Albares
Francesco P Paprocki
Johnson W Ferencz
Maria Y Stenseth
James P Nicka
Deepesh G Campain
Clifford B Nestle
Leja Z Nestle
Kadeem R Kolmetz
Mujtaba P Malet
Mayumi L Sergi
Aditya B Wieser
Johnson X Slusarski
Adams A Campain
Misaki B Marrier
Silvio G Saylors
Morrow H Butt
Chavez P Caudy
Munro D Doe
Faith J Rim
Johnson A Briddick
Johnson H Kolmetz
Emily B Bowley
Francesco D Vocelka
Stacey E Morasca
Stacey Q Marrier
Jeanfrancois G Iturbide
IdCountryDate
1000Japan2026-10-11
1001Germany2026-10-08
1002Spain2026-10-26
1003Brazil2026-10-28
1004India2026-11-01
1005Japan2026-10-13
1006Brazil2026-10-08
1007Brazil2026-10-27
1008United Kingdom2026-10-06
1009France2026-10-20
1010Germany2026-10-05
1011Brazil2026-10-21
1012Brazil2026-10-26
1013Australia2026-10-11
1014Brazil2026-10-15
1015United Kingdom2026-10-27
1016Italy2026-10-11
1017India2026-11-01
1018Brazil2026-10-27
1019Germany2026-10-27
1020Italy2026-10-08
1021United Kingdom2026-10-16
1022Australia2026-10-22
1023France2026-10-19
1024France2026-10-26
1025France2026-10-29
1026Australia2026-10-31
1027France2026-10-22
1028Spain2026-10-14
1029Australia2026-11-01
1030Argentina2026-10-20
1031Russia2026-10-26
1032Germany2026-10-07
1033Russia2026-10-13
1034Spain2026-10-18
1035Russia2026-10-12
1036India2026-10-16
1037Russia2026-10-22
1038Spain2026-10-15
1039Argentina2026-10-29
1040Russia2026-10-17
1041Italy2026-10-22
1042Japan2026-10-17
1043India2026-11-01
1044Brazil2026-10-17
1045Argentina2026-10-09
1046Germany2026-10-08
1047Brazil2026-10-25
1048Spain2026-10-21
1049Australia2026-10-27

On-Demand Data

NameIdCountryDate
Octavia N Ferencz1000France2026-10-04
Clifford D Slusarski1001Spain2026-11-01
Costa P Albares1002Russia2026-10-27
Francesco C Inouye1003Australia2026-10-13
Rodrigues E Iturbide1004Germany2026-10-03
Maisha V Slusarski1005Russia2026-10-19
Jones Y Venere1006France2026-10-16
Cody Q Foller1007Brazil2026-10-30
Jennifer T Caudy1008Australia2026-10-09
Smith H Doe1009United Kingdom2026-10-10
Ivar B Sergi1010Spain2026-10-03
Jeanfrancois H Kusko1011Germany2026-10-29
Isabel K Stenseth1012Australia2026-10-10
Clifford O Nestle1013Japan2026-10-08
Misaki C Briddick1014Germany2026-10-12
Silvio V Stockham1015Brazil2026-10-06
Leon X Campain1016France2026-10-30
Maria L Whobrey1017Germany2026-10-19
Clifford Z Perin1018Italy2026-11-01
James Z Schemmer1019Germany2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily A RimFranceAsiya Javayant RENEWAL
Antonio C BowleyIndiaAmy Elsner UNQUALIFIED
Ricardo H OstroskyBrazilIoni Bowcher NEW
Jennifer Z ButtFranceOnyama Limba RENEWAL
Darci N MacleadGermanyOnyama Limba UNQUALIFIED
Aruna E WhobreyItalyAnna Fali NEGOTIATION
Leon Z KuskoJapanOnyama Limba QUALIFIED
David Q IturbideFranceIoni Bowcher UNQUALIFIED
Jones S MorascaJapanOnyama Limba QUALIFIED
Silvio G VenereBrazilAsiya Javayant UNQUALIFIED
Morrow W SlusarskiItalyIvan Magalhaes UNQUALIFIED
Leja O BriddickSpainBernardo Dominic UNQUALIFIED
Francesco R WaycottJapanAsiya Javayant NEGOTIATION
Juan E GarufiJapanOnyama Limba NEGOTIATION
Sinclair Z FigeroaUnited KingdomIoni Bowcher QUALIFIED
Kadeem U ShinkoGermanyElwin Sharvill NEW
Morrow F MorascaJapanAsiya Javayant QUALIFIED
Kaitlin S MaletArgentinaBernardo Dominic PROPOSAL
Arvin D CampainRussiaIvan Magalhaes NEW
Wickens D MacleadJapanXuxue Feng QUALIFIED
Antonio F VocelkaSpainXuxue Feng NEW
Claire D KolmetzGermanyAsiya Javayant RENEWAL
Morrow H AmigonCanadaBernardo Dominic UNQUALIFIED
Johnson E TollnerJapanAsiya Javayant NEGOTIATION
Maisha V VenereItalyXuxue Feng NEW
Nicolas N RulapaughCanadaBernardo Dominic NEGOTIATION
Adams T MacleadRussiaBernardo Dominic UNQUALIFIED
Ashley W GillianRussiaStephen Shaw UNQUALIFIED
Mayumi G PaprockiFranceAsiya Javayant NEGOTIATION
Ashley G SaylorsAustraliaOnyama Limba UNQUALIFIED
Rodrigues X MarrierBrazilBernardo Dominic PROPOSAL
Sinclair M BowleyUnited KingdomElwin Sharvill QUALIFIED
Kadeem O WaycottIndiaXuxue Feng PROPOSAL
Francesco R DoeGermanyElwin Sharvill PROPOSAL
Kaitlin F FlosiGermanyXuxue Feng RENEWAL
Cody Z RulapaughSpainBernardo Dominic RENEWAL
Mujtaba N CaldareraArgentinaAmy Elsner NEW
Sinclair B MaletBrazilOnyama Limba PROPOSAL
Jennifer S SaylorsSpainAnna Fali RENEWAL
Ricardo F MaletRussiaXuxue Feng 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>