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
Alejandro H BologniaCanadaBernardo Dominic NEW
Ricardo D ButtJapanBernardo Dominic QUALIFIED
Mayumi P PoquetteGermanyElwin Sharvill NEW
Johnson U GlickIndiaXuxue Feng UNQUALIFIED
Leon R ButtBrazilElwin Sharvill PROPOSAL
Greenwood D ButtSpainAnna Fali QUALIFIED
Adams E PoquetteArgentinaAmy Elsner NEW
Darci W BologniaCanadaStephen Shaw NEGOTIATION
Emily B DilliardGermanyElwin Sharvill QUALIFIED
Ashley N AmigonAustraliaAmy Elsner UNQUALIFIED
Darci C NickaCanadaOnyama Limba QUALIFIED
Johnson D CaldareraBrazilAnna Fali PROPOSAL
Smith F PaprockiCanadaAsiya Javayant PROPOSAL
Juan T ButtArgentinaOnyama Limba NEW
Jefferson T MacleadUnited KingdomXuxue Feng NEW
Faith A PoquetteRussiaAsiya Javayant PROPOSAL
Ricardo L PerinIndiaOnyama Limba PROPOSAL
Alejandro W KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Emily M InouyeAustraliaOnyama Limba NEW
Johnson P BriddickGermanyOnyama Limba NEGOTIATION
Maria N RulapaughItalyAmy Elsner RENEWAL
Murillo H MaletJapanElwin Sharvill NEW
Silvio R InouyeCanadaXuxue Feng PROPOSAL
Murillo J DoeBrazilAmy Elsner PROPOSAL
Chavez J AlbaresItalyAmy Elsner QUALIFIED
Ivar Z DarakjyFranceElwin Sharvill QUALIFIED
Tony A MorascaAustraliaXuxue Feng NEGOTIATION
Francesco H OldroydArgentinaAnna Fali RENEWAL
Kaitlin M DilliardRussiaXuxue Feng NEGOTIATION
Jefferson A FerenczIndiaBernardo Dominic NEW
Isabel Q GarufiFranceIoni Bowcher QUALIFIED
Ashley M OstroskyUnited KingdomStephen Shaw PROPOSAL
Munro V WaycottItalyElwin Sharvill NEGOTIATION
Arvin Y PaprockiGermanyAmy Elsner UNQUALIFIED
Tony J PaprockiItalyOnyama Limba NEGOTIATION
James J BologniaArgentinaIvan Magalhaes PROPOSAL
Francesco S WhobreyJapanAnna Fali QUALIFIED
Morrow S GauchoSpainIoni Bowcher QUALIFIED
Tony O SergiItalyStephen Shaw UNQUALIFIED
David E DarakjyRussiaElwin Sharvill NEGOTIATION
James G SlusarskiSpainElwin Sharvill PROPOSAL
Octavia T BowleyUnited KingdomOnyama Limba RENEWAL
Claire A GlickUnited KingdomStephen Shaw UNQUALIFIED
Jennifer J PoquetteRussiaXuxue Feng NEGOTIATION
Deepesh M WhobreyIndiaIoni Bowcher NEW
Ivar B TollnerAustraliaIoni Bowcher PROPOSAL
Chavez H PerinBrazilAsiya Javayant PROPOSAL
Kadeem G WhobreyCanadaBernardo Dominic UNQUALIFIED
Deepesh S SchemmerItalyAnna Fali NEGOTIATION
Aruna C FlosiUnited KingdomAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo K OstroskyItalyBernardo Dominic PROPOSAL
Emily Z OstroskyJapanStephen Shaw RENEWAL
Cody G VenereFranceOnyama Limba NEW
Mayumi F CaudySpainIoni Bowcher QUALIFIED
Emily B TollnerUnited KingdomBernardo Dominic RENEWAL
Aika Z StockhamFranceIoni Bowcher PROPOSAL
Emily C BriddickArgentinaAmy Elsner QUALIFIED
Chavez C AmigonGermanyIvan Magalhaes NEW
Aruna K KuskoCanadaAmy Elsner PROPOSAL
Mujtaba V StockhamCanadaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria Q AmigonItaly2025-07-21Benton, John B Jr NEGOTIATION36Elwin Sharvill
1001Aika H NickaSpain2025-07-27Rangoni Of Florence NEW60Bernardo Dominic
1002Leja A InouyeCanada2025-08-07Feltz Printing Service NEGOTIATION3Asiya Javayant
1003Arvin J SaylorsItaly2025-08-12Chanay, Jeffrey A Esq NEW10Elwin Sharvill
1004Smith V BowleyFrance2025-07-18Printing Dimensions NEGOTIATION86Bernardo Dominic
1005Jones Z WieserBrazil2025-08-06Feltz Printing Service NEW50Onyama Limba
1006Arvin K SlusarskiJapan2025-08-07Chapman, Ross E Esq PROPOSAL3Amy Elsner
1007Adams S StockhamRussia2025-08-06Chanay, Jeffrey A Esq QUALIFIED52Anna Fali
1008James R PoquetteJapan2025-08-10Chapman, Ross E Esq QUALIFIED33Ivan Magalhaes
1009Juan V DilliardItaly2025-07-31Benton, John B Jr NEGOTIATION68Amy Elsner
1010Leja P DilliardJapan2025-07-27Chanay, Jeffrey A Esq RENEWAL71Ivan Magalhaes
1011Sinclair J PaprockiItaly2025-07-18Morlong Associates QUALIFIED42Elwin Sharvill
1012Kaitlin B RoysterBrazil2025-07-24Truhlar And Truhlar Attys QUALIFIED12Onyama Limba
1013Antonio U RulapaughCanada2025-08-05Rangoni Of Florence RENEWAL53Ivan Magalhaes
1014Adams O CaldareraFrance2025-07-22Benton, John B Jr NEW53Ivan Magalhaes
1015Mujtaba N CaudyArgentina2025-08-11Feltz Printing Service NEW75Xuxue Feng
1016Tony U IturbideItaly2025-07-23Morlong Associates UNQUALIFIED56Anna Fali
1017Tony D NickaFrance2025-07-27Rousseaux, Michael Esq QUALIFIED27Ivan Magalhaes
1018David X OstroskyArgentina2025-08-08Rousseaux, Michael Esq QUALIFIED3Anna Fali
1019Mujtaba W StensethIndia2025-08-09Truhlar And Truhlar Attys QUALIFIED98Elwin Sharvill
1020Jefferson C MacleadRussia2025-07-24Dorl, James J Esq PROPOSAL88Asiya Javayant
1021Darci X FerenczFrance2025-08-08Chemel, James L Cpa PROPOSAL7Anna Fali
1022Kaitlin F ShinkoRussia2025-07-18Chanay, Jeffrey A Esq NEGOTIATION32Xuxue Feng
1023Munro J RimUnited Kingdom2025-08-07Feiner Bros UNQUALIFIED41Xuxue Feng
1024Wickens Q IturbideArgentina2025-07-30Chapman, Ross E Esq QUALIFIED43Onyama Limba
1025Costa V MaletIndia2025-07-18Rousseaux, Michael Esq RENEWAL1Stephen Shaw
1026Stacey F ShinkoUnited Kingdom2025-07-26Chemel, James L Cpa PROPOSAL87Ivan Magalhaes
1027Jones N CaldareraSpain2025-07-19Rangoni Of Florence NEW88Ioni Bowcher
1028Leja C OstroskyRussia2025-07-17Dorl, James J Esq NEGOTIATION51Stephen Shaw
1029Ashley Z FigeroaBrazil2025-07-28Truhlar And Truhlar Attys NEGOTIATION0Ioni Bowcher
1030Kaitlin W FollerCanada2025-08-04King, Christopher A Esq NEGOTIATION26Xuxue Feng
1031Nicolas J FigeroaFrance2025-07-29Truhlar And Truhlar Attys QUALIFIED4Ivan Magalhaes
1032Antonio G ShinkoGermany2025-07-14Truhlar And Truhlar Attys UNQUALIFIED46Anna Fali
1033Rodrigues J WaycottIndia2025-07-30Chemel, James L Cpa QUALIFIED28Asiya Javayant
1034Julie B BowleyJapan2025-07-28Feltz Printing Service NEW82Anna Fali
1035Deepesh G MacleadSpain2025-07-15Chemel, James L Cpa QUALIFIED86Asiya Javayant
1036Sinclair Y FollerItaly2025-08-02Rousseaux, Michael Esq NEGOTIATION55Bernardo Dominic
1037Maria V SergiAustralia2025-08-06Feiner Bros NEW31Asiya Javayant
1038Isabel N SaylorsAustralia2025-07-25Benton, John B Jr QUALIFIED70Amy Elsner
1039Jeanfrancois M CaudyBrazil2025-07-26Rangoni Of Florence RENEWAL7Elwin Sharvill
1040Jennifer F FollerSpain2025-07-23Dorl, James J Esq RENEWAL85Amy Elsner
1041Ashley Z PerinSpain2025-07-17Feiner Bros QUALIFIED29Ioni Bowcher
1042Aruna G SlusarskiBrazil2025-08-03Chanay, Jeffrey A Esq QUALIFIED50Elwin Sharvill
1043Stacey A AmigonAustralia2025-07-17Chemel, James L Cpa RENEWAL88Xuxue Feng
1044Ivar K AmigonItaly2025-07-25Buckley Miller Wright NEGOTIATION41Bernardo Dominic
1045Greenwood M TollnerAustralia2025-07-26Chapman, Ross E Esq PROPOSAL3Amy Elsner
1046Isabel M StensethBrazil2025-08-09Buckley Miller Wright QUALIFIED72Elwin Sharvill
1047Antonio Q DarakjyArgentina2025-07-22Rousseaux, Michael Esq NEW49Stephen Shaw
1048Jennifer Z OstroskyIndia2025-07-22Feiner Bros UNQUALIFIED30Xuxue Feng
1049Wickens L RutaArgentina2025-07-15Feiner Bros RENEWAL60Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Morrow N AlbaresBrazilElwin Sharvill NEW
Salvatore W FollerBrazilElwin Sharvill QUALIFIED
Leon E MacleadFranceAnna Fali NEGOTIATION
Claire C TollnerUnited KingdomAnna Fali QUALIFIED
Octavia Z ButtBrazilIoni Bowcher UNQUALIFIED
Ricardo H PaprockiSpainElwin Sharvill QUALIFIED
Emily L VenereRussiaElwin Sharvill NEW
James V WaycottItalyElwin Sharvill NEGOTIATION
Silvio N InouyeRussiaBernardo Dominic RENEWAL
Tony S RulapaughBrazilXuxue Feng PROPOSAL
Kadeem C PaprockiUnited KingdomAsiya Javayant QUALIFIED
Claire F RimArgentinaIoni Bowcher UNQUALIFIED
Rodrigues D KolmetzItalyAnna Fali RENEWAL
Ivar Z AlbaresAustraliaElwin Sharvill NEW
Darci I GarufiJapanIvan Magalhaes UNQUALIFIED
Jones P MarrierJapanElwin Sharvill QUALIFIED
Ivar P KuskoFranceStephen Shaw UNQUALIFIED
Munro Q OstroskyFranceAsiya Javayant QUALIFIED
Aika R TollnerSpainStephen Shaw PROPOSAL
Johnson N StockhamFranceOnyama Limba PROPOSAL
Maria I SaylorsIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois S GillianRussiaStephen Shaw PROPOSAL
Aruna S MacleadArgentinaXuxue Feng PROPOSAL
Greenwood Q WaycottUnited KingdomAsiya Javayant NEW
Jefferson E OldroydSpainIvan Magalhaes UNQUALIFIED
Aditya O StensethCanadaAmy Elsner UNQUALIFIED
Kadeem O OstroskyUnited KingdomAmy Elsner QUALIFIED
Mujtaba F IturbideUnited KingdomAmy Elsner RENEWAL
Maria G WaycottJapanIvan Magalhaes QUALIFIED
Leja V StensethRussiaIoni Bowcher NEW
Jeanfrancois Q RimGermanyBernardo Dominic NEW
Chavez B RutaItalyIoni Bowcher QUALIFIED
Kaitlin A FollerCanadaStephen Shaw QUALIFIED
Tony J AlbaresRussiaElwin Sharvill NEGOTIATION
Arvin P GlickAustraliaStephen Shaw PROPOSAL
Johnson O PerinGermanyAmy Elsner RENEWAL
Stacey J OldroydUnited KingdomXuxue Feng NEGOTIATION
James T FerenczArgentinaIvan Magalhaes UNQUALIFIED
Jones Z RimBrazilStephen Shaw RENEWAL
Ashley D WaycottArgentinaOnyama Limba QUALIFIED
Greenwood K MorascaItalyXuxue Feng NEGOTIATION
Wickens K GarufiJapanAnna Fali NEGOTIATION
Kaitlin Z OstroskySpainXuxue Feng RENEWAL
Ricardo R SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh F CaldareraItalyOnyama Limba NEW
Mujtaba W NestleArgentinaStephen Shaw RENEWAL
Salvatore E KuskoCanadaAmy Elsner NEW
Maisha B FigeroaCanadaIoni Bowcher RENEWAL
Salvatore R PerinItalyAsiya Javayant RENEWAL
Darci U RimSpainBernardo Dominic PROPOSAL
Frozen Columns
Name
Jones S Rim
Rodrigues J Poquette
Jefferson F Malet
Salvatore G Paprocki
Ricardo A Butt
James F Flosi
Wickens N Saylors
Emily M Gillian
Deepesh H Malet
Isabel U Vocelka
Jeanfrancois M Schemmer
Ivar S Gaucho
Nicolas B Bolognia
Wickens B Waycott
Rodrigues L Glick
Aruna Y Venere
Sinclair O Butt
Wickens K Morasca
Greenwood E Kolmetz
Kaitlin I Doe
Aika U Tollner
Jefferson C Nestle
Maria U Garufi
Misaki E Paprocki
Ricardo R Sergi
Sinclair M Wieser
Izzy M Nicka
Salvatore X Saylors
Nicolas L Kolmetz
Juan P Albares
Ricardo E Malet
Leon K Kolmetz
Rodrigues V Foller
Smith U Flosi
Tony N Doe
Deepesh R Ostrosky
Jennifer R Glick
Kaitlin M Maclead
Costa E Stockham
Claire J Marrier
Faith J Vocelka
Aika X Chui
Smith H Briddick
Wickens D Morasca
Emily J Whobrey
Leon S Saylors
Adams V Nestle
Kaitlin W Chui
Claire U Sergi
Salvatore E Morasca
IdCountryDate
1000Canada2025-08-04
1001Germany2025-08-02
1002India2025-08-05
1003Germany2025-07-28
1004Canada2025-07-29
1005United Kingdom2025-07-27
1006Russia2025-07-20
1007Brazil2025-07-14
1008Japan2025-08-06
1009Australia2025-08-07
1010France2025-08-09
1011Japan2025-07-28
1012Italy2025-08-09
1013France2025-08-12
1014Spain2025-07-20
1015Russia2025-07-29
1016Spain2025-08-11
1017Spain2025-07-25
1018Japan2025-07-29
1019Italy2025-08-03
1020Japan2025-07-23
1021Germany2025-07-22
1022Germany2025-08-03
1023Canada2025-07-18
1024India2025-08-09
1025France2025-08-04
1026France2025-08-08
1027Argentina2025-07-23
1028Brazil2025-07-21
1029Italy2025-08-04
1030Spain2025-07-27
1031Argentina2025-07-21
1032Russia2025-07-16
1033Australia2025-07-20
1034United Kingdom2025-08-11
1035Russia2025-08-04
1036Japan2025-08-05
1037Japan2025-07-23
1038Brazil2025-08-07
1039United Kingdom2025-07-22
1040Italy2025-08-03
1041Spain2025-07-29
1042Russia2025-07-22
1043Australia2025-08-02
1044Germany2025-07-27
1045Brazil2025-08-10
1046Italy2025-08-11
1047France2025-07-29
1048Argentina2025-08-06
1049Spain2025-08-10

On-Demand Data

NameIdCountryDate
Maisha Y Rim1000Australia2025-08-04
Jefferson A Waycott1001Canada2025-07-23
Tony Y Bowley1002Canada2025-07-23
Jones R Nicka1003Spain2025-08-03
Claire F Caudy1004Japan2025-08-10
Morrow L Ferencz1005Spain2025-07-24
Maria O Bowley1006Brazil2025-07-29
Munro L Ostrosky1007India2025-07-22
Wickens P Bolognia1008Italy2025-07-24
Cody D Waycott1009India2025-07-22
Adams C Shinko1010Spain2025-07-15
Johnson A Figeroa1011Australia2025-07-26
Alejandro S Butt1012United Kingdom2025-07-25
Morrow U Sergi1013France2025-08-12
Tony N Poquette1014Spain2025-07-19
Maisha D Slusarski1015United Kingdom2025-07-16
Julie F Wieser1016France2025-08-04
Emily I Paprocki1017Brazil2025-08-02
Smith F Sergi1018Australia2025-07-29
Jones D Whobrey1019Canada2025-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia X InouyeRussiaXuxue Feng NEW
Nicolas Y SaylorsJapanAsiya Javayant NEW
Darci H RimAustraliaXuxue Feng NEGOTIATION
Francesco E BowleyIndiaBernardo Dominic NEGOTIATION
Misaki D DarakjySpainXuxue Feng QUALIFIED
Octavia N GauchoArgentinaBernardo Dominic RENEWAL
Costa L RoysterSpainXuxue Feng QUALIFIED
Jennifer S ChuiJapanElwin Sharvill QUALIFIED
Maria T TollnerJapanStephen Shaw PROPOSAL
Francesco L TollnerFranceAmy Elsner QUALIFIED
Antonio N StockhamRussiaAmy Elsner QUALIFIED
Johnson R OldroydFranceOnyama Limba RENEWAL
Juan I SlusarskiBrazilBernardo Dominic PROPOSAL
Maisha N ChuiItalyIoni Bowcher RENEWAL
Claire X OstroskySpainOnyama Limba QUALIFIED
Misaki M BologniaIndiaXuxue Feng NEW
Misaki O TollnerRussiaElwin Sharvill RENEWAL
Alejandro J OldroydArgentinaIvan Magalhaes NEGOTIATION
Chavez T StensethFranceAnna Fali RENEWAL
Francesco Z RoysterIndiaAsiya Javayant UNQUALIFIED
Octavia M CaldareraAustraliaIoni Bowcher NEW
Stacey Y GlickArgentinaElwin Sharvill RENEWAL
Stacey J FerenczArgentinaBernardo Dominic QUALIFIED
Nicolas T RimArgentinaAnna Fali NEW
Mujtaba X StensethJapanElwin Sharvill UNQUALIFIED
Greenwood R GarufiArgentinaAnna Fali QUALIFIED
Aika A BologniaIndiaBernardo Dominic NEW
Juan A ButtIndiaIoni Bowcher PROPOSAL
Clifford J GarufiCanadaAnna Fali NEGOTIATION
Leon T StockhamFranceStephen Shaw RENEWAL
Sinclair M VenereArgentinaIoni Bowcher NEGOTIATION
Murillo O FollerUnited KingdomAsiya Javayant QUALIFIED
Jeanfrancois O VocelkaJapanIoni Bowcher PROPOSAL
Adams D VenereUnited KingdomAmy Elsner NEW
Kadeem C FigeroaItalyAnna Fali RENEWAL
Antonio A ChuiUnited KingdomBernardo Dominic NEW
Chavez Y StensethSpainAsiya Javayant QUALIFIED
Faith T ShinkoFranceIoni Bowcher UNQUALIFIED
Morrow J AmigonGermanyAnna Fali PROPOSAL
Smith B GillianFranceAnna Fali 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>