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
Aditya T CaldareraJapanOnyama Limba RENEWAL
Munro H ChuiCanadaIoni Bowcher NEW
Emily T DarakjyBrazilIvan Magalhaes QUALIFIED
Isabel S GauchoSpainIoni Bowcher NEGOTIATION
Nicolas Y StensethIndiaStephen Shaw NEGOTIATION
Darci M VenereRussiaXuxue Feng PROPOSAL
Jefferson W PaprockiFranceAsiya Javayant UNQUALIFIED
Faith E RoysterGermanyIvan Magalhaes UNQUALIFIED
Misaki W StockhamArgentinaBernardo Dominic PROPOSAL
Mujtaba S PaprockiFranceBernardo Dominic UNQUALIFIED
Jefferson R CaldareraBrazilBernardo Dominic QUALIFIED
Johnson V AmigonSpainAsiya Javayant NEW
Johnson Q VocelkaCanadaStephen Shaw NEW
Ashley Q BologniaUnited KingdomAnna Fali UNQUALIFIED
Munro B KuskoRussiaXuxue Feng NEW
Isabel Z FerenczGermanyAmy Elsner PROPOSAL
Murillo I StensethFranceOnyama Limba NEW
Antonio E SchemmerGermanyIoni Bowcher QUALIFIED
Clifford I MorascaUnited KingdomIoni Bowcher NEGOTIATION
Kadeem R AlbaresAustraliaElwin Sharvill NEGOTIATION
Clifford Q SchemmerArgentinaElwin Sharvill QUALIFIED
Silvio J DoeSpainAnna Fali RENEWAL
Jones Z InouyeJapanStephen Shaw QUALIFIED
Costa G OldroydSpainIvan Magalhaes UNQUALIFIED
Ashley Z WieserCanadaIoni Bowcher UNQUALIFIED
Greenwood D DilliardAustraliaBernardo Dominic UNQUALIFIED
Emily G AmigonSpainXuxue Feng QUALIFIED
Morrow L InouyeIndiaStephen Shaw PROPOSAL
Izzy P FerenczCanadaAnna Fali RENEWAL
Smith A FigeroaIndiaAsiya Javayant PROPOSAL
Costa W PerinUnited KingdomXuxue Feng PROPOSAL
Aditya E OldroydBrazilStephen Shaw NEW
Silvio L BowleyJapanXuxue Feng UNQUALIFIED
Morrow C PoquetteItalyAmy Elsner UNQUALIFIED
Jones F PerinIndiaElwin Sharvill RENEWAL
Salvatore S PaprockiBrazilElwin Sharvill NEW
Arvin K FlosiUnited KingdomXuxue Feng QUALIFIED
Costa J MaletAustraliaAnna Fali UNQUALIFIED
Sinclair E BologniaSpainAsiya Javayant RENEWAL
Izzy A KolmetzBrazilAmy Elsner RENEWAL
Jones T OldroydJapanAsiya Javayant UNQUALIFIED
Rodrigues A ButtGermanyAnna Fali RENEWAL
Juan K SlusarskiRussiaBernardo Dominic NEGOTIATION
Faith U KuskoFranceAnna Fali RENEWAL
Arvin E TollnerFranceStephen Shaw QUALIFIED
Adams N RulapaughRussiaAmy Elsner QUALIFIED
Alejandro Y StockhamIndiaElwin Sharvill NEW
Juan D BriddickRussiaAsiya Javayant NEW
Stacey R WaycottIndiaBernardo Dominic QUALIFIED
Morrow G BowleyJapanAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya S MacleadFranceStephen Shaw UNQUALIFIED
Silvio T IturbideFranceAsiya Javayant UNQUALIFIED
Adams A MaletGermanyIvan Magalhaes QUALIFIED
Ricardo H TollnerArgentinaXuxue Feng NEGOTIATION
Arvin Y SlusarskiRussiaBernardo Dominic NEGOTIATION
Mujtaba T AmigonGermanyElwin Sharvill RENEWAL
Misaki S StockhamFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois G RoysterBrazilXuxue Feng QUALIFIED
Leja A SchemmerItalyIvan Magalhaes NEGOTIATION
Maisha R SchemmerArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois I MorascaAustralia2026-09-16Chapman, Ross E Esq QUALIFIED76Onyama Limba
1001Morrow D DarakjyArgentina2026-09-03Chemel, James L Cpa RENEWAL33Stephen Shaw
1002Salvatore D GarufiIndia2026-09-05King, Christopher A Esq NEW23Xuxue Feng
1003Wickens I PerinItaly2026-09-03Truhlar And Truhlar Attys RENEWAL28Ivan Magalhaes
1004Aditya R GillianBrazil2026-09-22Printing Dimensions RENEWAL36Anna Fali
1005Arvin V SaylorsArgentina2026-09-09Morlong Associates RENEWAL96Ivan Magalhaes
1006Izzy O GillianCanada2026-09-12King, Christopher A Esq PROPOSAL58Ivan Magalhaes
1007James T OldroydArgentina2026-09-14Feiner Bros RENEWAL24Ioni Bowcher
1008Aditya T ShinkoJapan2026-09-06Commercial Press NEW1Elwin Sharvill
1009Deepesh C DarakjyCanada2026-09-17Commercial Press UNQUALIFIED12Onyama Limba
1010Murillo I FollerRussia2026-09-15Rousseaux, Michael Esq NEW93Onyama Limba
1011Maria Q NickaAustralia2026-09-12Truhlar And Truhlar Attys QUALIFIED52Ioni Bowcher
1012Ricardo H GarufiArgentina2026-08-31Rousseaux, Michael Esq QUALIFIED80Asiya Javayant
1013Stacey U CaldareraCanada2026-09-13Commercial Press NEW2Amy Elsner
1014Ashley X SaylorsJapan2026-09-04Morlong Associates NEGOTIATION98Ioni Bowcher
1015Clifford Z DoeAustralia2026-09-01Morlong Associates NEGOTIATION77Ioni Bowcher
1016Claire W TollnerRussia2026-09-10Dorl, James J Esq UNQUALIFIED22Bernardo Dominic
1017Julie O WieserJapan2026-09-13Buckley Miller Wright PROPOSAL46Stephen Shaw
1018Smith L OldroydRussia2026-09-29Rangoni Of Florence NEGOTIATION13Amy Elsner
1019Jones U MacleadIndia2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED87Bernardo Dominic
1020Adams C CaldareraRussia2026-09-14Commercial Press PROPOSAL43Asiya Javayant
1021Aruna L WaycottGermany2026-09-17Rangoni Of Florence PROPOSAL7Xuxue Feng
1022Aika E MarrierRussia2026-09-23Benton, John B Jr NEW74Asiya Javayant
1023Ivar P MaletJapan2026-09-17Printing Dimensions NEGOTIATION62Bernardo Dominic
1024Sinclair Z WieserUnited Kingdom2026-09-26Rousseaux, Michael Esq RENEWAL11Asiya Javayant
1025Jefferson R PaprockiGermany2026-09-12Dorl, James J Esq RENEWAL88Asiya Javayant
1026Clifford Z VenereUnited Kingdom2026-09-23Buckley Miller Wright PROPOSAL19Bernardo Dominic
1027Jennifer G ChuiAustralia2026-09-09Chemel, James L Cpa PROPOSAL29Elwin Sharvill
1028Arvin F KolmetzArgentina2026-09-25Commercial Press QUALIFIED54Stephen Shaw
1029Mayumi R StensethItaly2026-09-15Feiner Bros QUALIFIED3Anna Fali
1030David N TollnerGermany2026-09-08Printing Dimensions PROPOSAL21Asiya Javayant
1031Aruna N SaylorsCanada2026-09-14Rangoni Of Florence NEW60Ioni Bowcher
1032Juan A PerinSpain2026-09-08Morlong Associates NEGOTIATION8Elwin Sharvill
1033Kaitlin V PoquetteItaly2026-09-04Chanay, Jeffrey A Esq RENEWAL66Anna Fali
1034Leja O SaylorsFrance2026-09-06Commercial Press RENEWAL5Asiya Javayant
1035Costa U StensethItaly2026-09-03Truhlar And Truhlar Attys PROPOSAL76Ioni Bowcher
1036Deepesh V InouyeAustralia2026-09-16Dorl, James J Esq RENEWAL85Anna Fali
1037Faith P FigeroaJapan2026-09-03King, Christopher A Esq PROPOSAL10Anna Fali
1038Ivar H KolmetzCanada2026-09-01Printing Dimensions NEW2Anna Fali
1039Ashley C MacleadGermany2026-09-27Dorl, James J Esq NEW97Ivan Magalhaes
1040Darci G FlosiJapan2026-09-02Feltz Printing Service QUALIFIED7Bernardo Dominic
1041Juan D PoquetteUnited Kingdom2026-09-11Truhlar And Truhlar Attys RENEWAL93Stephen Shaw
1042Isabel Q OstroskyGermany2026-09-14Rousseaux, Michael Esq PROPOSAL44Ioni Bowcher
1043Kadeem Q RutaAustralia2026-09-06Chemel, James L Cpa PROPOSAL39Amy Elsner
1044Alejandro J GarufiJapan2026-09-11Morlong Associates QUALIFIED35Onyama Limba
1045Morrow T NestleAustralia2026-09-04Morlong Associates NEGOTIATION6Elwin Sharvill
1046Johnson Y GauchoSpain2026-09-18Chemel, James L Cpa PROPOSAL39Asiya Javayant
1047Leja U VocelkaIndia2026-09-20Dorl, James J Esq PROPOSAL97Bernardo Dominic
1048Jefferson I MacleadGermany2026-09-09Dorl, James J Esq NEGOTIATION27Elwin Sharvill
1049Jeanfrancois G CaldareraFrance2026-09-21Chapman, Ross E Esq PROPOSAL27Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Emily B VocelkaAustraliaStephen Shaw QUALIFIED
Deepesh Q MacleadGermanyAmy Elsner RENEWAL
Julie Z SchemmerIndiaBernardo Dominic UNQUALIFIED
Kadeem W BologniaGermanyStephen Shaw RENEWAL
Murillo L WhobreyCanadaAnna Fali RENEWAL
Wickens D MaletAustraliaStephen Shaw NEW
Juan D VenereBrazilXuxue Feng QUALIFIED
Costa H CaudyGermanyIvan Magalhaes PROPOSAL
Stacey T MarrierFranceStephen Shaw NEGOTIATION
Ricardo R ShinkoFranceIvan Magalhaes PROPOSAL
Isabel T SlusarskiAustraliaIvan Magalhaes QUALIFIED
Maria L WaycottCanadaIoni Bowcher PROPOSAL
Julie N ChuiBrazilElwin Sharvill NEGOTIATION
Kadeem N DilliardGermanyOnyama Limba UNQUALIFIED
Stacey G SaylorsIndiaElwin Sharvill UNQUALIFIED
Octavia H GarufiSpainAmy Elsner NEW
Rodrigues E BriddickCanadaAnna Fali NEW
Aika Z NickaAustraliaStephen Shaw RENEWAL
Stacey O GauchoIndiaBernardo Dominic UNQUALIFIED
Arvin D GauchoArgentinaAsiya Javayant RENEWAL
Jeanfrancois U MacleadAustraliaStephen Shaw UNQUALIFIED
Cody S GauchoGermanyIvan Magalhaes QUALIFIED
Rodrigues U StensethBrazilAmy Elsner UNQUALIFIED
Faith X GauchoArgentinaAsiya Javayant NEW
Mayumi E RoysterIndiaIoni Bowcher NEGOTIATION
Smith K SlusarskiIndiaXuxue Feng PROPOSAL
Greenwood C OldroydAustraliaOnyama Limba NEGOTIATION
Deepesh E RimArgentinaOnyama Limba NEW
Julie I GlickUnited KingdomAnna Fali QUALIFIED
Maisha K GauchoArgentinaAsiya Javayant NEGOTIATION
Morrow F SaylorsIndiaIvan Magalhaes PROPOSAL
Jones U FigeroaUnited KingdomAsiya Javayant NEW
Leja U RoysterIndiaOnyama Limba NEW
Isabel K AlbaresFranceAmy Elsner PROPOSAL
Kadeem G ShinkoFranceStephen Shaw RENEWAL
Cody T StensethUnited KingdomXuxue Feng QUALIFIED
Smith O MacleadFranceAmy Elsner RENEWAL
Alejandro R WieserAustraliaXuxue Feng PROPOSAL
Morrow L FlosiSpainAnna Fali RENEWAL
Adams N GillianUnited KingdomAmy Elsner PROPOSAL
Mujtaba P ButtUnited KingdomAsiya Javayant UNQUALIFIED
Smith X SlusarskiFranceXuxue Feng UNQUALIFIED
Ricardo V BowleySpainAsiya Javayant PROPOSAL
Jones H ShinkoArgentinaIoni Bowcher NEGOTIATION
James Q DilliardUnited KingdomOnyama Limba PROPOSAL
Ricardo F ChuiRussiaElwin Sharvill UNQUALIFIED
Greenwood N NickaIndiaAsiya Javayant NEW
Wickens D PerinSpainBernardo Dominic UNQUALIFIED
Juan M CampainBrazilAmy Elsner RENEWAL
Smith H FlosiBrazilAsiya Javayant RENEWAL
Frozen Columns
Name
Chavez J Stockham
Deepesh T Poquette
Ricardo C Doe
Julie S Waycott
Ricardo C Rim
Ashley G Kusko
Mayumi D Caldarera
Mujtaba H Malet
Alejandro Q Maclead
Jefferson B Gaucho
Johnson K Vocelka
Ashley B Bolognia
Johnson G Kolmetz
Murillo U Kusko
Murillo U Royster
Izzy B Garufi
Kadeem L Butt
Stacey D Perin
Mujtaba U Royster
Jefferson B Gaucho
Cody N Oldroyd
Rodrigues U Morasca
Stacey N Campain
Kaitlin W Whobrey
James N Perin
Cody F Amigon
Munro B Foller
Wickens H Campain
Murillo G Iturbide
Juan F Nicka
David L Flosi
Deepesh S Figeroa
Julie F Waycott
Morrow J Darakjy
Morrow C Caldarera
Aditya L Foller
Aditya X Nestle
Jones U Stockham
Misaki A Stockham
Mujtaba R Shinko
Clifford S Garufi
Francesco S Perin
Faith X Albares
Smith W Wieser
Wickens L Garufi
Costa V Perin
Tony J Rulapaugh
Octavia U Albares
Leon Q Nicka
Nicolas E Butt
IdCountryDate
1000Argentina2026-09-21
1001United Kingdom2026-09-13
1002Brazil2026-09-04
1003Canada2026-09-16
1004France2026-09-24
1005Spain2026-09-02
1006Italy2026-09-21
1007India2026-09-28
1008Australia2026-09-19
1009Australia2026-09-27
1010Russia2026-09-04
1011Italy2026-09-26
1012United Kingdom2026-09-14
1013Germany2026-09-23
1014Brazil2026-09-09
1015Argentina2026-09-19
1016India2026-09-20
1017United Kingdom2026-09-21
1018Canada2026-09-04
1019United Kingdom2026-09-16
1020Germany2026-09-03
1021Germany2026-09-12
1022Argentina2026-09-06
1023Argentina2026-09-05
1024Russia2026-09-09
1025Australia2026-09-04
1026Canada2026-09-12
1027India2026-09-18
1028France2026-09-28
1029Canada2026-09-03
1030Argentina2026-09-11
1031Spain2026-09-03
1032Australia2026-09-28
1033Argentina2026-09-02
1034Australia2026-09-28
1035Japan2026-09-20
1036Russia2026-09-14
1037Spain2026-09-26
1038India2026-09-20
1039Brazil2026-09-17
1040Canada2026-09-04
1041Brazil2026-09-20
1042Argentina2026-09-24
1043France2026-09-05
1044Australia2026-09-13
1045Italy2026-09-25
1046Brazil2026-09-26
1047India2026-09-24
1048Argentina2026-09-04
1049Italy2026-09-21

On-Demand Data

NameIdCountryDate
David I Butt1000Brazil2026-09-03
Aruna O Albares1001Germany2026-09-24
Ashley P Caudy1002Spain2026-09-15
Nicolas T Ferencz1003Canada2026-09-01
Aika E Whobrey1004Germany2026-09-22
Munro F Wieser1005Brazil2026-09-26
Leon R Glick1006Italy2026-09-18
Wickens H Garufi1007Argentina2026-09-19
Antonio K Saylors1008Russia2026-09-04
Kadeem Q Morasca1009Australia2026-09-11
Jones E Glick1010Germany2026-09-14
Murillo Y Butt1011Germany2026-09-01
Misaki P Gaucho1012India2026-09-01
Leon A Butt1013Russia2026-09-02
Morrow M Kusko1014Argentina2026-09-17
Aika U Rim1015Russia2026-09-20
Alejandro W Schemmer1016France2026-09-28
Chavez K Darakjy1017India2026-08-31
Francesco Z Dilliard1018India2026-09-20
Jefferson G Amigon1019Germany2026-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika R VenereUnited KingdomStephen Shaw PROPOSAL
Clifford O ButtGermanyBernardo Dominic RENEWAL
Salvatore F WhobreyGermanyAmy Elsner QUALIFIED
Rodrigues E MorascaBrazilAsiya Javayant PROPOSAL
Jennifer E FigeroaAustraliaIvan Magalhaes RENEWAL
Aditya B SergiAustraliaXuxue Feng PROPOSAL
Smith S PoquetteAustraliaAmy Elsner NEW
Rodrigues I FerenczRussiaAmy Elsner RENEWAL
Kadeem Z ShinkoArgentinaBernardo Dominic QUALIFIED
Ivar V TollnerArgentinaElwin Sharvill UNQUALIFIED
Salvatore G ChuiUnited KingdomAsiya Javayant NEGOTIATION
Cody Y BriddickCanadaBernardo Dominic UNQUALIFIED
Mayumi R ChuiItalyAnna Fali QUALIFIED
Maria Y SergiCanadaIvan Magalhaes NEGOTIATION
Faith W SaylorsBrazilIoni Bowcher NEGOTIATION
Faith W DilliardSpainElwin Sharvill PROPOSAL
Nicolas F GillianUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair H AmigonItalyAmy Elsner QUALIFIED
Jennifer G VenereCanadaStephen Shaw UNQUALIFIED
Tony E StockhamIndiaBernardo Dominic RENEWAL
Ricardo P ShinkoArgentinaXuxue Feng PROPOSAL
Juan M MacleadItalyAsiya Javayant NEGOTIATION
Claire O SergiJapanIoni Bowcher RENEWAL
Claire S BologniaJapanIvan Magalhaes PROPOSAL
Smith N RoysterIndiaAsiya Javayant NEW
Mayumi X ButtSpainAmy Elsner RENEWAL
Sinclair R CaudyBrazilElwin Sharvill QUALIFIED
Ivar K SchemmerFranceAsiya Javayant QUALIFIED
Ricardo K KolmetzAustraliaXuxue Feng PROPOSAL
Smith I WhobreyArgentinaStephen Shaw UNQUALIFIED
Leja I KuskoJapanAnna Fali UNQUALIFIED
Aditya R FigeroaJapanElwin Sharvill PROPOSAL
Izzy N BologniaUnited KingdomAsiya Javayant QUALIFIED
Cody V SlusarskiFranceIoni Bowcher PROPOSAL
Munro J ButtRussiaIvan Magalhaes QUALIFIED
Costa A SlusarskiRussiaXuxue Feng QUALIFIED
Octavia H MacleadGermanyBernardo Dominic NEGOTIATION
Ivar C AlbaresSpainXuxue Feng UNQUALIFIED
Alejandro D SlusarskiFranceAmy Elsner NEGOTIATION
Stacey X RoysterSpainElwin Sharvill UNQUALIFIED

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