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 P BologniaCanadaStephen Shaw NEW
Leon O FigeroaItalyIoni Bowcher PROPOSAL
Clifford I RutaGermanyElwin Sharvill NEGOTIATION
Mayumi C BologniaGermanyAnna Fali PROPOSAL
Adams U BologniaJapanStephen Shaw RENEWAL
Aditya S FigeroaBrazilIoni Bowcher NEGOTIATION
Alejandro B DilliardBrazilOnyama Limba PROPOSAL
Smith W SlusarskiIndiaAsiya Javayant QUALIFIED
Arvin H DoeGermanyOnyama Limba NEGOTIATION
Arvin G ButtCanadaIvan Magalhaes NEW
Stacey V WieserJapanIoni Bowcher QUALIFIED
Jennifer F OldroydAustraliaOnyama Limba UNQUALIFIED
Aika X TollnerGermanyIoni Bowcher RENEWAL
Munro R DoeCanadaAnna Fali UNQUALIFIED
Greenwood Y TollnerItalyIoni Bowcher NEW
Francesco M GlickItalyBernardo Dominic RENEWAL
Alejandro C SchemmerAustraliaStephen Shaw QUALIFIED
Octavia B FollerRussiaAsiya Javayant PROPOSAL
Morrow N RoysterBrazilAsiya Javayant QUALIFIED
Faith S BologniaAustraliaStephen Shaw RENEWAL
Chavez T KuskoFranceBernardo Dominic RENEWAL
Silvio L NickaIndiaAsiya Javayant NEW
Tony L MorascaArgentinaOnyama Limba RENEWAL
Arvin E MorascaFranceAsiya Javayant UNQUALIFIED
Isabel J MaletItalyStephen Shaw NEW
Leon B PoquetteAustraliaAsiya Javayant PROPOSAL
Kaitlin K PerinArgentinaIvan Magalhaes QUALIFIED
Maria A KolmetzJapanOnyama Limba NEW
Wickens Y StockhamGermanyAsiya Javayant RENEWAL
David N DarakjyFranceIoni Bowcher QUALIFIED
Ricardo D BriddickIndiaAmy Elsner NEW
Deepesh K WieserUnited KingdomOnyama Limba RENEWAL
Munro G DoeIndiaBernardo Dominic NEGOTIATION
Jeanfrancois Z NestleCanadaAnna Fali NEW
Stacey C KuskoJapanOnyama Limba QUALIFIED
Kaitlin F CaudyCanadaElwin Sharvill NEGOTIATION
Murillo A BowleyCanadaBernardo Dominic QUALIFIED
Clifford J ShinkoCanadaStephen Shaw NEW
Izzy U ButtCanadaBernardo Dominic QUALIFIED
Munro X PoquetteArgentinaAmy Elsner UNQUALIFIED
Izzy Q NickaUnited KingdomXuxue Feng PROPOSAL
Jones I BologniaJapanStephen Shaw NEGOTIATION
Francesco H CaudyGermanyElwin Sharvill PROPOSAL
Jones D MaletIndiaXuxue Feng QUALIFIED
Chavez C StensethSpainAmy Elsner NEGOTIATION
Aika K CaudyFranceElwin Sharvill NEGOTIATION
Octavia M FigeroaArgentinaOnyama Limba PROPOSAL
Juan B GarufiCanadaAsiya Javayant NEGOTIATION
Leon R DilliardItalyStephen Shaw RENEWAL
Murillo Q SchemmerGermanyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas R RulapaughItalyXuxue Feng RENEWAL
Ashley C GillianJapanStephen Shaw PROPOSAL
Maisha U AmigonUnited KingdomAsiya Javayant PROPOSAL
Mayumi Q BologniaIndiaAsiya Javayant RENEWAL
Jeanfrancois Q ButtSpainIvan Magalhaes QUALIFIED
Ivar Z CaldareraBrazilAnna Fali UNQUALIFIED
Claire Z BowleySpainIvan Magalhaes QUALIFIED
Leja Y PoquetteBrazilAsiya Javayant UNQUALIFIED
Octavia A PaprockiFranceElwin Sharvill RENEWAL
Mayumi Y BriddickAustraliaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley A StockhamUnited Kingdom2025-08-05Rangoni Of Florence RENEWAL8Asiya Javayant
1001Wickens K DarakjyGermany2025-08-12Rousseaux, Michael Esq QUALIFIED68Bernardo Dominic
1002Adams C CaudyItaly2025-08-10Truhlar And Truhlar Attys NEW40Amy Elsner
1003Rodrigues R AmigonIndia2025-08-04Commercial Press UNQUALIFIED12Ivan Magalhaes
1004Morrow Y OldroydFrance2025-08-22Feltz Printing Service UNQUALIFIED45Onyama Limba
1005Leja T WhobreyRussia2025-08-08Commercial Press NEW28Ivan Magalhaes
1006Leon N MaletAustralia2025-08-12Commercial Press RENEWAL17Amy Elsner
1007Munro Y PerinIndia2025-08-10Chanay, Jeffrey A Esq QUALIFIED81Asiya Javayant
1008Chavez J MarrierSpain2025-08-12Morlong Associates NEW7Amy Elsner
1009Aika V WaycottItaly2025-08-13Benton, John B Jr QUALIFIED69Anna Fali
1010Jefferson I PoquetteFrance2025-08-03Truhlar And Truhlar Attys QUALIFIED48Onyama Limba
1011James E ChuiArgentina2025-08-02Truhlar And Truhlar Attys RENEWAL91Xuxue Feng
1012Francesco J MaletGermany2025-08-20Dorl, James J Esq RENEWAL65Ivan Magalhaes
1013Costa G AlbaresFrance2025-08-01Morlong Associates UNQUALIFIED99Amy Elsner
1014Stacey B DarakjySpain2025-08-09Dorl, James J Esq NEGOTIATION80Elwin Sharvill
1015Mujtaba I RulapaughJapan2025-08-02Benton, John B Jr QUALIFIED2Elwin Sharvill
1016Arvin B CaldareraAustralia2025-08-16Benton, John B Jr PROPOSAL54Amy Elsner
1017Chavez Q FigeroaGermany2025-08-07Feiner Bros NEGOTIATION64Asiya Javayant
1018James J AmigonFrance2025-08-26Chanay, Jeffrey A Esq RENEWAL46Ivan Magalhaes
1019Leja K SchemmerRussia2025-08-21Rousseaux, Michael Esq QUALIFIED88Ivan Magalhaes
1020James A CaudyGermany2025-08-10Chemel, James L Cpa NEW62Asiya Javayant
1021Johnson S GarufiRussia2025-08-04Rousseaux, Michael Esq PROPOSAL63Xuxue Feng
1022Maria Z KolmetzJapan2025-08-04Chemel, James L Cpa QUALIFIED75Elwin Sharvill
1023Darci E KolmetzFrance2025-08-10Chapman, Ross E Esq NEGOTIATION46Xuxue Feng
1024Ashley M WaycottItaly2025-08-17Rangoni Of Florence RENEWAL61Elwin Sharvill
1025Leon C TollnerAustralia2025-08-12Chemel, James L Cpa QUALIFIED40Asiya Javayant
1026Arvin H AlbaresItaly2025-07-31Chanay, Jeffrey A Esq RENEWAL75Amy Elsner
1027Juan A PoquetteCanada2025-08-20Commercial Press RENEWAL36Anna Fali
1028Cody S DilliardSpain2025-07-31Morlong Associates NEGOTIATION32Ioni Bowcher
1029Morrow Z MarrierFrance2025-08-13Rangoni Of Florence UNQUALIFIED7Asiya Javayant
1030Aruna I GauchoJapan2025-08-14Buckley Miller Wright UNQUALIFIED25Bernardo Dominic
1031Claire S DoeCanada2025-08-05Feiner Bros QUALIFIED29Asiya Javayant
1032Isabel R FerenczUnited Kingdom2025-08-02Rangoni Of Florence PROPOSAL88Elwin Sharvill
1033Wickens C GlickSpain2025-08-11Printing Dimensions RENEWAL43Elwin Sharvill
1034Antonio P ButtBrazil2025-08-26Morlong Associates QUALIFIED47Onyama Limba
1035Antonio D NestleRussia2025-08-14Feltz Printing Service PROPOSAL59Ivan Magalhaes
1036Aika B RutaRussia2025-08-08Truhlar And Truhlar Attys NEW82Anna Fali
1037Antonio X RulapaughUnited Kingdom2025-08-19Rangoni Of Florence PROPOSAL44Onyama Limba
1038Adams S PaprockiUnited Kingdom2025-08-07Feiner Bros NEW88Elwin Sharvill
1039Aruna Q FollerAustralia2025-07-30Chapman, Ross E Esq QUALIFIED54Onyama Limba
1040Rodrigues M RoysterArgentina2025-08-01Rousseaux, Michael Esq PROPOSAL86Xuxue Feng
1041Stacey A IturbideGermany2025-08-10King, Christopher A Esq UNQUALIFIED94Stephen Shaw
1042Mayumi N InouyeRussia2025-07-30Printing Dimensions RENEWAL44Asiya Javayant
1043Aditya S WieserFrance2025-08-21Rousseaux, Michael Esq QUALIFIED76Stephen Shaw
1044Greenwood K WaycottCanada2025-07-31Truhlar And Truhlar Attys QUALIFIED95Elwin Sharvill
1045Deepesh P MaletCanada2025-08-01Morlong Associates UNQUALIFIED1Amy Elsner
1046Juan A ShinkoItaly2025-08-04Chapman, Ross E Esq QUALIFIED16Anna Fali
1047Munro A BriddickArgentina2025-08-26Morlong Associates PROPOSAL65Anna Fali
1048Ashley P InouyeRussia2025-08-21Feltz Printing Service UNQUALIFIED14Asiya Javayant
1049Kadeem O SlusarskiCanada2025-08-01Feiner Bros PROPOSAL90Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh A RutaArgentinaAnna Fali QUALIFIED
Munro P BowleyCanadaIoni Bowcher QUALIFIED
Cody V SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Chavez N PoquetteIndiaBernardo Dominic NEGOTIATION
Ricardo Y BriddickCanadaBernardo Dominic NEGOTIATION
Maisha C RoysterJapanStephen Shaw UNQUALIFIED
Octavia B AlbaresArgentinaElwin Sharvill RENEWAL
Mayumi D WaycottGermanyIvan Magalhaes NEW
Izzy G SaylorsFranceIvan Magalhaes NEGOTIATION
Clifford U GlickJapanAmy Elsner NEW
Ricardo E GauchoBrazilAsiya Javayant NEW
James X PerinFranceOnyama Limba NEGOTIATION
Ricardo U GillianCanadaStephen Shaw PROPOSAL
Arvin G PoquetteJapanOnyama Limba UNQUALIFIED
Kaitlin A IturbideUnited KingdomStephen Shaw PROPOSAL
Isabel D OldroydGermanyAnna Fali UNQUALIFIED
Jones M GillianSpainIvan Magalhaes NEW
Salvatore U BowleyIndiaXuxue Feng NEGOTIATION
Rodrigues N ButtRussiaIvan Magalhaes UNQUALIFIED
Alejandro W GlickArgentinaOnyama Limba NEW
Octavia Y SergiRussiaElwin Sharvill NEGOTIATION
Salvatore K FerenczSpainAnna Fali NEW
Adams W BologniaItalyStephen Shaw UNQUALIFIED
Julie M AmigonJapanElwin Sharvill PROPOSAL
Sinclair Y SchemmerArgentinaElwin Sharvill QUALIFIED
Faith K GauchoSpainElwin Sharvill UNQUALIFIED
Octavia O KuskoAustraliaOnyama Limba NEW
Clifford K SlusarskiArgentinaAmy Elsner PROPOSAL
Greenwood P SlusarskiSpainAnna Fali PROPOSAL
David J StockhamFranceIvan Magalhaes RENEWAL
Murillo V BologniaGermanyElwin Sharvill NEGOTIATION
Isabel H PaprockiCanadaOnyama Limba PROPOSAL
Chavez K KuskoAustraliaOnyama Limba NEGOTIATION
Stacey D OstroskyJapanIoni Bowcher QUALIFIED
Faith X PoquetteJapanIoni Bowcher PROPOSAL
Darci H FerenczIndiaAsiya Javayant NEW
Francesco K BologniaItalyIvan Magalhaes UNQUALIFIED
Jones J PaprockiUnited KingdomElwin Sharvill QUALIFIED
Francesco Q CampainItalyBernardo Dominic QUALIFIED
Ivar M WaycottUnited KingdomAsiya Javayant NEGOTIATION
Izzy A VenereRussiaOnyama Limba UNQUALIFIED
Aika D ChuiUnited KingdomAsiya Javayant NEGOTIATION
Francesco U FollerIndiaXuxue Feng QUALIFIED
Isabel Q MaletIndiaBernardo Dominic NEGOTIATION
Jones Z NickaGermanyIoni Bowcher RENEWAL
Darci U DoeGermanyAsiya Javayant NEGOTIATION
Murillo R ShinkoFranceStephen Shaw PROPOSAL
Ashley W BriddickItalyAsiya Javayant PROPOSAL
Emily S WaycottItalyAnna Fali QUALIFIED
Cody X KuskoRussiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Sinclair L Chui
Kaitlin C Perin
Isabel O Tollner
Cody A Nestle
Morrow H Gillian
Deepesh U Ferencz
Maria C Stenseth
Darci T Darakjy
Jeanfrancois L Garufi
Antonio A Ruta
Isabel A Ostrosky
Jennifer R Garufi
Alejandro W Shinko
Sinclair I Albares
Emily C Nicka
Juan N Poquette
Mujtaba Z Schemmer
Ivar F Perin
Adams Q Butt
Munro F Whobrey
Leon B Tollner
Julie L Briddick
Morrow M Chui
Maria N Marrier
Jennifer M Albares
Mayumi Q Paprocki
Adams Z Kusko
Cody W Rulapaugh
Leon A Rim
Juan V Kolmetz
Ivar O Briddick
Claire I Saylors
Aruna W Whobrey
Jeanfrancois A Paprocki
David M Nestle
Adams E Garufi
Alejandro L Waycott
Darci W Chui
Mayumi C Sergi
Alejandro A Vocelka
David I Paprocki
Silvio T Campain
Maisha L Oldroyd
Mayumi Z Maclead
Julie H Dilliard
Arvin C Marrier
Ivar F Figeroa
Ricardo B Foller
Maisha P Rulapaugh
Adams S Slusarski
IdCountryDate
1000Japan2025-08-28
1001Japan2025-08-17
1002Canada2025-07-30
1003Brazil2025-08-06
1004India2025-08-15
1005Australia2025-08-14
1006United Kingdom2025-08-23
1007Russia2025-08-12
1008Spain2025-08-18
1009Argentina2025-08-13
1010Russia2025-08-24
1011Russia2025-08-06
1012Japan2025-08-10
1013France2025-08-28
1014Spain2025-08-28
1015Japan2025-08-08
1016Japan2025-08-13
1017Brazil2025-08-18
1018India2025-08-10
1019Germany2025-08-01
1020Argentina2025-07-30
1021Australia2025-08-17
1022Argentina2025-08-22
1023United Kingdom2025-08-14
1024Germany2025-08-23
1025Russia2025-08-14
1026India2025-08-02
1027Spain2025-08-07
1028Italy2025-08-22
1029Russia2025-08-25
1030France2025-08-26
1031Japan2025-08-10
1032Brazil2025-08-16
1033Canada2025-08-07
1034Canada2025-08-25
1035Japan2025-08-17
1036India2025-07-30
1037Australia2025-08-01
1038India2025-08-27
1039Spain2025-07-30
1040Germany2025-08-01
1041Canada2025-08-06
1042Brazil2025-08-26
1043Australia2025-08-09
1044Italy2025-08-22
1045India2025-08-10
1046France2025-08-09
1047Spain2025-08-28
1048United Kingdom2025-08-01
1049Russia2025-08-05

On-Demand Data

NameIdCountryDate
Murillo D Stockham1000United Kingdom2025-08-06
Smith C Whobrey1001Argentina2025-08-16
Nicolas J Caudy1002Russia2025-08-02
Juan M Royster1003France2025-07-31
Johnson R Ostrosky1004Brazil2025-08-11
Claire Y Marrier1005India2025-08-04
Munro I Dilliard1006Canada2025-08-08
Adams P Gillian1007Spain2025-08-10
Leon M Darakjy1008Canada2025-08-05
Silvio Z Poquette1009Spain2025-08-11
Ivar K Saylors1010Brazil2025-08-13
Izzy H Paprocki1011Canada2025-08-12
Leja L Perin1012United Kingdom2025-08-12
Jennifer E Figeroa1013Germany2025-08-26
Sinclair W Campain1014France2025-08-16
Julie U Royster1015India2025-08-18
Clifford R Kolmetz1016Canada2025-08-23
Ashley X Maclead1017Japan2025-08-17
Nicolas T Rulapaugh1018Japan2025-08-09
Misaki U Inouye1019Australia2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin X PaprockiBrazilIoni Bowcher QUALIFIED
Greenwood J MaletUnited KingdomStephen Shaw PROPOSAL
Jefferson E RulapaughArgentinaAsiya Javayant RENEWAL
Salvatore X WaycottIndiaAsiya Javayant RENEWAL
Isabel Z SaylorsBrazilIoni Bowcher QUALIFIED
Costa S WieserJapanElwin Sharvill QUALIFIED
James A GillianIndiaXuxue Feng RENEWAL
Murillo M ShinkoJapanAsiya Javayant PROPOSAL
Alejandro F PoquetteItalyBernardo Dominic QUALIFIED
Jefferson S KolmetzBrazilIvan Magalhaes PROPOSAL
Cody T ButtBrazilOnyama Limba UNQUALIFIED
Munro H MacleadIndiaOnyama Limba NEW
Aika X StockhamAustraliaOnyama Limba QUALIFIED
Stacey J GarufiUnited KingdomStephen Shaw QUALIFIED
Ashley O GarufiGermanyOnyama Limba NEGOTIATION
Costa I VenereSpainElwin Sharvill UNQUALIFIED
Leon Z FigeroaIndiaIoni Bowcher QUALIFIED
Darci F GlickSpainIvan Magalhaes UNQUALIFIED
Aika C CaudyFranceIvan Magalhaes RENEWAL
Maisha F OldroydFranceIoni Bowcher UNQUALIFIED
Jeanfrancois Q WaycottJapanXuxue Feng QUALIFIED
Murillo Z VocelkaItalyAmy Elsner NEW
Chavez D StensethRussiaIoni Bowcher PROPOSAL
Chavez N NickaSpainIoni Bowcher PROPOSAL
Deepesh F MaletFranceIoni Bowcher NEW
Kaitlin Z SaylorsSpainXuxue Feng PROPOSAL
Aditya C FlosiCanadaIvan Magalhaes RENEWAL
Misaki H RimArgentinaOnyama Limba PROPOSAL
Antonio W PaprockiAustraliaOnyama Limba NEW
James O InouyeIndiaOnyama Limba RENEWAL
Costa G NickaCanadaIvan Magalhaes UNQUALIFIED
Juan Y MacleadAustraliaStephen Shaw QUALIFIED
Morrow V BologniaAustraliaIvan Magalhaes RENEWAL
Cody V SaylorsAustraliaStephen Shaw UNQUALIFIED
Aika Q SergiGermanyIoni Bowcher QUALIFIED
Jefferson U BologniaFranceAnna Fali NEW
Aruna T MorascaBrazilOnyama Limba PROPOSAL
Mujtaba O CaudyUnited KingdomXuxue Feng QUALIFIED
Kadeem D WhobreyIndiaXuxue Feng NEW
Izzy T MaletItalyOnyama Limba 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>