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
Wickens O AmigonFranceAnna Fali UNQUALIFIED
Emily G OldroydUnited KingdomElwin Sharvill PROPOSAL
Jones Z GillianArgentinaIoni Bowcher NEGOTIATION
Francesco N RulapaughCanadaAmy Elsner NEW
Faith T TollnerJapanBernardo Dominic NEW
Costa P PerinFranceXuxue Feng NEW
Darci F WieserCanadaAsiya Javayant NEW
Mayumi O WaycottAustraliaAsiya Javayant RENEWAL
Johnson S ShinkoUnited KingdomAmy Elsner PROPOSAL
Cody I WieserFranceOnyama Limba RENEWAL
Maria K ShinkoJapanIoni Bowcher QUALIFIED
Jefferson J RutaSpainAsiya Javayant UNQUALIFIED
Darci S StockhamJapanIoni Bowcher PROPOSAL
Stacey Z WhobreyArgentinaXuxue Feng RENEWAL
Ricardo H TollnerArgentinaAnna Fali NEGOTIATION
Johnson H CaldareraFranceIvan Magalhaes UNQUALIFIED
Adams G AmigonItalyAmy Elsner QUALIFIED
Jeanfrancois R FerenczItalyElwin Sharvill UNQUALIFIED
Alejandro I VenereArgentinaAnna Fali PROPOSAL
Arvin C CampainIndiaXuxue Feng NEW
Wickens E DoeRussiaIoni Bowcher PROPOSAL
Mayumi F GauchoIndiaBernardo Dominic RENEWAL
Salvatore H KolmetzRussiaIvan Magalhaes NEGOTIATION
Ivar F InouyeRussiaAnna Fali UNQUALIFIED
Julie P WieserCanadaAnna Fali PROPOSAL
Rodrigues C WieserBrazilIoni Bowcher RENEWAL
Maisha G ShinkoAustraliaIvan Magalhaes PROPOSAL
Deepesh M ShinkoFranceAmy Elsner RENEWAL
Jefferson L CaudyUnited KingdomAsiya Javayant QUALIFIED
Munro O BologniaIndiaElwin Sharvill QUALIFIED
Nicolas V MorascaIndiaAmy Elsner NEW
Morrow V StensethBrazilIoni Bowcher NEGOTIATION
Nicolas M GillianSpainStephen Shaw NEGOTIATION
Jeanfrancois J InouyeItalyAmy Elsner RENEWAL
Misaki Y WhobreyCanadaAsiya Javayant PROPOSAL
Jeanfrancois O StensethUnited KingdomIoni Bowcher NEW
Smith I MarrierItalyAmy Elsner UNQUALIFIED
Jones P MacleadSpainBernardo Dominic RENEWAL
Aditya Z GillianIndiaElwin Sharvill NEW
Stacey G DoeJapanStephen Shaw RENEWAL
Rodrigues X RoysterFranceElwin Sharvill NEW
David T PoquetteGermanyElwin Sharvill RENEWAL
Arvin L GarufiFranceBernardo Dominic UNQUALIFIED
Alejandro J FigeroaFranceElwin Sharvill NEW
Munro D CaldareraGermanyBernardo Dominic RENEWAL
Misaki W TollnerBrazilAnna Fali QUALIFIED
Aditya E KolmetzRussiaAsiya Javayant NEW
Smith O ShinkoRussiaElwin Sharvill NEW
Adams N SaylorsJapanAmy Elsner NEW
Mujtaba N AlbaresArgentinaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Leja I GillianCanadaElwin Sharvill NEGOTIATION
Deepesh A SergiSpainAsiya Javayant RENEWAL
Mujtaba H KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy M SaylorsGermanyAsiya Javayant PROPOSAL
Sinclair D StensethSpainElwin Sharvill PROPOSAL
Mujtaba A DilliardItalyAsiya Javayant PROPOSAL
Chavez Z MaletFranceIoni Bowcher QUALIFIED
Aika M MaletItalyElwin Sharvill PROPOSAL
Clifford K SergiBrazilElwin Sharvill RENEWAL
James O WaycottGermanyXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow Z MarrierFrance2026-10-16Dorl, James J Esq UNQUALIFIED67Bernardo Dominic
1001Johnson P RimJapan2026-10-05Commercial Press UNQUALIFIED12Elwin Sharvill
1002Ivar M OstroskyArgentina2026-10-31King, Christopher A Esq NEGOTIATION5Ioni Bowcher
1003Misaki M BowleyJapan2026-10-17Chapman, Ross E Esq QUALIFIED59Xuxue Feng
1004Mujtaba F WaycottRussia2026-10-04Printing Dimensions RENEWAL55Bernardo Dominic
1005Morrow Z MorascaCanada2026-10-17Chemel, James L Cpa QUALIFIED51Elwin Sharvill
1006Tony E TollnerGermany2026-10-31Truhlar And Truhlar Attys NEW88Xuxue Feng
1007Wickens Q OstroskyGermany2026-10-11Chapman, Ross E Esq NEW71Stephen Shaw
1008Jefferson L MarrierIndia2026-10-12Truhlar And Truhlar Attys QUALIFIED23Ivan Magalhaes
1009Nicolas N CampainUnited Kingdom2026-10-17Commercial Press PROPOSAL31Bernardo Dominic
1010Darci O RoysterIndia2026-10-03Morlong Associates RENEWAL70Asiya Javayant
1011Isabel T PaprockiCanada2026-10-12Truhlar And Truhlar Attys RENEWAL0Xuxue Feng
1012Costa X SaylorsIndia2026-10-08Dorl, James J Esq UNQUALIFIED30Amy Elsner
1013Morrow Z MacleadCanada2026-10-29Chapman, Ross E Esq NEW81Onyama Limba
1014Sinclair A GarufiBrazil2026-10-24Morlong Associates UNQUALIFIED28Ivan Magalhaes
1015Jefferson Z SchemmerUnited Kingdom2026-10-07Feltz Printing Service NEW23Elwin Sharvill
1016Jefferson B AmigonItaly2026-10-12Printing Dimensions NEW18Elwin Sharvill
1017Julie Y WaycottRussia2026-10-24Commercial Press RENEWAL46Xuxue Feng
1018Aditya I ShinkoAustralia2026-10-30Rangoni Of Florence NEW43Anna Fali
1019Leja F WaycottFrance2026-10-04Dorl, James J Esq RENEWAL61Ivan Magalhaes
1020Leon J CaudyAustralia2026-10-24Chemel, James L Cpa PROPOSAL11Xuxue Feng
1021Smith D MacleadItaly2026-10-13Feltz Printing Service UNQUALIFIED90Ivan Magalhaes
1022Chavez J VocelkaJapan2026-10-17Chemel, James L Cpa NEW32Amy Elsner
1023Misaki W MarrierAustralia2026-10-16Commercial Press PROPOSAL46Ivan Magalhaes
1024Ashley T KuskoIndia2026-10-24Rangoni Of Florence QUALIFIED26Amy Elsner
1025Greenwood E FerenczBrazil2026-10-09Feltz Printing Service QUALIFIED84Anna Fali
1026Misaki J RoysterIndia2026-10-26Chapman, Ross E Esq QUALIFIED49Onyama Limba
1027Izzy F PerinUnited Kingdom2026-10-18Rousseaux, Michael Esq RENEWAL0Ioni Bowcher
1028Isabel N BowleyUnited Kingdom2026-10-30Rangoni Of Florence NEW82Onyama Limba
1029Smith Z AmigonItaly2026-10-04Morlong Associates UNQUALIFIED71Xuxue Feng
1030Johnson J RoysterRussia2026-10-30Commercial Press NEGOTIATION47Xuxue Feng
1031Greenwood X ShinkoGermany2026-10-14King, Christopher A Esq PROPOSAL23Asiya Javayant
1032Claire Q IturbideFrance2026-10-20Feltz Printing Service QUALIFIED87Bernardo Dominic
1033Antonio W ChuiAustralia2026-10-08King, Christopher A Esq QUALIFIED61Ivan Magalhaes
1034Antonio B MaletBrazil2026-10-20Dorl, James J Esq RENEWAL64Bernardo Dominic
1035Johnson M GlickSpain2026-10-27King, Christopher A Esq QUALIFIED21Stephen Shaw
1036Francesco Y AmigonItaly2026-10-05Rangoni Of Florence NEGOTIATION1Anna Fali
1037Murillo P OldroydJapan2026-10-31Benton, John B Jr RENEWAL91Amy Elsner
1038Kadeem D FlosiItaly2026-10-09King, Christopher A Esq RENEWAL83Elwin Sharvill
1039Antonio X WaycottUnited Kingdom2026-10-04Rangoni Of Florence RENEWAL92Onyama Limba
1040Munro Z GarufiBrazil2026-10-02Morlong Associates RENEWAL74Ivan Magalhaes
1041Murillo J InouyeCanada2026-10-17Truhlar And Truhlar Attys RENEWAL87Anna Fali
1042Ivar X GauchoAustralia2026-10-04Chanay, Jeffrey A Esq NEGOTIATION5Xuxue Feng
1043Faith V WieserArgentina2026-10-05Benton, John B Jr QUALIFIED51Stephen Shaw
1044Isabel N RulapaughItaly2026-10-11Buckley Miller Wright RENEWAL13Asiya Javayant
1045Ivar L BowleyFrance2026-10-24Benton, John B Jr PROPOSAL94Elwin Sharvill
1046Octavia C ButtGermany2026-10-02Printing Dimensions PROPOSAL19Asiya Javayant
1047Chavez H BologniaArgentina2026-10-25Truhlar And Truhlar Attys PROPOSAL26Onyama Limba
1048Francesco Q NestleCanada2026-10-29Morlong Associates NEW46Asiya Javayant
1049Claire B DarakjyFrance2026-10-09Rangoni Of Florence RENEWAL32Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya P KolmetzArgentinaElwin Sharvill NEGOTIATION
Alejandro X MaletFranceIoni Bowcher NEGOTIATION
Kadeem X GarufiAustraliaAmy Elsner UNQUALIFIED
Costa A MacleadRussiaAsiya Javayant UNQUALIFIED
Misaki Z PerinSpainIvan Magalhaes PROPOSAL
Claire A AmigonBrazilAnna Fali NEGOTIATION
Sinclair P WhobreySpainIvan Magalhaes NEGOTIATION
Kadeem O AmigonJapanAnna Fali QUALIFIED
Francesco I RimArgentinaAsiya Javayant RENEWAL
Wickens C RoysterFranceStephen Shaw QUALIFIED
Leja M ShinkoArgentinaStephen Shaw QUALIFIED
Sinclair I ButtIndiaAnna Fali QUALIFIED
Alejandro V SaylorsSpainElwin Sharvill QUALIFIED
Jones N WaycottAustraliaXuxue Feng NEGOTIATION
James K StockhamFranceElwin Sharvill NEW
Sinclair C TollnerItalyIvan Magalhaes QUALIFIED
Aruna Z KolmetzRussiaIvan Magalhaes NEGOTIATION
Faith I KolmetzRussiaAnna Fali UNQUALIFIED
Francesco T RutaIndiaOnyama Limba PROPOSAL
Kaitlin Z WaycottUnited KingdomStephen Shaw PROPOSAL
Sinclair D MaletUnited KingdomOnyama Limba PROPOSAL
Antonio Q SergiRussiaIoni Bowcher UNQUALIFIED
Kaitlin L AmigonUnited KingdomElwin Sharvill UNQUALIFIED
Smith J FerenczCanadaBernardo Dominic NEGOTIATION
Misaki U ShinkoGermanyIoni Bowcher QUALIFIED
Claire L MacleadSpainIoni Bowcher NEW
Johnson Q VenereItalyElwin Sharvill NEGOTIATION
Deepesh Q SchemmerAustraliaIoni Bowcher RENEWAL
Nicolas O DoeAustraliaAmy Elsner NEW
Adams R SlusarskiArgentinaIvan Magalhaes NEW
Sinclair C RimGermanyBernardo Dominic PROPOSAL
Ricardo B MaletFranceOnyama Limba UNQUALIFIED
Clifford E CampainAustraliaIvan Magalhaes PROPOSAL
Greenwood A KuskoGermanyAmy Elsner RENEWAL
Jeanfrancois C PoquetteCanadaAnna Fali NEW
Greenwood S PoquetteJapanOnyama Limba RENEWAL
Faith B GillianItalyIvan Magalhaes PROPOSAL
Julie Y MaletUnited KingdomBernardo Dominic UNQUALIFIED
Misaki L SergiRussiaIvan Magalhaes UNQUALIFIED
Isabel T RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Tony P BriddickAustraliaXuxue Feng QUALIFIED
Tony H DilliardAustraliaIvan Magalhaes QUALIFIED
Kaitlin J BowleyUnited KingdomOnyama Limba QUALIFIED
Leon C SlusarskiIndiaBernardo Dominic UNQUALIFIED
Morrow B OldroydJapanBernardo Dominic UNQUALIFIED
Chavez E TollnerSpainAmy Elsner UNQUALIFIED
Isabel Q DoeUnited KingdomAsiya Javayant QUALIFIED
Costa N SlusarskiBrazilOnyama Limba UNQUALIFIED
Johnson I OstroskyCanadaAnna Fali UNQUALIFIED
Silvio Z SchemmerBrazilXuxue Feng UNQUALIFIED
Frozen Columns
Name
Julie P Caldarera
Smith X Whobrey
Johnson S Wieser
Greenwood H Stenseth
Mayumi W Garufi
Isabel E Gillian
Jones E Albares
Greenwood V Malet
Francesco X Slusarski
Nicolas T Inouye
Murillo E Sergi
Ricardo G Rulapaugh
Jeanfrancois Q Whobrey
Maria W Rim
Chavez W Glick
Cody X Whobrey
Mujtaba I Wieser
Ivar Z Stenseth
Alejandro N Caldarera
Izzy D Vocelka
Misaki T Poquette
Antonio M Paprocki
Antonio G Paprocki
Aruna C Poquette
Kaitlin S Ferencz
Julie B Rulapaugh
Munro W Oldroyd
Arvin L Flosi
Jones E Nicka
Jennifer X Kolmetz
Sinclair L Royster
Aditya U Perin
Kadeem R Shinko
Mayumi S Rulapaugh
Clifford C Ruta
Wickens N Stenseth
David U Amigon
Sinclair L Foller
Maisha I Nestle
Greenwood P Inouye
Ivar S Campain
Kadeem F Marrier
Francesco G Bowley
Isabel C Sergi
Leon F Waycott
Francesco C Ruta
Smith N Saylors
Chavez N Marrier
Leon D Kusko
Emily V Ostrosky
IdCountryDate
1000France2026-10-15
1001Australia2026-10-10
1002Australia2026-10-07
1003Canada2026-10-23
1004Japan2026-10-07
1005Italy2026-10-29
1006Spain2026-10-29
1007Brazil2026-10-16
1008Italy2026-10-04
1009Brazil2026-10-21
1010India2026-10-07
1011Italy2026-10-21
1012France2026-10-11
1013Italy2026-10-08
1014France2026-10-05
1015Australia2026-10-10
1016Canada2026-10-15
1017Brazil2026-10-07
1018Spain2026-10-20
1019Australia2026-10-13
1020Australia2026-10-11
1021Australia2026-10-13
1022Australia2026-10-15
1023Australia2026-10-23
1024Argentina2026-10-24
1025Spain2026-10-10
1026Argentina2026-10-15
1027France2026-10-07
1028Argentina2026-10-29
1029United Kingdom2026-10-15
1030Spain2026-10-15
1031Australia2026-10-17
1032Brazil2026-10-20
1033Canada2026-10-09
1034India2026-10-10
1035India2026-10-21
1036India2026-10-06
1037Germany2026-10-23
1038Russia2026-10-21
1039Australia2026-10-13
1040India2026-10-09
1041Argentina2026-10-15
1042Spain2026-10-10
1043Japan2026-10-29
1044France2026-10-07
1045Italy2026-10-07
1046Russia2026-10-27
1047Russia2026-10-24
1048India2026-10-14
1049Russia2026-10-17

On-Demand Data

NameIdCountryDate
Nicolas M Glick1000Germany2026-10-02
Deepesh A Malet1001Australia2026-10-31
Ashley U Doe1002Italy2026-10-18
Costa D Stockham1003Japan2026-10-11
Aruna I Rim1004United Kingdom2026-10-31
Antonio M Caldarera1005Spain2026-10-22
Faith A Morasca1006Spain2026-10-10
Greenwood U Ferencz1007Japan2026-10-28
Aditya H Caudy1008Brazil2026-10-15
Deepesh M Waycott1009Germany2026-10-20
Francesco Z Foller1010Japan2026-10-02
Murillo U Caldarera1011France2026-10-04
David C Campain1012Australia2026-10-09
Nicolas K Bowley1013Argentina2026-10-23
Greenwood Q Darakjy1014Russia2026-10-17
Darci T Nestle1015United Kingdom2026-10-08
Julie K Saylors1016Russia2026-10-09
Morrow L Foller1017Spain2026-10-20
Leon Z Doe1018Argentina2026-10-07
Stacey J Schemmer1019Russia2026-10-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie F VocelkaFranceIvan Magalhaes UNQUALIFIED
Stacey N DilliardItalyElwin Sharvill PROPOSAL
Antonio K AlbaresSpainIvan Magalhaes UNQUALIFIED
Jefferson Q GauchoItalyBernardo Dominic QUALIFIED
Izzy Y CampainBrazilAnna Fali RENEWAL
Jeanfrancois U BriddickUnited KingdomElwin Sharvill NEGOTIATION
Mayumi N RimBrazilXuxue Feng NEW
Stacey C DilliardArgentinaElwin Sharvill NEGOTIATION
Jennifer E BriddickCanadaOnyama Limba UNQUALIFIED
Sinclair P DoeFranceElwin Sharvill RENEWAL
Cody L MorascaBrazilOnyama Limba NEGOTIATION
Emily N VocelkaAustraliaAsiya Javayant NEGOTIATION
Ricardo F KuskoArgentinaIoni Bowcher NEW
Arvin E GillianRussiaIoni Bowcher NEGOTIATION
Aika A FigeroaUnited KingdomXuxue Feng NEGOTIATION
Izzy O KuskoBrazilXuxue Feng UNQUALIFIED
Juan Q FlosiRussiaStephen Shaw PROPOSAL
Smith U MacleadBrazilElwin Sharvill PROPOSAL
Isabel I VenereJapanXuxue Feng QUALIFIED
Faith W WaycottGermanyIvan Magalhaes NEGOTIATION
Rodrigues K RulapaughGermanyAmy Elsner RENEWAL
Wickens G KuskoGermanyAnna Fali RENEWAL
Murillo W DoeArgentinaAnna Fali NEW
Nicolas U PerinBrazilBernardo Dominic UNQUALIFIED
Aruna D OstroskyCanadaAsiya Javayant NEW
Kaitlin Z FollerSpainAmy Elsner UNQUALIFIED
Morrow Y BriddickSpainIvan Magalhaes RENEWAL
Izzy W AlbaresSpainAsiya Javayant NEW
Antonio I InouyeIndiaBernardo Dominic NEGOTIATION
Jeanfrancois S OstroskyArgentinaIoni Bowcher QUALIFIED
Claire F FollerItalyXuxue Feng PROPOSAL
Ivar X KolmetzJapanIvan Magalhaes NEW
Arvin I WieserItalyAmy Elsner PROPOSAL
Greenwood O NestleGermanyOnyama Limba RENEWAL
Tony O SlusarskiJapanAnna Fali RENEWAL
James B StockhamJapanElwin Sharvill PROPOSAL
Izzy S BowleyItalyIoni Bowcher PROPOSAL
Antonio Z SaylorsItalyIoni Bowcher UNQUALIFIED
Aruna E WhobreyRussiaIvan Magalhaes NEGOTIATION
Salvatore K KuskoUnited KingdomBernardo 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>