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
Rodrigues E DarakjyItalyOnyama Limba UNQUALIFIED
Maisha J GarufiItalyElwin Sharvill PROPOSAL
Greenwood Z DoeRussiaOnyama Limba UNQUALIFIED
Jeanfrancois B DoeUnited KingdomXuxue Feng NEW
Tony C SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Alejandro D GauchoUnited KingdomElwin Sharvill NEGOTIATION
Misaki A VocelkaJapanBernardo Dominic NEW
Stacey Q KuskoGermanyIvan Magalhaes QUALIFIED
Ricardo Z RulapaughArgentinaStephen Shaw NEGOTIATION
Tony A PerinJapanBernardo Dominic UNQUALIFIED
Aditya I SaylorsArgentinaAmy Elsner PROPOSAL
Sinclair J CaudyRussiaStephen Shaw PROPOSAL
Adams Z KuskoBrazilXuxue Feng NEW
Chavez B VocelkaArgentinaBernardo Dominic QUALIFIED
Leja P InouyeItalyIoni Bowcher RENEWAL
Octavia A VenereRussiaAmy Elsner NEW
Kaitlin U PerinGermanyIoni Bowcher RENEWAL
Leon Q DoeFranceAsiya Javayant UNQUALIFIED
David Z DarakjyAustraliaAsiya Javayant PROPOSAL
Claire Y MaletItalyOnyama Limba QUALIFIED
Julie C FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Izzy U ChuiGermanyOnyama Limba UNQUALIFIED
Mayumi O VenereAustraliaElwin Sharvill QUALIFIED
Isabel S CaudyRussiaElwin Sharvill UNQUALIFIED
Claire L WaycottItalyIoni Bowcher UNQUALIFIED
James C TollnerRussiaOnyama Limba NEGOTIATION
Jones O FigeroaItalyBernardo Dominic QUALIFIED
Tony D DoeIndiaXuxue Feng PROPOSAL
Johnson G BowleyArgentinaAmy Elsner PROPOSAL
Mayumi I BowleyFranceOnyama Limba RENEWAL
Greenwood W DilliardBrazilOnyama Limba RENEWAL
Mayumi R DilliardCanadaIoni Bowcher UNQUALIFIED
Johnson K NestleAustraliaAnna Fali UNQUALIFIED
Leja T StockhamAustraliaAnna Fali NEW
Ivar Y AlbaresFranceAnna Fali NEGOTIATION
Costa O InouyeJapanStephen Shaw RENEWAL
Isabel E OldroydGermanyStephen Shaw RENEWAL
Maisha C RimCanadaIvan Magalhaes UNQUALIFIED
Greenwood G AlbaresIndiaElwin Sharvill QUALIFIED
Isabel M BowleyBrazilStephen Shaw NEGOTIATION
Adams C BowleyRussiaIvan Magalhaes QUALIFIED
Antonio H ShinkoIndiaBernardo Dominic NEGOTIATION
Adams P AmigonGermanyAsiya Javayant NEGOTIATION
Stacey P IturbideUnited KingdomAmy Elsner NEGOTIATION
Maisha Z SergiUnited KingdomAmy Elsner PROPOSAL
Kadeem V IturbideSpainXuxue Feng NEGOTIATION
Cody Z MarrierAustraliaElwin Sharvill NEGOTIATION
Leon J SchemmerIndiaAmy Elsner NEW
Wickens L SergiArgentinaIoni Bowcher QUALIFIED
Cody B KolmetzFranceXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore W BologniaIndiaAmy Elsner RENEWAL
Jones G FerenczRussiaIoni Bowcher UNQUALIFIED
Juan L BologniaGermanyAmy Elsner RENEWAL
Claire P MaletCanadaAmy Elsner UNQUALIFIED
Emily N KolmetzFranceIvan Magalhaes QUALIFIED
Morrow K MaletGermanyIvan Magalhaes RENEWAL
Kaitlin P GarufiJapanBernardo Dominic NEW
Nicolas Y IturbideBrazilAnna Fali RENEWAL
Johnson Z WieserCanadaIvan Magalhaes QUALIFIED
Munro M GauchoUnited KingdomIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez P RutaAustralia2026-11-10Truhlar And Truhlar Attys PROPOSAL7Elwin Sharvill
1001Sinclair D GillianRussia2026-10-16Feiner Bros QUALIFIED53Asiya Javayant
1002Jeanfrancois S PerinJapan2026-10-21King, Christopher A Esq NEGOTIATION14Bernardo Dominic
1003Deepesh P FerenczUnited Kingdom2026-11-01Rousseaux, Michael Esq RENEWAL40Bernardo Dominic
1004Jefferson N CampainIndia2026-10-26Commercial Press UNQUALIFIED82Asiya Javayant
1005Mayumi M AmigonAustralia2026-10-26Feiner Bros NEGOTIATION86Anna Fali
1006Rodrigues B DarakjyFrance2026-10-26Commercial Press NEGOTIATION90Ivan Magalhaes
1007Mujtaba V VocelkaJapan2026-10-17Commercial Press NEW47Asiya Javayant
1008Mujtaba W PoquetteIndia2026-11-09King, Christopher A Esq PROPOSAL83Asiya Javayant
1009Morrow T KuskoBrazil2026-11-08Buckley Miller Wright NEW68Amy Elsner
1010Maria T SaylorsAustralia2026-10-28Rousseaux, Michael Esq RENEWAL61Onyama Limba
1011Faith K StockhamJapan2026-10-22Morlong Associates NEGOTIATION76Ivan Magalhaes
1012Murillo M CampainArgentina2026-11-05Rousseaux, Michael Esq PROPOSAL58Onyama Limba
1013Jones T KolmetzBrazil2026-10-15Chemel, James L Cpa UNQUALIFIED94Ioni Bowcher
1014Smith U BologniaCanada2026-10-17King, Christopher A Esq NEGOTIATION44Stephen Shaw
1015Ivar Z VenereSpain2026-11-11Printing Dimensions RENEWAL23Amy Elsner
1016Johnson L IturbideGermany2026-11-11Feiner Bros NEW83Xuxue Feng
1017Arvin J MaletAustralia2026-11-02Feiner Bros NEW80Onyama Limba
1018Cody U BowleyBrazil2026-10-18Rangoni Of Florence NEW36Xuxue Feng
1019Arvin B NestleArgentina2026-11-05Rousseaux, Michael Esq PROPOSAL15Stephen Shaw
1020Leja K MarrierIndia2026-10-28Truhlar And Truhlar Attys RENEWAL31Xuxue Feng
1021Clifford D GillianGermany2026-11-10Rousseaux, Michael Esq NEGOTIATION36Bernardo Dominic
1022Adams H GarufiSpain2026-10-30Feltz Printing Service QUALIFIED70Ivan Magalhaes
1023Faith Y WhobreyJapan2026-10-16Rousseaux, Michael Esq UNQUALIFIED6Stephen Shaw
1024Darci I AlbaresCanada2026-11-04Morlong Associates UNQUALIFIED54Onyama Limba
1025Aditya I OldroydJapan2026-10-31Truhlar And Truhlar Attys QUALIFIED72Bernardo Dominic
1026Emily T ChuiUnited Kingdom2026-10-17Benton, John B Jr PROPOSAL41Onyama Limba
1027Clifford P RutaJapan2026-11-10Commercial Press NEW39Anna Fali
1028Johnson H GlickUnited Kingdom2026-10-31Chanay, Jeffrey A Esq QUALIFIED44Onyama Limba
1029Adams Q MaletCanada2026-10-14Chemel, James L Cpa NEW70Anna Fali
1030Arvin R PerinCanada2026-10-20Feiner Bros NEGOTIATION13Ioni Bowcher
1031Misaki Z MacleadItaly2026-10-25Dorl, James J Esq NEGOTIATION43Bernardo Dominic
1032Faith C CaldareraCanada2026-10-31Feiner Bros NEW80Anna Fali
1033James X TollnerAustralia2026-11-11Truhlar And Truhlar Attys QUALIFIED35Xuxue Feng
1034Aditya F TollnerItaly2026-10-21King, Christopher A Esq PROPOSAL46Anna Fali
1035Aruna Z BologniaUnited Kingdom2026-11-06Chanay, Jeffrey A Esq RENEWAL65Xuxue Feng
1036Ashley L PaprockiUnited Kingdom2026-10-29Truhlar And Truhlar Attys UNQUALIFIED85Bernardo Dominic
1037Wickens C WieserGermany2026-11-10Chanay, Jeffrey A Esq QUALIFIED73Anna Fali
1038Clifford C ChuiFrance2026-11-08King, Christopher A Esq NEGOTIATION23Anna Fali
1039Rodrigues C GillianRussia2026-10-19Benton, John B Jr RENEWAL32Xuxue Feng
1040Francesco Z InouyeItaly2026-10-19Benton, John B Jr NEW16Onyama Limba
1041Octavia L RulapaughAustralia2026-10-20Chanay, Jeffrey A Esq UNQUALIFIED33Onyama Limba
1042Murillo O WaycottBrazil2026-10-17Dorl, James J Esq RENEWAL72Elwin Sharvill
1043Antonio Q GauchoArgentina2026-10-14Benton, John B Jr QUALIFIED92Stephen Shaw
1044James O CampainGermany2026-10-27Dorl, James J Esq QUALIFIED95Ivan Magalhaes
1045Leja V WaycottRussia2026-11-12Dorl, James J Esq RENEWAL85Stephen Shaw
1046Kaitlin G DilliardUnited Kingdom2026-11-01Commercial Press PROPOSAL68Elwin Sharvill
1047Ivar T PaprockiArgentina2026-10-22Feiner Bros UNQUALIFIED57Stephen Shaw
1048Munro I CaldareraSpain2026-11-07Truhlar And Truhlar Attys RENEWAL39Elwin Sharvill
1049Tony G PerinCanada2026-11-01Chemel, James L Cpa RENEWAL18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey Z AlbaresArgentinaAmy Elsner PROPOSAL
Silvio G IturbideUnited KingdomIvan Magalhaes QUALIFIED
Izzy F ShinkoIndiaOnyama Limba RENEWAL
Cody P CaldareraBrazilIvan Magalhaes PROPOSAL
Aika E KolmetzSpainBernardo Dominic UNQUALIFIED
Rodrigues W PerinJapanStephen Shaw PROPOSAL
Adams R GauchoRussiaElwin Sharvill PROPOSAL
Clifford M CampainCanadaXuxue Feng UNQUALIFIED
Kadeem L RimGermanyBernardo Dominic UNQUALIFIED
Ivar P TollnerCanadaXuxue Feng NEGOTIATION
Octavia U FerenczCanadaAnna Fali UNQUALIFIED
Kadeem F ChuiSpainBernardo Dominic QUALIFIED
Ricardo Z GauchoIndiaOnyama Limba RENEWAL
Nicolas I GillianCanadaAnna Fali RENEWAL
Ivar W FollerItalyAsiya Javayant QUALIFIED
Salvatore E RutaItalyOnyama Limba QUALIFIED
Mujtaba P ButtIndiaAnna Fali QUALIFIED
Cody Z GlickItalyAsiya Javayant QUALIFIED
Leja S IturbideRussiaIvan Magalhaes PROPOSAL
Tony G FlosiGermanyIoni Bowcher NEW
Claire R ChuiArgentinaIvan Magalhaes QUALIFIED
Wickens U VenereGermanyAmy Elsner PROPOSAL
Chavez M FigeroaCanadaAnna Fali NEW
Antonio D PerinCanadaIvan Magalhaes UNQUALIFIED
Francesco E OstroskySpainAmy Elsner RENEWAL
Jones D FerenczBrazilOnyama Limba NEW
Murillo U VenereBrazilIvan Magalhaes PROPOSAL
Stacey C DarakjyArgentinaElwin Sharvill PROPOSAL
Deepesh H SchemmerRussiaAnna Fali RENEWAL
Mujtaba Q AmigonItalyIoni Bowcher QUALIFIED
Octavia K PaprockiAustraliaBernardo Dominic RENEWAL
Octavia X BowleyJapanIvan Magalhaes UNQUALIFIED
Arvin X StockhamAustraliaOnyama Limba UNQUALIFIED
Kaitlin K InouyeCanadaXuxue Feng PROPOSAL
Julie K StockhamRussiaOnyama Limba UNQUALIFIED
Juan H ShinkoFranceBernardo Dominic NEGOTIATION
Francesco V GlickGermanyXuxue Feng QUALIFIED
Clifford G SchemmerJapanIvan Magalhaes PROPOSAL
Aruna A MarrierAustraliaAsiya Javayant NEW
Rodrigues Q StockhamAustraliaOnyama Limba PROPOSAL
Johnson J InouyeRussiaIvan Magalhaes QUALIFIED
Francesco P AmigonRussiaAsiya Javayant RENEWAL
Salvatore B SlusarskiUnited KingdomAnna Fali NEGOTIATION
Chavez K SchemmerIndiaAsiya Javayant RENEWAL
Faith D FlosiCanadaXuxue Feng QUALIFIED
Leja H StockhamBrazilIvan Magalhaes UNQUALIFIED
Isabel O WaycottBrazilAnna Fali PROPOSAL
Claire A WaycottAustraliaXuxue Feng RENEWAL
Salvatore F VocelkaJapanIvan Magalhaes RENEWAL
Izzy G TollnerUnited KingdomOnyama Limba QUALIFIED
Frozen Columns
Name
Kaitlin Q Flosi
Leon P Ferencz
Izzy P Nestle
Sinclair V Gaucho
Francesco P Marrier
Munro E Maclead
Jeanfrancois Z Wieser
Aika K Chui
Johnson X Inouye
Leja O Inouye
Darci W Slusarski
Aika B Nicka
Rodrigues C Figeroa
Deepesh L Gaucho
Emily G Nicka
Rodrigues E Venere
Aruna H Gaucho
Cody M Perin
Jefferson Z Gillian
Emily F Gillian
Izzy C Waycott
Silvio W Bowley
Sinclair M Rim
Johnson U Dilliard
Mayumi B Nicka
Ashley H Royster
Mayumi F Campain
Morrow F Chui
Isabel S Paprocki
Wickens O Gillian
Silvio M Doe
Clifford C Malet
Aika K Albares
Kadeem C Chui
Chavez I Figeroa
James Z Bolognia
Aruna I Nestle
Emily P Caldarera
Emily T Rim
Leon P Marrier
Stacey Y Sergi
Jefferson J Malet
Octavia B Nicka
Maria I Ferencz
Leon G Ostrosky
Darci N Bolognia
Ashley P Malet
David I Bowley
Jennifer M Malet
Costa B Malet
IdCountryDate
1000France2026-11-07
1001Brazil2026-10-28
1002France2026-11-02
1003Japan2026-10-22
1004Japan2026-10-28
1005Spain2026-10-29
1006France2026-10-22
1007Russia2026-10-29
1008Japan2026-10-30
1009India2026-10-31
1010Brazil2026-11-01
1011Germany2026-10-27
1012India2026-10-20
1013Brazil2026-10-20
1014Russia2026-11-12
1015United Kingdom2026-10-19
1016Brazil2026-11-12
1017Spain2026-10-17
1018India2026-10-22
1019Argentina2026-11-01
1020Argentina2026-10-30
1021United Kingdom2026-11-11
1022France2026-10-22
1023United Kingdom2026-11-11
1024France2026-11-12
1025Russia2026-11-10
1026Argentina2026-11-10
1027Australia2026-10-28
1028United Kingdom2026-10-31
1029Canada2026-10-25
1030Argentina2026-10-31
1031Spain2026-11-07
1032Spain2026-10-14
1033Italy2026-11-12
1034Australia2026-11-05
1035Italy2026-11-03
1036India2026-11-05
1037Canada2026-10-15
1038India2026-10-14
1039India2026-10-23
1040Germany2026-11-08
1041France2026-11-01
1042Australia2026-10-26
1043Australia2026-10-28
1044Spain2026-11-05
1045Australia2026-10-27
1046France2026-10-27
1047India2026-11-02
1048Germany2026-11-04
1049India2026-11-10

On-Demand Data

NameIdCountryDate
Rodrigues M Tollner1000Italy2026-11-12
Nicolas H Marrier1001United Kingdom2026-10-31
Aditya Z Nicka1002Argentina2026-11-11
Jones O Maclead1003Australia2026-10-25
Greenwood F Malet1004Japan2026-10-21
Tony Y Gaucho1005Germany2026-11-10
Darci V Bolognia1006Australia2026-10-18
Tony F Rulapaugh1007Italy2026-11-12
Darci X Waycott1008Australia2026-10-21
Isabel A Ferencz1009France2026-10-14
Rodrigues T Ostrosky1010Brazil2026-10-17
Mayumi W Flosi1011Spain2026-11-09
Aditya D Bowley1012Japan2026-10-27
Maisha K Sergi1013Argentina2026-10-23
Cody R Waycott1014Russia2026-11-02
Adams M Shinko1015Argentina2026-11-10
Chavez R Glick1016Canada2026-10-19
Jeanfrancois G Venere1017Brazil2026-11-09
Cody W Royster1018Brazil2026-10-22
Stacey W Perin1019India2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair D MaletRussiaStephen Shaw RENEWAL
Adams N SaylorsIndiaAsiya Javayant QUALIFIED
Aika N IturbideGermanyIvan Magalhaes UNQUALIFIED
Mayumi F IturbideSpainIoni Bowcher UNQUALIFIED
Tony A SchemmerUnited KingdomStephen Shaw NEGOTIATION
Aika I RulapaughRussiaBernardo Dominic PROPOSAL
Mayumi Z BriddickUnited KingdomIvan Magalhaes QUALIFIED
Adams V DoeRussiaBernardo Dominic PROPOSAL
Jefferson D WaycottGermanyBernardo Dominic RENEWAL
Mujtaba D MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Jones W WhobreyIndiaBernardo Dominic PROPOSAL
Octavia L CampainArgentinaStephen Shaw RENEWAL
Murillo V StockhamSpainAmy Elsner PROPOSAL
Jones X GillianIndiaBernardo Dominic PROPOSAL
Izzy B CaldareraJapanIvan Magalhaes PROPOSAL
Francesco Z RoysterJapanBernardo Dominic PROPOSAL
Mayumi D BowleyJapanElwin Sharvill NEGOTIATION
Aditya Q GlickRussiaAsiya Javayant RENEWAL
Leja N PaprockiRussiaElwin Sharvill NEW
Stacey R KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens S CampainFranceIvan Magalhaes UNQUALIFIED
Johnson V FollerAustraliaXuxue Feng PROPOSAL
Alejandro E WaycottArgentinaIvan Magalhaes NEGOTIATION
Silvio T GlickFranceIoni Bowcher RENEWAL
Stacey N RulapaughArgentinaAmy Elsner PROPOSAL
Darci C SergiBrazilAsiya Javayant RENEWAL
David I SlusarskiJapanAmy Elsner PROPOSAL
Julie N BowleyBrazilAsiya Javayant UNQUALIFIED
Smith L RoysterFranceXuxue Feng UNQUALIFIED
Greenwood B BowleyUnited KingdomStephen Shaw NEGOTIATION
Johnson D DilliardAustraliaAsiya Javayant NEGOTIATION
Aditya K KolmetzSpainXuxue Feng PROPOSAL
Chavez A SaylorsItalyXuxue Feng NEGOTIATION
Maisha U SaylorsFranceAmy Elsner NEGOTIATION
Clifford G NickaAustraliaBernardo Dominic NEGOTIATION
Kadeem V GarufiIndiaBernardo Dominic RENEWAL
Jennifer I ChuiSpainXuxue Feng PROPOSAL
Murillo X PaprockiBrazilBernardo Dominic QUALIFIED
Jones F OldroydArgentinaBernardo Dominic PROPOSAL
Maria X DoeFranceXuxue 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>