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
Alejandro D OldroydCanadaBernardo Dominic NEW
Salvatore N CaudyUnited KingdomAsiya Javayant NEW
Juan O BologniaUnited KingdomBernardo Dominic NEW
Jeanfrancois M MaletAustraliaElwin Sharvill PROPOSAL
Francesco C VenereArgentinaAsiya Javayant UNQUALIFIED
Leja K GillianSpainStephen Shaw UNQUALIFIED
Jennifer W WaycottRussiaAsiya Javayant UNQUALIFIED
Darci P AlbaresCanadaIvan Magalhaes RENEWAL
Leja I DarakjyArgentinaIvan Magalhaes NEGOTIATION
Claire M FlosiUnited KingdomStephen Shaw PROPOSAL
Smith K IturbideUnited KingdomBernardo Dominic RENEWAL
Leon I ButtBrazilOnyama Limba PROPOSAL
David Q PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Maisha T BowleyJapanStephen Shaw PROPOSAL
Jeanfrancois H VenereJapanOnyama Limba RENEWAL
Faith Q RutaUnited KingdomIoni Bowcher NEW
Mayumi Z WaycottIndiaElwin Sharvill QUALIFIED
Kadeem S BologniaUnited KingdomAsiya Javayant NEGOTIATION
Aruna O ChuiCanadaAmy Elsner RENEWAL
Cody W FerenczRussiaIvan Magalhaes NEGOTIATION
Rodrigues N BriddickJapanIoni Bowcher PROPOSAL
Munro J InouyeRussiaElwin Sharvill NEW
Aditya M GarufiGermanyStephen Shaw NEW
Juan Q AlbaresAustraliaAsiya Javayant RENEWAL
Kadeem Y BowleyGermanyIoni Bowcher UNQUALIFIED
Darci F BowleyGermanyAmy Elsner RENEWAL
Ricardo R AlbaresCanadaOnyama Limba PROPOSAL
Arvin J DilliardSpainElwin Sharvill NEGOTIATION
Nicolas Z SaylorsCanadaOnyama Limba RENEWAL
Costa U MaletIndiaIvan Magalhaes NEW
Johnson Y DarakjyJapanBernardo Dominic NEW
Darci Q BowleyItalyOnyama Limba RENEWAL
Leon N RimUnited KingdomAmy Elsner PROPOSAL
Stacey L MaletSpainIoni Bowcher NEGOTIATION
Misaki X GarufiGermanyOnyama Limba PROPOSAL
Salvatore W BologniaIndiaAsiya Javayant PROPOSAL
Arvin D KuskoUnited KingdomIoni Bowcher RENEWAL
Murillo C PoquetteIndiaIvan Magalhaes NEW
Sinclair Q KuskoArgentinaXuxue Feng NEW
Leon Q WaycottCanadaAmy Elsner RENEWAL
Alejandro W DilliardBrazilAsiya Javayant NEW
Juan M DoeRussiaXuxue Feng NEGOTIATION
Juan Q MarrierCanadaXuxue Feng RENEWAL
Morrow R TollnerRussiaStephen Shaw UNQUALIFIED
Mujtaba G MaletRussiaXuxue Feng RENEWAL
Francesco J VenereIndiaIoni Bowcher RENEWAL
Tony H SaylorsAustraliaOnyama Limba QUALIFIED
Stacey Z SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues G TollnerJapanOnyama Limba UNQUALIFIED
Jefferson Y TollnerFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony A NickaRussiaStephen Shaw PROPOSAL
Jones P NestleArgentinaAnna Fali RENEWAL
Ashley L AlbaresUnited KingdomStephen Shaw NEW
Antonio T FerenczJapanOnyama Limba RENEWAL
Wickens O FigeroaSpainAsiya Javayant NEGOTIATION
Smith Y VenereRussiaAnna Fali QUALIFIED
Julie F FollerJapanAnna Fali PROPOSAL
Julie Y VocelkaArgentinaOnyama Limba PROPOSAL
Jones N RutaArgentinaBernardo Dominic UNQUALIFIED
Francesco G RimRussiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna K RulapaughJapan2026-09-21Buckley Miller Wright PROPOSAL8Anna Fali
1001Mayumi X MaletAustralia2026-09-18Chapman, Ross E Esq NEW90Elwin Sharvill
1002Leon C AlbaresCanada2026-09-06Chemel, James L Cpa QUALIFIED81Stephen Shaw
1003Ricardo G VocelkaJapan2026-09-13Buckley Miller Wright UNQUALIFIED8Ioni Bowcher
1004Jeanfrancois Q RoysterSpain2026-09-12Dorl, James J Esq QUALIFIED38Ivan Magalhaes
1005Francesco V CaldareraBrazil2026-09-21King, Christopher A Esq UNQUALIFIED34Ioni Bowcher
1006Darci B ChuiIndia2026-09-18Rangoni Of Florence PROPOSAL5Stephen Shaw
1007Ivar R GarufiIndia2026-08-24Rousseaux, Michael Esq NEGOTIATION4Ivan Magalhaes
1008Jefferson C NestleCanada2026-09-13King, Christopher A Esq NEGOTIATION16Ioni Bowcher
1009Julie Y OstroskyFrance2026-09-09Rangoni Of Florence NEGOTIATION92Ivan Magalhaes
1010Izzy V WaycottGermany2026-09-14Chapman, Ross E Esq RENEWAL8Bernardo Dominic
1011Mayumi U BowleyUnited Kingdom2026-08-25King, Christopher A Esq QUALIFIED87Xuxue Feng
1012Stacey V DilliardAustralia2026-09-18Rangoni Of Florence UNQUALIFIED25Ioni Bowcher
1013Juan M BowleyIndia2026-09-13Feltz Printing Service QUALIFIED40Ivan Magalhaes
1014Darci B RutaGermany2026-09-10Buckley Miller Wright RENEWAL49Xuxue Feng
1015David B KuskoUnited Kingdom2026-09-09King, Christopher A Esq NEW42Anna Fali
1016Salvatore N WieserFrance2026-09-19Chanay, Jeffrey A Esq UNQUALIFIED60Anna Fali
1017Leja D ChuiIndia2026-09-21Feltz Printing Service NEW48Stephen Shaw
1018Misaki W CampainFrance2026-08-27Chemel, James L Cpa NEW27Ioni Bowcher
1019Leon O MaletArgentina2026-08-29Rangoni Of Florence QUALIFIED97Xuxue Feng
1020Jones H BologniaItaly2026-08-30Chanay, Jeffrey A Esq NEGOTIATION81Onyama Limba
1021David P IturbideArgentina2026-08-30Rangoni Of Florence QUALIFIED57Asiya Javayant
1022Murillo A GillianRussia2026-09-17Buckley Miller Wright PROPOSAL57Stephen Shaw
1023Stacey C DilliardArgentina2026-09-22Chanay, Jeffrey A Esq NEGOTIATION61Onyama Limba
1024Leon Y SlusarskiBrazil2026-09-18Chemel, James L Cpa NEW79Ioni Bowcher
1025Nicolas G GarufiArgentina2026-09-22Buckley Miller Wright UNQUALIFIED72Anna Fali
1026Arvin S TollnerSpain2026-09-05Dorl, James J Esq QUALIFIED10Asiya Javayant
1027Clifford H DilliardAustralia2026-09-01Morlong Associates RENEWAL84Asiya Javayant
1028Munro H NestleSpain2026-09-05Benton, John B Jr NEGOTIATION70Bernardo Dominic
1029Aruna O NickaItaly2026-09-01Dorl, James J Esq UNQUALIFIED3Onyama Limba
1030David J ChuiItaly2026-09-09Benton, John B Jr NEGOTIATION40Amy Elsner
1031Rodrigues V KolmetzGermany2026-09-14Dorl, James J Esq NEGOTIATION78Amy Elsner
1032Johnson W BologniaItaly2026-08-30Chanay, Jeffrey A Esq NEGOTIATION13Asiya Javayant
1033Chavez P RoysterCanada2026-09-19Printing Dimensions PROPOSAL90Anna Fali
1034Greenwood D StockhamGermany2026-09-11Chemel, James L Cpa NEGOTIATION61Xuxue Feng
1035Jeanfrancois M KuskoAustralia2026-09-22Truhlar And Truhlar Attys NEW55Onyama Limba
1036Murillo V FlosiAustralia2026-09-12Feiner Bros PROPOSAL85Asiya Javayant
1037Kaitlin J FerenczAustralia2026-09-04Rangoni Of Florence QUALIFIED31Amy Elsner
1038Leon Z TollnerRussia2026-09-14Buckley Miller Wright RENEWAL44Onyama Limba
1039Salvatore F MaletItaly2026-09-16Feltz Printing Service UNQUALIFIED48Xuxue Feng
1040Julie V KuskoArgentina2026-08-31Truhlar And Truhlar Attys UNQUALIFIED98Ivan Magalhaes
1041Emily H BriddickSpain2026-09-09Rangoni Of Florence NEW72Ioni Bowcher
1042Ricardo M IturbideSpain2026-09-16Rousseaux, Michael Esq UNQUALIFIED17Onyama Limba
1043Arvin M DoeUnited Kingdom2026-09-08Chemel, James L Cpa QUALIFIED4Ioni Bowcher
1044Claire D MorascaArgentina2026-08-28Benton, John B Jr RENEWAL10Ivan Magalhaes
1045Maria U InouyeRussia2026-09-13Dorl, James J Esq RENEWAL78Elwin Sharvill
1046Costa W AmigonRussia2026-09-18Rangoni Of Florence NEW97Elwin Sharvill
1047Tony Q DoeSpain2026-09-11Feiner Bros QUALIFIED92Elwin Sharvill
1048Clifford Y SergiCanada2026-09-17Rousseaux, Michael Esq RENEWAL17Elwin Sharvill
1049Greenwood Z CampainUnited Kingdom2026-09-21Dorl, James J Esq NEGOTIATION79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mayumi O DilliardAustraliaStephen Shaw UNQUALIFIED
Rodrigues B DoeFranceAsiya Javayant PROPOSAL
James F PaprockiIndiaAmy Elsner QUALIFIED
Deepesh C WieserGermanyOnyama Limba NEW
Costa N PoquetteBrazilAsiya Javayant RENEWAL
Ricardo X GillianRussiaBernardo Dominic UNQUALIFIED
Mujtaba V MacleadCanadaElwin Sharvill UNQUALIFIED
Leja O StockhamCanadaBernardo Dominic RENEWAL
Juan S WieserCanadaAnna Fali UNQUALIFIED
Jennifer M RoysterJapanStephen Shaw UNQUALIFIED
Jennifer U CampainFranceAnna Fali RENEWAL
Ivar R PerinGermanyOnyama Limba UNQUALIFIED
Morrow U MarrierJapanStephen Shaw RENEWAL
Smith X BowleyRussiaXuxue Feng NEW
Julie J NickaFranceElwin Sharvill RENEWAL
Munro S TollnerArgentinaAsiya Javayant RENEWAL
Antonio C FollerJapanIvan Magalhaes UNQUALIFIED
Faith F FigeroaJapanIoni Bowcher RENEWAL
Ivar L CaudyJapanAsiya Javayant NEGOTIATION
Octavia S ChuiSpainAsiya Javayant QUALIFIED
Isabel Y IturbideRussiaAmy Elsner RENEWAL
Faith P FigeroaIndiaElwin Sharvill NEW
Smith Z PerinSpainXuxue Feng NEGOTIATION
Smith H VocelkaUnited KingdomIvan Magalhaes RENEWAL
Jones A GauchoJapanBernardo Dominic NEGOTIATION
Ricardo V PerinItalyXuxue Feng NEGOTIATION
Deepesh M MarrierCanadaElwin Sharvill QUALIFIED
Maria H VenereSpainBernardo Dominic QUALIFIED
Rodrigues D DarakjyBrazilAsiya Javayant UNQUALIFIED
Clifford G MarrierGermanyElwin Sharvill RENEWAL
Salvatore R CaldareraItalyStephen Shaw NEGOTIATION
Francesco P AmigonFranceAmy Elsner QUALIFIED
Alejandro Y GauchoCanadaOnyama Limba NEGOTIATION
Aditya P ChuiGermanyXuxue Feng RENEWAL
Mayumi T VenereJapanAnna Fali UNQUALIFIED
Maisha D CampainSpainIvan Magalhaes NEW
Clifford X DoeAustraliaStephen Shaw NEW
Mayumi U SaylorsArgentinaXuxue Feng QUALIFIED
Ashley X GillianBrazilAmy Elsner NEGOTIATION
Cody J WhobreyCanadaStephen Shaw PROPOSAL
Octavia D CaldareraArgentinaStephen Shaw NEW
Aditya K BowleyGermanyAnna Fali QUALIFIED
Chavez H GlickArgentinaBernardo Dominic NEGOTIATION
Isabel I DilliardRussiaElwin Sharvill PROPOSAL
Jeanfrancois M AlbaresBrazilXuxue Feng RENEWAL
Cody U WieserBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois D SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Jones L VocelkaItalyAnna Fali NEW
Francesco E NickaGermanyAmy Elsner PROPOSAL
Munro Q MaletIndiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Chavez O Albares
Costa Z Malet
Clifford V Kusko
Greenwood G Shinko
Greenwood Y Iturbide
Darci S Bowley
Greenwood U Amigon
Emily M Rulapaugh
Arvin G Rim
Claire L Oldroyd
Kadeem U Iturbide
Nicolas Y Schemmer
Arvin T Amigon
Deepesh M Ruta
Kaitlin R Glick
David E Inouye
Adams K Butt
Kadeem P Darakjy
Juan V Amigon
Leja H Paprocki
Claire C Ostrosky
Adams V Morasca
Ricardo V Venere
James S Morasca
Claire B Figeroa
Costa R Inouye
Aruna U Schemmer
Aruna V Figeroa
Darci D Saylors
Adams B Briddick
Murillo E Waycott
David Y Inouye
Deepesh N Butt
Jones G Chui
Ivar C Royster
Murillo Q Nestle
Maria K Darakjy
Misaki K Gillian
Aruna S Butt
James B Ferencz
Rodrigues J Nestle
Jefferson Z Stockham
Ricardo Q Rim
Antonio Y Bowley
Ricardo Q Inouye
Aruna L Rulapaugh
Kadeem W Malet
Jefferson S Rulapaugh
Mayumi B Garufi
Nicolas D Waycott
IdCountryDate
1000Argentina2026-08-30
1001United Kingdom2026-08-29
1002Argentina2026-09-22
1003Argentina2026-09-14
1004Argentina2026-09-11
1005India2026-09-10
1006Brazil2026-09-01
1007Spain2026-09-19
1008Canada2026-08-24
1009Germany2026-09-03
1010Argentina2026-08-25
1011United Kingdom2026-09-15
1012Spain2026-09-08
1013Spain2026-09-04
1014Japan2026-09-04
1015Russia2026-09-10
1016India2026-09-17
1017Brazil2026-08-28
1018India2026-09-09
1019France2026-09-05
1020France2026-09-22
1021Germany2026-09-05
1022United Kingdom2026-09-15
1023Argentina2026-09-09
1024Argentina2026-09-03
1025Spain2026-09-08
1026United Kingdom2026-09-07
1027Argentina2026-09-02
1028Canada2026-08-31
1029Argentina2026-09-08
1030Brazil2026-08-30
1031Canada2026-09-20
1032Spain2026-09-16
1033India2026-08-25
1034Canada2026-09-14
1035Argentina2026-08-26
1036Argentina2026-09-19
1037Brazil2026-09-16
1038France2026-09-02
1039Canada2026-09-05
1040India2026-08-28
1041Japan2026-09-13
1042Japan2026-09-19
1043Spain2026-09-10
1044Japan2026-09-21
1045Italy2026-09-20
1046United Kingdom2026-08-30
1047Germany2026-09-19
1048Brazil2026-09-15
1049Brazil2026-09-03

On-Demand Data

NameIdCountryDate
James C Garufi1000Germany2026-09-20
Misaki P Foller1001Italy2026-09-11
Jones F Amigon1002Russia2026-09-13
Jeanfrancois U Bowley1003Canada2026-09-22
Jennifer S Vocelka1004Brazil2026-08-31
Jennifer X Marrier1005Russia2026-09-13
Sinclair Z Sergi1006Germany2026-09-15
Emily B Paprocki1007Brazil2026-09-18
Silvio Y Glick1008Argentina2026-09-08
Wickens J Nicka1009Spain2026-09-18
Costa Z Bowley1010Brazil2026-09-17
Aika S Saylors1011Canada2026-08-28
Clifford M Campain1012Japan2026-09-12
Chavez O Wieser1013Italy2026-09-09
Munro H Briddick1014Canada2026-09-04
Kadeem G Caldarera1015Argentina2026-09-12
Aruna Y Caudy1016Germany2026-09-19
Cody J Garufi1017Brazil2026-08-26
Salvatore I Morasca1018Australia2026-09-10
Chavez D Doe1019Russia2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia V MacleadIndiaBernardo Dominic QUALIFIED
Aika S RulapaughCanadaIoni Bowcher NEGOTIATION
Darci N PoquetteArgentinaElwin Sharvill NEW
Ricardo E ButtBrazilIvan Magalhaes RENEWAL
Ivar T WhobreyRussiaStephen Shaw UNQUALIFIED
Sinclair F IturbideItalyElwin Sharvill NEGOTIATION
Claire A VocelkaGermanyIvan Magalhaes PROPOSAL
Morrow L PaprockiCanadaAnna Fali QUALIFIED
David X GarufiCanadaElwin Sharvill UNQUALIFIED
Jennifer M WieserJapanIoni Bowcher RENEWAL
Juan S SergiFranceIvan Magalhaes NEGOTIATION
David L StensethBrazilAnna Fali UNQUALIFIED
Munro W WhobreyAustraliaAnna Fali PROPOSAL
Misaki C VocelkaSpainStephen Shaw NEW
Leon N GarufiFranceOnyama Limba NEGOTIATION
Cody J NestleGermanyAmy Elsner QUALIFIED
Izzy A CampainBrazilStephen Shaw RENEWAL
Jefferson F GlickIndiaAnna Fali NEW
Alejandro N RutaItalyAmy Elsner NEW
Greenwood R MacleadIndiaAsiya Javayant QUALIFIED
Ivar C FigeroaArgentinaAmy Elsner PROPOSAL
Tony G OldroydGermanyIvan Magalhaes RENEWAL
Murillo I GauchoAustraliaIoni Bowcher NEW
Izzy Y SaylorsCanadaStephen Shaw QUALIFIED
Aditya Q KolmetzCanadaXuxue Feng RENEWAL
Ashley W BologniaFranceXuxue Feng UNQUALIFIED
Jones W FerenczSpainIoni Bowcher NEGOTIATION
Darci B TollnerItalyAnna Fali RENEWAL
Alejandro U MorascaUnited KingdomIoni Bowcher NEGOTIATION
Sinclair J BologniaRussiaIvan Magalhaes PROPOSAL
Johnson K MaletFranceAsiya Javayant RENEWAL
Octavia L DarakjyRussiaIvan Magalhaes NEGOTIATION
Jennifer B ButtFranceAsiya Javayant NEW
Leon V ButtSpainElwin Sharvill PROPOSAL
Darci U KuskoAustraliaAnna Fali RENEWAL
Arvin W FollerCanadaAsiya Javayant UNQUALIFIED
Chavez M RutaArgentinaIvan Magalhaes PROPOSAL
Arvin S NestleFranceOnyama Limba NEGOTIATION
Aruna H SchemmerArgentinaIoni Bowcher UNQUALIFIED
Aruna X WaycottIndiaXuxue Feng 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>