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
Costa B GlickCanadaAnna Fali UNQUALIFIED
Tony K CaldareraIndiaIoni Bowcher NEGOTIATION
Greenwood Y AmigonFranceIvan Magalhaes UNQUALIFIED
Antonio J PaprockiBrazilAmy Elsner RENEWAL
Wickens J RimIndiaIoni Bowcher PROPOSAL
Salvatore Z CaldareraFranceStephen Shaw QUALIFIED
Mujtaba L PaprockiCanadaAsiya Javayant NEW
James C TollnerUnited KingdomXuxue Feng NEW
Claire Q RoysterItalyElwin Sharvill PROPOSAL
Nicolas W RoysterRussiaBernardo Dominic NEGOTIATION
Alejandro N KolmetzBrazilXuxue Feng NEGOTIATION
Kadeem X FerenczAustraliaAsiya Javayant NEW
Francesco T VenereGermanyAnna Fali QUALIFIED
Kaitlin G InouyeGermanyElwin Sharvill RENEWAL
Jones D DilliardRussiaBernardo Dominic QUALIFIED
Kaitlin Q WaycottRussiaAnna Fali QUALIFIED
Misaki Y MarrierJapanXuxue Feng QUALIFIED
Mayumi M StockhamJapanOnyama Limba QUALIFIED
David Y AmigonGermanyStephen Shaw PROPOSAL
Alejandro X VenereFranceXuxue Feng UNQUALIFIED
Ivar D StensethItalyElwin Sharvill QUALIFIED
Chavez J VocelkaArgentinaStephen Shaw NEW
Faith W BowleyArgentinaAsiya Javayant RENEWAL
Nicolas W CaldareraSpainElwin Sharvill UNQUALIFIED
Maria K FigeroaAustraliaStephen Shaw NEGOTIATION
Greenwood N FigeroaAustraliaAnna Fali NEGOTIATION
Leja N TollnerBrazilAmy Elsner PROPOSAL
Aruna S RoysterIndiaAnna Fali RENEWAL
Silvio U SergiAustraliaElwin Sharvill UNQUALIFIED
Izzy N VocelkaUnited KingdomXuxue Feng NEGOTIATION
Smith N MorascaIndiaBernardo Dominic UNQUALIFIED
Johnson W BriddickUnited KingdomElwin Sharvill NEW
James A MacleadItalyOnyama Limba NEGOTIATION
Greenwood T RoysterIndiaIvan Magalhaes UNQUALIFIED
Maria L MorascaGermanyAnna Fali PROPOSAL
Isabel I ChuiIndiaIoni Bowcher UNQUALIFIED
Kadeem Y WhobreyBrazilStephen Shaw NEGOTIATION
Ashley K VocelkaBrazilIvan Magalhaes PROPOSAL
Deepesh F OstroskyAustraliaElwin Sharvill NEW
Isabel P NestleBrazilElwin Sharvill NEGOTIATION
Claire W CaudyFranceIvan Magalhaes RENEWAL
Antonio U FlosiBrazilElwin Sharvill RENEWAL
Mujtaba Y OstroskyUnited KingdomAmy Elsner NEGOTIATION
Faith U WhobreyFranceXuxue Feng QUALIFIED
Smith X SaylorsFranceIoni Bowcher QUALIFIED
Chavez O DoeRussiaAsiya Javayant QUALIFIED
Chavez J CaudyArgentinaAsiya Javayant NEGOTIATION
Chavez W MaletCanadaAnna Fali PROPOSAL
Ricardo M MarrierBrazilStephen Shaw NEGOTIATION
Julie B DoeRussiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo Q SaylorsJapanOnyama Limba NEW
Cody P ButtGermanyIvan Magalhaes NEW
Wickens O BriddickFranceStephen Shaw QUALIFIED
Jones B NestleUnited KingdomAmy Elsner RENEWAL
Munro E RimUnited KingdomIoni Bowcher PROPOSAL
Johnson O VocelkaRussiaAnna Fali PROPOSAL
David E DilliardFranceIvan Magalhaes NEW
Jefferson V GauchoItalyAsiya Javayant NEGOTIATION
Jeanfrancois O WieserJapanXuxue Feng UNQUALIFIED
Costa D SchemmerItalyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio P DoeBrazil2025-08-10Morlong Associates RENEWAL61Onyama Limba
1001Misaki D NestleFrance2025-08-02King, Christopher A Esq NEGOTIATION77Xuxue Feng
1002Salvatore Z OstroskySpain2025-08-04Chemel, James L Cpa NEGOTIATION89Ivan Magalhaes
1003Wickens G DilliardGermany2025-07-15Chanay, Jeffrey A Esq NEGOTIATION34Ivan Magalhaes
1004Chavez M KolmetzArgentina2025-08-09Printing Dimensions QUALIFIED66Stephen Shaw
1005Johnson L GauchoRussia2025-07-20Feltz Printing Service NEW6Asiya Javayant
1006Claire C RoysterGermany2025-07-19Feltz Printing Service UNQUALIFIED5Elwin Sharvill
1007Adams V GarufiGermany2025-08-11Benton, John B Jr NEW67Amy Elsner
1008Misaki W PaprockiArgentina2025-07-17Chapman, Ross E Esq QUALIFIED5Asiya Javayant
1009Jones H NestleFrance2025-07-21Truhlar And Truhlar Attys PROPOSAL57Ivan Magalhaes
1010Deepesh L MarrierIndia2025-08-07Dorl, James J Esq PROPOSAL17Amy Elsner
1011Izzy J CaudyUnited Kingdom2025-07-24Chapman, Ross E Esq PROPOSAL63Amy Elsner
1012Claire M BologniaUnited Kingdom2025-07-17Rangoni Of Florence UNQUALIFIED48Stephen Shaw
1013Jennifer A PoquetteBrazil2025-08-03Rousseaux, Michael Esq QUALIFIED91Asiya Javayant
1014Aditya T NestleIndia2025-07-30King, Christopher A Esq RENEWAL17Amy Elsner
1015David M ChuiUnited Kingdom2025-07-29Morlong Associates NEGOTIATION58Stephen Shaw
1016Jeanfrancois S GarufiUnited Kingdom2025-08-09Truhlar And Truhlar Attys PROPOSAL4Onyama Limba
1017Munro A MacleadUnited Kingdom2025-07-20Benton, John B Jr NEGOTIATION6Xuxue Feng
1018Sinclair I SchemmerSpain2025-08-07King, Christopher A Esq QUALIFIED41Ivan Magalhaes
1019Johnson G StensethItaly2025-08-09Printing Dimensions NEGOTIATION87Xuxue Feng
1020Rodrigues N VenereAustralia2025-07-18Chemel, James L Cpa NEGOTIATION33Elwin Sharvill
1021Clifford D BriddickItaly2025-07-25Buckley Miller Wright QUALIFIED10Elwin Sharvill
1022Alejandro M GillianJapan2025-07-19Truhlar And Truhlar Attys NEW37Ivan Magalhaes
1023Nicolas Z FigeroaJapan2025-08-05Feltz Printing Service NEGOTIATION74Ioni Bowcher
1024Maria F SchemmerCanada2025-07-22Buckley Miller Wright QUALIFIED59Asiya Javayant
1025Leja D TollnerItaly2025-07-24King, Christopher A Esq PROPOSAL29Ivan Magalhaes
1026Maisha Q StensethJapan2025-08-07King, Christopher A Esq QUALIFIED28Bernardo Dominic
1027Ricardo J FlosiAustralia2025-07-17Feltz Printing Service RENEWAL56Xuxue Feng
1028Wickens W AmigonSpain2025-07-21Printing Dimensions PROPOSAL93Onyama Limba
1029Silvio Q NestleSpain2025-07-15King, Christopher A Esq RENEWAL99Onyama Limba
1030Aika R GauchoFrance2025-07-16King, Christopher A Esq RENEWAL30Asiya Javayant
1031Ivar Y MaletFrance2025-07-29King, Christopher A Esq NEW95Asiya Javayant
1032Claire V GarufiRussia2025-07-27Chanay, Jeffrey A Esq UNQUALIFIED51Onyama Limba
1033Chavez Y NestleJapan2025-07-29Truhlar And Truhlar Attys RENEWAL32Xuxue Feng
1034Clifford P MacleadAustralia2025-08-10Chemel, James L Cpa RENEWAL91Xuxue Feng
1035Emily A FlosiArgentina2025-07-28Feltz Printing Service UNQUALIFIED61Onyama Limba
1036Kaitlin P OldroydCanada2025-07-14Chapman, Ross E Esq UNQUALIFIED13Xuxue Feng
1037Smith E FlosiGermany2025-08-10Rangoni Of Florence NEGOTIATION23Ioni Bowcher
1038Claire D VocelkaFrance2025-07-20Dorl, James J Esq QUALIFIED67Xuxue Feng
1039Tony H PoquetteSpain2025-07-20Chanay, Jeffrey A Esq PROPOSAL83Stephen Shaw
1040Tony B AmigonAustralia2025-08-07Benton, John B Jr PROPOSAL50Ivan Magalhaes
1041Jefferson Z CaudySpain2025-08-03Benton, John B Jr QUALIFIED55Bernardo Dominic
1042Julie I RimJapan2025-08-04Buckley Miller Wright PROPOSAL89Xuxue Feng
1043Tony X MaletGermany2025-08-10Feiner Bros NEW17Ioni Bowcher
1044Ashley R RutaItaly2025-07-17Commercial Press QUALIFIED94Asiya Javayant
1045Julie Y OstroskyItaly2025-08-04Buckley Miller Wright PROPOSAL67Bernardo Dominic
1046Alejandro C KolmetzRussia2025-07-20Chemel, James L Cpa PROPOSAL19Amy Elsner
1047Greenwood Q MacleadArgentina2025-07-17Chanay, Jeffrey A Esq PROPOSAL73Elwin Sharvill
1048Wickens M CaudyAustralia2025-07-24Commercial Press UNQUALIFIED17Ioni Bowcher
1049Kadeem A MorascaUnited Kingdom2025-08-04Dorl, James J Esq QUALIFIED46Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore H SlusarskiGermanyAsiya Javayant UNQUALIFIED
Costa K GillianAustraliaOnyama Limba QUALIFIED
Leja L StockhamAustraliaAsiya Javayant UNQUALIFIED
Jefferson U AlbaresUnited KingdomElwin Sharvill NEW
Darci C TollnerCanadaAsiya Javayant NEW
Jones J BriddickCanadaAsiya Javayant RENEWAL
Murillo L RulapaughCanadaXuxue Feng PROPOSAL
Aditya N DilliardRussiaXuxue Feng RENEWAL
Costa R DoeCanadaAnna Fali NEW
Jones R FerenczArgentinaElwin Sharvill PROPOSAL
Arvin A RimJapanStephen Shaw QUALIFIED
Faith L BriddickRussiaXuxue Feng PROPOSAL
Alejandro Y StockhamItalyStephen Shaw UNQUALIFIED
Rodrigues Z MaletJapanAsiya Javayant NEGOTIATION
Francesco Y SergiJapanIvan Magalhaes NEW
Izzy N RutaJapanAsiya Javayant RENEWAL
Maisha C NestleArgentinaBernardo Dominic UNQUALIFIED
Jefferson A ButtUnited KingdomElwin Sharvill UNQUALIFIED
Octavia F CaudyFranceElwin Sharvill NEW
Claire M MacleadAustraliaXuxue Feng UNQUALIFIED
Sinclair X BologniaAustraliaStephen Shaw QUALIFIED
Mujtaba J MaletArgentinaStephen Shaw UNQUALIFIED
Leja H FlosiUnited KingdomStephen Shaw NEW
Francesco Q CaudyFranceAmy Elsner RENEWAL
James P KolmetzFranceStephen Shaw QUALIFIED
Mujtaba Q WieserCanadaIoni Bowcher UNQUALIFIED
Chavez E CaudyItalyOnyama Limba RENEWAL
Arvin T VenereRussiaAnna Fali QUALIFIED
Salvatore T PaprockiIndiaOnyama Limba PROPOSAL
Ricardo V FlosiIndiaIvan Magalhaes PROPOSAL
James W PoquetteGermanyXuxue Feng RENEWAL
Ricardo M AlbaresAustraliaAnna Fali RENEWAL
James W BriddickCanadaStephen Shaw RENEWAL
Murillo I DarakjyIndiaIoni Bowcher NEGOTIATION
Aika X BowleyAustraliaBernardo Dominic UNQUALIFIED
Clifford E FollerFranceBernardo Dominic NEGOTIATION
Sinclair Y ChuiRussiaStephen Shaw QUALIFIED
Izzy U WaycottBrazilIvan Magalhaes PROPOSAL
Misaki M GauchoGermanyAnna Fali UNQUALIFIED
Mayumi Y MaletBrazilElwin Sharvill RENEWAL
Octavia M CaldareraItalyAmy Elsner RENEWAL
Alejandro H NestleFranceXuxue Feng NEW
Jeanfrancois W RimCanadaXuxue Feng NEGOTIATION
Costa S OldroydAustraliaXuxue Feng NEW
Adams F KolmetzBrazilIoni Bowcher QUALIFIED
Munro Z RimIndiaStephen Shaw NEGOTIATION
Jennifer V BriddickItalyStephen Shaw QUALIFIED
Alejandro G DarakjyRussiaElwin Sharvill NEGOTIATION
Ashley H ChuiIndiaOnyama Limba RENEWAL
Jeanfrancois V DilliardSpainAmy Elsner PROPOSAL
Frozen Columns
Name
Jones W Marrier
Costa S Bolognia
Sinclair J Schemmer
Jefferson M Whobrey
Francesco W Saylors
Aika K Venere
Jefferson C Whobrey
James G Poquette
Jeanfrancois Z Ruta
Greenwood P Amigon
Deepesh K Caudy
Jefferson J Perin
Izzy L Nicka
Mujtaba S Garufi
Silvio P Poquette
Smith V Rim
Jennifer Q Morasca
Stacey U Perin
Chavez T Foller
Kaitlin P Briddick
Julie N Kusko
David W Stenseth
Maisha W Bolognia
Murillo B Caldarera
Alejandro E Poquette
Kadeem P Malet
Deepesh X Paprocki
Stacey Y Darakjy
Salvatore X Foller
Rodrigues Z Ruta
Jennifer E Malet
Ivar U Caudy
Darci T Slusarski
Emily Z Garufi
Tony U Whobrey
Ivar U Bowley
Tony J Chui
Nicolas S Oldroyd
Nicolas D Gaucho
Kaitlin O Malet
Tony O Slusarski
James B Perin
Ricardo Z Morasca
Costa S Stockham
Silvio Z Perin
Stacey A Briddick
Juan Z Briddick
Jeanfrancois K Waycott
Arvin B Bolognia
Salvatore E Ferencz
IdCountryDate
1000Spain2025-07-24
1001Argentina2025-07-15
1002Japan2025-07-27
1003Spain2025-08-11
1004Argentina2025-08-02
1005Argentina2025-07-22
1006Russia2025-08-03
1007Germany2025-08-09
1008France2025-07-24
1009Australia2025-08-07
1010Germany2025-08-01
1011India2025-07-20
1012Italy2025-07-14
1013India2025-07-25
1014Argentina2025-07-26
1015France2025-08-06
1016Russia2025-07-23
1017Australia2025-07-23
1018France2025-07-24
1019Russia2025-08-03
1020Russia2025-08-06
1021Spain2025-07-14
1022Canada2025-08-05
1023Canada2025-07-16
1024United Kingdom2025-07-20
1025Germany2025-08-12
1026France2025-08-10
1027Germany2025-07-25
1028Russia2025-08-12
1029Japan2025-08-07
1030Russia2025-07-31
1031Japan2025-08-07
1032India2025-07-24
1033Russia2025-08-07
1034Argentina2025-07-26
1035Japan2025-07-15
1036Germany2025-08-12
1037Brazil2025-07-28
1038Germany2025-08-09
1039France2025-08-08
1040United Kingdom2025-08-03
1041Russia2025-07-28
1042France2025-07-31
1043France2025-07-22
1044India2025-07-28
1045India2025-08-10
1046India2025-08-06
1047Argentina2025-08-04
1048United Kingdom2025-07-26
1049Canada2025-07-16

On-Demand Data

NameIdCountryDate
Stacey B Whobrey1000Canada2025-07-18
Jeanfrancois H Kolmetz1001Australia2025-08-10
Claire K Bolognia1002India2025-08-12
Kaitlin M Rulapaugh1003India2025-08-02
James L Maclead1004Argentina2025-07-22
Claire T Darakjy1005United Kingdom2025-07-15
Cody M Albares1006Germany2025-08-06
Jeanfrancois R Kolmetz1007Brazil2025-07-20
Johnson B Ostrosky1008Argentina2025-08-03
Clifford V Ostrosky1009Brazil2025-08-03
Claire N Amigon1010Japan2025-07-20
Deepesh S Whobrey1011India2025-07-27
Mujtaba B Ruta1012Spain2025-08-09
Sinclair E Kolmetz1013United Kingdom2025-08-11
Nicolas I Maclead1014France2025-07-29
Faith J Waycott1015Spain2025-07-29
Johnson C Foller1016Brazil2025-08-06
Clifford B Doe1017Japan2025-07-14
Munro W Sergi1018Australia2025-08-07
Nicolas D Darakjy1019Russia2025-07-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair T DoeGermanyElwin Sharvill RENEWAL
Jefferson Z KolmetzAustraliaIoni Bowcher PROPOSAL
Adams H PaprockiIndiaOnyama Limba QUALIFIED
Octavia W FigeroaSpainIoni Bowcher NEW
Maisha Z MorascaIndiaAnna Fali NEW
Mujtaba H FlosiRussiaXuxue Feng NEGOTIATION
Juan E StockhamIndiaBernardo Dominic PROPOSAL
James W MarrierGermanyAnna Fali RENEWAL
Mujtaba B AlbaresItalyBernardo Dominic PROPOSAL
Adams Q SlusarskiGermanyAsiya Javayant UNQUALIFIED
Salvatore J OstroskyUnited KingdomAsiya Javayant NEW
Nicolas Z DoeRussiaIoni Bowcher QUALIFIED
Murillo S WieserFranceAmy Elsner NEGOTIATION
Smith B VocelkaJapanElwin Sharvill QUALIFIED
Jones C GarufiRussiaElwin Sharvill QUALIFIED
Munro S FerenczCanadaIvan Magalhaes RENEWAL
Stacey Z PoquetteArgentinaAnna Fali PROPOSAL
Jones Z MaletUnited KingdomAnna Fali NEW
Smith M NestleCanadaXuxue Feng NEW
Wickens I GarufiSpainBernardo Dominic NEW
Isabel W GarufiAustraliaIoni Bowcher NEGOTIATION
Sinclair M DoeGermanyAsiya Javayant PROPOSAL
Sinclair R BriddickJapanBernardo Dominic NEW
Antonio M PerinGermanyAsiya Javayant QUALIFIED
Izzy A GauchoUnited KingdomIvan Magalhaes NEW
Leja R FerenczAustraliaStephen Shaw PROPOSAL
Juan J KolmetzCanadaElwin Sharvill QUALIFIED
Rodrigues N WhobreyJapanBernardo Dominic NEGOTIATION
Isabel Y KuskoIndiaBernardo Dominic PROPOSAL
Arvin J RutaCanadaElwin Sharvill UNQUALIFIED
Stacey V TollnerFranceBernardo Dominic UNQUALIFIED
Julie E GarufiItalyXuxue Feng UNQUALIFIED
Jefferson P DoeFranceAsiya Javayant NEGOTIATION
Nicolas B KolmetzArgentinaElwin Sharvill RENEWAL
Jennifer N StensethItalyXuxue Feng NEGOTIATION
Deepesh H NickaArgentinaIvan Magalhaes PROPOSAL
Isabel P ChuiRussiaAsiya Javayant QUALIFIED
James B CaudyRussiaStephen Shaw NEW
Adams O MorascaRussiaIoni Bowcher UNQUALIFIED
Emily M PaprockiIndiaAsiya Javayant 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>