Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Juan O FlosiBrazilAnna Fali NEGOTIATION
Johnson Q IturbideGermanyAnna Fali NEGOTIATION
Jones A VenereArgentinaAsiya Javayant QUALIFIED
Maria P GarufiItalyAmy Elsner NEGOTIATION
Antonio R NestleUnited KingdomIvan Magalhaes NEW
Jennifer U CaudyAustraliaXuxue Feng NEW
Antonio T GillianAustraliaBernardo Dominic NEGOTIATION
Ricardo N WaycottCanadaAsiya Javayant QUALIFIED
Faith A BriddickCanadaBernardo Dominic NEW
Antonio O OldroydUnited KingdomAnna Fali NEGOTIATION
Ashley P GillianBrazilXuxue Feng PROPOSAL
Morrow I FlosiArgentinaAnna Fali PROPOSAL
Ivar C FlosiItalyBernardo Dominic QUALIFIED
Ricardo V FerenczIndiaElwin Sharvill PROPOSAL
Mayumi D BriddickCanadaStephen Shaw NEW
Leja M CaudyJapanOnyama Limba UNQUALIFIED
Silvio T RulapaughAustraliaAsiya Javayant PROPOSAL
Ricardo N CaldareraCanadaOnyama Limba RENEWAL
Ricardo O WaycottSpainStephen Shaw UNQUALIFIED
Morrow K SaylorsJapanXuxue Feng UNQUALIFIED
Jones L SergiAustraliaIoni Bowcher NEW
Kadeem H MorascaIndiaXuxue Feng RENEWAL
Cody L SlusarskiArgentinaAmy Elsner PROPOSAL
Salvatore C NickaIndiaBernardo Dominic NEGOTIATION
Deepesh N BriddickItalyIoni Bowcher PROPOSAL
Clifford A OstroskyRussiaAnna Fali UNQUALIFIED
Izzy E KolmetzJapanElwin Sharvill NEW
Leja G FerenczGermanyStephen Shaw NEGOTIATION
Murillo W StockhamIndiaElwin Sharvill QUALIFIED
Maria G VenereJapanBernardo Dominic RENEWAL
Maria V DarakjySpainAmy Elsner PROPOSAL
Maria G InouyeUnited KingdomIoni Bowcher NEW
Ivar L OstroskySpainElwin Sharvill NEGOTIATION
Smith H WaycottSpainElwin Sharvill NEW
Mayumi A PoquetteItalyOnyama Limba QUALIFIED
Aditya Z SaylorsCanadaAmy Elsner NEGOTIATION
Smith H VocelkaFranceOnyama Limba PROPOSAL
Ivar D CampainCanadaBernardo Dominic PROPOSAL
Munro U RulapaughItalyIvan Magalhaes RENEWAL
Tony P SaylorsSpainElwin Sharvill NEGOTIATION
David E OstroskyAustraliaIvan Magalhaes PROPOSAL
Smith V CaudyBrazilAmy Elsner UNQUALIFIED
Jones Y AlbaresFranceStephen Shaw QUALIFIED
Misaki H SlusarskiIndiaOnyama Limba UNQUALIFIED
Cody T MarrierRussiaIoni Bowcher QUALIFIED
Maria F GarufiRussiaIoni Bowcher UNQUALIFIED
Deepesh H AmigonCanadaAmy Elsner NEW
Maisha Z CaudyArgentinaXuxue Feng NEGOTIATION
Faith S PoquetteUnited KingdomStephen Shaw NEGOTIATION
Johnson M StensethUnited KingdomBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Francesco R InouyeSpainXuxue Feng RENEWAL
Arvin J SaylorsFranceAnna Fali RENEWAL
Kaitlin O InouyeCanadaBernardo Dominic RENEWAL
Francesco B InouyeSpainBernardo Dominic NEGOTIATION
Chavez R BriddickGermanyAmy Elsner NEGOTIATION
Adams R BriddickFranceOnyama Limba UNQUALIFIED
Sinclair Y CaldareraRussiaAsiya Javayant QUALIFIED
Cody C KuskoJapanAsiya Javayant NEGOTIATION
Francesco W NestleJapanXuxue Feng QUALIFIED
Alejandro G ChuiArgentinaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair V RulapaughItaly2025-07-15Chemel, James L Cpa NEW58Xuxue Feng
1001Rodrigues K KuskoIndia2025-07-10Feltz Printing Service PROPOSAL30Ivan Magalhaes
1002Julie U GauchoCanada2025-07-31Commercial Press UNQUALIFIED11Ioni Bowcher
1003Murillo U FollerAustralia2025-07-13Rangoni Of Florence NEW21Onyama Limba
1004Cody S CampainBrazil2025-07-29Commercial Press PROPOSAL31Ivan Magalhaes
1005Ricardo B VenereUnited Kingdom2025-07-24Benton, John B Jr RENEWAL64Asiya Javayant
1006Aditya E FollerArgentina2025-07-06Rousseaux, Michael Esq UNQUALIFIED32Xuxue Feng
1007Nicolas U FlosiUnited Kingdom2025-07-07Feiner Bros RENEWAL84Onyama Limba
1008Tony O MaletAustralia2025-07-16Truhlar And Truhlar Attys NEW99Stephen Shaw
1009Leon D FigeroaUnited Kingdom2025-07-28Rousseaux, Michael Esq QUALIFIED85Elwin Sharvill
1010Izzy M AmigonArgentina2025-07-11Buckley Miller Wright PROPOSAL53Xuxue Feng
1011Aditya Z PerinFrance2025-07-07Dorl, James J Esq RENEWAL8Anna Fali
1012Salvatore K PerinArgentina2025-07-25Chanay, Jeffrey A Esq UNQUALIFIED86Stephen Shaw
1013Smith R AmigonRussia2025-07-20Chanay, Jeffrey A Esq NEW26Anna Fali
1014Smith Y PoquetteAustralia2025-07-19Chanay, Jeffrey A Esq RENEWAL75Elwin Sharvill
1015Aditya X SergiJapan2025-07-28Benton, John B Jr RENEWAL64Onyama Limba
1016Mayumi X MorascaGermany2025-07-09Truhlar And Truhlar Attys PROPOSAL88Bernardo Dominic
1017Murillo U DoeGermany2025-07-13Rousseaux, Michael Esq RENEWAL53Ivan Magalhaes
1018Claire T NickaFrance2025-07-23Feltz Printing Service RENEWAL24Xuxue Feng
1019Chavez X OstroskyFrance2025-07-23Dorl, James J Esq RENEWAL47Stephen Shaw
1020Aika C VenereJapan2025-08-02Rangoni Of Florence NEW64Asiya Javayant
1021Salvatore G MaletBrazil2025-07-10Chapman, Ross E Esq UNQUALIFIED97Ivan Magalhaes
1022Nicolas B InouyeBrazil2025-07-29Chemel, James L Cpa QUALIFIED4Xuxue Feng
1023Octavia D RutaItaly2025-07-07Rangoni Of Florence UNQUALIFIED67Bernardo Dominic
1024Aika O CaldareraCanada2025-07-24Chapman, Ross E Esq UNQUALIFIED31Onyama Limba
1025Arvin M OstroskyGermany2025-07-29Chemel, James L Cpa PROPOSAL32Elwin Sharvill
1026Octavia K BologniaSpain2025-07-12Printing Dimensions QUALIFIED70Anna Fali
1027Ashley A FlosiArgentina2025-07-22Feiner Bros RENEWAL92Amy Elsner
1028Jennifer J WhobreyGermany2025-07-11Commercial Press PROPOSAL87Onyama Limba
1029Kaitlin H VocelkaUnited Kingdom2025-07-23Feiner Bros RENEWAL43Ivan Magalhaes
1030Ashley Z InouyeBrazil2025-07-10Feiner Bros PROPOSAL6Bernardo Dominic
1031Salvatore E KuskoCanada2025-07-13Chapman, Ross E Esq NEW28Ioni Bowcher
1032Kadeem K AmigonUnited Kingdom2025-07-25Rousseaux, Michael Esq UNQUALIFIED97Elwin Sharvill
1033Clifford D MorascaJapan2025-07-26Benton, John B Jr PROPOSAL42Anna Fali
1034David X MaletItaly2025-07-13Feltz Printing Service RENEWAL61Asiya Javayant
1035James C VenereRussia2025-07-28King, Christopher A Esq RENEWAL93Elwin Sharvill
1036Julie C PerinUnited Kingdom2025-07-17King, Christopher A Esq QUALIFIED92Elwin Sharvill
1037Kaitlin J OstroskyRussia2025-08-04Feltz Printing Service UNQUALIFIED57Amy Elsner
1038Jeanfrancois C SlusarskiUnited Kingdom2025-07-14Feltz Printing Service PROPOSAL91Asiya Javayant
1039Murillo M CampainCanada2025-07-10Feiner Bros RENEWAL15Anna Fali
1040Izzy B CaudyIndia2025-07-28Chemel, James L Cpa RENEWAL78Ivan Magalhaes
1041Juan L WieserGermany2025-07-29Commercial Press QUALIFIED46Bernardo Dominic
1042Silvio A FlosiUnited Kingdom2025-07-10Chapman, Ross E Esq QUALIFIED69Stephen Shaw
1043Salvatore I CaldareraRussia2025-08-01Commercial Press NEGOTIATION92Asiya Javayant
1044Jeanfrancois Y OstroskyFrance2025-08-03Printing Dimensions RENEWAL34Onyama Limba
1045Jeanfrancois M VenereArgentina2025-07-17Commercial Press RENEWAL6Bernardo Dominic
1046Francesco R KolmetzSpain2025-07-07Chapman, Ross E Esq NEGOTIATION81Amy Elsner
1047Kaitlin L DarakjyFrance2025-07-17Rangoni Of Florence NEW6Stephen Shaw
1048Johnson Q PoquetteItaly2025-07-15Dorl, James J Esq PROPOSAL31Stephen Shaw
1049Clifford V PerinSpain2025-07-11Dorl, James J Esq PROPOSAL68Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson S SlusarskiBrazilIoni Bowcher PROPOSAL
Ivar A ShinkoIndiaElwin Sharvill NEW
Leon M ShinkoIndiaBernardo Dominic QUALIFIED
Octavia F GauchoRussiaOnyama Limba QUALIFIED
Clifford E StockhamIndiaAsiya Javayant NEGOTIATION
Mayumi O KolmetzBrazilXuxue Feng RENEWAL
Rodrigues J VenereGermanyIoni Bowcher NEW
James X RutaCanadaBernardo Dominic PROPOSAL
Antonio K RutaRussiaElwin Sharvill RENEWAL
Isabel P FerenczFranceOnyama Limba NEGOTIATION
Morrow F KolmetzCanadaElwin Sharvill NEGOTIATION
Adams P PerinIndiaElwin Sharvill RENEWAL
Isabel K MarrierFranceAnna Fali NEGOTIATION
Aika I WaycottItalyBernardo Dominic PROPOSAL
Mayumi B BowleyJapanAsiya Javayant NEW
Munro F FollerArgentinaAnna Fali RENEWAL
Francesco P InouyeCanadaStephen Shaw PROPOSAL
Jefferson P SergiArgentinaIoni Bowcher UNQUALIFIED
Maria H GillianJapanOnyama Limba NEGOTIATION
Darci X RimAustraliaAsiya Javayant NEW
Maisha F DarakjyJapanIoni Bowcher NEW
Faith I WaycottItalyElwin Sharvill RENEWAL
Kadeem S WieserItalyXuxue Feng NEW
Costa V KolmetzBrazilElwin Sharvill NEGOTIATION
Octavia G GlickFranceBernardo Dominic PROPOSAL
Salvatore Q FlosiJapanIvan Magalhaes NEGOTIATION
Juan Z DilliardBrazilAmy Elsner NEGOTIATION
Jefferson O GlickIndiaElwin Sharvill NEGOTIATION
Isabel O SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Greenwood E PerinArgentinaAmy Elsner NEGOTIATION
Francesco B KuskoJapanBernardo Dominic NEW
Chavez P MarrierCanadaAnna Fali RENEWAL
Costa H WieserAustraliaOnyama Limba NEGOTIATION
Izzy A InouyeUnited KingdomXuxue Feng NEW
Faith P MacleadRussiaIvan Magalhaes PROPOSAL
Aika I CampainIndiaAsiya Javayant NEGOTIATION
Kaitlin U RoysterRussiaXuxue Feng PROPOSAL
Faith A PaprockiCanadaOnyama Limba QUALIFIED
Jones L AlbaresBrazilOnyama Limba UNQUALIFIED
Alejandro B DilliardCanadaBernardo Dominic PROPOSAL
Emily C ChuiFranceIvan Magalhaes QUALIFIED
Chavez O BowleySpainStephen Shaw UNQUALIFIED
Smith T DoeIndiaStephen Shaw NEGOTIATION
Tony C WaycottUnited KingdomXuxue Feng NEGOTIATION
Juan J MacleadRussiaElwin Sharvill UNQUALIFIED
Izzy Y MacleadJapanAnna Fali RENEWAL
Leon P RulapaughGermanyIoni Bowcher UNQUALIFIED
Tony V MarrierRussiaElwin Sharvill NEW
David C WieserArgentinaXuxue Feng UNQUALIFIED
Adams Y CampainIndiaAnna Fali NEGOTIATION
Frozen Columns
Name
Misaki Q Gillian
Jennifer T Nicka
Antonio Z Perin
Tony A Rim
Arvin K Stockham
Jefferson Y Ferencz
Juan O Nicka
Ivar G Perin
Arvin O Campain
Cody U Doe
Emily R Maclead
Julie W Kusko
Rodrigues Q Dilliard
Maisha H Royster
Jeanfrancois W Morasca
Murillo C Campain
Faith F Royster
Maisha D Garufi
Jefferson L Figeroa
Kadeem Y Kolmetz
Francesco R Kolmetz
Sinclair M Ruta
Cody U Malet
Clifford N Bowley
Jefferson T Dilliard
Mayumi F Malet
Aditya J Perin
Stacey L Nicka
Leon V Malet
Deepesh Q Nicka
Arvin L Royster
Aika O Vocelka
Sinclair W Tollner
Aruna F Perin
Antonio E Amigon
Munro E Campain
Nicolas Z Flosi
Salvatore P Tollner
Murillo I Vocelka
Maisha K Poquette
Ashley G Foller
Mujtaba R Bolognia
Costa T Dilliard
Rodrigues T Rulapaugh
Mujtaba T Slusarski
Stacey D Rim
Isabel J Caudy
Jones A Venere
Tony F Oldroyd
Antonio Z Inouye
IdCountryDate
1000United Kingdom2025-07-09
1001Brazil2025-07-06
1002Canada2025-07-23
1003Germany2025-07-21
1004Japan2025-07-21
1005India2025-07-10
1006France2025-07-06
1007Argentina2025-07-31
1008Canada2025-07-13
1009France2025-08-01
1010Russia2025-07-21
1011Germany2025-07-18
1012Italy2025-07-15
1013Australia2025-08-03
1014Germany2025-07-08
1015Canada2025-07-30
1016Japan2025-08-04
1017Canada2025-07-12
1018France2025-07-31
1019Italy2025-08-03
1020Australia2025-07-30
1021Argentina2025-07-15
1022Japan2025-07-15
1023Russia2025-07-21
1024Italy2025-07-17
1025Canada2025-07-15
1026Spain2025-07-12
1027India2025-07-07
1028India2025-07-25
1029Australia2025-07-12
1030France2025-07-14
1031Russia2025-07-08
1032India2025-08-02
1033Spain2025-07-13
1034Australia2025-07-29
1035Argentina2025-07-08
1036Canada2025-07-11
1037Canada2025-07-21
1038Brazil2025-08-04
1039Japan2025-07-18
1040Australia2025-07-13
1041Russia2025-07-09
1042Australia2025-07-30
1043Argentina2025-07-27
1044Russia2025-08-04
1045Germany2025-07-25
1046Spain2025-07-14
1047Germany2025-07-15
1048Canada2025-07-13
1049Spain2025-07-09

On-Demand Data

NameIdCountryDate
Ricardo S Nicka1000Brazil2025-07-09
Faith O Shinko1001Australia2025-07-10
Arvin J Gillian1002Spain2025-07-19
Tony X Gillian1003Italy2025-07-29
Chavez C Slusarski1004Brazil2025-07-13
Kadeem L Nestle1005Argentina2025-08-03
Arvin K Caldarera1006France2025-07-15
Murillo T Ostrosky1007India2025-07-23
Juan T Malet1008France2025-07-26
Claire J Oldroyd1009Spain2025-07-28
Tony U Slusarski1010United Kingdom2025-07-12
Emily Y Saylors1011Italy2025-07-13
Nicolas I Campain1012Brazil2025-07-08
Johnson H Kolmetz1013Spain2025-07-11
Stacey V Waycott1014Argentina2025-07-16
Aditya B Stockham1015Argentina2025-07-15
Leja A Gillian1016France2025-07-23
Mayumi L Amigon1017Brazil2025-08-04
Ivar L Garufi1018United Kingdom2025-07-26
Greenwood G Caldarera1019Australia2025-07-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Q PoquetteIndiaAsiya Javayant QUALIFIED
Octavia O MaletFranceBernardo Dominic UNQUALIFIED
Morrow J RimArgentinaAmy Elsner RENEWAL
Murillo Y InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Darci U OstroskyIndiaIvan Magalhaes RENEWAL
Arvin P FollerJapanAnna Fali UNQUALIFIED
Francesco R PoquetteIndiaAmy Elsner RENEWAL
Nicolas Y IturbideCanadaAsiya Javayant UNQUALIFIED
Maria T MaletArgentinaXuxue Feng RENEWAL
Darci Z SlusarskiCanadaOnyama Limba QUALIFIED
Misaki F OldroydArgentinaXuxue Feng NEGOTIATION
David P BriddickCanadaIoni Bowcher QUALIFIED
Maria Z GillianIndiaIvan Magalhaes UNQUALIFIED
Faith M DoeAustraliaStephen Shaw PROPOSAL
Ivar U StensethJapanElwin Sharvill QUALIFIED
Maisha M MarrierRussiaAmy Elsner RENEWAL
Wickens E BriddickFranceAnna Fali RENEWAL
Antonio M AmigonRussiaAmy Elsner NEGOTIATION
Maisha G OldroydFranceIvan Magalhaes PROPOSAL
Morrow B OstroskyFranceAnna Fali UNQUALIFIED
Silvio I StensethSpainIvan Magalhaes NEW
Misaki I WaycottUnited KingdomIoni Bowcher PROPOSAL
Jones V NestleItalyIvan Magalhaes UNQUALIFIED
Isabel I NickaGermanyBernardo Dominic NEGOTIATION
Jeanfrancois H KolmetzFranceIvan Magalhaes NEW
Jeanfrancois G RoysterUnited KingdomStephen Shaw NEW
Octavia R SergiUnited KingdomXuxue Feng QUALIFIED
Nicolas X NestleIndiaXuxue Feng PROPOSAL
Juan D IturbideArgentinaAmy Elsner NEGOTIATION
Kadeem D GlickFranceIoni Bowcher PROPOSAL
Jennifer N NestleIndiaBernardo Dominic QUALIFIED
David S PoquetteUnited KingdomStephen Shaw RENEWAL
Emily S NestleJapanIoni Bowcher UNQUALIFIED
Munro J NickaRussiaIvan Magalhaes PROPOSAL
David W InouyeSpainXuxue Feng QUALIFIED
Isabel Z RoysterItalyElwin Sharvill NEW
Isabel Z WhobreyCanadaXuxue Feng NEW
Deepesh T RoysterCanadaElwin Sharvill PROPOSAL
Octavia A GlickCanadaIvan Magalhaes NEW
Mayumi V VocelkaBrazilAmy Elsner UNQUALIFIED

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