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
Jeanfrancois W NestleGermanyIvan Magalhaes PROPOSAL
Rodrigues C IturbideCanadaAmy Elsner QUALIFIED
Smith U VenereGermanyIvan Magalhaes RENEWAL
Morrow S GillianRussiaAsiya Javayant UNQUALIFIED
Salvatore M OldroydRussiaIoni Bowcher UNQUALIFIED
Ashley K PoquetteGermanyIvan Magalhaes NEW
Smith C SergiUnited KingdomXuxue Feng PROPOSAL
Claire Q VenereBrazilXuxue Feng QUALIFIED
Ivar I WieserRussiaAnna Fali NEW
Johnson L TollnerJapanAsiya Javayant NEW
Johnson Q AlbaresJapanOnyama Limba NEGOTIATION
Aika B BriddickJapanStephen Shaw NEW
Wickens W ShinkoAustraliaAsiya Javayant QUALIFIED
Sinclair L NestleRussiaBernardo Dominic NEW
Arvin Y RimRussiaStephen Shaw NEGOTIATION
Salvatore X CampainRussiaElwin Sharvill QUALIFIED
Clifford Z GlickUnited KingdomAmy Elsner UNQUALIFIED
Jefferson W CaldareraGermanyOnyama Limba NEGOTIATION
Salvatore E SaylorsAustraliaAmy Elsner NEGOTIATION
Antonio T DarakjyAustraliaElwin Sharvill QUALIFIED
Costa W SchemmerAustraliaAmy Elsner NEW
Adams C GlickJapanXuxue Feng NEW
Smith C GauchoItalyIoni Bowcher QUALIFIED
Jennifer N BowleyAustraliaAmy Elsner RENEWAL
Clifford F RulapaughSpainAsiya Javayant UNQUALIFIED
Octavia K IturbideAustraliaAsiya Javayant NEW
Alejandro M VenereSpainBernardo Dominic NEW
Rodrigues S ChuiAustraliaBernardo Dominic NEW
Jennifer W VenereIndiaBernardo Dominic NEW
Jennifer E SaylorsBrazilOnyama Limba UNQUALIFIED
Aruna T PerinUnited KingdomElwin Sharvill RENEWAL
Izzy K VenereCanadaElwin Sharvill PROPOSAL
Cody X MarrierRussiaIoni Bowcher NEW
Maisha V KuskoJapanElwin Sharvill RENEWAL
Jefferson J PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Jones P MaletUnited KingdomXuxue Feng NEGOTIATION
Adams I StensethItalyIvan Magalhaes PROPOSAL
Claire B IturbideRussiaElwin Sharvill NEGOTIATION
Kaitlin Q RimBrazilAnna Fali PROPOSAL
Izzy M ShinkoBrazilIoni Bowcher NEGOTIATION
Smith W AmigonGermanyStephen Shaw RENEWAL
Julie G RulapaughIndiaAnna Fali QUALIFIED
Chavez G SergiArgentinaIoni Bowcher UNQUALIFIED
Jones J InouyeAustraliaXuxue Feng PROPOSAL
Murillo U FlosiSpainIvan Magalhaes QUALIFIED
Kadeem A SchemmerArgentinaAmy Elsner NEGOTIATION
Munro F KolmetzGermanyElwin Sharvill UNQUALIFIED
Faith H MaletItalyElwin Sharvill RENEWAL
Maisha A WieserSpainOnyama Limba UNQUALIFIED
Faith R SergiBrazilElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Silvio V WieserCanadaAsiya Javayant UNQUALIFIED
Francesco O FigeroaArgentinaStephen Shaw QUALIFIED
Deepesh T BologniaBrazilIvan Magalhaes NEW
Clifford W NickaRussiaXuxue Feng NEGOTIATION
James Q StockhamCanadaOnyama Limba QUALIFIED
Leja N DarakjySpainAnna Fali PROPOSAL
Darci G FigeroaIndiaBernardo Dominic NEGOTIATION
David Q VenereItalyAmy Elsner RENEWAL
Isabel V SaylorsGermanyIvan Magalhaes UNQUALIFIED
Julie N FigeroaJapanAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna I VenereUnited Kingdom2025-08-15Chanay, Jeffrey A Esq RENEWAL72Elwin Sharvill
1001Ricardo C WieserSpain2025-07-20Rangoni Of Florence QUALIFIED2Bernardo Dominic
1002David I OstroskyJapan2025-07-26Chanay, Jeffrey A Esq NEGOTIATION37Xuxue Feng
1003Faith X RoysterRussia2025-07-20Rousseaux, Michael Esq NEGOTIATION69Ivan Magalhaes
1004Emily J SergiCanada2025-07-22Chapman, Ross E Esq QUALIFIED56Ivan Magalhaes
1005Greenwood F MaletAustralia2025-07-26Truhlar And Truhlar Attys QUALIFIED5Amy Elsner
1006Leja P BologniaRussia2025-08-13Chemel, James L Cpa UNQUALIFIED23Elwin Sharvill
1007Stacey Y RimGermany2025-07-26Truhlar And Truhlar Attys NEGOTIATION72Amy Elsner
1008Greenwood V DarakjyItaly2025-08-07Printing Dimensions QUALIFIED2Ivan Magalhaes
1009David B StockhamCanada2025-08-16Dorl, James J Esq RENEWAL45Onyama Limba
1010Costa S WieserBrazil2025-08-03Dorl, James J Esq NEW0Onyama Limba
1011Jennifer P OstroskyFrance2025-08-04Morlong Associates NEW60Xuxue Feng
1012Jefferson Y RutaRussia2025-08-11Rangoni Of Florence NEW38Ioni Bowcher
1013Nicolas Z ChuiJapan2025-08-03Buckley Miller Wright UNQUALIFIED56Ioni Bowcher
1014Octavia Z BowleyArgentina2025-08-08Feiner Bros PROPOSAL21Ioni Bowcher
1015Jefferson O MacleadGermany2025-07-23Commercial Press NEGOTIATION69Elwin Sharvill
1016Mayumi C WieserItaly2025-07-23Chapman, Ross E Esq QUALIFIED53Onyama Limba
1017Faith D PoquetteArgentina2025-07-28Rangoni Of Florence PROPOSAL62Bernardo Dominic
1018Morrow F SergiUnited Kingdom2025-07-31Feltz Printing Service UNQUALIFIED58Bernardo Dominic
1019Wickens X InouyeJapan2025-08-14Truhlar And Truhlar Attys NEGOTIATION34Asiya Javayant
1020Isabel C CampainRussia2025-08-15Rangoni Of Florence NEGOTIATION11Ivan Magalhaes
1021Johnson Z TollnerCanada2025-08-12Chemel, James L Cpa QUALIFIED47Anna Fali
1022Mayumi I FerenczArgentina2025-08-09Rousseaux, Michael Esq QUALIFIED52Asiya Javayant
1023Costa C SergiAustralia2025-08-01Feltz Printing Service UNQUALIFIED60Anna Fali
1024Munro Q SergiIndia2025-07-28Benton, John B Jr RENEWAL33Elwin Sharvill
1025Aruna R StensethSpain2025-08-06Rousseaux, Michael Esq QUALIFIED55Stephen Shaw
1026Ricardo O FerenczGermany2025-08-08Buckley Miller Wright QUALIFIED31Elwin Sharvill
1027Arvin B StockhamJapan2025-08-04Feltz Printing Service RENEWAL53Ioni Bowcher
1028Greenwood R CaudyAustralia2025-08-17Rousseaux, Michael Esq RENEWAL21Xuxue Feng
1029Murillo E FlosiFrance2025-07-22Rousseaux, Michael Esq QUALIFIED62Amy Elsner
1030Ivar M ShinkoAustralia2025-07-26Dorl, James J Esq UNQUALIFIED30Amy Elsner
1031Darci G BowleySpain2025-08-13Truhlar And Truhlar Attys NEGOTIATION50Stephen Shaw
1032Salvatore C DilliardSpain2025-07-21Benton, John B Jr NEGOTIATION78Xuxue Feng
1033Aditya W SlusarskiJapan2025-08-11Rousseaux, Michael Esq NEW61Xuxue Feng
1034Wickens P RutaArgentina2025-08-03Rousseaux, Michael Esq RENEWAL77Elwin Sharvill
1035Salvatore L ChuiGermany2025-08-09Chemel, James L Cpa PROPOSAL94Elwin Sharvill
1036Misaki X FigeroaAustralia2025-07-30Commercial Press UNQUALIFIED21Elwin Sharvill
1037Kadeem P MaletFrance2025-07-24Dorl, James J Esq QUALIFIED8Asiya Javayant
1038Leon B AmigonFrance2025-08-15Feiner Bros PROPOSAL75Anna Fali
1039Rodrigues H BologniaSpain2025-08-05Chapman, Ross E Esq NEW95Onyama Limba
1040Mayumi C PaprockiItaly2025-08-13Dorl, James J Esq UNQUALIFIED87Xuxue Feng
1041Rodrigues E ChuiCanada2025-07-21Morlong Associates RENEWAL21Elwin Sharvill
1042Leon R NestleUnited Kingdom2025-07-28Feltz Printing Service NEW29Elwin Sharvill
1043Ashley R MaletArgentina2025-08-06Chanay, Jeffrey A Esq RENEWAL94Onyama Limba
1044Ricardo X ChuiSpain2025-07-19Printing Dimensions RENEWAL3Stephen Shaw
1045Julie T PaprockiAustralia2025-08-09Truhlar And Truhlar Attys RENEWAL65Asiya Javayant
1046David R NickaArgentina2025-08-11Truhlar And Truhlar Attys NEGOTIATION61Ivan Magalhaes
1047Chavez M CaldareraRussia2025-07-23Feltz Printing Service PROPOSAL87Bernardo Dominic
1048Munro W PoquetteAustralia2025-08-09Rousseaux, Michael Esq UNQUALIFIED6Amy Elsner
1049Izzy W GarufiFrance2025-07-21Feiner Bros NEW13Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Stacey W MarrierGermanyAnna Fali PROPOSAL
Murillo E BriddickIndiaElwin Sharvill RENEWAL
Leja I DoeBrazilAnna Fali UNQUALIFIED
Ricardo D FollerJapanIvan Magalhaes QUALIFIED
Ashley E MaletCanadaAmy Elsner RENEWAL
Maisha P RimItalyOnyama Limba PROPOSAL
Wickens S MorascaUnited KingdomXuxue Feng NEGOTIATION
Mayumi J MaletUnited KingdomStephen Shaw NEGOTIATION
Aruna B DilliardCanadaAnna Fali NEW
Juan Z PerinItalyAnna Fali PROPOSAL
Juan I RulapaughRussiaAmy Elsner NEGOTIATION
Wickens X RulapaughJapanStephen Shaw PROPOSAL
Francesco M MaletAustraliaXuxue Feng UNQUALIFIED
Julie B DoeRussiaAmy Elsner NEW
Ricardo L GauchoJapanElwin Sharvill QUALIFIED
Greenwood B OstroskyGermanyBernardo Dominic UNQUALIFIED
Leja V FerenczJapanAmy Elsner RENEWAL
Murillo E BologniaJapanAnna Fali NEW
Stacey L SergiFranceIoni Bowcher NEGOTIATION
Ivar V DarakjySpainStephen Shaw QUALIFIED
Misaki F DilliardGermanyElwin Sharvill PROPOSAL
Cody B CaudyJapanIoni Bowcher UNQUALIFIED
Tony Z WieserBrazilIvan Magalhaes QUALIFIED
Adams K CaudyUnited KingdomXuxue Feng PROPOSAL
Leja F FollerSpainStephen Shaw PROPOSAL
Nicolas U SaylorsArgentinaIoni Bowcher NEW
Faith I BologniaFranceIvan Magalhaes NEW
Murillo Z FollerCanadaBernardo Dominic NEGOTIATION
Isabel U DilliardArgentinaOnyama Limba PROPOSAL
Leja A KolmetzItalyXuxue Feng QUALIFIED
Jefferson R SaylorsArgentinaAnna Fali NEW
Julie I KolmetzRussiaIoni Bowcher RENEWAL
Adams Z MaletSpainXuxue Feng NEW
Emily I MaletRussiaAsiya Javayant NEW
Aruna L RutaArgentinaXuxue Feng QUALIFIED
Jeanfrancois H RulapaughJapanAsiya Javayant NEW
Munro T RulapaughIndiaAmy Elsner QUALIFIED
Jennifer Q OstroskyIndiaXuxue Feng PROPOSAL
David T DilliardCanadaBernardo Dominic NEGOTIATION
Sinclair Q OldroydArgentinaIoni Bowcher NEGOTIATION
Mujtaba G DarakjyGermanyXuxue Feng RENEWAL
Greenwood L SergiUnited KingdomAmy Elsner UNQUALIFIED
Izzy B NickaItalyIvan Magalhaes UNQUALIFIED
Jefferson P OstroskySpainIoni Bowcher NEGOTIATION
Murillo O RimArgentinaOnyama Limba RENEWAL
Wickens E WhobreySpainIoni Bowcher NEGOTIATION
Francesco P WhobreyRussiaIoni Bowcher PROPOSAL
Leon Z StockhamFranceIoni Bowcher NEGOTIATION
Misaki N PaprockiRussiaAsiya Javayant RENEWAL
Morrow N DilliardBrazilAmy Elsner NEGOTIATION
Frozen Columns
Name
Maria N Ostrosky
Jennifer B Dilliard
Deepesh X Slusarski
Aruna S Sergi
Munro S Sergi
Leja L Morasca
Morrow C Caldarera
Jefferson N Nicka
Silvio J Tollner
Greenwood E Foller
Jefferson L Chui
Tony C Butt
Stacey P Malet
Silvio Q Perin
Juan W Venere
Kaitlin A Schemmer
Leon H Shinko
Ashley J Perin
Maisha J Stenseth
Jefferson O Flosi
Smith M Shinko
Maisha B Glick
Izzy U Figeroa
Jennifer A Waycott
Adams J Inouye
Morrow Q Bolognia
Nicolas N Bolognia
Tony F Ruta
Isabel T Gillian
Clifford G Vocelka
Julie F Doe
Kadeem I Stockham
Jennifer J Ruta
Arvin Z Tollner
Morrow P Gillian
Claire A Gaucho
Julie R Malet
Murillo K Kusko
Clifford Q Nicka
Chavez F Paprocki
Leon I Chui
Kaitlin C Kusko
Munro U Nestle
Silvio R Figeroa
Octavia S Schemmer
Julie I Sergi
Rodrigues A Kusko
Adams X Gillian
Sinclair D Vocelka
Kaitlin M Briddick
IdCountryDate
1000Canada2025-08-06
1001Brazil2025-08-10
1002France2025-07-20
1003Australia2025-08-01
1004Spain2025-07-19
1005India2025-08-16
1006Spain2025-07-19
1007Brazil2025-08-17
1008Brazil2025-08-05
1009Australia2025-07-23
1010France2025-08-16
1011Japan2025-07-20
1012United Kingdom2025-07-21
1013India2025-08-11
1014United Kingdom2025-08-06
1015Japan2025-08-05
1016Russia2025-08-01
1017Brazil2025-08-14
1018Italy2025-07-30
1019Australia2025-08-08
1020United Kingdom2025-07-26
1021Germany2025-08-08
1022Italy2025-08-01
1023Italy2025-08-07
1024Japan2025-08-10
1025Germany2025-08-12
1026India2025-08-11
1027United Kingdom2025-07-30
1028Italy2025-08-03
1029Brazil2025-08-08
1030Spain2025-07-28
1031United Kingdom2025-08-05
1032Germany2025-08-16
1033Russia2025-08-07
1034Japan2025-07-23
1035Canada2025-07-26
1036Japan2025-08-03
1037Spain2025-07-26
1038United Kingdom2025-07-25
1039Italy2025-08-17
1040Italy2025-07-25
1041Argentina2025-07-23
1042Japan2025-07-20
1043Japan2025-07-23
1044Argentina2025-08-15
1045Argentina2025-08-15
1046Argentina2025-07-27
1047Australia2025-07-26
1048France2025-08-08
1049Germany2025-08-17

On-Demand Data

NameIdCountryDate
Rodrigues H Doe1000Germany2025-08-07
Jeanfrancois O Ruta1001Argentina2025-08-07
Smith G Tollner1002United Kingdom2025-08-12
Aika I Stenseth1003Canada2025-08-09
Aika M Perin1004Russia2025-08-14
Misaki E Oldroyd1005Italy2025-08-13
Munro O Glick1006Italy2025-08-16
Johnson V Venere1007Japan2025-08-03
Munro N Dilliard1008Russia2025-08-07
Juan K Poquette1009Russia2025-08-06
Aruna F Poquette1010Brazil2025-07-26
Juan K Paprocki1011Spain2025-08-06
Maria Z Figeroa1012Japan2025-08-08
David L Campain1013Australia2025-07-20
James J Morasca1014India2025-07-22
Darci C Vocelka1015Italy2025-07-27
Jeanfrancois Y Gaucho1016Russia2025-08-04
Greenwood M Stenseth1017Italy2025-08-16
Adams M Morasca1018United Kingdom2025-07-19
Morrow N Dilliard1019Argentina2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh V GauchoItalyBernardo Dominic PROPOSAL
Jennifer D SaylorsRussiaElwin Sharvill UNQUALIFIED
Faith I KolmetzCanadaOnyama Limba NEW
Julie M WieserGermanyStephen Shaw RENEWAL
Mujtaba M CaudyFranceAmy Elsner QUALIFIED
Aika C TollnerBrazilIoni Bowcher NEGOTIATION
Jeanfrancois H SergiArgentinaStephen Shaw NEW
David P RulapaughGermanyXuxue Feng NEW
Salvatore O ButtIndiaAmy Elsner NEW
Morrow A SchemmerJapanXuxue Feng NEW
Cody L WhobreyFranceIvan Magalhaes PROPOSAL
Kaitlin X BowleyItalyElwin Sharvill RENEWAL
Rodrigues W PaprockiAustraliaElwin Sharvill NEW
Adams V RoysterJapanOnyama Limba QUALIFIED
Claire S IturbideAustraliaIoni Bowcher QUALIFIED
Stacey M WhobreySpainStephen Shaw RENEWAL
Faith K OstroskyRussiaAsiya Javayant NEW
Jennifer L DoeArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois R DilliardFranceIoni Bowcher NEGOTIATION
Aruna W OldroydUnited KingdomOnyama Limba UNQUALIFIED
Murillo U OstroskyJapanAmy Elsner UNQUALIFIED
Emily D ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Jones B ButtCanadaIoni Bowcher QUALIFIED
Tony O FollerItalyIoni Bowcher NEW
Costa U MaletIndiaAsiya Javayant RENEWAL
Stacey D KuskoAustraliaAnna Fali UNQUALIFIED
Murillo M BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Izzy F SchemmerAustraliaAnna Fali QUALIFIED
Adams M PerinSpainAnna Fali QUALIFIED
Greenwood J SergiCanadaBernardo Dominic NEW
Alejandro J OstroskyGermanyAsiya Javayant NEW
Ricardo J CaudyGermanyAnna Fali UNQUALIFIED
Munro P IturbideUnited KingdomIvan Magalhaes PROPOSAL
Francesco T CaudyIndiaIoni Bowcher PROPOSAL
Tony Q VocelkaArgentinaAnna Fali UNQUALIFIED
Ivar A PerinGermanyXuxue Feng NEGOTIATION
James N CaldareraAustraliaXuxue Feng QUALIFIED
Darci I PaprockiSpainStephen Shaw NEGOTIATION
Munro K CaudyUnited KingdomAnna Fali NEW
Aika J VenereJapanAmy Elsner NEW

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