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
Aruna I OstroskyItalyAmy Elsner NEGOTIATION
Claire P RimBrazilOnyama Limba PROPOSAL
Munro X DoeBrazilIvan Magalhaes RENEWAL
Ricardo X MaletUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson V WhobreyItalyIoni Bowcher NEW
Costa V CaldareraBrazilElwin Sharvill NEGOTIATION
Ricardo E SchemmerSpainOnyama Limba NEW
Mujtaba R PaprockiIndiaAsiya Javayant UNQUALIFIED
Ashley B SergiCanadaAnna Fali QUALIFIED
Alejandro K BologniaAustraliaOnyama Limba UNQUALIFIED
Munro Z BowleyJapanAnna Fali NEGOTIATION
Leon D NestleSpainAsiya Javayant QUALIFIED
Munro E CaldareraBrazilXuxue Feng PROPOSAL
Ivar E AlbaresItalyIoni Bowcher QUALIFIED
Mujtaba P AmigonIndiaIvan Magalhaes NEW
David X VocelkaBrazilElwin Sharvill UNQUALIFIED
Aika N MorascaJapanElwin Sharvill NEGOTIATION
Greenwood A MaletSpainXuxue Feng PROPOSAL
David Z KuskoRussiaAmy Elsner NEW
Leja G KuskoSpainStephen Shaw NEGOTIATION
Arvin M KuskoSpainIoni Bowcher NEW
David K TollnerCanadaAnna Fali PROPOSAL
Faith J MorascaGermanyAsiya Javayant PROPOSAL
Stacey P WhobreyIndiaAmy Elsner QUALIFIED
Mujtaba Z StensethJapanElwin Sharvill PROPOSAL
Salvatore S SlusarskiFranceXuxue Feng QUALIFIED
Arvin V GlickBrazilStephen Shaw PROPOSAL
Cody Q FollerArgentinaAsiya Javayant PROPOSAL
Adams R NestleFranceAnna Fali UNQUALIFIED
Juan F StockhamRussiaElwin Sharvill UNQUALIFIED
Aruna B MaletUnited KingdomAsiya Javayant PROPOSAL
Silvio K BowleyGermanyAsiya Javayant NEGOTIATION
Ricardo P SergiFranceBernardo Dominic RENEWAL
Costa I WhobreyCanadaBernardo Dominic RENEWAL
Chavez R SaylorsSpainIvan Magalhaes NEW
Aika R AlbaresItalyIoni Bowcher NEW
Leja T WhobreySpainBernardo Dominic NEGOTIATION
Munro V StensethGermanyAmy Elsner PROPOSAL
Jefferson H PerinUnited KingdomAmy Elsner PROPOSAL
Maria S NestleCanadaIvan Magalhaes QUALIFIED
Deepesh N VocelkaRussiaAmy Elsner RENEWAL
Faith U ButtJapanXuxue Feng PROPOSAL
Jeanfrancois G TollnerUnited KingdomAsiya Javayant NEW
Faith Y RoysterSpainBernardo Dominic NEW
Deepesh C CaldareraBrazilBernardo Dominic PROPOSAL
Jefferson C PoquetteArgentinaAnna Fali NEGOTIATION
Leon A ShinkoBrazilAnna Fali QUALIFIED
Ashley E MaletGermanyStephen Shaw PROPOSAL
Greenwood D GillianUnited KingdomAsiya Javayant RENEWAL
Stacey G BriddickRussiaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James C SergiAustraliaBernardo Dominic UNQUALIFIED
Aika D GarufiAustraliaOnyama Limba PROPOSAL
Jennifer P RoysterIndiaXuxue Feng RENEWAL
Maria V BologniaFranceBernardo Dominic RENEWAL
Silvio W ChuiJapanAmy Elsner RENEWAL
Jennifer M MacleadSpainElwin Sharvill PROPOSAL
Francesco B FerenczFranceAsiya Javayant QUALIFIED
Jennifer V ButtFranceIoni Bowcher NEGOTIATION
Emily E WieserItalyOnyama Limba NEGOTIATION
Chavez W DarakjyBrazilOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones H FigeroaFrance2026-10-09Morlong Associates NEW40Bernardo Dominic
1001David Y KolmetzItaly2026-10-13King, Christopher A Esq QUALIFIED91Bernardo Dominic
1002Claire Q RoysterArgentina2026-10-05Morlong Associates RENEWAL16Amy Elsner
1003Clifford X RoysterSpain2026-09-30Chanay, Jeffrey A Esq QUALIFIED2Bernardo Dominic
1004Kadeem I OldroydItaly2026-09-27Feiner Bros RENEWAL25Anna Fali
1005Alejandro H AmigonSpain2026-10-13Dorl, James J Esq RENEWAL60Xuxue Feng
1006Maisha K PaprockiFrance2026-10-07Chapman, Ross E Esq RENEWAL19Ioni Bowcher
1007Murillo Q SergiItaly2026-10-12Feltz Printing Service NEW24Amy Elsner
1008Antonio C MarrierIndia2026-10-13Chapman, Ross E Esq NEGOTIATION28Elwin Sharvill
1009Ricardo C GillianArgentina2026-10-10Chemel, James L Cpa RENEWAL56Ivan Magalhaes
1010Ashley V StensethJapan2026-10-12Chemel, James L Cpa RENEWAL67Ioni Bowcher
1011Deepesh O WaycottIndia2026-10-25King, Christopher A Esq UNQUALIFIED72Ivan Magalhaes
1012Deepesh K WieserGermany2026-10-14Feiner Bros PROPOSAL59Ioni Bowcher
1013Misaki K WieserSpain2026-10-22Rangoni Of Florence RENEWAL37Amy Elsner
1014Jefferson R ChuiIndia2026-10-21Truhlar And Truhlar Attys QUALIFIED7Onyama Limba
1015Maisha D IturbideItaly2026-10-04Buckley Miller Wright QUALIFIED95Amy Elsner
1016Greenwood N CampainIndia2026-10-10Commercial Press PROPOSAL34Stephen Shaw
1017Greenwood L ShinkoArgentina2026-10-02Buckley Miller Wright RENEWAL13Ivan Magalhaes
1018David N BowleyBrazil2026-10-21King, Christopher A Esq NEW94Bernardo Dominic
1019Silvio R RoysterBrazil2026-09-28Dorl, James J Esq NEW88Elwin Sharvill
1020Chavez G FigeroaGermany2026-10-17Benton, John B Jr NEW54Xuxue Feng
1021Wickens U PerinJapan2026-10-02Benton, John B Jr PROPOSAL39Stephen Shaw
1022Juan H GarufiRussia2026-10-15Morlong Associates PROPOSAL23Ivan Magalhaes
1023Salvatore T SergiGermany2026-10-11Benton, John B Jr QUALIFIED71Ioni Bowcher
1024Nicolas E TollnerUnited Kingdom2026-10-13King, Christopher A Esq QUALIFIED75Asiya Javayant
1025Jones W SaylorsJapan2026-09-30Rangoni Of Florence RENEWAL63Onyama Limba
1026Tony G CaldareraGermany2026-10-12King, Christopher A Esq QUALIFIED17Stephen Shaw
1027Sinclair F FigeroaRussia2026-10-15Morlong Associates UNQUALIFIED59Anna Fali
1028Maria G NickaSpain2026-09-26Commercial Press QUALIFIED51Ioni Bowcher
1029Darci U NickaIndia2026-10-03King, Christopher A Esq UNQUALIFIED67Anna Fali
1030Aruna T PerinItaly2026-09-26Truhlar And Truhlar Attys RENEWAL46Ioni Bowcher
1031Izzy Y GillianArgentina2026-09-29Rangoni Of Florence PROPOSAL0Ivan Magalhaes
1032James I DilliardUnited Kingdom2026-09-28Dorl, James J Esq NEGOTIATION49Amy Elsner
1033Stacey W DilliardIndia2026-10-03Chanay, Jeffrey A Esq NEGOTIATION38Onyama Limba
1034Alejandro F MorascaItaly2026-09-28Rangoni Of Florence RENEWAL49Ivan Magalhaes
1035Greenwood A SchemmerItaly2026-10-18Rangoni Of Florence NEW92Anna Fali
1036Cody P KuskoSpain2026-10-18Buckley Miller Wright UNQUALIFIED30Onyama Limba
1037Ivar I AmigonAustralia2026-10-21Commercial Press NEW58Elwin Sharvill
1038Jones S BowleySpain2026-10-18Feltz Printing Service QUALIFIED8Amy Elsner
1039Aika J KolmetzUnited Kingdom2026-10-10Chemel, James L Cpa QUALIFIED27Amy Elsner
1040Jones J NickaAustralia2026-10-18Chemel, James L Cpa UNQUALIFIED32Bernardo Dominic
1041James V FerenczFrance2026-10-01Feltz Printing Service PROPOSAL59Anna Fali
1042Kaitlin K BowleyArgentina2026-10-06King, Christopher A Esq NEGOTIATION90Amy Elsner
1043Octavia Y SchemmerCanada2026-10-05Chapman, Ross E Esq NEW41Bernardo Dominic
1044Julie Q GarufiFrance2026-10-25Rangoni Of Florence QUALIFIED63Onyama Limba
1045Mujtaba N CaldareraAustralia2026-10-04Chapman, Ross E Esq UNQUALIFIED55Xuxue Feng
1046Kadeem D FlosiGermany2026-10-15Rousseaux, Michael Esq RENEWAL87Amy Elsner
1047Octavia H IturbideBrazil2026-10-04Rangoni Of Florence QUALIFIED27Ioni Bowcher
1048Stacey L InouyeCanada2026-10-07Chanay, Jeffrey A Esq PROPOSAL4Amy Elsner
1049Clifford U AmigonIndia2026-10-11Chanay, Jeffrey A Esq RENEWAL25Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Smith I StockhamIndiaStephen Shaw QUALIFIED
Tony T MaletBrazilIoni Bowcher RENEWAL
Kadeem R StensethBrazilOnyama Limba RENEWAL
Aruna K MorascaSpainIvan Magalhaes PROPOSAL
Isabel I SaylorsAustraliaStephen Shaw UNQUALIFIED
Costa V GlickAustraliaBernardo Dominic QUALIFIED
Smith B MacleadCanadaStephen Shaw QUALIFIED
Francesco H MarrierIndiaIoni Bowcher PROPOSAL
Darci H CampainAustraliaBernardo Dominic PROPOSAL
Jones F SchemmerGermanyAnna Fali QUALIFIED
Emily Z GarufiSpainAsiya Javayant PROPOSAL
Ashley S IturbideJapanAnna Fali UNQUALIFIED
Alejandro J InouyeSpainBernardo Dominic NEW
Rodrigues V CampainSpainAsiya Javayant UNQUALIFIED
Antonio O InouyeJapanElwin Sharvill PROPOSAL
Aika L SchemmerSpainXuxue Feng UNQUALIFIED
Wickens N WaycottJapanAsiya Javayant QUALIFIED
Ivar Q ChuiAustraliaAsiya Javayant PROPOSAL
Faith Z PerinBrazilAmy Elsner PROPOSAL
Claire Y CaldareraUnited KingdomIvan Magalhaes NEW
Smith A BriddickUnited KingdomXuxue Feng RENEWAL
Darci E MorascaUnited KingdomStephen Shaw QUALIFIED
Juan L DilliardUnited KingdomIvan Magalhaes NEW
Mujtaba H DarakjyIndiaIvan Magalhaes PROPOSAL
Jones D FerenczUnited KingdomBernardo Dominic NEW
Tony U SchemmerItalyXuxue Feng UNQUALIFIED
Ashley X RutaRussiaAnna Fali QUALIFIED
Octavia X SaylorsArgentinaBernardo Dominic QUALIFIED
Mayumi K StockhamBrazilElwin Sharvill QUALIFIED
Nicolas V FerenczCanadaElwin Sharvill RENEWAL
Tony A GillianAustraliaBernardo Dominic RENEWAL
Clifford M MaletRussiaElwin Sharvill NEW
Deepesh D TollnerFranceXuxue Feng QUALIFIED
Adams G NestleSpainAnna Fali NEW
Julie X AmigonUnited KingdomBernardo Dominic NEGOTIATION
Tony N FerenczJapanAnna Fali UNQUALIFIED
Octavia N NickaUnited KingdomStephen Shaw NEW
Mujtaba Z GarufiCanadaIvan Magalhaes UNQUALIFIED
Murillo H OstroskyUnited KingdomOnyama Limba PROPOSAL
Francesco H StensethJapanElwin Sharvill PROPOSAL
Mujtaba F CampainCanadaIoni Bowcher QUALIFIED
Aruna I TollnerFranceIvan Magalhaes NEGOTIATION
Maria R BowleyCanadaBernardo Dominic UNQUALIFIED
Maria S ShinkoCanadaAnna Fali NEGOTIATION
Misaki S AlbaresUnited KingdomIoni Bowcher NEW
Octavia X FlosiIndiaOnyama Limba PROPOSAL
Aruna Z GauchoJapanAmy Elsner UNQUALIFIED
Stacey O MaletAustraliaOnyama Limba RENEWAL
Julie S TollnerItalyAsiya Javayant QUALIFIED
Leon P MacleadGermanyAsiya Javayant PROPOSAL
Frozen Columns
Name
Costa N Iturbide
Aika O Kusko
Smith C Malet
Maisha G Oldroyd
Deepesh C Maclead
Faith Q Ruta
Claire V Perin
Claire U Bolognia
Francesco X Royster
Murillo D Nicka
Leja P Tollner
Kadeem D Nestle
Darci Q Darakjy
Rodrigues O Butt
Jefferson I Saylors
Juan R Sergi
Nicolas N Maclead
Silvio X Campain
Claire J Tollner
Rodrigues C Nicka
Nicolas C Whobrey
Ashley Y Royster
Mujtaba A Nestle
Misaki G Maclead
Salvatore T Glick
Ricardo X Bowley
Costa V Whobrey
Salvatore N Amigon
Ivar M Rim
Aditya H Ruta
Johnson P Briddick
Izzy B Saylors
David V Perin
Maisha O Garufi
David M Whobrey
Maria R Gaucho
Ivar D Chui
Jennifer J Malet
Adams G Wieser
Silvio C Caudy
Ashley G Marrier
Ricardo E Campain
Ashley K Stenseth
Salvatore I Albares
Isabel T Kolmetz
Jones B Malet
Izzy D Ruta
Smith F Slusarski
Deepesh M Iturbide
Chavez T Bolognia
IdCountryDate
1000France2026-10-25
1001Brazil2026-10-19
1002France2026-10-13
1003Canada2026-10-19
1004Italy2026-10-23
1005Spain2026-10-01
1006Argentina2026-10-22
1007Japan2026-10-03
1008Germany2026-10-22
1009Argentina2026-10-03
1010Italy2026-10-09
1011Italy2026-10-12
1012Australia2026-10-13
1013Canada2026-10-05
1014United Kingdom2026-10-13
1015Spain2026-09-30
1016Spain2026-10-06
1017Argentina2026-10-09
1018Spain2026-10-01
1019United Kingdom2026-10-17
1020Canada2026-10-05
1021Germany2026-10-14
1022Argentina2026-10-16
1023Spain2026-10-15
1024United Kingdom2026-10-14
1025Italy2026-10-13
1026Brazil2026-10-09
1027Canada2026-10-20
1028Italy2026-09-29
1029Italy2026-10-10
1030France2026-10-12
1031Germany2026-10-25
1032United Kingdom2026-10-02
1033France2026-10-14
1034United Kingdom2026-10-09
1035Italy2026-10-15
1036Russia2026-10-03
1037Russia2026-10-21
1038Brazil2026-10-20
1039Brazil2026-10-04
1040Russia2026-10-25
1041Spain2026-09-26
1042Spain2026-10-12
1043India2026-10-18
1044Spain2026-09-29
1045Canada2026-10-04
1046Japan2026-09-26
1047Argentina2026-10-11
1048Russia2026-10-14
1049Japan2026-10-04

On-Demand Data

NameIdCountryDate
Clifford F Sergi1000Brazil2026-10-19
Mujtaba A Dilliard1001Brazil2026-09-29
Alejandro Z Bowley1002Australia2026-10-18
Antonio J Sergi1003Germany2026-10-04
Costa W Briddick1004Italy2026-10-04
Isabel Y Stockham1005Russia2026-10-17
Cody N Marrier1006India2026-09-28
Adams E Darakjy1007Argentina2026-10-10
Smith N Maclead1008Brazil2026-10-04
Stacey P Glick1009Italy2026-10-18
Isabel C Poquette1010France2026-10-07
Ashley U Wieser1011United Kingdom2026-10-15
Tony F Stockham1012Australia2026-10-18
Jones C Oldroyd1013India2026-10-22
Jefferson N Slusarski1014United Kingdom2026-10-08
Deepesh Y Whobrey1015Australia2026-09-27
Maisha X Gillian1016Brazil2026-10-05
Chavez K Stenseth1017Russia2026-10-19
Antonio F Rim1018France2026-10-16
Aditya C Stenseth1019Japan2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues X TollnerSpainXuxue Feng QUALIFIED
Maria N SchemmerCanadaAsiya Javayant NEGOTIATION
Juan O WaycottArgentinaAsiya Javayant QUALIFIED
Clifford C SlusarskiFranceXuxue Feng RENEWAL
Ricardo O CaldareraAustraliaBernardo Dominic RENEWAL
Clifford Y ButtArgentinaIoni Bowcher PROPOSAL
Faith V ShinkoGermanyAsiya Javayant QUALIFIED
Ivar H CampainBrazilIvan Magalhaes QUALIFIED
Aruna F MarrierBrazilIvan Magalhaes QUALIFIED
Misaki O DarakjyGermanyElwin Sharvill NEW
Munro M KuskoSpainStephen Shaw PROPOSAL
Kadeem D ShinkoFranceIoni Bowcher PROPOSAL
Izzy C SlusarskiArgentinaAsiya Javayant PROPOSAL
Isabel I FigeroaUnited KingdomAmy Elsner NEW
Maria A PerinFranceAmy Elsner PROPOSAL
Deepesh M PoquetteSpainOnyama Limba UNQUALIFIED
Maisha U StockhamJapanOnyama Limba QUALIFIED
Isabel O CaudyJapanAmy Elsner UNQUALIFIED
Johnson D KolmetzCanadaOnyama Limba UNQUALIFIED
Faith A RulapaughUnited KingdomOnyama Limba NEGOTIATION
Adams R CaldareraFranceBernardo Dominic NEW
Costa F WieserJapanAsiya Javayant NEGOTIATION
Julie G VocelkaItalyAmy Elsner NEW
Silvio S RulapaughCanadaXuxue Feng RENEWAL
Emily P SaylorsCanadaAmy Elsner RENEWAL
Clifford N ButtItalyOnyama Limba NEGOTIATION
Greenwood K VocelkaRussiaAnna Fali NEW
Stacey X GillianSpainIvan Magalhaes UNQUALIFIED
Costa I WaycottUnited KingdomBernardo Dominic RENEWAL
Tony D InouyeUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois T FerenczFranceBernardo Dominic QUALIFIED
Kaitlin W MacleadBrazilXuxue Feng RENEWAL
Jones Y NestleCanadaElwin Sharvill NEGOTIATION
Jeanfrancois O OstroskyAustraliaBernardo Dominic QUALIFIED
Julie V GauchoIndiaElwin Sharvill QUALIFIED
Maisha C VocelkaAustraliaAnna Fali NEW
Claire B KolmetzSpainAsiya Javayant UNQUALIFIED
Claire Q CampainCanadaAmy Elsner QUALIFIED
Costa V StockhamBrazilOnyama Limba UNQUALIFIED
Jeanfrancois G CampainItalyStephen Shaw 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>