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
Salvatore T KolmetzRussiaAmy Elsner RENEWAL
Isabel U RulapaughIndiaOnyama Limba UNQUALIFIED
Cody E RutaFranceXuxue Feng PROPOSAL
Stacey T FlosiBrazilIoni Bowcher PROPOSAL
Aditya D MarrierSpainAsiya Javayant QUALIFIED
Greenwood N KuskoAustraliaOnyama Limba RENEWAL
Nicolas L PoquetteCanadaXuxue Feng NEGOTIATION
Arvin T DilliardRussiaXuxue Feng NEGOTIATION
Arvin D RimItalyAnna Fali NEGOTIATION
Nicolas H IturbideFranceXuxue Feng NEGOTIATION
Clifford S IturbideRussiaStephen Shaw PROPOSAL
Ivar O DoeGermanyStephen Shaw NEGOTIATION
Ivar N OstroskyCanadaBernardo Dominic NEGOTIATION
Octavia C BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Munro Z DilliardCanadaIoni Bowcher RENEWAL
Costa Q OstroskyBrazilAmy Elsner QUALIFIED
Aika X ShinkoRussiaAsiya Javayant UNQUALIFIED
Aika V ButtFranceIvan Magalhaes RENEWAL
Isabel P MaletGermanyElwin Sharvill UNQUALIFIED
Nicolas B SlusarskiJapanAnna Fali UNQUALIFIED
Sinclair N RulapaughJapanIvan Magalhaes NEGOTIATION
Chavez Z SergiUnited KingdomAsiya Javayant NEGOTIATION
Francesco D RoysterItalyOnyama Limba NEW
Faith U DilliardCanadaAmy Elsner QUALIFIED
Alejandro S NickaBrazilAnna Fali PROPOSAL
Kaitlin E BriddickJapanStephen Shaw RENEWAL
Stacey G BologniaArgentinaBernardo Dominic RENEWAL
Murillo N FigeroaAustraliaBernardo Dominic PROPOSAL
Adams Y WaycottGermanyBernardo Dominic RENEWAL
Sinclair D MorascaUnited KingdomBernardo Dominic NEW
Jeanfrancois S RulapaughUnited KingdomElwin Sharvill QUALIFIED
Murillo E RimAustraliaElwin Sharvill NEGOTIATION
Kaitlin C ChuiJapanStephen Shaw QUALIFIED
Clifford I GauchoAustraliaAmy Elsner NEW
Costa U DilliardUnited KingdomAsiya Javayant NEGOTIATION
Jennifer B RutaItalyAmy Elsner PROPOSAL
Maisha M GarufiSpainOnyama Limba UNQUALIFIED
Jefferson V MacleadAustraliaXuxue Feng NEGOTIATION
Murillo F GlickSpainElwin Sharvill NEGOTIATION
Greenwood E VenereSpainIvan Magalhaes RENEWAL
Nicolas L AlbaresFranceXuxue Feng NEW
Murillo U AlbaresIndiaElwin Sharvill QUALIFIED
Arvin V ButtItalyAsiya Javayant PROPOSAL
Antonio Z DilliardGermanyAmy Elsner NEW
Izzy B ChuiFranceOnyama Limba RENEWAL
Jefferson D GillianRussiaIvan Magalhaes UNQUALIFIED
Costa N RulapaughUnited KingdomAmy Elsner RENEWAL
Leja G RulapaughSpainAmy Elsner NEGOTIATION
Maisha J StensethItalyIoni Bowcher PROPOSAL
Jefferson V ButtSpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Ashley P WieserAustraliaIvan Magalhaes PROPOSAL
Arvin D MarrierRussiaElwin Sharvill NEW
Maisha A ChuiBrazilAmy Elsner NEGOTIATION
Johnson H FollerJapanBernardo Dominic RENEWAL
Rodrigues B WaycottSpainAnna Fali NEGOTIATION
Deepesh Z BowleyRussiaAmy Elsner NEW
Sinclair B NickaJapanStephen Shaw PROPOSAL
Jennifer K InouyeBrazilAnna Fali QUALIFIED
Maria H FerenczUnited KingdomAsiya Javayant PROPOSAL
Izzy S NickaCanadaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel P IturbideGermany2025-07-29Chapman, Ross E Esq QUALIFIED58Elwin Sharvill
1001Ivar A ButtGermany2025-07-23Morlong Associates NEGOTIATION2Ioni Bowcher
1002Aika L MorascaJapan2025-08-08Commercial Press UNQUALIFIED92Amy Elsner
1003Jeanfrancois Z PoquetteFrance2025-08-14Feltz Printing Service NEW29Ioni Bowcher
1004Claire N NestleArgentina2025-08-18Rousseaux, Michael Esq NEW78Bernardo Dominic
1005Rodrigues Q GauchoIndia2025-08-10Dorl, James J Esq NEGOTIATION40Stephen Shaw
1006Leja X IturbideArgentina2025-07-22Commercial Press UNQUALIFIED95Anna Fali
1007Wickens C MaletBrazil2025-08-17Chapman, Ross E Esq QUALIFIED70Ioni Bowcher
1008Aruna X MarrierBrazil2025-08-14Truhlar And Truhlar Attys QUALIFIED20Asiya Javayant
1009Misaki M KuskoIndia2025-07-29Rousseaux, Michael Esq QUALIFIED4Amy Elsner
1010David M InouyeUnited Kingdom2025-08-03Benton, John B Jr NEGOTIATION62Ivan Magalhaes
1011Francesco X RoysterAustralia2025-07-23Benton, John B Jr QUALIFIED92Onyama Limba
1012Wickens M RimJapan2025-07-21Feiner Bros UNQUALIFIED94Ivan Magalhaes
1013Rodrigues F AmigonAustralia2025-07-21Benton, John B Jr PROPOSAL19Onyama Limba
1014Johnson T DarakjyGermany2025-08-16Benton, John B Jr NEW50Bernardo Dominic
1015Chavez U RulapaughIndia2025-08-15Benton, John B Jr NEGOTIATION86Elwin Sharvill
1016Greenwood P RimAustralia2025-08-13Feiner Bros QUALIFIED13Amy Elsner
1017Aika X MarrierGermany2025-08-16Chemel, James L Cpa QUALIFIED31Anna Fali
1018Juan Y GlickFrance2025-08-14Chapman, Ross E Esq UNQUALIFIED81Asiya Javayant
1019Isabel O FerenczJapan2025-08-12Chemel, James L Cpa NEW92Ivan Magalhaes
1020Juan D BologniaIndia2025-08-03Chemel, James L Cpa RENEWAL97Stephen Shaw
1021Jeanfrancois E ShinkoArgentina2025-08-13Chemel, James L Cpa NEGOTIATION52Amy Elsner
1022Ashley K PoquetteAustralia2025-08-03Feltz Printing Service UNQUALIFIED79Xuxue Feng
1023Kadeem D DarakjyGermany2025-08-08Chemel, James L Cpa NEW82Anna Fali
1024Silvio N RulapaughSpain2025-08-12Truhlar And Truhlar Attys NEW33Elwin Sharvill
1025Ashley Z DarakjyGermany2025-08-16Buckley Miller Wright PROPOSAL37Anna Fali
1026Morrow I FigeroaFrance2025-07-27Chemel, James L Cpa PROPOSAL80Xuxue Feng
1027Deepesh R DarakjyFrance2025-07-29Printing Dimensions NEW99Anna Fali
1028Greenwood R WaycottJapan2025-08-02Commercial Press QUALIFIED65Xuxue Feng
1029Leja O WaycottItaly2025-08-17Printing Dimensions UNQUALIFIED45Elwin Sharvill
1030Leon A BologniaRussia2025-08-05King, Christopher A Esq RENEWAL51Onyama Limba
1031Octavia K SergiBrazil2025-08-03Rangoni Of Florence RENEWAL91Onyama Limba
1032Sinclair A PerinGermany2025-08-14Rousseaux, Michael Esq NEGOTIATION69Amy Elsner
1033Stacey P MaletFrance2025-07-30Rangoni Of Florence NEW67Anna Fali
1034Munro B CaudyBrazil2025-08-02Printing Dimensions NEGOTIATION22Asiya Javayant
1035Leon Q MarrierCanada2025-07-26King, Christopher A Esq QUALIFIED58Stephen Shaw
1036Munro M NestleRussia2025-08-10Feltz Printing Service QUALIFIED25Onyama Limba
1037Johnson K RutaIndia2025-07-22Chanay, Jeffrey A Esq NEW74Elwin Sharvill
1038Mujtaba D InouyeSpain2025-08-16Benton, John B Jr NEW60Asiya Javayant
1039Adams G FigeroaJapan2025-08-05Benton, John B Jr NEGOTIATION62Asiya Javayant
1040Chavez W DilliardCanada2025-08-09Buckley Miller Wright NEGOTIATION22Amy Elsner
1041Tony U StockhamJapan2025-07-29Feltz Printing Service PROPOSAL1Bernardo Dominic
1042Kadeem P RoysterUnited Kingdom2025-07-21King, Christopher A Esq RENEWAL8Amy Elsner
1043Mayumi L MacleadCanada2025-08-13Feltz Printing Service NEGOTIATION8Amy Elsner
1044Costa J CampainBrazil2025-08-02Chanay, Jeffrey A Esq NEW17Ioni Bowcher
1045Adams K TollnerBrazil2025-08-17Rangoni Of Florence NEW48Stephen Shaw
1046Jennifer G FollerItaly2025-08-15Benton, John B Jr RENEWAL33Ivan Magalhaes
1047David Y VocelkaIndia2025-07-26Chemel, James L Cpa NEW68Xuxue Feng
1048Ricardo U DarakjyIndia2025-08-16Feltz Printing Service RENEWAL89Ioni Bowcher
1049Greenwood E FollerBrazil2025-07-22Morlong Associates NEGOTIATION52Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Francesco X PerinSpainElwin Sharvill RENEWAL
Antonio Q GillianAustraliaStephen Shaw RENEWAL
Rodrigues W WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Izzy P OldroydCanadaBernardo Dominic NEW
David S CaudyGermanyOnyama Limba RENEWAL
Misaki E SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Kadeem G OldroydArgentinaXuxue Feng NEW
Munro J FerenczItalyXuxue Feng PROPOSAL
Stacey H SchemmerIndiaIoni Bowcher RENEWAL
Jefferson O FerenczSpainStephen Shaw NEW
Faith V PoquetteRussiaIoni Bowcher NEGOTIATION
Francesco U SergiUnited KingdomAsiya Javayant PROPOSAL
Tony N DoeCanadaOnyama Limba PROPOSAL
Costa K SaylorsArgentinaOnyama Limba UNQUALIFIED
Emily A SlusarskiGermanyAsiya Javayant QUALIFIED
Nicolas C MacleadCanadaXuxue Feng RENEWAL
Morrow I WaycottBrazilElwin Sharvill PROPOSAL
Wickens Y PerinBrazilAmy Elsner NEW
Leon L DarakjyJapanIoni Bowcher UNQUALIFIED
Julie D BriddickGermanyAmy Elsner RENEWAL
Alejandro Z RoysterIndiaAnna Fali PROPOSAL
Aika Y StensethArgentinaOnyama Limba RENEWAL
Claire F IturbideArgentinaStephen Shaw UNQUALIFIED
Izzy B FigeroaBrazilStephen Shaw PROPOSAL
Silvio K RulapaughFranceAsiya Javayant PROPOSAL
Salvatore A StensethJapanBernardo Dominic NEW
Faith D GarufiJapanAsiya Javayant QUALIFIED
Emily N ShinkoSpainStephen Shaw QUALIFIED
Jefferson C RimSpainAnna Fali QUALIFIED
Darci J AlbaresRussiaAsiya Javayant QUALIFIED
Chavez S DarakjyCanadaBernardo Dominic QUALIFIED
Greenwood Z FerenczJapanAmy Elsner RENEWAL
Jefferson D MaletAustraliaAsiya Javayant PROPOSAL
Ivar P CampainAustraliaIvan Magalhaes QUALIFIED
Rodrigues U MacleadItalyElwin Sharvill NEW
Costa W StensethAustraliaElwin Sharvill RENEWAL
Aika X DoeUnited KingdomAnna Fali RENEWAL
Mujtaba P OldroydFranceIvan Magalhaes PROPOSAL
Julie B FollerFranceAsiya Javayant NEGOTIATION
Isabel G FigeroaIndiaBernardo Dominic PROPOSAL
Darci C DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Darci V KuskoItalyOnyama Limba UNQUALIFIED
Maisha X FerenczSpainIoni Bowcher NEGOTIATION
Jennifer C PoquetteCanadaIvan Magalhaes RENEWAL
Juan P TollnerUnited KingdomIvan Magalhaes NEGOTIATION
Ivar C VocelkaCanadaAsiya Javayant PROPOSAL
Jefferson Y CaudyBrazilAnna Fali PROPOSAL
Jones B MaletGermanyAnna Fali QUALIFIED
Maria B DilliardFranceBernardo Dominic NEW
Maria I VocelkaRussiaXuxue Feng RENEWAL
Frozen Columns
Name
Claire X Marrier
Leja X Paprocki
Costa O Stockham
Ivar M Gaucho
Maria H Rulapaugh
Julie T Sergi
Johnson B Gaucho
Sinclair Y Caudy
Claire P Kolmetz
James Q Campain
Ricardo V Briddick
Smith N Briddick
Aika R Amigon
Kadeem S Poquette
Jennifer B Nestle
Johnson N Royster
Misaki H Perin
Juan G Bowley
Clifford U Glick
Jones I Paprocki
Jennifer O Malet
Emily C Saylors
Leon K Albares
Murillo P Briddick
Ivar A Ostrosky
Deepesh N Inouye
Salvatore U Chui
Nicolas G Dilliard
Deepesh S Stenseth
James H Ruta
James A Royster
Leon P Bowley
Isabel X Campain
Aika A Tollner
Mujtaba W Inouye
Claire R Briddick
Misaki Y Bolognia
Smith K Oldroyd
Deepesh W Perin
Emily Y Oldroyd
Ivar Z Briddick
David Z Waycott
Faith J Ruta
Emily N Butt
Emily R Bolognia
Mujtaba L Foller
Sinclair F Vocelka
Clifford U Caudy
Mayumi K Rulapaugh
Francesco N Foller
IdCountryDate
1000Germany2025-08-08
1001France2025-07-28
1002Spain2025-08-10
1003United Kingdom2025-07-28
1004Italy2025-08-12
1005Canada2025-08-19
1006Australia2025-08-12
1007Russia2025-08-15
1008France2025-08-07
1009Italy2025-08-05
1010France2025-07-25
1011Germany2025-07-21
1012Argentina2025-08-10
1013Germany2025-08-16
1014United Kingdom2025-07-28
1015Russia2025-07-26
1016Russia2025-07-24
1017Brazil2025-08-04
1018India2025-08-15
1019United Kingdom2025-07-30
1020Brazil2025-07-22
1021Australia2025-08-12
1022Spain2025-08-16
1023Spain2025-07-29
1024Japan2025-08-08
1025Argentina2025-07-31
1026Germany2025-08-18
1027Canada2025-08-01
1028Russia2025-07-28
1029Australia2025-08-14
1030India2025-07-21
1031Spain2025-08-04
1032France2025-07-25
1033France2025-08-04
1034India2025-08-17
1035United Kingdom2025-07-27
1036France2025-08-04
1037Germany2025-07-26
1038United Kingdom2025-08-03
1039Brazil2025-07-26
1040Italy2025-08-07
1041Germany2025-08-19
1042Canada2025-07-23
1043Brazil2025-07-21
1044Spain2025-08-14
1045India2025-08-15
1046Spain2025-08-08
1047Japan2025-07-28
1048United Kingdom2025-08-12
1049Italy2025-07-21

On-Demand Data

NameIdCountryDate
Aditya U Saylors1000Russia2025-07-26
Deepesh Z Butt1001Japan2025-07-21
Jennifer L Rim1002Argentina2025-08-14
Julie K Rulapaugh1003Italy2025-07-26
Kaitlin Q Caudy1004Argentina2025-07-27
Stacey E Ostrosky1005Italy2025-08-13
James G Kolmetz1006Japan2025-07-22
Darci X Poquette1007Australia2025-08-08
Ivar V Morasca1008Australia2025-08-04
Silvio T Rulapaugh1009Australia2025-07-26
Clifford H Bolognia1010Australia2025-08-15
Julie C Garufi1011Argentina2025-08-16
Kadeem B Paprocki1012Brazil2025-08-03
Ashley I Amigon1013Australia2025-07-27
Juan X Poquette1014United Kingdom2025-08-03
Rodrigues S Morasca1015Argentina2025-07-29
Misaki R Doe1016France2025-08-07
Jennifer R Marrier1017Argentina2025-08-08
Cody G Caudy1018Germany2025-08-06
Rodrigues F Gaucho1019Canada2025-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood Y BriddickAustraliaBernardo Dominic NEGOTIATION
Jones S DilliardJapanXuxue Feng NEGOTIATION
Jones T ChuiJapanAsiya Javayant UNQUALIFIED
Isabel B BowleyAustraliaAmy Elsner NEW
Jennifer N SaylorsAustraliaXuxue Feng UNQUALIFIED
Darci H SlusarskiIndiaAsiya Javayant QUALIFIED
Claire Q KuskoUnited KingdomBernardo Dominic NEGOTIATION
James L RutaJapanOnyama Limba PROPOSAL
Leja W DarakjyGermanyIoni Bowcher NEGOTIATION
Maria B CampainJapanXuxue Feng PROPOSAL
Smith Y FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow K GauchoItalyXuxue Feng UNQUALIFIED
Nicolas Y CaldareraJapanIvan Magalhaes QUALIFIED
Alejandro Y ButtRussiaElwin Sharvill UNQUALIFIED
Tony T FlosiAustraliaIvan Magalhaes NEGOTIATION
Maisha M VocelkaSpainXuxue Feng NEGOTIATION
Jeanfrancois F IturbideBrazilAsiya Javayant QUALIFIED
Smith N AmigonArgentinaAnna Fali PROPOSAL
Isabel E SlusarskiItalyStephen Shaw NEW
Darci S SchemmerAustraliaIoni Bowcher PROPOSAL
Silvio I ShinkoUnited KingdomOnyama Limba QUALIFIED
Deepesh A CaldareraBrazilStephen Shaw UNQUALIFIED
Julie M AlbaresJapanIoni Bowcher PROPOSAL
Clifford N BologniaCanadaXuxue Feng PROPOSAL
Misaki T StensethFranceStephen Shaw PROPOSAL
Aditya J DoeCanadaXuxue Feng PROPOSAL
Antonio B MaletCanadaOnyama Limba UNQUALIFIED
Leon U GlickItalyAmy Elsner PROPOSAL
James R CaldareraGermanyElwin Sharvill PROPOSAL
David K RulapaughGermanyElwin Sharvill UNQUALIFIED
Izzy C DoeGermanyOnyama Limba PROPOSAL
Darci B DilliardUnited KingdomElwin Sharvill QUALIFIED
Ricardo C GarufiJapanIvan Magalhaes UNQUALIFIED
Maria A BriddickSpainAnna Fali PROPOSAL
Greenwood I GillianArgentinaStephen Shaw NEGOTIATION
Morrow T OstroskyIndiaIoni Bowcher UNQUALIFIED
Chavez D BriddickUnited KingdomIvan Magalhaes NEW
Kaitlin A RimSpainIvan Magalhaes NEGOTIATION
Munro F SchemmerBrazilAnna Fali NEW
Aditya O FerenczFranceElwin Sharvill 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>