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
Wickens F SchemmerIndiaStephen Shaw NEGOTIATION
Greenwood M AlbaresArgentinaAmy Elsner NEGOTIATION
Kaitlin X DoeSpainBernardo Dominic PROPOSAL
Ricardo Q CampainUnited KingdomAnna Fali PROPOSAL
Stacey X GillianArgentinaBernardo Dominic PROPOSAL
Mayumi S CaudyItalyIvan Magalhaes NEW
Alejandro J PoquetteArgentinaXuxue Feng NEGOTIATION
Alejandro H FollerUnited KingdomAnna Fali NEW
Stacey Q DilliardIndiaIvan Magalhaes RENEWAL
Arvin U BologniaRussiaAmy Elsner UNQUALIFIED
Darci E NickaSpainStephen Shaw RENEWAL
Costa T SaylorsArgentinaAsiya Javayant NEGOTIATION
Tony T IturbideArgentinaAmy Elsner RENEWAL
Isabel K FlosiGermanyBernardo Dominic NEGOTIATION
Darci N ButtUnited KingdomOnyama Limba NEW
Maisha E RoysterCanadaElwin Sharvill UNQUALIFIED
Nicolas U SlusarskiSpainOnyama Limba UNQUALIFIED
Leja T WhobreyArgentinaAsiya Javayant NEW
Aruna D GauchoCanadaElwin Sharvill RENEWAL
Emily I MacleadCanadaAmy Elsner NEGOTIATION
Cody A WaycottAustraliaXuxue Feng UNQUALIFIED
Jones A GauchoAustraliaIoni Bowcher RENEWAL
Sinclair U FlosiGermanyIoni Bowcher RENEWAL
Smith P ChuiJapanAmy Elsner NEW
Jennifer Z WaycottSpainAsiya Javayant NEW
Claire T StockhamGermanyElwin Sharvill RENEWAL
Wickens M VenereItalyOnyama Limba UNQUALIFIED
Salvatore D OstroskyIndiaXuxue Feng NEGOTIATION
Chavez L MorascaRussiaOnyama Limba PROPOSAL
Leon O KuskoArgentinaIoni Bowcher UNQUALIFIED
Jennifer P ButtRussiaBernardo Dominic NEW
Leja V AmigonArgentinaAnna Fali QUALIFIED
Ashley T SlusarskiSpainIoni Bowcher RENEWAL
Chavez R RulapaughCanadaIoni Bowcher QUALIFIED
Salvatore I MaletItalyAnna Fali NEW
Leja T MarrierIndiaAmy Elsner QUALIFIED
Ashley L RutaBrazilElwin Sharvill NEW
Ashley K DoeFranceElwin Sharvill UNQUALIFIED
Chavez A AmigonArgentinaStephen Shaw UNQUALIFIED
Salvatore V StensethAustraliaAmy Elsner PROPOSAL
Isabel N RutaItalyXuxue Feng QUALIFIED
Maisha Q GlickItalyAnna Fali NEW
Aditya F PerinFranceXuxue Feng PROPOSAL
Chavez P WieserUnited KingdomIvan Magalhaes QUALIFIED
Faith E PerinGermanyBernardo Dominic QUALIFIED
Stacey Q DoeJapanXuxue Feng NEW
Misaki Z RutaFranceIvan Magalhaes NEW
Claire U AlbaresRussiaIvan Magalhaes UNQUALIFIED
Ricardo I FollerRussiaAsiya Javayant PROPOSAL
Alejandro S VenereGermanyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem P GlickUnited KingdomAnna Fali RENEWAL
David O MaletIndiaXuxue Feng QUALIFIED
Munro H RulapaughBrazilOnyama Limba NEGOTIATION
Munro W IturbideArgentinaXuxue Feng RENEWAL
Costa D ButtCanadaOnyama Limba NEW
Morrow A MarrierIndiaStephen Shaw NEGOTIATION
Johnson E GlickUnited KingdomAmy Elsner UNQUALIFIED
Octavia C CaudyJapanAsiya Javayant QUALIFIED
Aditya J BologniaSpainIoni Bowcher QUALIFIED
Johnson M RimBrazilOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez F WaycottItaly2025-08-30Chapman, Ross E Esq UNQUALIFIED30Stephen Shaw
1001Arvin I FollerSpain2025-09-20Truhlar And Truhlar Attys NEW72Elwin Sharvill
1002Johnson O MaletIndia2025-08-24Commercial Press NEGOTIATION57Elwin Sharvill
1003Stacey B FigeroaFrance2025-09-11Benton, John B Jr PROPOSAL73Ioni Bowcher
1004Juan B AmigonIndia2025-08-24Buckley Miller Wright NEW31Ioni Bowcher
1005Kaitlin G FollerFrance2025-09-14Commercial Press RENEWAL59Stephen Shaw
1006Emily D StockhamAustralia2025-09-04Commercial Press RENEWAL72Anna Fali
1007Antonio K SchemmerRussia2025-09-12Chapman, Ross E Esq NEGOTIATION66Ioni Bowcher
1008Stacey D BowleyBrazil2025-09-03Chanay, Jeffrey A Esq QUALIFIED60Anna Fali
1009Francesco E GauchoJapan2025-09-02Chemel, James L Cpa QUALIFIED15Bernardo Dominic
1010Chavez J BriddickCanada2025-09-11Chapman, Ross E Esq UNQUALIFIED70Ivan Magalhaes
1011Greenwood H DilliardIndia2025-08-29Rangoni Of Florence RENEWAL87Stephen Shaw
1012Jefferson Q MorascaArgentina2025-09-07Commercial Press QUALIFIED18Asiya Javayant
1013Morrow W IturbideRussia2025-09-19Morlong Associates UNQUALIFIED7Onyama Limba
1014Jones Q RimSpain2025-08-27Chemel, James L Cpa NEGOTIATION65Ioni Bowcher
1015Leja C SchemmerIndia2025-09-20Rousseaux, Michael Esq RENEWAL99Ioni Bowcher
1016Costa M FerenczItaly2025-09-11Rousseaux, Michael Esq NEGOTIATION50Stephen Shaw
1017Greenwood I IturbideJapan2025-08-29Benton, John B Jr RENEWAL12Bernardo Dominic
1018Francesco Y KolmetzUnited Kingdom2025-09-22Feiner Bros UNQUALIFIED4Elwin Sharvill
1019Ashley U FlosiUnited Kingdom2025-09-11Chemel, James L Cpa NEGOTIATION98Anna Fali
1020Rodrigues D SlusarskiAustralia2025-09-20Chapman, Ross E Esq UNQUALIFIED51Asiya Javayant
1021Arvin Y FollerBrazil2025-09-13Chanay, Jeffrey A Esq PROPOSAL61Onyama Limba
1022Morrow O VenereCanada2025-09-03Buckley Miller Wright NEGOTIATION56Anna Fali
1023Costa J FollerRussia2025-08-27Chapman, Ross E Esq NEGOTIATION34Amy Elsner
1024Morrow N BowleyJapan2025-08-28Commercial Press UNQUALIFIED39Bernardo Dominic
1025Maisha F SergiSpain2025-09-22Rousseaux, Michael Esq QUALIFIED36Ivan Magalhaes
1026Silvio X OldroydBrazil2025-09-07Feltz Printing Service UNQUALIFIED14Ivan Magalhaes
1027Morrow S GauchoGermany2025-09-11Dorl, James J Esq NEW76Stephen Shaw
1028Alejandro V TollnerIndia2025-08-25Benton, John B Jr NEGOTIATION14Stephen Shaw
1029James U BowleyRussia2025-08-31Dorl, James J Esq NEGOTIATION21Elwin Sharvill
1030Sinclair O PaprockiCanada2025-09-08Chemel, James L Cpa RENEWAL2Xuxue Feng
1031Ricardo D BologniaSpain2025-09-01Chanay, Jeffrey A Esq NEW81Asiya Javayant
1032Claire N OldroydJapan2025-09-12Buckley Miller Wright NEW17Xuxue Feng
1033Greenwood W AlbaresCanada2025-08-24Benton, John B Jr PROPOSAL53Ivan Magalhaes
1034Mayumi P FlosiSpain2025-09-02Chemel, James L Cpa RENEWAL70Bernardo Dominic
1035Salvatore D AmigonBrazil2025-08-27Dorl, James J Esq RENEWAL87Ivan Magalhaes
1036Aika O DilliardCanada2025-08-27Feltz Printing Service QUALIFIED1Asiya Javayant
1037Smith D AlbaresBrazil2025-09-07Commercial Press UNQUALIFIED79Elwin Sharvill
1038Jefferson D WhobreyItaly2025-09-08Dorl, James J Esq NEW43Xuxue Feng
1039Aika Y InouyeBrazil2025-08-24Rousseaux, Michael Esq NEW75Asiya Javayant
1040Francesco H BowleyAustralia2025-09-21Feiner Bros RENEWAL74Bernardo Dominic
1041Alejandro A KolmetzGermany2025-09-16Feltz Printing Service RENEWAL90Ioni Bowcher
1042Emily Y PoquetteCanada2025-09-12King, Christopher A Esq NEGOTIATION84Elwin Sharvill
1043Rodrigues B PaprockiJapan2025-09-19Truhlar And Truhlar Attys NEGOTIATION72Bernardo Dominic
1044Jones E FigeroaSpain2025-08-27Truhlar And Truhlar Attys NEGOTIATION48Stephen Shaw
1045Greenwood Q NickaGermany2025-09-12Morlong Associates NEGOTIATION33Anna Fali
1046Clifford I WaycottJapan2025-08-29Rangoni Of Florence NEW19Onyama Limba
1047Leja L SergiFrance2025-09-07Printing Dimensions QUALIFIED28Amy Elsner
1048James R OldroydUnited Kingdom2025-09-19Buckley Miller Wright NEGOTIATION33Stephen Shaw
1049Antonio N RulapaughGermany2025-09-20Dorl, James J Esq NEGOTIATION74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro T OstroskyRussiaStephen Shaw RENEWAL
Deepesh S WhobreyAustraliaXuxue Feng PROPOSAL
Emily Y AlbaresRussiaOnyama Limba NEW
Juan Q DilliardCanadaOnyama Limba QUALIFIED
Mujtaba G OldroydSpainStephen Shaw PROPOSAL
Antonio W VenereIndiaAsiya Javayant PROPOSAL
Costa W BowleyBrazilXuxue Feng QUALIFIED
David K DilliardSpainOnyama Limba NEGOTIATION
Morrow I MaletIndiaElwin Sharvill RENEWAL
Wickens Y MaletJapanIvan Magalhaes RENEWAL
Leon E CaldareraItalyElwin Sharvill QUALIFIED
Leja L DarakjyIndiaAnna Fali NEW
Murillo L WhobreyFranceAsiya Javayant PROPOSAL
Jennifer Q MarrierArgentinaIvan Magalhaes RENEWAL
Leja L MorascaRussiaXuxue Feng QUALIFIED
Cody S SaylorsRussiaStephen Shaw RENEWAL
Jeanfrancois X GillianUnited KingdomIoni Bowcher PROPOSAL
Antonio C BriddickJapanOnyama Limba PROPOSAL
Mayumi R IturbideArgentinaOnyama Limba RENEWAL
Munro R GillianBrazilOnyama Limba NEGOTIATION
Darci M RoysterIndiaAnna Fali PROPOSAL
Johnson P SaylorsJapanAnna Fali QUALIFIED
Jones J PerinJapanStephen Shaw NEW
Faith R MarrierRussiaAnna Fali NEGOTIATION
Johnson B RutaFranceStephen Shaw QUALIFIED
Jefferson Y StensethRussiaStephen Shaw NEW
Cody X AlbaresSpainIvan Magalhaes RENEWAL
Rodrigues J ButtUnited KingdomXuxue Feng QUALIFIED
Tony D KuskoItalyElwin Sharvill RENEWAL
Aditya S ChuiBrazilBernardo Dominic NEW
Salvatore Z MarrierAustraliaIoni Bowcher NEW
Mujtaba F KuskoCanadaAnna Fali NEW
Mayumi X FlosiSpainOnyama Limba RENEWAL
Tony O SergiIndiaBernardo Dominic NEW
Ashley F ChuiSpainOnyama Limba PROPOSAL
Cody R SlusarskiAustraliaAmy Elsner PROPOSAL
Munro J AmigonUnited KingdomAmy Elsner QUALIFIED
Maria S AlbaresFranceOnyama Limba RENEWAL
Leja E MaletUnited KingdomElwin Sharvill NEGOTIATION
Faith K BowleyAustraliaIoni Bowcher RENEWAL
Morrow S PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore T PerinAustraliaOnyama Limba RENEWAL
Emily L SlusarskiIndiaIoni Bowcher PROPOSAL
Darci A BriddickRussiaIoni Bowcher QUALIFIED
Chavez A BowleyArgentinaBernardo Dominic UNQUALIFIED
Mayumi A WhobreyItalyIoni Bowcher NEGOTIATION
Clifford U FerenczArgentinaAnna Fali PROPOSAL
Darci N GauchoBrazilBernardo Dominic UNQUALIFIED
Silvio J RoysterAustraliaIoni Bowcher RENEWAL
Murillo Z StockhamGermanyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Jennifer K Nicka
Ivar Y Gaucho
Tony N Maclead
Cody Z Nestle
Deepesh M Butt
Kadeem F Waycott
Emily F Vocelka
Sinclair N Kolmetz
Smith H Glick
Mujtaba O Poquette
Wickens X Rim
Jeanfrancois O Venere
Tony P Malet
Misaki N Malet
Arvin Y Gillian
Nicolas D Oldroyd
Jefferson O Campain
James K Ruta
Wickens C Gillian
Jennifer M Glick
Wickens U Garufi
Aditya I Dilliard
Wickens H Schemmer
Aruna D Paprocki
Kaitlin T Foller
Kadeem A Ostrosky
Jeanfrancois M Gaucho
Costa P Dilliard
Jeanfrancois Q Vocelka
Aruna P Marrier
Aruna P Royster
Smith F Albares
Julie K Glick
Jefferson S Butt
Tony E Caldarera
Greenwood F Tollner
Nicolas F Wieser
Maisha V Morasca
Greenwood E Iturbide
Clifford Q Darakjy
Faith O Inouye
Izzy D Vocelka
Tony P Royster
Octavia M Morasca
Smith E Foller
Leon M Caudy
Antonio K Doe
Jeanfrancois L Morasca
Izzy B Campain
Emily C Sergi
IdCountryDate
1000Germany2025-08-25
1001France2025-08-29
1002Germany2025-09-09
1003Australia2025-08-27
1004Argentina2025-09-01
1005Australia2025-08-30
1006Italy2025-09-10
1007India2025-09-19
1008Brazil2025-09-07
1009France2025-09-22
1010United Kingdom2025-09-02
1011Canada2025-09-01
1012Brazil2025-08-24
1013Argentina2025-08-25
1014Japan2025-08-28
1015United Kingdom2025-08-24
1016Germany2025-08-25
1017Italy2025-08-30
1018United Kingdom2025-09-05
1019Argentina2025-09-07
1020France2025-09-21
1021Italy2025-09-14
1022Russia2025-09-09
1023Italy2025-09-13
1024United Kingdom2025-09-15
1025Argentina2025-09-20
1026Australia2025-09-03
1027India2025-08-30
1028Japan2025-09-05
1029Japan2025-08-31
1030Australia2025-08-24
1031India2025-09-05
1032United Kingdom2025-09-01
1033Russia2025-09-22
1034Brazil2025-09-02
1035India2025-09-12
1036Russia2025-08-28
1037Germany2025-09-08
1038India2025-08-29
1039Brazil2025-08-28
1040Germany2025-09-05
1041Russia2025-09-02
1042United Kingdom2025-09-16
1043Japan2025-08-29
1044Germany2025-08-30
1045Italy2025-09-06
1046Italy2025-09-18
1047Germany2025-09-06
1048United Kingdom2025-09-20
1049Brazil2025-08-30

On-Demand Data

NameIdCountryDate
Leja C Figeroa1000Italy2025-09-13
Munro B Flosi1001Argentina2025-09-02
Cody J Morasca1002Australia2025-09-11
Stacey G Shinko1003Italy2025-09-02
Rodrigues S Stenseth1004Argentina2025-08-24
Silvio A Marrier1005Brazil2025-09-18
Jeanfrancois F Doe1006Brazil2025-09-05
Emily T Ostrosky1007Russia2025-09-06
Stacey E Malet1008Brazil2025-09-13
Johnson H Tollner1009Italy2025-09-15
Murillo E Maclead1010Germany2025-09-16
Chavez B Kusko1011France2025-09-22
Juan N Rim1012Australia2025-09-17
Sinclair L Kolmetz1013Russia2025-09-06
Cody J Ferencz1014Argentina2025-09-07
Jones S Oldroyd1015Germany2025-09-12
Morrow V Oldroyd1016Argentina2025-09-19
Ashley L Rulapaugh1017Germany2025-09-19
Izzy S Dilliard1018Italy2025-09-12
Ricardo D Tollner1019Japan2025-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Z RimBrazilAmy Elsner QUALIFIED
David A CaudySpainStephen Shaw QUALIFIED
Maisha K PaprockiBrazilXuxue Feng QUALIFIED
Izzy T BriddickArgentinaAmy Elsner NEW
Ivar A MorascaArgentinaOnyama Limba QUALIFIED
Tony U VenereItalyOnyama Limba RENEWAL
Ashley A FerenczItalyIoni Bowcher UNQUALIFIED
Juan J MaletGermanyXuxue Feng RENEWAL
Greenwood K CaldareraGermanyIvan Magalhaes QUALIFIED
Arvin G NestleJapanAnna Fali PROPOSAL
Emily Q GauchoRussiaOnyama Limba UNQUALIFIED
Ricardo D RimIndiaStephen Shaw UNQUALIFIED
Emily Y BriddickGermanyBernardo Dominic QUALIFIED
Julie D GarufiAustraliaBernardo Dominic NEW
Silvio O CaldareraGermanyAnna Fali RENEWAL
Juan T SlusarskiRussiaElwin Sharvill PROPOSAL
Deepesh N InouyeRussiaIoni Bowcher RENEWAL
Leon A WhobreyBrazilAnna Fali QUALIFIED
Maisha G ButtRussiaStephen Shaw UNQUALIFIED
Antonio P PerinUnited KingdomAnna Fali QUALIFIED
Greenwood W RutaRussiaStephen Shaw RENEWAL
Darci L FlosiBrazilAmy Elsner UNQUALIFIED
Alejandro F AmigonArgentinaOnyama Limba PROPOSAL
Deepesh C SlusarskiBrazilOnyama Limba RENEWAL
Francesco W SchemmerSpainAmy Elsner QUALIFIED
Aika G PaprockiBrazilStephen Shaw PROPOSAL
Arvin N FlosiIndiaAnna Fali NEW
Aika W InouyeJapanStephen Shaw QUALIFIED
James X ShinkoFranceElwin Sharvill UNQUALIFIED
Costa U PerinFranceAsiya Javayant NEW
Jones D CampainIndiaAsiya Javayant QUALIFIED
Stacey J AmigonAustraliaAnna Fali NEW
Antonio B WieserUnited KingdomIvan Magalhaes QUALIFIED
Clifford V FlosiCanadaStephen Shaw PROPOSAL
Ricardo S WaycottJapanBernardo Dominic UNQUALIFIED
Ashley Q FollerCanadaAsiya Javayant PROPOSAL
Julie B AmigonJapanElwin Sharvill QUALIFIED
Mayumi Z WhobreySpainIoni Bowcher NEW
Salvatore S FerenczUnited KingdomBernardo Dominic QUALIFIED
Stacey L BowleyAustraliaIoni Bowcher NEGOTIATION

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