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
Munro O VocelkaAustraliaAmy Elsner QUALIFIED
Ivar M GlickArgentinaStephen Shaw NEGOTIATION
Chavez L OstroskyIndiaAnna Fali QUALIFIED
Silvio K PoquetteUnited KingdomIvan Magalhaes NEW
Chavez M KuskoCanadaIoni Bowcher UNQUALIFIED
Salvatore N SchemmerUnited KingdomAnna Fali UNQUALIFIED
Faith V ChuiItalyIvan Magalhaes PROPOSAL
Darci H RoysterSpainAmy Elsner PROPOSAL
Murillo N RoysterItalyAnna Fali RENEWAL
Adams Z BriddickSpainAmy Elsner PROPOSAL
David Z TollnerAustraliaIvan Magalhaes RENEWAL
Ricardo A KuskoFranceAmy Elsner RENEWAL
Misaki P KuskoItalyIoni Bowcher NEW
Arvin D SlusarskiRussiaIvan Magalhaes RENEWAL
Munro F MaletSpainAsiya Javayant QUALIFIED
Emily I GillianArgentinaOnyama Limba NEW
Ivar T StensethRussiaOnyama Limba UNQUALIFIED
Sinclair C KuskoIndiaAsiya Javayant PROPOSAL
Antonio Y TollnerBrazilAnna Fali PROPOSAL
Sinclair Z PerinFranceAmy Elsner NEW
Kaitlin W CaldareraRussiaAmy Elsner PROPOSAL
Octavia X RimBrazilBernardo Dominic RENEWAL
Greenwood P MaletRussiaElwin Sharvill PROPOSAL
Sinclair K KuskoItalyBernardo Dominic UNQUALIFIED
Kaitlin T RimRussiaIvan Magalhaes UNQUALIFIED
Julie O AmigonJapanOnyama Limba PROPOSAL
Juan P SchemmerGermanyStephen Shaw QUALIFIED
Aruna M RulapaughJapanBernardo Dominic NEW
Munro M MacleadGermanyIvan Magalhaes PROPOSAL
Maria N InouyeIndiaXuxue Feng NEW
Leja Q DarakjyArgentinaElwin Sharvill NEW
Greenwood C GarufiIndiaIvan Magalhaes PROPOSAL
Adams Q SchemmerJapanElwin Sharvill UNQUALIFIED
Aditya H FerenczGermanyStephen Shaw UNQUALIFIED
Aruna L RimRussiaXuxue Feng NEGOTIATION
Costa B GlickFranceAsiya Javayant UNQUALIFIED
Alejandro Q CampainBrazilOnyama Limba NEW
Darci W SergiItalyIvan Magalhaes UNQUALIFIED
Ashley W RulapaughCanadaBernardo Dominic QUALIFIED
Stacey E RulapaughBrazilOnyama Limba NEGOTIATION
Jeanfrancois Q MaletAustraliaAmy Elsner PROPOSAL
Salvatore F BriddickUnited KingdomXuxue Feng NEW
Aruna D SergiGermanyElwin Sharvill RENEWAL
Greenwood W FollerBrazilXuxue Feng UNQUALIFIED
Jones K DilliardItalyIvan Magalhaes NEW
Ricardo I BowleyUnited KingdomIoni Bowcher NEGOTIATION
Octavia H RoysterRussiaIoni Bowcher QUALIFIED
Aika Q MacleadFranceAsiya Javayant NEGOTIATION
Mujtaba H DarakjyBrazilStephen Shaw RENEWAL
Ashley A RoysterIndiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo M CampainGermanyBernardo Dominic NEGOTIATION
Octavia O StockhamFranceOnyama Limba PROPOSAL
Clifford H ButtGermanyXuxue Feng PROPOSAL
Isabel I KuskoGermanyIvan Magalhaes PROPOSAL
Morrow H CaudyJapanXuxue Feng NEW
Deepesh H IturbideGermanyIvan Magalhaes RENEWAL
Darci W VenereRussiaAsiya Javayant RENEWAL
Smith K AmigonItalyIoni Bowcher NEGOTIATION
Chavez T PaprockiAustraliaAmy Elsner PROPOSAL
Clifford B NestleUnited KingdomStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba Y MorascaSpain2026-09-10Truhlar And Truhlar Attys NEW65Onyama Limba
1001Octavia M SergiSpain2026-10-02Rousseaux, Michael Esq RENEWAL13Onyama Limba
1002Leja D VenereArgentina2026-10-02Feltz Printing Service NEGOTIATION29Bernardo Dominic
1003Faith Q KuskoIndia2026-10-05Rousseaux, Michael Esq RENEWAL13Xuxue Feng
1004Munro R ChuiFrance2026-09-27Feiner Bros QUALIFIED51Ioni Bowcher
1005Clifford L RimRussia2026-09-24Chemel, James L Cpa NEGOTIATION4Xuxue Feng
1006Jeanfrancois O IturbideIndia2026-09-24Feiner Bros NEGOTIATION38Onyama Limba
1007Nicolas M IturbideGermany2026-09-24Buckley Miller Wright QUALIFIED39Anna Fali
1008Wickens Z VocelkaCanada2026-09-08Truhlar And Truhlar Attys NEW32Anna Fali
1009Antonio E GarufiSpain2026-10-01Buckley Miller Wright RENEWAL52Anna Fali
1010Jefferson Z FollerSpain2026-09-20Benton, John B Jr QUALIFIED6Ivan Magalhaes
1011Mujtaba I VenereSpain2026-10-05Chanay, Jeffrey A Esq NEGOTIATION42Elwin Sharvill
1012David Z FollerUnited Kingdom2026-09-16Rousseaux, Michael Esq QUALIFIED55Ioni Bowcher
1013Smith K DilliardUnited Kingdom2026-09-24Feiner Bros QUALIFIED16Asiya Javayant
1014Jefferson R DilliardAustralia2026-09-07Rousseaux, Michael Esq RENEWAL43Xuxue Feng
1015Maria G RutaJapan2026-09-22Benton, John B Jr RENEWAL84Asiya Javayant
1016Kadeem A StockhamArgentina2026-09-12Morlong Associates PROPOSAL84Xuxue Feng
1017David Q VocelkaBrazil2026-09-09Chemel, James L Cpa QUALIFIED12Asiya Javayant
1018Leja E ButtJapan2026-10-03Printing Dimensions PROPOSAL92Bernardo Dominic
1019Kadeem H FollerSpain2026-10-06Printing Dimensions RENEWAL52Ioni Bowcher
1020Cody B MarrierFrance2026-10-04Chemel, James L Cpa NEGOTIATION82Ioni Bowcher
1021Aditya E OldroydCanada2026-09-15Chapman, Ross E Esq NEW71Ioni Bowcher
1022Munro D DilliardArgentina2026-09-23Rousseaux, Michael Esq QUALIFIED16Ioni Bowcher
1023Stacey U TollnerAustralia2026-09-18Rousseaux, Michael Esq NEW55Onyama Limba
1024Rodrigues C SergiIndia2026-09-09Feiner Bros UNQUALIFIED34Asiya Javayant
1025Kadeem F PaprockiJapan2026-09-08Feltz Printing Service QUALIFIED25Xuxue Feng
1026Chavez D MaletItaly2026-09-10Chapman, Ross E Esq NEGOTIATION72Stephen Shaw
1027Ashley I SlusarskiIndia2026-09-22Buckley Miller Wright RENEWAL78Onyama Limba
1028Deepesh Y MarrierIndia2026-09-27Commercial Press PROPOSAL93Elwin Sharvill
1029Ivar Z ButtIndia2026-09-09Chemel, James L Cpa RENEWAL65Ioni Bowcher
1030Leja D BriddickArgentina2026-10-05Rousseaux, Michael Esq UNQUALIFIED58Amy Elsner
1031Cody B BowleyAustralia2026-10-06Chemel, James L Cpa NEGOTIATION18Asiya Javayant
1032Mujtaba A AlbaresCanada2026-09-07Rousseaux, Michael Esq QUALIFIED18Ivan Magalhaes
1033Mayumi E CaudyJapan2026-09-23Feiner Bros QUALIFIED34Onyama Limba
1034Maisha R BologniaArgentina2026-09-24Dorl, James J Esq UNQUALIFIED10Bernardo Dominic
1035Smith T BriddickUnited Kingdom2026-09-21Buckley Miller Wright NEGOTIATION11Onyama Limba
1036Aditya K DilliardJapan2026-10-01King, Christopher A Esq RENEWAL62Bernardo Dominic
1037Costa N ChuiSpain2026-09-18Commercial Press PROPOSAL3Anna Fali
1038Deepesh P MaletItaly2026-10-04Rousseaux, Michael Esq UNQUALIFIED2Amy Elsner
1039Adams E IturbideFrance2026-09-29Benton, John B Jr QUALIFIED37Onyama Limba
1040Antonio Z WieserBrazil2026-09-07Commercial Press NEW53Asiya Javayant
1041Francesco W DarakjyFrance2026-09-16Benton, John B Jr QUALIFIED91Bernardo Dominic
1042Juan L ShinkoAustralia2026-09-25Rousseaux, Michael Esq PROPOSAL28Asiya Javayant
1043David R GillianJapan2026-10-02Feiner Bros UNQUALIFIED52Xuxue Feng
1044Claire L RulapaughGermany2026-09-13Chapman, Ross E Esq PROPOSAL73Elwin Sharvill
1045Smith G GillianRussia2026-09-22Rangoni Of Florence PROPOSAL42Stephen Shaw
1046Misaki D AmigonRussia2026-09-20Chapman, Ross E Esq QUALIFIED79Ioni Bowcher
1047Silvio W StensethBrazil2026-09-14Commercial Press RENEWAL21Onyama Limba
1048Deepesh S OstroskyGermany2026-09-12Chemel, James L Cpa NEGOTIATION81Bernardo Dominic
1049Greenwood F MacleadIndia2026-09-22Feltz Printing Service RENEWAL28Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria L MacleadIndiaStephen Shaw UNQUALIFIED
Ashley T DilliardCanadaAnna Fali NEGOTIATION
Antonio H PaprockiGermanyAnna Fali PROPOSAL
Aika R DarakjyFranceAsiya Javayant PROPOSAL
Adams W CampainItalyAmy Elsner NEW
Tony G ButtAustraliaIoni Bowcher PROPOSAL
Faith C MarrierJapanAmy Elsner PROPOSAL
Clifford S FigeroaAustraliaAsiya Javayant QUALIFIED
Antonio C BriddickItalyOnyama Limba UNQUALIFIED
Morrow Q VenereJapanIoni Bowcher PROPOSAL
Jefferson T WaycottSpainElwin Sharvill PROPOSAL
Darci W KolmetzFranceAnna Fali NEW
James G RimRussiaAnna Fali UNQUALIFIED
Jefferson J CaudyUnited KingdomIoni Bowcher PROPOSAL
Aika Z DarakjyBrazilOnyama Limba UNQUALIFIED
Arvin J PerinAustraliaAsiya Javayant RENEWAL
Smith B MacleadUnited KingdomElwin Sharvill NEW
Octavia K CaudySpainElwin Sharvill QUALIFIED
Darci T RulapaughFranceStephen Shaw NEW
Greenwood B ShinkoIndiaXuxue Feng PROPOSAL
Nicolas F GlickJapanOnyama Limba NEGOTIATION
Salvatore H BowleyBrazilOnyama Limba NEW
Aruna S SchemmerIndiaIoni Bowcher UNQUALIFIED
Leja Y SchemmerSpainAnna Fali PROPOSAL
Johnson U NestleJapanAsiya Javayant UNQUALIFIED
James W DoeIndiaOnyama Limba UNQUALIFIED
Jennifer O ChuiItalyOnyama Limba QUALIFIED
Ricardo N RoysterGermanyIvan Magalhaes NEW
Murillo O StockhamBrazilStephen Shaw RENEWAL
Mayumi A GillianCanadaOnyama Limba QUALIFIED
Johnson R FigeroaItalyOnyama Limba NEGOTIATION
Tony B BowleyBrazilBernardo Dominic NEW
Johnson O VenereItalyIoni Bowcher NEGOTIATION
Nicolas S InouyeFranceStephen Shaw PROPOSAL
Octavia Q WaycottBrazilAmy Elsner UNQUALIFIED
Misaki H MorascaFranceIoni Bowcher NEW
Ricardo N TollnerRussiaStephen Shaw NEGOTIATION
Greenwood N SchemmerRussiaAmy Elsner PROPOSAL
Maria K ChuiSpainAnna Fali RENEWAL
Wickens O VenereUnited KingdomAmy Elsner RENEWAL
Rodrigues J SlusarskiJapanBernardo Dominic QUALIFIED
Juan M GauchoAustraliaIoni Bowcher UNQUALIFIED
Morrow R KuskoIndiaXuxue Feng QUALIFIED
Octavia I NickaSpainAsiya Javayant PROPOSAL
Mujtaba Z FollerGermanyOnyama Limba QUALIFIED
Tony F CampainIndiaIvan Magalhaes RENEWAL
Juan A ShinkoItalyAnna Fali NEGOTIATION
Sinclair C CaldareraArgentinaElwin Sharvill PROPOSAL
Greenwood N FerenczArgentinaAnna Fali QUALIFIED
Maria G StockhamAustraliaXuxue Feng QUALIFIED
Frozen Columns
Name
Wickens T Stockham
Morrow P Waycott
Jeanfrancois F Slusarski
Mayumi V Venere
Francesco V Bolognia
Izzy C Perin
Juan E Foller
Aditya C Nicka
Munro H Perin
Antonio H Slusarski
Salvatore T Ruta
Adams K Darakjy
Leon A Wieser
Greenwood F Ostrosky
James K Amigon
Jeanfrancois W Briddick
Chavez Z Sergi
Johnson U Ferencz
Smith T Nestle
James I Waycott
Julie P Whobrey
Misaki A Waycott
Rodrigues G Kusko
Kaitlin Z Poquette
Ricardo Z Royster
James J Ostrosky
Costa T Flosi
Cody N Chui
Ivar J Figeroa
Tony A Ruta
Juan B Amigon
Aruna M Kolmetz
Emily K Stenseth
James S Briddick
Aika T Bowley
Ivar D Bolognia
Stacey K Butt
Sinclair B Briddick
Darci N Stockham
Ricardo N Rim
Kadeem H Gillian
Emily J Garufi
Maisha S Nestle
Jeanfrancois E Flosi
Emily E Albares
Arvin A Maclead
Ashley L Amigon
Maisha M Glick
James H Doe
Ricardo E Chui
IdCountryDate
1000Brazil2026-10-01
1001Japan2026-09-16
1002Germany2026-09-28
1003Argentina2026-09-07
1004Argentina2026-10-04
1005Australia2026-09-16
1006Brazil2026-09-07
1007India2026-09-23
1008Russia2026-09-08
1009Australia2026-10-03
1010Germany2026-09-28
1011Japan2026-09-14
1012Brazil2026-10-03
1013Brazil2026-09-20
1014Argentina2026-09-24
1015United Kingdom2026-09-12
1016Russia2026-10-01
1017Italy2026-09-22
1018Argentina2026-09-08
1019France2026-10-05
1020France2026-10-03
1021Italy2026-09-12
1022Italy2026-09-26
1023Japan2026-09-26
1024Australia2026-09-21
1025Spain2026-10-03
1026France2026-09-30
1027Russia2026-09-24
1028Italy2026-09-18
1029Brazil2026-09-07
1030Italy2026-10-03
1031United Kingdom2026-10-05
1032Russia2026-09-22
1033Spain2026-10-05
1034Italy2026-09-08
1035Russia2026-09-29
1036Brazil2026-09-26
1037Canada2026-09-25
1038United Kingdom2026-09-13
1039France2026-09-10
1040Australia2026-09-14
1041Argentina2026-09-12
1042Spain2026-09-07
1043United Kingdom2026-09-09
1044Canada2026-09-08
1045Spain2026-09-15
1046Argentina2026-09-08
1047India2026-10-05
1048Argentina2026-09-08
1049Brazil2026-10-06

On-Demand Data

NameIdCountryDate
Leon E Briddick1000Italy2026-09-10
Darci F Bowley1001United Kingdom2026-09-13
Johnson I Doe1002India2026-09-21
Johnson H Flosi1003Australia2026-09-15
Chavez F Tollner1004United Kingdom2026-10-06
Aditya H Wieser1005Japan2026-09-28
Adams B Whobrey1006Australia2026-10-06
Arvin P Bowley1007Canada2026-10-03
Johnson G Morasca1008Argentina2026-09-17
Wickens G Malet1009Germany2026-09-28
Octavia X Caudy1010France2026-09-17
Wickens F Paprocki1011France2026-09-11
Kaitlin P Caudy1012Italy2026-09-16
Nicolas B Inouye1013Italy2026-09-12
Alejandro Z Gaucho1014Australia2026-09-07
Jennifer W Gillian1015Japan2026-09-07
Leja Z Figeroa1016Brazil2026-09-29
Francesco H Ostrosky1017Japan2026-10-02
Salvatore P Nicka1018Japan2026-09-29
Rodrigues K Stenseth1019Canada2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro I GlickSpainStephen Shaw RENEWAL
Leon R FigeroaGermanyBernardo Dominic NEW
Leon V DoeRussiaOnyama Limba UNQUALIFIED
Ivar N NickaUnited KingdomBernardo Dominic QUALIFIED
Julie Z SaylorsArgentinaOnyama Limba RENEWAL
Aika H RoysterSpainIvan Magalhaes PROPOSAL
Tony A BowleyIndiaIvan Magalhaes RENEWAL
Francesco E NickaItalyElwin Sharvill QUALIFIED
Maria V VocelkaIndiaIoni Bowcher QUALIFIED
Salvatore Z DilliardGermanyOnyama Limba QUALIFIED
Deepesh D SergiIndiaAsiya Javayant QUALIFIED
Greenwood B GillianUnited KingdomIvan Magalhaes RENEWAL
Salvatore M VocelkaBrazilIoni Bowcher QUALIFIED
Jeanfrancois T WieserArgentinaBernardo Dominic PROPOSAL
Ivar C KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Murillo F SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Mujtaba N ChuiAustraliaAnna Fali RENEWAL
Wickens U MarrierCanadaAmy Elsner NEGOTIATION
Kadeem Y DilliardCanadaAnna Fali QUALIFIED
Johnson A RimArgentinaIoni Bowcher NEW
Isabel C KolmetzIndiaStephen Shaw RENEWAL
Aruna Y ShinkoUnited KingdomXuxue Feng QUALIFIED
Julie S GauchoArgentinaElwin Sharvill UNQUALIFIED
Darci F MarrierBrazilOnyama Limba UNQUALIFIED
Murillo Y BriddickArgentinaAnna Fali QUALIFIED
Chavez P CaldareraCanadaStephen Shaw RENEWAL
Jeanfrancois L ShinkoRussiaOnyama Limba PROPOSAL
Jeanfrancois B KuskoBrazilBernardo Dominic NEW
Leja M BriddickBrazilBernardo Dominic RENEWAL
Ashley G DarakjyRussiaStephen Shaw NEGOTIATION
Wickens H TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues L OldroydSpainAmy Elsner PROPOSAL
Jennifer A IturbideFranceAnna Fali NEW
Isabel W StockhamUnited KingdomAsiya Javayant NEGOTIATION
Morrow H RimSpainStephen Shaw RENEWAL
Aruna X MarrierIndiaAnna Fali NEGOTIATION
Juan E BowleyArgentinaBernardo Dominic RENEWAL
Deepesh V GillianCanadaAnna Fali NEGOTIATION
Maria E MaletAustraliaOnyama Limba PROPOSAL
Munro V FerenczRussiaStephen Shaw 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>