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
Chavez J PoquetteJapanXuxue Feng PROPOSAL
Murillo W StockhamUnited KingdomAmy Elsner NEGOTIATION
Maisha A GauchoGermanyAnna Fali QUALIFIED
Aruna H SergiSpainAsiya Javayant UNQUALIFIED
Sinclair Y MarrierRussiaAsiya Javayant NEGOTIATION
Aditya H KuskoGermanyAsiya Javayant RENEWAL
Aditya K SergiAustraliaAsiya Javayant PROPOSAL
Antonio R AmigonAustraliaElwin Sharvill RENEWAL
Emily Q WhobreyFranceOnyama Limba UNQUALIFIED
Izzy R FerenczJapanAmy Elsner PROPOSAL
Jeanfrancois O VenereUnited KingdomIvan Magalhaes RENEWAL
Maisha I ShinkoAustraliaBernardo Dominic NEW
Rodrigues Z PerinJapanIoni Bowcher NEW
Rodrigues F RimSpainAsiya Javayant NEW
Aditya L PerinFranceBernardo Dominic NEGOTIATION
Aruna F FerenczIndiaIvan Magalhaes NEGOTIATION
Ricardo R CampainSpainIoni Bowcher NEW
Deepesh R OldroydRussiaXuxue Feng RENEWAL
Isabel A SergiAustraliaAmy Elsner NEW
Wickens I VocelkaArgentinaStephen Shaw NEW
Nicolas Y RutaIndiaIvan Magalhaes NEGOTIATION
Wickens B MaletFranceAnna Fali QUALIFIED
Tony M InouyeSpainStephen Shaw QUALIFIED
Isabel S WhobreyArgentinaElwin Sharvill NEGOTIATION
Johnson R RulapaughJapanStephen Shaw PROPOSAL
Darci E RimBrazilIvan Magalhaes NEW
Leon P SergiBrazilXuxue Feng NEW
Leon I SlusarskiSpainElwin Sharvill QUALIFIED
Leja B RimGermanyBernardo Dominic RENEWAL
Darci E StockhamFranceElwin Sharvill NEW
Stacey W FigeroaRussiaIoni Bowcher PROPOSAL
Johnson Q GarufiItalyIvan Magalhaes QUALIFIED
Leon Z PaprockiArgentinaOnyama Limba NEGOTIATION
Sinclair W PaprockiCanadaXuxue Feng NEGOTIATION
Smith N KolmetzBrazilElwin Sharvill NEW
Sinclair R VocelkaUnited KingdomIvan Magalhaes NEW
Costa O GarufiIndiaElwin Sharvill PROPOSAL
Claire Y FerenczGermanyAsiya Javayant NEGOTIATION
David A BriddickBrazilElwin Sharvill UNQUALIFIED
Juan L InouyeUnited KingdomOnyama Limba NEW
Kaitlin Q MarrierItalyXuxue Feng QUALIFIED
Kadeem Z PoquetteUnited KingdomAnna Fali QUALIFIED
Greenwood C CampainRussiaIoni Bowcher NEGOTIATION
Adams M FollerItalyAsiya Javayant PROPOSAL
Rodrigues D WaycottBrazilAsiya Javayant QUALIFIED
Clifford Q KuskoJapanIoni Bowcher UNQUALIFIED
Sinclair G DilliardJapanAnna Fali NEGOTIATION
Deepesh U MaletFranceAmy Elsner NEGOTIATION
Aruna E CaudyRussiaOnyama Limba QUALIFIED
Julie A FlosiSpainOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki H RutaFranceBernardo Dominic RENEWAL
Claire B VocelkaBrazilAmy Elsner NEW
Mayumi A RulapaughJapanElwin Sharvill UNQUALIFIED
David B RimFranceStephen Shaw NEW
Morrow L DoeAustraliaAnna Fali PROPOSAL
Antonio E GillianUnited KingdomXuxue Feng PROPOSAL
Munro I WieserIndiaElwin Sharvill UNQUALIFIED
Francesco O DilliardCanadaAsiya Javayant QUALIFIED
Misaki C FigeroaCanadaXuxue Feng QUALIFIED
Aika L FollerSpainOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia B ShinkoJapan2025-07-25Chapman, Ross E Esq NEW57Stephen Shaw
1001Emily W SlusarskiCanada2025-08-08King, Christopher A Esq PROPOSAL6Ioni Bowcher
1002Kadeem X NestleItaly2025-08-07Buckley Miller Wright PROPOSAL82Amy Elsner
1003Costa Y MacleadItaly2025-07-29Commercial Press PROPOSAL76Xuxue Feng
1004Kaitlin A MorascaSpain2025-07-26Benton, John B Jr UNQUALIFIED99Elwin Sharvill
1005Francesco L GauchoUnited Kingdom2025-08-04Rousseaux, Michael Esq NEW84Bernardo Dominic
1006Adams L MaletRussia2025-08-07Morlong Associates NEGOTIATION63Anna Fali
1007Greenwood L FerenczBrazil2025-08-13Morlong Associates UNQUALIFIED79Elwin Sharvill
1008David T CampainItaly2025-08-06Chapman, Ross E Esq UNQUALIFIED68Anna Fali
1009David G RimGermany2025-08-03Dorl, James J Esq NEGOTIATION97Elwin Sharvill
1010Mujtaba F MaletAustralia2025-08-02King, Christopher A Esq QUALIFIED91Elwin Sharvill
1011Nicolas V CampainFrance2025-07-26Rousseaux, Michael Esq NEGOTIATION37Xuxue Feng
1012Mayumi C BologniaGermany2025-07-17Rangoni Of Florence NEGOTIATION47Bernardo Dominic
1013Mujtaba D DoeAustralia2025-07-29Commercial Press NEGOTIATION69Asiya Javayant
1014David A ShinkoArgentina2025-08-07Chapman, Ross E Esq NEGOTIATION61Bernardo Dominic
1015Aditya A CaldareraJapan2025-07-29Commercial Press PROPOSAL40Ivan Magalhaes
1016Leon F FollerSpain2025-07-30Rangoni Of Florence QUALIFIED8Anna Fali
1017Mujtaba R VenereAustralia2025-07-29Chapman, Ross E Esq NEW23Stephen Shaw
1018Stacey X NickaCanada2025-07-29Chemel, James L Cpa NEGOTIATION95Amy Elsner
1019Misaki E OstroskyGermany2025-08-04King, Christopher A Esq PROPOSAL13Stephen Shaw
1020Kaitlin R NickaCanada2025-07-28Rangoni Of Florence RENEWAL96Stephen Shaw
1021Kadeem C RimAustralia2025-07-24Printing Dimensions UNQUALIFIED41Asiya Javayant
1022Aditya R WieserGermany2025-08-06Rousseaux, Michael Esq UNQUALIFIED10Stephen Shaw
1023Nicolas L CaldareraBrazil2025-07-31King, Christopher A Esq NEGOTIATION10Stephen Shaw
1024Aruna N ChuiBrazil2025-07-22Rangoni Of Florence NEW81Elwin Sharvill
1025Mayumi I StensethCanada2025-07-31Rousseaux, Michael Esq NEW52Stephen Shaw
1026Silvio Q NestleCanada2025-08-08Chapman, Ross E Esq UNQUALIFIED86Amy Elsner
1027Isabel P FigeroaItaly2025-07-20Printing Dimensions RENEWAL9Anna Fali
1028Antonio S DoeUnited Kingdom2025-07-24Buckley Miller Wright NEGOTIATION49Anna Fali
1029Isabel R AlbaresFrance2025-07-26Truhlar And Truhlar Attys NEGOTIATION53Ivan Magalhaes
1030Mujtaba A NestleRussia2025-08-09Commercial Press UNQUALIFIED88Bernardo Dominic
1031Claire Z BologniaBrazil2025-08-04Chapman, Ross E Esq RENEWAL21Ivan Magalhaes
1032Adams P GarufiFrance2025-08-13Dorl, James J Esq QUALIFIED96Asiya Javayant
1033Izzy T GlickRussia2025-07-28Chanay, Jeffrey A Esq UNQUALIFIED82Anna Fali
1034Kadeem V SergiBrazil2025-07-18Benton, John B Jr NEGOTIATION12Elwin Sharvill
1035Greenwood L AlbaresSpain2025-07-29Rousseaux, Michael Esq PROPOSAL97Amy Elsner
1036Isabel X GlickRussia2025-08-01Benton, John B Jr NEGOTIATION56Xuxue Feng
1037Maria M GlickJapan2025-07-24Dorl, James J Esq NEGOTIATION76Bernardo Dominic
1038Morrow X ChuiUnited Kingdom2025-07-22Morlong Associates RENEWAL90Stephen Shaw
1039Munro M SlusarskiSpain2025-08-03Feltz Printing Service PROPOSAL61Ioni Bowcher
1040Costa Y GarufiFrance2025-08-03Benton, John B Jr PROPOSAL35Xuxue Feng
1041Nicolas T KolmetzBrazil2025-07-27King, Christopher A Esq PROPOSAL83Anna Fali
1042James P MaletSpain2025-07-18Printing Dimensions NEW61Ivan Magalhaes
1043Izzy L OstroskyRussia2025-07-30Truhlar And Truhlar Attys NEGOTIATION87Anna Fali
1044Darci J MaletItaly2025-07-25Benton, John B Jr UNQUALIFIED31Onyama Limba
1045Sinclair A TollnerIndia2025-08-04Commercial Press QUALIFIED65Xuxue Feng
1046Ricardo S WhobreyAustralia2025-07-19Feiner Bros RENEWAL48Bernardo Dominic
1047Aika C ShinkoGermany2025-08-10Chemel, James L Cpa PROPOSAL95Elwin Sharvill
1048Isabel C SchemmerFrance2025-07-20Chapman, Ross E Esq NEW8Bernardo Dominic
1049Aditya Q OldroydItaly2025-08-04Chanay, Jeffrey A Esq PROPOSAL32Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aditya U StensethCanadaXuxue Feng QUALIFIED
Stacey U OstroskyIndiaAsiya Javayant NEGOTIATION
James S GillianIndiaOnyama Limba RENEWAL
Antonio J PoquetteGermanyXuxue Feng NEGOTIATION
Francesco A FigeroaGermanyBernardo Dominic QUALIFIED
James M InouyeItalyIoni Bowcher QUALIFIED
Jefferson G VenereAustraliaStephen Shaw UNQUALIFIED
Aruna Z GarufiSpainXuxue Feng NEGOTIATION
Cody F NickaRussiaAnna Fali NEW
Maria I SlusarskiIndiaAsiya Javayant RENEWAL
Faith M SlusarskiFranceOnyama Limba PROPOSAL
Ivar R DilliardAustraliaElwin Sharvill NEGOTIATION
Morrow N FigeroaSpainStephen Shaw RENEWAL
Izzy A PerinRussiaStephen Shaw NEGOTIATION
Ivar D NestleFranceElwin Sharvill UNQUALIFIED
Leon E PerinRussiaIoni Bowcher PROPOSAL
Murillo L CampainJapanIoni Bowcher NEW
Jennifer Y BologniaCanadaAsiya Javayant NEGOTIATION
Greenwood U MorascaAustraliaBernardo Dominic PROPOSAL
Jones Z GarufiUnited KingdomBernardo Dominic NEGOTIATION
Julie K StensethGermanyIvan Magalhaes PROPOSAL
Silvio N KuskoUnited KingdomXuxue Feng PROPOSAL
Octavia V WhobreyFranceOnyama Limba PROPOSAL
Darci Q AlbaresSpainXuxue Feng RENEWAL
Mayumi X RimJapanIvan Magalhaes RENEWAL
Leon O ShinkoUnited KingdomAnna Fali NEGOTIATION
Ashley F SlusarskiArgentinaXuxue Feng PROPOSAL
Maria Q KuskoIndiaBernardo Dominic PROPOSAL
Jefferson Z AmigonArgentinaElwin Sharvill RENEWAL
Nicolas D ButtArgentinaElwin Sharvill NEW
Kaitlin V VenereGermanyBernardo Dominic RENEWAL
Greenwood M ChuiCanadaAmy Elsner RENEWAL
Juan K FigeroaJapanElwin Sharvill UNQUALIFIED
Isabel U MorascaJapanElwin Sharvill NEW
Claire S MaletGermanyStephen Shaw RENEWAL
Claire C KolmetzSpainAmy Elsner QUALIFIED
Claire B RimAustraliaStephen Shaw QUALIFIED
Ivar W SergiArgentinaBernardo Dominic UNQUALIFIED
Rodrigues O BowleyBrazilOnyama Limba QUALIFIED
Izzy R CaldareraFranceXuxue Feng NEGOTIATION
Deepesh Z PoquetteAustraliaXuxue Feng NEW
Morrow S GauchoRussiaElwin Sharvill NEGOTIATION
Jones U PerinArgentinaBernardo Dominic PROPOSAL
Alejandro X SergiAustraliaIvan Magalhaes QUALIFIED
Alejandro Q NickaFranceAsiya Javayant QUALIFIED
Emily N AlbaresAustraliaElwin Sharvill PROPOSAL
Greenwood Q MaletUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois E MorascaGermanyElwin Sharvill QUALIFIED
Greenwood H BowleyRussiaXuxue Feng RENEWAL
Stacey S OstroskySpainBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Greenwood L Ferencz
Ricardo X Garufi
Costa L Rulapaugh
Ashley S Royster
Ricardo V Ferencz
Kadeem V Morasca
Kadeem N Malet
Juan S Glick
Aditya P Nestle
Greenwood B Morasca
Aditya Y Whobrey
Smith R Doe
Stacey W Iturbide
Cody Y Kolmetz
Sinclair V Tollner
Rodrigues D Marrier
Isabel V Dilliard
Aruna U Albares
Claire V Slusarski
Nicolas Z Iturbide
Jones G Malet
David G Sergi
Wickens Z Inouye
Mujtaba O Gaucho
Salvatore P Nestle
David P Stockham
Maisha Z Vocelka
Mujtaba U Schemmer
Octavia K Bowley
Francesco G Bolognia
Murillo B Stenseth
Jeanfrancois O Venere
Mujtaba P Waycott
Leja V Caudy
Murillo L Dilliard
Isabel Z Campain
Clifford T Albares
Antonio R Oldroyd
Rodrigues F Tollner
Emily E Royster
Mujtaba P Inouye
Stacey Q Inouye
Mayumi Q Venere
Alejandro O Vocelka
Rodrigues H Stockham
Misaki W Dilliard
Adams L Amigon
Emily Z Royster
Maisha O Poquette
Claire X Amigon
IdCountryDate
1000Brazil2025-08-07
1001Germany2025-07-19
1002Germany2025-07-23
1003Italy2025-07-22
1004Australia2025-07-25
1005Japan2025-07-19
1006Russia2025-08-09
1007Germany2025-08-05
1008Australia2025-07-29
1009United Kingdom2025-08-10
1010Russia2025-08-10
1011United Kingdom2025-08-06
1012Spain2025-08-03
1013Spain2025-08-07
1014Spain2025-07-31
1015India2025-08-02
1016United Kingdom2025-07-31
1017Canada2025-07-20
1018Spain2025-08-12
1019Russia2025-07-18
1020Germany2025-07-15
1021Italy2025-07-26
1022Argentina2025-08-05
1023Germany2025-08-09
1024Canada2025-07-25
1025Italy2025-08-13
1026Russia2025-07-19
1027Germany2025-08-04
1028Canada2025-08-08
1029Spain2025-08-09
1030Russia2025-07-15
1031Australia2025-08-10
1032Spain2025-08-09
1033Argentina2025-07-15
1034Canada2025-07-27
1035Russia2025-08-11
1036Australia2025-08-09
1037Brazil2025-07-31
1038Australia2025-08-11
1039Russia2025-08-03
1040Argentina2025-08-03
1041Brazil2025-07-20
1042Australia2025-07-20
1043Japan2025-08-12
1044United Kingdom2025-08-01
1045Argentina2025-08-05
1046United Kingdom2025-07-16
1047Germany2025-07-15
1048Argentina2025-07-19
1049Russia2025-07-21

On-Demand Data

NameIdCountryDate
Octavia O Paprocki1000Canada2025-08-05
Sinclair B Darakjy1001Canada2025-07-17
Tony W Caldarera1002Russia2025-07-30
Isabel N Bolognia1003Germany2025-07-17
Ricardo N Glick1004Canada2025-07-26
David C Darakjy1005Canada2025-07-27
Emily Q Bowley1006Russia2025-08-13
Wickens C Whobrey1007India2025-08-09
Izzy A Tollner1008Brazil2025-07-25
Jones Q Wieser1009Japan2025-07-22
Sinclair B Albares1010Argentina2025-07-29
Jennifer L Perin1011Canada2025-08-04
Ivar P Figeroa1012United Kingdom2025-07-18
James R Iturbide1013India2025-07-21
Antonio T Poquette1014Russia2025-07-21
Tony N Schemmer1015Italy2025-07-23
Jefferson H Saylors1016Canada2025-07-23
Munro U Nestle1017India2025-07-17
Chavez R Oldroyd1018France2025-07-22
Maisha T Whobrey1019Argentina2025-07-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin G GillianIndiaElwin Sharvill QUALIFIED
Aruna I ShinkoJapanIoni Bowcher NEGOTIATION
Kadeem E DilliardArgentinaBernardo Dominic QUALIFIED
Emily L DoeJapanIoni Bowcher PROPOSAL
Murillo V StensethBrazilXuxue Feng UNQUALIFIED
Isabel E FerenczJapanXuxue Feng NEW
Wickens K OldroydRussiaElwin Sharvill PROPOSAL
Jeanfrancois J PerinCanadaStephen Shaw NEGOTIATION
Kaitlin D MaletAustraliaBernardo Dominic NEGOTIATION
Ashley U ShinkoJapanAsiya Javayant UNQUALIFIED
Alejandro Y CaldareraJapanAnna Fali NEW
Kadeem U GillianSpainAnna Fali NEW
Salvatore X WaycottBrazilAsiya Javayant PROPOSAL
David Z RutaItalyBernardo Dominic RENEWAL
Julie C RulapaughUnited KingdomAsiya Javayant PROPOSAL
Maisha T RimUnited KingdomOnyama Limba PROPOSAL
Mayumi B MacleadFranceBernardo Dominic UNQUALIFIED
Jeanfrancois S MaletUnited KingdomAnna Fali NEW
Alejandro V SlusarskiCanadaAmy Elsner QUALIFIED
Morrow D PoquetteFranceIoni Bowcher RENEWAL
Arvin W FlosiArgentinaIoni Bowcher UNQUALIFIED
Juan F KuskoAustraliaIvan Magalhaes RENEWAL
Ivar W GauchoRussiaXuxue Feng RENEWAL
Arvin Z WhobreyBrazilAnna Fali NEGOTIATION
Adams U ButtRussiaAsiya Javayant NEW
Emily L BologniaArgentinaXuxue Feng PROPOSAL
Claire P FigeroaRussiaElwin Sharvill UNQUALIFIED
Isabel F DilliardSpainAnna Fali PROPOSAL
David Y StensethItalyAnna Fali NEW
Stacey V BowleyItalyOnyama Limba QUALIFIED
Maisha X FlosiArgentinaOnyama Limba NEGOTIATION
Adams Z StockhamRussiaBernardo Dominic NEGOTIATION
Cody Q VenereRussiaStephen Shaw NEW
Deepesh L TollnerFranceAmy Elsner UNQUALIFIED
Aruna B VocelkaCanadaAsiya Javayant NEGOTIATION
Ashley Q RimArgentinaAnna Fali UNQUALIFIED
Leon Y KolmetzAustraliaIvan Magalhaes PROPOSAL
Sinclair O MacleadRussiaElwin Sharvill RENEWAL
Faith G RoysterSpainAsiya Javayant QUALIFIED
Maria W BriddickCanadaOnyama Limba NEW

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