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 R CaudyItalyIoni Bowcher NEW
Silvio H GarufiIndiaAmy Elsner PROPOSAL
Darci Q StensethJapanIoni Bowcher NEW
David X StensethSpainXuxue Feng NEW
Aditya L PoquetteJapanBernardo Dominic NEGOTIATION
Darci L NickaItalyAmy Elsner QUALIFIED
Chavez T DoeAustraliaBernardo Dominic UNQUALIFIED
Emily X BowleyCanadaXuxue Feng RENEWAL
Murillo O SergiRussiaElwin Sharvill UNQUALIFIED
Francesco U ShinkoFranceOnyama Limba PROPOSAL
Jefferson J CaudyItalyIoni Bowcher UNQUALIFIED
Murillo G CampainBrazilXuxue Feng NEW
Deepesh X GlickAustraliaXuxue Feng QUALIFIED
Aditya B SlusarskiFranceAnna Fali QUALIFIED
Aditya P CampainArgentinaAnna Fali QUALIFIED
Johnson J PerinIndiaAmy Elsner QUALIFIED
Misaki Y GlickArgentinaElwin Sharvill PROPOSAL
Aditya R WhobreyAustraliaIvan Magalhaes PROPOSAL
Morrow O VenereJapanOnyama Limba QUALIFIED
Nicolas B MarrierItalyElwin Sharvill NEW
Faith Q MacleadAustraliaAsiya Javayant NEGOTIATION
Morrow V NickaBrazilAmy Elsner QUALIFIED
Sinclair S AlbaresJapanXuxue Feng PROPOSAL
Jones T InouyeItalyElwin Sharvill QUALIFIED
Leja A SlusarskiCanadaXuxue Feng PROPOSAL
Misaki Y PoquetteIndiaAnna Fali QUALIFIED
Faith E StockhamCanadaAnna Fali NEGOTIATION
Jones K PoquetteFranceAnna Fali RENEWAL
Leon W MorascaSpainAmy Elsner NEGOTIATION
Jennifer U FigeroaIndiaIvan Magalhaes RENEWAL
Claire M CampainFranceXuxue Feng PROPOSAL
Nicolas G StockhamUnited KingdomAsiya Javayant NEGOTIATION
Misaki S KolmetzItalyAnna Fali NEGOTIATION
Jefferson G RulapaughSpainOnyama Limba RENEWAL
Costa U CampainIndiaElwin Sharvill RENEWAL
Misaki Q MacleadBrazilIvan Magalhaes PROPOSAL
Jones C FlosiGermanyStephen Shaw PROPOSAL
Emily S MaletGermanyAnna Fali RENEWAL
Jennifer S WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Isabel P GillianUnited KingdomStephen Shaw PROPOSAL
Rodrigues B MaletJapanAsiya Javayant NEW
Juan U DilliardBrazilAmy Elsner NEW
Aika Z MarrierSpainStephen Shaw PROPOSAL
Aika D PerinBrazilElwin Sharvill PROPOSAL
Ashley I SergiArgentinaAnna Fali NEW
David E DilliardUnited KingdomAmy Elsner NEW
Leja H AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Jennifer N PoquetteIndiaAsiya Javayant NEW
Chavez I CampainCanadaBernardo Dominic NEW
Rodrigues O MorascaCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin O OstroskyBrazilAmy Elsner NEGOTIATION
Juan P KuskoJapanAmy Elsner QUALIFIED
Aruna E KuskoUnited KingdomBernardo Dominic QUALIFIED
Clifford U RoysterIndiaIoni Bowcher RENEWAL
Morrow Y RimRussiaStephen Shaw QUALIFIED
Misaki H BowleyGermanyAsiya Javayant NEW
Julie W AmigonRussiaIvan Magalhaes PROPOSAL
Salvatore Q NickaAustraliaXuxue Feng PROPOSAL
Wickens I VocelkaCanadaIvan Magalhaes NEGOTIATION
Alejandro Q FlosiFranceXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro M ChuiFrance2026-09-10King, Christopher A Esq UNQUALIFIED21Bernardo Dominic
1001Morrow P AmigonIndia2026-09-10King, Christopher A Esq PROPOSAL70Stephen Shaw
1002Darci L VenereIndia2026-10-01Chanay, Jeffrey A Esq NEGOTIATION92Asiya Javayant
1003Mayumi O SchemmerArgentina2026-09-10Commercial Press PROPOSAL35Ivan Magalhaes
1004Leja K WhobreyBrazil2026-09-09Rangoni Of Florence PROPOSAL18Ioni Bowcher
1005Tony B PoquetteGermany2026-09-15Chemel, James L Cpa NEGOTIATION66Asiya Javayant
1006Tony L RutaAustralia2026-09-26Truhlar And Truhlar Attys PROPOSAL55Ivan Magalhaes
1007Jeanfrancois L WieserIndia2026-10-03Morlong Associates PROPOSAL52Asiya Javayant
1008Costa M MaletBrazil2026-09-08Commercial Press PROPOSAL44Onyama Limba
1009Isabel N BologniaItaly2026-09-20King, Christopher A Esq RENEWAL13Ioni Bowcher
1010Johnson F FollerCanada2026-09-28Benton, John B Jr QUALIFIED43Asiya Javayant
1011Deepesh T WieserAustralia2026-09-30Chapman, Ross E Esq QUALIFIED10Elwin Sharvill
1012Chavez V KolmetzBrazil2026-09-16Printing Dimensions RENEWAL45Amy Elsner
1013Greenwood B FerenczArgentina2026-09-15Dorl, James J Esq RENEWAL61Ivan Magalhaes
1014Nicolas O WhobreySpain2026-09-17Dorl, James J Esq QUALIFIED31Amy Elsner
1015Faith V SergiJapan2026-09-13Rangoni Of Florence QUALIFIED90Amy Elsner
1016Rodrigues R PoquetteItaly2026-09-30Chapman, Ross E Esq NEGOTIATION6Onyama Limba
1017Salvatore U GlickCanada2026-09-17Chapman, Ross E Esq UNQUALIFIED65Asiya Javayant
1018Ivar G ChuiUnited Kingdom2026-09-15Chapman, Ross E Esq RENEWAL72Onyama Limba
1019Mayumi E SlusarskiGermany2026-09-22King, Christopher A Esq PROPOSAL72Ioni Bowcher
1020Emily I MorascaBrazil2026-09-20Rangoni Of Florence UNQUALIFIED93Ivan Magalhaes
1021Deepesh Q TollnerUnited Kingdom2026-09-19Feiner Bros NEGOTIATION47Amy Elsner
1022Nicolas P DoeIndia2026-10-02Printing Dimensions UNQUALIFIED33Ivan Magalhaes
1023Jones Q KuskoItaly2026-10-04Feiner Bros QUALIFIED29Elwin Sharvill
1024Aditya M AlbaresCanada2026-09-14Truhlar And Truhlar Attys QUALIFIED9Ivan Magalhaes
1025Greenwood L PaprockiBrazil2026-09-13Rousseaux, Michael Esq NEW90Xuxue Feng
1026Jennifer J ChuiRussia2026-09-17Truhlar And Truhlar Attys UNQUALIFIED38Xuxue Feng
1027Alejandro R FigeroaSpain2026-09-18Benton, John B Jr RENEWAL98Ivan Magalhaes
1028Kadeem C ChuiRussia2026-09-30Chemel, James L Cpa UNQUALIFIED52Bernardo Dominic
1029Cody B RutaJapan2026-09-13Rangoni Of Florence NEGOTIATION60Stephen Shaw
1030Wickens V ButtFrance2026-09-21Dorl, James J Esq PROPOSAL28Amy Elsner
1031Maria C IturbideItaly2026-09-30Chemel, James L Cpa RENEWAL54Asiya Javayant
1032Costa B MacleadAustralia2026-09-19Feiner Bros RENEWAL66Elwin Sharvill
1033Rodrigues N NestleRussia2026-09-27Buckley Miller Wright NEW6Stephen Shaw
1034Aika V FigeroaBrazil2026-10-06Printing Dimensions NEGOTIATION1Anna Fali
1035Wickens M GillianArgentina2026-09-23Chemel, James L Cpa NEW6Onyama Limba
1036Claire C BriddickJapan2026-09-27Feiner Bros QUALIFIED93Xuxue Feng
1037Leja B MarrierRussia2026-09-17Buckley Miller Wright NEGOTIATION0Elwin Sharvill
1038Stacey R DarakjyUnited Kingdom2026-09-15Rousseaux, Michael Esq RENEWAL49Stephen Shaw
1039Aika L GauchoAustralia2026-09-19Morlong Associates NEGOTIATION14Amy Elsner
1040Kaitlin Z CaldareraRussia2026-09-21Chemel, James L Cpa NEW18Asiya Javayant
1041Cody E BowleyGermany2026-10-02Benton, John B Jr RENEWAL30Elwin Sharvill
1042Chavez J StensethArgentina2026-09-19Rangoni Of Florence UNQUALIFIED11Elwin Sharvill
1043Faith I FlosiUnited Kingdom2026-09-12Commercial Press PROPOSAL49Ioni Bowcher
1044Maisha Z MorascaItaly2026-10-05Printing Dimensions QUALIFIED33Stephen Shaw
1045Clifford I MorascaRussia2026-10-04Feltz Printing Service NEW79Ivan Magalhaes
1046Maisha P MaletAustralia2026-09-12Rousseaux, Michael Esq UNQUALIFIED81Asiya Javayant
1047Maisha Q RulapaughGermany2026-10-06Printing Dimensions UNQUALIFIED89Stephen Shaw
1048Octavia N GarufiArgentina2026-09-14Commercial Press NEW10Anna Fali
1049Alejandro F PerinRussia2026-09-11Rangoni Of Florence NEW54Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Misaki X MorascaGermanyBernardo Dominic NEGOTIATION
Aruna Z MacleadGermanyStephen Shaw UNQUALIFIED
Leja S ShinkoBrazilElwin Sharvill UNQUALIFIED
Ricardo H VenereGermanyElwin Sharvill PROPOSAL
Izzy G BologniaFranceAsiya Javayant QUALIFIED
Isabel L FerenczFranceAmy Elsner QUALIFIED
Antonio W DarakjyFranceOnyama Limba NEW
David Y NestleSpainIvan Magalhaes UNQUALIFIED
Rodrigues V FigeroaBrazilAmy Elsner NEGOTIATION
Clifford B PoquetteAustraliaOnyama Limba RENEWAL
Ashley M BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson D MaletBrazilOnyama Limba PROPOSAL
Aditya Q FigeroaFranceStephen Shaw UNQUALIFIED
Leon G WieserJapanXuxue Feng NEW
Deepesh I WieserGermanyIoni Bowcher RENEWAL
David G ButtSpainOnyama Limba NEW
Wickens S FollerJapanBernardo Dominic QUALIFIED
Kaitlin Y BriddickRussiaStephen Shaw RENEWAL
Salvatore P CampainAustraliaBernardo Dominic UNQUALIFIED
Emily U SaylorsArgentinaAsiya Javayant PROPOSAL
Octavia J WhobreyBrazilXuxue Feng QUALIFIED
Clifford L WaycottArgentinaElwin Sharvill PROPOSAL
Sinclair A VocelkaIndiaIvan Magalhaes UNQUALIFIED
Kaitlin B SaylorsBrazilAnna Fali UNQUALIFIED
Francesco R OstroskyAustraliaStephen Shaw QUALIFIED
Morrow A FigeroaUnited KingdomAsiya Javayant RENEWAL
Tony L GauchoUnited KingdomXuxue Feng QUALIFIED
Silvio Z PaprockiFranceXuxue Feng NEW
Maria T WieserCanadaBernardo Dominic UNQUALIFIED
Aruna G BowleyArgentinaOnyama Limba NEW
Ivar G RulapaughFranceIvan Magalhaes UNQUALIFIED
Johnson F AmigonArgentinaIoni Bowcher NEGOTIATION
Juan Z ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Chavez K ShinkoBrazilOnyama Limba QUALIFIED
Aditya F MorascaUnited KingdomAmy Elsner UNQUALIFIED
Ivar E ChuiGermanyIoni Bowcher PROPOSAL
Ricardo V FerenczUnited KingdomIvan Magalhaes PROPOSAL
Wickens W IturbideGermanyAnna Fali RENEWAL
James V ButtArgentinaIoni Bowcher PROPOSAL
Jeanfrancois J MarrierBrazilIvan Magalhaes UNQUALIFIED
Emily L OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Leon K NestleUnited KingdomElwin Sharvill RENEWAL
Munro J WieserCanadaIoni Bowcher PROPOSAL
Munro T BologniaSpainStephen Shaw UNQUALIFIED
Costa D StensethJapanAnna Fali PROPOSAL
Wickens E PoquetteGermanyElwin Sharvill PROPOSAL
James P OstroskyItalyBernardo Dominic QUALIFIED
Deepesh G SlusarskiArgentinaElwin Sharvill NEW
Mujtaba V KolmetzFranceAnna Fali PROPOSAL
Faith C DarakjyFranceIoni Bowcher NEW
Frozen Columns
Name
Deepesh U Tollner
Ashley V Shinko
Smith B Kusko
Nicolas Q Perin
Isabel W Glick
Jeanfrancois C Darakjy
Tony W Vocelka
Julie E Foller
Leon X Amigon
Clifford J Doe
Leja O Paprocki
Ivar I Ruta
Tony O Saylors
Antonio D Perin
Deepesh W Figeroa
Maisha S Maclead
Leon Z Whobrey
Kaitlin Z Butt
Leja D Bowley
Silvio I Oldroyd
Leja F Caldarera
Stacey I Figeroa
Silvio O Amigon
Sinclair O Gillian
James J Chui
Jeanfrancois N Stenseth
Kaitlin J Wieser
Aika D Stockham
Tony K Sergi
Sinclair F Paprocki
Cody E Bolognia
Chavez C Perin
Maria Q Foller
Arvin X Gaucho
Johnson I Whobrey
Morrow E Schemmer
Rodrigues A Vocelka
Izzy Y Malet
Juan D Maclead
Chavez I Nestle
Deepesh C Chui
Murillo R Slusarski
Clifford Y Ostrosky
Clifford N Saylors
Rodrigues L Kusko
Sinclair P Shinko
Octavia Y Butt
Kaitlin Z Foller
Leja B Albares
James R Flosi
IdCountryDate
1000Russia2026-10-06
1001Spain2026-09-30
1002Russia2026-09-11
1003Australia2026-09-08
1004Canada2026-09-24
1005Japan2026-09-20
1006Canada2026-09-28
1007India2026-09-10
1008United Kingdom2026-09-07
1009Brazil2026-10-05
1010United Kingdom2026-09-20
1011Russia2026-09-09
1012France2026-09-18
1013Argentina2026-09-22
1014Germany2026-09-19
1015Argentina2026-10-02
1016United Kingdom2026-10-02
1017United Kingdom2026-10-05
1018Germany2026-09-24
1019Italy2026-09-26
1020India2026-09-09
1021Germany2026-09-17
1022Australia2026-09-18
1023India2026-10-05
1024United Kingdom2026-09-08
1025Australia2026-09-24
1026Spain2026-09-30
1027Australia2026-10-04
1028Brazil2026-09-29
1029Italy2026-09-16
1030India2026-09-15
1031Japan2026-09-08
1032Spain2026-09-08
1033Germany2026-10-06
1034Argentina2026-09-12
1035Russia2026-10-02
1036Canada2026-09-16
1037Japan2026-09-26
1038France2026-09-09
1039India2026-10-02
1040Spain2026-10-05
1041United Kingdom2026-09-22
1042France2026-09-18
1043Argentina2026-09-08
1044Argentina2026-10-03
1045Brazil2026-09-25
1046Brazil2026-09-16
1047Spain2026-10-04
1048Spain2026-09-25
1049Argentina2026-09-08

On-Demand Data

NameIdCountryDate
Ivar P Maclead1000India2026-09-19
Ricardo L Vocelka1001Italy2026-10-06
Antonio T Kolmetz1002France2026-10-02
Ivar K Whobrey1003Japan2026-09-15
Munro V Saylors1004Argentina2026-09-17
Kaitlin O Caldarera1005Japan2026-09-19
Darci W Bowley1006Argentina2026-10-02
Darci J Maclead1007Italy2026-09-14
Stacey D Whobrey1008Canada2026-10-04
Smith I Saylors1009Italy2026-10-04
Mujtaba R Stockham1010Italy2026-10-04
Chavez S Amigon1011Brazil2026-10-01
Salvatore X Paprocki1012Japan2026-09-12
Izzy O Venere1013United Kingdom2026-10-04
Greenwood V Paprocki1014India2026-09-23
Jones Z Campain1015Australia2026-09-18
Francesco C Albares1016Italy2026-09-18
Deepesh U Venere1017Japan2026-09-08
Maisha Y Rim1018Russia2026-09-30
Julie N Morasca1019Russia2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Y RimItalyIoni Bowcher RENEWAL
Arvin S AlbaresIndiaAsiya Javayant PROPOSAL
Deepesh A VocelkaSpainOnyama Limba UNQUALIFIED
Izzy K BowleyBrazilAmy Elsner PROPOSAL
Aruna G SergiRussiaAnna Fali UNQUALIFIED
Jennifer T VenereJapanIoni Bowcher NEGOTIATION
Wickens A ChuiJapanAsiya Javayant PROPOSAL
Chavez O MorascaBrazilIvan Magalhaes UNQUALIFIED
Julie Q DilliardSpainBernardo Dominic PROPOSAL
Faith M StockhamBrazilElwin Sharvill NEGOTIATION
Misaki X FlosiUnited KingdomXuxue Feng NEGOTIATION
Leon V TollnerAustraliaAmy Elsner NEGOTIATION
Nicolas H MorascaUnited KingdomBernardo Dominic QUALIFIED
Misaki R VenereArgentinaBernardo Dominic QUALIFIED
Ashley K InouyeIndiaAmy Elsner UNQUALIFIED
Ricardo Q GillianSpainOnyama Limba QUALIFIED
Maisha F CaldareraBrazilStephen Shaw PROPOSAL
Smith U FigeroaItalyIvan Magalhaes QUALIFIED
Francesco J PerinUnited KingdomOnyama Limba NEW
Cody L NestleAustraliaIvan Magalhaes QUALIFIED
Alejandro M DilliardBrazilAsiya Javayant QUALIFIED
Wickens E DarakjyUnited KingdomXuxue Feng PROPOSAL
Cody P FerenczUnited KingdomAsiya Javayant NEW
Adams J NickaIndiaIoni Bowcher PROPOSAL
Mayumi Q GillianJapanIoni Bowcher PROPOSAL
Chavez X GauchoUnited KingdomBernardo Dominic RENEWAL
Ricardo L WhobreyUnited KingdomOnyama Limba PROPOSAL
Misaki O KuskoJapanIvan Magalhaes NEW
Aika O GillianItalyOnyama Limba NEGOTIATION
David B TollnerJapanOnyama Limba NEW
Salvatore W PerinGermanyXuxue Feng NEGOTIATION
Jefferson O WieserGermanyStephen Shaw UNQUALIFIED
Leon W PoquetteBrazilIoni Bowcher PROPOSAL
Aditya E KolmetzGermanyXuxue Feng RENEWAL
Kaitlin T OstroskyRussiaXuxue Feng RENEWAL
Kadeem B AmigonArgentinaBernardo Dominic RENEWAL
Faith D PaprockiCanadaIoni Bowcher PROPOSAL
Clifford G ChuiUnited KingdomElwin Sharvill NEW
Kadeem W AmigonArgentinaAsiya Javayant UNQUALIFIED
Kaitlin J VocelkaFranceAnna Fali 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>