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
James N BriddickUnited KingdomIoni Bowcher PROPOSAL
Leon I MacleadSpainAmy Elsner NEW
Leja B ShinkoRussiaElwin Sharvill NEW
Emily V AlbaresArgentinaAmy Elsner RENEWAL
Cody U RutaGermanyBernardo Dominic NEW
Isabel R RimGermanyXuxue Feng UNQUALIFIED
Greenwood F CaldareraItalyElwin Sharvill NEW
Deepesh E SchemmerIndiaAnna Fali PROPOSAL
Leon C AlbaresFranceIoni Bowcher QUALIFIED
Aruna J MarrierIndiaAmy Elsner UNQUALIFIED
Smith V DarakjyIndiaIvan Magalhaes QUALIFIED
Darci F GillianJapanAsiya Javayant NEGOTIATION
Stacey K WhobreyAustraliaAmy Elsner NEW
Leon F FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Kadeem U VocelkaBrazilElwin Sharvill NEW
Juan O SlusarskiFranceOnyama Limba NEGOTIATION
Jefferson B CaldareraRussiaIvan Magalhaes RENEWAL
Alejandro Z CampainArgentinaOnyama Limba PROPOSAL
Murillo F CaldareraRussiaStephen Shaw PROPOSAL
Isabel D WhobreyJapanIoni Bowcher PROPOSAL
David K SergiCanadaIoni Bowcher RENEWAL
Maisha B NestleBrazilIvan Magalhaes NEW
James Y RoysterUnited KingdomXuxue Feng RENEWAL
Jeanfrancois T RutaIndiaOnyama Limba PROPOSAL
Chavez J AmigonRussiaElwin Sharvill NEW
Jennifer M WieserItalyStephen Shaw UNQUALIFIED
Octavia G RutaFranceStephen Shaw QUALIFIED
Silvio I DilliardRussiaIoni Bowcher NEW
Darci R SchemmerFranceAmy Elsner UNQUALIFIED
Jones X KolmetzRussiaXuxue Feng QUALIFIED
Wickens S OstroskyUnited KingdomOnyama Limba PROPOSAL
Munro K SchemmerAustraliaAnna Fali QUALIFIED
Mayumi K KuskoIndiaAnna Fali PROPOSAL
Emily A VocelkaFranceElwin Sharvill PROPOSAL
Stacey Q MarrierIndiaAnna Fali RENEWAL
Misaki V SergiJapanXuxue Feng QUALIFIED
Antonio Y RoysterFranceXuxue Feng QUALIFIED
David D GillianAustraliaIoni Bowcher RENEWAL
Rodrigues L GillianArgentinaIvan Magalhaes PROPOSAL
Aditya D AmigonGermanyOnyama Limba RENEWAL
Emily O RoysterGermanyIoni Bowcher NEGOTIATION
Aika S KolmetzJapanElwin Sharvill QUALIFIED
Tony F VenereCanadaAmy Elsner QUALIFIED
Salvatore N FollerAustraliaIoni Bowcher QUALIFIED
Mujtaba C MaletJapanIoni Bowcher NEW
Johnson S CaldareraIndiaElwin Sharvill NEGOTIATION
Ashley R MarrierRussiaElwin Sharvill RENEWAL
Alejandro K KuskoAustraliaXuxue Feng UNQUALIFIED
Aika I InouyeBrazilAnna Fali QUALIFIED
Darci T StensethRussiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna G FerenczJapanIvan Magalhaes UNQUALIFIED
Julie Y TollnerJapanAsiya Javayant QUALIFIED
Ivar L PoquetteSpainIoni Bowcher NEGOTIATION
Maisha Q PerinBrazilStephen Shaw UNQUALIFIED
Morrow U SaylorsArgentinaAmy Elsner NEGOTIATION
Maria Y FlosiRussiaBernardo Dominic QUALIFIED
Alejandro H WhobreyFranceBernardo Dominic QUALIFIED
Smith J MarrierItalyBernardo Dominic RENEWAL
Salvatore L StensethGermanyBernardo Dominic QUALIFIED
James K TollnerBrazilOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem T SlusarskiGermany2026-09-19Rangoni Of Florence UNQUALIFIED7Onyama Limba
1001Kaitlin H AlbaresFrance2026-10-05Truhlar And Truhlar Attys UNQUALIFIED0Bernardo Dominic
1002James Y DarakjyGermany2026-10-02Chemel, James L Cpa PROPOSAL38Xuxue Feng
1003Maria W SlusarskiRussia2026-09-28Feiner Bros NEGOTIATION2Stephen Shaw
1004Ricardo J FollerArgentina2026-09-20Feltz Printing Service RENEWAL65Bernardo Dominic
1005Cody L GarufiRussia2026-09-25Printing Dimensions QUALIFIED30Stephen Shaw
1006Johnson E DilliardItaly2026-10-07Dorl, James J Esq RENEWAL38Stephen Shaw
1007Ivar E CaudyIndia2026-09-20Commercial Press QUALIFIED31Asiya Javayant
1008Jones W MorascaIndia2026-10-03Commercial Press UNQUALIFIED56Anna Fali
1009Mujtaba P FlosiRussia2026-10-03Commercial Press NEW84Ioni Bowcher
1010Sinclair B GarufiItaly2026-09-14Morlong Associates NEGOTIATION20Ivan Magalhaes
1011Leon F CaudyGermany2026-09-30Dorl, James J Esq NEGOTIATION32Amy Elsner
1012Mujtaba Y MorascaGermany2026-09-12Dorl, James J Esq NEGOTIATION25Elwin Sharvill
1013Leon Q MaletArgentina2026-10-09Rangoni Of Florence PROPOSAL59Elwin Sharvill
1014Ivar C FigeroaGermany2026-09-16King, Christopher A Esq NEGOTIATION43Anna Fali
1015Arvin D BowleyArgentina2026-09-19Feiner Bros UNQUALIFIED11Asiya Javayant
1016Ivar A SlusarskiFrance2026-09-22King, Christopher A Esq UNQUALIFIED39Ivan Magalhaes
1017Clifford X GauchoGermany2026-09-29King, Christopher A Esq NEGOTIATION18Stephen Shaw
1018Mujtaba V KuskoRussia2026-09-24Rousseaux, Michael Esq NEGOTIATION25Stephen Shaw
1019Nicolas X SergiSpain2026-10-04Printing Dimensions NEW37Onyama Limba
1020Juan L KuskoBrazil2026-09-23Rousseaux, Michael Esq UNQUALIFIED75Ivan Magalhaes
1021Antonio M BriddickUnited Kingdom2026-09-21Rangoni Of Florence PROPOSAL77Onyama Limba
1022Aruna A GauchoGermany2026-09-21Dorl, James J Esq QUALIFIED91Onyama Limba
1023Ricardo X ChuiArgentina2026-09-24Feiner Bros UNQUALIFIED48Amy Elsner
1024Maisha A GlickBrazil2026-09-21Chapman, Ross E Esq RENEWAL66Onyama Limba
1025Deepesh L OstroskyIndia2026-09-23Morlong Associates NEGOTIATION76Ioni Bowcher
1026Isabel O OldroydUnited Kingdom2026-10-01Chanay, Jeffrey A Esq RENEWAL8Amy Elsner
1027Jones A MorascaUnited Kingdom2026-09-27Chemel, James L Cpa UNQUALIFIED15Stephen Shaw
1028Salvatore Q MaletGermany2026-10-08Truhlar And Truhlar Attys UNQUALIFIED18Bernardo Dominic
1029Johnson F SergiAustralia2026-09-22King, Christopher A Esq RENEWAL42Anna Fali
1030Arvin Z StockhamIndia2026-10-06Rangoni Of Florence RENEWAL42Xuxue Feng
1031Claire L VocelkaRussia2026-09-21King, Christopher A Esq NEGOTIATION89Bernardo Dominic
1032Jeanfrancois B KolmetzFrance2026-09-27Chemel, James L Cpa QUALIFIED46Asiya Javayant
1033Nicolas B BologniaAustralia2026-09-16Buckley Miller Wright QUALIFIED53Bernardo Dominic
1034Misaki D InouyeSpain2026-09-13Rangoni Of Florence NEGOTIATION52Ivan Magalhaes
1035Smith O NickaIndia2026-09-18Benton, John B Jr UNQUALIFIED42Anna Fali
1036Leja J KuskoAustralia2026-09-30Feiner Bros NEW97Xuxue Feng
1037Murillo O PoquetteCanada2026-09-28Benton, John B Jr NEGOTIATION96Stephen Shaw
1038Wickens U RoysterRussia2026-10-05Commercial Press RENEWAL14Asiya Javayant
1039Faith X VenereCanada2026-10-09Chemel, James L Cpa QUALIFIED4Anna Fali
1040Francesco Z FollerCanada2026-09-28Dorl, James J Esq RENEWAL92Anna Fali
1041Wickens F VenereRussia2026-10-04Benton, John B Jr NEGOTIATION9Ioni Bowcher
1042Octavia F ShinkoUnited Kingdom2026-10-08Feltz Printing Service RENEWAL60Anna Fali
1043Ivar X CampainAustralia2026-09-28King, Christopher A Esq NEW19Anna Fali
1044Mujtaba F FerenczSpain2026-09-14Truhlar And Truhlar Attys NEW93Amy Elsner
1045Ashley F DilliardRussia2026-09-12Commercial Press NEGOTIATION55Amy Elsner
1046Kaitlin O FollerSpain2026-09-30Commercial Press UNQUALIFIED43Elwin Sharvill
1047Munro E TollnerItaly2026-09-30Chemel, James L Cpa UNQUALIFIED24Ivan Magalhaes
1048Tony R OldroydBrazil2026-10-05Chemel, James L Cpa NEGOTIATION90Amy Elsner
1049Aditya Z BologniaArgentina2026-09-26King, Christopher A Esq UNQUALIFIED34Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith B NickaIndiaStephen Shaw NEGOTIATION
Silvio F TollnerJapanStephen Shaw RENEWAL
Morrow R RimBrazilStephen Shaw UNQUALIFIED
Faith H SlusarskiUnited KingdomElwin Sharvill PROPOSAL
Smith V MaletArgentinaElwin Sharvill RENEWAL
Greenwood G SaylorsJapanElwin Sharvill PROPOSAL
Aruna O AmigonAustraliaIoni Bowcher UNQUALIFIED
Alejandro O KuskoGermanyAsiya Javayant NEW
Jones E FlosiCanadaBernardo Dominic RENEWAL
David N SaylorsUnited KingdomXuxue Feng NEW
Maisha P MarrierItalyIoni Bowcher UNQUALIFIED
Cody D StockhamIndiaAmy Elsner NEGOTIATION
Deepesh Y PerinBrazilAsiya Javayant NEGOTIATION
Faith L AmigonCanadaIvan Magalhaes QUALIFIED
Wickens I WaycottJapanAnna Fali PROPOSAL
Jeanfrancois U GauchoFranceIvan Magalhaes PROPOSAL
Faith N BologniaIndiaIvan Magalhaes RENEWAL
Antonio I StockhamCanadaBernardo Dominic NEW
Darci F PoquetteAustraliaBernardo Dominic QUALIFIED
Aika H IturbideAustraliaIvan Magalhaes UNQUALIFIED
Cody L FlosiIndiaAsiya Javayant UNQUALIFIED
Tony S FigeroaJapanIvan Magalhaes QUALIFIED
Costa U KuskoFranceStephen Shaw QUALIFIED
Maria Z OstroskyIndiaBernardo Dominic RENEWAL
Morrow C NickaBrazilElwin Sharvill PROPOSAL
Isabel P MaletRussiaElwin Sharvill RENEWAL
Rodrigues A WhobreyJapanAnna Fali NEW
Silvio M WaycottRussiaAnna Fali QUALIFIED
Mujtaba O GauchoRussiaBernardo Dominic RENEWAL
Johnson V RulapaughFranceXuxue Feng RENEWAL
Nicolas I MaletCanadaBernardo Dominic UNQUALIFIED
Chavez W KuskoSpainAmy Elsner RENEWAL
Misaki Y InouyeBrazilIoni Bowcher UNQUALIFIED
Kadeem Z KuskoArgentinaOnyama Limba NEGOTIATION
Claire Z DilliardBrazilAsiya Javayant UNQUALIFIED
Kadeem D AmigonFranceAnna Fali NEW
Chavez R MorascaUnited KingdomElwin Sharvill NEGOTIATION
Deepesh J DilliardUnited KingdomAmy Elsner RENEWAL
Jones L AmigonIndiaBernardo Dominic RENEWAL
Aika H DilliardBrazilBernardo Dominic UNQUALIFIED
Claire O FerenczAustraliaAmy Elsner NEW
Misaki K FollerRussiaIoni Bowcher UNQUALIFIED
Octavia F RutaItalyAnna Fali PROPOSAL
Salvatore G RoysterJapanOnyama Limba UNQUALIFIED
Darci I WaycottArgentinaAmy Elsner UNQUALIFIED
Salvatore Q GauchoAustraliaBernardo Dominic QUALIFIED
Silvio A RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Morrow A InouyeGermanyIvan Magalhaes QUALIFIED
Izzy T IturbideArgentinaXuxue Feng QUALIFIED
Julie N CaldareraFranceIvan Magalhaes NEW
Frozen Columns
Name
Costa T Malet
Kaitlin E Foller
Ashley D Bolognia
Misaki C Caldarera
Darci E Kusko
Deepesh X Royster
Izzy O Malet
Aika I Gillian
David E Dilliard
Tony S Garufi
Izzy S Butt
Francesco N Darakjy
Smith H Garufi
Octavia Y Malet
Ivar Q Glick
Johnson V Gillian
Jones Y Oldroyd
Claire U Tollner
Jones Z Nestle
Silvio J Venere
Jefferson Y Poquette
Stacey P Oldroyd
Claire U Waycott
Chavez I Flosi
Jones K Marrier
Rodrigues X Royster
Tony H Ostrosky
Juan H Poquette
Mayumi O Ruta
Greenwood Z Ferencz
Isabel I Albares
Ivar O Garufi
Munro R Ostrosky
Maria W Morasca
James B Royster
Darci S Whobrey
Salvatore B Iturbide
Francesco L Albares
Aditya W Caldarera
Jennifer U Malet
Wickens Y Gillian
Ashley X Vocelka
Antonio F Flosi
Murillo G Garufi
Maisha C Ostrosky
Faith K Foller
Juan Z Malet
Leon H Chui
Johnson E Tollner
Faith N Paprocki
IdCountryDate
1000Germany2026-10-06
1001Brazil2026-10-04
1002Russia2026-09-24
1003India2026-09-23
1004Japan2026-10-06
1005Russia2026-10-01
1006Brazil2026-09-30
1007Russia2026-09-27
1008Japan2026-10-04
1009Germany2026-09-28
1010Spain2026-10-04
1011France2026-10-07
1012Argentina2026-09-16
1013United Kingdom2026-10-07
1014India2026-09-20
1015Australia2026-10-01
1016Canada2026-09-16
1017Canada2026-09-29
1018Italy2026-09-27
1019United Kingdom2026-10-04
1020Brazil2026-10-01
1021Japan2026-09-18
1022Spain2026-09-22
1023India2026-10-08
1024India2026-09-27
1025Australia2026-09-19
1026Spain2026-10-01
1027United Kingdom2026-10-08
1028United Kingdom2026-10-06
1029Australia2026-10-03
1030France2026-09-23
1031France2026-10-06
1032Argentina2026-10-04
1033Brazil2026-10-01
1034Brazil2026-10-02
1035Spain2026-09-17
1036Canada2026-10-01
1037Spain2026-09-25
1038Argentina2026-09-15
1039India2026-09-28
1040France2026-09-23
1041Canada2026-09-11
1042Germany2026-09-21
1043Russia2026-09-13
1044Brazil2026-09-26
1045Australia2026-09-22
1046United Kingdom2026-09-29
1047Brazil2026-09-13
1048Italy2026-09-24
1049France2026-10-06

On-Demand Data

NameIdCountryDate
Alejandro S Caldarera1000Argentina2026-09-29
Tony B Slusarski1001Argentina2026-09-22
Jeanfrancois S Glick1002Spain2026-09-26
Ashley B Caudy1003Japan2026-09-29
Francesco N Bowley1004Spain2026-10-09
Aika D Chui1005Russia2026-09-19
Arvin H Chui1006Japan2026-09-19
David K Doe1007Brazil2026-10-09
Ivar L Ferencz1008Japan2026-10-09
Aruna B Glick1009Argentina2026-09-29
Nicolas C Chui1010Japan2026-09-10
Isabel W Foller1011Brazil2026-10-01
Mayumi R Saylors1012Argentina2026-09-13
Octavia E Bowley1013Argentina2026-09-12
Smith Z Gillian1014Russia2026-10-02
Alejandro N Dilliard1015Brazil2026-10-01
Wickens Z Paprocki1016Argentina2026-10-07
Jennifer U Tollner1017Argentina2026-09-29
Izzy Q Schemmer1018United Kingdom2026-09-22
Faith N Amigon1019France2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya J BowleyItalyStephen Shaw RENEWAL
Tony C SchemmerArgentinaAsiya Javayant QUALIFIED
Julie R KuskoUnited KingdomStephen Shaw QUALIFIED
Jefferson M RoysterUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba F AmigonIndiaElwin Sharvill NEW
Emily U AlbaresSpainStephen Shaw QUALIFIED
Misaki M TollnerArgentinaBernardo Dominic NEGOTIATION
Ivar S RutaFranceStephen Shaw NEGOTIATION
Rodrigues V SaylorsItalyElwin Sharvill NEW
Leon P WhobreyRussiaIvan Magalhaes NEGOTIATION
Arvin J AlbaresBrazilAnna Fali RENEWAL
Chavez P MacleadCanadaIoni Bowcher NEW
Rodrigues B MacleadGermanyAnna Fali RENEWAL
Costa S RimGermanyAmy Elsner UNQUALIFIED
Francesco R ShinkoJapanStephen Shaw NEGOTIATION
Mujtaba T FerenczItalyBernardo Dominic UNQUALIFIED
Darci I MarrierRussiaAmy Elsner UNQUALIFIED
Jones V DarakjyRussiaAmy Elsner NEW
Murillo C CampainRussiaAsiya Javayant QUALIFIED
Tony C SaylorsSpainAmy Elsner QUALIFIED
Izzy U RoysterRussiaAsiya Javayant UNQUALIFIED
Kadeem R RutaItalyXuxue Feng UNQUALIFIED
Chavez B ChuiCanadaXuxue Feng RENEWAL
Murillo O WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Izzy Y BologniaGermanyAmy Elsner UNQUALIFIED
Jefferson M PaprockiUnited KingdomStephen Shaw NEW
Kadeem C CaldareraFranceOnyama Limba QUALIFIED
Wickens M TollnerJapanBernardo Dominic RENEWAL
Emily P FigeroaCanadaAmy Elsner NEGOTIATION
Jeanfrancois S CaudyArgentinaIoni Bowcher NEGOTIATION
Mayumi K VenereSpainAnna Fali QUALIFIED
Arvin S PerinRussiaElwin Sharvill UNQUALIFIED
Alejandro C ChuiIndiaOnyama Limba PROPOSAL
Kaitlin C DilliardAustraliaElwin Sharvill QUALIFIED
Mayumi Q RimBrazilBernardo Dominic RENEWAL
Jennifer B SlusarskiJapanAsiya Javayant NEW
Wickens X SchemmerArgentinaStephen Shaw PROPOSAL
Maria Z DarakjyAustraliaOnyama Limba QUALIFIED
Salvatore C PoquetteUnited KingdomAsiya Javayant PROPOSAL
Smith S FigeroaUnited KingdomAnna Fali 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>