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
Claire G BriddickGermanyAsiya Javayant PROPOSAL
Rodrigues U RimUnited KingdomIvan Magalhaes QUALIFIED
Wickens P GlickGermanyAnna Fali UNQUALIFIED
Murillo Y StensethCanadaStephen Shaw NEW
Sinclair C GillianIndiaXuxue Feng UNQUALIFIED
Aditya R RoysterSpainStephen Shaw UNQUALIFIED
Wickens M GarufiFranceAnna Fali QUALIFIED
Mayumi A GauchoArgentinaStephen Shaw RENEWAL
Darci L KolmetzRussiaIvan Magalhaes PROPOSAL
Jones F ChuiGermanyIvan Magalhaes UNQUALIFIED
Ivar M GarufiUnited KingdomXuxue Feng QUALIFIED
Isabel Y PoquetteRussiaAsiya Javayant UNQUALIFIED
Ashley W MarrierIndiaIoni Bowcher PROPOSAL
Tony E AlbaresArgentinaElwin Sharvill RENEWAL
Aika N RimGermanyAmy Elsner QUALIFIED
Smith F BriddickArgentinaAsiya Javayant QUALIFIED
Octavia A DarakjyJapanOnyama Limba RENEWAL
Leon I SergiIndiaIvan Magalhaes QUALIFIED
Misaki E KuskoIndiaIoni Bowcher RENEWAL
Kadeem R PaprockiRussiaOnyama Limba RENEWAL
Faith I OstroskyUnited KingdomElwin Sharvill PROPOSAL
Francesco B FlosiGermanyStephen Shaw NEGOTIATION
Salvatore Q AlbaresBrazilAmy Elsner UNQUALIFIED
Jefferson I BologniaCanadaAmy Elsner PROPOSAL
Julie R WhobreyBrazilAnna Fali NEW
Darci O KolmetzFranceIoni Bowcher NEW
Isabel G IturbideIndiaIvan Magalhaes RENEWAL
Adams E PaprockiBrazilIoni Bowcher NEGOTIATION
Alejandro B SergiCanadaIvan Magalhaes NEW
Leon S GauchoIndiaElwin Sharvill QUALIFIED
Emily Y SaylorsAustraliaAmy Elsner PROPOSAL
Jones C PaprockiIndiaOnyama Limba UNQUALIFIED
Stacey H AlbaresBrazilStephen Shaw NEGOTIATION
Aruna S PoquetteBrazilOnyama Limba NEW
Wickens M TollnerRussiaAmy Elsner PROPOSAL
Ivar S KuskoAustraliaOnyama Limba NEW
Aruna T BriddickSpainAnna Fali UNQUALIFIED
Jefferson L SlusarskiGermanyXuxue Feng UNQUALIFIED
Jennifer Q BriddickFranceIvan Magalhaes RENEWAL
Nicolas B ShinkoGermanyXuxue Feng NEGOTIATION
Aditya N MorascaJapanAnna Fali QUALIFIED
Murillo C DarakjyCanadaOnyama Limba NEGOTIATION
Claire N AlbaresUnited KingdomXuxue Feng RENEWAL
Rodrigues Q PerinArgentinaIvan Magalhaes RENEWAL
Ricardo S CampainIndiaAmy Elsner QUALIFIED
James G DoeAustraliaIoni Bowcher RENEWAL
Emily G BriddickGermanyStephen Shaw NEGOTIATION
Jeanfrancois L MaletItalyIvan Magalhaes RENEWAL
Francesco I OldroydJapanIvan Magalhaes PROPOSAL
Isabel I FerenczFranceOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi L WaycottRussiaIvan Magalhaes UNQUALIFIED
Jones J StockhamArgentinaAnna Fali NEW
James D KuskoUnited KingdomIvan Magalhaes NEW
Morrow T VenereItalyOnyama Limba PROPOSAL
Isabel A AmigonJapanOnyama Limba PROPOSAL
Morrow Q NickaFranceIvan Magalhaes NEGOTIATION
Claire A SchemmerArgentinaElwin Sharvill NEW
Sinclair V InouyeItalyIvan Magalhaes QUALIFIED
Leon V KuskoUnited KingdomAmy Elsner UNQUALIFIED
Maria D SergiGermanyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens I ChuiGermany2026-10-08Benton, John B Jr PROPOSAL86Elwin Sharvill
1001Mujtaba X OstroskyArgentina2026-10-05Printing Dimensions NEGOTIATION64Bernardo Dominic
1002Julie R DoeArgentina2026-09-21Dorl, James J Esq PROPOSAL51Stephen Shaw
1003Mayumi F PerinCanada2026-09-21Benton, John B Jr PROPOSAL83Bernardo Dominic
1004Mujtaba M ShinkoUnited Kingdom2026-10-14Dorl, James J Esq NEGOTIATION17Ioni Bowcher
1005Emily L NickaSpain2026-10-11Commercial Press NEW54Ivan Magalhaes
1006Aika Y WieserIndia2026-09-20Benton, John B Jr UNQUALIFIED13Bernardo Dominic
1007Munro V WaycottAustralia2026-10-02Chanay, Jeffrey A Esq PROPOSAL98Anna Fali
1008Kaitlin Q RulapaughAustralia2026-09-20Dorl, James J Esq UNQUALIFIED75Stephen Shaw
1009Emily R AmigonCanada2026-09-30Chemel, James L Cpa UNQUALIFIED70Ivan Magalhaes
1010Maisha A RulapaughFrance2026-09-24Truhlar And Truhlar Attys NEW86Onyama Limba
1011Deepesh F FerenczFrance2026-10-13Morlong Associates PROPOSAL10Onyama Limba
1012Arvin P AlbaresArgentina2026-10-16Morlong Associates UNQUALIFIED6Elwin Sharvill
1013Sinclair K CampainGermany2026-10-17Buckley Miller Wright NEGOTIATION13Amy Elsner
1014Smith S WieserSpain2026-09-27Truhlar And Truhlar Attys NEW4Ioni Bowcher
1015Jennifer D SergiArgentina2026-09-30Truhlar And Truhlar Attys PROPOSAL60Bernardo Dominic
1016Francesco J CaldareraUnited Kingdom2026-09-23Dorl, James J Esq QUALIFIED42Asiya Javayant
1017Faith F KolmetzAustralia2026-09-22Rousseaux, Michael Esq UNQUALIFIED74Xuxue Feng
1018Adams B ChuiRussia2026-10-18Benton, John B Jr UNQUALIFIED18Xuxue Feng
1019Arvin N AmigonBrazil2026-09-22Morlong Associates NEGOTIATION58Xuxue Feng
1020Salvatore W MacleadAustralia2026-10-15Commercial Press RENEWAL1Bernardo Dominic
1021Wickens M GlickFrance2026-10-11Feltz Printing Service NEGOTIATION88Amy Elsner
1022Izzy V GillianItaly2026-10-18Printing Dimensions QUALIFIED6Anna Fali
1023Jennifer E WieserCanada2026-09-21Feiner Bros NEGOTIATION79Asiya Javayant
1024Ricardo F WhobreyCanada2026-09-23Feiner Bros RENEWAL57Ivan Magalhaes
1025Misaki E ChuiSpain2026-10-14King, Christopher A Esq NEGOTIATION33Elwin Sharvill
1026Ricardo B AlbaresRussia2026-10-02Feiner Bros RENEWAL89Stephen Shaw
1027Ashley O SchemmerUnited Kingdom2026-09-29Rousseaux, Michael Esq UNQUALIFIED83Elwin Sharvill
1028Chavez J AlbaresAustralia2026-10-04Buckley Miller Wright RENEWAL1Asiya Javayant
1029Claire S PerinCanada2026-10-18Commercial Press NEGOTIATION95Stephen Shaw
1030Ashley I OstroskyAustralia2026-10-06Benton, John B Jr PROPOSAL14Asiya Javayant
1031Jefferson Q GillianBrazil2026-10-13King, Christopher A Esq PROPOSAL80Xuxue Feng
1032Juan Z DarakjyItaly2026-10-14Truhlar And Truhlar Attys NEW15Ioni Bowcher
1033Izzy C StensethCanada2026-09-22Chanay, Jeffrey A Esq UNQUALIFIED69Onyama Limba
1034Deepesh Q DoeArgentina2026-10-06Buckley Miller Wright RENEWAL89Asiya Javayant
1035Aditya S KuskoAustralia2026-10-03Rousseaux, Michael Esq NEW51Bernardo Dominic
1036Ashley U SergiUnited Kingdom2026-10-04Chanay, Jeffrey A Esq NEGOTIATION79Anna Fali
1037Maria P BologniaItaly2026-09-29King, Christopher A Esq NEGOTIATION81Amy Elsner
1038Julie O VocelkaCanada2026-09-30Benton, John B Jr PROPOSAL35Ioni Bowcher
1039Kadeem J ButtUnited Kingdom2026-10-07Chanay, Jeffrey A Esq PROPOSAL84Ioni Bowcher
1040Kaitlin J KolmetzGermany2026-10-06Feltz Printing Service NEW33Stephen Shaw
1041Izzy A SlusarskiAustralia2026-10-16Chemel, James L Cpa UNQUALIFIED66Bernardo Dominic
1042Murillo P SlusarskiAustralia2026-10-01Benton, John B Jr QUALIFIED79Bernardo Dominic
1043David L ChuiIndia2026-10-18Truhlar And Truhlar Attys NEW64Onyama Limba
1044Stacey O SchemmerUnited Kingdom2026-09-30Chapman, Ross E Esq NEW50Xuxue Feng
1045Chavez Y RimBrazil2026-09-23Chemel, James L Cpa NEGOTIATION22Elwin Sharvill
1046Cody C BriddickAustralia2026-09-20Truhlar And Truhlar Attys PROPOSAL28Asiya Javayant
1047Smith B RulapaughFrance2026-10-05Buckley Miller Wright NEW89Ivan Magalhaes
1048Chavez H AlbaresAustralia2026-10-05Feiner Bros UNQUALIFIED1Elwin Sharvill
1049David P GlickArgentina2026-09-26Morlong Associates NEGOTIATION97Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Faith K NickaRussiaStephen Shaw NEW
Claire P MarrierAustraliaElwin Sharvill PROPOSAL
Izzy M RimIndiaElwin Sharvill RENEWAL
Leja G MacleadUnited KingdomAnna Fali RENEWAL
Darci Y OstroskyItalyAnna Fali RENEWAL
Jennifer K GauchoUnited KingdomXuxue Feng RENEWAL
Adams X NestleSpainAnna Fali RENEWAL
Maria A AlbaresArgentinaIoni Bowcher NEW
Octavia U RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Adams H IturbideFranceXuxue Feng UNQUALIFIED
Deepesh O InouyeBrazilXuxue Feng PROPOSAL
David P MarrierArgentinaAmy Elsner PROPOSAL
Stacey Y CampainRussiaXuxue Feng UNQUALIFIED
Cody X MaletIndiaElwin Sharvill UNQUALIFIED
Wickens J CaudyJapanElwin Sharvill PROPOSAL
Cody Z RulapaughUnited KingdomElwin Sharvill QUALIFIED
Rodrigues U CampainUnited KingdomAsiya Javayant QUALIFIED
Jones W StockhamBrazilAsiya Javayant UNQUALIFIED
Munro W MaletGermanyXuxue Feng UNQUALIFIED
Maisha T MarrierBrazilElwin Sharvill NEW
Stacey Y KolmetzUnited KingdomStephen Shaw UNQUALIFIED
Misaki N RimItalyAmy Elsner RENEWAL
Maria M SergiFranceIvan Magalhaes PROPOSAL
Leon O InouyeIndiaXuxue Feng QUALIFIED
Mujtaba B OstroskyAustraliaXuxue Feng UNQUALIFIED
Clifford A StensethGermanyElwin Sharvill PROPOSAL
Chavez E VocelkaIndiaAsiya Javayant UNQUALIFIED
Claire M AmigonCanadaAnna Fali UNQUALIFIED
Kaitlin M SergiFranceBernardo Dominic PROPOSAL
Ricardo I GillianIndiaElwin Sharvill NEW
Leon P SlusarskiRussiaAnna Fali NEGOTIATION
Kadeem X MaletFranceIvan Magalhaes NEW
Cody T NestleUnited KingdomOnyama Limba UNQUALIFIED
Ashley J DoeGermanyXuxue Feng QUALIFIED
Tony V NestleSpainBernardo Dominic RENEWAL
Aditya M GauchoBrazilBernardo Dominic QUALIFIED
Octavia A VocelkaSpainOnyama Limba RENEWAL
Ivar E MarrierItalyOnyama Limba UNQUALIFIED
Salvatore A GillianRussiaOnyama Limba NEGOTIATION
Chavez Q CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Salvatore O MorascaAustraliaAmy Elsner NEW
Faith M RoysterArgentinaAnna Fali PROPOSAL
Morrow B PaprockiIndiaStephen Shaw NEGOTIATION
Ricardo Q RimSpainIoni Bowcher NEGOTIATION
Costa P CaldareraCanadaBernardo Dominic QUALIFIED
Stacey G BriddickUnited KingdomIoni Bowcher PROPOSAL
Jennifer V RutaSpainOnyama Limba NEW
Claire G BologniaSpainAmy Elsner UNQUALIFIED
Murillo A NickaArgentinaXuxue Feng RENEWAL
Silvio Z AlbaresSpainBernardo Dominic PROPOSAL
Frozen Columns
Name
Johnson N Inouye
Isabel S Saylors
James U Caldarera
Ivar J Chui
Silvio N Butt
Maria C Nicka
Costa D Kusko
Arvin G Darakjy
Aika F Caudy
Johnson F Stockham
Francesco P Amigon
Emily V Iturbide
Misaki Y Sergi
Jeanfrancois B Amigon
Tony L Amigon
Mujtaba M Shinko
Jennifer H Venere
Sinclair V Sergi
Maisha X Ostrosky
Silvio C Sergi
Isabel H Poquette
Darci I Dilliard
Emily P Darakjy
Jones Z Saylors
Alejandro A Perin
Johnson M Gaucho
Johnson L Flosi
Leja D Inouye
Francesco B Stenseth
Kaitlin K Bolognia
Smith S Figeroa
Jones T Perin
Julie C Perin
Darci N Vocelka
Jeanfrancois I Perin
Faith D Rulapaugh
Mujtaba T Nestle
Salvatore L Vocelka
Jones H Gaucho
David B Figeroa
Aika Z Tollner
Tony Y Perin
Aditya M Rulapaugh
Emily K Caldarera
Silvio U Garufi
Chavez O Waycott
Kadeem R Vocelka
Claire G Malet
Smith F Chui
Alejandro E Foller
IdCountryDate
1000Italy2026-10-13
1001Italy2026-10-04
1002Brazil2026-10-17
1003Italy2026-09-25
1004France2026-09-25
1005Italy2026-09-23
1006Germany2026-09-19
1007Japan2026-10-15
1008Japan2026-10-17
1009Italy2026-10-01
1010Brazil2026-09-19
1011Russia2026-09-28
1012Brazil2026-10-15
1013India2026-10-08
1014Russia2026-09-24
1015France2026-09-24
1016Japan2026-09-25
1017France2026-10-11
1018United Kingdom2026-09-23
1019France2026-09-19
1020Canada2026-10-15
1021Australia2026-10-08
1022Japan2026-10-11
1023India2026-09-22
1024Brazil2026-10-11
1025United Kingdom2026-09-30
1026France2026-10-13
1027Russia2026-10-16
1028Spain2026-10-07
1029France2026-09-29
1030Italy2026-10-09
1031Spain2026-10-10
1032Australia2026-10-05
1033Japan2026-09-25
1034Spain2026-10-15
1035Italy2026-10-11
1036India2026-09-30
1037Germany2026-10-08
1038Canada2026-10-15
1039France2026-10-16
1040Italy2026-10-11
1041Australia2026-10-03
1042Canada2026-10-15
1043Spain2026-10-02
1044Brazil2026-10-11
1045India2026-10-13
1046Canada2026-09-21
1047Spain2026-10-10
1048Italy2026-10-13
1049Argentina2026-10-09

On-Demand Data

NameIdCountryDate
Julie R Briddick1000Russia2026-10-12
Silvio C Dilliard1001Australia2026-10-16
Nicolas V Darakjy1002Italy2026-10-14
Sinclair E Malet1003Australia2026-10-09
Kaitlin G Bowley1004United Kingdom2026-09-28
Rodrigues H Gaucho1005Russia2026-10-12
Ashley S Slusarski1006United Kingdom2026-10-16
Wickens I Malet1007Italy2026-10-01
Mujtaba P Campain1008France2026-10-06
Emily Q Marrier1009France2026-10-03
Juan P Whobrey1010Russia2026-10-07
Deepesh Y Ostrosky1011Canada2026-09-30
Wickens N Bowley1012Japan2026-09-21
Wickens B Maclead1013Italy2026-10-13
Kadeem S Briddick1014Australia2026-10-11
Chavez A Morasca1015Russia2026-09-22
Silvio G Kusko1016France2026-10-04
Greenwood P Vocelka1017Australia2026-10-11
Aruna W Garufi1018Argentina2026-09-24
Aruna V Chui1019Spain2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood O MarrierJapanAmy Elsner QUALIFIED
Silvio T MacleadAustraliaIoni Bowcher QUALIFIED
Adams C SchemmerUnited KingdomXuxue Feng RENEWAL
Sinclair L AmigonBrazilIoni Bowcher UNQUALIFIED
Adams Q VenereSpainAnna Fali UNQUALIFIED
Ashley G RulapaughSpainBernardo Dominic QUALIFIED
Morrow C SchemmerUnited KingdomOnyama Limba NEW
Sinclair X GauchoJapanOnyama Limba PROPOSAL
Jones H KolmetzCanadaAsiya Javayant NEW
Maisha O NickaCanadaElwin Sharvill RENEWAL
Mujtaba W MacleadFranceAmy Elsner NEW
Aditya D StockhamIndiaStephen Shaw NEGOTIATION
Nicolas C FigeroaBrazilOnyama Limba QUALIFIED
Greenwood A ShinkoArgentinaOnyama Limba RENEWAL
Cody I PoquetteGermanyStephen Shaw PROPOSAL
Munro Q CaudyItalyAmy Elsner NEGOTIATION
Smith V WieserUnited KingdomOnyama Limba PROPOSAL
Alejandro K FigeroaAustraliaIoni Bowcher NEGOTIATION
Mayumi Y FigeroaJapanBernardo Dominic NEW
Faith F MorascaBrazilOnyama Limba PROPOSAL
Izzy D ShinkoAustraliaAmy Elsner RENEWAL
Greenwood Z FigeroaGermanyStephen Shaw QUALIFIED
Morrow I BriddickGermanyIvan Magalhaes QUALIFIED
Ashley E CaudyRussiaOnyama Limba QUALIFIED
Antonio H InouyeAustraliaIoni Bowcher PROPOSAL
Izzy B NickaAustraliaStephen Shaw PROPOSAL
Aruna C FigeroaItalyStephen Shaw PROPOSAL
Faith A FerenczUnited KingdomXuxue Feng QUALIFIED
Aruna M NestleFranceAnna Fali RENEWAL
Stacey X FlosiJapanElwin Sharvill QUALIFIED
Stacey Z InouyeJapanAsiya Javayant PROPOSAL
Leon J RoysterRussiaElwin Sharvill RENEWAL
Morrow C IturbideCanadaIvan Magalhaes RENEWAL
Morrow K MarrierArgentinaAnna Fali RENEWAL
Leon K ChuiCanadaXuxue Feng NEGOTIATION
Wickens D ShinkoCanadaElwin Sharvill QUALIFIED
Mayumi C WieserIndiaAmy Elsner NEGOTIATION
Kadeem S MarrierArgentinaOnyama Limba NEW
Faith S GauchoJapanStephen Shaw RENEWAL
David Q VenereArgentinaIoni Bowcher 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>