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
Leja A RoysterBrazilBernardo Dominic PROPOSAL
Adams C CaudyJapanIoni Bowcher PROPOSAL
Ashley C DarakjyFranceAnna Fali UNQUALIFIED
Leon J BologniaUnited KingdomAmy Elsner NEW
Jefferson F GauchoRussiaAsiya Javayant NEGOTIATION
Isabel G KolmetzRussiaIvan Magalhaes NEGOTIATION
Sinclair X KuskoAustraliaOnyama Limba PROPOSAL
Juan A SchemmerSpainIvan Magalhaes UNQUALIFIED
Claire D WieserJapanIvan Magalhaes NEW
Stacey P ButtGermanyAmy Elsner NEGOTIATION
Misaki F MacleadGermanyAsiya Javayant QUALIFIED
Ivar W DarakjyArgentinaAsiya Javayant PROPOSAL
Costa S RutaUnited KingdomXuxue Feng PROPOSAL
Adams B SchemmerIndiaIvan Magalhaes NEGOTIATION
Stacey T GauchoAustraliaIvan Magalhaes NEGOTIATION
Ashley J NestleAustraliaIoni Bowcher NEGOTIATION
Stacey W PoquetteSpainAmy Elsner QUALIFIED
David E OstroskyBrazilOnyama Limba RENEWAL
Stacey B StockhamSpainAsiya Javayant UNQUALIFIED
Aruna O IturbideBrazilAsiya Javayant NEW
Adams G DilliardBrazilElwin Sharvill NEGOTIATION
Stacey A CaudyUnited KingdomXuxue Feng NEGOTIATION
Jennifer A CaldareraArgentinaElwin Sharvill PROPOSAL
Silvio L PaprockiGermanyAsiya Javayant RENEWAL
Cody A StockhamIndiaAnna Fali PROPOSAL
Misaki Q RimUnited KingdomIvan Magalhaes QUALIFIED
Julie G TollnerJapanAsiya Javayant QUALIFIED
Deepesh Y OstroskyIndiaStephen Shaw NEGOTIATION
Aika R NickaSpainIoni Bowcher QUALIFIED
Johnson P KolmetzAustraliaAnna Fali NEW
Murillo G InouyeFranceAsiya Javayant NEW
Jones S InouyeItalyAmy Elsner RENEWAL
Aika X CaudyItalyElwin Sharvill NEGOTIATION
Misaki B ShinkoFranceElwin Sharvill QUALIFIED
Kadeem W RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Cody H StockhamFranceXuxue Feng UNQUALIFIED
Maria X MaletCanadaAmy Elsner UNQUALIFIED
Mujtaba K FollerIndiaStephen Shaw RENEWAL
Greenwood R MaletUnited KingdomIoni Bowcher PROPOSAL
Francesco Y DoeRussiaIoni Bowcher QUALIFIED
Maisha O SchemmerIndiaStephen Shaw PROPOSAL
Cody J MaletIndiaBernardo Dominic UNQUALIFIED
Octavia P RutaFranceAnna Fali NEW
Tony B NickaUnited KingdomStephen Shaw RENEWAL
Costa G SlusarskiBrazilBernardo Dominic RENEWAL
Juan N GlickAustraliaAmy Elsner RENEWAL
Jeanfrancois P VenereUnited KingdomXuxue Feng NEW
Ricardo Y FollerBrazilAnna Fali NEW
Darci Y MaletCanadaElwin Sharvill NEGOTIATION
James Y PerinCanadaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria S DilliardUnited KingdomStephen Shaw PROPOSAL
Leon M FollerIndiaIvan Magalhaes PROPOSAL
Ashley P CampainSpainOnyama Limba RENEWAL
Murillo X MorascaRussiaAnna Fali QUALIFIED
Tony E VenereRussiaAnna Fali UNQUALIFIED
Emily F FollerItalyXuxue Feng QUALIFIED
Mayumi N ShinkoGermanyElwin Sharvill PROPOSAL
Emily F KuskoItalyBernardo Dominic UNQUALIFIED
Jefferson N KolmetzFranceXuxue Feng UNQUALIFIED
Adams Q ChuiFranceStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria C StensethSpain2025-09-17Buckley Miller Wright UNQUALIFIED85Elwin Sharvill
1001Adams I BriddickCanada2025-09-16Rangoni Of Florence UNQUALIFIED86Amy Elsner
1002Francesco N AlbaresJapan2025-09-04King, Christopher A Esq NEW37Elwin Sharvill
1003Izzy F PoquetteArgentina2025-09-29Rangoni Of Florence NEGOTIATION88Xuxue Feng
1004Julie N VocelkaCanada2025-09-14Morlong Associates QUALIFIED71Elwin Sharvill
1005Wickens X MarrierIndia2025-09-25Morlong Associates UNQUALIFIED76Xuxue Feng
1006Izzy J PoquetteUnited Kingdom2025-09-09Truhlar And Truhlar Attys QUALIFIED88Stephen Shaw
1007Jeanfrancois X FollerItaly2025-09-22Feiner Bros QUALIFIED76Asiya Javayant
1008Maria N PaprockiFrance2025-09-08Feiner Bros RENEWAL15Bernardo Dominic
1009Cody P BowleyArgentina2025-09-09Printing Dimensions NEGOTIATION38Onyama Limba
1010Kaitlin M FigeroaGermany2025-09-18Commercial Press NEW90Ioni Bowcher
1011Darci J CaldareraUnited Kingdom2025-09-19Dorl, James J Esq NEGOTIATION36Ivan Magalhaes
1012Salvatore A FollerGermany2025-09-09Feltz Printing Service PROPOSAL61Elwin Sharvill
1013Smith Z FollerCanada2025-09-07Chemel, James L Cpa PROPOSAL51Onyama Limba
1014Leon T CaldareraRussia2025-09-11Feiner Bros UNQUALIFIED30Anna Fali
1015Misaki Q SergiCanada2025-09-25Chemel, James L Cpa NEW78Stephen Shaw
1016Morrow W MaletIndia2025-09-28Rangoni Of Florence NEGOTIATION85Onyama Limba
1017Mayumi L SergiItaly2025-09-15Rangoni Of Florence QUALIFIED30Onyama Limba
1018David X InouyeBrazil2025-09-07Chanay, Jeffrey A Esq QUALIFIED32Stephen Shaw
1019Antonio G FollerJapan2025-09-07Benton, John B Jr RENEWAL29Amy Elsner
1020Leja G NickaUnited Kingdom2025-09-30Truhlar And Truhlar Attys RENEWAL48Elwin Sharvill
1021Nicolas I RutaUnited Kingdom2025-09-30Chemel, James L Cpa PROPOSAL53Onyama Limba
1022Smith F FigeroaAustralia2025-09-16King, Christopher A Esq UNQUALIFIED3Elwin Sharvill
1023Greenwood R StensethItaly2025-09-14Benton, John B Jr PROPOSAL53Onyama Limba
1024Jefferson Y KolmetzItaly2025-09-24Feltz Printing Service QUALIFIED17Xuxue Feng
1025Antonio Y MarrierFrance2025-09-18Printing Dimensions QUALIFIED55Xuxue Feng
1026Jennifer T IturbideBrazil2025-09-08Morlong Associates NEGOTIATION35Stephen Shaw
1027Greenwood X WaycottFrance2025-09-13Commercial Press RENEWAL30Anna Fali
1028Mujtaba L MaletBrazil2025-09-15Rangoni Of Florence NEGOTIATION9Onyama Limba
1029Isabel O BowleyUnited Kingdom2025-09-13Feiner Bros NEGOTIATION16Ivan Magalhaes
1030James K ChuiItaly2025-09-20Commercial Press NEGOTIATION72Bernardo Dominic
1031Antonio Y BowleyGermany2025-09-20Feiner Bros NEW95Stephen Shaw
1032Maisha U SaylorsIndia2025-09-21Rangoni Of Florence NEW47Amy Elsner
1033Darci C SlusarskiUnited Kingdom2025-09-13Benton, John B Jr QUALIFIED26Amy Elsner
1034Leja F ButtCanada2025-09-23King, Christopher A Esq NEGOTIATION76Ivan Magalhaes
1035Arvin F IturbideItaly2025-09-15Buckley Miller Wright UNQUALIFIED83Amy Elsner
1036Maria G AmigonIndia2025-09-17Feltz Printing Service RENEWAL4Bernardo Dominic
1037Octavia N SaylorsCanada2025-09-16Chanay, Jeffrey A Esq PROPOSAL65Onyama Limba
1038Maria A ChuiBrazil2025-09-11Commercial Press UNQUALIFIED63Anna Fali
1039Murillo X FigeroaGermany2025-09-22King, Christopher A Esq NEW67Anna Fali
1040Darci E BowleyJapan2025-09-13Dorl, James J Esq QUALIFIED15Asiya Javayant
1041Sinclair M DoeSpain2025-09-01Feltz Printing Service NEW95Ivan Magalhaes
1042Claire Z CaldareraUnited Kingdom2025-09-29Morlong Associates PROPOSAL87Asiya Javayant
1043Wickens I OstroskyGermany2025-09-23Commercial Press RENEWAL53Stephen Shaw
1044Jefferson Q IturbideBrazil2025-09-22Dorl, James J Esq NEGOTIATION13Xuxue Feng
1045Nicolas O DoeFrance2025-09-07Rangoni Of Florence NEGOTIATION74Stephen Shaw
1046Julie U KolmetzBrazil2025-09-09Feltz Printing Service PROPOSAL48Asiya Javayant
1047David E WieserFrance2025-09-15Printing Dimensions PROPOSAL43Anna Fali
1048Julie K TollnerItaly2025-09-14Rangoni Of Florence NEGOTIATION20Asiya Javayant
1049Nicolas E WhobreyJapan2025-09-29Chanay, Jeffrey A Esq NEW74Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Sinclair T ShinkoGermanyStephen Shaw QUALIFIED
Octavia T FollerCanadaAnna Fali RENEWAL
Maisha G IturbideItalyIvan Magalhaes NEGOTIATION
Aditya S MacleadFranceXuxue Feng UNQUALIFIED
Francesco N WhobreyIndiaIvan Magalhaes PROPOSAL
Misaki E GauchoCanadaStephen Shaw UNQUALIFIED
Antonio J MaletGermanyOnyama Limba NEGOTIATION
Kadeem B FerenczArgentinaStephen Shaw PROPOSAL
Rodrigues W BowleySpainIvan Magalhaes NEGOTIATION
Costa V NestleSpainAmy Elsner QUALIFIED
Leja P ButtFranceAmy Elsner UNQUALIFIED
Johnson W StockhamFranceAnna Fali NEGOTIATION
Octavia Q MacleadItalyAnna Fali NEGOTIATION
Wickens I FerenczRussiaOnyama Limba PROPOSAL
Rodrigues L ChuiIndiaAmy Elsner RENEWAL
David S SlusarskiGermanyAsiya Javayant QUALIFIED
Faith S FlosiAustraliaIoni Bowcher NEW
Salvatore Z SchemmerIndiaAnna Fali NEGOTIATION
James V SergiIndiaBernardo Dominic QUALIFIED
Misaki V MarrierSpainAmy Elsner NEW
Emily V PaprockiUnited KingdomElwin Sharvill NEW
Aruna G GlickJapanIoni Bowcher UNQUALIFIED
David H CampainJapanAmy Elsner QUALIFIED
James S CaudyIndiaElwin Sharvill PROPOSAL
Chavez B ButtArgentinaStephen Shaw UNQUALIFIED
Morrow K PerinFranceElwin Sharvill QUALIFIED
Wickens O MarrierIndiaXuxue Feng NEGOTIATION
Cody M TollnerRussiaBernardo Dominic UNQUALIFIED
Maria X CaudyCanadaOnyama Limba UNQUALIFIED
Wickens S StockhamArgentinaBernardo Dominic NEW
Jennifer W AlbaresSpainStephen Shaw UNQUALIFIED
Stacey G VocelkaUnited KingdomOnyama Limba QUALIFIED
Darci L MaletRussiaElwin Sharvill QUALIFIED
Greenwood F SergiIndiaElwin Sharvill QUALIFIED
Jeanfrancois L AlbaresUnited KingdomXuxue Feng QUALIFIED
Silvio Y WaycottRussiaIoni Bowcher QUALIFIED
Alejandro Z SergiAustraliaAsiya Javayant UNQUALIFIED
Octavia D DarakjyCanadaAnna Fali PROPOSAL
Jeanfrancois V RimAustraliaOnyama Limba NEW
Maria O FigeroaBrazilStephen Shaw RENEWAL
Faith I OstroskySpainBernardo Dominic UNQUALIFIED
Ivar G MacleadUnited KingdomIvan Magalhaes RENEWAL
Francesco T RimSpainIoni Bowcher PROPOSAL
Maisha S WhobreyCanadaOnyama Limba PROPOSAL
Cody N StensethBrazilElwin Sharvill QUALIFIED
Kaitlin Y GarufiUnited KingdomElwin Sharvill RENEWAL
Aditya I GlickJapanAnna Fali QUALIFIED
Clifford P PaprockiSpainBernardo Dominic QUALIFIED
Juan L GauchoRussiaBernardo Dominic UNQUALIFIED
Greenwood N VocelkaIndiaOnyama Limba RENEWAL
Frozen Columns
Name
Julie Z Tollner
Rodrigues J Rulapaugh
Izzy Q Inouye
Adams B Paprocki
Jeanfrancois G Oldroyd
Darci A Inouye
Morrow O Amigon
Maria U Malet
Ashley G Vocelka
James D Wieser
Chavez B Whobrey
Costa V Poquette
Munro D Sergi
Clifford Z Foller
Claire P Bolognia
Emily L Inouye
Wickens W Stenseth
Francesco T Bolognia
Mayumi N Schemmer
Jennifer L Malet
Alejandro J Oldroyd
James F Rim
Jones G Maclead
Octavia Z Malet
Costa J Ostrosky
Silvio V Flosi
Aruna P Sergi
Greenwood F Tollner
Arvin Q Chui
Sinclair U Chui
Johnson X Oldroyd
Clifford G Iturbide
Murillo J Campain
Izzy E Bowley
Mayumi H Maclead
Murillo M Vocelka
Tony Y Darakjy
Sinclair C Paprocki
Morrow Q Butt
Chavez F Nicka
Francesco F Gaucho
Rodrigues R Sergi
Tony S Vocelka
Ashley C Royster
Maria D Albares
Arvin U Caudy
Greenwood F Kolmetz
Sinclair V Saylors
Kaitlin P Garufi
Mujtaba B Rulapaugh
IdCountryDate
1000Canada2025-09-06
1001Germany2025-09-28
1002France2025-09-06
1003India2025-09-27
1004United Kingdom2025-09-18
1005Italy2025-09-24
1006Russia2025-09-22
1007Canada2025-09-06
1008Japan2025-09-02
1009United Kingdom2025-09-14
1010Argentina2025-09-06
1011India2025-09-27
1012Australia2025-09-15
1013Brazil2025-09-01
1014Japan2025-09-14
1015Australia2025-09-13
1016Spain2025-09-20
1017Italy2025-09-20
1018Italy2025-09-10
1019Russia2025-09-22
1020United Kingdom2025-09-05
1021Australia2025-09-23
1022Japan2025-09-21
1023Russia2025-09-04
1024Japan2025-09-09
1025Germany2025-09-18
1026Australia2025-09-08
1027Germany2025-09-27
1028France2025-09-09
1029Japan2025-09-30
1030Japan2025-09-20
1031Brazil2025-09-26
1032Italy2025-09-01
1033Brazil2025-09-09
1034Russia2025-09-14
1035Spain2025-09-20
1036Spain2025-09-24
1037Germany2025-09-25
1038Spain2025-09-13
1039India2025-09-06
1040United Kingdom2025-09-24
1041Japan2025-09-22
1042Russia2025-09-12
1043Japan2025-09-19
1044Brazil2025-09-25
1045Spain2025-09-07
1046Brazil2025-09-22
1047Australia2025-09-09
1048Russia2025-09-19
1049Italy2025-09-05

On-Demand Data

NameIdCountryDate
Alejandro P Poquette1000Russia2025-09-08
Misaki Y Darakjy1001France2025-09-11
Misaki I Rim1002Australia2025-09-07
Stacey W Amigon1003Australia2025-09-30
Tony L Bolognia1004Argentina2025-09-19
Adams H Darakjy1005Italy2025-09-18
David L Ferencz1006Spain2025-09-16
Silvio Y Stockham1007Germany2025-09-27
Jeanfrancois C Poquette1008France2025-09-17
Johnson U Malet1009United Kingdom2025-09-09
Mujtaba Z Waycott1010Australia2025-09-07
Juan U Stockham1011India2025-09-19
Deepesh M Shinko1012Japan2025-09-23
Antonio G Dilliard1013India2025-09-16
Stacey A Dilliard1014India2025-09-15
Maria O Wieser1015India2025-09-27
Mujtaba A Tollner1016Argentina2025-09-17
David W Bolognia1017Brazil2025-09-21
Rodrigues C Malet1018Russia2025-09-13
Deepesh O Caldarera1019India2025-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues B GauchoBrazilBernardo Dominic QUALIFIED
Smith L CaldareraFranceXuxue Feng QUALIFIED
Stacey Y VocelkaJapanElwin Sharvill QUALIFIED
Morrow Q StensethGermanyAnna Fali RENEWAL
Sinclair W PerinItalyBernardo Dominic PROPOSAL
Ashley B AlbaresItalyXuxue Feng NEW
Rodrigues P FerenczItalyXuxue Feng RENEWAL
Aditya M GauchoIndiaAmy Elsner QUALIFIED
Johnson D ChuiGermanyAnna Fali NEGOTIATION
Aditya A DilliardArgentinaAmy Elsner UNQUALIFIED
Salvatore C MacleadArgentinaStephen Shaw NEGOTIATION
Ricardo X FollerItalyElwin Sharvill UNQUALIFIED
Cody V FigeroaGermanyOnyama Limba PROPOSAL
Francesco D VenereGermanyXuxue Feng RENEWAL
Smith V ButtArgentinaBernardo Dominic RENEWAL
Nicolas H WaycottJapanXuxue Feng NEGOTIATION
Aruna J MaletCanadaElwin Sharvill NEW
Aruna D KuskoArgentinaIvan Magalhaes RENEWAL
Murillo L CaldareraAustraliaAsiya Javayant QUALIFIED
Ashley F SlusarskiAustraliaElwin Sharvill RENEWAL
Maria X WaycottSpainIvan Magalhaes QUALIFIED
Leon F StockhamCanadaAmy Elsner PROPOSAL
Salvatore A VenereItalyAnna Fali NEGOTIATION
Jefferson K MacleadFranceAsiya Javayant RENEWAL
Clifford Q FlosiSpainXuxue Feng NEGOTIATION
Claire U PerinFranceAmy Elsner PROPOSAL
Kadeem L KuskoAustraliaOnyama Limba PROPOSAL
Ashley N ButtGermanyAnna Fali RENEWAL
Jeanfrancois U AmigonFranceAnna Fali QUALIFIED
Emily J WaycottBrazilBernardo Dominic PROPOSAL
Costa S DilliardSpainIoni Bowcher PROPOSAL
Smith G StensethGermanyStephen Shaw UNQUALIFIED
Salvatore S MaletSpainAnna Fali PROPOSAL
Faith E DoeAustraliaBernardo Dominic PROPOSAL
Darci U KolmetzUnited KingdomAnna Fali QUALIFIED
Kadeem W IturbideItalyStephen Shaw UNQUALIFIED
Misaki F StensethRussiaAsiya Javayant NEGOTIATION
Murillo Q DilliardArgentinaAnna Fali NEGOTIATION
Ashley L CaudySpainOnyama Limba NEGOTIATION
Darci R CaudyUnited KingdomBernardo Dominic UNQUALIFIED

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