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
Mayumi T VenereJapanIvan Magalhaes NEGOTIATION
Leja Y MarrierUnited KingdomXuxue Feng PROPOSAL
Silvio V RutaSpainAsiya Javayant NEW
Nicolas U GarufiArgentinaAsiya Javayant QUALIFIED
Smith F GillianAustraliaIvan Magalhaes UNQUALIFIED
Jones T SchemmerGermanyIvan Magalhaes UNQUALIFIED
Ricardo I DilliardRussiaAnna Fali PROPOSAL
Cody J ShinkoArgentinaOnyama Limba QUALIFIED
Ricardo X DarakjyItalyAsiya Javayant RENEWAL
Morrow U MorascaBrazilAsiya Javayant QUALIFIED
Salvatore K MaletArgentinaElwin Sharvill NEGOTIATION
Smith H NestleRussiaOnyama Limba UNQUALIFIED
Silvio R StensethArgentinaBernardo Dominic QUALIFIED
Smith T NestleBrazilAnna Fali NEGOTIATION
Adams E FlosiFranceAnna Fali RENEWAL
Leon X OstroskyCanadaBernardo Dominic RENEWAL
Mujtaba B ShinkoRussiaBernardo Dominic RENEWAL
David G MaletItalyAsiya Javayant PROPOSAL
Aditya J ButtBrazilStephen Shaw NEW
Faith W BowleyArgentinaStephen Shaw PROPOSAL
Chavez J WieserBrazilXuxue Feng NEGOTIATION
Aika L RulapaughArgentinaBernardo Dominic NEW
Faith V RulapaughIndiaElwin Sharvill NEGOTIATION
Izzy U FigeroaRussiaIoni Bowcher PROPOSAL
Alejandro Z SaylorsAustraliaAmy Elsner NEW
Maisha Q IturbideCanadaIvan Magalhaes NEGOTIATION
Ashley M OldroydAustraliaOnyama Limba NEGOTIATION
Morrow H CaudyBrazilOnyama Limba RENEWAL
Aditya B DoeBrazilStephen Shaw RENEWAL
Jeanfrancois J StensethArgentinaStephen Shaw NEGOTIATION
Sinclair B CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
Chavez J NestleAustraliaBernardo Dominic NEW
Ashley W IturbideCanadaIvan Magalhaes UNQUALIFIED
Murillo A RoysterArgentinaElwin Sharvill UNQUALIFIED
Izzy Z GarufiCanadaStephen Shaw NEGOTIATION
Munro X PaprockiJapanOnyama Limba PROPOSAL
Kadeem E SlusarskiItalyStephen Shaw NEGOTIATION
Maria Y CaudyUnited KingdomBernardo Dominic RENEWAL
Silvio S ShinkoSpainBernardo Dominic PROPOSAL
Kaitlin L KuskoItalyXuxue Feng NEGOTIATION
Smith W WhobreyJapanOnyama Limba PROPOSAL
Costa G OldroydGermanyOnyama Limba QUALIFIED
Isabel C FerenczJapanAmy Elsner RENEWAL
Murillo J ButtItalyStephen Shaw RENEWAL
Francesco R GarufiArgentinaXuxue Feng QUALIFIED
Octavia Z SaylorsItalyXuxue Feng PROPOSAL
Clifford B NickaCanadaIvan Magalhaes QUALIFIED
Wickens A CaudyArgentinaIvan Magalhaes PROPOSAL
Jennifer Y OldroydGermanyOnyama Limba RENEWAL
Kaitlin L IturbideCanadaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez K IturbideIndiaOnyama Limba NEGOTIATION
Sinclair F GlickUnited KingdomIvan Magalhaes NEW
Juan D PaprockiUnited KingdomIvan Magalhaes NEW
David W NickaSpainStephen Shaw NEW
James V OldroydRussiaBernardo Dominic RENEWAL
Claire A BriddickUnited KingdomBernardo Dominic QUALIFIED
Leon L OldroydItalyBernardo Dominic QUALIFIED
Ivar D GillianGermanyIoni Bowcher RENEWAL
Julie O GarufiItalyIvan Magalhaes QUALIFIED
Jefferson D GauchoJapanAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens J BriddickRussia2025-10-18Morlong Associates NEGOTIATION89Xuxue Feng
1001Stacey I KolmetzGermany2025-10-26Rangoni Of Florence UNQUALIFIED70Asiya Javayant
1002Jones Z RulapaughFrance2025-10-14Commercial Press QUALIFIED79Ioni Bowcher
1003Francesco S FerenczJapan2025-10-18Feltz Printing Service NEW33Ivan Magalhaes
1004Tony S StensethUnited Kingdom2025-10-07Feiner Bros UNQUALIFIED72Stephen Shaw
1005Jeanfrancois E KolmetzGermany2025-10-25Dorl, James J Esq PROPOSAL64Amy Elsner
1006Mujtaba Z StockhamIndia2025-10-23Benton, John B Jr NEW8Ivan Magalhaes
1007Smith A BologniaUnited Kingdom2025-10-11Printing Dimensions UNQUALIFIED79Xuxue Feng
1008Leon K TollnerUnited Kingdom2025-10-28Morlong Associates NEW44Ivan Magalhaes
1009Mayumi O StensethRussia2025-11-02Benton, John B Jr UNQUALIFIED26Elwin Sharvill
1010Isabel O BriddickCanada2025-11-01Feltz Printing Service PROPOSAL8Elwin Sharvill
1011Alejandro Q VocelkaAustralia2025-11-02Feiner Bros NEW84Xuxue Feng
1012Julie U InouyeRussia2025-10-18Dorl, James J Esq PROPOSAL28Elwin Sharvill
1013Greenwood U IturbideBrazil2025-10-21Rangoni Of Florence NEW20Ivan Magalhaes
1014Cody H PaprockiRussia2025-10-29Truhlar And Truhlar Attys NEGOTIATION83Onyama Limba
1015Misaki J AmigonAustralia2025-10-18Feltz Printing Service NEW85Anna Fali
1016Ivar O RulapaughArgentina2025-10-31Benton, John B Jr UNQUALIFIED18Anna Fali
1017Francesco W IturbideIndia2025-10-28Chemel, James L Cpa RENEWAL74Bernardo Dominic
1018Maria Y AmigonRussia2025-11-03Chemel, James L Cpa NEGOTIATION74Ioni Bowcher
1019Ricardo A BowleyJapan2025-10-07Benton, John B Jr RENEWAL65Asiya Javayant
1020Silvio L MorascaArgentina2025-10-19Dorl, James J Esq PROPOSAL17Asiya Javayant
1021Maisha D OldroydAustralia2025-10-25Chapman, Ross E Esq UNQUALIFIED61Ivan Magalhaes
1022Mayumi Z NickaFrance2025-11-04Truhlar And Truhlar Attys UNQUALIFIED86Bernardo Dominic
1023Deepesh S MorascaJapan2025-10-27Chanay, Jeffrey A Esq PROPOSAL77Asiya Javayant
1024Antonio K BologniaUnited Kingdom2025-10-18Chapman, Ross E Esq RENEWAL12Onyama Limba
1025Murillo M IturbideRussia2025-10-30Truhlar And Truhlar Attys PROPOSAL86Asiya Javayant
1026Greenwood K GauchoAustralia2025-10-08Dorl, James J Esq QUALIFIED38Stephen Shaw
1027Francesco E CaudyAustralia2025-10-19Commercial Press RENEWAL24Xuxue Feng
1028James Y WaycottCanada2025-10-18Chapman, Ross E Esq UNQUALIFIED6Ioni Bowcher
1029Greenwood H SchemmerCanada2025-10-30Buckley Miller Wright QUALIFIED8Stephen Shaw
1030Francesco O VenereFrance2025-11-04Buckley Miller Wright RENEWAL6Ioni Bowcher
1031Aditya S GillianRussia2025-10-17Chapman, Ross E Esq NEW34Xuxue Feng
1032James O OstroskyIndia2025-10-15Buckley Miller Wright RENEWAL93Amy Elsner
1033Faith F BologniaGermany2025-10-26Truhlar And Truhlar Attys NEW5Ioni Bowcher
1034Francesco U PerinFrance2025-11-01Chanay, Jeffrey A Esq NEGOTIATION46Ioni Bowcher
1035Emily U MacleadCanada2025-10-10Dorl, James J Esq NEGOTIATION37Anna Fali
1036Julie L DarakjyItaly2025-10-27Benton, John B Jr NEGOTIATION11Amy Elsner
1037Darci Y OstroskyItaly2025-11-04Rousseaux, Michael Esq NEW74Amy Elsner
1038Emily D KolmetzSpain2025-10-14Chanay, Jeffrey A Esq NEW3Xuxue Feng
1039Morrow G GarufiFrance2025-11-01Morlong Associates PROPOSAL3Bernardo Dominic
1040Jeanfrancois E FlosiUnited Kingdom2025-10-25Chemel, James L Cpa NEW45Onyama Limba
1041Munro P GarufiAustralia2025-10-11Benton, John B Jr QUALIFIED90Asiya Javayant
1042Sinclair D DilliardRussia2025-10-09Benton, John B Jr RENEWAL62Stephen Shaw
1043Kadeem Z GillianGermany2025-10-26Buckley Miller Wright PROPOSAL74Ivan Magalhaes
1044Morrow Y SaylorsCanada2025-10-12Chanay, Jeffrey A Esq QUALIFIED68Bernardo Dominic
1045Isabel U KuskoFrance2025-10-20Rousseaux, Michael Esq PROPOSAL80Bernardo Dominic
1046Aditya O OstroskyBrazil2025-10-27Feiner Bros NEW38Ioni Bowcher
1047Aika F InouyeBrazil2025-10-08Feiner Bros PROPOSAL84Asiya Javayant
1048Jeanfrancois A DilliardSpain2025-10-29Rousseaux, Michael Esq NEW9Xuxue Feng
1049Wickens L KuskoGermany2025-10-11Morlong Associates PROPOSAL10Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Cody D BologniaAustraliaAnna Fali QUALIFIED
Deepesh A BriddickJapanAnna Fali UNQUALIFIED
Maisha E ShinkoAustraliaAmy Elsner UNQUALIFIED
Faith G CampainSpainElwin Sharvill PROPOSAL
Misaki N MaletCanadaIvan Magalhaes UNQUALIFIED
Smith V RutaItalyStephen Shaw NEW
Cody P GauchoBrazilAmy Elsner NEGOTIATION
Deepesh M SlusarskiArgentinaXuxue Feng NEW
Aika P DilliardAustraliaElwin Sharvill UNQUALIFIED
Kaitlin A WaycottAustraliaAnna Fali RENEWAL
James Q OldroydFranceAmy Elsner QUALIFIED
Leon M TollnerArgentinaXuxue Feng NEW
Clifford X RutaJapanBernardo Dominic NEGOTIATION
Darci F DoeUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois O RulapaughRussiaOnyama Limba RENEWAL
Ricardo M MaletCanadaIoni Bowcher QUALIFIED
Munro T MorascaUnited KingdomBernardo Dominic PROPOSAL
James S ChuiArgentinaBernardo Dominic UNQUALIFIED
Jefferson R RulapaughRussiaAnna Fali RENEWAL
Cody D DoeAustraliaAmy Elsner PROPOSAL
Sinclair Q PerinItalyStephen Shaw UNQUALIFIED
Silvio B StensethSpainAnna Fali NEW
Stacey M GillianFranceAnna Fali NEW
Salvatore P KolmetzCanadaIoni Bowcher UNQUALIFIED
Aika S ShinkoIndiaAnna Fali PROPOSAL
Isabel H WaycottUnited KingdomIoni Bowcher NEGOTIATION
Faith Y OstroskyFranceAnna Fali UNQUALIFIED
Sinclair T ShinkoAustraliaAmy Elsner PROPOSAL
Jefferson Z FlosiGermanyIoni Bowcher NEGOTIATION
Morrow N ShinkoBrazilOnyama Limba QUALIFIED
Jeanfrancois M StockhamItalyOnyama Limba NEW
Maria P FlosiArgentinaAsiya Javayant QUALIFIED
Arvin P WhobreySpainXuxue Feng NEGOTIATION
Emily T RulapaughBrazilOnyama Limba NEGOTIATION
David Y NickaBrazilIvan Magalhaes QUALIFIED
Morrow P PaprockiFranceStephen Shaw UNQUALIFIED
Leja J RulapaughJapanStephen Shaw UNQUALIFIED
Aditya V PerinFranceIoni Bowcher NEW
Izzy O MacleadCanadaOnyama Limba QUALIFIED
Jennifer J GlickRussiaAsiya Javayant UNQUALIFIED
Leja W FollerIndiaAmy Elsner QUALIFIED
Cody C StockhamSpainBernardo Dominic QUALIFIED
David D WhobreyItalyAmy Elsner UNQUALIFIED
Cody R ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh M GarufiSpainStephen Shaw NEW
Stacey M FerenczFranceAsiya Javayant RENEWAL
Ashley N WieserFranceIvan Magalhaes QUALIFIED
Greenwood F GillianBrazilXuxue Feng NEGOTIATION
Maisha J GillianAustraliaAmy Elsner PROPOSAL
Leja K RimAustraliaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Aika A Kusko
Faith M Doe
Juan H Ferencz
Octavia S Slusarski
Ricardo T Ruta
Izzy N Poquette
Clifford O Iturbide
Nicolas V Caudy
Smith R Foller
Mayumi M Flosi
Ivar K Wieser
Izzy M Maclead
Antonio Z Campain
Maria B Rim
Adams E Amigon
Darci Z Marrier
Costa V Ostrosky
Francesco M Flosi
Morrow O Malet
Claire X Perin
Ivar P Stenseth
Greenwood I Ferencz
Misaki O Vocelka
Arvin C Wieser
David Z Gillian
Chavez R Darakjy
Sinclair W Rulapaugh
Sinclair Z Kusko
Aditya P Campain
Emily Y Ostrosky
Jeanfrancois Z Rulapaugh
Maria R Waycott
Chavez H Slusarski
Leja D Darakjy
Munro J Ostrosky
Claire S Wieser
Ashley Z Glick
Costa K Slusarski
James F Perin
Octavia G Caldarera
Isabel R Campain
Jeanfrancois T Royster
Julie T Glick
Leon O Wieser
Wickens A Flosi
Cody N Malet
Salvatore G Ruta
Izzy D Garufi
Leon M Rim
Aika M Doe
IdCountryDate
1000Spain2025-10-22
1001Japan2025-11-03
1002India2025-11-01
1003Italy2025-10-22
1004Italy2025-10-24
1005United Kingdom2025-10-29
1006Russia2025-10-31
1007Germany2025-11-03
1008Germany2025-10-07
1009India2025-10-09
1010Brazil2025-10-23
1011Spain2025-10-11
1012Spain2025-10-30
1013Australia2025-10-31
1014Russia2025-11-04
1015Germany2025-10-08
1016France2025-10-26
1017United Kingdom2025-10-22
1018Australia2025-10-15
1019France2025-11-01
1020India2025-10-17
1021Italy2025-10-14
1022France2025-10-12
1023United Kingdom2025-10-30
1024Italy2025-10-12
1025Japan2025-10-18
1026Brazil2025-10-27
1027Russia2025-11-03
1028United Kingdom2025-10-29
1029Germany2025-10-26
1030Germany2025-10-31
1031Italy2025-10-10
1032Spain2025-11-04
1033Italy2025-11-02
1034Russia2025-10-17
1035Italy2025-10-28
1036Brazil2025-10-28
1037Germany2025-10-09
1038Spain2025-10-23
1039Canada2025-10-28
1040Canada2025-11-04
1041Canada2025-10-26
1042France2025-10-10
1043Canada2025-10-11
1044Canada2025-10-08
1045Australia2025-11-02
1046Canada2025-10-20
1047Canada2025-10-17
1048Japan2025-10-23
1049Japan2025-10-16

On-Demand Data

NameIdCountryDate
Jefferson T Maclead1000Russia2025-10-23
Jennifer U Figeroa1001Argentina2025-10-17
Leja O Kusko1002Russia2025-10-15
Silvio M Figeroa1003Brazil2025-10-24
Greenwood M Butt1004France2025-10-09
Sinclair R Morasca1005France2025-10-07
Leja O Bolognia1006Brazil2025-10-10
Alejandro K Maclead1007Brazil2025-10-29
Tony K Gaucho1008United Kingdom2025-10-12
Mujtaba X Ruta1009India2025-10-30
Adams A Rim1010Brazil2025-10-07
Murillo A Stenseth1011United Kingdom2025-11-02
Adams Z Kusko1012Spain2025-10-14
Aika D Whobrey1013Canada2025-10-14
Maisha T Kolmetz1014Australia2025-10-21
Jones K Foller1015Italy2025-10-16
Tony A Ostrosky1016Germany2025-10-17
Morrow D Oldroyd1017Argentina2025-10-11
Jeanfrancois G Royster1018Brazil2025-10-06
Murillo B Iturbide1019Russia2025-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson F RoysterGermanyBernardo Dominic PROPOSAL
Adams L FollerFranceElwin Sharvill RENEWAL
Claire K RimFranceElwin Sharvill PROPOSAL
Izzy K DoeBrazilXuxue Feng NEW
Izzy G GauchoItalyAsiya Javayant NEGOTIATION
Ashley H MarrierBrazilAmy Elsner RENEWAL
Octavia C InouyeJapanIvan Magalhaes QUALIFIED
Jeanfrancois Q NestleAustraliaOnyama Limba UNQUALIFIED
Aditya O StensethGermanyAnna Fali PROPOSAL
Francesco J FlosiAustraliaIvan Magalhaes QUALIFIED
Johnson L AmigonIndiaStephen Shaw NEGOTIATION
Mujtaba L NestleArgentinaAnna Fali UNQUALIFIED
Ashley B ButtArgentinaBernardo Dominic QUALIFIED
Adams P CaudyBrazilIvan Magalhaes RENEWAL
David W DarakjyFranceOnyama Limba UNQUALIFIED
Morrow S TollnerArgentinaXuxue Feng NEGOTIATION
David O MacleadItalyAsiya Javayant UNQUALIFIED
Morrow O KuskoAustraliaStephen Shaw NEW
Clifford R FerenczAustraliaAmy Elsner RENEWAL
Izzy Q StockhamAustraliaAmy Elsner QUALIFIED
Jones A BowleyAustraliaAnna Fali PROPOSAL
Maisha D WaycottGermanyAnna Fali UNQUALIFIED
Stacey O MarrierArgentinaOnyama Limba NEGOTIATION
Leja A DoeAustraliaIvan Magalhaes UNQUALIFIED
David N KuskoItalyAmy Elsner RENEWAL
Emily W NestleUnited KingdomElwin Sharvill NEW
Stacey K AlbaresFranceOnyama Limba QUALIFIED
Ashley T DarakjyBrazilElwin Sharvill PROPOSAL
Clifford P BowleyArgentinaIvan Magalhaes NEGOTIATION
Kaitlin W MaletAustraliaIoni Bowcher QUALIFIED
Salvatore J WaycottBrazilAnna Fali PROPOSAL
Aruna G PaprockiGermanyAmy Elsner RENEWAL
James O DilliardBrazilIvan Magalhaes QUALIFIED
Rodrigues G MaletFranceElwin Sharvill UNQUALIFIED
Faith J TollnerCanadaAsiya Javayant QUALIFIED
Chavez C WieserFranceOnyama Limba NEW
Stacey P BriddickRussiaXuxue Feng UNQUALIFIED
Johnson H WhobreySpainAmy Elsner UNQUALIFIED
Tony D GlickArgentinaIoni Bowcher NEGOTIATION
Deepesh H FigeroaAustraliaIoni Bowcher PROPOSAL

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