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
Silvio X KuskoCanadaStephen Shaw NEGOTIATION
Ashley J KolmetzFranceAmy Elsner RENEWAL
Ricardo V KuskoAustraliaIoni Bowcher NEW
Emily Q SlusarskiAustraliaAmy Elsner RENEWAL
Kaitlin Y RutaFranceIoni Bowcher UNQUALIFIED
Mujtaba G ShinkoIndiaAsiya Javayant NEW
Wickens J MaletSpainOnyama Limba UNQUALIFIED
Alejandro U DilliardIndiaOnyama Limba NEW
Clifford W KolmetzAustraliaAnna Fali NEW
Greenwood X RimArgentinaIvan Magalhaes RENEWAL
Mujtaba U FigeroaCanadaIvan Magalhaes QUALIFIED
Faith Y FlosiBrazilAnna Fali NEW
Jeanfrancois V GarufiArgentinaAsiya Javayant QUALIFIED
Alejandro H RimJapanBernardo Dominic QUALIFIED
Ricardo A NickaJapanIoni Bowcher NEW
Mayumi T GarufiJapanBernardo Dominic PROPOSAL
Johnson R NestleCanadaAsiya Javayant UNQUALIFIED
Octavia H AmigonSpainOnyama Limba PROPOSAL
Octavia I FlosiAustraliaAmy Elsner NEW
Munro J StensethIndiaElwin Sharvill RENEWAL
Aika R RutaFranceAmy Elsner PROPOSAL
Jones D GauchoSpainXuxue Feng UNQUALIFIED
Jones T NickaFranceIvan Magalhaes NEW
Isabel B GillianUnited KingdomAmy Elsner QUALIFIED
Costa C ButtJapanStephen Shaw RENEWAL
Chavez F BologniaAustraliaBernardo Dominic UNQUALIFIED
Sinclair X WaycottFranceAsiya Javayant PROPOSAL
Rodrigues J DarakjyBrazilIoni Bowcher RENEWAL
Octavia N WieserRussiaIoni Bowcher UNQUALIFIED
Smith X MaletIndiaIoni Bowcher QUALIFIED
Izzy W MacleadBrazilIoni Bowcher RENEWAL
Mujtaba J PaprockiJapanAmy Elsner RENEWAL
Costa P WaycottJapanXuxue Feng UNQUALIFIED
Greenwood D RoysterUnited KingdomStephen Shaw PROPOSAL
Murillo F FlosiUnited KingdomOnyama Limba PROPOSAL
Jennifer W CaudyBrazilOnyama Limba NEW
Jones K FollerRussiaXuxue Feng PROPOSAL
Ashley M PerinFranceIoni Bowcher QUALIFIED
Izzy T NestleArgentinaAnna Fali UNQUALIFIED
Salvatore U FollerSpainXuxue Feng NEW
Cody J GlickCanadaIvan Magalhaes PROPOSAL
Isabel L RutaAustraliaAnna Fali NEGOTIATION
Isabel J ButtSpainAmy Elsner PROPOSAL
Aditya Y WaycottGermanyStephen Shaw UNQUALIFIED
Alejandro N OstroskySpainAsiya Javayant UNQUALIFIED
Jones G VenereAustraliaAmy Elsner PROPOSAL
Isabel T FigeroaItalyOnyama Limba PROPOSAL
Salvatore R KolmetzArgentinaElwin Sharvill RENEWAL
Sinclair K FigeroaCanadaXuxue Feng NEW
Munro V AmigonGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody K GarufiAustraliaStephen Shaw RENEWAL
Isabel T MorascaIndiaBernardo Dominic NEGOTIATION
Murillo G OldroydAustraliaOnyama Limba QUALIFIED
Faith N MarrierIndiaStephen Shaw UNQUALIFIED
David N CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Leon F BowleySpainAnna Fali QUALIFIED
Costa B InouyeItalyOnyama Limba PROPOSAL
Claire Y WaycottSpainXuxue Feng NEGOTIATION
Alejandro I AmigonFranceIoni Bowcher NEGOTIATION
Alejandro T RulapaughGermanyElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro H StensethUnited Kingdom2025-09-06Feltz Printing Service NEW97Ioni Bowcher
1001Ricardo I CaudyFrance2025-09-19King, Christopher A Esq UNQUALIFIED81Bernardo Dominic
1002Faith T MarrierItaly2025-09-24Chapman, Ross E Esq NEW16Ioni Bowcher
1003Isabel I RimGermany2025-09-03King, Christopher A Esq QUALIFIED58Bernardo Dominic
1004Alejandro U WhobreyIndia2025-09-30Buckley Miller Wright RENEWAL2Stephen Shaw
1005Murillo H PerinSpain2025-09-17Morlong Associates UNQUALIFIED98Ivan Magalhaes
1006Mayumi U MorascaFrance2025-09-11Rangoni Of Florence UNQUALIFIED34Bernardo Dominic
1007Izzy Z TollnerItaly2025-09-30Feiner Bros QUALIFIED76Xuxue Feng
1008Salvatore B PoquetteGermany2025-09-13Chapman, Ross E Esq NEGOTIATION37Ivan Magalhaes
1009Sinclair G DilliardJapan2025-09-20Feiner Bros UNQUALIFIED43Asiya Javayant
1010Darci W FerenczSpain2025-09-23Dorl, James J Esq PROPOSAL44Amy Elsner
1011Ashley L MorascaCanada2025-09-02Commercial Press NEW43Amy Elsner
1012Mujtaba R GlickUnited Kingdom2025-09-24Dorl, James J Esq PROPOSAL86Bernardo Dominic
1013Salvatore B BologniaIndia2025-09-06Feltz Printing Service PROPOSAL97Stephen Shaw
1014Aika P OldroydSpain2025-09-15Feltz Printing Service NEGOTIATION21Asiya Javayant
1015Salvatore N BowleySpain2025-09-10Feiner Bros NEGOTIATION2Asiya Javayant
1016Juan J WieserCanada2025-09-30Chapman, Ross E Esq PROPOSAL78Ioni Bowcher
1017Smith C BologniaAustralia2025-09-14Feiner Bros RENEWAL95Stephen Shaw
1018Morrow N MarrierBrazil2025-09-12Printing Dimensions RENEWAL5Xuxue Feng
1019Jefferson I DilliardJapan2025-09-19Printing Dimensions NEW88Xuxue Feng
1020Stacey G BowleyIndia2025-09-15Printing Dimensions QUALIFIED87Anna Fali
1021Octavia V FerenczGermany2025-09-04Benton, John B Jr PROPOSAL18Asiya Javayant
1022Munro H PoquetteArgentina2025-09-29Rousseaux, Michael Esq QUALIFIED0Stephen Shaw
1023Stacey H RimIndia2025-09-09Rousseaux, Michael Esq NEGOTIATION67Onyama Limba
1024Johnson K SchemmerUnited Kingdom2025-09-02Chemel, James L Cpa NEGOTIATION35Elwin Sharvill
1025Wickens A BologniaFrance2025-09-30Chapman, Ross E Esq UNQUALIFIED32Bernardo Dominic
1026Jefferson V SchemmerJapan2025-09-16Dorl, James J Esq NEGOTIATION11Elwin Sharvill
1027Arvin E BowleyCanada2025-09-17Rousseaux, Michael Esq NEGOTIATION39Bernardo Dominic
1028Aditya Z MorascaSpain2025-09-17Chanay, Jeffrey A Esq RENEWAL45Bernardo Dominic
1029Aruna T GarufiAustralia2025-09-20Chemel, James L Cpa QUALIFIED32Elwin Sharvill
1030Leja Y GlickArgentina2025-09-19Printing Dimensions UNQUALIFIED23Ivan Magalhaes
1031Antonio D VenereFrance2025-09-09King, Christopher A Esq PROPOSAL94Onyama Limba
1032Adams I BowleyRussia2025-09-29Feiner Bros QUALIFIED26Asiya Javayant
1033Francesco R RoysterArgentina2025-09-03Rousseaux, Michael Esq RENEWAL81Stephen Shaw
1034Nicolas F CampainCanada2025-09-20Rousseaux, Michael Esq QUALIFIED98Ioni Bowcher
1035Clifford P CampainJapan2025-09-21Feltz Printing Service RENEWAL32Ivan Magalhaes
1036Arvin W RoysterJapan2025-09-18Feltz Printing Service RENEWAL11Xuxue Feng
1037Arvin X CaldareraRussia2025-09-02Rangoni Of Florence NEGOTIATION13Elwin Sharvill
1038Claire P AmigonCanada2025-09-22Benton, John B Jr NEW79Amy Elsner
1039Costa R BowleyUnited Kingdom2025-09-19King, Christopher A Esq PROPOSAL43Ioni Bowcher
1040Francesco X ShinkoAustralia2025-09-06Printing Dimensions QUALIFIED48Stephen Shaw
1041Deepesh H RulapaughJapan2025-09-09Printing Dimensions PROPOSAL90Asiya Javayant
1042Chavez G FlosiJapan2025-09-13Benton, John B Jr QUALIFIED41Bernardo Dominic
1043Silvio K ShinkoArgentina2025-09-12Rangoni Of Florence RENEWAL44Ivan Magalhaes
1044Ashley Z FigeroaItaly2025-09-17Rangoni Of Florence RENEWAL54Stephen Shaw
1045Mayumi C FollerRussia2025-09-08Truhlar And Truhlar Attys RENEWAL7Anna Fali
1046Clifford S SergiCanada2025-09-26Rousseaux, Michael Esq QUALIFIED34Xuxue Feng
1047Emily Z BriddickJapan2025-09-02Benton, John B Jr RENEWAL64Amy Elsner
1048Claire H GarufiGermany2025-09-28Morlong Associates RENEWAL51Ioni Bowcher
1049James F TollnerBrazil2025-09-29Buckley Miller Wright NEGOTIATION69Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith S VocelkaFranceStephen Shaw NEGOTIATION
Silvio D WieserGermanyIvan Magalhaes PROPOSAL
Silvio R WieserCanadaIoni Bowcher RENEWAL
Alejandro P CaudySpainElwin Sharvill QUALIFIED
Adams S SergiUnited KingdomAsiya Javayant RENEWAL
Arvin X OstroskyJapanBernardo Dominic RENEWAL
Jeanfrancois C FlosiArgentinaOnyama Limba NEGOTIATION
Chavez P DilliardUnited KingdomAmy Elsner PROPOSAL
Aika O PaprockiSpainXuxue Feng NEW
Adams N MorascaGermanyAmy Elsner RENEWAL
Mujtaba K StockhamSpainElwin Sharvill QUALIFIED
Aruna Z GarufiJapanAmy Elsner NEGOTIATION
Ricardo H ButtRussiaXuxue Feng RENEWAL
Costa G PaprockiSpainOnyama Limba NEW
Alejandro V GlickGermanyAmy Elsner NEW
Rodrigues N FerenczAustraliaIoni Bowcher RENEWAL
Kaitlin O GillianUnited KingdomIoni Bowcher NEGOTIATION
Ashley M SergiRussiaIoni Bowcher NEGOTIATION
Faith G OstroskyGermanyBernardo Dominic NEGOTIATION
Antonio F OstroskyArgentinaAnna Fali QUALIFIED
Morrow R CaldareraUnited KingdomAsiya Javayant QUALIFIED
Jeanfrancois T ChuiArgentinaElwin Sharvill RENEWAL
Maria X RulapaughUnited KingdomIvan Magalhaes RENEWAL
Emily M StockhamRussiaAsiya Javayant PROPOSAL
Maria Y WhobreyUnited KingdomAnna Fali RENEWAL
Antonio R StockhamBrazilAnna Fali NEGOTIATION
Adams T MacleadJapanAsiya Javayant PROPOSAL
Jeanfrancois Y VenereUnited KingdomAnna Fali NEGOTIATION
Octavia T TollnerJapanAmy Elsner QUALIFIED
Darci V SlusarskiFranceStephen Shaw NEW
Salvatore F WieserAustraliaStephen Shaw NEW
Octavia J DarakjyAustraliaXuxue Feng NEGOTIATION
Emily R BriddickJapanIoni Bowcher UNQUALIFIED
James B NestleSpainAmy Elsner QUALIFIED
Ashley Z SlusarskiUnited KingdomElwin Sharvill NEW
Aruna O FlosiBrazilAsiya Javayant PROPOSAL
Jefferson P NestleCanadaIvan Magalhaes UNQUALIFIED
Antonio U DilliardGermanyElwin Sharvill PROPOSAL
Leja D DilliardCanadaAmy Elsner QUALIFIED
Deepesh W AmigonUnited KingdomAsiya Javayant NEGOTIATION
Isabel D MaletCanadaAmy Elsner QUALIFIED
Aruna M DilliardGermanyAmy Elsner NEGOTIATION
Julie X GarufiUnited KingdomBernardo Dominic PROPOSAL
Mayumi M PerinIndiaElwin Sharvill NEW
Morrow V BologniaJapanElwin Sharvill UNQUALIFIED
Deepesh P RulapaughJapanOnyama Limba NEGOTIATION
Faith A ChuiCanadaAmy Elsner NEGOTIATION
Rodrigues B KuskoSpainIoni Bowcher UNQUALIFIED
Kadeem Q MaletUnited KingdomAsiya Javayant NEW
Aditya Z BriddickArgentinaAmy Elsner RENEWAL
Frozen Columns
Name
Deepesh N Butt
Claire H Butt
Antonio Q Poquette
Deepesh A Ostrosky
Johnson Y Briddick
Ashley S Perin
Ricardo T Oldroyd
Juan L Kusko
James J Sergi
Octavia D Doe
Adams V Stockham
Costa I Glick
Misaki B Foller
Antonio X Ruta
Deepesh B Bowley
Leja R Royster
Claire X Ferencz
Tony O Malet
James B Bowley
Kadeem D Iturbide
Jones S Oldroyd
Silvio T Poquette
Tony Q Amigon
Sinclair T Garufi
Francesco N Foller
Leon V Bolognia
Alejandro P Glick
Smith M Chui
Alejandro V Maclead
Stacey M Perin
Faith E Rim
Ricardo N Vocelka
Faith N Bowley
Murillo Z Garufi
Ivar T Figeroa
Izzy J Caldarera
Misaki Q Kusko
Jones C Flosi
Darci M Glick
Juan K Whobrey
Aika C Foller
Ivar I Malet
Adams R Malet
Antonio O Caldarera
Jennifer F Kusko
Salvatore Q Doe
Arvin K Wieser
Johnson A Campain
Clifford K Royster
Murillo H Wieser
IdCountryDate
1000Italy2025-09-29
1001United Kingdom2025-09-29
1002Spain2025-10-01
1003Japan2025-09-11
1004France2025-09-24
1005United Kingdom2025-09-21
1006Brazil2025-09-11
1007Brazil2025-10-01
1008France2025-09-10
1009Russia2025-09-02
1010Brazil2025-09-21
1011Italy2025-09-11
1012Brazil2025-09-09
1013Canada2025-09-08
1014Canada2025-09-20
1015Spain2025-09-06
1016United Kingdom2025-09-24
1017India2025-09-28
1018France2025-09-11
1019France2025-09-06
1020Spain2025-09-04
1021France2025-09-26
1022United Kingdom2025-09-04
1023Australia2025-09-18
1024Canada2025-09-15
1025Canada2025-09-23
1026United Kingdom2025-09-26
1027Russia2025-09-25
1028Australia2025-10-01
1029Japan2025-09-03
1030United Kingdom2025-09-22
1031India2025-09-12
1032Italy2025-09-24
1033Argentina2025-09-23
1034Canada2025-10-01
1035Germany2025-09-18
1036Spain2025-09-23
1037Spain2025-09-06
1038Japan2025-09-10
1039France2025-09-23
1040Italy2025-09-23
1041Italy2025-09-25
1042Russia2025-09-25
1043Spain2025-09-15
1044Japan2025-09-29
1045Spain2025-09-12
1046Australia2025-09-05
1047India2025-09-17
1048Argentina2025-09-15
1049Germany2025-09-07

On-Demand Data

NameIdCountryDate
Francesco A Bolognia1000Japan2025-09-10
Antonio U Iturbide1001France2025-09-19
Ashley A Bolognia1002Japan2025-09-30
Greenwood G Albares1003Russia2025-09-04
Ashley K Kusko1004United Kingdom2025-09-08
Ashley W Whobrey1005Russia2025-09-08
Greenwood F Kolmetz1006Argentina2025-09-19
Cody V Caudy1007Japan2025-09-04
Sinclair T Gillian1008Russia2025-09-25
Octavia D Malet1009Argentina2025-09-15
David A Ferencz1010Argentina2025-09-05
Murillo M Gaucho1011Argentina2025-09-30
Chavez T Sergi1012Canada2025-09-23
Aditya J Gillian1013Brazil2025-09-05
Jennifer S Darakjy1014India2025-09-28
Johnson A Bowley1015Japan2025-09-24
Francesco F Gaucho1016India2025-09-15
Cody M Campain1017Spain2025-09-25
Aika T Maclead1018Australia2025-09-11
Jeanfrancois D Flosi1019India2025-09-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones X CampainAustraliaStephen Shaw RENEWAL
Darci T MacleadFranceElwin Sharvill NEW
Chavez E TollnerItalyAmy Elsner UNQUALIFIED
Adams T BowleyCanadaIvan Magalhaes RENEWAL
Clifford J SchemmerRussiaElwin Sharvill QUALIFIED
Aruna O FlosiUnited KingdomAsiya Javayant NEGOTIATION
Aika D DarakjyGermanyIvan Magalhaes RENEWAL
James U CaldareraGermanyXuxue Feng UNQUALIFIED
Emily U GauchoUnited KingdomIoni Bowcher NEGOTIATION
Francesco T MacleadAustraliaAmy Elsner NEGOTIATION
Antonio Z GauchoGermanyIoni Bowcher RENEWAL
Maria I SchemmerGermanyStephen Shaw NEW
Kaitlin N BriddickGermanyIvan Magalhaes RENEWAL
Izzy V PerinRussiaElwin Sharvill UNQUALIFIED
Jefferson Y AmigonRussiaOnyama Limba NEW
Stacey Q PoquetteJapanIvan Magalhaes NEGOTIATION
Stacey M MaletBrazilAmy Elsner RENEWAL
Costa Q StensethFranceElwin Sharvill NEGOTIATION
Maria J WaycottFranceOnyama Limba UNQUALIFIED
David Z WieserFranceStephen Shaw NEW
Aika H RulapaughItalyStephen Shaw QUALIFIED
Mujtaba B WaycottGermanyIvan Magalhaes UNQUALIFIED
Sinclair W FerenczCanadaStephen Shaw PROPOSAL
Alejandro B FollerCanadaAmy Elsner NEW
Johnson V MarrierCanadaBernardo Dominic PROPOSAL
Maisha O StensethFranceOnyama Limba UNQUALIFIED
Ricardo C NickaCanadaOnyama Limba UNQUALIFIED
Isabel R StensethRussiaAmy Elsner QUALIFIED
Julie V RulapaughUnited KingdomIvan Magalhaes QUALIFIED
James U BriddickArgentinaAnna Fali QUALIFIED
Sinclair U WhobreyFranceIoni Bowcher PROPOSAL
James Q OstroskyCanadaAnna Fali RENEWAL
Chavez F AlbaresBrazilAmy Elsner UNQUALIFIED
Ricardo U SchemmerSpainAmy Elsner QUALIFIED
Greenwood Q AlbaresArgentinaIvan Magalhaes NEW
Smith S TollnerSpainAsiya Javayant UNQUALIFIED
Claire O GlickBrazilStephen Shaw NEGOTIATION
Aruna V CaldareraItalyAnna Fali PROPOSAL
Jones B RutaFranceIvan Magalhaes RENEWAL
Adams P FollerFranceXuxue Feng 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>