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
Sinclair O BriddickRussiaBernardo Dominic QUALIFIED
Sinclair N WhobreyFranceAmy Elsner NEW
Stacey Q DarakjyIndiaXuxue Feng PROPOSAL
Kaitlin A TollnerArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois F MaletSpainIvan Magalhaes UNQUALIFIED
Silvio R CaldareraJapanAsiya Javayant QUALIFIED
Darci C StockhamIndiaBernardo Dominic PROPOSAL
Octavia S KuskoItalyIvan Magalhaes UNQUALIFIED
Ricardo N CaldareraItalyIoni Bowcher QUALIFIED
Mujtaba S InouyeUnited KingdomBernardo Dominic PROPOSAL
Munro S SlusarskiCanadaAmy Elsner UNQUALIFIED
Johnson J GarufiItalyAmy Elsner QUALIFIED
Greenwood B OldroydJapanIoni Bowcher UNQUALIFIED
Clifford H GauchoCanadaAnna Fali RENEWAL
Deepesh Y StensethJapanAsiya Javayant QUALIFIED
Mayumi E PaprockiBrazilAnna Fali NEW
Julie X FerenczItalyAsiya Javayant PROPOSAL
Leja S FerenczIndiaAnna Fali NEW
Leja D RulapaughSpainIvan Magalhaes NEGOTIATION
Sinclair G BriddickRussiaIoni Bowcher NEW
Smith W MacleadUnited KingdomOnyama Limba RENEWAL
Alejandro H BologniaSpainBernardo Dominic RENEWAL
Alejandro J WaycottSpainAsiya Javayant UNQUALIFIED
Juan O VenereAustraliaXuxue Feng PROPOSAL
Isabel M WieserGermanyBernardo Dominic NEGOTIATION
Jennifer A FigeroaAustraliaOnyama Limba NEW
Silvio B WaycottItalyAnna Fali RENEWAL
Francesco Q StockhamCanadaAnna Fali UNQUALIFIED
Rodrigues F CaldareraBrazilXuxue Feng QUALIFIED
Murillo N ShinkoSpainXuxue Feng QUALIFIED
Faith M WhobreyJapanAmy Elsner UNQUALIFIED
Cody R FigeroaGermanyOnyama Limba RENEWAL
Faith U CaldareraAustraliaAmy Elsner QUALIFIED
Jeanfrancois F AmigonFranceOnyama Limba NEW
Silvio L RoysterJapanElwin Sharvill PROPOSAL
Sinclair O FollerBrazilOnyama Limba UNQUALIFIED
Leja I TollnerItalyStephen Shaw PROPOSAL
Jeanfrancois C CaldareraItalyElwin Sharvill NEGOTIATION
Mayumi Y DilliardArgentinaAmy Elsner QUALIFIED
Silvio U MacleadRussiaXuxue Feng NEW
Wickens X NestleSpainAmy Elsner NEW
Maria O MaletGermanyXuxue Feng RENEWAL
Aditya Q FerenczGermanyXuxue Feng NEW
David B AlbaresUnited KingdomXuxue Feng RENEWAL
Clifford M DarakjyGermanyAnna Fali PROPOSAL
Leja K FigeroaAustraliaAsiya Javayant RENEWAL
Faith P IturbideFranceAnna Fali UNQUALIFIED
Aruna O IturbideFranceIoni Bowcher RENEWAL
Deepesh O BriddickFranceElwin Sharvill NEW
Stacey C VenereAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel G GarufiCanadaOnyama Limba UNQUALIFIED
Nicolas G MacleadUnited KingdomStephen Shaw PROPOSAL
Claire J MaletItalyStephen Shaw UNQUALIFIED
Aditya H WieserRussiaIvan Magalhaes UNQUALIFIED
Kadeem P BriddickAustraliaXuxue Feng PROPOSAL
Octavia S MaletGermanyStephen Shaw UNQUALIFIED
Morrow X RimIndiaAmy Elsner RENEWAL
Emily M ShinkoFranceAnna Fali UNQUALIFIED
Tony Q NestleArgentinaIoni Bowcher RENEWAL
Jennifer Y MarrierArgentinaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair W BologniaCanada2026-10-19Morlong Associates RENEWAL88Anna Fali
1001Kaitlin P RoysterArgentina2026-10-27Rousseaux, Michael Esq NEW25Xuxue Feng
1002Leja K NestleJapan2026-10-26Dorl, James J Esq RENEWAL26Onyama Limba
1003Rodrigues H InouyeArgentina2026-10-13Printing Dimensions RENEWAL96Bernardo Dominic
1004Darci X SchemmerUnited Kingdom2026-11-02Truhlar And Truhlar Attys QUALIFIED24Ivan Magalhaes
1005Jeanfrancois L FlosiSpain2026-10-08Morlong Associates QUALIFIED42Amy Elsner
1006Munro Z PaprockiCanada2026-10-15Rangoni Of Florence RENEWAL75Ioni Bowcher
1007Rodrigues J FollerSpain2026-10-24Commercial Press NEGOTIATION51Ioni Bowcher
1008Claire S SergiFrance2026-10-08Truhlar And Truhlar Attys RENEWAL33Ivan Magalhaes
1009Claire P GillianSpain2026-10-24Commercial Press NEGOTIATION59Bernardo Dominic
1010Octavia J VocelkaAustralia2026-11-03Commercial Press QUALIFIED69Elwin Sharvill
1011Ashley Z DilliardSpain2026-10-21Buckley Miller Wright NEW62Onyama Limba
1012Salvatore U DilliardAustralia2026-10-13Commercial Press NEGOTIATION71Amy Elsner
1013Kadeem Z RutaJapan2026-10-21Truhlar And Truhlar Attys UNQUALIFIED68Amy Elsner
1014Cody Q KolmetzAustralia2026-10-29Feltz Printing Service QUALIFIED38Asiya Javayant
1015Darci U SlusarskiRussia2026-10-12Buckley Miller Wright RENEWAL5Ioni Bowcher
1016Maria O SchemmerUnited Kingdom2026-10-08Chapman, Ross E Esq QUALIFIED92Onyama Limba
1017Munro L RimCanada2026-10-26Feltz Printing Service QUALIFIED31Stephen Shaw
1018Ashley K StensethItaly2026-10-15Benton, John B Jr NEGOTIATION13Onyama Limba
1019Faith H IturbideItaly2026-10-26Rangoni Of Florence PROPOSAL12Ioni Bowcher
1020David R CampainAustralia2026-10-21Dorl, James J Esq NEGOTIATION54Ioni Bowcher
1021Greenwood T DarakjyCanada2026-10-10Rangoni Of Florence NEGOTIATION75Asiya Javayant
1022Ricardo L NickaGermany2026-10-16Truhlar And Truhlar Attys NEGOTIATION95Amy Elsner
1023Julie I CaudyAustralia2026-10-14Benton, John B Jr RENEWAL87Ivan Magalhaes
1024Salvatore E DarakjySpain2026-10-20Truhlar And Truhlar Attys QUALIFIED89Onyama Limba
1025Greenwood X IturbideGermany2026-10-07Commercial Press UNQUALIFIED33Bernardo Dominic
1026Clifford S DarakjyBrazil2026-11-03Printing Dimensions NEGOTIATION11Anna Fali
1027Izzy L AlbaresSpain2026-10-10Chanay, Jeffrey A Esq NEGOTIATION84Anna Fali
1028Jefferson Y KolmetzFrance2026-10-07Buckley Miller Wright RENEWAL8Xuxue Feng
1029Deepesh S RoysterSpain2026-10-09Rousseaux, Michael Esq QUALIFIED26Bernardo Dominic
1030Kadeem M NickaJapan2026-11-03Commercial Press QUALIFIED60Onyama Limba
1031Juan Z DarakjySpain2026-10-11Printing Dimensions UNQUALIFIED82Xuxue Feng
1032Leon U WieserFrance2026-10-31Benton, John B Jr QUALIFIED76Ioni Bowcher
1033Nicolas X DarakjyArgentina2026-11-03Printing Dimensions PROPOSAL78Onyama Limba
1034Stacey N KolmetzIndia2026-10-23Feltz Printing Service NEGOTIATION49Ioni Bowcher
1035Kaitlin V InouyeItaly2026-10-07Printing Dimensions UNQUALIFIED34Xuxue Feng
1036Emily B MorascaItaly2026-10-08Buckley Miller Wright QUALIFIED21Xuxue Feng
1037Costa S ButtIndia2026-11-02Feltz Printing Service NEGOTIATION1Ioni Bowcher
1038David Y AlbaresUnited Kingdom2026-10-08Dorl, James J Esq NEW89Ioni Bowcher
1039Clifford I DoeUnited Kingdom2026-10-14Printing Dimensions UNQUALIFIED24Asiya Javayant
1040Clifford J InouyeAustralia2026-10-12Truhlar And Truhlar Attys NEGOTIATION49Onyama Limba
1041Arvin U FollerCanada2026-10-07King, Christopher A Esq RENEWAL11Ioni Bowcher
1042Alejandro T MaletFrance2026-10-25Commercial Press QUALIFIED72Xuxue Feng
1043Octavia E CaldareraSpain2026-10-15Buckley Miller Wright NEGOTIATION13Bernardo Dominic
1044David L StensethCanada2026-10-19Chanay, Jeffrey A Esq QUALIFIED47Xuxue Feng
1045David W SlusarskiGermany2026-11-04Rousseaux, Michael Esq UNQUALIFIED60Asiya Javayant
1046Kadeem L VenereBrazil2026-10-29King, Christopher A Esq NEGOTIATION16Asiya Javayant
1047Arvin W BowleyJapan2026-10-13Dorl, James J Esq QUALIFIED2Onyama Limba
1048Jennifer P RimAustralia2026-11-01Chapman, Ross E Esq UNQUALIFIED14Ivan Magalhaes
1049Alejandro Y DoeIndia2026-10-07Printing Dimensions UNQUALIFIED7Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Murillo J NickaBrazilAsiya Javayant RENEWAL
Nicolas F OstroskyBrazilOnyama Limba NEGOTIATION
Greenwood H ButtFranceOnyama Limba QUALIFIED
Mayumi A WhobreyItalyAsiya Javayant RENEWAL
Octavia L CaldareraRussiaIvan Magalhaes NEGOTIATION
Jefferson T StockhamItalyBernardo Dominic NEW
Alejandro X SaylorsRussiaElwin Sharvill UNQUALIFIED
Leja N MorascaFranceStephen Shaw PROPOSAL
Mujtaba V ChuiRussiaAmy Elsner UNQUALIFIED
Mujtaba F WhobreyItalyIvan Magalhaes UNQUALIFIED
Silvio I CaudyFranceAnna Fali NEW
Ashley C BologniaSpainStephen Shaw PROPOSAL
Greenwood U DilliardRussiaOnyama Limba NEW
James Z ShinkoGermanyAmy Elsner QUALIFIED
Rodrigues Y MacleadGermanyStephen Shaw NEW
Izzy E WhobreyArgentinaStephen Shaw NEGOTIATION
Kadeem W BologniaIndiaAmy Elsner UNQUALIFIED
Kadeem C VocelkaAustraliaAmy Elsner NEW
Murillo N InouyeItalyAmy Elsner UNQUALIFIED
Maria Q ChuiBrazilXuxue Feng NEGOTIATION
Alejandro J ShinkoIndiaXuxue Feng NEW
Ricardo Q DarakjyGermanyBernardo Dominic NEW
Wickens L CampainAustraliaAsiya Javayant NEW
Mujtaba C TollnerIndiaStephen Shaw PROPOSAL
Darci D SaylorsRussiaAsiya Javayant NEW
Maisha F OldroydFranceBernardo Dominic UNQUALIFIED
Cody L RimJapanXuxue Feng RENEWAL
Wickens A RutaItalyStephen Shaw NEGOTIATION
Faith Q WhobreyBrazilIvan Magalhaes PROPOSAL
Leon R AmigonRussiaOnyama Limba UNQUALIFIED
Aditya L AmigonGermanyElwin Sharvill PROPOSAL
Johnson F RimUnited KingdomElwin Sharvill QUALIFIED
Antonio P BologniaRussiaXuxue Feng QUALIFIED
Jefferson D VocelkaArgentinaIvan Magalhaes NEGOTIATION
Mayumi W RulapaughSpainAnna Fali PROPOSAL
Alejandro O RutaJapanAsiya Javayant NEW
Francesco D VocelkaSpainAsiya Javayant RENEWAL
Darci V TollnerSpainAnna Fali NEGOTIATION
Misaki G OldroydCanadaIoni Bowcher UNQUALIFIED
Kadeem K VenereJapanOnyama Limba NEW
Murillo D SergiItalyElwin Sharvill QUALIFIED
Wickens P MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Ashley Y RutaItalyStephen Shaw QUALIFIED
Leja K ShinkoItalyBernardo Dominic NEW
Kaitlin H FigeroaBrazilAnna Fali UNQUALIFIED
Alejandro M CaldareraJapanIoni Bowcher RENEWAL
Greenwood G GarufiFranceAmy Elsner QUALIFIED
Rodrigues B RulapaughRussiaAsiya Javayant NEW
Ricardo D ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo S RoysterSpainAsiya Javayant QUALIFIED
Frozen Columns
Name
Johnson B Nicka
Morrow M Nestle
Faith Y Butt
Darci W Albares
Ivar V Figeroa
Clifford B Stenseth
Chavez D Morasca
Aika T Kolmetz
Jeanfrancois O Ruta
Adams I Bolognia
Arvin L Rulapaugh
Leon A Garufi
Murillo Y Chui
Aruna M Slusarski
Smith M Schemmer
Jennifer M Flosi
Wickens Q Rulapaugh
Tony U Glick
Ivar E Oldroyd
Mayumi W Nestle
Jefferson O Darakjy
Kaitlin V Rulapaugh
Adams B Maclead
Munro A Shinko
Jeanfrancois P Campain
Jefferson E Briddick
Aditya V Caldarera
Antonio W Rim
Kadeem V Maclead
Faith C Malet
Aditya D Ruta
Alejandro D Doe
Arvin Q Stockham
Salvatore L Sergi
Emily L Darakjy
Mujtaba Z Butt
Kadeem Y Bolognia
Morrow V Rulapaugh
Octavia Q Flosi
Ashley G Garufi
Claire G Rulapaugh
Smith U Albares
Munro B Gaucho
Ashley H Whobrey
Isabel E Nicka
Leja D Kusko
Morrow W Poquette
Emily D Briddick
Ashley I Albares
Stacey E Stenseth
IdCountryDate
1000Russia2026-10-25
1001Japan2026-10-18
1002Italy2026-10-28
1003Argentina2026-10-15
1004United Kingdom2026-10-11
1005India2026-10-07
1006Australia2026-10-16
1007Australia2026-11-01
1008United Kingdom2026-10-18
1009Italy2026-10-23
1010France2026-10-10
1011Spain2026-10-09
1012Spain2026-10-15
1013Japan2026-10-13
1014United Kingdom2026-11-02
1015Italy2026-11-01
1016United Kingdom2026-10-08
1017Spain2026-10-10
1018Germany2026-10-23
1019Canada2026-10-15
1020India2026-10-27
1021United Kingdom2026-10-30
1022Argentina2026-11-02
1023Italy2026-10-26
1024Germany2026-11-05
1025Canada2026-10-26
1026Russia2026-11-04
1027Japan2026-10-26
1028Italy2026-10-31
1029Brazil2026-11-05
1030Brazil2026-11-04
1031Argentina2026-10-08
1032Argentina2026-11-02
1033Australia2026-11-03
1034Italy2026-11-05
1035Germany2026-10-22
1036India2026-10-15
1037Russia2026-10-20
1038India2026-10-26
1039Italy2026-10-21
1040Australia2026-10-27
1041India2026-10-15
1042Argentina2026-11-01
1043France2026-10-22
1044Argentina2026-10-23
1045Australia2026-10-11
1046Brazil2026-11-02
1047Russia2026-11-05
1048United Kingdom2026-10-27
1049India2026-10-28

On-Demand Data

NameIdCountryDate
Deepesh C Tollner1000Russia2026-10-09
Adams C Waycott1001Russia2026-11-05
Adams P Kolmetz1002Germany2026-10-31
Juan G Campain1003United Kingdom2026-11-04
James A Bolognia1004Germany2026-10-12
Deepesh B Ferencz1005India2026-10-08
Ricardo D Amigon1006Spain2026-11-05
Leja T Nestle1007Canada2026-11-01
Costa N Dilliard1008United Kingdom2026-11-04
Izzy P Slusarski1009France2026-10-13
Kadeem Y Doe1010United Kingdom2026-10-23
Munro D Vocelka1011Spain2026-10-18
Salvatore D Garufi1012Russia2026-10-16
Leon E Slusarski1013Russia2026-11-03
Emily Y Figeroa1014Russia2026-10-31
Maisha I Morasca1015Japan2026-10-21
Faith B Briddick1016Brazil2026-11-02
Stacey N Kusko1017Canada2026-11-01
Izzy E Briddick1018Brazil2026-10-16
Leon G Kusko1019France2026-11-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily Z IturbideCanadaIoni Bowcher UNQUALIFIED
Emily C MaletIndiaXuxue Feng UNQUALIFIED
Munro J StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois K CaudyGermanyAnna Fali PROPOSAL
Munro D FerenczJapanIoni Bowcher RENEWAL
Aruna E GillianJapanBernardo Dominic RENEWAL
Greenwood T ChuiJapanBernardo Dominic QUALIFIED
Arvin I FollerItalyAnna Fali QUALIFIED
Faith H MaletJapanOnyama Limba PROPOSAL
Alejandro V VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Mayumi V SergiSpainIvan Magalhaes UNQUALIFIED
Stacey D MaletFranceIvan Magalhaes NEW
Kadeem T FigeroaCanadaOnyama Limba PROPOSAL
Emily K FerenczItalyIvan Magalhaes PROPOSAL
David Q DarakjyGermanyElwin Sharvill NEGOTIATION
Arvin M NickaSpainIvan Magalhaes QUALIFIED
Arvin Q BologniaRussiaOnyama Limba QUALIFIED
Octavia R PoquetteCanadaAmy Elsner UNQUALIFIED
Morrow P SaylorsSpainAsiya Javayant NEGOTIATION
Aika V DoeRussiaOnyama Limba NEGOTIATION
Kadeem B RoysterGermanyAsiya Javayant QUALIFIED
Nicolas D SergiBrazilStephen Shaw NEGOTIATION
Rodrigues I WaycottAustraliaAmy Elsner NEW
Juan C PoquetteAustraliaIvan Magalhaes QUALIFIED
Rodrigues V FigeroaGermanyIvan Magalhaes PROPOSAL
Silvio Z NickaUnited KingdomXuxue Feng UNQUALIFIED
Wickens T NickaBrazilBernardo Dominic UNQUALIFIED
Misaki U AmigonUnited KingdomXuxue Feng PROPOSAL
Arvin D PaprockiJapanBernardo Dominic PROPOSAL
Silvio V MaletSpainAsiya Javayant NEW
Wickens V SlusarskiGermanyStephen Shaw UNQUALIFIED
Kaitlin G ShinkoCanadaAsiya Javayant QUALIFIED
James R SergiGermanyBernardo Dominic UNQUALIFIED
Isabel T FollerFranceAnna Fali PROPOSAL
Isabel P ChuiUnited KingdomXuxue Feng NEW
Arvin Y GarufiUnited KingdomAnna Fali PROPOSAL
Emily J RutaAustraliaBernardo Dominic PROPOSAL
Claire K MaletRussiaElwin Sharvill UNQUALIFIED
Mujtaba H SaylorsUnited KingdomOnyama Limba PROPOSAL
Isabel U WieserCanadaXuxue Feng 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>