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
Deepesh I AlbaresFranceIvan Magalhaes PROPOSAL
Octavia N SchemmerRussiaBernardo Dominic RENEWAL
Francesco H OldroydSpainAnna Fali NEGOTIATION
Wickens D SaylorsAustraliaAsiya Javayant NEGOTIATION
Julie U GillianJapanAmy Elsner UNQUALIFIED
Cody O WieserUnited KingdomStephen Shaw UNQUALIFIED
Salvatore H BriddickBrazilAnna Fali NEW
Tony K SlusarskiIndiaAnna Fali UNQUALIFIED
Jeanfrancois M FlosiBrazilElwin Sharvill NEW
Maisha F OldroydAustraliaIvan Magalhaes UNQUALIFIED
Aditya D PerinRussiaOnyama Limba NEGOTIATION
Clifford G PerinRussiaBernardo Dominic QUALIFIED
Murillo Z CaudyAustraliaElwin Sharvill RENEWAL
Jeanfrancois P FigeroaItalyIvan Magalhaes RENEWAL
Cody Q RoysterAustraliaStephen Shaw NEW
Misaki S RutaAustraliaXuxue Feng PROPOSAL
Munro X StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas I WhobreyFranceIoni Bowcher UNQUALIFIED
Octavia O RulapaughArgentinaIoni Bowcher RENEWAL
Jones T RulapaughArgentinaAnna Fali QUALIFIED
Leja M AmigonIndiaIoni Bowcher PROPOSAL
Chavez Z OldroydRussiaIvan Magalhaes NEW
Leon I MarrierCanadaElwin Sharvill NEGOTIATION
Emily Z ShinkoIndiaOnyama Limba NEW
Darci W PerinBrazilAmy Elsner RENEWAL
Mayumi V SaylorsUnited KingdomIoni Bowcher QUALIFIED
Adams P CaudyIndiaIoni Bowcher QUALIFIED
Ivar U GillianSpainAnna Fali UNQUALIFIED
Cody F GarufiUnited KingdomElwin Sharvill NEGOTIATION
Antonio Q GillianFranceElwin Sharvill UNQUALIFIED
Julie X RimGermanyAsiya Javayant PROPOSAL
Wickens M AmigonSpainXuxue Feng PROPOSAL
Silvio O RimSpainXuxue Feng NEW
Rodrigues Q VenereBrazilBernardo Dominic PROPOSAL
Francesco O VenereIndiaElwin Sharvill UNQUALIFIED
Ivar Z ButtRussiaIoni Bowcher RENEWAL
Isabel F DilliardSpainAmy Elsner NEGOTIATION
Munro Q SaylorsRussiaAnna Fali UNQUALIFIED
Izzy L AmigonRussiaXuxue Feng PROPOSAL
Antonio O StockhamGermanyXuxue Feng UNQUALIFIED
Darci K GarufiArgentinaBernardo Dominic UNQUALIFIED
Rodrigues S BowleyItalyIvan Magalhaes NEGOTIATION
Smith Q OstroskyUnited KingdomStephen Shaw RENEWAL
Cody R WhobreySpainOnyama Limba NEW
Francesco V ButtRussiaAsiya Javayant PROPOSAL
Kadeem A SaylorsGermanyIoni Bowcher NEW
Claire V SchemmerGermanyElwin Sharvill UNQUALIFIED
Octavia S GauchoItalyStephen Shaw RENEWAL
Stacey V PaprockiBrazilOnyama Limba NEGOTIATION
Smith C BologniaUnited KingdomStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro C TollnerBrazilAnna Fali QUALIFIED
Aditya A SlusarskiRussiaXuxue Feng UNQUALIFIED
Leja E MaletBrazilAsiya Javayant UNQUALIFIED
Alejandro B BologniaBrazilOnyama Limba UNQUALIFIED
Mayumi B RimUnited KingdomOnyama Limba NEW
Emily E GauchoJapanAsiya Javayant PROPOSAL
Johnson D MaletArgentinaOnyama Limba RENEWAL
Claire U AmigonItalyBernardo Dominic NEGOTIATION
Clifford A MacleadUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois A SergiAustraliaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford J MorascaCanada2025-08-18Benton, John B Jr QUALIFIED35Anna Fali
1001Mujtaba S InouyeJapan2025-07-30Rousseaux, Michael Esq UNQUALIFIED58Stephen Shaw
1002Leja I StensethSpain2025-08-03Buckley Miller Wright PROPOSAL78Amy Elsner
1003Smith T VocelkaCanada2025-07-26Dorl, James J Esq QUALIFIED11Elwin Sharvill
1004Arvin E DilliardJapan2025-08-02Chapman, Ross E Esq NEW72Amy Elsner
1005Jefferson Q RimRussia2025-07-23Rousseaux, Michael Esq NEGOTIATION80Amy Elsner
1006Cody D FollerSpain2025-08-07Printing Dimensions NEGOTIATION38Elwin Sharvill
1007Morrow X InouyeArgentina2025-08-01Commercial Press QUALIFIED62Amy Elsner
1008Octavia M BowleyJapan2025-07-30Feiner Bros QUALIFIED53Ivan Magalhaes
1009Faith Y MaletUnited Kingdom2025-07-22Rousseaux, Michael Esq NEGOTIATION18Amy Elsner
1010Murillo K KuskoFrance2025-07-21Dorl, James J Esq NEGOTIATION52Onyama Limba
1011Maisha L BologniaFrance2025-08-12Rousseaux, Michael Esq QUALIFIED85Anna Fali
1012Arvin V RoysterItaly2025-08-01Rangoni Of Florence NEW5Stephen Shaw
1013Julie A ButtFrance2025-08-02Commercial Press NEGOTIATION77Asiya Javayant
1014Darci J BowleySpain2025-08-02Feltz Printing Service NEW37Amy Elsner
1015Kadeem W PerinFrance2025-07-21Commercial Press NEGOTIATION5Anna Fali
1016Jennifer U DarakjySpain2025-07-27Truhlar And Truhlar Attys PROPOSAL54Xuxue Feng
1017Smith K FerenczCanada2025-07-23Benton, John B Jr PROPOSAL3Anna Fali
1018Juan Z SaylorsBrazil2025-07-23Morlong Associates PROPOSAL99Stephen Shaw
1019Nicolas M MarrierItaly2025-08-15Chanay, Jeffrey A Esq UNQUALIFIED88Onyama Limba
1020Rodrigues U DarakjyBrazil2025-08-03Truhlar And Truhlar Attys NEW70Onyama Limba
1021Aika L CaudyItaly2025-08-11King, Christopher A Esq NEGOTIATION56Amy Elsner
1022Sinclair L InouyeUnited Kingdom2025-07-21Benton, John B Jr QUALIFIED5Anna Fali
1023Smith D CampainAustralia2025-07-30Truhlar And Truhlar Attys PROPOSAL2Ivan Magalhaes
1024Adams Z WaycottItaly2025-07-25Chapman, Ross E Esq NEW29Stephen Shaw
1025Deepesh G SergiIndia2025-08-12Rangoni Of Florence UNQUALIFIED0Ivan Magalhaes
1026Stacey U GlickRussia2025-07-25Commercial Press QUALIFIED51Anna Fali
1027Izzy H ButtUnited Kingdom2025-07-23Benton, John B Jr PROPOSAL25Xuxue Feng
1028James C KolmetzRussia2025-07-31Benton, John B Jr QUALIFIED31Ivan Magalhaes
1029Sinclair F GauchoGermany2025-08-08Buckley Miller Wright NEGOTIATION38Amy Elsner
1030Sinclair J PerinArgentina2025-07-20King, Christopher A Esq RENEWAL45Amy Elsner
1031Claire F InouyeAustralia2025-08-16Dorl, James J Esq UNQUALIFIED29Onyama Limba
1032Smith Y PaprockiCanada2025-07-20Printing Dimensions RENEWAL90Ivan Magalhaes
1033Maria V CaldareraJapan2025-08-06Morlong Associates QUALIFIED39Stephen Shaw
1034Cody H AmigonRussia2025-07-28King, Christopher A Esq PROPOSAL16Ioni Bowcher
1035Wickens J ShinkoBrazil2025-08-01Chapman, Ross E Esq UNQUALIFIED72Bernardo Dominic
1036Salvatore J DoeRussia2025-08-15Benton, John B Jr NEGOTIATION10Xuxue Feng
1037Octavia L CaudyItaly2025-07-22Printing Dimensions PROPOSAL65Anna Fali
1038Aika G GarufiBrazil2025-07-25Feiner Bros QUALIFIED33Ivan Magalhaes
1039Jennifer A VenereIndia2025-08-03Truhlar And Truhlar Attys QUALIFIED57Stephen Shaw
1040Jones L SaylorsFrance2025-07-24Morlong Associates QUALIFIED76Anna Fali
1041Clifford G DarakjyCanada2025-07-23Buckley Miller Wright RENEWAL80Asiya Javayant
1042Tony O FlosiAustralia2025-07-31Feltz Printing Service NEGOTIATION42Ivan Magalhaes
1043Kadeem M FollerRussia2025-08-06Dorl, James J Esq PROPOSAL42Asiya Javayant
1044Jeanfrancois P AmigonBrazil2025-08-07Chanay, Jeffrey A Esq QUALIFIED48Stephen Shaw
1045Clifford I GlickFrance2025-08-05Feiner Bros NEGOTIATION32Amy Elsner
1046Deepesh R DilliardJapan2025-08-05Morlong Associates RENEWAL64Onyama Limba
1047Smith N VocelkaUnited Kingdom2025-08-15Chanay, Jeffrey A Esq PROPOSAL86Xuxue Feng
1048Francesco N SergiJapan2025-07-25Dorl, James J Esq PROPOSAL48Anna Fali
1049Nicolas J RutaUnited Kingdom2025-07-23Chemel, James L Cpa UNQUALIFIED55Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maria T FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Johnson X FigeroaGermanyBernardo Dominic PROPOSAL
Ricardo Q TollnerGermanyStephen Shaw RENEWAL
Jones J KolmetzGermanyBernardo Dominic NEW
Faith N PoquetteArgentinaStephen Shaw NEW
Johnson H FerenczArgentinaBernardo Dominic QUALIFIED
Emily F VenereBrazilAsiya Javayant NEGOTIATION
Alejandro J BologniaFranceIoni Bowcher QUALIFIED
Maisha O FigeroaBrazilAsiya Javayant UNQUALIFIED
Julie Z KolmetzRussiaAsiya Javayant PROPOSAL
Kadeem O RimArgentinaOnyama Limba UNQUALIFIED
Mujtaba B GlickArgentinaElwin Sharvill PROPOSAL
Izzy X WhobreyRussiaOnyama Limba QUALIFIED
Maria T SergiUnited KingdomAmy Elsner RENEWAL
Ricardo Z SlusarskiGermanyStephen Shaw QUALIFIED
Julie K WieserAustraliaIvan Magalhaes UNQUALIFIED
Tony C FigeroaSpainXuxue Feng QUALIFIED
Maisha J FollerUnited KingdomAnna Fali PROPOSAL
Sinclair Q TollnerArgentinaBernardo Dominic UNQUALIFIED
Wickens Z MaletAustraliaStephen Shaw QUALIFIED
Maria F BowleyIndiaOnyama Limba PROPOSAL
Cody Y CampainGermanyXuxue Feng PROPOSAL
David Z MarrierFranceAmy Elsner NEW
Mujtaba D VenereItalyBernardo Dominic NEW
Costa Y FigeroaJapanOnyama Limba NEGOTIATION
Octavia X AmigonBrazilAmy Elsner NEGOTIATION
Aika R StensethAustraliaOnyama Limba NEGOTIATION
Aruna W FlosiUnited KingdomIoni Bowcher QUALIFIED
Nicolas A KolmetzSpainElwin Sharvill QUALIFIED
Cody B SlusarskiItalyIvan Magalhaes NEGOTIATION
Jones G MorascaIndiaElwin Sharvill RENEWAL
Maria O OldroydJapanStephen Shaw QUALIFIED
David Q GillianBrazilIoni Bowcher QUALIFIED
Chavez G DoeBrazilStephen Shaw QUALIFIED
Ashley T PerinJapanStephen Shaw NEGOTIATION
Sinclair B SergiArgentinaIvan Magalhaes PROPOSAL
David P MarrierJapanOnyama Limba RENEWAL
Stacey O MacleadRussiaAnna Fali QUALIFIED
Julie Z SchemmerSpainIoni Bowcher NEW
Misaki K RutaBrazilStephen Shaw NEGOTIATION
Jefferson K TollnerGermanyIvan Magalhaes UNQUALIFIED
Adams Y DarakjyIndiaAnna Fali UNQUALIFIED
Faith T KolmetzRussiaAmy Elsner NEW
Ashley U PoquetteSpainBernardo Dominic NEW
Nicolas G WhobreySpainOnyama Limba PROPOSAL
Murillo S ShinkoBrazilAnna Fali NEGOTIATION
Johnson F CampainArgentinaIoni Bowcher PROPOSAL
James X WaycottRussiaOnyama Limba NEW
Johnson P GarufiFranceAsiya Javayant RENEWAL
Maisha F GillianRussiaAsiya Javayant NEW
Frozen Columns
Name
Alejandro Y Shinko
Clifford M Nestle
David D Kusko
Nicolas A Stockham
Izzy A Slusarski
Juan A Perin
Leon S Chui
Alejandro T Briddick
Ivar C Wieser
Costa X Amigon
Leon P Morasca
Mujtaba S Saylors
Julie I Flosi
Faith U Rulapaugh
Chavez F Bolognia
Julie E Morasca
Chavez W Malet
Ivar H Stockham
Munro V Royster
Nicolas E Flosi
Arvin M Shinko
Jeanfrancois X Nicka
Kaitlin C Oldroyd
Chavez B Foller
Aika Z Campain
Stacey Y Foller
David C Glick
Ricardo X Caudy
Faith M Chui
Munro I Inouye
Aika Q Poquette
Alejandro G Foller
Tony L Morasca
Jennifer L Darakjy
Ricardo Q Stenseth
Kadeem X Nicka
Aika B Butt
Misaki T Whobrey
Aika Z Kolmetz
Chavez T Ruta
Silvio J Tollner
Claire L Nestle
Tony O Nestle
Aditya Y Nicka
Arvin U Bowley
Wickens Q Morasca
Kaitlin P Gaucho
Octavia Z Paprocki
Misaki E Darakjy
Aruna X Kolmetz
IdCountryDate
1000Brazil2025-07-28
1001Spain2025-07-25
1002Brazil2025-07-28
1003Germany2025-08-14
1004United Kingdom2025-08-13
1005Argentina2025-08-12
1006Canada2025-08-16
1007India2025-08-06
1008Spain2025-07-26
1009United Kingdom2025-08-07
1010Germany2025-08-04
1011France2025-07-24
1012Germany2025-08-03
1013Russia2025-07-24
1014India2025-08-17
1015France2025-08-15
1016United Kingdom2025-07-23
1017Canada2025-07-28
1018India2025-07-26
1019United Kingdom2025-07-21
1020United Kingdom2025-08-05
1021Argentina2025-07-28
1022Japan2025-07-22
1023Australia2025-07-23
1024Japan2025-07-28
1025Canada2025-07-31
1026Canada2025-07-27
1027Germany2025-07-20
1028United Kingdom2025-08-01
1029Spain2025-08-02
1030Spain2025-08-11
1031Argentina2025-08-10
1032United Kingdom2025-08-15
1033Germany2025-08-17
1034Japan2025-08-16
1035Brazil2025-08-03
1036India2025-08-05
1037Japan2025-07-31
1038United Kingdom2025-08-03
1039Canada2025-07-25
1040India2025-07-24
1041Japan2025-07-27
1042Germany2025-08-01
1043Canada2025-07-24
1044Brazil2025-07-20
1045Argentina2025-07-28
1046Russia2025-08-04
1047Australia2025-07-20
1048Australia2025-08-14
1049France2025-08-12

On-Demand Data

NameIdCountryDate
Octavia S Inouye1000Russia2025-08-01
Maria S Ruta1001France2025-07-23
Faith D Shinko1002Japan2025-07-28
Murillo E Nicka1003Brazil2025-08-02
Leja G Bowley1004Argentina2025-08-06
Greenwood B Tollner1005Russia2025-08-15
Kaitlin S Albares1006Canada2025-08-16
Adams Z Waycott1007France2025-08-14
Morrow N Darakjy1008India2025-08-09
Octavia J Paprocki1009Spain2025-08-18
Octavia Y Chui1010Italy2025-07-28
Faith I Waycott1011Germany2025-08-02
Mujtaba P Whobrey1012Brazil2025-08-04
Leja E Garufi1013Japan2025-08-09
Francesco U Doe1014Japan2025-07-22
Emily J Malet1015Russia2025-07-24
Izzy Z Bolognia1016Canada2025-08-12
Rodrigues Z Nestle1017Argentina2025-07-25
Julie W Stockham1018Italy2025-07-26
Izzy Q Dilliard1019Russia2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio K FigeroaIndiaAsiya Javayant QUALIFIED
Smith R SergiSpainBernardo Dominic UNQUALIFIED
Nicolas Y SaylorsCanadaXuxue Feng NEW
Stacey G CaldareraSpainBernardo Dominic NEGOTIATION
Costa M DilliardAustraliaBernardo Dominic RENEWAL
Cody M IturbideGermanyIvan Magalhaes NEW
Arvin Q WaycottFranceIoni Bowcher RENEWAL
Jones X WaycottAustraliaIvan Magalhaes NEW
Julie C BowleyBrazilAmy Elsner PROPOSAL
James X DoeAustraliaAmy Elsner QUALIFIED
Emily I DoeGermanyIvan Magalhaes NEW
Faith C AlbaresSpainXuxue Feng RENEWAL
Ricardo D MaletGermanyElwin Sharvill NEGOTIATION
Misaki T BowleySpainBernardo Dominic UNQUALIFIED
Smith R PoquetteSpainIoni Bowcher QUALIFIED
Silvio C CaudyBrazilElwin Sharvill UNQUALIFIED
Aditya Z FigeroaGermanyStephen Shaw QUALIFIED
Mujtaba J VocelkaIndiaXuxue Feng NEW
Antonio O AlbaresFranceAmy Elsner RENEWAL
Nicolas T OldroydJapanAmy Elsner NEW
Stacey H DilliardFranceAmy Elsner QUALIFIED
Jeanfrancois X AmigonRussiaAsiya Javayant NEGOTIATION
Maisha E ChuiBrazilIvan Magalhaes PROPOSAL
Aika W OldroydJapanAnna Fali QUALIFIED
Silvio H FollerRussiaAmy Elsner RENEWAL
Murillo T SchemmerFranceOnyama Limba PROPOSAL
Francesco D RutaAustraliaStephen Shaw QUALIFIED
Isabel Z NestleArgentinaOnyama Limba NEGOTIATION
Greenwood D RimJapanIvan Magalhaes UNQUALIFIED
Francesco C KolmetzItalyAsiya Javayant QUALIFIED
Alejandro E KolmetzUnited KingdomXuxue Feng RENEWAL
David Y FlosiIndiaXuxue Feng NEGOTIATION
David H RoysterItalyAnna Fali QUALIFIED
Smith E PaprockiRussiaAnna Fali RENEWAL
Darci Z GarufiIndiaElwin Sharvill NEW
Aika N MacleadBrazilIoni Bowcher PROPOSAL
Jeanfrancois C AmigonJapanStephen Shaw NEW
Emily X MaletItalyStephen Shaw NEGOTIATION
Wickens V PoquetteIndiaIvan Magalhaes PROPOSAL
Silvio S TollnerFranceIvan Magalhaes QUALIFIED

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