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
Mayumi N MaletJapanOnyama Limba RENEWAL
Deepesh C TollnerUnited KingdomAnna Fali NEGOTIATION
Maria B CaudyIndiaIvan Magalhaes PROPOSAL
Aruna M FlosiJapanXuxue Feng RENEWAL
Stacey K AmigonAustraliaIvan Magalhaes RENEWAL
Izzy H RimItalyIvan Magalhaes NEW
Arvin Z FerenczSpainAnna Fali NEGOTIATION
Jennifer C FerenczCanadaXuxue Feng UNQUALIFIED
Arvin R GillianRussiaXuxue Feng PROPOSAL
Juan W BologniaSpainOnyama Limba RENEWAL
Salvatore Z RutaArgentinaStephen Shaw RENEWAL
Rodrigues Q ButtFranceIoni Bowcher UNQUALIFIED
Leja H MaletSpainAmy Elsner RENEWAL
Morrow U ButtFranceAnna Fali UNQUALIFIED
Greenwood I PerinItalyAsiya Javayant NEGOTIATION
Munro Y GarufiAustraliaIoni Bowcher PROPOSAL
Chavez M PaprockiCanadaAsiya Javayant PROPOSAL
Julie R TollnerGermanyAmy Elsner PROPOSAL
Mujtaba T KuskoGermanyOnyama Limba PROPOSAL
James C FollerIndiaAnna Fali RENEWAL
Aditya Z OstroskyItalyAnna Fali NEGOTIATION
Murillo C StensethAustraliaAsiya Javayant UNQUALIFIED
Morrow F GarufiAustraliaOnyama Limba NEW
Aika L DoeItalyIvan Magalhaes NEGOTIATION
Stacey W MorascaIndiaOnyama Limba NEGOTIATION
Ricardo V GauchoBrazilIvan Magalhaes QUALIFIED
Francesco V DarakjyRussiaBernardo Dominic NEW
Jefferson Z PerinSpainAnna Fali QUALIFIED
Aika O RutaJapanOnyama Limba PROPOSAL
Claire T IturbideRussiaAsiya Javayant PROPOSAL
Kadeem L GlickUnited KingdomAsiya Javayant PROPOSAL
David S NickaCanadaIvan Magalhaes NEW
Darci X OldroydIndiaXuxue Feng RENEWAL
Ashley U BologniaGermanyStephen Shaw PROPOSAL
Nicolas K WaycottGermanyAsiya Javayant UNQUALIFIED
Salvatore R RoysterAustraliaIvan Magalhaes RENEWAL
Greenwood O MaletArgentinaAsiya Javayant RENEWAL
Deepesh N TollnerRussiaStephen Shaw QUALIFIED
Alejandro P ButtRussiaElwin Sharvill UNQUALIFIED
Murillo C MaletJapanAmy Elsner NEW
David X StockhamCanadaElwin Sharvill PROPOSAL
Costa O OldroydIndiaAsiya Javayant UNQUALIFIED
Ivar Y CaudyRussiaXuxue Feng UNQUALIFIED
James U RulapaughBrazilStephen Shaw QUALIFIED
Smith E GlickFranceIvan Magalhaes NEW
Misaki R ShinkoCanadaAmy Elsner RENEWAL
Smith E VenereBrazilAmy Elsner RENEWAL
Julie U CampainArgentinaStephen Shaw UNQUALIFIED
Cody O VocelkaArgentinaIoni Bowcher PROPOSAL
Chavez Y InouyeUnited KingdomElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez R OldroydSpainIvan Magalhaes NEW
Claire E SaylorsFranceIvan Magalhaes NEGOTIATION
Kadeem X MarrierFranceStephen Shaw NEGOTIATION
Emily O DilliardItalyAnna Fali UNQUALIFIED
Jennifer B CaudyUnited KingdomStephen Shaw RENEWAL
Antonio W BowleyItalyIvan Magalhaes RENEWAL
Murillo O AlbaresArgentinaBernardo Dominic RENEWAL
Darci D NickaIndiaElwin Sharvill UNQUALIFIED
Chavez N RutaCanadaStephen Shaw RENEWAL
Julie Z RoysterBrazilAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio M BologniaAustralia2026-11-03Truhlar And Truhlar Attys UNQUALIFIED48Xuxue Feng
1001Alejandro V NestleIndia2026-10-20Feiner Bros NEGOTIATION5Asiya Javayant
1002Smith J KolmetzCanada2026-10-26Chemel, James L Cpa QUALIFIED58Xuxue Feng
1003Aditya Q SaylorsUnited Kingdom2026-11-02Buckley Miller Wright RENEWAL5Elwin Sharvill
1004Mujtaba B OstroskyItaly2026-10-15Chemel, James L Cpa NEW82Xuxue Feng
1005Johnson K MarrierArgentina2026-10-31Rangoni Of Florence UNQUALIFIED81Asiya Javayant
1006Isabel R ChuiIndia2026-10-28Feltz Printing Service RENEWAL44Onyama Limba
1007Tony Y SaylorsAustralia2026-11-01Rangoni Of Florence UNQUALIFIED89Ioni Bowcher
1008Leon H GlickAustralia2026-10-10King, Christopher A Esq QUALIFIED33Amy Elsner
1009Leon N GillianBrazil2026-10-13Commercial Press RENEWAL82Ivan Magalhaes
1010James I VocelkaGermany2026-10-26Chanay, Jeffrey A Esq RENEWAL28Elwin Sharvill
1011Aruna M DarakjyCanada2026-10-25Truhlar And Truhlar Attys NEW63Asiya Javayant
1012Jeanfrancois M FigeroaGermany2026-11-03Truhlar And Truhlar Attys NEGOTIATION55Ioni Bowcher
1013Clifford X WaycottUnited Kingdom2026-10-17King, Christopher A Esq RENEWAL26Ivan Magalhaes
1014Juan G DoeAustralia2026-10-18Chanay, Jeffrey A Esq QUALIFIED40Amy Elsner
1015Francesco N CaudyFrance2026-10-27Dorl, James J Esq NEGOTIATION98Asiya Javayant
1016Misaki D SergiArgentina2026-11-06Feiner Bros UNQUALIFIED30Elwin Sharvill
1017Deepesh E BologniaFrance2026-10-20Morlong Associates NEGOTIATION88Amy Elsner
1018Leja X GlickRussia2026-10-29King, Christopher A Esq RENEWAL47Ioni Bowcher
1019Alejandro U CampainFrance2026-11-02Chapman, Ross E Esq QUALIFIED48Amy Elsner
1020Misaki Y IturbideUnited Kingdom2026-10-30Chemel, James L Cpa NEGOTIATION82Anna Fali
1021Silvio Y PaprockiAustralia2026-10-18Chemel, James L Cpa PROPOSAL85Bernardo Dominic
1022Greenwood V IturbideJapan2026-10-23Chemel, James L Cpa NEGOTIATION20Asiya Javayant
1023Arvin O StockhamRussia2026-10-26Feiner Bros QUALIFIED43Xuxue Feng
1024Nicolas U GillianSpain2026-10-30Feiner Bros UNQUALIFIED57Stephen Shaw
1025Deepesh S MaletSpain2026-11-04Dorl, James J Esq PROPOSAL27Xuxue Feng
1026Ricardo V FigeroaAustralia2026-10-29Feltz Printing Service QUALIFIED47Xuxue Feng
1027Tony R StensethItaly2026-10-24Printing Dimensions UNQUALIFIED60Asiya Javayant
1028Costa N VenereUnited Kingdom2026-10-23Feltz Printing Service NEW21Ivan Magalhaes
1029Mujtaba T GillianUnited Kingdom2026-10-21Chemel, James L Cpa PROPOSAL41Xuxue Feng
1030Jefferson L FigeroaAustralia2026-11-01Dorl, James J Esq RENEWAL7Ioni Bowcher
1031Maria W VenereAustralia2026-10-29Commercial Press QUALIFIED96Ivan Magalhaes
1032Jones H KuskoCanada2026-11-03Feltz Printing Service NEGOTIATION9Bernardo Dominic
1033Leon D CaudyCanada2026-10-18Chanay, Jeffrey A Esq PROPOSAL42Asiya Javayant
1034Jennifer F NestleJapan2026-11-05Feltz Printing Service NEW4Xuxue Feng
1035Greenwood P RutaArgentina2026-10-14Printing Dimensions NEGOTIATION36Xuxue Feng
1036Misaki R StockhamJapan2026-10-22Rousseaux, Michael Esq NEW13Ioni Bowcher
1037Mujtaba J SaylorsBrazil2026-10-20Rousseaux, Michael Esq RENEWAL84Anna Fali
1038Faith Y InouyeFrance2026-10-15Feltz Printing Service NEGOTIATION44Asiya Javayant
1039David Z SergiSpain2026-11-06Truhlar And Truhlar Attys NEGOTIATION33Stephen Shaw
1040Mujtaba X CaldareraItaly2026-10-17King, Christopher A Esq RENEWAL42Ioni Bowcher
1041Aditya B RulapaughItaly2026-10-16Chemel, James L Cpa NEW81Amy Elsner
1042Izzy Q RutaGermany2026-10-30Rousseaux, Michael Esq UNQUALIFIED9Ioni Bowcher
1043Juan E RutaUnited Kingdom2026-11-05Feiner Bros RENEWAL71Elwin Sharvill
1044Jones O SchemmerRussia2026-10-30Chapman, Ross E Esq UNQUALIFIED30Elwin Sharvill
1045Jones E KolmetzSpain2026-10-10Dorl, James J Esq RENEWAL93Amy Elsner
1046Darci O CaudyUnited Kingdom2026-11-01Morlong Associates RENEWAL38Anna Fali
1047Maisha O PerinUnited Kingdom2026-11-03King, Christopher A Esq PROPOSAL77Elwin Sharvill
1048Alejandro Y FigeroaRussia2026-10-21Commercial Press PROPOSAL94Xuxue Feng
1049Alejandro S BriddickBrazil2026-10-23Feltz Printing Service RENEWAL70Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maria M PoquetteItalyStephen Shaw PROPOSAL
Deepesh W SaylorsBrazilStephen Shaw QUALIFIED
Cody I WieserGermanyOnyama Limba NEGOTIATION
Clifford Z ShinkoSpainElwin Sharvill UNQUALIFIED
Maisha R ChuiArgentinaStephen Shaw NEW
Aika P RutaUnited KingdomAnna Fali QUALIFIED
Ivar S MacleadBrazilBernardo Dominic QUALIFIED
Smith X FlosiAustraliaElwin Sharvill PROPOSAL
Ricardo A SlusarskiAustraliaElwin Sharvill NEGOTIATION
Nicolas O BriddickItalyStephen Shaw PROPOSAL
Stacey F DoeBrazilAmy Elsner NEW
Silvio W WhobreyCanadaXuxue Feng QUALIFIED
Aditya Y BriddickGermanyBernardo Dominic NEW
Emily Q NickaFranceAnna Fali NEGOTIATION
Maria H OldroydFranceElwin Sharvill NEW
Stacey F DilliardIndiaAnna Fali PROPOSAL
Chavez C PaprockiFranceAmy Elsner PROPOSAL
Leja K CampainBrazilAmy Elsner PROPOSAL
Isabel W VenereAustraliaOnyama Limba QUALIFIED
Aika R GlickCanadaElwin Sharvill QUALIFIED
Greenwood Q OstroskyItalyStephen Shaw RENEWAL
Aruna G ButtSpainIoni Bowcher NEGOTIATION
Munro Y KolmetzFranceAnna Fali NEGOTIATION
Faith K ButtArgentinaElwin Sharvill UNQUALIFIED
Murillo Z GarufiGermanyBernardo Dominic QUALIFIED
Johnson Y BriddickJapanAsiya Javayant NEGOTIATION
Leon D StensethArgentinaIoni Bowcher NEGOTIATION
Munro Y SlusarskiBrazilOnyama Limba NEW
Aruna H SlusarskiIndiaIoni Bowcher NEGOTIATION
Ricardo E BowleyBrazilElwin Sharvill PROPOSAL
Misaki L RulapaughJapanStephen Shaw NEW
Jefferson X StensethIndiaBernardo Dominic UNQUALIFIED
Costa Y ShinkoSpainStephen Shaw UNQUALIFIED
Kaitlin Q AlbaresFranceAsiya Javayant QUALIFIED
Faith N SlusarskiFranceOnyama Limba RENEWAL
David V ButtIndiaIvan Magalhaes UNQUALIFIED
Jefferson H VocelkaItalyAmy Elsner QUALIFIED
Kaitlin J KolmetzItalyAsiya Javayant QUALIFIED
Tony J IturbideJapanIoni Bowcher RENEWAL
Misaki C BowleyFranceOnyama Limba NEW
Wickens I KolmetzUnited KingdomIoni Bowcher PROPOSAL
Leja F MaletItalyElwin Sharvill NEW
Darci J DarakjyJapanBernardo Dominic RENEWAL
Aruna E MaletUnited KingdomStephen Shaw NEW
James D FlosiItalyAsiya Javayant UNQUALIFIED
Leon Y StensethGermanyElwin Sharvill NEW
Clifford B CaudyCanadaAmy Elsner UNQUALIFIED
Smith V StockhamCanadaIoni Bowcher NEW
Emily D GauchoJapanIvan Magalhaes PROPOSAL
Rodrigues F BologniaGermanyElwin Sharvill NEW
Frozen Columns
Name
Tony Q Garufi
Mujtaba H Paprocki
Jennifer W Gillian
Johnson W Foller
Aika R Perin
Chavez I Royster
Aditya Z Whobrey
Greenwood Y Saylors
Johnson R Sergi
Mujtaba N Ferencz
Ivar V Waycott
Maria H Wieser
Chavez O Dilliard
Claire U Doe
Greenwood G Shinko
Kadeem F Vocelka
Alejandro N Glick
Johnson B Inouye
Jennifer B Rim
Octavia H Maclead
Adams A Kusko
Isabel Z Bolognia
Tony E Royster
Greenwood S Maclead
Clifford O Caldarera
Juan Q Nestle
Jeanfrancois G Garufi
Sinclair K Kolmetz
Rodrigues X Schemmer
Stacey Z Flosi
Cody F Wieser
Smith U Garufi
Smith J Slusarski
Salvatore H Darakjy
Costa G Campain
Arvin Y Rulapaugh
Jones N Nestle
Stacey V Stenseth
James V Stockham
Jeanfrancois Z Ruta
Nicolas M Marrier
Tony V Stenseth
Aika H Paprocki
Aditya N Schemmer
David U Nicka
Claire F Nestle
Costa U Morasca
Leja U Malet
Aruna M Bowley
Murillo M Schemmer
IdCountryDate
1000Germany2026-10-16
1001Australia2026-10-24
1002Brazil2026-11-06
1003Russia2026-10-26
1004Brazil2026-10-17
1005Germany2026-10-19
1006Brazil2026-10-30
1007France2026-11-03
1008Germany2026-11-05
1009Germany2026-11-05
1010United Kingdom2026-11-04
1011United Kingdom2026-10-24
1012Brazil2026-10-28
1013Brazil2026-11-05
1014Japan2026-10-10
1015Australia2026-11-03
1016Argentina2026-11-05
1017United Kingdom2026-10-09
1018Canada2026-10-24
1019Japan2026-10-27
1020Canada2026-11-07
1021Canada2026-10-21
1022Russia2026-10-29
1023Italy2026-11-07
1024Argentina2026-11-05
1025Italy2026-10-21
1026Spain2026-10-29
1027Argentina2026-11-02
1028Argentina2026-10-10
1029Russia2026-10-22
1030Argentina2026-10-26
1031Brazil2026-10-21
1032Brazil2026-10-13
1033Japan2026-10-30
1034France2026-10-18
1035Canada2026-10-09
1036Japan2026-11-04
1037Canada2026-11-03
1038India2026-10-16
1039United Kingdom2026-10-20
1040Japan2026-10-27
1041Japan2026-10-16
1042Germany2026-11-06
1043Germany2026-11-05
1044Spain2026-11-05
1045France2026-10-16
1046Argentina2026-10-15
1047Italy2026-11-07
1048Italy2026-10-16
1049Brazil2026-10-16

On-Demand Data

NameIdCountryDate
Octavia R Iturbide1000India2026-10-12
Munro M Butt1001Germany2026-10-27
Jeanfrancois R Royster1002France2026-10-20
Leon C Inouye1003United Kingdom2026-11-04
Francesco R Vocelka1004France2026-11-05
Leja U Whobrey1005Australia2026-10-19
Sinclair D Poquette1006Australia2026-11-07
Emily V Nestle1007Canada2026-10-12
Misaki H Schemmer1008Germany2026-11-06
Morrow L Tollner1009Japan2026-10-13
Cody Z Oldroyd1010Australia2026-10-15
Izzy C Albares1011Russia2026-10-11
Julie O Caudy1012Argentina2026-10-24
Juan P Saylors1013Brazil2026-10-15
David J Iturbide1014Australia2026-11-07
Aruna L Paprocki1015Spain2026-10-15
Julie C Inouye1016France2026-10-21
Jones N Marrier1017Australia2026-10-29
Tony M Maclead1018Germany2026-11-03
Rodrigues O Stockham1019Australia2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro U SergiBrazilBernardo Dominic QUALIFIED
Morrow Y StensethJapanAsiya Javayant UNQUALIFIED
Stacey B OstroskyFranceAnna Fali UNQUALIFIED
Maisha R OldroydCanadaAmy Elsner QUALIFIED
Izzy T SlusarskiCanadaAsiya Javayant PROPOSAL
Munro N ChuiFranceAmy Elsner RENEWAL
Rodrigues M CaudyItalyIoni Bowcher QUALIFIED
Aditya K MaletJapanIoni Bowcher PROPOSAL
Costa Z ChuiArgentinaXuxue Feng RENEWAL
Darci F ChuiRussiaElwin Sharvill QUALIFIED
James H MarrierIndiaAsiya Javayant RENEWAL
Cody P BowleyUnited KingdomAmy Elsner NEGOTIATION
Clifford K RoysterJapanBernardo Dominic NEGOTIATION
Leon I IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi Q StensethItalyIvan Magalhaes RENEWAL
Julie I FerenczGermanyIvan Magalhaes PROPOSAL
Claire H WhobreyCanadaOnyama Limba PROPOSAL
Clifford A NickaItalyAmy Elsner RENEWAL
Clifford Y SergiGermanyAmy Elsner NEW
Antonio E IturbideGermanyIvan Magalhaes NEGOTIATION
Stacey P ShinkoArgentinaStephen Shaw PROPOSAL
Antonio L MaletGermanyIoni Bowcher PROPOSAL
Francesco D GauchoBrazilAmy Elsner NEW
Jones T RulapaughItalyIoni Bowcher QUALIFIED
Izzy B GauchoSpainIvan Magalhaes RENEWAL
Juan T PerinItalyIvan Magalhaes NEGOTIATION
Juan L CampainCanadaAsiya Javayant NEW
Jennifer V MorascaAustraliaStephen Shaw PROPOSAL
Leja Y DoeIndiaAsiya Javayant RENEWAL
Julie T FlosiJapanOnyama Limba NEW
David D CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Juan D GlickSpainBernardo Dominic PROPOSAL
Jones S FigeroaCanadaBernardo Dominic PROPOSAL
Aika Q CaldareraCanadaElwin Sharvill QUALIFIED
Misaki W ButtIndiaIoni Bowcher NEW
Darci T DilliardIndiaBernardo Dominic NEW
Nicolas K FigeroaUnited KingdomOnyama Limba PROPOSAL
Clifford M GauchoItalyAmy Elsner QUALIFIED
Leja X DoeGermanyAsiya Javayant QUALIFIED
Leon V PaprockiJapanStephen Shaw RENEWAL

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