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
Silvio M VenereRussiaIvan Magalhaes UNQUALIFIED
Rodrigues Y RutaBrazilXuxue Feng UNQUALIFIED
Isabel W CaldareraAustraliaIvan Magalhaes RENEWAL
Claire X FlosiGermanyXuxue Feng NEGOTIATION
Francesco K OstroskySpainAmy Elsner UNQUALIFIED
Julie C SaylorsUnited KingdomStephen Shaw PROPOSAL
James Q InouyeGermanyIoni Bowcher PROPOSAL
Ashley A VocelkaCanadaXuxue Feng QUALIFIED
Aika O AlbaresSpainXuxue Feng NEW
Silvio Y SaylorsAustraliaIvan Magalhaes NEGOTIATION
Leon Q BriddickIndiaAsiya Javayant PROPOSAL
Chavez Y BriddickCanadaAmy Elsner PROPOSAL
Tony N OstroskyFranceAmy Elsner QUALIFIED
Clifford B ChuiJapanStephen Shaw UNQUALIFIED
Sinclair P StensethCanadaXuxue Feng UNQUALIFIED
Jones S VenereAustraliaIvan Magalhaes PROPOSAL
Deepesh N DoeSpainIoni Bowcher RENEWAL
Isabel N CampainUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois M FollerJapanIoni Bowcher QUALIFIED
Clifford P GarufiArgentinaAsiya Javayant UNQUALIFIED
Aditya O InouyeGermanyAmy Elsner NEGOTIATION
Alejandro A BowleyRussiaIvan Magalhaes PROPOSAL
Ricardo H FerenczItalyElwin Sharvill UNQUALIFIED
Wickens R RoysterUnited KingdomAnna Fali NEGOTIATION
Tony E MaletFranceElwin Sharvill NEGOTIATION
Maisha I StockhamItalyAsiya Javayant UNQUALIFIED
Aruna X ShinkoCanadaStephen Shaw PROPOSAL
Antonio F BologniaSpainOnyama Limba QUALIFIED
Isabel S BowleyUnited KingdomOnyama Limba PROPOSAL
Juan I OstroskyFranceStephen Shaw QUALIFIED
Munro L ButtUnited KingdomOnyama Limba RENEWAL
Adams C SergiGermanyAsiya Javayant NEW
Kadeem G InouyeUnited KingdomOnyama Limba QUALIFIED
Greenwood F StensethUnited KingdomIoni Bowcher NEGOTIATION
Sinclair N DilliardAustraliaElwin Sharvill PROPOSAL
Ivar D RoysterFranceOnyama Limba NEGOTIATION
Tony V StockhamItalyAsiya Javayant NEGOTIATION
Jennifer H CaudyJapanOnyama Limba NEGOTIATION
Mujtaba I RimSpainElwin Sharvill RENEWAL
Misaki U MaletUnited KingdomAmy Elsner PROPOSAL
Sinclair G BowleyGermanyElwin Sharvill PROPOSAL
Leon L BriddickArgentinaAmy Elsner RENEWAL
Murillo H VenereIndiaAmy Elsner QUALIFIED
Clifford K FerenczSpainStephen Shaw RENEWAL
Claire M FigeroaGermanyElwin Sharvill NEGOTIATION
Maria Q WhobreySpainXuxue Feng PROPOSAL
Salvatore G VenereJapanStephen Shaw QUALIFIED
Tony S MaletSpainOnyama Limba UNQUALIFIED
Jeanfrancois P MarrierAustraliaAsiya Javayant RENEWAL
Leja V RulapaughGermanyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo Q AlbaresRussiaIvan Magalhaes QUALIFIED
Francesco D GarufiFranceOnyama Limba PROPOSAL
Francesco M SchemmerJapanBernardo Dominic PROPOSAL
Adams V AlbaresRussiaIoni Bowcher PROPOSAL
Alejandro U MacleadFranceOnyama Limba UNQUALIFIED
Alejandro V BowleyGermanyBernardo Dominic UNQUALIFIED
Aditya J PerinIndiaAsiya Javayant QUALIFIED
Salvatore L CampainBrazilAnna Fali PROPOSAL
Aditya H GauchoJapanXuxue Feng RENEWAL
Aika G OstroskyAustraliaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson Y PaprockiRussia2026-11-02Dorl, James J Esq QUALIFIED12Amy Elsner
1001Misaki C StockhamAustralia2026-10-21Printing Dimensions PROPOSAL37Asiya Javayant
1002Ricardo T SergiItaly2026-10-26Feltz Printing Service RENEWAL29Onyama Limba
1003Tony N GauchoItaly2026-11-09Chapman, Ross E Esq RENEWAL31Ivan Magalhaes
1004Juan B NestleBrazil2026-10-20Morlong Associates PROPOSAL98Ioni Bowcher
1005Alejandro V FollerUnited Kingdom2026-10-23Feiner Bros RENEWAL7Ivan Magalhaes
1006Alejandro Y GauchoCanada2026-11-05Morlong Associates NEGOTIATION38Onyama Limba
1007Murillo A CaudySpain2026-10-21King, Christopher A Esq NEW5Ioni Bowcher
1008Faith H DarakjyGermany2026-10-30Chemel, James L Cpa RENEWAL7Xuxue Feng
1009Tony N MacleadBrazil2026-10-23Rousseaux, Michael Esq PROPOSAL61Onyama Limba
1010Darci R GlickFrance2026-10-20Printing Dimensions RENEWAL74Stephen Shaw
1011Isabel N OldroydFrance2026-10-16Chemel, James L Cpa QUALIFIED37Onyama Limba
1012Silvio K FollerRussia2026-10-23Rousseaux, Michael Esq PROPOSAL74Anna Fali
1013Costa F SchemmerSpain2026-10-17Chemel, James L Cpa RENEWAL42Onyama Limba
1014Greenwood E KolmetzRussia2026-10-16King, Christopher A Esq NEGOTIATION3Anna Fali
1015Rodrigues X SchemmerFrance2026-10-28Printing Dimensions NEGOTIATION58Ioni Bowcher
1016Isabel Z ButtFrance2026-10-21King, Christopher A Esq UNQUALIFIED97Asiya Javayant
1017Isabel R NickaItaly2026-10-21Morlong Associates NEGOTIATION77Elwin Sharvill
1018Ivar Q WieserItaly2026-10-24Feiner Bros NEGOTIATION68Amy Elsner
1019Salvatore P VenereGermany2026-10-28Chemel, James L Cpa UNQUALIFIED39Ioni Bowcher
1020Deepesh G FerenczRussia2026-10-16Dorl, James J Esq PROPOSAL58Onyama Limba
1021Aditya N CaldareraFrance2026-10-26Buckley Miller Wright NEW26Amy Elsner
1022Ivar M PerinGermany2026-11-01Dorl, James J Esq UNQUALIFIED75Elwin Sharvill
1023Leon V BologniaAustralia2026-10-18Feltz Printing Service QUALIFIED60Onyama Limba
1024Jones R TollnerBrazil2026-11-05Rangoni Of Florence RENEWAL32Elwin Sharvill
1025Mayumi A RutaAustralia2026-10-31Chapman, Ross E Esq PROPOSAL19Stephen Shaw
1026Francesco Y BowleyFrance2026-10-28Rousseaux, Michael Esq RENEWAL34Anna Fali
1027Silvio L AmigonSpain2026-10-17Printing Dimensions NEGOTIATION74Anna Fali
1028Julie S KuskoFrance2026-10-17Rangoni Of Florence RENEWAL95Ioni Bowcher
1029Ricardo S CampainJapan2026-10-16King, Christopher A Esq RENEWAL24Anna Fali
1030Nicolas I NestleSpain2026-10-18Chemel, James L Cpa QUALIFIED60Amy Elsner
1031Jennifer G IturbideArgentina2026-10-30Rangoni Of Florence NEW90Ioni Bowcher
1032Aruna T PoquetteItaly2026-10-28King, Christopher A Esq QUALIFIED73Asiya Javayant
1033Jeanfrancois R DarakjyIndia2026-10-21Chemel, James L Cpa UNQUALIFIED36Ioni Bowcher
1034Maisha X VenereAustralia2026-11-07Rangoni Of Florence QUALIFIED73Bernardo Dominic
1035Jones K FollerIndia2026-10-30Printing Dimensions RENEWAL68Amy Elsner
1036Costa E KuskoCanada2026-10-23Rangoni Of Florence PROPOSAL89Ioni Bowcher
1037Aika P GarufiJapan2026-10-17Commercial Press PROPOSAL29Amy Elsner
1038Jennifer Z MaletItaly2026-10-30Rousseaux, Michael Esq QUALIFIED25Onyama Limba
1039Darci A FigeroaSpain2026-11-11Commercial Press NEGOTIATION64Elwin Sharvill
1040Julie F MacleadItaly2026-11-04Printing Dimensions NEW36Xuxue Feng
1041Darci L PoquetteCanada2026-10-30Feiner Bros QUALIFIED50Asiya Javayant
1042Stacey X ButtJapan2026-10-18Rangoni Of Florence RENEWAL67Onyama Limba
1043Jones T PoquetteCanada2026-10-26Truhlar And Truhlar Attys NEGOTIATION69Anna Fali
1044Octavia Q GauchoBrazil2026-11-08Feltz Printing Service QUALIFIED28Onyama Limba
1045Octavia N WaycottFrance2026-10-31Commercial Press PROPOSAL29Asiya Javayant
1046Greenwood V SlusarskiIndia2026-11-07Rousseaux, Michael Esq QUALIFIED23Ivan Magalhaes
1047Johnson A AlbaresArgentina2026-10-14Chanay, Jeffrey A Esq NEW47Asiya Javayant
1048Johnson H MaletArgentina2026-10-29Chanay, Jeffrey A Esq UNQUALIFIED80Amy Elsner
1049Misaki L DarakjyIndia2026-10-20Rangoni Of Florence QUALIFIED14Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna Q OstroskyAustraliaAmy Elsner QUALIFIED
Francesco E AlbaresItalyAmy Elsner PROPOSAL
Ricardo G RoysterAustraliaOnyama Limba RENEWAL
Faith E ChuiAustraliaAmy Elsner NEGOTIATION
Julie R GillianUnited KingdomAnna Fali NEGOTIATION
Mujtaba V AlbaresCanadaStephen Shaw QUALIFIED
Smith E PoquetteIndiaStephen Shaw PROPOSAL
David D FlosiArgentinaAmy Elsner UNQUALIFIED
Smith D MaletArgentinaAmy Elsner PROPOSAL
Isabel V CaudyGermanyAnna Fali NEGOTIATION
Morrow J MarrierUnited KingdomAnna Fali RENEWAL
Maria X DilliardSpainStephen Shaw PROPOSAL
Antonio B ChuiItalyAmy Elsner PROPOSAL
Izzy O WieserIndiaAnna Fali RENEWAL
Cody Q FigeroaItalyIvan Magalhaes NEGOTIATION
Clifford L NickaAustraliaElwin Sharvill NEW
Mujtaba V AmigonArgentinaAsiya Javayant UNQUALIFIED
Maria X MacleadArgentinaIoni Bowcher UNQUALIFIED
Kadeem Y BowleyAustraliaAsiya Javayant PROPOSAL
Izzy I RutaAustraliaIoni Bowcher RENEWAL
Cody T PerinArgentinaBernardo Dominic NEGOTIATION
Stacey H StensethAustraliaIoni Bowcher QUALIFIED
Stacey E NickaGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois Z CampainAustraliaElwin Sharvill RENEWAL
Kaitlin U GlickItalyAsiya Javayant UNQUALIFIED
Chavez Z SergiCanadaElwin Sharvill NEGOTIATION
Juan D GauchoFranceElwin Sharvill NEW
Kadeem W NestleRussiaElwin Sharvill NEGOTIATION
Alejandro J CampainItalyIvan Magalhaes NEGOTIATION
Mujtaba I KuskoAustraliaXuxue Feng NEGOTIATION
Tony R BowleyJapanIoni Bowcher PROPOSAL
James U RutaIndiaStephen Shaw PROPOSAL
Murillo R GarufiFranceIoni Bowcher RENEWAL
Ricardo X FerenczCanadaStephen Shaw QUALIFIED
Morrow D PerinArgentinaStephen Shaw QUALIFIED
James X StockhamCanadaAmy Elsner RENEWAL
Aruna K StensethBrazilElwin Sharvill RENEWAL
Mayumi G OstroskyJapanElwin Sharvill PROPOSAL
Tony P FlosiJapanBernardo Dominic RENEWAL
Stacey F CaudyUnited KingdomStephen Shaw PROPOSAL
Mayumi Y VocelkaSpainXuxue Feng RENEWAL
Ivar R VenereCanadaAnna Fali NEW
Francesco E GlickArgentinaIoni Bowcher RENEWAL
Julie P MorascaAustraliaXuxue Feng PROPOSAL
Johnson H RulapaughFranceAnna Fali NEW
Munro H MarrierArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois G AlbaresGermanyIoni Bowcher NEW
Silvio Y VenereItalyElwin Sharvill NEW
Jones D DoeFranceAsiya Javayant NEW
Adams N MacleadGermanyAnna Fali PROPOSAL
Frozen Columns
Name
Aruna J Malet
Alejandro Q Paprocki
Clifford Y Venere
Alejandro F Garufi
Johnson H Nicka
Tony X Flosi
Sinclair C Morasca
Antonio G Poquette
Nicolas I Figeroa
Smith D Gaucho
Ricardo G Campain
Aditya L Dilliard
Octavia X Nicka
Jeanfrancois Z Maclead
David G Sergi
Sinclair K Wieser
Francesco V Campain
Francesco M Whobrey
Murillo D Gaucho
Sinclair Z Nicka
Misaki T Malet
Alejandro D Flosi
Kaitlin Q Inouye
Morrow Y Inouye
Kaitlin I Gillian
Stacey W Flosi
Alejandro S Campain
Jennifer L Nestle
Johnson N Ferencz
Kadeem U Gaucho
Misaki Z Wieser
Greenwood K Shinko
Jones I Ostrosky
Mujtaba S Rulapaugh
Leja I Rulapaugh
Chavez Q Caldarera
Isabel W Butt
Jeanfrancois X Foller
Juan S Morasca
Rodrigues I Poquette
Aditya J Rulapaugh
Smith O Schemmer
Francesco E Figeroa
Greenwood B Darakjy
Octavia D Rulapaugh
Isabel X Ferencz
Maisha T Campain
Aruna O Vocelka
Octavia D Rulapaugh
Francesco X Garufi
IdCountryDate
1000Russia2026-10-18
1001Russia2026-10-21
1002Japan2026-11-10
1003Spain2026-11-11
1004United Kingdom2026-10-17
1005India2026-11-01
1006Australia2026-10-13
1007Germany2026-10-16
1008Russia2026-11-01
1009Argentina2026-10-20
1010India2026-11-05
1011Russia2026-10-29
1012India2026-11-05
1013Italy2026-10-14
1014United Kingdom2026-10-30
1015Spain2026-10-22
1016Brazil2026-10-16
1017Brazil2026-11-11
1018Canada2026-10-16
1019Brazil2026-11-11
1020Canada2026-11-03
1021Germany2026-10-14
1022India2026-11-05
1023India2026-10-16
1024Italy2026-10-21
1025India2026-10-22
1026United Kingdom2026-11-04
1027France2026-10-30
1028Argentina2026-10-17
1029Japan2026-11-06
1030Canada2026-11-07
1031Australia2026-11-01
1032United Kingdom2026-11-10
1033Canada2026-10-22
1034Spain2026-10-18
1035Spain2026-11-06
1036Australia2026-11-08
1037India2026-11-04
1038France2026-10-13
1039Russia2026-10-30
1040Argentina2026-10-21
1041Italy2026-11-06
1042Russia2026-10-30
1043United Kingdom2026-10-19
1044Australia2026-10-22
1045Russia2026-10-28
1046United Kingdom2026-11-07
1047Italy2026-11-03
1048Japan2026-11-09
1049Germany2026-10-21

On-Demand Data

NameIdCountryDate
Aruna T Ruta1000United Kingdom2026-10-17
Kaitlin F Stockham1001Russia2026-10-22
Rodrigues V Marrier1002France2026-11-04
Jones G Malet1003Brazil2026-10-14
Leon D Chui1004Russia2026-10-20
Claire O Sergi1005Brazil2026-10-23
Alejandro Z Dilliard1006United Kingdom2026-10-30
Stacey X Iturbide1007Argentina2026-10-19
Isabel D Schemmer1008India2026-11-04
Silvio C Figeroa1009Argentina2026-10-19
Tony P Malet1010Argentina2026-11-02
Leon O Darakjy1011United Kingdom2026-11-01
Silvio F Kusko1012Japan2026-10-20
Greenwood B Shinko1013India2026-10-29
Johnson O Kusko1014Germany2026-11-10
Johnson G Butt1015India2026-11-05
Greenwood D Nestle1016Argentina2026-11-02
Jeanfrancois V Venere1017India2026-11-02
Clifford M Venere1018Russia2026-10-18
Jeanfrancois R Ruta1019United Kingdom2026-11-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow Y AmigonJapanBernardo Dominic NEW
Juan A GarufiGermanyIoni Bowcher NEGOTIATION
Silvio J DoeItalyAnna Fali UNQUALIFIED
Greenwood T OstroskySpainAnna Fali PROPOSAL
Aika D KolmetzIndiaBernardo Dominic UNQUALIFIED
Jones X SergiArgentinaBernardo Dominic QUALIFIED
Silvio W InouyeSpainAnna Fali UNQUALIFIED
Aika H DoeUnited KingdomStephen Shaw QUALIFIED
Silvio K DarakjyUnited KingdomOnyama Limba UNQUALIFIED
Julie R WieserUnited KingdomOnyama Limba NEGOTIATION
Maisha D RimGermanyElwin Sharvill RENEWAL
Clifford U AlbaresItalyAnna Fali NEW
Emily A NickaAustraliaAsiya Javayant NEW
Misaki S GillianSpainBernardo Dominic NEGOTIATION
Ivar O CaudyIndiaIvan Magalhaes PROPOSAL
Jennifer O SergiUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois G MaletFranceElwin Sharvill UNQUALIFIED
Kadeem V SlusarskiFranceIvan Magalhaes UNQUALIFIED
Ashley S GauchoAustraliaAmy Elsner NEGOTIATION
Julie V VocelkaIndiaIoni Bowcher QUALIFIED
Tony N StockhamJapanOnyama Limba QUALIFIED
Murillo O StensethGermanyBernardo Dominic NEGOTIATION
Octavia K RulapaughBrazilAnna Fali RENEWAL
Antonio A FollerRussiaBernardo Dominic NEGOTIATION
Adams H StockhamGermanyOnyama Limba NEGOTIATION
Francesco L ChuiRussiaAnna Fali NEW
Misaki O NestleGermanyXuxue Feng QUALIFIED
Kadeem U PoquetteAustraliaStephen Shaw NEGOTIATION
Deepesh G GarufiUnited KingdomOnyama Limba NEGOTIATION
Silvio P MaletJapanAsiya Javayant UNQUALIFIED
Murillo O BowleyCanadaIvan Magalhaes UNQUALIFIED
Alejandro W VocelkaRussiaBernardo Dominic QUALIFIED
Julie C GillianJapanIvan Magalhaes RENEWAL
Faith G SchemmerBrazilElwin Sharvill NEW
Clifford G CampainAustraliaStephen Shaw NEW
Izzy I FerenczJapanAsiya Javayant NEW
Izzy K FigeroaFranceStephen Shaw QUALIFIED
Nicolas U WhobreyCanadaIvan Magalhaes QUALIFIED
Aditya Y StockhamAustraliaOnyama Limba NEGOTIATION
Ricardo K MarrierGermanyOnyama Limba QUALIFIED

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