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
Chavez H ChuiUnited KingdomAmy Elsner RENEWAL
Wickens X CaldareraItalyAmy Elsner RENEWAL
Sinclair W VenereSpainStephen Shaw PROPOSAL
Ricardo L FlosiSpainBernardo Dominic RENEWAL
Leja J CaudyGermanyAmy Elsner NEGOTIATION
Ricardo R GarufiJapanXuxue Feng QUALIFIED
Ricardo L BowleyRussiaAmy Elsner NEW
Francesco W MarrierAustraliaStephen Shaw PROPOSAL
Aditya C WhobreyUnited KingdomAmy Elsner NEW
Julie R BriddickArgentinaIoni Bowcher PROPOSAL
Faith O DoeIndiaElwin Sharvill UNQUALIFIED
Alejandro W AlbaresBrazilXuxue Feng NEW
Juan D PaprockiAustraliaBernardo Dominic NEGOTIATION
Tony L MorascaUnited KingdomXuxue Feng NEW
Costa M CaldareraArgentinaAnna Fali NEW
Antonio R RulapaughFranceAnna Fali PROPOSAL
Cody A BowleyFranceStephen Shaw NEW
Leon E FigeroaFranceBernardo Dominic NEGOTIATION
Jennifer E CampainItalyStephen Shaw PROPOSAL
Jeanfrancois B PaprockiUnited KingdomStephen Shaw RENEWAL
Maria U GillianIndiaStephen Shaw QUALIFIED
Deepesh V CaldareraCanadaAsiya Javayant RENEWAL
Faith T CaldareraItalyBernardo Dominic QUALIFIED
Cody N CaudyCanadaXuxue Feng NEGOTIATION
Salvatore T BowleyItalyXuxue Feng QUALIFIED
Jennifer R ButtAustraliaAnna Fali UNQUALIFIED
Kaitlin Q DoeAustraliaElwin Sharvill NEW
Emily F CampainSpainAmy Elsner RENEWAL
David A BowleyAustraliaAmy Elsner PROPOSAL
Munro U BriddickBrazilAnna Fali NEGOTIATION
Greenwood N BriddickAustraliaIvan Magalhaes NEGOTIATION
Aika Q AlbaresArgentinaAnna Fali NEW
Darci P TollnerGermanyElwin Sharvill RENEWAL
Arvin H OldroydIndiaStephen Shaw RENEWAL
Ricardo B PoquetteArgentinaElwin Sharvill RENEWAL
Wickens U GarufiArgentinaBernardo Dominic QUALIFIED
Adams N RulapaughRussiaBernardo Dominic UNQUALIFIED
James B GauchoJapanStephen Shaw NEGOTIATION
Maisha Z ShinkoAustraliaAsiya Javayant PROPOSAL
Tony R TollnerItalyElwin Sharvill RENEWAL
Maria U DoeFranceIoni Bowcher NEW
Wickens B BologniaArgentinaXuxue Feng QUALIFIED
Chavez Z AlbaresCanadaAmy Elsner RENEWAL
Aditya E BologniaBrazilIoni Bowcher PROPOSAL
David N ChuiItalyBernardo Dominic QUALIFIED
Jeanfrancois X CaudyBrazilAnna Fali NEGOTIATION
Francesco K ButtArgentinaAsiya Javayant QUALIFIED
Munro B ButtJapanIvan Magalhaes QUALIFIED
Kaitlin L RoysterJapanElwin Sharvill NEGOTIATION
Stacey X MaletSpainIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow S StockhamFranceXuxue Feng UNQUALIFIED
Alejandro C PerinIndiaOnyama Limba QUALIFIED
Jefferson Y RoysterAustraliaIvan Magalhaes QUALIFIED
Emily Q GillianItalyAnna Fali NEW
Izzy Y SchemmerJapanOnyama Limba RENEWAL
Maisha U AlbaresItalyIoni Bowcher QUALIFIED
Juan X FlosiSpainElwin Sharvill NEGOTIATION
Arvin H VenereAustraliaAsiya Javayant RENEWAL
Silvio T GauchoCanadaAnna Fali UNQUALIFIED
Maisha H MaletAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro S BowleyRussia2026-10-06Chemel, James L Cpa QUALIFIED82Elwin Sharvill
1001Leja W PaprockiCanada2026-10-12King, Christopher A Esq RENEWAL4Onyama Limba
1002Ivar M FlosiIndia2026-10-06Rousseaux, Michael Esq PROPOSAL44Elwin Sharvill
1003Kaitlin D StockhamJapan2026-10-29King, Christopher A Esq QUALIFIED2Elwin Sharvill
1004Salvatore Z MaletGermany2026-10-14Printing Dimensions PROPOSAL19Bernardo Dominic
1005Costa S FerenczUnited Kingdom2026-10-10Printing Dimensions UNQUALIFIED97Bernardo Dominic
1006James E BologniaAustralia2026-10-12Feltz Printing Service RENEWAL35Ioni Bowcher
1007Smith M OldroydUnited Kingdom2026-10-30Chanay, Jeffrey A Esq RENEWAL83Elwin Sharvill
1008Faith A MarrierUnited Kingdom2026-10-08Commercial Press NEW74Ioni Bowcher
1009Aika E PaprockiUnited Kingdom2026-11-04Truhlar And Truhlar Attys NEW63Elwin Sharvill
1010Leja I FerenczItaly2026-10-26Morlong Associates PROPOSAL13Xuxue Feng
1011Alejandro P GillianSpain2026-10-17Printing Dimensions UNQUALIFIED44Bernardo Dominic
1012Costa Y CaudyUnited Kingdom2026-10-06Benton, John B Jr NEGOTIATION22Xuxue Feng
1013Smith L AlbaresAustralia2026-11-03Rangoni Of Florence NEGOTIATION96Asiya Javayant
1014Julie D CaldareraRussia2026-11-02Commercial Press NEW45Bernardo Dominic
1015Izzy L DarakjyRussia2026-10-07Rousseaux, Michael Esq NEGOTIATION76Anna Fali
1016Smith F ShinkoGermany2026-10-25Feiner Bros RENEWAL87Xuxue Feng
1017Clifford S CaldareraItaly2026-10-30Rousseaux, Michael Esq RENEWAL34Asiya Javayant
1018Ivar K WieserArgentina2026-10-11Commercial Press QUALIFIED26Ioni Bowcher
1019James O GauchoSpain2026-11-01Feiner Bros QUALIFIED82Anna Fali
1020Sinclair R DarakjySpain2026-10-13Benton, John B Jr RENEWAL96Anna Fali
1021Salvatore I DilliardCanada2026-10-08Dorl, James J Esq PROPOSAL14Asiya Javayant
1022Ricardo F GarufiRussia2026-10-24Truhlar And Truhlar Attys RENEWAL11Asiya Javayant
1023Nicolas S BowleyArgentina2026-10-24Chemel, James L Cpa RENEWAL27Anna Fali
1024Kadeem X ChuiCanada2026-10-28Dorl, James J Esq QUALIFIED48Ivan Magalhaes
1025Rodrigues O VocelkaUnited Kingdom2026-10-08King, Christopher A Esq PROPOSAL88Xuxue Feng
1026Jeanfrancois N WhobreyCanada2026-10-13Printing Dimensions RENEWAL82Asiya Javayant
1027Sinclair Z MaletFrance2026-10-18Benton, John B Jr NEGOTIATION61Asiya Javayant
1028Aruna L KolmetzIndia2026-10-14Buckley Miller Wright UNQUALIFIED53Stephen Shaw
1029Adams P FerenczRussia2026-10-31Rousseaux, Michael Esq NEW76Amy Elsner
1030Faith P FerenczAustralia2026-10-18Truhlar And Truhlar Attys NEGOTIATION26Xuxue Feng
1031Jefferson B FlosiJapan2026-10-10Rangoni Of Florence RENEWAL52Ioni Bowcher
1032Aditya V RimIndia2026-10-07King, Christopher A Esq PROPOSAL80Elwin Sharvill
1033Morrow V WieserAustralia2026-10-07Truhlar And Truhlar Attys QUALIFIED62Ivan Magalhaes
1034Emily L FlosiItaly2026-10-16Feltz Printing Service UNQUALIFIED63Amy Elsner
1035Darci C GauchoArgentina2026-10-11Chanay, Jeffrey A Esq NEGOTIATION29Onyama Limba
1036Cody K GauchoGermany2026-10-20King, Christopher A Esq PROPOSAL99Asiya Javayant
1037Costa L IturbideGermany2026-10-11Truhlar And Truhlar Attys NEGOTIATION49Anna Fali
1038Maria U GarufiUnited Kingdom2026-11-04Printing Dimensions UNQUALIFIED9Asiya Javayant
1039Johnson A NestleFrance2026-10-15Chapman, Ross E Esq NEW94Anna Fali
1040Morrow S FigeroaGermany2026-10-10Rousseaux, Michael Esq RENEWAL51Onyama Limba
1041Octavia M CampainUnited Kingdom2026-10-21Feiner Bros NEW18Amy Elsner
1042Sinclair L VenereCanada2026-10-30Chapman, Ross E Esq NEGOTIATION96Onyama Limba
1043Darci C PerinRussia2026-10-20Feiner Bros NEW33Anna Fali
1044Rodrigues N MarrierBrazil2026-10-26Feiner Bros PROPOSAL90Onyama Limba
1045Alejandro H FollerJapan2026-10-20Rousseaux, Michael Esq RENEWAL33Bernardo Dominic
1046Cody O OstroskyJapan2026-10-27Feiner Bros PROPOSAL59Xuxue Feng
1047Faith X NestleJapan2026-10-10Chemel, James L Cpa NEGOTIATION34Ioni Bowcher
1048Salvatore Q PoquetteJapan2026-10-14Dorl, James J Esq UNQUALIFIED74Stephen Shaw
1049Jefferson P SlusarskiArgentina2026-10-27Feiner Bros QUALIFIED22Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maria O StensethRussiaAsiya Javayant NEW
Johnson J WieserRussiaBernardo Dominic QUALIFIED
Johnson C PaprockiItalyOnyama Limba NEGOTIATION
Misaki O CaldareraJapanIvan Magalhaes QUALIFIED
Jones V SlusarskiGermanyAmy Elsner PROPOSAL
Adams S SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Ivar T RoysterItalyIoni Bowcher UNQUALIFIED
Adams Q FlosiCanadaOnyama Limba NEGOTIATION
Mujtaba D DarakjyFranceOnyama Limba QUALIFIED
Sinclair A TollnerJapanIvan Magalhaes QUALIFIED
Jefferson G WieserGermanyAmy Elsner RENEWAL
Misaki Y StockhamAustraliaOnyama Limba NEW
Costa W PerinUnited KingdomBernardo Dominic PROPOSAL
Izzy C InouyeGermanyElwin Sharvill RENEWAL
Claire S KolmetzIndiaIvan Magalhaes NEGOTIATION
Clifford I MaletBrazilStephen Shaw UNQUALIFIED
Munro U FigeroaSpainXuxue Feng UNQUALIFIED
Cody K NickaGermanyIoni Bowcher PROPOSAL
Francesco L SergiFranceOnyama Limba NEGOTIATION
Aditya F WaycottJapanIoni Bowcher PROPOSAL
Rodrigues G SlusarskiItalyIvan Magalhaes UNQUALIFIED
Maisha D RulapaughFranceAmy Elsner NEW
Chavez R SchemmerItalyOnyama Limba UNQUALIFIED
Ricardo P FollerRussiaOnyama Limba UNQUALIFIED
Morrow O PerinJapanXuxue Feng NEW
Stacey W StensethJapanBernardo Dominic RENEWAL
Julie Q StensethSpainAsiya Javayant RENEWAL
Ricardo U WhobreyFranceIoni Bowcher NEGOTIATION
Greenwood I InouyeItalyAsiya Javayant NEW
Francesco P NestleCanadaOnyama Limba PROPOSAL
Aruna H WieserIndiaOnyama Limba QUALIFIED
Claire I IturbideAustraliaAmy Elsner RENEWAL
Stacey F KolmetzUnited KingdomAmy Elsner PROPOSAL
Silvio L AlbaresBrazilIoni Bowcher PROPOSAL
Juan F StensethItalyBernardo Dominic RENEWAL
Ashley W NestleBrazilXuxue Feng PROPOSAL
Mayumi D GarufiArgentinaAnna Fali NEGOTIATION
James C GarufiArgentinaIvan Magalhaes UNQUALIFIED
Maria V CaldareraFranceAnna Fali NEGOTIATION
Leon S DilliardRussiaOnyama Limba NEGOTIATION
Sinclair F DilliardAustraliaElwin Sharvill RENEWAL
Deepesh V FlosiArgentinaBernardo Dominic QUALIFIED
Leon R VenereBrazilIoni Bowcher UNQUALIFIED
Ricardo X WhobreyJapanAsiya Javayant NEW
Mayumi A RoysterArgentinaStephen Shaw NEW
Claire H CampainSpainAsiya Javayant RENEWAL
Antonio F SaylorsItalyBernardo Dominic RENEWAL
Nicolas M GarufiGermanyXuxue Feng PROPOSAL
Kadeem P FerenczCanadaAmy Elsner PROPOSAL
Juan D CaudyArgentinaXuxue Feng RENEWAL
Frozen Columns
Name
Ashley C Chui
Chavez R Garufi
Stacey U Ruta
Aika L Garufi
Kaitlin S Saylors
Aditya U Kusko
Mayumi R Caldarera
Aika W Maclead
Cody U Whobrey
Clifford N Wieser
Stacey R Butt
Rodrigues H Garufi
Leja P Nestle
Kaitlin Z Slusarski
Salvatore Z Ostrosky
Arvin R Albares
Costa Z Morasca
Sinclair U Ruta
Murillo P Schemmer
Kadeem K Rulapaugh
Morrow N Flosi
Silvio R Figeroa
Greenwood M Morasca
Maria M Garufi
Leja T Waycott
Emily P Waycott
Arvin C Ruta
Ivar R Kusko
Deepesh V Iturbide
Greenwood A Maclead
Tony G Ferencz
Kaitlin O Tollner
Sinclair C Venere
Alejandro M Kolmetz
Cody P Butt
Alejandro H Rulapaugh
Clifford V Stenseth
Smith D Rim
Costa M Ferencz
Jefferson A Iturbide
Johnson H Stenseth
Mayumi O Waycott
Juan K Schemmer
Izzy I Bolognia
Isabel E Amigon
Leon Q Maclead
Deepesh P Bowley
Misaki H Morasca
Cody D Iturbide
Kaitlin H Morasca
IdCountryDate
1000Italy2026-10-18
1001Australia2026-11-01
1002Japan2026-11-02
1003Germany2026-10-13
1004Germany2026-10-21
1005Australia2026-10-06
1006Italy2026-10-19
1007United Kingdom2026-10-11
1008France2026-10-29
1009Argentina2026-10-29
1010Italy2026-10-16
1011Italy2026-10-31
1012Germany2026-10-25
1013Brazil2026-10-11
1014Canada2026-10-24
1015Italy2026-10-20
1016Germany2026-10-27
1017Italy2026-10-18
1018Germany2026-10-25
1019United Kingdom2026-10-22
1020Germany2026-11-03
1021Japan2026-10-27
1022Argentina2026-10-20
1023Japan2026-10-18
1024Spain2026-10-24
1025Argentina2026-10-20
1026United Kingdom2026-10-07
1027Australia2026-10-29
1028United Kingdom2026-10-25
1029Australia2026-10-31
1030Australia2026-10-13
1031Italy2026-10-23
1032Argentina2026-10-10
1033Spain2026-10-13
1034Canada2026-10-27
1035Japan2026-10-26
1036Argentina2026-11-04
1037United Kingdom2026-10-17
1038Japan2026-10-13
1039Argentina2026-11-03
1040Spain2026-10-29
1041Italy2026-10-21
1042Brazil2026-11-04
1043India2026-10-18
1044Australia2026-10-13
1045France2026-10-11
1046Canada2026-10-18
1047Spain2026-10-29
1048Russia2026-10-08
1049Australia2026-10-12

On-Demand Data

NameIdCountryDate
Ivar M Slusarski1000United Kingdom2026-10-20
Maria R Schemmer1001Argentina2026-10-06
Ricardo D Darakjy1002Brazil2026-11-01
Jeanfrancois Y Nicka1003Italy2026-10-30
Maria Q Perin1004Brazil2026-11-01
Aditya W Ostrosky1005India2026-10-24
Mujtaba E Briddick1006Germany2026-10-23
Francesco O Gillian1007Japan2026-10-06
Emily I Flosi1008Japan2026-10-18
Claire J Inouye1009United Kingdom2026-11-02
Ashley Z Albares1010Spain2026-10-28
Octavia J Perin1011Japan2026-10-06
Juan W Slusarski1012Germany2026-10-30
Izzy E Kolmetz1013France2026-10-07
Silvio P Venere1014Spain2026-10-14
Izzy H Stockham1015Germany2026-10-20
Chavez A Iturbide1016Japan2026-10-24
Costa Y Schemmer1017Japan2026-10-28
Maria W Schemmer1018Brazil2026-10-23
Murillo W Sergi1019Italy2026-11-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo V FerenczFranceAsiya Javayant QUALIFIED
Mujtaba P SchemmerUnited KingdomElwin Sharvill QUALIFIED
Silvio N ChuiGermanyStephen Shaw NEGOTIATION
Jennifer T MarrierSpainStephen Shaw PROPOSAL
James Y OldroydJapanStephen Shaw PROPOSAL
Rodrigues J VocelkaJapanBernardo Dominic RENEWAL
Emily L GlickArgentinaBernardo Dominic RENEWAL
Murillo O VocelkaBrazilAmy Elsner QUALIFIED
Kaitlin O SchemmerCanadaIvan Magalhaes NEGOTIATION
Octavia G FerenczRussiaXuxue Feng RENEWAL
Johnson W BowleyRussiaBernardo Dominic QUALIFIED
Jones J KolmetzJapanElwin Sharvill QUALIFIED
Sinclair O WieserRussiaIvan Magalhaes UNQUALIFIED
Darci H StockhamItalyIvan Magalhaes NEGOTIATION
Cody V InouyeUnited KingdomBernardo Dominic NEGOTIATION
Mayumi F MaletBrazilBernardo Dominic NEW
Aditya Z StockhamFranceIoni Bowcher QUALIFIED
Darci X CaudyIndiaStephen Shaw RENEWAL
Arvin J BowleyAustraliaAsiya Javayant QUALIFIED
Jones O MacleadBrazilBernardo Dominic NEGOTIATION
Clifford F DarakjyArgentinaXuxue Feng PROPOSAL
Aika U DoeCanadaOnyama Limba PROPOSAL
Maria O PerinBrazilOnyama Limba RENEWAL
Faith S KuskoItalyAnna Fali PROPOSAL
Maria D SaylorsCanadaIoni Bowcher NEGOTIATION
Costa R DilliardJapanElwin Sharvill RENEWAL
Antonio L CaudySpainOnyama Limba UNQUALIFIED
Claire E MorascaArgentinaIoni Bowcher NEW
Sinclair H DarakjyCanadaXuxue Feng NEGOTIATION
Francesco Z NickaCanadaElwin Sharvill NEW
Leja J WhobreyFranceXuxue Feng NEGOTIATION
Ashley H RimIndiaStephen Shaw RENEWAL
Morrow C GlickRussiaXuxue Feng NEGOTIATION
Isabel L AlbaresCanadaAsiya Javayant NEGOTIATION
Salvatore P CaldareraCanadaAmy Elsner PROPOSAL
Chavez N GauchoFranceIoni Bowcher UNQUALIFIED
Jones W BriddickArgentinaAsiya Javayant QUALIFIED
Isabel F WieserSpainXuxue Feng UNQUALIFIED
Octavia R DilliardRussiaAmy Elsner NEW
Deepesh S SlusarskiBrazilAmy Elsner NEGOTIATION

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