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
Greenwood J GillianAustraliaIoni Bowcher RENEWAL
James Y FigeroaJapanStephen Shaw PROPOSAL
Morrow S DilliardBrazilIvan Magalhaes UNQUALIFIED
Antonio H RoysterRussiaXuxue Feng RENEWAL
Misaki R PoquetteRussiaAmy Elsner RENEWAL
Mayumi X BriddickArgentinaXuxue Feng QUALIFIED
Silvio X BriddickCanadaXuxue Feng NEGOTIATION
Jones Z PoquetteIndiaAmy Elsner NEGOTIATION
Ricardo K KolmetzIndiaAnna Fali NEGOTIATION
Ricardo Z SlusarskiCanadaIoni Bowcher UNQUALIFIED
Isabel W PerinCanadaOnyama Limba UNQUALIFIED
Silvio Y RulapaughUnited KingdomOnyama Limba QUALIFIED
Stacey D DoeFranceAsiya Javayant NEGOTIATION
Mayumi H NestleBrazilIvan Magalhaes NEGOTIATION
Tony E TollnerArgentinaAnna Fali NEW
Clifford U StensethFranceOnyama Limba PROPOSAL
Mujtaba F MaletCanadaAmy Elsner QUALIFIED
Salvatore K FigeroaArgentinaStephen Shaw NEW
Sinclair Q FigeroaBrazilStephen Shaw UNQUALIFIED
Cody W CampainUnited KingdomAnna Fali NEW
Rodrigues V AmigonGermanyAnna Fali QUALIFIED
Rodrigues W ButtIndiaStephen Shaw NEW
Claire S KolmetzCanadaAmy Elsner UNQUALIFIED
Leja E StensethFranceIoni Bowcher QUALIFIED
Jones J GarufiGermanyIoni Bowcher RENEWAL
Silvio O StensethIndiaAsiya Javayant NEGOTIATION
Alejandro T CaudyGermanyAnna Fali NEW
Maisha X VenereGermanyIoni Bowcher QUALIFIED
Tony I AlbaresCanadaAsiya Javayant RENEWAL
Stacey X GillianJapanIvan Magalhaes UNQUALIFIED
Murillo Z KolmetzIndiaAmy Elsner NEGOTIATION
Izzy X CaldareraSpainIoni Bowcher NEW
Ricardo P VenereFranceIvan Magalhaes QUALIFIED
Munro C MarrierUnited KingdomAmy Elsner NEW
Ivar I MorascaAustraliaAsiya Javayant NEW
Jennifer J CampainItalyElwin Sharvill UNQUALIFIED
Clifford W FigeroaUnited KingdomAsiya Javayant QUALIFIED
Munro U MarrierBrazilXuxue Feng RENEWAL
Chavez H MacleadAustraliaAsiya Javayant NEGOTIATION
Mayumi N KuskoFranceXuxue Feng NEW
Nicolas A OstroskyBrazilOnyama Limba PROPOSAL
Octavia K MaletArgentinaIvan Magalhaes RENEWAL
Nicolas E MaletCanadaIvan Magalhaes NEW
Jeanfrancois V ShinkoRussiaOnyama Limba PROPOSAL
Sinclair L ButtUnited KingdomIoni Bowcher UNQUALIFIED
Rodrigues L FlosiAustraliaIvan Magalhaes NEW
Alejandro W TollnerItalyAnna Fali RENEWAL
Greenwood A KuskoGermanyIvan Magalhaes UNQUALIFIED
Alejandro B FollerUnited KingdomXuxue Feng QUALIFIED
Antonio G RulapaughSpainOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro V InouyeAustraliaBernardo Dominic RENEWAL
Emily F SlusarskiRussiaStephen Shaw NEW
Tony N CaudySpainIoni Bowcher RENEWAL
Francesco V FigeroaRussiaAmy Elsner UNQUALIFIED
Jennifer V MacleadCanadaAmy Elsner RENEWAL
Maria D BriddickGermanyStephen Shaw NEGOTIATION
Aika N VenereFranceAnna Fali NEW
Stacey F CaudyBrazilBernardo Dominic UNQUALIFIED
Cody Q MaletIndiaIoni Bowcher RENEWAL
Stacey X PaprockiAustraliaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Z OldroydCanada2026-09-21Chanay, Jeffrey A Esq NEW94Elwin Sharvill
1001Arvin I CaudyGermany2026-10-09Printing Dimensions UNQUALIFIED43Amy Elsner
1002Francesco W ButtJapan2026-09-17Buckley Miller Wright NEW11Onyama Limba
1003Mujtaba T MacleadBrazil2026-09-14Rangoni Of Florence NEW70Elwin Sharvill
1004Murillo M ChuiUnited Kingdom2026-09-15King, Christopher A Esq QUALIFIED19Onyama Limba
1005Jeanfrancois T PoquetteGermany2026-09-29Chapman, Ross E Esq NEW79Onyama Limba
1006Silvio B FlosiSpain2026-09-25Printing Dimensions NEW2Xuxue Feng
1007Rodrigues K KolmetzSpain2026-09-24Chapman, Ross E Esq UNQUALIFIED18Bernardo Dominic
1008Costa K StockhamBrazil2026-10-06Chanay, Jeffrey A Esq NEGOTIATION69Onyama Limba
1009Emily K MaletCanada2026-09-16Benton, John B Jr RENEWAL29Stephen Shaw
1010Darci B WieserJapan2026-09-25King, Christopher A Esq NEGOTIATION60Xuxue Feng
1011Francesco Y PaprockiGermany2026-09-13Chemel, James L Cpa NEW8Bernardo Dominic
1012Chavez N NestleUnited Kingdom2026-09-19Chemel, James L Cpa RENEWAL63Onyama Limba
1013Deepesh B AmigonAustralia2026-09-17Chemel, James L Cpa NEGOTIATION11Ivan Magalhaes
1014James F BriddickBrazil2026-09-27Benton, John B Jr RENEWAL27Onyama Limba
1015Chavez Y ChuiGermany2026-10-04Truhlar And Truhlar Attys PROPOSAL2Onyama Limba
1016Juan U CampainArgentina2026-09-29Morlong Associates NEW44Onyama Limba
1017Ivar B DilliardFrance2026-10-09Chapman, Ross E Esq RENEWAL98Ivan Magalhaes
1018Faith J NickaArgentina2026-09-14Commercial Press PROPOSAL27Amy Elsner
1019Ashley Y VocelkaAustralia2026-09-10Morlong Associates PROPOSAL84Asiya Javayant
1020Leon R VocelkaItaly2026-10-07Feiner Bros NEGOTIATION51Stephen Shaw
1021Maria E OldroydSpain2026-09-26Printing Dimensions QUALIFIED47Elwin Sharvill
1022Octavia S StockhamFrance2026-10-06Dorl, James J Esq QUALIFIED7Stephen Shaw
1023Juan M FollerItaly2026-09-17Feltz Printing Service PROPOSAL14Stephen Shaw
1024Ricardo K PerinCanada2026-09-10King, Christopher A Esq NEW91Stephen Shaw
1025Leon E OldroydIndia2026-09-20King, Christopher A Esq QUALIFIED68Stephen Shaw
1026Nicolas M DoeUnited Kingdom2026-10-02King, Christopher A Esq NEGOTIATION83Amy Elsner
1027Jefferson H GlickIndia2026-10-09Commercial Press PROPOSAL57Amy Elsner
1028Ashley O RulapaughFrance2026-09-17Feiner Bros QUALIFIED46Xuxue Feng
1029Tony F WieserGermany2026-09-26Chanay, Jeffrey A Esq NEGOTIATION61Elwin Sharvill
1030Alejandro R MorascaIndia2026-10-01Truhlar And Truhlar Attys PROPOSAL21Xuxue Feng
1031Tony L StensethBrazil2026-09-21Chemel, James L Cpa PROPOSAL97Xuxue Feng
1032Mayumi U SlusarskiAustralia2026-10-07Chapman, Ross E Esq NEW48Onyama Limba
1033Mayumi Q BriddickBrazil2026-09-11Printing Dimensions QUALIFIED33Ioni Bowcher
1034Jones G NestleCanada2026-10-03Feiner Bros NEGOTIATION5Ivan Magalhaes
1035Antonio D OstroskySpain2026-09-20Printing Dimensions PROPOSAL94Stephen Shaw
1036Leja Y StensethBrazil2026-09-14Chanay, Jeffrey A Esq NEGOTIATION94Stephen Shaw
1037Sinclair D RoysterSpain2026-09-14Dorl, James J Esq NEGOTIATION6Asiya Javayant
1038Francesco N FigeroaUnited Kingdom2026-09-11Truhlar And Truhlar Attys NEGOTIATION56Elwin Sharvill
1039Kadeem J BowleyArgentina2026-09-26Benton, John B Jr NEW7Anna Fali
1040Arvin E WhobreyUnited Kingdom2026-09-17Rousseaux, Michael Esq UNQUALIFIED39Asiya Javayant
1041Johnson D BologniaSpain2026-09-18Morlong Associates QUALIFIED29Onyama Limba
1042Mujtaba F TollnerAustralia2026-09-13Chanay, Jeffrey A Esq PROPOSAL30Onyama Limba
1043Emily R DilliardJapan2026-09-14Commercial Press RENEWAL52Anna Fali
1044Aditya K StockhamUnited Kingdom2026-09-20Printing Dimensions PROPOSAL31Onyama Limba
1045Ricardo T IturbideUnited Kingdom2026-10-04Dorl, James J Esq NEGOTIATION80Onyama Limba
1046Antonio P FollerCanada2026-09-13Feiner Bros QUALIFIED44Anna Fali
1047Juan I PoquetteAustralia2026-09-19Rangoni Of Florence PROPOSAL1Stephen Shaw
1048Ashley C PoquetteCanada2026-09-19Morlong Associates PROPOSAL90Anna Fali
1049Darci C MacleadItaly2026-09-22Morlong Associates UNQUALIFIED82Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Faith Z RoysterRussiaBernardo Dominic UNQUALIFIED
Munro M ChuiFranceBernardo Dominic UNQUALIFIED
Smith E OstroskyJapanBernardo Dominic NEGOTIATION
Greenwood K ChuiRussiaOnyama Limba QUALIFIED
Antonio D PaprockiAustraliaIvan Magalhaes RENEWAL
Claire S SaylorsAustraliaXuxue Feng NEW
Leja C FollerJapanAmy Elsner NEW
Kadeem Y BologniaGermanyAnna Fali UNQUALIFIED
Nicolas M GarufiSpainElwin Sharvill NEW
Ashley J CaldareraJapanIvan Magalhaes PROPOSAL
Tony E WaycottItalyOnyama Limba NEGOTIATION
Sinclair W DarakjyGermanyElwin Sharvill NEGOTIATION
Jeanfrancois H WieserArgentinaAmy Elsner NEW
Aditya L ChuiBrazilXuxue Feng QUALIFIED
Silvio F GillianArgentinaXuxue Feng NEGOTIATION
Salvatore N PaprockiCanadaBernardo Dominic NEW
Kaitlin H GarufiCanadaAsiya Javayant PROPOSAL
Aditya I InouyeFranceAsiya Javayant UNQUALIFIED
Mujtaba E GillianArgentinaBernardo Dominic QUALIFIED
Kadeem E MaletArgentinaAnna Fali PROPOSAL
Sinclair I RimSpainIoni Bowcher PROPOSAL
Stacey O SchemmerBrazilAnna Fali UNQUALIFIED
Faith K SchemmerUnited KingdomAsiya Javayant RENEWAL
Johnson J InouyeFranceIoni Bowcher QUALIFIED
Alejandro M RoysterIndiaAmy Elsner PROPOSAL
Emily P MaletAustraliaElwin Sharvill NEW
Kaitlin D GlickGermanyBernardo Dominic QUALIFIED
Ivar Z RutaItalyAnna Fali RENEWAL
Antonio Z CaudyGermanyStephen Shaw NEGOTIATION
Isabel A StockhamArgentinaOnyama Limba QUALIFIED
Mujtaba C VocelkaBrazilElwin Sharvill QUALIFIED
Smith X NickaUnited KingdomAmy Elsner UNQUALIFIED
Darci M GarufiGermanyXuxue Feng NEW
Izzy C ShinkoGermanyBernardo Dominic PROPOSAL
David X WhobreyJapanIvan Magalhaes UNQUALIFIED
Jeanfrancois D SlusarskiSpainAmy Elsner NEW
Murillo P ShinkoRussiaElwin Sharvill UNQUALIFIED
Maria X DoeCanadaIvan Magalhaes RENEWAL
Kaitlin D CampainUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois M ChuiGermanyElwin Sharvill RENEWAL
Silvio F GillianIndiaOnyama Limba QUALIFIED
Ivar H BowleyFranceAmy Elsner QUALIFIED
Francesco A SaylorsRussiaAnna Fali PROPOSAL
Greenwood Y StensethCanadaStephen Shaw PROPOSAL
Arvin K BowleyArgentinaStephen Shaw QUALIFIED
Stacey C PerinAustraliaBernardo Dominic NEW
Sinclair L KolmetzSpainOnyama Limba QUALIFIED
Octavia Z ChuiJapanXuxue Feng QUALIFIED
Munro Y KolmetzIndiaOnyama Limba NEW
Jones G OldroydFranceIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Kaitlin U Gillian
Tony Z Caldarera
Julie T Oldroyd
Arvin X Albares
Darci G Caudy
Kadeem B Doe
Jefferson G Schemmer
Salvatore H Slusarski
Clifford P Poquette
Johnson Z Shinko
James S Ostrosky
Greenwood V Iturbide
Stacey Z Amigon
Aika U Poquette
Leon P Malet
Greenwood U Figeroa
Claire T Schemmer
Francesco J Stockham
Rodrigues L Perin
Costa G Briddick
Francesco F Gillian
Salvatore C Iturbide
Emily L Doe
Clifford T Darakjy
Ricardo Y Campain
Ashley G Shinko
Sinclair E Marrier
Rodrigues R Stockham
Maisha L Glick
Ricardo V Schemmer
David U Caldarera
Kaitlin Z Nestle
Aditya H Nicka
Maisha H Slusarski
Francesco N Saylors
Tony Z Slusarski
Chavez Q Kusko
Clifford C Caudy
Juan I Saylors
Costa E Malet
Clifford W Waycott
Leon V Doe
Kaitlin T Shinko
Ashley D Caudy
Antonio V Bowley
Nicolas T Malet
Stacey V Ostrosky
Octavia G Slusarski
Tony Y Oldroyd
Isabel V Marrier
IdCountryDate
1000Argentina2026-10-06
1001Germany2026-09-18
1002Argentina2026-10-07
1003Australia2026-09-11
1004United Kingdom2026-09-27
1005Australia2026-09-22
1006India2026-09-19
1007Canada2026-10-05
1008Brazil2026-10-08
1009Italy2026-10-01
1010Japan2026-10-09
1011Australia2026-09-23
1012Canada2026-09-24
1013Japan2026-09-15
1014Argentina2026-09-10
1015Spain2026-10-01
1016Japan2026-10-04
1017United Kingdom2026-09-10
1018India2026-10-07
1019Russia2026-10-07
1020Spain2026-10-09
1021Germany2026-09-21
1022Argentina2026-10-04
1023Argentina2026-10-06
1024Russia2026-09-28
1025Spain2026-09-25
1026Japan2026-09-18
1027France2026-09-17
1028India2026-09-18
1029Argentina2026-10-08
1030Australia2026-09-24
1031Japan2026-09-16
1032Australia2026-10-02
1033Spain2026-10-07
1034France2026-09-12
1035Italy2026-09-27
1036Argentina2026-09-25
1037Australia2026-09-21
1038India2026-09-14
1039United Kingdom2026-09-10
1040United Kingdom2026-09-29
1041Argentina2026-10-03
1042France2026-09-16
1043Spain2026-09-28
1044Brazil2026-09-24
1045Germany2026-10-01
1046United Kingdom2026-09-11
1047Canada2026-10-06
1048India2026-10-04
1049Germany2026-09-26

On-Demand Data

NameIdCountryDate
Wickens S Campain1000Italy2026-09-11
Francesco J Darakjy1001Spain2026-09-21
Ivar E Wieser1002Italy2026-10-04
Mayumi V Rulapaugh1003Italy2026-10-06
Murillo K Iturbide1004Canada2026-09-23
Ivar W Nicka1005Argentina2026-09-30
James H Schemmer1006United Kingdom2026-09-25
Cody J Royster1007Argentina2026-10-09
Aika T Amigon1008Russia2026-10-03
Ricardo F Ferencz1009Germany2026-09-30
Jennifer T Oldroyd1010Japan2026-10-01
Johnson U Bowley1011Australia2026-09-10
Jeanfrancois O Stockham1012India2026-09-21
Jeanfrancois T Bolognia1013Canada2026-09-18
Maria V Maclead1014Australia2026-10-09
David L Perin1015Spain2026-10-08
Jeanfrancois M Doe1016Australia2026-10-07
Rodrigues Q Saylors1017Russia2026-10-04
Kaitlin J Malet1018Argentina2026-10-03
Ivar X Morasca1019France2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore Q WieserFranceOnyama Limba NEGOTIATION
Isabel W SchemmerAustraliaStephen Shaw PROPOSAL
Morrow V WaycottBrazilIoni Bowcher NEW
Cody I VenereGermanyOnyama Limba NEGOTIATION
Francesco O CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Mayumi F StockhamAustraliaAsiya Javayant RENEWAL
Kadeem E NickaJapanIvan Magalhaes QUALIFIED
Aditya O NestleJapanIvan Magalhaes RENEWAL
Johnson M PoquetteJapanStephen Shaw UNQUALIFIED
Deepesh V DarakjySpainIoni Bowcher NEGOTIATION
Alejandro H CaldareraSpainXuxue Feng NEW
Ashley C BriddickGermanyBernardo Dominic PROPOSAL
Isabel J KuskoSpainIvan Magalhaes PROPOSAL
Deepesh H GauchoSpainAmy Elsner NEGOTIATION
Silvio W InouyeUnited KingdomElwin Sharvill RENEWAL
Morrow C SergiFranceIvan Magalhaes QUALIFIED
Kadeem Y VenereIndiaOnyama Limba NEGOTIATION
Greenwood I InouyeBrazilIvan Magalhaes UNQUALIFIED
Alejandro X MaletUnited KingdomOnyama Limba UNQUALIFIED
Cody C BriddickSpainXuxue Feng UNQUALIFIED
Ashley H ChuiBrazilAsiya Javayant PROPOSAL
Antonio Q MorascaIndiaIoni Bowcher RENEWAL
Ashley J SlusarskiIndiaOnyama Limba NEW
Morrow B KuskoFranceAsiya Javayant NEGOTIATION
Greenwood F SchemmerItalyXuxue Feng PROPOSAL
Claire N ButtAustraliaIoni Bowcher QUALIFIED
Aditya O SlusarskiAustraliaElwin Sharvill NEW
Munro L VocelkaJapanIoni Bowcher NEGOTIATION
Morrow S CaldareraFranceXuxue Feng UNQUALIFIED
Claire A RoysterCanadaAsiya Javayant NEW
Rodrigues H RimIndiaXuxue Feng NEW
Octavia Q CampainCanadaAsiya Javayant NEW
Jones R DilliardIndiaAnna Fali QUALIFIED
Costa A VocelkaJapanAsiya Javayant QUALIFIED
Jones I VocelkaBrazilXuxue Feng NEGOTIATION
Juan O ButtFranceBernardo Dominic PROPOSAL
Wickens E WaycottItalyIvan Magalhaes QUALIFIED
Antonio A VenereCanadaXuxue Feng QUALIFIED
Murillo T MorascaAustraliaIoni Bowcher NEW
Nicolas E SchemmerFranceAmy Elsner 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>