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
Wickens V PerinSpainIoni Bowcher NEW
Murillo C DilliardRussiaAmy Elsner RENEWAL
Aika I DarakjyJapanAnna Fali RENEWAL
Kaitlin Z RutaBrazilStephen Shaw NEGOTIATION
Maisha T PaprockiBrazilIvan Magalhaes RENEWAL
Octavia F BowleyRussiaBernardo Dominic UNQUALIFIED
Stacey M DilliardItalyIvan Magalhaes UNQUALIFIED
Clifford U CampainAustraliaOnyama Limba NEGOTIATION
Darci T MacleadUnited KingdomOnyama Limba RENEWAL
Deepesh Y MaletArgentinaAnna Fali UNQUALIFIED
Antonio W InouyeJapanOnyama Limba PROPOSAL
Jefferson Y GauchoRussiaIvan Magalhaes UNQUALIFIED
James N DoeCanadaAnna Fali PROPOSAL
Nicolas B VenereSpainIoni Bowcher PROPOSAL
James S IturbideAustraliaXuxue Feng QUALIFIED
Wickens S FlosiAustraliaBernardo Dominic PROPOSAL
Munro K TollnerRussiaAsiya Javayant PROPOSAL
Adams S SlusarskiItalyIvan Magalhaes UNQUALIFIED
Leja K CampainItalyIoni Bowcher PROPOSAL
Francesco I CampainRussiaElwin Sharvill RENEWAL
Nicolas H MaletArgentinaIvan Magalhaes RENEWAL
Aditya M PaprockiCanadaIvan Magalhaes NEW
James J WhobreyFranceOnyama Limba PROPOSAL
Octavia V DilliardAustraliaAnna Fali UNQUALIFIED
Darci Y WhobreySpainBernardo Dominic NEGOTIATION
Johnson F GauchoArgentinaIoni Bowcher PROPOSAL
Costa J TollnerFranceElwin Sharvill PROPOSAL
Jeanfrancois G StockhamJapanIvan Magalhaes RENEWAL
Alejandro C MarrierCanadaBernardo Dominic PROPOSAL
Mayumi C TollnerItalyOnyama Limba NEW
Antonio R SergiBrazilXuxue Feng PROPOSAL
Maisha Q RoysterFranceStephen Shaw RENEWAL
Maria W PerinBrazilAmy Elsner NEW
Julie X MaletIndiaAsiya Javayant NEGOTIATION
Rodrigues F MaletCanadaStephen Shaw NEGOTIATION
Leon R SaylorsGermanyIvan Magalhaes NEGOTIATION
Faith J CaudyItalyXuxue Feng QUALIFIED
Jennifer B IturbideArgentinaBernardo Dominic QUALIFIED
David Z NestleCanadaElwin Sharvill UNQUALIFIED
Adams W MaletIndiaBernardo Dominic RENEWAL
Octavia Z VocelkaArgentinaIvan Magalhaes QUALIFIED
Alejandro G KuskoGermanyIoni Bowcher UNQUALIFIED
Nicolas F BowleyRussiaIvan Magalhaes PROPOSAL
Aruna L NestleSpainStephen Shaw UNQUALIFIED
Emily Z BowleyIndiaIoni Bowcher PROPOSAL
Claire S AmigonFranceStephen Shaw NEGOTIATION
Aika C CampainRussiaIvan Magalhaes NEGOTIATION
Claire F PoquetteCanadaAsiya Javayant PROPOSAL
Arvin J MarrierCanadaBernardo Dominic PROPOSAL
Cody S MorascaRussiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha T KolmetzArgentinaIoni Bowcher NEW
Arvin S GarufiSpainOnyama Limba NEW
Kaitlin E SergiGermanyAnna Fali PROPOSAL
Adams X WaycottArgentinaOnyama Limba QUALIFIED
Maria L FerenczJapanIoni Bowcher NEW
Maria N FollerArgentinaAmy Elsner UNQUALIFIED
Rodrigues X MarrierFranceXuxue Feng RENEWAL
Salvatore N PerinJapanBernardo Dominic RENEWAL
Jefferson U VenereGermanyOnyama Limba PROPOSAL
Leon J OstroskyRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U StensethSpain2026-10-27Rousseaux, Michael Esq RENEWAL23Asiya Javayant
1001Sinclair X StockhamCanada2026-10-04Printing Dimensions NEGOTIATION41Asiya Javayant
1002Darci E MaletIndia2026-10-14Feiner Bros RENEWAL19Anna Fali
1003Emily L WaycottCanada2026-10-12Morlong Associates RENEWAL55Elwin Sharvill
1004Ricardo L GauchoGermany2026-09-28Rousseaux, Michael Esq PROPOSAL94Amy Elsner
1005Johnson T KuskoSpain2026-10-11Printing Dimensions PROPOSAL35Amy Elsner
1006Arvin Z CaldareraBrazil2026-09-30Rousseaux, Michael Esq PROPOSAL7Onyama Limba
1007Aruna V PaprockiBrazil2026-10-11Chapman, Ross E Esq NEGOTIATION90Ivan Magalhaes
1008Silvio J MaletAustralia2026-10-13Rousseaux, Michael Esq PROPOSAL28Onyama Limba
1009Morrow F PerinBrazil2026-09-29Rangoni Of Florence QUALIFIED89Onyama Limba
1010Maisha H BologniaIndia2026-10-06Dorl, James J Esq PROPOSAL95Amy Elsner
1011Ricardo U AmigonBrazil2026-10-01Chapman, Ross E Esq PROPOSAL96Onyama Limba
1012Claire Y SlusarskiJapan2026-10-20Dorl, James J Esq NEGOTIATION86Xuxue Feng
1013Jefferson B BriddickJapan2026-10-12Rousseaux, Michael Esq NEW15Ioni Bowcher
1014Munro G AmigonBrazil2026-10-13Feltz Printing Service RENEWAL44Amy Elsner
1015Rodrigues P KuskoFrance2026-10-16King, Christopher A Esq QUALIFIED53Ivan Magalhaes
1016Maria X CampainJapan2026-10-24Feiner Bros NEW77Ioni Bowcher
1017Stacey D KuskoJapan2026-10-15Feltz Printing Service RENEWAL60Ivan Magalhaes
1018Wickens K CampainBrazil2026-10-27Commercial Press UNQUALIFIED92Onyama Limba
1019Antonio N DilliardItaly2026-10-22Morlong Associates PROPOSAL40Anna Fali
1020James Y ShinkoItaly2026-10-06Dorl, James J Esq RENEWAL36Amy Elsner
1021Jefferson V AmigonFrance2026-10-25Buckley Miller Wright NEGOTIATION43Stephen Shaw
1022Leja H DarakjyGermany2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED76Asiya Javayant
1023Salvatore Z SaylorsItaly2026-10-14Chemel, James L Cpa NEGOTIATION58Ivan Magalhaes
1024Ricardo Z KuskoCanada2026-10-10Chanay, Jeffrey A Esq NEGOTIATION64Onyama Limba
1025Morrow N GauchoIndia2026-10-26Benton, John B Jr QUALIFIED30Amy Elsner
1026Aditya D RutaItaly2026-10-04Feiner Bros NEW64Amy Elsner
1027Deepesh U BologniaUnited Kingdom2026-10-01Dorl, James J Esq NEGOTIATION28Onyama Limba
1028Silvio Y FerenczArgentina2026-10-17Rangoni Of Florence NEGOTIATION67Ivan Magalhaes
1029Kadeem C MaletAustralia2026-10-04Feiner Bros NEW61Anna Fali
1030Morrow Q NickaGermany2026-10-11Feiner Bros UNQUALIFIED33Xuxue Feng
1031Cody I BriddickIndia2026-10-27Dorl, James J Esq RENEWAL15Anna Fali
1032Wickens O DoeFrance2026-10-27Chapman, Ross E Esq QUALIFIED25Ivan Magalhaes
1033Wickens Z BologniaUnited Kingdom2026-10-04Rangoni Of Florence PROPOSAL3Asiya Javayant
1034Ashley S ButtSpain2026-09-29Benton, John B Jr RENEWAL72Bernardo Dominic
1035Kadeem Z MarrierCanada2026-10-16Chanay, Jeffrey A Esq UNQUALIFIED12Ioni Bowcher
1036Maria M BowleyUnited Kingdom2026-10-19Chanay, Jeffrey A Esq PROPOSAL27Ioni Bowcher
1037Murillo G MarrierAustralia2026-10-27Feltz Printing Service PROPOSAL89Asiya Javayant
1038Jeanfrancois Y MarrierItaly2026-10-25Morlong Associates NEGOTIATION31Ivan Magalhaes
1039Maisha O MacleadAustralia2026-10-21Rousseaux, Michael Esq RENEWAL74Anna Fali
1040Ivar J WieserSpain2026-10-03King, Christopher A Esq UNQUALIFIED81Bernardo Dominic
1041Leon V GillianUnited Kingdom2026-10-09King, Christopher A Esq RENEWAL43Anna Fali
1042Adams I OldroydCanada2026-10-07King, Christopher A Esq UNQUALIFIED63Ivan Magalhaes
1043Aditya L DarakjyAustralia2026-10-24Chemel, James L Cpa NEW88Onyama Limba
1044Cody T DarakjyGermany2026-10-18Feiner Bros QUALIFIED39Stephen Shaw
1045Arvin A MorascaArgentina2026-10-17Chanay, Jeffrey A Esq RENEWAL11Xuxue Feng
1046Faith E ChuiSpain2026-10-01Chanay, Jeffrey A Esq NEGOTIATION9Onyama Limba
1047Rodrigues H FollerUnited Kingdom2026-10-17Chapman, Ross E Esq UNQUALIFIED45Bernardo Dominic
1048Leon D MorascaGermany2026-10-16Chanay, Jeffrey A Esq PROPOSAL9Stephen Shaw
1049Kaitlin F TollnerAustralia2026-10-27Feltz Printing Service NEW30Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
James X MarrierFranceElwin Sharvill QUALIFIED
Izzy J AlbaresArgentinaBernardo Dominic UNQUALIFIED
Arvin K DoeSpainAnna Fali QUALIFIED
Mayumi O OstroskyCanadaAnna Fali UNQUALIFIED
Emily O KolmetzArgentinaAsiya Javayant UNQUALIFIED
Nicolas Z BriddickUnited KingdomElwin Sharvill NEW
Ricardo O BowleyGermanyElwin Sharvill UNQUALIFIED
Salvatore K IturbideSpainStephen Shaw UNQUALIFIED
Ivar D RoysterArgentinaAsiya Javayant QUALIFIED
Maisha G DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas W RutaIndiaAnna Fali QUALIFIED
Kadeem K SaylorsRussiaOnyama Limba PROPOSAL
Munro W PaprockiJapanIoni Bowcher RENEWAL
Antonio Y MaletFranceAmy Elsner UNQUALIFIED
Maria D WieserBrazilElwin Sharvill RENEWAL
Leon X DilliardBrazilXuxue Feng UNQUALIFIED
Misaki G AmigonAustraliaElwin Sharvill NEW
James N SaylorsItalyXuxue Feng UNQUALIFIED
Jennifer J GarufiGermanyAsiya Javayant UNQUALIFIED
Aditya S MaletSpainAmy Elsner NEGOTIATION
Cody I SaylorsGermanyIoni Bowcher PROPOSAL
Clifford O GillianBrazilAnna Fali QUALIFIED
Darci O FollerSpainAnna Fali QUALIFIED
Leja F CaldareraRussiaElwin Sharvill NEGOTIATION
Aika E WaycottSpainAsiya Javayant NEGOTIATION
Wickens Z RoysterBrazilIvan Magalhaes RENEWAL
Faith M TollnerGermanyOnyama Limba QUALIFIED
Aruna U GlickFranceXuxue Feng QUALIFIED
Antonio E NestleGermanyAmy Elsner RENEWAL
Aruna T RutaAustraliaAsiya Javayant NEGOTIATION
Ivar G VocelkaIndiaXuxue Feng UNQUALIFIED
Murillo I CampainFranceIvan Magalhaes NEGOTIATION
Aditya J GauchoArgentinaAsiya Javayant NEW
James I FerenczFranceStephen Shaw UNQUALIFIED
Darci Y DarakjyRussiaStephen Shaw NEW
Darci Q NestleSpainIvan Magalhaes NEGOTIATION
Kadeem Q ButtSpainBernardo Dominic NEGOTIATION
Emily M MorascaJapanXuxue Feng QUALIFIED
Nicolas Q CaldareraIndiaAmy Elsner RENEWAL
Kadeem W WieserAustraliaAsiya Javayant PROPOSAL
Silvio I BriddickArgentinaXuxue Feng NEGOTIATION
Salvatore K SchemmerAustraliaBernardo Dominic PROPOSAL
Emily U WhobreyBrazilIvan Magalhaes PROPOSAL
Arvin P SaylorsIndiaAnna Fali NEW
Faith E KuskoUnited KingdomAnna Fali NEW
Clifford J RulapaughUnited KingdomOnyama Limba UNQUALIFIED
James X ButtFranceXuxue Feng PROPOSAL
Darci R NestleAustraliaXuxue Feng NEW
Mujtaba C WieserUnited KingdomStephen Shaw QUALIFIED
James M BologniaCanadaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Silvio V Kolmetz
Kadeem Q Darakjy
Deepesh G Gaucho
Isabel P Malet
Clifford P Inouye
Faith I Sergi
Johnson N Stockham
Claire P Iturbide
Stacey X Shinko
Aika A Paprocki
Smith L Darakjy
David W Maclead
Maria J Iturbide
Rodrigues L Paprocki
Chavez Q Caudy
James E Wieser
Chavez Z Briddick
David X Bolognia
Leja H Stockham
Greenwood Z Darakjy
Murillo A Nestle
Aruna B Malet
Aruna S Foller
Tony K Maclead
Munro M Paprocki
Morrow S Doe
Salvatore H Sergi
Mayumi E Bolognia
Cody R Butt
Johnson Y Butt
Maria V Flosi
Ivar K Whobrey
Isabel O Rulapaugh
Kadeem R Perin
Johnson Y Briddick
Johnson W Maclead
Faith W Iturbide
Julie J Rim
Jefferson G Campain
Leja V Nestle
James C Garufi
Jeanfrancois T Iturbide
Misaki R Iturbide
Isabel J Chui
Faith V Ruta
Leon F Tollner
Deepesh D Chui
Ivar B Briddick
Jennifer M Foller
Arvin Q Vocelka
IdCountryDate
1000Argentina2026-10-25
1001Canada2026-10-15
1002Italy2026-10-13
1003Germany2026-10-26
1004Spain2026-10-06
1005France2026-10-25
1006Brazil2026-10-20
1007Germany2026-10-11
1008Japan2026-10-22
1009Australia2026-10-23
1010India2026-10-26
1011India2026-10-03
1012Argentina2026-10-21
1013France2026-10-24
1014United Kingdom2026-10-05
1015Germany2026-10-17
1016France2026-10-14
1017Canada2026-10-14
1018Italy2026-10-03
1019United Kingdom2026-10-12
1020Argentina2026-10-07
1021Germany2026-10-23
1022Italy2026-10-25
1023Brazil2026-10-24
1024United Kingdom2026-10-12
1025Russia2026-10-09
1026Spain2026-10-17
1027Spain2026-10-19
1028Argentina2026-10-26
1029United Kingdom2026-10-27
1030France2026-10-25
1031Germany2026-10-17
1032United Kingdom2026-10-11
1033Argentina2026-09-30
1034Australia2026-10-06
1035United Kingdom2026-10-17
1036Germany2026-10-22
1037Australia2026-10-08
1038Japan2026-10-15
1039Spain2026-10-09
1040Brazil2026-10-10
1041Argentina2026-10-12
1042Spain2026-10-05
1043Russia2026-10-24
1044United Kingdom2026-10-15
1045Japan2026-10-27
1046Canada2026-09-30
1047India2026-09-29
1048Australia2026-10-01
1049Brazil2026-10-05

On-Demand Data

NameIdCountryDate
Leon G Stockham1000France2026-10-21
Maria T Venere1001Germany2026-10-23
Isabel K Amigon1002United Kingdom2026-10-22
Aditya R Sergi1003India2026-10-25
Leja Q Campain1004Japan2026-10-01
Adams W Inouye1005Japan2026-10-27
Rodrigues P Darakjy1006Japan2026-10-17
Cody Q Bowley1007Germany2026-10-04
Juan U Schemmer1008Canada2026-10-23
Wickens B Iturbide1009Italy2026-10-13
Kaitlin C Rim1010Canada2026-10-04
Antonio N Rim1011Canada2026-10-16
Chavez D Gillian1012France2026-09-28
Morrow K Albares1013Brazil2026-10-22
Alejandro O Saylors1014Spain2026-10-05
Kadeem C Schemmer1015Japan2026-10-05
Alejandro M Doe1016France2026-10-18
Antonio B Campain1017Australia2026-10-02
Murillo G Stockham1018Brazil2026-10-08
Johnson D Perin1019Argentina2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood A PoquetteGermanyBernardo Dominic UNQUALIFIED
Alejandro B StockhamGermanyXuxue Feng PROPOSAL
Morrow O WieserArgentinaBernardo Dominic PROPOSAL
Maisha T SlusarskiGermanyElwin Sharvill QUALIFIED
Sinclair E KuskoSpainAmy Elsner NEGOTIATION
Aika A TollnerCanadaAmy Elsner NEGOTIATION
Maria A FollerItalyElwin Sharvill UNQUALIFIED
Nicolas C OstroskySpainAnna Fali UNQUALIFIED
Octavia I MaletFranceStephen Shaw PROPOSAL
Chavez J GauchoItalyAnna Fali UNQUALIFIED
Ivar T OldroydAustraliaBernardo Dominic NEGOTIATION
Silvio Y GlickBrazilAsiya Javayant RENEWAL
Maria Y MaletItalyElwin Sharvill QUALIFIED
Aruna J PoquetteSpainIoni Bowcher UNQUALIFIED
Izzy Z BologniaArgentinaOnyama Limba PROPOSAL
Jeanfrancois E ButtCanadaStephen Shaw UNQUALIFIED
Aditya A WaycottJapanXuxue Feng RENEWAL
Antonio D ShinkoBrazilAsiya Javayant UNQUALIFIED
Faith P CaudyBrazilIvan Magalhaes RENEWAL
Silvio P MacleadRussiaAnna Fali NEGOTIATION
Leon K PoquetteBrazilXuxue Feng QUALIFIED
Munro C NickaBrazilAmy Elsner RENEWAL
Francesco R StensethCanadaOnyama Limba RENEWAL
Ashley N MorascaIndiaIvan Magalhaes RENEWAL
Misaki R BowleyJapanXuxue Feng QUALIFIED
Tony F ChuiUnited KingdomElwin Sharvill RENEWAL
Salvatore U KuskoArgentinaAsiya Javayant NEW
Murillo D AmigonUnited KingdomAsiya Javayant NEGOTIATION
Faith V GlickGermanyStephen Shaw NEGOTIATION
Darci X SergiIndiaOnyama Limba UNQUALIFIED
Aruna S NestleBrazilAmy Elsner UNQUALIFIED
Aika G MacleadUnited KingdomStephen Shaw QUALIFIED
Faith Z MaletCanadaStephen Shaw UNQUALIFIED
Rodrigues J RoysterRussiaIoni Bowcher NEGOTIATION
Nicolas S MaletRussiaIvan Magalhaes QUALIFIED
Francesco P KolmetzSpainBernardo Dominic PROPOSAL
Emily N MaletAustraliaAnna Fali UNQUALIFIED
Antonio Q WieserSpainOnyama Limba PROPOSAL
Adams Z GillianJapanOnyama Limba UNQUALIFIED
Clifford Q FlosiJapanXuxue Feng RENEWAL

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