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
James O FlosiUnited KingdomStephen Shaw PROPOSAL
Maisha H DilliardArgentinaAmy Elsner QUALIFIED
Kaitlin Z TollnerSpainIoni Bowcher QUALIFIED
Tony D StockhamJapanOnyama Limba NEGOTIATION
Nicolas F BriddickBrazilStephen Shaw UNQUALIFIED
Silvio W KolmetzIndiaIoni Bowcher NEW
Aika I OldroydUnited KingdomAmy Elsner RENEWAL
Octavia J RutaJapanXuxue Feng PROPOSAL
Izzy F RulapaughRussiaIoni Bowcher RENEWAL
Adams U GauchoSpainAsiya Javayant PROPOSAL
Morrow H VenereItalyStephen Shaw UNQUALIFIED
Leja B KolmetzSpainIvan Magalhaes PROPOSAL
Murillo E WhobreyCanadaBernardo Dominic QUALIFIED
Jones T MaletUnited KingdomAnna Fali NEGOTIATION
Leja T OstroskyItalyXuxue Feng RENEWAL
Aditya N RoysterUnited KingdomElwin Sharvill PROPOSAL
Maisha U DarakjyCanadaXuxue Feng NEW
Aruna R FollerIndiaIoni Bowcher UNQUALIFIED
Mayumi Q SergiRussiaOnyama Limba UNQUALIFIED
Francesco Y KuskoFranceAmy Elsner RENEWAL
Jefferson B MaletGermanyAmy Elsner UNQUALIFIED
Smith Y PaprockiGermanyStephen Shaw UNQUALIFIED
Jeanfrancois U VocelkaUnited KingdomStephen Shaw PROPOSAL
Jennifer J GlickBrazilElwin Sharvill NEW
Clifford C CaldareraRussiaAnna Fali QUALIFIED
Adams E SlusarskiArgentinaAmy Elsner QUALIFIED
Faith K CaldareraBrazilStephen Shaw NEGOTIATION
Stacey F FlosiCanadaStephen Shaw RENEWAL
Rodrigues Q PoquetteUnited KingdomIoni Bowcher NEW
Adams T GarufiFranceIvan Magalhaes PROPOSAL
Aditya U DilliardCanadaAsiya Javayant QUALIFIED
Arvin E BriddickBrazilElwin Sharvill RENEWAL
Tony T RimGermanyIvan Magalhaes QUALIFIED
Mujtaba F SlusarskiGermanyAsiya Javayant NEW
Arvin Y RulapaughCanadaIoni Bowcher RENEWAL
Jeanfrancois V KuskoCanadaIvan Magalhaes PROPOSAL
Silvio G WhobreyAustraliaOnyama Limba NEW
Jennifer Q MaletBrazilIoni Bowcher QUALIFIED
Jefferson O TollnerItalyBernardo Dominic NEGOTIATION
Jeanfrancois P BowleyIndiaIvan Magalhaes UNQUALIFIED
Rodrigues P VenereUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues B ShinkoItalyIoni Bowcher NEGOTIATION
Julie J GarufiCanadaAmy Elsner NEGOTIATION
Izzy M VenereAustraliaStephen Shaw NEGOTIATION
Costa S RutaArgentinaIoni Bowcher UNQUALIFIED
Misaki W WhobreyJapanStephen Shaw QUALIFIED
Antonio J WhobreyRussiaAsiya Javayant UNQUALIFIED
Maisha Z SaylorsCanadaBernardo Dominic NEGOTIATION
Adams I OstroskyAustraliaStephen Shaw PROPOSAL
Salvatore M InouyeAustraliaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel L VenereAustraliaAnna Fali PROPOSAL
Nicolas B GlickJapanAmy Elsner RENEWAL
Silvio G StockhamBrazilBernardo Dominic PROPOSAL
Chavez B KolmetzRussiaStephen Shaw NEGOTIATION
Misaki O DilliardUnited KingdomXuxue Feng NEGOTIATION
Aika X BowleyArgentinaAsiya Javayant NEW
Munro M RimFranceAmy Elsner QUALIFIED
Leon C VocelkaSpainOnyama Limba PROPOSAL
Costa K ChuiItalyAsiya Javayant RENEWAL
Leja X MacleadAustraliaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones C CaudyItaly2026-10-02King, Christopher A Esq RENEWAL90Ioni Bowcher
1001Adams W RutaIndia2026-09-26Rangoni Of Florence NEGOTIATION56Amy Elsner
1002Kadeem Z SchemmerCanada2026-09-30Truhlar And Truhlar Attys UNQUALIFIED84Stephen Shaw
1003Antonio Q ShinkoUnited Kingdom2026-09-19Chapman, Ross E Esq UNQUALIFIED94Onyama Limba
1004Jones P ShinkoUnited Kingdom2026-10-03Chapman, Ross E Esq PROPOSAL78Asiya Javayant
1005Maria Q ShinkoUnited Kingdom2026-10-05Feiner Bros NEW66Ivan Magalhaes
1006Kaitlin H ShinkoUnited Kingdom2026-10-06Buckley Miller Wright RENEWAL88Stephen Shaw
1007Johnson Z TollnerJapan2026-09-19Printing Dimensions NEW82Anna Fali
1008Johnson R OldroydItaly2026-09-11Rousseaux, Michael Esq PROPOSAL25Elwin Sharvill
1009Smith O WieserAustralia2026-09-24Rangoni Of Florence PROPOSAL46Stephen Shaw
1010Salvatore E KuskoGermany2026-09-23Feiner Bros PROPOSAL59Ioni Bowcher
1011Deepesh Q MarrierAustralia2026-09-17Morlong Associates NEW36Xuxue Feng
1012Leja S PaprockiAustralia2026-09-15King, Christopher A Esq PROPOSAL82Xuxue Feng
1013Maria P MarrierJapan2026-09-10Chanay, Jeffrey A Esq QUALIFIED7Stephen Shaw
1014Francesco P KolmetzGermany2026-09-23Benton, John B Jr UNQUALIFIED23Asiya Javayant
1015Costa C KuskoBrazil2026-09-24Benton, John B Jr PROPOSAL77Onyama Limba
1016Kadeem S MacleadBrazil2026-09-29Rangoni Of Florence NEW37Bernardo Dominic
1017Jennifer I FigeroaUnited Kingdom2026-09-29Dorl, James J Esq PROPOSAL39Amy Elsner
1018Arvin R RulapaughFrance2026-09-12Buckley Miller Wright PROPOSAL47Onyama Limba
1019Kaitlin V FlosiBrazil2026-09-30Rousseaux, Michael Esq RENEWAL97Anna Fali
1020Smith X RoysterAustralia2026-09-22Benton, John B Jr NEGOTIATION22Asiya Javayant
1021Aruna S SchemmerFrance2026-09-24Benton, John B Jr NEGOTIATION72Onyama Limba
1022Salvatore H RutaBrazil2026-09-27Commercial Press NEW9Onyama Limba
1023Deepesh S ShinkoJapan2026-09-25Commercial Press UNQUALIFIED16Ioni Bowcher
1024Misaki M WieserJapan2026-09-23Chemel, James L Cpa UNQUALIFIED64Bernardo Dominic
1025Francesco G ChuiIndia2026-10-02Commercial Press RENEWAL89Anna Fali
1026Jefferson O FollerArgentina2026-09-22Commercial Press NEW92Ioni Bowcher
1027Smith O PaprockiItaly2026-09-29Printing Dimensions PROPOSAL44Xuxue Feng
1028Deepesh B GlickSpain2026-09-11Commercial Press NEGOTIATION60Ivan Magalhaes
1029Ashley Y KolmetzUnited Kingdom2026-09-29Truhlar And Truhlar Attys QUALIFIED81Stephen Shaw
1030Leja A GarufiJapan2026-09-30Truhlar And Truhlar Attys NEW84Stephen Shaw
1031Greenwood D IturbideUnited Kingdom2026-09-17King, Christopher A Esq UNQUALIFIED58Anna Fali
1032Morrow R FlosiIndia2026-09-26Rousseaux, Michael Esq NEGOTIATION8Asiya Javayant
1033Greenwood M SchemmerSpain2026-10-02Morlong Associates NEGOTIATION77Stephen Shaw
1034Tony K DarakjyItaly2026-09-27Buckley Miller Wright QUALIFIED70Xuxue Feng
1035Cody P RulapaughUnited Kingdom2026-09-30Dorl, James J Esq UNQUALIFIED88Asiya Javayant
1036Johnson Z InouyeCanada2026-09-26Truhlar And Truhlar Attys RENEWAL31Asiya Javayant
1037Leon M WhobreyIndia2026-09-11Dorl, James J Esq RENEWAL7Bernardo Dominic
1038Chavez R MorascaArgentina2026-10-03Rousseaux, Michael Esq UNQUALIFIED68Amy Elsner
1039Munro Y FollerSpain2026-09-20Commercial Press NEW96Amy Elsner
1040Mayumi M GarufiRussia2026-09-15Dorl, James J Esq QUALIFIED53Asiya Javayant
1041Stacey S WieserAustralia2026-09-23Buckley Miller Wright RENEWAL99Stephen Shaw
1042Rodrigues A NestleJapan2026-09-13Feiner Bros PROPOSAL52Stephen Shaw
1043Misaki W WaycottArgentina2026-09-18Rousseaux, Michael Esq PROPOSAL79Ioni Bowcher
1044Stacey Y StensethArgentina2026-09-10Chanay, Jeffrey A Esq NEGOTIATION1Anna Fali
1045Maria Y InouyeBrazil2026-09-14Chapman, Ross E Esq NEW98Asiya Javayant
1046Adams I MacleadGermany2026-10-07Morlong Associates UNQUALIFIED21Xuxue Feng
1047Wickens T TollnerIndia2026-09-19Printing Dimensions NEGOTIATION86Onyama Limba
1048Maisha B RimAustralia2026-10-07Buckley Miller Wright QUALIFIED41Elwin Sharvill
1049Salvatore Y ShinkoJapan2026-09-11Rousseaux, Michael Esq NEW99Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Munro Z CampainFranceXuxue Feng RENEWAL
Clifford Q InouyeCanadaOnyama Limba PROPOSAL
Izzy C AmigonUnited KingdomAmy Elsner UNQUALIFIED
Smith V WieserItalyBernardo Dominic NEGOTIATION
James W FlosiAustraliaIvan Magalhaes QUALIFIED
Julie I GauchoCanadaAsiya Javayant QUALIFIED
Ivar C StensethSpainBernardo Dominic UNQUALIFIED
Juan C FlosiBrazilAmy Elsner QUALIFIED
Darci C OstroskyJapanStephen Shaw RENEWAL
Clifford K RimFranceOnyama Limba NEGOTIATION
Jeanfrancois X GillianUnited KingdomElwin Sharvill QUALIFIED
Smith V GillianFranceIvan Magalhaes QUALIFIED
Johnson Y FollerFranceElwin Sharvill NEGOTIATION
Octavia S SergiArgentinaAsiya Javayant UNQUALIFIED
Stacey J KolmetzBrazilAnna Fali NEGOTIATION
Costa L MarrierSpainOnyama Limba PROPOSAL
Kadeem X RulapaughArgentinaBernardo Dominic RENEWAL
Murillo Q GauchoArgentinaAmy Elsner NEW
Mayumi H SlusarskiFranceStephen Shaw NEW
Munro C SlusarskiBrazilElwin Sharvill NEGOTIATION
Costa A WhobreySpainIvan Magalhaes NEGOTIATION
Izzy H SergiGermanyXuxue Feng UNQUALIFIED
Clifford V AmigonBrazilXuxue Feng NEW
Adams I GlickUnited KingdomElwin Sharvill PROPOSAL
Deepesh U DarakjyGermanyOnyama Limba UNQUALIFIED
Antonio P CaudyGermanyBernardo Dominic PROPOSAL
James C AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Izzy V SchemmerBrazilElwin Sharvill UNQUALIFIED
Mujtaba S SaylorsSpainStephen Shaw RENEWAL
Francesco Q MarrierRussiaXuxue Feng QUALIFIED
Cody B MacleadGermanyBernardo Dominic RENEWAL
Sinclair U CaldareraItalyOnyama Limba NEW
Deepesh G FollerGermanyAnna Fali RENEWAL
Aika F OstroskyArgentinaOnyama Limba QUALIFIED
Julie E NickaRussiaAmy Elsner UNQUALIFIED
Isabel B IturbideBrazilIvan Magalhaes NEGOTIATION
Julie R RulapaughIndiaBernardo Dominic RENEWAL
Costa U CaldareraIndiaXuxue Feng PROPOSAL
Aruna U BologniaAustraliaAnna Fali UNQUALIFIED
Jefferson P PaprockiSpainBernardo Dominic NEW
Leja E PoquetteArgentinaXuxue Feng RENEWAL
Munro P WhobreyFranceAmy Elsner PROPOSAL
Jones U ButtSpainIvan Magalhaes QUALIFIED
Costa P DilliardArgentinaStephen Shaw NEGOTIATION
Maisha K WaycottArgentinaIvan Magalhaes QUALIFIED
Alejandro N GarufiJapanAnna Fali RENEWAL
Jeanfrancois M BowleyRussiaAmy Elsner NEGOTIATION
Costa S GauchoBrazilIoni Bowcher UNQUALIFIED
Maria M FlosiIndiaAmy Elsner UNQUALIFIED
Octavia U AmigonFranceXuxue Feng NEW
Frozen Columns
Name
Jones N Foller
Jeanfrancois R Foller
Stacey G Ruta
Rodrigues P Glick
Kadeem C Bowley
Costa H Kolmetz
Ivar N Malet
Morrow G Wieser
Izzy O Amigon
Greenwood D Malet
Maria N Waycott
Emily B Iturbide
Arvin X Rim
Leja E Oldroyd
Sinclair I Albares
Aika S Marrier
Nicolas V Whobrey
Rodrigues O Stenseth
Leja M Malet
Costa E Wieser
Cody D Figeroa
Ivar X Foller
Juan I Vocelka
Adams R Gaucho
Cody T Flosi
Misaki K Sergi
Smith W Vocelka
Ashley O Malet
Arvin F Ostrosky
Chavez D Darakjy
Costa G Bolognia
Jefferson X Marrier
Misaki R Bolognia
Emily W Ruta
Arvin Q Briddick
Mujtaba O Paprocki
James M Stockham
Murillo J Oldroyd
Sinclair K Gillian
Munro Q Kolmetz
Leja Q Bolognia
Murillo T Maclead
Leon K Paprocki
Deepesh B Rulapaugh
Arvin H Morasca
Ashley Q Rim
Greenwood Z Caudy
Octavia Y Glick
Clifford Q Sergi
Chavez Q Sergi
IdCountryDate
1000Australia2026-10-07
1001France2026-10-01
1002Argentina2026-09-21
1003Russia2026-10-01
1004Italy2026-09-29
1005Brazil2026-09-24
1006Brazil2026-09-24
1007Argentina2026-09-09
1008India2026-10-06
1009India2026-09-28
1010Russia2026-09-09
1011Brazil2026-10-02
1012Germany2026-09-12
1013Germany2026-10-08
1014Germany2026-09-26
1015Brazil2026-09-25
1016India2026-09-21
1017Canada2026-09-17
1018Germany2026-09-30
1019Australia2026-09-12
1020Japan2026-10-05
1021Italy2026-09-22
1022Italy2026-10-01
1023France2026-09-25
1024India2026-09-19
1025France2026-09-12
1026Russia2026-09-20
1027Canada2026-09-16
1028Japan2026-09-09
1029Japan2026-09-15
1030Spain2026-10-03
1031Spain2026-10-05
1032Spain2026-09-12
1033Italy2026-09-16
1034United Kingdom2026-09-19
1035Italy2026-10-02
1036Italy2026-09-09
1037United Kingdom2026-09-24
1038Australia2026-10-04
1039Canada2026-09-18
1040United Kingdom2026-09-28
1041Spain2026-09-26
1042Argentina2026-10-08
1043Germany2026-09-25
1044Russia2026-09-14
1045Spain2026-09-11
1046Australia2026-09-11
1047Canada2026-09-27
1048United Kingdom2026-09-13
1049Canada2026-09-13

On-Demand Data

NameIdCountryDate
James W Dilliard1000India2026-09-27
Ashley O Gillian1001Japan2026-09-26
Morrow I Gaucho1002Argentina2026-09-26
Arvin K Amigon1003France2026-09-28
Wickens T Amigon1004Canada2026-09-15
Jefferson Y Sergi1005Italy2026-09-16
Kaitlin X Nestle1006Australia2026-10-04
Munro K Bolognia1007Brazil2026-09-10
Clifford Z Vocelka1008Italy2026-09-17
Maisha D Dilliard1009Germany2026-09-16
Arvin L Venere1010Italy2026-09-21
Jones L Albares1011India2026-09-20
Aika H Bolognia1012Argentina2026-09-23
Isabel S Paprocki1013Germany2026-09-15
Isabel H Slusarski1014Brazil2026-09-23
Munro B Nestle1015Italy2026-09-23
Mujtaba F Rulapaugh1016Argentina2026-09-17
Leon E Caudy1017Australia2026-09-26
Costa Y Figeroa1018Spain2026-09-30
Isabel V Bolognia1019Spain2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem R RoysterBrazilBernardo Dominic NEGOTIATION
Rodrigues H SlusarskiRussiaAnna Fali UNQUALIFIED
Misaki Y GarufiUnited KingdomAmy Elsner QUALIFIED
Julie G StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem J BologniaGermanyAsiya Javayant NEW
Mujtaba Q BologniaBrazilOnyama Limba UNQUALIFIED
Leon A AmigonBrazilBernardo Dominic UNQUALIFIED
Tony D FollerArgentinaIoni Bowcher NEW
Maisha U TollnerBrazilOnyama Limba UNQUALIFIED
Emily O StockhamJapanStephen Shaw NEGOTIATION
Emily P GarufiCanadaXuxue Feng NEGOTIATION
Mujtaba B RulapaughSpainIoni Bowcher QUALIFIED
Johnson X GillianFranceXuxue Feng UNQUALIFIED
Smith C KuskoIndiaAmy Elsner PROPOSAL
Emily J CaudySpainStephen Shaw NEW
Aruna U OldroydBrazilStephen Shaw NEGOTIATION
Maria Y WaycottRussiaIvan Magalhaes QUALIFIED
David F MaletGermanyXuxue Feng QUALIFIED
Misaki N PoquetteFranceBernardo Dominic PROPOSAL
Claire U WaycottBrazilXuxue Feng QUALIFIED
Arvin T SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Adams B RoysterArgentinaAnna Fali QUALIFIED
David E PerinJapanAsiya Javayant QUALIFIED
Jefferson B BologniaJapanIoni Bowcher UNQUALIFIED
Maria X FlosiUnited KingdomElwin Sharvill RENEWAL
Mujtaba W WaycottFranceIvan Magalhaes NEGOTIATION
Aika V BowleyArgentinaAnna Fali NEW
Ivar Z DoeBrazilAmy Elsner UNQUALIFIED
Stacey K FlosiGermanyAmy Elsner NEGOTIATION
Aika F NickaAustraliaXuxue Feng UNQUALIFIED
Jones W StensethGermanyIvan Magalhaes PROPOSAL
Ivar B SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Faith R PerinArgentinaStephen Shaw PROPOSAL
Jeanfrancois E OstroskyGermanyAsiya Javayant RENEWAL
Kadeem T GarufiArgentinaXuxue Feng NEGOTIATION
Morrow J ButtGermanyIvan Magalhaes RENEWAL
Chavez R MorascaArgentinaIoni Bowcher NEGOTIATION
Leon T VenereArgentinaOnyama Limba NEGOTIATION
Adams M BologniaAustraliaOnyama Limba PROPOSAL
Jefferson X WaycottRussiaAmy 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>