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
Greenwood N StockhamGermanyAsiya Javayant NEW
Smith H CaudyFranceXuxue Feng RENEWAL
Leja Q VenereFranceXuxue Feng NEGOTIATION
David A SlusarskiJapanAmy Elsner RENEWAL
Greenwood O FigeroaSpainAsiya Javayant PROPOSAL
Leja H OstroskyBrazilOnyama Limba QUALIFIED
Salvatore O GauchoSpainIvan Magalhaes RENEWAL
Aika O AmigonIndiaElwin Sharvill PROPOSAL
Tony T AlbaresBrazilOnyama Limba PROPOSAL
Kaitlin R PoquetteRussiaAmy Elsner RENEWAL
Salvatore I BowleyUnited KingdomAnna Fali RENEWAL
Jeanfrancois K BologniaIndiaAsiya Javayant QUALIFIED
Mujtaba Q WhobreyRussiaAnna Fali NEGOTIATION
Octavia N RimBrazilIvan Magalhaes NEW
Johnson K AlbaresFranceAsiya Javayant RENEWAL
Munro Q KolmetzJapanIoni Bowcher RENEWAL
Leon W RulapaughSpainAsiya Javayant NEGOTIATION
Johnson R ButtFranceXuxue Feng RENEWAL
Adams C VenereAustraliaStephen Shaw PROPOSAL
Faith D RoysterArgentinaStephen Shaw RENEWAL
Leja I MaletJapanBernardo Dominic NEGOTIATION
Nicolas G DilliardFranceElwin Sharvill RENEWAL
Cody E BriddickArgentinaAsiya Javayant RENEWAL
Misaki K WieserItalyElwin Sharvill NEGOTIATION
Mujtaba J ShinkoFranceOnyama Limba NEW
Jefferson R SergiCanadaIvan Magalhaes UNQUALIFIED
Faith T ChuiBrazilAnna Fali QUALIFIED
Darci I SaylorsItalyXuxue Feng PROPOSAL
Francesco Z CaldareraIndiaBernardo Dominic NEW
Octavia Y SergiBrazilIoni Bowcher RENEWAL
Murillo Y DarakjyFranceAsiya Javayant QUALIFIED
Cody C IturbideRussiaXuxue Feng PROPOSAL
Leon Q InouyeUnited KingdomXuxue Feng QUALIFIED
Adams D FollerItalyAmy Elsner RENEWAL
Francesco G FollerIndiaStephen Shaw RENEWAL
Emily Q ShinkoAustraliaOnyama Limba QUALIFIED
Costa O CaudyAustraliaElwin Sharvill PROPOSAL
Ricardo V PaprockiGermanyOnyama Limba PROPOSAL
Izzy K GillianRussiaIoni Bowcher PROPOSAL
Kaitlin R RutaJapanAmy Elsner QUALIFIED
Tony X DarakjyUnited KingdomAsiya Javayant NEW
Mujtaba F StensethJapanElwin Sharvill UNQUALIFIED
Octavia N StensethIndiaElwin Sharvill RENEWAL
Faith J SaylorsRussiaAnna Fali PROPOSAL
Izzy G MaletSpainStephen Shaw NEW
Julie I TollnerUnited KingdomIvan Magalhaes RENEWAL
Izzy K DoeArgentinaIoni Bowcher PROPOSAL
Faith H MacleadFranceBernardo Dominic UNQUALIFIED
Clifford P NickaUnited KingdomOnyama Limba PROPOSAL
Darci F CaudyGermanyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily E KuskoSpainAmy Elsner QUALIFIED
Arvin L OstroskyBrazilBernardo Dominic NEGOTIATION
Nicolas F MarrierCanadaIoni Bowcher NEGOTIATION
Smith L GillianUnited KingdomXuxue Feng NEGOTIATION
Sinclair M FigeroaIndiaStephen Shaw QUALIFIED
Smith J BowleyRussiaIvan Magalhaes NEW
Arvin X DoeGermanyStephen Shaw PROPOSAL
Tony S GillianSpainAmy Elsner NEGOTIATION
Clifford H MacleadUnited KingdomAsiya Javayant NEW
Francesco V InouyeCanadaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon C SaylorsArgentina2026-10-10Feltz Printing Service PROPOSAL40Stephen Shaw
1001Francesco F MorascaUnited Kingdom2026-10-10Benton, John B Jr PROPOSAL37Bernardo Dominic
1002Greenwood E GlickAustralia2026-10-10Feiner Bros RENEWAL24Ivan Magalhaes
1003Clifford Y AlbaresIndia2026-10-29Chapman, Ross E Esq RENEWAL0Ioni Bowcher
1004Jones V PaprockiUnited Kingdom2026-10-08Chanay, Jeffrey A Esq NEW89Xuxue Feng
1005Arvin Z StensethItaly2026-10-08Buckley Miller Wright QUALIFIED1Anna Fali
1006Isabel U RimSpain2026-10-15Morlong Associates RENEWAL93Xuxue Feng
1007Emily R FollerArgentina2026-10-23Buckley Miller Wright UNQUALIFIED76Stephen Shaw
1008Wickens R StensethItaly2026-10-14Rousseaux, Michael Esq RENEWAL38Onyama Limba
1009Wickens D PaprockiIndia2026-10-25Feiner Bros NEW63Asiya Javayant
1010Tony H AmigonUnited Kingdom2026-10-27King, Christopher A Esq NEGOTIATION46Anna Fali
1011Maisha M GauchoArgentina2026-11-02Feiner Bros QUALIFIED28Xuxue Feng
1012Chavez V VocelkaBrazil2026-10-07Feiner Bros QUALIFIED24Ioni Bowcher
1013Aika Q SlusarskiFrance2026-10-28Rousseaux, Michael Esq UNQUALIFIED45Ioni Bowcher
1014Aruna J CaldareraUnited Kingdom2026-10-29Chanay, Jeffrey A Esq RENEWAL48Anna Fali
1015Morrow W VenereIndia2026-10-23Buckley Miller Wright UNQUALIFIED42Bernardo Dominic
1016Rodrigues D DoeGermany2026-10-24Rousseaux, Michael Esq QUALIFIED52Elwin Sharvill
1017Rodrigues Z GauchoJapan2026-10-09Feiner Bros UNQUALIFIED5Asiya Javayant
1018Morrow P InouyeSpain2026-10-26Printing Dimensions UNQUALIFIED30Amy Elsner
1019Nicolas T StensethItaly2026-10-30Chemel, James L Cpa QUALIFIED17Amy Elsner
1020Tony S VocelkaCanada2026-10-26King, Christopher A Esq PROPOSAL43Ioni Bowcher
1021Antonio V SaylorsJapan2026-10-21Chemel, James L Cpa RENEWAL46Ivan Magalhaes
1022Aruna I DarakjyCanada2026-10-16Dorl, James J Esq PROPOSAL48Amy Elsner
1023Francesco K IturbideCanada2026-11-03Printing Dimensions NEW79Stephen Shaw
1024Octavia V AmigonUnited Kingdom2026-10-26Chemel, James L Cpa PROPOSAL24Amy Elsner
1025Misaki X KolmetzArgentina2026-10-12Benton, John B Jr NEW67Asiya Javayant
1026Cody H WieserAustralia2026-10-21Chanay, Jeffrey A Esq UNQUALIFIED90Bernardo Dominic
1027Murillo F PoquetteUnited Kingdom2026-10-28King, Christopher A Esq NEGOTIATION5Stephen Shaw
1028Mujtaba B GlickRussia2026-10-05Feiner Bros QUALIFIED14Bernardo Dominic
1029James E WhobreyFrance2026-11-01Feiner Bros PROPOSAL27Onyama Limba
1030Antonio C DoeJapan2026-10-20Chanay, Jeffrey A Esq UNQUALIFIED8Stephen Shaw
1031Chavez Z FollerFrance2026-10-05Chemel, James L Cpa PROPOSAL74Anna Fali
1032Stacey X FigeroaIndia2026-10-25Rangoni Of Florence NEW36Anna Fali
1033Misaki V WieserArgentina2026-10-05Rangoni Of Florence RENEWAL1Elwin Sharvill
1034Octavia C TollnerCanada2026-10-08Buckley Miller Wright NEGOTIATION55Ioni Bowcher
1035Salvatore F AmigonAustralia2026-10-31Commercial Press NEW16Anna Fali
1036Maisha C TollnerItaly2026-10-31Benton, John B Jr RENEWAL29Stephen Shaw
1037Greenwood T PerinGermany2026-10-05Truhlar And Truhlar Attys NEW22Amy Elsner
1038Aruna L SlusarskiJapan2026-10-28King, Christopher A Esq RENEWAL96Stephen Shaw
1039Izzy S BowleyRussia2026-10-26Feltz Printing Service UNQUALIFIED84Amy Elsner
1040Faith P PerinCanada2026-10-12Rousseaux, Michael Esq QUALIFIED19Bernardo Dominic
1041Juan V GlickSpain2026-10-12Truhlar And Truhlar Attys QUALIFIED26Ivan Magalhaes
1042Octavia T AmigonBrazil2026-10-13Feiner Bros NEGOTIATION11Amy Elsner
1043Mayumi P BologniaIndia2026-10-12Morlong Associates NEGOTIATION5Amy Elsner
1044Greenwood S ChuiBrazil2026-10-21Chapman, Ross E Esq NEGOTIATION12Bernardo Dominic
1045Aruna G WhobreyFrance2026-10-20Dorl, James J Esq QUALIFIED63Asiya Javayant
1046Tony S GlickGermany2026-11-02Chanay, Jeffrey A Esq RENEWAL64Anna Fali
1047Tony D RutaItaly2026-10-23Commercial Press PROPOSAL7Onyama Limba
1048Misaki I AmigonSpain2026-10-11King, Christopher A Esq UNQUALIFIED81Onyama Limba
1049Antonio J ShinkoFrance2026-10-05Chanay, Jeffrey A Esq QUALIFIED21Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel Z RoysterGermanyAsiya Javayant RENEWAL
Ivar I OstroskySpainElwin Sharvill PROPOSAL
Ivar L DilliardIndiaElwin Sharvill NEW
Deepesh O FlosiSpainIvan Magalhaes UNQUALIFIED
Clifford M StensethArgentinaAsiya Javayant NEGOTIATION
Salvatore M NickaArgentinaOnyama Limba PROPOSAL
Jeanfrancois N SaylorsCanadaAnna Fali RENEWAL
Munro K MaletUnited KingdomElwin Sharvill RENEWAL
Clifford Q CaldareraIndiaAsiya Javayant NEGOTIATION
Aruna L KuskoUnited KingdomXuxue Feng NEGOTIATION
Izzy X OstroskyGermanyOnyama Limba RENEWAL
Octavia W MorascaCanadaIvan Magalhaes PROPOSAL
Tony F DarakjyRussiaXuxue Feng NEW
Jennifer J NickaJapanOnyama Limba PROPOSAL
Smith V FlosiItalyStephen Shaw RENEWAL
Antonio G WieserBrazilOnyama Limba NEGOTIATION
Kaitlin P CaldareraBrazilBernardo Dominic QUALIFIED
Kadeem E PaprockiIndiaIoni Bowcher QUALIFIED
Jennifer Y FigeroaItalyAnna Fali UNQUALIFIED
Leja H OldroydGermanyXuxue Feng PROPOSAL
Leja W InouyeBrazilOnyama Limba NEW
Aruna A AmigonIndiaAsiya Javayant UNQUALIFIED
Wickens A DoeBrazilXuxue Feng PROPOSAL
Ricardo Q FerenczIndiaIvan Magalhaes RENEWAL
Kaitlin R RulapaughRussiaBernardo Dominic RENEWAL
Ivar V PerinGermanyBernardo Dominic PROPOSAL
Aruna N BriddickIndiaIvan Magalhaes QUALIFIED
Mujtaba V ButtIndiaIoni Bowcher PROPOSAL
Antonio K SergiUnited KingdomIvan Magalhaes NEW
James X NestleAustraliaBernardo Dominic NEGOTIATION
Octavia P AmigonSpainIoni Bowcher RENEWAL
David J DarakjyRussiaAmy Elsner PROPOSAL
Mayumi A FerenczUnited KingdomStephen Shaw NEGOTIATION
Cody E GlickCanadaStephen Shaw UNQUALIFIED
Johnson P OstroskyJapanElwin Sharvill QUALIFIED
Maria B WieserArgentinaBernardo Dominic QUALIFIED
Darci X MaletSpainAsiya Javayant NEGOTIATION
Faith V OstroskyUnited KingdomAsiya Javayant RENEWAL
Faith M WhobreyGermanyAnna Fali QUALIFIED
Murillo X AlbaresAustraliaBernardo Dominic QUALIFIED
Jeanfrancois D InouyeFranceXuxue Feng NEW
Francesco D PoquetteSpainStephen Shaw UNQUALIFIED
James Y FlosiIndiaAmy Elsner RENEWAL
Wickens X KolmetzFranceAnna Fali PROPOSAL
Tony D PaprockiBrazilIvan Magalhaes UNQUALIFIED
Deepesh G OldroydCanadaAsiya Javayant UNQUALIFIED
Isabel D FigeroaGermanyElwin Sharvill QUALIFIED
Aditya M FigeroaBrazilStephen Shaw UNQUALIFIED
Isabel D NickaCanadaIoni Bowcher QUALIFIED
Leja H WaycottBrazilXuxue Feng RENEWAL
Frozen Columns
Name
Ashley C Royster
Salvatore G Figeroa
Nicolas C Poquette
Izzy V Campain
Clifford O Butt
Maria L Malet
Mujtaba Z Kolmetz
Stacey F Venere
Ivar K Ostrosky
Silvio D Caldarera
Cody I Campain
Faith W Paprocki
Maria P Perin
Jennifer G Shinko
Leon X Sergi
Stacey S Figeroa
Leja X Gillian
Munro W Vocelka
Maria Q Briddick
Juan Q Nicka
Ricardo K Gaucho
Maisha J Garufi
Costa C Perin
Murillo D Caldarera
Ashley N Darakjy
Chavez W Rim
Salvatore P Albares
James O Campain
Costa G Perin
Mayumi F Nestle
Jennifer C Glick
Deepesh Y Ferencz
Arvin Z Stenseth
Aika J Paprocki
Francesco Q Garufi
Misaki L Iturbide
Jeanfrancois U Marrier
Sinclair F Rim
Kaitlin E Amigon
Isabel I Iturbide
Antonio E Figeroa
Salvatore C Slusarski
David D Morasca
Chavez J Saylors
Johnson N Campain
Greenwood G Nicka
Mujtaba C Garufi
Misaki E Gillian
James R Malet
Maisha I Darakjy
IdCountryDate
1000France2026-10-28
1001Germany2026-10-19
1002Russia2026-11-03
1003United Kingdom2026-10-08
1004France2026-10-28
1005Spain2026-10-13
1006United Kingdom2026-10-13
1007Japan2026-10-30
1008Spain2026-10-08
1009Japan2026-10-05
1010Japan2026-10-23
1011Australia2026-10-22
1012India2026-11-02
1013Italy2026-10-15
1014Argentina2026-10-23
1015France2026-10-06
1016India2026-10-06
1017France2026-10-13
1018Argentina2026-10-20
1019Japan2026-10-13
1020Brazil2026-10-17
1021India2026-10-07
1022India2026-10-07
1023India2026-10-31
1024Russia2026-10-20
1025Australia2026-10-17
1026Japan2026-10-08
1027Spain2026-10-11
1028Japan2026-10-24
1029United Kingdom2026-10-31
1030United Kingdom2026-10-17
1031Germany2026-10-11
1032Australia2026-10-06
1033United Kingdom2026-10-25
1034Russia2026-10-31
1035India2026-10-19
1036Japan2026-10-17
1037Brazil2026-10-14
1038France2026-10-10
1039Brazil2026-11-02
1040Russia2026-11-02
1041Germany2026-10-17
1042Brazil2026-10-13
1043France2026-10-16
1044Russia2026-10-07
1045Argentina2026-10-22
1046France2026-10-11
1047Germany2026-10-28
1048Japan2026-10-26
1049Spain2026-10-07

On-Demand Data

NameIdCountryDate
Greenwood X Butt1000Italy2026-10-15
Silvio S Rim1001Russia2026-11-03
Arvin S Schemmer1002Canada2026-10-09
Claire A Stenseth1003Japan2026-10-10
Rodrigues S Royster1004Brazil2026-10-22
Alejandro B Whobrey1005India2026-10-22
Cody C Poquette1006Germany2026-10-24
Jennifer M Albares1007Italy2026-10-17
Izzy X Darakjy1008Australia2026-10-13
Deepesh Q Albares1009Canada2026-10-25
Maisha R Perin1010Brazil2026-10-27
Kaitlin T Bolognia1011Russia2026-10-08
Ashley V Wieser1012United Kingdom2026-10-28
Emily Z Slusarski1013Italy2026-10-11
Darci O Caldarera1014India2026-10-16
Jeanfrancois E Kolmetz1015Australia2026-10-30
Emily V Amigon1016India2026-10-27
Isabel T Bolognia1017United Kingdom2026-10-09
Mujtaba L Stenseth1018United Kingdom2026-10-31
Isabel U Nestle1019Argentina2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues K BowleyGermanyAnna Fali UNQUALIFIED
Faith H RulapaughFranceAmy Elsner NEGOTIATION
Chavez S GauchoBrazilOnyama Limba NEW
Deepesh N InouyeGermanyAsiya Javayant NEW
Salvatore E ButtFranceElwin Sharvill NEGOTIATION
Costa T OldroydItalyElwin Sharvill PROPOSAL
Alejandro X StockhamArgentinaBernardo Dominic NEGOTIATION
Emily F CaldareraItalyAmy Elsner QUALIFIED
Mujtaba A VenereFranceIvan Magalhaes RENEWAL
Ashley E FigeroaGermanyAmy Elsner PROPOSAL
Stacey S StockhamAustraliaAmy Elsner NEGOTIATION
Mujtaba U StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin G BowleyIndiaOnyama Limba PROPOSAL
Leja H DoeGermanyIvan Magalhaes NEGOTIATION
Francesco P DoeUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas P WaycottJapanIvan Magalhaes UNQUALIFIED
Emily U SergiRussiaElwin Sharvill UNQUALIFIED
Juan C SchemmerUnited KingdomAmy Elsner QUALIFIED
Jennifer Z BologniaArgentinaXuxue Feng PROPOSAL
Jeanfrancois F GarufiGermanyAnna Fali PROPOSAL
Antonio H GlickAustraliaOnyama Limba PROPOSAL
Johnson U CampainGermanyOnyama Limba NEW
Mujtaba R RutaCanadaIvan Magalhaes RENEWAL
Leja A StockhamRussiaXuxue Feng NEGOTIATION
Leja V CaudyItalyAsiya Javayant NEW
Jennifer H RutaGermanyElwin Sharvill UNQUALIFIED
Tony W MarrierUnited KingdomBernardo Dominic RENEWAL
Aika X DarakjyUnited KingdomStephen Shaw NEGOTIATION
Mayumi H RulapaughBrazilAmy Elsner NEW
Francesco W DoeBrazilAnna Fali UNQUALIFIED
Adams M BologniaJapanElwin Sharvill QUALIFIED
James V FerenczAustraliaAsiya Javayant NEW
Juan K DarakjyArgentinaBernardo Dominic QUALIFIED
Faith P AlbaresFranceOnyama Limba UNQUALIFIED
Murillo O GlickBrazilXuxue Feng UNQUALIFIED
Cody K AlbaresArgentinaAsiya Javayant UNQUALIFIED
Antonio D RulapaughSpainIvan Magalhaes NEGOTIATION
Jefferson O WaycottUnited KingdomOnyama Limba NEGOTIATION
Octavia B RutaCanadaAsiya Javayant NEGOTIATION
Misaki F MacleadIndiaXuxue Feng NEW

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