November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Jones M BriddickJapanAmy Elsner NEW
David L GarufiJapanOnyama Limba NEGOTIATION
Ivar J ChuiJapanAnna Fali PROPOSAL
Juan M VocelkaItalyBernardo Dominic PROPOSAL
Emily T NickaItalyStephen Shaw NEW
Claire G WaycottIndiaElwin Sharvill NEGOTIATION
Francesco X WaycottFranceAnna Fali QUALIFIED
Octavia A KuskoJapanIvan Magalhaes RENEWAL
Darci Y SergiSpainIvan Magalhaes RENEWAL
Ivar P BowleyRussiaStephen Shaw NEW
Kaitlin J RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna B RoysterGermanyAmy Elsner RENEWAL
Maisha N SaylorsArgentinaAmy Elsner PROPOSAL
Smith H AlbaresSpainIoni Bowcher NEW
Octavia R RimItalyAsiya Javayant QUALIFIED
Aika H RutaArgentinaOnyama Limba QUALIFIED
Octavia Z CaudyAustraliaBernardo Dominic QUALIFIED
Ricardo J WaycottCanadaAsiya Javayant QUALIFIED
Jones E CampainUnited KingdomAmy Elsner NEW
Isabel D IturbideAustraliaAnna Fali NEW
Greenwood J GlickArgentinaStephen Shaw NEW
Mayumi W MorascaArgentinaIoni Bowcher PROPOSAL
Rodrigues Q FollerSpainAmy Elsner RENEWAL
Juan I DoeAustraliaAnna Fali NEW
Jennifer U FlosiAustraliaIvan Magalhaes NEW
Ricardo F SchemmerUnited KingdomBernardo Dominic NEW
Misaki R StensethFranceIoni Bowcher NEGOTIATION
Aruna I RulapaughIndiaElwin Sharvill RENEWAL
Rodrigues P PaprockiIndiaAsiya Javayant NEGOTIATION
Juan V DilliardAustraliaElwin Sharvill NEW
Aika M GlickFranceOnyama Limba NEGOTIATION
Leon H StensethCanadaXuxue Feng RENEWAL
Rodrigues X DoeSpainBernardo Dominic NEGOTIATION
Ricardo C ShinkoSpainBernardo Dominic QUALIFIED
Smith P RoysterAustraliaOnyama Limba PROPOSAL
Tony I PerinUnited KingdomStephen Shaw RENEWAL
Jones Q AlbaresArgentinaAnna Fali PROPOSAL
Chavez J MaletAustraliaBernardo Dominic UNQUALIFIED
Clifford N DoeSpainIoni Bowcher NEGOTIATION
Leja I MaletIndiaAnna Fali NEGOTIATION
Tony Y CampainFranceBernardo Dominic RENEWAL
James L DarakjyBrazilIvan Magalhaes NEGOTIATION
Johnson B GauchoArgentinaIoni Bowcher NEW
Sinclair L DilliardSpainAnna Fali QUALIFIED
Jefferson V BowleyCanadaStephen Shaw NEW
James O FlosiArgentinaAsiya Javayant PROPOSAL
David Q ShinkoFranceAsiya Javayant UNQUALIFIED
Leja J IturbideCanadaOnyama Limba RENEWAL
Julie C SergiAustraliaOnyama Limba NEW
Darci E RoysterSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois D MaletAustraliaStephen Shaw NEGOTIATION
Octavia J VenereJapanAsiya Javayant UNQUALIFIED
Stacey J WieserGermanyXuxue Feng RENEWAL
Chavez S WaycottRussiaAsiya Javayant UNQUALIFIED
Cody R GillianCanadaIvan Magalhaes RENEWAL
Julie U WhobreyIndiaXuxue Feng PROPOSAL
Maisha F WaycottArgentinaIoni Bowcher NEGOTIATION
Nicolas R SlusarskiBrazilBernardo Dominic NEGOTIATION
Smith V TollnerArgentinaXuxue Feng UNQUALIFIED
Antonio G InouyeArgentinaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba T StockhamFrance2026-09-18Morlong Associates RENEWAL4Bernardo Dominic
1001David I OldroydBrazil2026-09-10Commercial Press NEW2Asiya Javayant
1002Greenwood E SlusarskiIndia2026-09-19Morlong Associates QUALIFIED68Ivan Magalhaes
1003Murillo V DilliardIndia2026-09-22Chapman, Ross E Esq RENEWAL62Amy Elsner
1004Deepesh M PoquetteItaly2026-10-01Rangoni Of Florence RENEWAL23Amy Elsner
1005Faith B GillianCanada2026-09-24Rangoni Of Florence RENEWAL14Anna Fali
1006Kadeem P SergiGermany2026-09-24Rousseaux, Michael Esq PROPOSAL32Xuxue Feng
1007Alejandro S MorascaIndia2026-09-12Commercial Press NEW44Elwin Sharvill
1008Deepesh O OstroskyUnited Kingdom2026-09-28Buckley Miller Wright NEGOTIATION99Ivan Magalhaes
1009Faith B AlbaresUnited Kingdom2026-09-03Feltz Printing Service NEGOTIATION50Onyama Limba
1010Mujtaba U VocelkaArgentina2026-09-09Rangoni Of Florence UNQUALIFIED63Stephen Shaw
1011Morrow G IturbideFrance2026-09-24Rangoni Of Florence PROPOSAL13Amy Elsner
1012Aditya Q NestleSpain2026-09-17Feiner Bros RENEWAL95Ioni Bowcher
1013Jones K SlusarskiGermany2026-09-18Feltz Printing Service RENEWAL24Ivan Magalhaes
1014Claire S MaletGermany2026-09-23Morlong Associates NEGOTIATION36Ivan Magalhaes
1015Emily W FlosiFrance2026-09-12Buckley Miller Wright UNQUALIFIED33Amy Elsner
1016Octavia E OldroydSpain2026-09-18King, Christopher A Esq NEW39Stephen Shaw
1017Jennifer K InouyeBrazil2026-09-12Printing Dimensions QUALIFIED97Ivan Magalhaes
1018Costa E WaycottUnited Kingdom2026-09-30Chanay, Jeffrey A Esq PROPOSAL24Stephen Shaw
1019Maisha V StockhamAustralia2026-09-25Rousseaux, Michael Esq NEGOTIATION43Amy Elsner
1020Ricardo X RimUnited Kingdom2026-09-27Feiner Bros NEW50Anna Fali
1021Cody Y OstroskyRussia2026-09-10Chanay, Jeffrey A Esq RENEWAL64Ivan Magalhaes
1022Julie S AlbaresCanada2026-09-11Printing Dimensions QUALIFIED16Elwin Sharvill
1023Johnson K ChuiIndia2026-09-20Buckley Miller Wright NEW97Onyama Limba
1024Chavez K GlickIndia2026-09-22Dorl, James J Esq RENEWAL70Amy Elsner
1025Aika K PoquetteCanada2026-09-26Chapman, Ross E Esq QUALIFIED42Stephen Shaw
1026Ricardo C DoeRussia2026-09-14Feiner Bros QUALIFIED28Onyama Limba
1027Murillo O DarakjyRussia2026-09-07Chanay, Jeffrey A Esq PROPOSAL42Ioni Bowcher
1028Greenwood C SaylorsBrazil2026-09-04King, Christopher A Esq UNQUALIFIED13Amy Elsner
1029Aruna M RimUnited Kingdom2026-09-16Morlong Associates NEGOTIATION20Xuxue Feng
1030Izzy Q SchemmerJapan2026-09-17Chemel, James L Cpa UNQUALIFIED66Elwin Sharvill
1031Mujtaba R ShinkoBrazil2026-09-03Benton, John B Jr PROPOSAL73Ioni Bowcher
1032David V RimBrazil2026-09-28Chapman, Ross E Esq PROPOSAL31Elwin Sharvill
1033Kaitlin B GauchoRussia2026-09-26Chanay, Jeffrey A Esq RENEWAL12Elwin Sharvill
1034Emily D CaudyCanada2026-09-05Rousseaux, Michael Esq RENEWAL8Ivan Magalhaes
1035Rodrigues T AmigonBrazil2026-09-09Rangoni Of Florence PROPOSAL11Amy Elsner
1036Deepesh Y WieserJapan2026-09-26Printing Dimensions RENEWAL43Ioni Bowcher
1037Salvatore X MarrierSpain2026-09-24Printing Dimensions NEGOTIATION72Xuxue Feng
1038Smith Q AlbaresCanada2026-09-13Rousseaux, Michael Esq UNQUALIFIED12Bernardo Dominic
1039Kaitlin M AmigonRussia2026-09-20Rangoni Of Florence QUALIFIED49Amy Elsner
1040Wickens X StockhamCanada2026-09-20Chapman, Ross E Esq NEW35Onyama Limba
1041Darci P StockhamArgentina2026-09-03Chemel, James L Cpa NEGOTIATION61Anna Fali
1042Ricardo K FollerFrance2026-09-04Truhlar And Truhlar Attys UNQUALIFIED20Onyama Limba
1043Jeanfrancois G ShinkoFrance2026-09-02Feltz Printing Service UNQUALIFIED3Ivan Magalhaes
1044Claire P SergiGermany2026-09-08Rangoni Of Florence UNQUALIFIED81Anna Fali
1045Jeanfrancois W PerinFrance2026-09-24Chanay, Jeffrey A Esq UNQUALIFIED88Asiya Javayant
1046Salvatore P RulapaughUnited Kingdom2026-09-21King, Christopher A Esq NEGOTIATION40Ioni Bowcher
1047Jefferson T ButtGermany2026-09-29Dorl, James J Esq PROPOSAL94Asiya Javayant
1048Tony K MacleadArgentina2026-09-19Commercial Press UNQUALIFIED15Xuxue Feng
1049David F AlbaresBrazil2026-09-02Chemel, James L Cpa RENEWAL51Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Misaki Z PoquetteAustraliaAsiya Javayant UNQUALIFIED
Alejandro Y SlusarskiItalyAmy Elsner QUALIFIED
Johnson Q FlosiUnited KingdomOnyama Limba NEW
Darci A MaletBrazilIvan Magalhaes QUALIFIED
Mujtaba Q VenereIndiaElwin Sharvill QUALIFIED
Wickens Q ShinkoUnited KingdomOnyama Limba PROPOSAL
Nicolas L KuskoItalyElwin Sharvill UNQUALIFIED
Antonio H RulapaughSpainAnna Fali QUALIFIED
Cody K FerenczAustraliaAsiya Javayant UNQUALIFIED
Stacey K WhobreyUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois T GarufiRussiaIoni Bowcher PROPOSAL
Misaki P FlosiBrazilIvan Magalhaes NEGOTIATION
Aruna P FigeroaUnited KingdomBernardo Dominic NEW
Kadeem T SchemmerRussiaOnyama Limba QUALIFIED
Aika U WhobreyUnited KingdomAsiya Javayant NEGOTIATION
James X IturbideItalyAsiya Javayant RENEWAL
Emily J SchemmerAustraliaAnna Fali NEW
Ricardo E ButtBrazilXuxue Feng QUALIFIED
Johnson O RoysterIndiaOnyama Limba NEW
Juan O VocelkaAustraliaAsiya Javayant NEW
Alejandro A AmigonGermanyBernardo Dominic NEW
Izzy O FerenczAustraliaBernardo Dominic QUALIFIED
Deepesh G CaldareraRussiaIvan Magalhaes PROPOSAL
Octavia U NestleAustraliaOnyama Limba NEW
James P RoysterRussiaIvan Magalhaes UNQUALIFIED
Adams T SlusarskiJapanIvan Magalhaes NEGOTIATION
Greenwood L OldroydItalyBernardo Dominic UNQUALIFIED
Aditya L WaycottItalyAmy Elsner RENEWAL
Kadeem T KolmetzAustraliaAsiya Javayant QUALIFIED
Cody T StensethItalyIoni Bowcher QUALIFIED
Rodrigues K SchemmerRussiaStephen Shaw NEGOTIATION
Costa J DoeIndiaXuxue Feng NEGOTIATION
Izzy U SaylorsArgentinaAmy Elsner NEW
Francesco T MaletArgentinaAsiya Javayant QUALIFIED
Arvin D FigeroaAustraliaStephen Shaw NEW
Mayumi H StockhamSpainXuxue Feng QUALIFIED
Julie A OstroskyBrazilIoni Bowcher NEW
Arvin X ChuiIndiaIvan Magalhaes PROPOSAL
Johnson T NickaSpainIoni Bowcher NEGOTIATION
Greenwood R GauchoAustraliaElwin Sharvill NEW
Aruna U MaletAustraliaIoni Bowcher UNQUALIFIED
Leja K SaylorsBrazilElwin Sharvill RENEWAL
Stacey U AlbaresSpainAnna Fali PROPOSAL
Juan T WhobreyJapanAmy Elsner NEW
Julie U FollerRussiaIvan Magalhaes NEGOTIATION
Emily D IturbideIndiaIvan Magalhaes UNQUALIFIED
Jefferson R AlbaresUnited KingdomBernardo Dominic QUALIFIED
Octavia N MorascaSpainXuxue Feng RENEWAL
Kadeem Q DarakjySpainElwin Sharvill RENEWAL
Murillo V RulapaughJapanElwin Sharvill PROPOSAL
Frozen Columns
Name
Jefferson X Foller
Julie W Garufi
Tony O Rim
Jennifer I Campain
Aruna Z Kusko
Maria T Marrier
Juan F Campain
Mujtaba N Gillian
Leja T Whobrey
Alejandro F Albares
Julie G Nicka
Cody L Royster
James X Poquette
Julie W Iturbide
Cody I Flosi
David A Inouye
Mayumi X Rim
Ricardo A Ostrosky
Rodrigues O Darakjy
Munro R Saylors
Octavia C Iturbide
Juan J Figeroa
Octavia P Ruta
Ivar W Flosi
Greenwood P Ferencz
Jeanfrancois V Venere
Murillo U Nestle
David V Nestle
Tony Z Nestle
Claire H Gillian
Morrow P Bolognia
Izzy L Iturbide
Misaki C Gaucho
Deepesh M Paprocki
Arvin I Malet
Wickens V Kolmetz
Kadeem O Wieser
Sinclair D Bowley
James V Whobrey
Arvin F Foller
Greenwood W Ostrosky
Stacey X Shinko
Jones O Poquette
Morrow X Rim
Kaitlin W Tollner
Costa N Saylors
Johnson W Whobrey
Johnson I Bowley
Aika T Tollner
Tony M Stockham
IdCountryDate
1000Australia2026-09-30
1001Russia2026-09-12
1002Argentina2026-09-28
1003France2026-09-08
1004Australia2026-09-25
1005France2026-09-02
1006Germany2026-09-22
1007France2026-09-28
1008Germany2026-09-14
1009Argentina2026-09-04
1010Australia2026-09-28
1011Germany2026-09-21
1012India2026-09-12
1013Argentina2026-09-05
1014Canada2026-09-20
1015Germany2026-09-20
1016France2026-09-19
1017Canada2026-09-13
1018Japan2026-09-10
1019United Kingdom2026-09-09
1020Canada2026-09-27
1021France2026-09-09
1022Germany2026-09-18
1023France2026-09-09
1024Canada2026-09-02
1025India2026-09-27
1026Italy2026-09-12
1027United Kingdom2026-09-15
1028Argentina2026-09-17
1029India2026-09-11
1030Australia2026-09-12
1031Canada2026-09-03
1032Japan2026-09-13
1033United Kingdom2026-09-28
1034Brazil2026-09-05
1035Brazil2026-09-24
1036Germany2026-09-20
1037France2026-09-21
1038India2026-09-06
1039Japan2026-09-27
1040India2026-09-27
1041Germany2026-09-20
1042United Kingdom2026-09-27
1043Italy2026-09-26
1044United Kingdom2026-09-27
1045Japan2026-09-27
1046Argentina2026-09-27
1047Canada2026-09-10
1048Argentina2026-09-09
1049Russia2026-09-26

On-Demand Data

NameIdCountryDate
Cody F Albares1000India2026-09-25
Kadeem C Shinko1001France2026-10-01
Stacey Y Waycott1002Brazil2026-09-06
Mayumi B Stenseth1003Russia2026-09-21
Maria Z Oldroyd1004Russia2026-09-26
Munro M Albares1005Australia2026-10-01
Nicolas G Gaucho1006Spain2026-09-06
Antonio M Rim1007Japan2026-09-05
Jones E Garufi1008Russia2026-09-14
Chavez X Rulapaugh1009Germany2026-09-24
Sinclair B Poquette1010Germany2026-09-28
Jeanfrancois Q Briddick1011United Kingdom2026-09-21
Maria E Glick1012Canada2026-09-14
Jeanfrancois A Ostrosky1013Australia2026-09-26
Francesco P Amigon1014Spain2026-09-04
Arvin A Perin1015Australia2026-09-02
Costa X Garufi1016United Kingdom2026-09-30
Nicolas U Briddick1017Russia2026-09-18
Chavez P Ruta1018Brazil2026-10-01
Emily I Ferencz1019Italy2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois X RoysterGermanyElwin Sharvill NEW
Aditya G NickaFranceOnyama Limba UNQUALIFIED
Munro C GauchoIndiaAmy Elsner NEGOTIATION
Alejandro Q WaycottGermanyIoni Bowcher RENEWAL
Kaitlin Y BriddickJapanXuxue Feng QUALIFIED
Deepesh H PerinCanadaStephen Shaw QUALIFIED
Darci N AlbaresGermanyAnna Fali NEGOTIATION
Alejandro N MaletCanadaElwin Sharvill NEW
Maisha O BriddickArgentinaAmy Elsner UNQUALIFIED
Adams G AlbaresAustraliaAnna Fali NEGOTIATION
Darci B BologniaItalyBernardo Dominic UNQUALIFIED
Nicolas Y RutaItalyAmy Elsner PROPOSAL
Octavia R KuskoCanadaAsiya Javayant NEGOTIATION
Morrow O OstroskyBrazilAnna Fali UNQUALIFIED
Jones U BriddickGermanyIoni Bowcher PROPOSAL
Izzy V PerinFranceIoni Bowcher UNQUALIFIED
Juan H CaldareraBrazilIoni Bowcher NEGOTIATION
Cody B KolmetzJapanAsiya Javayant QUALIFIED
Octavia A GarufiItalyStephen Shaw NEW
Francesco R SergiIndiaAsiya Javayant NEGOTIATION
Chavez A StensethSpainOnyama Limba RENEWAL
Clifford N FollerSpainElwin Sharvill UNQUALIFIED
Arvin O GarufiRussiaXuxue Feng RENEWAL
Rodrigues O BologniaJapanAsiya Javayant NEW
Cody E RulapaughItalyElwin Sharvill NEW
Smith C CaldareraUnited KingdomOnyama Limba NEW
Mayumi C MacleadJapanAmy Elsner NEW
Misaki O VocelkaAustraliaOnyama Limba NEGOTIATION
Johnson T AlbaresUnited KingdomIvan Magalhaes NEW
Claire Z RutaSpainOnyama Limba PROPOSAL
Julie C StensethBrazilElwin Sharvill QUALIFIED
Kadeem F GauchoAustraliaElwin Sharvill NEGOTIATION
Darci O FollerIndiaStephen Shaw UNQUALIFIED
David Q BriddickAustraliaIoni Bowcher PROPOSAL
Morrow F MaletAustraliaIoni Bowcher NEGOTIATION
Maria C KuskoBrazilBernardo Dominic NEW
Leon E NickaGermanyBernardo Dominic QUALIFIED
Ricardo O WieserGermanyXuxue Feng NEW
Ivar M MarrierArgentinaAsiya Javayant RENEWAL
Munro A CaudyGermanyIoni Bowcher 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>