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
Julie B RulapaughBrazilIvan Magalhaes UNQUALIFIED
Cody I StensethArgentinaElwin Sharvill PROPOSAL
Munro D BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois H VenereAustraliaAsiya Javayant QUALIFIED
Wickens M WaycottJapanAmy Elsner NEW
James Y GillianItalyBernardo Dominic UNQUALIFIED
Sinclair E FerenczSpainAmy Elsner PROPOSAL
Aruna W ShinkoIndiaAsiya Javayant PROPOSAL
Greenwood T ShinkoRussiaXuxue Feng QUALIFIED
Sinclair K FigeroaUnited KingdomXuxue Feng RENEWAL
Ashley T FigeroaSpainAsiya Javayant PROPOSAL
Aruna N NestleAustraliaAmy Elsner QUALIFIED
Maisha O OstroskyRussiaElwin Sharvill RENEWAL
Munro P MaletSpainXuxue Feng NEW
Misaki D FlosiSpainIvan Magalhaes QUALIFIED
Silvio Y MaletJapanIvan Magalhaes RENEWAL
Aika B FigeroaIndiaElwin Sharvill PROPOSAL
Ricardo Z SlusarskiArgentinaOnyama Limba PROPOSAL
Kadeem A BowleyUnited KingdomOnyama Limba RENEWAL
Chavez I MaletSpainXuxue Feng NEW
Jones B DilliardCanadaAnna Fali UNQUALIFIED
Ivar A AlbaresCanadaIvan Magalhaes NEGOTIATION
Mayumi S ButtSpainIoni Bowcher RENEWAL
Clifford S DoeGermanyBernardo Dominic QUALIFIED
Jefferson L KuskoArgentinaXuxue Feng QUALIFIED
Emily S RutaSpainIvan Magalhaes QUALIFIED
Antonio U GauchoIndiaAsiya Javayant RENEWAL
Mujtaba I FollerJapanAsiya Javayant RENEWAL
Greenwood D FigeroaArgentinaBernardo Dominic PROPOSAL
Jones K GlickGermanyOnyama Limba UNQUALIFIED
Alejandro N SaylorsAustraliaOnyama Limba QUALIFIED
Mujtaba A SergiBrazilAsiya Javayant UNQUALIFIED
Aditya O MaletSpainAsiya Javayant NEW
Octavia G DilliardSpainAmy Elsner NEGOTIATION
Morrow D DoeItalyElwin Sharvill UNQUALIFIED
Misaki Q SlusarskiIndiaAsiya Javayant PROPOSAL
Alejandro I AlbaresBrazilElwin Sharvill NEGOTIATION
James Z RutaArgentinaAmy Elsner RENEWAL
Leja K ShinkoGermanyAsiya Javayant PROPOSAL
Jeanfrancois A DarakjyBrazilIvan Magalhaes RENEWAL
Smith W MorascaItalyBernardo Dominic NEW
Maria L RimUnited KingdomStephen Shaw QUALIFIED
Faith V VocelkaAustraliaBernardo Dominic UNQUALIFIED
Morrow C MarrierSpainIvan Magalhaes NEW
Maisha U NestleJapanIoni Bowcher PROPOSAL
Julie L AlbaresAustraliaXuxue Feng NEW
Jones N DoeJapanXuxue Feng NEW
Aruna I RulapaughRussiaOnyama Limba UNQUALIFIED
Octavia Y OldroydBrazilOnyama Limba NEW
James E RimJapanAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith F RimJapanElwin Sharvill RENEWAL
Octavia M CampainItalyXuxue Feng QUALIFIED
Silvio U FigeroaCanadaBernardo Dominic QUALIFIED
Aika D WhobreySpainAsiya Javayant RENEWAL
David L SaylorsGermanyAnna Fali NEW
Sinclair R DoeGermanyAnna Fali NEW
Salvatore N BologniaRussiaBernardo Dominic QUALIFIED
Smith R GarufiUnited KingdomIvan Magalhaes NEW
Jones U StensethJapanAnna Fali QUALIFIED
Ashley R PoquetteSpainBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba A ButtBrazil2026-10-28Commercial Press NEGOTIATION80Ioni Bowcher
1001Leja R AmigonRussia2026-10-06Buckley Miller Wright NEW37Ioni Bowcher
1002Kaitlin P SergiGermany2026-11-01Commercial Press QUALIFIED66Bernardo Dominic
1003Claire Q ChuiFrance2026-10-16Printing Dimensions PROPOSAL26Xuxue Feng
1004Clifford D CampainItaly2026-10-13Chapman, Ross E Esq NEGOTIATION92Onyama Limba
1005Silvio I OldroydBrazil2026-10-11Morlong Associates QUALIFIED89Onyama Limba
1006Mayumi K VocelkaAustralia2026-10-16Feltz Printing Service UNQUALIFIED64Asiya Javayant
1007Alejandro D SaylorsFrance2026-11-02Rangoni Of Florence UNQUALIFIED86Onyama Limba
1008Morrow X MaletItaly2026-10-21Chapman, Ross E Esq PROPOSAL60Bernardo Dominic
1009Munro O RimIndia2026-10-09Feltz Printing Service UNQUALIFIED70Ioni Bowcher
1010Sinclair E ButtGermany2026-10-26Rousseaux, Michael Esq NEGOTIATION57Asiya Javayant
1011Izzy G DarakjyCanada2026-10-16King, Christopher A Esq PROPOSAL17Onyama Limba
1012Cody V PoquetteAustralia2026-10-19Dorl, James J Esq RENEWAL34Asiya Javayant
1013Arvin G FigeroaGermany2026-10-27Feiner Bros PROPOSAL30Asiya Javayant
1014Munro N KolmetzUnited Kingdom2026-11-02Feiner Bros PROPOSAL41Asiya Javayant
1015Jennifer C WhobreyFrance2026-10-15Morlong Associates UNQUALIFIED58Ivan Magalhaes
1016Stacey X KuskoIndia2026-11-03Benton, John B Jr UNQUALIFIED57Asiya Javayant
1017Aika X StensethSpain2026-10-30Truhlar And Truhlar Attys PROPOSAL51Ioni Bowcher
1018Salvatore I OstroskyRussia2026-11-03Chanay, Jeffrey A Esq NEW97Stephen Shaw
1019Jeanfrancois A BologniaCanada2026-10-27Rousseaux, Michael Esq NEW78Onyama Limba
1020Rodrigues N ShinkoAustralia2026-10-17Dorl, James J Esq UNQUALIFIED72Xuxue Feng
1021Chavez B GauchoJapan2026-10-27Buckley Miller Wright NEGOTIATION71Stephen Shaw
1022Darci H GarufiArgentina2026-10-31Feiner Bros RENEWAL87Bernardo Dominic
1023Jones T GauchoBrazil2026-10-10Dorl, James J Esq NEGOTIATION40Xuxue Feng
1024David Q ButtUnited Kingdom2026-10-25Chapman, Ross E Esq NEGOTIATION68Asiya Javayant
1025David D VocelkaAustralia2026-10-31Rousseaux, Michael Esq PROPOSAL38Ioni Bowcher
1026Ricardo Z PaprockiItaly2026-10-12Chanay, Jeffrey A Esq RENEWAL97Ivan Magalhaes
1027Darci B FlosiAustralia2026-10-10Rangoni Of Florence PROPOSAL54Asiya Javayant
1028Jeanfrancois N VocelkaFrance2026-10-24Printing Dimensions NEGOTIATION73Xuxue Feng
1029Maisha H NickaGermany2026-10-30Chapman, Ross E Esq QUALIFIED15Ioni Bowcher
1030Costa X DarakjyCanada2026-10-11Chemel, James L Cpa QUALIFIED85Asiya Javayant
1031Munro U FerenczSpain2026-10-31King, Christopher A Esq PROPOSAL53Amy Elsner
1032Antonio G FollerIndia2026-10-08Rousseaux, Michael Esq UNQUALIFIED83Anna Fali
1033Jones O CaldareraGermany2026-10-30Dorl, James J Esq RENEWAL83Asiya Javayant
1034Ricardo H CaldareraCanada2026-10-13Rangoni Of Florence NEW23Ioni Bowcher
1035Chavez Z ButtUnited Kingdom2026-11-02Feiner Bros QUALIFIED8Bernardo Dominic
1036Ivar Z CaldareraIndia2026-10-07Rangoni Of Florence NEGOTIATION33Onyama Limba
1037Wickens H SaylorsArgentina2026-10-17Commercial Press NEGOTIATION39Ioni Bowcher
1038Morrow T BowleyRussia2026-10-22Feiner Bros NEGOTIATION60Asiya Javayant
1039Stacey I NestleItaly2026-10-29Commercial Press RENEWAL16Elwin Sharvill
1040Wickens S SchemmerUnited Kingdom2026-10-16Chanay, Jeffrey A Esq NEGOTIATION62Xuxue Feng
1041Emily U OstroskyIndia2026-10-25Chanay, Jeffrey A Esq QUALIFIED48Elwin Sharvill
1042Claire C IturbideItaly2026-10-31Chanay, Jeffrey A Esq NEGOTIATION96Ivan Magalhaes
1043Smith N TollnerGermany2026-10-12Dorl, James J Esq NEGOTIATION59Asiya Javayant
1044Francesco K DarakjyUnited Kingdom2026-10-15Printing Dimensions UNQUALIFIED94Ivan Magalhaes
1045Ivar V GillianBrazil2026-10-07Buckley Miller Wright NEGOTIATION36Bernardo Dominic
1046Salvatore G KuskoFrance2026-10-27Printing Dimensions NEW32Stephen Shaw
1047Salvatore M IturbideItaly2026-10-08Morlong Associates PROPOSAL39Xuxue Feng
1048Tony H MarrierFrance2026-10-12Chanay, Jeffrey A Esq QUALIFIED12Anna Fali
1049Deepesh C WaycottArgentina2026-10-13Benton, John B Jr UNQUALIFIED11Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Murillo O NestleAustraliaOnyama Limba PROPOSAL
Munro V VenereSpainStephen Shaw QUALIFIED
Greenwood W ButtJapanOnyama Limba UNQUALIFIED
Jones R VocelkaArgentinaAmy Elsner PROPOSAL
Munro C PerinGermanyBernardo Dominic PROPOSAL
Antonio A KolmetzJapanIoni Bowcher NEW
Claire U IturbideFranceIvan Magalhaes PROPOSAL
Kaitlin G RulapaughAustraliaBernardo Dominic QUALIFIED
Darci A DarakjyGermanyBernardo Dominic RENEWAL
Emily K DilliardRussiaXuxue Feng PROPOSAL
Wickens V SaylorsFranceStephen Shaw NEW
Isabel B MacleadJapanBernardo Dominic UNQUALIFIED
Jennifer G KuskoCanadaOnyama Limba RENEWAL
Silvio D WieserCanadaXuxue Feng NEW
Octavia Z MacleadAustraliaOnyama Limba QUALIFIED
Wickens G FlosiGermanyAnna Fali NEGOTIATION
Rodrigues P SchemmerBrazilAmy Elsner PROPOSAL
Kaitlin I VocelkaFranceElwin Sharvill UNQUALIFIED
Arvin A FigeroaIndiaAnna Fali UNQUALIFIED
Munro U MaletBrazilIvan Magalhaes QUALIFIED
Mayumi W FlosiBrazilIvan Magalhaes NEGOTIATION
Jennifer L PerinFranceIvan Magalhaes QUALIFIED
Izzy P ChuiIndiaOnyama Limba QUALIFIED
Sinclair Z MaletAustraliaBernardo Dominic UNQUALIFIED
Nicolas O StensethUnited KingdomStephen Shaw NEGOTIATION
Jennifer X VocelkaGermanyAsiya Javayant UNQUALIFIED
Octavia Z MaletCanadaOnyama Limba UNQUALIFIED
Isabel H OstroskyBrazilIvan Magalhaes NEGOTIATION
Costa J RulapaughBrazilBernardo Dominic UNQUALIFIED
Jones N InouyeBrazilAnna Fali RENEWAL
Isabel X ChuiUnited KingdomIvan Magalhaes PROPOSAL
Juan I GillianAustraliaAmy Elsner NEW
Morrow H VocelkaItalyAmy Elsner UNQUALIFIED
Smith S SchemmerIndiaIoni Bowcher NEW
David E IturbideGermanyIvan Magalhaes RENEWAL
Greenwood R MorascaIndiaBernardo Dominic NEGOTIATION
Ricardo P NickaIndiaBernardo Dominic PROPOSAL
Leja A PaprockiAustraliaAsiya Javayant NEW
Jefferson V WhobreySpainAnna Fali QUALIFIED
Leja Z BologniaIndiaAsiya Javayant RENEWAL
Ricardo Q KuskoRussiaElwin Sharvill UNQUALIFIED
Aika E WaycottArgentinaXuxue Feng QUALIFIED
Mujtaba O AlbaresItalyAmy Elsner PROPOSAL
Leon K PoquetteAustraliaAmy Elsner NEW
Jennifer D FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Chavez Z BowleyFranceIoni Bowcher NEW
James B ChuiUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba D SergiCanadaBernardo Dominic PROPOSAL
Antonio X OldroydArgentinaIvan Magalhaes QUALIFIED
Adams D KolmetzRussiaAsiya Javayant NEW
Frozen Columns
Name
Julie B Shinko
Antonio S Perin
Morrow U Paprocki
Deepesh V Rim
Ivar F Marrier
Wickens F Gaucho
Leon X Rim
Maria R Royster
David U Bowley
Maisha F Doe
Francesco J Chui
Mujtaba W Inouye
Maisha G Paprocki
Kaitlin Z Foller
Rodrigues U Caudy
Morrow K Bolognia
Arvin A Maclead
Costa L Waycott
Ricardo F Gaucho
Jennifer P Glick
Clifford D Venere
Costa J Caldarera
Aditya Q Oldroyd
Claire S Gillian
Aditya L Nestle
Maria Z Butt
Kaitlin H Wieser
Darci K Waycott
Wickens O Ferencz
Cody C Stenseth
Ricardo O Nestle
Jennifer C Poquette
Rodrigues C Perin
Leja Z Perin
David O Venere
Morrow C Gillian
Leja T Caldarera
Maria I Chui
Ivar M Tollner
Jeanfrancois Y Bowley
Kaitlin H Nestle
Izzy O Kolmetz
Stacey E Nestle
Leja C Paprocki
Salvatore L Briddick
Rodrigues F Malet
Jones L Sergi
Jones C Ruta
Claire T Figeroa
Alejandro K Nicka
IdCountryDate
1000Spain2026-10-13
1001France2026-10-09
1002Spain2026-10-10
1003Argentina2026-10-10
1004Italy2026-10-13
1005Canada2026-10-24
1006Australia2026-10-09
1007Japan2026-10-29
1008Russia2026-10-20
1009Argentina2026-10-30
1010Canada2026-10-18
1011Japan2026-10-08
1012Spain2026-10-24
1013Germany2026-11-01
1014Argentina2026-11-04
1015Australia2026-10-06
1016Japan2026-10-25
1017United Kingdom2026-10-26
1018United Kingdom2026-10-30
1019United Kingdom2026-10-20
1020Argentina2026-10-27
1021Brazil2026-10-16
1022Japan2026-10-16
1023Brazil2026-10-19
1024Australia2026-11-01
1025United Kingdom2026-10-21
1026Italy2026-11-01
1027Canada2026-10-27
1028Australia2026-10-24
1029India2026-10-31
1030Spain2026-10-23
1031India2026-10-26
1032Spain2026-10-14
1033Italy2026-10-26
1034Russia2026-10-26
1035Italy2026-10-12
1036Italy2026-11-01
1037Italy2026-11-01
1038Spain2026-10-25
1039India2026-10-08
1040Germany2026-10-29
1041Spain2026-10-12
1042France2026-10-25
1043India2026-10-20
1044Australia2026-10-16
1045United Kingdom2026-10-07
1046Russia2026-11-03
1047Germany2026-10-18
1048India2026-10-15
1049United Kingdom2026-11-04

On-Demand Data

NameIdCountryDate
Kaitlin F Royster1000Australia2026-10-14
Darci P Wieser1001Argentina2026-10-09
James X Whobrey1002United Kingdom2026-10-27
Maria D Campain1003Canada2026-10-20
Jeanfrancois L Sergi1004Brazil2026-10-25
Maria F Rulapaugh1005Germany2026-10-24
Mayumi B Malet1006Italy2026-10-22
Adams Q Ostrosky1007Australia2026-10-10
Chavez E Dilliard1008Italy2026-10-28
Mayumi B Oldroyd1009Japan2026-10-18
Deepesh E Dilliard1010Canada2026-10-07
Chavez P Morasca1011Brazil2026-10-17
Mujtaba I Royster1012Australia2026-10-08
David R Albares1013France2026-10-27
Kadeem P Kolmetz1014Japan2026-10-10
Costa W Briddick1015Brazil2026-10-12
Misaki M Kolmetz1016Brazil2026-11-03
Ivar J Doe1017Spain2026-10-26
Morrow Y Kolmetz1018Argentina2026-10-24
Alejandro O Marrier1019Brazil2026-11-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy P MacleadJapanIoni Bowcher PROPOSAL
Nicolas F RoysterFranceAsiya Javayant PROPOSAL
Misaki S NickaAustraliaElwin Sharvill UNQUALIFIED
Sinclair E RutaCanadaOnyama Limba RENEWAL
Ivar F WaycottFranceAmy Elsner PROPOSAL
Salvatore N KolmetzItalyOnyama Limba RENEWAL
James U GlickAustraliaAmy Elsner QUALIFIED
Jefferson A KuskoItalyOnyama Limba PROPOSAL
Salvatore B GarufiArgentinaOnyama Limba QUALIFIED
Isabel O FigeroaSpainBernardo Dominic RENEWAL
Leon B StensethRussiaXuxue Feng NEGOTIATION
Jefferson Y BowleyGermanyAsiya Javayant QUALIFIED
Ashley M KuskoArgentinaOnyama Limba NEW
Morrow O BriddickJapanXuxue Feng QUALIFIED
James O FerenczAustraliaAsiya Javayant PROPOSAL
Ivar P AlbaresFranceOnyama Limba UNQUALIFIED
Misaki W StockhamUnited KingdomBernardo Dominic RENEWAL
Misaki Z VenereSpainAmy Elsner NEW
Izzy F TollnerItalyIoni Bowcher RENEWAL
Isabel H FerenczUnited KingdomStephen Shaw PROPOSAL
Leon T MacleadUnited KingdomXuxue Feng UNQUALIFIED
Ashley P KuskoRussiaStephen Shaw RENEWAL
Aruna P MorascaCanadaAsiya Javayant NEGOTIATION
Cody G ChuiSpainBernardo Dominic NEW
Tony R RimItalyAsiya Javayant NEW
Smith F ButtSpainIvan Magalhaes PROPOSAL
Misaki D CaudyArgentinaAnna Fali UNQUALIFIED
Ricardo U MacleadFranceXuxue Feng PROPOSAL
Juan X CampainItalyXuxue Feng UNQUALIFIED
Francesco Q FollerFranceStephen Shaw QUALIFIED
Maria H FerenczJapanBernardo Dominic QUALIFIED
Alejandro E OldroydIndiaIoni Bowcher RENEWAL
Emily O BriddickSpainIvan Magalhaes NEGOTIATION
Kadeem A NickaJapanIoni Bowcher NEGOTIATION
Murillo S CaldareraJapanXuxue Feng NEW
Aika V GillianItalyAmy Elsner PROPOSAL
Leja C VocelkaCanadaStephen Shaw QUALIFIED
Ashley K WaycottCanadaXuxue Feng QUALIFIED
Maisha D CaudyUnited KingdomAmy Elsner NEGOTIATION
Ivar Y CampainArgentinaAmy Elsner 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>