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 O TollnerFranceIvan Magalhaes RENEWAL
Francesco U RulapaughArgentinaAnna Fali NEW
Adams O ShinkoItalyOnyama Limba RENEWAL
Chavez E AlbaresSpainAsiya Javayant NEW
Kaitlin Y PerinJapanXuxue Feng NEGOTIATION
Jeanfrancois P MaletCanadaAsiya Javayant RENEWAL
Leon A WaycottUnited KingdomStephen Shaw QUALIFIED
Izzy I MaletAustraliaXuxue Feng UNQUALIFIED
Stacey F NestleItalyXuxue Feng PROPOSAL
Kadeem U SaylorsAustraliaIoni Bowcher QUALIFIED
Cody P PoquetteArgentinaStephen Shaw PROPOSAL
Mayumi S KolmetzUnited KingdomIvan Magalhaes RENEWAL
Jones M RutaJapanOnyama Limba QUALIFIED
Leja P RutaAustraliaXuxue Feng UNQUALIFIED
Clifford M VenereJapanAmy Elsner NEW
Silvio N PerinRussiaIoni Bowcher QUALIFIED
Alejandro W StensethSpainBernardo Dominic PROPOSAL
Johnson P OstroskyUnited KingdomAmy Elsner NEW
Emily M GlickFranceXuxue Feng NEW
Munro F StensethFranceAsiya Javayant QUALIFIED
Nicolas D GlickGermanyBernardo Dominic UNQUALIFIED
James K IturbideCanadaOnyama Limba PROPOSAL
Rodrigues K NestleBrazilAsiya Javayant NEGOTIATION
Jones D CaldareraRussiaOnyama Limba UNQUALIFIED
Emily H KuskoItalyIoni Bowcher PROPOSAL
Emily W MarrierCanadaAnna Fali UNQUALIFIED
Maria E DoeBrazilElwin Sharvill NEGOTIATION
Stacey G SlusarskiArgentinaAsiya Javayant NEGOTIATION
David H GillianGermanyIvan Magalhaes PROPOSAL
David K RutaGermanyAnna Fali NEW
Alejandro D GarufiAustraliaBernardo Dominic NEW
Arvin U MaletRussiaAnna Fali NEW
Smith C StockhamRussiaOnyama Limba NEW
Murillo R DarakjyJapanOnyama Limba RENEWAL
Stacey S GlickFranceIvan Magalhaes PROPOSAL
Emily Q GauchoItalyIvan Magalhaes NEGOTIATION
Adams D InouyeArgentinaIvan Magalhaes RENEWAL
Nicolas B GarufiRussiaIvan Magalhaes NEW
Ivar X KuskoBrazilXuxue Feng NEGOTIATION
Kaitlin S SchemmerGermanyBernardo Dominic RENEWAL
Emily A StockhamItalyStephen Shaw NEW
Alejandro B MaletIndiaOnyama Limba NEW
Claire H AmigonItalyOnyama Limba QUALIFIED
Ashley R GauchoRussiaAnna Fali RENEWAL
Antonio C DilliardRussiaAnna Fali PROPOSAL
Sinclair R StensethRussiaStephen Shaw RENEWAL
Emily V StensethSpainStephen Shaw RENEWAL
Sinclair C StensethAustraliaElwin Sharvill RENEWAL
Costa F TollnerItalyBernardo Dominic RENEWAL
Wickens M PoquetteUnited KingdomAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jones Q InouyeJapanElwin Sharvill NEGOTIATION
Aika P FigeroaGermanyElwin Sharvill RENEWAL
Claire X GlickAustraliaAmy Elsner NEW
Arvin K MarrierJapanAmy Elsner UNQUALIFIED
Tony Y VenereJapanElwin Sharvill QUALIFIED
Kaitlin N GlickCanadaXuxue Feng NEGOTIATION
Deepesh N CaldareraSpainXuxue Feng QUALIFIED
Ashley Y MaletAustraliaStephen Shaw RENEWAL
Darci K MorascaRussiaBernardo Dominic NEGOTIATION
Ashley K MaletUnited KingdomOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin A MacleadItaly2026-10-16Feiner Bros RENEWAL99Onyama Limba
1001Emily K GillianCanada2026-10-28Truhlar And Truhlar Attys NEW17Xuxue Feng
1002Ricardo F OstroskyUnited Kingdom2026-11-03Commercial Press PROPOSAL11Bernardo Dominic
1003Adams E FigeroaAustralia2026-11-04Dorl, James J Esq RENEWAL49Anna Fali
1004Aruna S PaprockiRussia2026-11-07Chemel, James L Cpa RENEWAL90Asiya Javayant
1005Ivar W BriddickItaly2026-11-09Rangoni Of Florence NEGOTIATION98Amy Elsner
1006Kaitlin P SchemmerAustralia2026-11-03King, Christopher A Esq RENEWAL14Asiya Javayant
1007Emily T FerenczItaly2026-11-09Feltz Printing Service UNQUALIFIED9Anna Fali
1008Octavia C KuskoBrazil2026-11-14Rangoni Of Florence QUALIFIED50Amy Elsner
1009Murillo X FerenczRussia2026-11-06Commercial Press QUALIFIED51Ivan Magalhaes
1010Salvatore H CampainBrazil2026-10-20Chapman, Ross E Esq NEW57Stephen Shaw
1011Leon J NickaFrance2026-10-29Dorl, James J Esq PROPOSAL7Ivan Magalhaes
1012Alejandro G WhobreyUnited Kingdom2026-10-21Truhlar And Truhlar Attys RENEWAL93Stephen Shaw
1013Chavez Q TollnerArgentina2026-11-14Morlong Associates QUALIFIED56Stephen Shaw
1014Jefferson R GlickSpain2026-10-21Feiner Bros UNQUALIFIED33Amy Elsner
1015Silvio W WaycottArgentina2026-11-11Chanay, Jeffrey A Esq QUALIFIED80Elwin Sharvill
1016Wickens C NestleItaly2026-10-17Commercial Press PROPOSAL41Amy Elsner
1017Aditya H KolmetzItaly2026-10-28Chapman, Ross E Esq NEW49Stephen Shaw
1018Maisha Z StockhamFrance2026-11-03Benton, John B Jr NEW24Amy Elsner
1019Misaki E VocelkaJapan2026-11-14Buckley Miller Wright QUALIFIED0Amy Elsner
1020Stacey W PerinUnited Kingdom2026-10-23Truhlar And Truhlar Attys RENEWAL96Asiya Javayant
1021Deepesh I PoquetteBrazil2026-10-26Morlong Associates QUALIFIED39Xuxue Feng
1022Aditya C GauchoBrazil2026-11-06Feltz Printing Service RENEWAL78Onyama Limba
1023Juan N DarakjyBrazil2026-10-21Rousseaux, Michael Esq NEW17Elwin Sharvill
1024Murillo N SchemmerUnited Kingdom2026-10-17Dorl, James J Esq NEW28Amy Elsner
1025Izzy Z MaletRussia2026-11-02Chapman, Ross E Esq RENEWAL60Onyama Limba
1026Mujtaba I TollnerArgentina2026-10-30Dorl, James J Esq NEW90Bernardo Dominic
1027Mayumi E CampainGermany2026-10-25Buckley Miller Wright UNQUALIFIED80Ivan Magalhaes
1028Jeanfrancois N AlbaresArgentina2026-11-14Feiner Bros NEW90Bernardo Dominic
1029Tony V StensethAustralia2026-11-14King, Christopher A Esq NEW63Stephen Shaw
1030Alejandro H RimAustralia2026-10-16Chanay, Jeffrey A Esq QUALIFIED15Anna Fali
1031Leja S WaycottIndia2026-10-28Dorl, James J Esq PROPOSAL67Anna Fali
1032James D MaletUnited Kingdom2026-11-05Feltz Printing Service NEGOTIATION29Anna Fali
1033Antonio T FlosiGermany2026-10-30Commercial Press PROPOSAL20Ioni Bowcher
1034Octavia T MarrierRussia2026-10-29Morlong Associates QUALIFIED84Ioni Bowcher
1035Silvio F MarrierAustralia2026-10-21Chanay, Jeffrey A Esq UNQUALIFIED80Anna Fali
1036Johnson B FlosiAustralia2026-10-30Rousseaux, Michael Esq PROPOSAL6Ioni Bowcher
1037Arvin P NickaCanada2026-10-26Chemel, James L Cpa QUALIFIED70Asiya Javayant
1038Wickens J SchemmerAustralia2026-11-04Chapman, Ross E Esq RENEWAL98Elwin Sharvill
1039Aditya T WieserFrance2026-10-22Truhlar And Truhlar Attys PROPOSAL94Ivan Magalhaes
1040Nicolas M PerinAustralia2026-10-24Morlong Associates RENEWAL58Bernardo Dominic
1041Jennifer R NestleIndia2026-11-07King, Christopher A Esq UNQUALIFIED45Asiya Javayant
1042Ashley O NestleGermany2026-10-23Morlong Associates PROPOSAL8Xuxue Feng
1043Julie Y DilliardCanada2026-11-08Benton, John B Jr PROPOSAL28Anna Fali
1044Darci O FlosiJapan2026-11-03King, Christopher A Esq QUALIFIED20Elwin Sharvill
1045Morrow N MarrierGermany2026-10-26Benton, John B Jr QUALIFIED95Ivan Magalhaes
1046Adams W FigeroaItaly2026-11-07Commercial Press RENEWAL21Stephen Shaw
1047Jefferson B ChuiIndia2026-10-16Rousseaux, Michael Esq PROPOSAL45Stephen Shaw
1048David E FollerAustralia2026-10-20Chapman, Ross E Esq NEGOTIATION98Amy Elsner
1049Izzy U IturbideFrance2026-10-18Feiner Bros PROPOSAL84Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ashley N TollnerSpainAsiya Javayant RENEWAL
Octavia R NestleUnited KingdomOnyama Limba NEW
Francesco Y SergiBrazilAnna Fali UNQUALIFIED
Francesco B BologniaCanadaAmy Elsner NEW
Clifford W PoquetteAustraliaAmy Elsner UNQUALIFIED
Aruna S SergiRussiaIvan Magalhaes NEGOTIATION
James B SlusarskiRussiaAsiya Javayant NEGOTIATION
Julie D WieserArgentinaAnna Fali PROPOSAL
Kaitlin X StensethItalyOnyama Limba QUALIFIED
Jeanfrancois F DoeIndiaElwin Sharvill NEGOTIATION
Juan A PerinIndiaStephen Shaw RENEWAL
Smith R SaylorsIndiaXuxue Feng PROPOSAL
James P NestleFranceOnyama Limba NEW
Mujtaba N AmigonArgentinaStephen Shaw PROPOSAL
Kadeem I DarakjyIndiaElwin Sharvill QUALIFIED
Smith T BriddickBrazilIoni Bowcher PROPOSAL
Leja F KolmetzCanadaElwin Sharvill NEGOTIATION
Octavia S MaletCanadaAsiya Javayant RENEWAL
Stacey O MarrierUnited KingdomXuxue Feng QUALIFIED
Jefferson O BologniaArgentinaAnna Fali NEW
Aika F AmigonUnited KingdomOnyama Limba NEGOTIATION
David E WieserUnited KingdomBernardo Dominic RENEWAL
Jones Q TollnerArgentinaBernardo Dominic NEGOTIATION
Murillo V PoquetteUnited KingdomElwin Sharvill NEW
Costa I VenereUnited KingdomStephen Shaw UNQUALIFIED
Maria R StensethIndiaStephen Shaw RENEWAL
Leja O CaudySpainAmy Elsner PROPOSAL
Antonio E GarufiBrazilOnyama Limba PROPOSAL
Jones Q PerinItalyXuxue Feng RENEWAL
Cody M ButtArgentinaAsiya Javayant RENEWAL
Kaitlin I BowleyFranceOnyama Limba NEW
Aruna L MaletAustraliaIoni Bowcher QUALIFIED
Kadeem Y SaylorsSpainXuxue Feng NEW
Clifford Y MaletGermanyXuxue Feng NEGOTIATION
Stacey H GillianIndiaAmy Elsner PROPOSAL
Cody U AmigonGermanyAnna Fali QUALIFIED
Smith B CaudyJapanAnna Fali NEW
Maisha C BologniaFranceStephen Shaw NEGOTIATION
Ivar Q CaudyRussiaAsiya Javayant QUALIFIED
Silvio S RoysterUnited KingdomAsiya Javayant NEW
James L MacleadBrazilAsiya Javayant RENEWAL
Nicolas L MarrierAustraliaOnyama Limba PROPOSAL
Smith X RulapaughUnited KingdomAmy Elsner NEGOTIATION
Antonio W WhobreyJapanIvan Magalhaes PROPOSAL
Juan Q TollnerBrazilElwin Sharvill UNQUALIFIED
Chavez M BowleyItalyAsiya Javayant NEGOTIATION
Greenwood P MacleadAustraliaXuxue Feng QUALIFIED
Smith I GillianIndiaStephen Shaw UNQUALIFIED
Deepesh W FollerAustraliaAmy Elsner NEW
Clifford Y ShinkoItalyOnyama Limba NEW
Frozen Columns
Name
Deepesh K Caldarera
Emily X Butt
Wickens V Foller
Ricardo Z Waycott
Munro O Campain
Wickens I Slusarski
Costa A Nicka
Isabel E Butt
Octavia P Gillian
Rodrigues Z Campain
Jennifer X Garufi
Julie S Albares
Arvin M Tollner
Kaitlin Y Flosi
Murillo B Maclead
Wickens B Shinko
Misaki F Nicka
Tony C Shinko
Antonio I Nestle
Smith U Whobrey
Chavez R Nicka
Mujtaba Z Slusarski
Clifford X Ferencz
Mujtaba R Schemmer
Aditya E Nicka
Aruna X Perin
Faith V Whobrey
Julie V Flosi
Leon P Sergi
Leja B Garufi
Antonio C Poquette
Silvio W Malet
Jennifer K Malet
Salvatore Z Nestle
Antonio Z Iturbide
Aditya J Figeroa
Stacey A Schemmer
Aditya D Sergi
Maria O Poquette
Morrow P Sergi
James W Morasca
Clifford J Albares
Julie X Butt
Smith L Inouye
Tony R Venere
Sinclair J Kolmetz
Stacey Q Venere
Tony T Whobrey
Arvin G Perin
Clifford Z Inouye
IdCountryDate
1000Russia2026-10-28
1001United Kingdom2026-10-31
1002Germany2026-11-01
1003Canada2026-11-05
1004Spain2026-11-04
1005France2026-11-11
1006United Kingdom2026-10-17
1007Canada2026-11-04
1008Japan2026-10-26
1009Brazil2026-10-16
1010Germany2026-11-06
1011Brazil2026-10-24
1012India2026-10-18
1013Japan2026-11-03
1014Japan2026-10-18
1015Italy2026-10-16
1016France2026-10-17
1017Australia2026-11-06
1018Germany2026-10-28
1019Australia2026-11-14
1020Russia2026-10-27
1021United Kingdom2026-10-29
1022Brazil2026-10-24
1023Spain2026-11-05
1024Australia2026-10-31
1025Spain2026-10-27
1026Germany2026-10-26
1027Germany2026-11-10
1028Russia2026-11-12
1029Spain2026-10-21
1030Italy2026-10-19
1031Brazil2026-10-27
1032Italy2026-11-13
1033Italy2026-10-18
1034Spain2026-11-07
1035Spain2026-11-09
1036Spain2026-11-05
1037Argentina2026-10-27
1038India2026-11-04
1039France2026-11-11
1040France2026-11-02
1041United Kingdom2026-10-16
1042France2026-11-13
1043Japan2026-11-08
1044Germany2026-11-09
1045Germany2026-11-06
1046Argentina2026-10-30
1047Italy2026-10-27
1048Brazil2026-11-06
1049United Kingdom2026-11-11

On-Demand Data

NameIdCountryDate
Misaki T Rulapaugh1000Australia2026-11-06
Jeanfrancois I Royster1001Australia2026-10-19
Juan F Poquette1002Argentina2026-11-08
Maisha B Stockham1003Russia2026-11-11
Antonio F Perin1004Germany2026-11-13
Maria E Dilliard1005Canada2026-10-30
Mujtaba N Sergi1006Japan2026-10-31
Johnson N Briddick1007United Kingdom2026-11-14
Chavez Y Wieser1008Spain2026-10-17
Julie O Paprocki1009Australia2026-10-28
Juan O Foller1010India2026-11-14
Julie Q Stockham1011India2026-11-01
Murillo T Kusko1012Japan2026-11-10
Julie T Ruta1013United Kingdom2026-11-06
Ricardo N Schemmer1014Germany2026-11-07
Maisha W Rim1015Australia2026-11-05
Aruna N Schemmer1016Argentina2026-11-02
Leon K Slusarski1017Italy2026-10-31
Faith L Caldarera1018Argentina2026-11-11
Leja M Waycott1019Brazil2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire R ShinkoAustraliaAsiya Javayant RENEWAL
Johnson J CaldareraArgentinaBernardo Dominic RENEWAL
Costa R FlosiCanadaBernardo Dominic PROPOSAL
Chavez K InouyeBrazilOnyama Limba UNQUALIFIED
Juan D DarakjyRussiaAsiya Javayant NEGOTIATION
Maria Z KolmetzUnited KingdomAsiya Javayant QUALIFIED
Greenwood Q GlickBrazilStephen Shaw QUALIFIED
Emily G FollerArgentinaAsiya Javayant RENEWAL
Darci U RimBrazilAnna Fali QUALIFIED
Silvio K SlusarskiArgentinaIoni Bowcher RENEWAL
Octavia Q BriddickSpainAmy Elsner UNQUALIFIED
Aika U SchemmerSpainXuxue Feng NEGOTIATION
Tony O RimJapanIoni Bowcher NEGOTIATION
Mayumi J AlbaresIndiaElwin Sharvill QUALIFIED
Mujtaba R PoquetteSpainAmy Elsner RENEWAL
Smith I AlbaresIndiaBernardo Dominic RENEWAL
Murillo P FerenczCanadaXuxue Feng UNQUALIFIED
Kadeem B PerinJapanAsiya Javayant NEW
Arvin X NestleSpainElwin Sharvill NEGOTIATION
Murillo L PerinUnited KingdomAmy Elsner RENEWAL
Greenwood Y GillianJapanIvan Magalhaes NEW
James F FerenczAustraliaBernardo Dominic QUALIFIED
Munro W VenereAustraliaIvan Magalhaes RENEWAL
Jefferson N OstroskyRussiaStephen Shaw RENEWAL
Jeanfrancois Z MarrierIndiaBernardo Dominic NEW
Morrow S MaletIndiaIvan Magalhaes UNQUALIFIED
Mayumi C MacleadItalyAnna Fali RENEWAL
Kadeem I GauchoBrazilXuxue Feng PROPOSAL
Costa K CaldareraBrazilIvan Magalhaes NEGOTIATION
Francesco O MorascaRussiaIvan Magalhaes NEGOTIATION
Isabel U KolmetzRussiaBernardo Dominic PROPOSAL
Faith A RoysterSpainStephen Shaw PROPOSAL
Silvio K GauchoSpainElwin Sharvill QUALIFIED
Alejandro O IturbideSpainIvan Magalhaes QUALIFIED
David F WieserRussiaAnna Fali QUALIFIED
Alejandro M VocelkaRussiaAmy Elsner NEGOTIATION
Cody R BologniaJapanAsiya Javayant PROPOSAL
David S TollnerBrazilElwin Sharvill UNQUALIFIED
Octavia Y FerenczUnited KingdomAsiya Javayant PROPOSAL
Izzy D WaycottGermanyBernardo Dominic 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>