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
Clifford D KuskoJapanElwin Sharvill UNQUALIFIED
Isabel D CaudyJapanIoni Bowcher RENEWAL
Rodrigues D RulapaughBrazilAmy Elsner PROPOSAL
Munro Z DoeIndiaIoni Bowcher NEW
Antonio E PoquetteItalyIvan Magalhaes QUALIFIED
Misaki Y AlbaresBrazilIvan Magalhaes UNQUALIFIED
Mujtaba A SchemmerJapanAsiya Javayant NEGOTIATION
Jones R IturbideUnited KingdomAmy Elsner NEGOTIATION
Alejandro P FollerJapanAnna Fali UNQUALIFIED
Faith F SchemmerAustraliaElwin Sharvill RENEWAL
Jones C SergiIndiaElwin Sharvill QUALIFIED
Wickens R BowleyCanadaAmy Elsner PROPOSAL
Julie J SaylorsSpainOnyama Limba NEGOTIATION
David S KuskoAustraliaIvan Magalhaes QUALIFIED
Mayumi C OldroydBrazilIvan Magalhaes NEGOTIATION
Emily C StensethCanadaIvan Magalhaes UNQUALIFIED
Ivar O DoeCanadaOnyama Limba RENEWAL
Clifford C AmigonSpainElwin Sharvill PROPOSAL
Jefferson A MorascaUnited KingdomAnna Fali NEW
Ashley E SergiJapanIoni Bowcher PROPOSAL
Kadeem G RulapaughJapanIvan Magalhaes UNQUALIFIED
Aruna U FollerArgentinaStephen Shaw RENEWAL
Murillo G VenereGermanyAmy Elsner UNQUALIFIED
Francesco L CaldareraArgentinaStephen Shaw QUALIFIED
Costa C NestleUnited KingdomIvan Magalhaes QUALIFIED
Munro I PoquetteIndiaIoni Bowcher NEGOTIATION
Maisha E PoquetteArgentinaElwin Sharvill NEGOTIATION
Sinclair T TollnerArgentinaElwin Sharvill PROPOSAL
Julie A MacleadJapanIoni Bowcher QUALIFIED
Smith E GlickUnited KingdomAsiya Javayant UNQUALIFIED
Jones U MorascaIndiaBernardo Dominic QUALIFIED
Ricardo P MaletRussiaXuxue Feng NEW
Clifford I OldroydUnited KingdomAnna Fali PROPOSAL
Aruna Z SergiJapanIvan Magalhaes UNQUALIFIED
Clifford B MacleadCanadaElwin Sharvill NEW
Salvatore Q MacleadJapanAsiya Javayant QUALIFIED
Aika B StensethFranceAnna Fali QUALIFIED
Mujtaba C FollerIndiaAmy Elsner NEW
Jones F ChuiUnited KingdomBernardo Dominic NEW
Wickens T OstroskyArgentinaStephen Shaw RENEWAL
Cody C MarrierBrazilAnna Fali QUALIFIED
Leja V CaudySpainAnna Fali UNQUALIFIED
Ricardo N GillianGermanyIoni Bowcher NEGOTIATION
Clifford Z NickaJapanAnna Fali QUALIFIED
Alejandro M TollnerArgentinaXuxue Feng QUALIFIED
Faith F FerenczFranceIoni Bowcher UNQUALIFIED
Aruna J GillianIndiaXuxue Feng RENEWAL
Mujtaba L KuskoSpainXuxue Feng UNQUALIFIED
Deepesh W BologniaAustraliaAsiya Javayant UNQUALIFIED
Antonio F AmigonBrazilBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki F GlickFranceIoni Bowcher PROPOSAL
Mayumi H KuskoRussiaIoni Bowcher PROPOSAL
Adams V WhobreyRussiaIvan Magalhaes UNQUALIFIED
Ivar W KuskoGermanyElwin Sharvill QUALIFIED
Ashley O MaletAustraliaElwin Sharvill NEGOTIATION
Munro Q AmigonCanadaAnna Fali PROPOSAL
Smith T WaycottSpainXuxue Feng QUALIFIED
Adams V DilliardFranceStephen Shaw NEGOTIATION
Jones C AmigonBrazilIvan Magalhaes RENEWAL
Jennifer V PerinIndiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson P WaycottIndia2026-10-17Morlong Associates RENEWAL30Ioni Bowcher
1001Misaki O RutaJapan2026-10-21Truhlar And Truhlar Attys QUALIFIED25Amy Elsner
1002Octavia J GlickItaly2026-10-16Rousseaux, Michael Esq QUALIFIED41Asiya Javayant
1003Stacey Q StockhamCanada2026-10-16Feltz Printing Service NEGOTIATION76Anna Fali
1004Deepesh D AlbaresCanada2026-10-25Dorl, James J Esq UNQUALIFIED62Amy Elsner
1005Leon A NickaCanada2026-10-13Rousseaux, Michael Esq PROPOSAL31Xuxue Feng
1006Maisha K SergiGermany2026-10-01Dorl, James J Esq PROPOSAL22Ivan Magalhaes
1007Jennifer D OldroydRussia2026-10-24Feiner Bros PROPOSAL11Elwin Sharvill
1008Octavia V GlickFrance2026-10-17Rangoni Of Florence PROPOSAL62Stephen Shaw
1009Cody C ShinkoFrance2026-10-14Dorl, James J Esq QUALIFIED20Onyama Limba
1010Juan L CaldareraFrance2026-10-28Rousseaux, Michael Esq UNQUALIFIED57Bernardo Dominic
1011Aika T InouyeGermany2026-10-26Chanay, Jeffrey A Esq QUALIFIED67Anna Fali
1012Jennifer D ChuiJapan2026-10-12Printing Dimensions UNQUALIFIED45Stephen Shaw
1013Kaitlin R InouyeFrance2026-10-25Truhlar And Truhlar Attys QUALIFIED82Xuxue Feng
1014Cody Y VocelkaGermany2026-10-04Truhlar And Truhlar Attys UNQUALIFIED42Ioni Bowcher
1015Ricardo Z MarrierItaly2026-10-27Dorl, James J Esq RENEWAL83Stephen Shaw
1016Jeanfrancois Z OldroydArgentina2026-10-02Dorl, James J Esq NEW71Amy Elsner
1017Faith T StensethCanada2026-10-27Morlong Associates NEGOTIATION32Bernardo Dominic
1018Octavia M SchemmerGermany2026-10-05Benton, John B Jr UNQUALIFIED12Xuxue Feng
1019Smith B SergiIndia2026-10-18Buckley Miller Wright NEGOTIATION56Xuxue Feng
1020Munro J SchemmerSpain2026-10-02Rangoni Of Florence PROPOSAL96Ivan Magalhaes
1021Emily G FigeroaCanada2026-10-28Printing Dimensions NEW9Xuxue Feng
1022Kadeem I GillianIndia2026-10-07Chemel, James L Cpa RENEWAL61Amy Elsner
1023Stacey E RutaUnited Kingdom2026-10-20Benton, John B Jr NEGOTIATION70Stephen Shaw
1024Johnson V CaldareraItaly2026-10-21Feiner Bros PROPOSAL13Asiya Javayant
1025Greenwood G StensethCanada2026-10-21Dorl, James J Esq NEW76Elwin Sharvill
1026Jennifer J DarakjyAustralia2026-10-28Rangoni Of Florence NEW99Stephen Shaw
1027Morrow N BowleyItaly2026-10-01Rangoni Of Florence NEW84Asiya Javayant
1028David W DilliardIndia2026-10-23Rousseaux, Michael Esq PROPOSAL53Bernardo Dominic
1029Misaki M WhobreyCanada2026-10-07Printing Dimensions QUALIFIED98Asiya Javayant
1030Alejandro S RoysterCanada2026-10-11Chapman, Ross E Esq NEGOTIATION16Bernardo Dominic
1031Aika L CampainRussia2026-10-14Truhlar And Truhlar Attys NEW46Asiya Javayant
1032Costa U IturbideBrazil2026-10-03Feltz Printing Service QUALIFIED15Ivan Magalhaes
1033Tony I PoquetteJapan2026-10-18Chemel, James L Cpa PROPOSAL7Onyama Limba
1034Munro Q FollerFrance2026-10-09Feltz Printing Service RENEWAL0Anna Fali
1035Murillo C SchemmerUnited Kingdom2026-10-24Chemel, James L Cpa PROPOSAL70Onyama Limba
1036Jefferson D WieserItaly2026-10-10Chemel, James L Cpa RENEWAL89Asiya Javayant
1037Kaitlin B PerinJapan2026-10-18King, Christopher A Esq NEGOTIATION68Bernardo Dominic
1038Arvin X IturbideCanada2026-10-20Feltz Printing Service QUALIFIED36Asiya Javayant
1039Antonio S RoysterUnited Kingdom2026-10-05Chapman, Ross E Esq UNQUALIFIED39Bernardo Dominic
1040Stacey S RoysterArgentina2026-10-16Commercial Press PROPOSAL92Ivan Magalhaes
1041Chavez W RulapaughJapan2026-10-23Buckley Miller Wright UNQUALIFIED67Stephen Shaw
1042Octavia R DoeBrazil2026-10-28Rousseaux, Michael Esq QUALIFIED18Asiya Javayant
1043Costa G IturbideUnited Kingdom2026-10-01Printing Dimensions NEGOTIATION68Ioni Bowcher
1044Murillo N CaudyUnited Kingdom2026-10-07Commercial Press UNQUALIFIED13Amy Elsner
1045Tony L KolmetzArgentina2026-10-19Rangoni Of Florence NEGOTIATION61Elwin Sharvill
1046Antonio M DilliardSpain2026-10-13Feiner Bros UNQUALIFIED79Amy Elsner
1047Morrow S StockhamGermany2026-10-04Printing Dimensions UNQUALIFIED10Onyama Limba
1048Munro P CampainCanada2026-10-12Rousseaux, Michael Esq RENEWAL88Bernardo Dominic
1049Nicolas I DoeArgentina2026-10-16Dorl, James J Esq QUALIFIED91Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Chavez W AmigonUnited KingdomStephen Shaw QUALIFIED
Stacey V WieserGermanyAsiya Javayant NEW
Maria E KuskoAustraliaAnna Fali PROPOSAL
Misaki Y MorascaAustraliaIoni Bowcher NEGOTIATION
Jefferson G MarrierJapanAsiya Javayant RENEWAL
Kaitlin T StockhamBrazilAsiya Javayant UNQUALIFIED
David U PerinItalyAmy Elsner UNQUALIFIED
Chavez J CampainBrazilAmy Elsner RENEWAL
Juan F StockhamArgentinaAnna Fali UNQUALIFIED
Nicolas P ChuiGermanyOnyama Limba RENEWAL
Costa N DarakjySpainXuxue Feng QUALIFIED
Sinclair S NickaIndiaBernardo Dominic NEW
Aditya X NestleArgentinaElwin Sharvill NEGOTIATION
Alejandro Y NickaCanadaXuxue Feng UNQUALIFIED
Ricardo P VocelkaItalyXuxue Feng RENEWAL
Jefferson L RutaUnited KingdomOnyama Limba NEW
Izzy V KolmetzUnited KingdomXuxue Feng QUALIFIED
Misaki B AmigonRussiaAsiya Javayant PROPOSAL
Claire G DarakjyGermanyAsiya Javayant PROPOSAL
Izzy K SergiAustraliaXuxue Feng QUALIFIED
Aditya M ChuiJapanIoni Bowcher RENEWAL
Leja O SaylorsJapanBernardo Dominic NEW
Salvatore W MarrierRussiaIvan Magalhaes QUALIFIED
James R BologniaBrazilIvan Magalhaes NEGOTIATION
Clifford T BologniaJapanAmy Elsner NEGOTIATION
Stacey I ChuiBrazilIoni Bowcher QUALIFIED
Tony C SlusarskiRussiaAsiya Javayant NEGOTIATION
Leon U VenereIndiaAsiya Javayant NEGOTIATION
Nicolas H StockhamIndiaAsiya Javayant NEGOTIATION
Jennifer K CampainUnited KingdomBernardo Dominic UNQUALIFIED
Darci D KolmetzArgentinaStephen Shaw QUALIFIED
Tony L RimSpainAsiya Javayant NEGOTIATION
Ivar I GillianFranceIvan Magalhaes NEW
Aika R GlickJapanIoni Bowcher NEGOTIATION
Arvin Z VocelkaArgentinaIoni Bowcher QUALIFIED
Chavez I ButtIndiaElwin Sharvill RENEWAL
Greenwood G FerenczBrazilAnna Fali UNQUALIFIED
Faith S NickaRussiaIoni Bowcher PROPOSAL
Claire N FlosiGermanyXuxue Feng NEGOTIATION
Rodrigues A CampainCanadaXuxue Feng NEW
Jeanfrancois R VenereIndiaIvan Magalhaes UNQUALIFIED
Chavez A ShinkoCanadaAsiya Javayant RENEWAL
Kaitlin U BologniaFranceStephen Shaw NEGOTIATION
Faith E AlbaresItalyIvan Magalhaes NEW
Cody O SlusarskiJapanAnna Fali PROPOSAL
Munro N ButtGermanyIoni Bowcher UNQUALIFIED
Jeanfrancois I FlosiUnited KingdomIoni Bowcher RENEWAL
Deepesh G ButtIndiaAnna Fali RENEWAL
Adams O MaletSpainIoni Bowcher NEGOTIATION
Aditya P DilliardBrazilBernardo Dominic NEW
Frozen Columns
Name
Salvatore N Amigon
Munro W Bolognia
Silvio T Gaucho
Munro M Figeroa
Ivar B Schemmer
Greenwood M Bolognia
Smith J Gaucho
Murillo R Venere
Izzy D Nicka
Jeanfrancois H Vocelka
Sinclair H Slusarski
Wickens K Rim
Mayumi K Foller
David Z Ferencz
Ashley I Ferencz
Rodrigues L Maclead
James H Campain
David J Flosi
Isabel A Marrier
Smith X Kusko
Wickens B Caldarera
Wickens B Bowley
Aruna F Malet
Mujtaba F Campain
Jennifer L Glick
Arvin B Doe
Greenwood E Foller
Faith U Shinko
Greenwood S Ruta
Aika I Rim
Greenwood S Maclead
Ivar Z Morasca
Kadeem I Rulapaugh
Leja Q Ruta
Faith V Butt
Stacey G Tollner
Aditya J Kolmetz
Costa V Gaucho
Mujtaba O Ferencz
Leon U Maclead
Francesco C Ferencz
Jefferson A Oldroyd
Emily D Poquette
Morrow K Marrier
David H Nestle
Alejandro C Marrier
Leja I Rim
Clifford A Waycott
Jennifer F Ferencz
Octavia F Caudy
IdCountryDate
1000Japan2026-10-30
1001Australia2026-10-12
1002Australia2026-10-07
1003Canada2026-10-15
1004Russia2026-10-18
1005France2026-10-03
1006Brazil2026-10-29
1007Argentina2026-10-07
1008Spain2026-10-16
1009Argentina2026-10-10
1010Canada2026-10-18
1011United Kingdom2026-10-06
1012United Kingdom2026-10-05
1013Brazil2026-10-29
1014Germany2026-10-08
1015United Kingdom2026-10-17
1016Japan2026-10-23
1017Brazil2026-10-27
1018Brazil2026-10-27
1019Argentina2026-10-22
1020Argentina2026-10-04
1021Germany2026-10-15
1022Australia2026-10-02
1023Argentina2026-10-12
1024Italy2026-10-14
1025France2026-10-13
1026United Kingdom2026-10-11
1027Italy2026-10-25
1028Canada2026-10-12
1029Japan2026-10-11
1030United Kingdom2026-10-30
1031Germany2026-10-16
1032Argentina2026-10-04
1033Canada2026-10-24
1034Russia2026-10-28
1035Brazil2026-10-10
1036Russia2026-10-29
1037Argentina2026-10-26
1038Germany2026-10-17
1039Australia2026-10-02
1040India2026-10-11
1041Japan2026-10-20
1042United Kingdom2026-10-12
1043Brazil2026-10-08
1044India2026-10-08
1045Germany2026-10-05
1046Argentina2026-10-19
1047Australia2026-10-17
1048Argentina2026-10-02
1049Russia2026-10-30

On-Demand Data

NameIdCountryDate
Faith U Garufi1000Argentina2026-10-25
David X Figeroa1001France2026-10-02
Kaitlin E Amigon1002Canada2026-10-18
Murillo S Kusko1003Russia2026-10-10
Cody T Albares1004Australia2026-10-06
Misaki N Kusko1005Brazil2026-10-30
Silvio Y Royster1006Canada2026-10-25
Arvin R Flosi1007United Kingdom2026-10-04
Wickens U Campain1008Spain2026-10-28
Emily M Malet1009Germany2026-10-27
Salvatore T Inouye1010Spain2026-10-30
Maisha V Stenseth1011Argentina2026-10-04
Wickens J Stenseth1012Canada2026-10-14
Juan X Doe1013Brazil2026-10-12
Izzy K Wieser1014United Kingdom2026-10-21
Chavez P Caudy1015Japan2026-10-23
Clifford B Butt1016India2026-10-01
Cody L Figeroa1017India2026-10-29
Stacey C Garufi1018India2026-10-06
Greenwood O Stenseth1019United Kingdom2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues L StockhamBrazilAnna Fali PROPOSAL
Maria V RutaFranceAnna Fali RENEWAL
Mayumi M FigeroaArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois D WaycottSpainXuxue Feng NEW
Morrow A KolmetzItalyAnna Fali RENEWAL
Julie S FollerRussiaXuxue Feng NEW
Silvio H WieserIndiaIoni Bowcher NEW
Deepesh A SaylorsCanadaBernardo Dominic NEGOTIATION
Mujtaba N PoquetteFranceAmy Elsner NEGOTIATION
Johnson C GauchoUnited KingdomAmy Elsner NEW
Leja B KolmetzUnited KingdomBernardo Dominic PROPOSAL
Leon X RoysterSpainBernardo Dominic PROPOSAL
Ashley K TollnerJapanAsiya Javayant NEGOTIATION
Emily R StensethCanadaAmy Elsner UNQUALIFIED
Ashley G CaudyJapanIoni Bowcher QUALIFIED
Jennifer W CampainBrazilAmy Elsner RENEWAL
Mayumi W WhobreyItalyAmy Elsner QUALIFIED
Tony Q GillianItalyBernardo Dominic QUALIFIED
Jennifer S FlosiAustraliaStephen Shaw NEGOTIATION
Silvio Q FerenczFranceAsiya Javayant NEGOTIATION
Tony K WaycottBrazilAmy Elsner RENEWAL
Johnson J GillianItalyAmy Elsner NEW
Stacey S PerinAustraliaXuxue Feng NEGOTIATION
Octavia T VocelkaItalyIvan Magalhaes PROPOSAL
Jones X DilliardBrazilAnna Fali UNQUALIFIED
Jeanfrancois A StensethUnited KingdomIoni Bowcher QUALIFIED
Mujtaba U OldroydJapanBernardo Dominic PROPOSAL
Deepesh O OldroydItalyElwin Sharvill NEGOTIATION
Tony J VenereArgentinaOnyama Limba UNQUALIFIED
Jefferson W StockhamItalyXuxue Feng RENEWAL
Munro D MacleadUnited KingdomAnna Fali UNQUALIFIED
Clifford H DarakjyArgentinaIvan Magalhaes NEGOTIATION
Kaitlin C MorascaAustraliaOnyama Limba NEGOTIATION
Morrow R TollnerUnited KingdomAsiya Javayant PROPOSAL
Aruna G GarufiRussiaIvan Magalhaes UNQUALIFIED
Darci H FerenczGermanyOnyama Limba RENEWAL
Aditya V ButtRussiaIoni Bowcher NEW
Sinclair T AlbaresArgentinaAmy Elsner NEGOTIATION
Ivar H NickaIndiaIoni Bowcher NEW
Sinclair U FlosiFranceStephen Shaw PROPOSAL

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