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
Adams H GlickItalyAsiya Javayant NEGOTIATION
Mayumi H SaylorsUnited KingdomStephen Shaw QUALIFIED
Sinclair I ChuiUnited KingdomIoni Bowcher NEW
Julie Q OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Darci Q MacleadArgentinaIvan Magalhaes QUALIFIED
David R WaycottItalyXuxue Feng RENEWAL
Francesco T AmigonAustraliaXuxue Feng UNQUALIFIED
Aruna G TollnerIndiaXuxue Feng NEGOTIATION
Misaki P StensethBrazilAmy Elsner PROPOSAL
Mayumi R ButtItalyAnna Fali UNQUALIFIED
Maisha O GauchoItalyOnyama Limba PROPOSAL
Darci L BriddickItalyStephen Shaw UNQUALIFIED
Leja I ShinkoBrazilAnna Fali RENEWAL
Tony B WaycottJapanAsiya Javayant PROPOSAL
Mayumi Q OldroydGermanyAnna Fali NEW
Aditya Q SlusarskiBrazilBernardo Dominic PROPOSAL
Wickens Y BriddickBrazilIvan Magalhaes NEGOTIATION
Jones K CampainArgentinaAnna Fali UNQUALIFIED
Ashley O MaletIndiaIvan Magalhaes UNQUALIFIED
Izzy F ShinkoArgentinaStephen Shaw NEGOTIATION
Leon Y FerenczUnited KingdomIoni Bowcher RENEWAL
Arvin F KuskoArgentinaStephen Shaw PROPOSAL
Murillo A PoquetteSpainStephen Shaw UNQUALIFIED
Kadeem M GarufiUnited KingdomAsiya Javayant PROPOSAL
Alejandro Y GillianSpainStephen Shaw RENEWAL
Jones A DarakjyItalyXuxue Feng PROPOSAL
Aditya X PoquetteGermanyIvan Magalhaes NEGOTIATION
Francesco G AmigonGermanyElwin Sharvill NEGOTIATION
Morrow S RutaItalyStephen Shaw PROPOSAL
Leja M NestleUnited KingdomAsiya Javayant QUALIFIED
Sinclair E FigeroaRussiaElwin Sharvill PROPOSAL
Arvin N NestleCanadaAsiya Javayant PROPOSAL
Clifford W DoeCanadaIvan Magalhaes PROPOSAL
Emily N StockhamItalyAsiya Javayant RENEWAL
Leja I CampainAustraliaBernardo Dominic QUALIFIED
Murillo R GarufiFranceElwin Sharvill PROPOSAL
Leja G AlbaresGermanyIvan Magalhaes NEGOTIATION
Jefferson G VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Munro L VocelkaCanadaStephen Shaw NEGOTIATION
Smith H MaletItalyIvan Magalhaes NEGOTIATION
Rodrigues Y PoquetteBrazilBernardo Dominic RENEWAL
Munro S GlickCanadaElwin Sharvill NEW
Alejandro M MacleadAustraliaAnna Fali NEGOTIATION
David V FigeroaCanadaIvan Magalhaes RENEWAL
Ivar K MarrierBrazilStephen Shaw PROPOSAL
Julie F DoeRussiaBernardo Dominic NEW
Jeanfrancois P WaycottCanadaIoni Bowcher NEW
Deepesh G KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Antonio U WieserItalyIoni Bowcher QUALIFIED
Kadeem S SaylorsArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois C GarufiSpainOnyama Limba NEW
Leon T OldroydAustraliaAmy Elsner NEGOTIATION
Murillo A AmigonGermanyXuxue Feng NEGOTIATION
Leon W MacleadAustraliaIoni Bowcher UNQUALIFIED
Adams A MaletJapanElwin Sharvill RENEWAL
Izzy Q KolmetzUnited KingdomStephen Shaw RENEWAL
Aditya O NestleJapanIoni Bowcher QUALIFIED
Maisha J CaudyRussiaElwin Sharvill NEGOTIATION
Jennifer N MaletFranceOnyama Limba RENEWAL
Cody Q BologniaAustraliaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer E BowleyRussia2026-10-20King, Christopher A Esq RENEWAL79Ioni Bowcher
1001Smith V VocelkaFrance2026-10-29Morlong Associates PROPOSAL93Asiya Javayant
1002Aruna G FlosiJapan2026-11-06Commercial Press PROPOSAL4Amy Elsner
1003Francesco G WhobreyAustralia2026-11-01Feiner Bros NEW55Onyama Limba
1004Smith S DarakjyIndia2026-10-25Rangoni Of Florence UNQUALIFIED33Anna Fali
1005Cody Y FlosiCanada2026-10-14King, Christopher A Esq QUALIFIED49Xuxue Feng
1006James J SchemmerSpain2026-10-18Dorl, James J Esq QUALIFIED78Amy Elsner
1007Isabel F OstroskyCanada2026-10-13Rangoni Of Florence PROPOSAL46Anna Fali
1008Aruna Y TollnerCanada2026-10-21Rangoni Of Florence PROPOSAL59Onyama Limba
1009Mujtaba Z PoquetteJapan2026-10-19Commercial Press NEW71Bernardo Dominic
1010Ivar T CampainIndia2026-11-05Rangoni Of Florence QUALIFIED58Asiya Javayant
1011Salvatore K NickaArgentina2026-10-10Chemel, James L Cpa NEGOTIATION4Anna Fali
1012Stacey Q DarakjyIndia2026-11-01Rousseaux, Michael Esq NEGOTIATION50Amy Elsner
1013Izzy O DoeArgentina2026-11-06Rangoni Of Florence UNQUALIFIED0Stephen Shaw
1014Misaki P OldroydBrazil2026-10-30Chemel, James L Cpa NEW0Elwin Sharvill
1015Leon G SlusarskiGermany2026-10-22Printing Dimensions RENEWAL62Stephen Shaw
1016Alejandro X TollnerSpain2026-10-15Chanay, Jeffrey A Esq QUALIFIED93Elwin Sharvill
1017Mujtaba T MarrierIndia2026-10-21Printing Dimensions PROPOSAL82Stephen Shaw
1018Murillo W FollerIndia2026-10-26Chemel, James L Cpa NEGOTIATION97Ioni Bowcher
1019Julie P VenereArgentina2026-10-19Morlong Associates NEGOTIATION4Asiya Javayant
1020Munro R MaletAustralia2026-10-29Chapman, Ross E Esq NEW20Amy Elsner
1021Johnson J AlbaresArgentina2026-11-08Feiner Bros QUALIFIED39Onyama Limba
1022Cody A GauchoArgentina2026-10-16Chemel, James L Cpa PROPOSAL71Ivan Magalhaes
1023Adams A SchemmerIndia2026-10-30Rangoni Of Florence RENEWAL81Amy Elsner
1024Ricardo C DilliardGermany2026-11-04King, Christopher A Esq QUALIFIED85Elwin Sharvill
1025Mujtaba B FlosiSpain2026-10-21Chemel, James L Cpa PROPOSAL68Anna Fali
1026Julie S StockhamIndia2026-10-19Feltz Printing Service UNQUALIFIED26Ivan Magalhaes
1027Nicolas C CaudyGermany2026-10-20Rangoni Of Florence NEGOTIATION27Stephen Shaw
1028Isabel N DilliardArgentina2026-10-21Benton, John B Jr QUALIFIED57Elwin Sharvill
1029Leja S FerenczBrazil2026-11-05Chemel, James L Cpa PROPOSAL54Stephen Shaw
1030Jennifer D GlickAustralia2026-11-01Feltz Printing Service UNQUALIFIED39Amy Elsner
1031Silvio S ChuiJapan2026-10-25Truhlar And Truhlar Attys NEW56Onyama Limba
1032Cody R VenereIndia2026-10-21Buckley Miller Wright NEW48Xuxue Feng
1033Ricardo A RimFrance2026-11-05Benton, John B Jr QUALIFIED79Anna Fali
1034Costa F PaprockiFrance2026-10-17Benton, John B Jr RENEWAL40Ivan Magalhaes
1035Rodrigues Y SlusarskiCanada2026-11-07Chanay, Jeffrey A Esq QUALIFIED1Asiya Javayant
1036Aruna C GillianAustralia2026-10-18King, Christopher A Esq NEGOTIATION38Ioni Bowcher
1037Aika Q DilliardItaly2026-11-02King, Christopher A Esq NEW49Amy Elsner
1038Aika A SaylorsIndia2026-11-05Morlong Associates PROPOSAL56Amy Elsner
1039Ricardo R InouyeBrazil2026-11-02Truhlar And Truhlar Attys UNQUALIFIED91Ioni Bowcher
1040Juan J RoysterItaly2026-10-31Chapman, Ross E Esq RENEWAL17Amy Elsner
1041Isabel L KolmetzItaly2026-10-25Printing Dimensions UNQUALIFIED32Xuxue Feng
1042Antonio H KolmetzArgentina2026-10-22Rousseaux, Michael Esq RENEWAL15Elwin Sharvill
1043Cody Z CaudyGermany2026-11-05Chanay, Jeffrey A Esq QUALIFIED33Amy Elsner
1044Aika I DarakjyArgentina2026-10-22Morlong Associates RENEWAL15Ivan Magalhaes
1045Francesco E WhobreyRussia2026-10-18Truhlar And Truhlar Attys QUALIFIED67Ivan Magalhaes
1046Sinclair T DarakjyArgentina2026-10-31Chemel, James L Cpa NEW88Stephen Shaw
1047Aruna S CampainUnited Kingdom2026-11-01Commercial Press NEGOTIATION11Elwin Sharvill
1048Wickens N MarrierGermany2026-10-14Commercial Press NEGOTIATION13Anna Fali
1049Stacey O SlusarskiIndia2026-10-18Dorl, James J Esq RENEWAL84Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
David F VenereFranceXuxue Feng RENEWAL
Leon S IturbideFranceAmy Elsner PROPOSAL
Salvatore Z StockhamItalyAsiya Javayant PROPOSAL
Cody N SchemmerBrazilAsiya Javayant QUALIFIED
Deepesh G AlbaresItalyAmy Elsner NEGOTIATION
Greenwood K TollnerItalyBernardo Dominic UNQUALIFIED
Nicolas F DilliardBrazilBernardo Dominic QUALIFIED
Jennifer W ButtSpainXuxue Feng UNQUALIFIED
Faith R OstroskyArgentinaAmy Elsner UNQUALIFIED
Tony A SaylorsFranceAsiya Javayant NEW
Ricardo V StockhamFranceAsiya Javayant PROPOSAL
Isabel F DoeArgentinaIoni Bowcher QUALIFIED
Munro W OstroskyJapanStephen Shaw PROPOSAL
Octavia Y MaletItalyAnna Fali NEGOTIATION
Jeanfrancois H WaycottJapanIvan Magalhaes QUALIFIED
James M VocelkaSpainIoni Bowcher QUALIFIED
Maria X RutaArgentinaOnyama Limba QUALIFIED
Aika R SaylorsAustraliaOnyama Limba PROPOSAL
Jeanfrancois O PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Johnson Y CaldareraArgentinaAnna Fali RENEWAL
Cody T BologniaCanadaElwin Sharvill NEGOTIATION
Julie F MacleadAustraliaAsiya Javayant PROPOSAL
Sinclair F RutaBrazilElwin Sharvill RENEWAL
Darci R MaletItalyIoni Bowcher PROPOSAL
Jennifer Z CaudyUnited KingdomStephen Shaw NEGOTIATION
Misaki M GlickIndiaAsiya Javayant NEW
Costa Y RulapaughGermanyBernardo Dominic NEW
Deepesh R NickaUnited KingdomIvan Magalhaes NEGOTIATION
Aruna Q RulapaughBrazilElwin Sharvill NEGOTIATION
Juan P InouyeIndiaAnna Fali UNQUALIFIED
Greenwood W RutaAustraliaAsiya Javayant RENEWAL
Jefferson G MarrierCanadaAmy Elsner UNQUALIFIED
Jones I SchemmerAustraliaAmy Elsner QUALIFIED
Darci S IturbideGermanyIvan Magalhaes UNQUALIFIED
Smith P OstroskySpainAnna Fali QUALIFIED
Kaitlin I BriddickRussiaIvan Magalhaes NEW
Stacey Y CampainArgentinaOnyama Limba NEW
Juan O PoquetteFranceAsiya Javayant NEW
Arvin A FlosiSpainAsiya Javayant NEGOTIATION
Clifford K RutaJapanAnna Fali PROPOSAL
Cody J TollnerIndiaAmy Elsner NEGOTIATION
Aditya X AlbaresAustraliaIvan Magalhaes NEGOTIATION
Francesco B DilliardAustraliaBernardo Dominic UNQUALIFIED
Costa F RoysterRussiaElwin Sharvill UNQUALIFIED
Greenwood B RulapaughSpainAnna Fali RENEWAL
Arvin I PaprockiBrazilAsiya Javayant RENEWAL
Maria S ChuiCanadaIvan Magalhaes NEW
Arvin S KolmetzRussiaAnna Fali PROPOSAL
Emily T DoeBrazilAmy Elsner PROPOSAL
James U MaletSpainStephen Shaw RENEWAL
Frozen Columns
Name
Juan T Royster
Jennifer W Sergi
Antonio B Bolognia
Arvin Y Campain
Adams T Tollner
Maisha X Malet
Jefferson K Caudy
Costa J Amigon
Misaki N Ruta
Mayumi N Shinko
Kadeem L Flosi
Rodrigues T Malet
Silvio T Royster
Ricardo M Shinko
Wickens E Ruta
Maria X Figeroa
Silvio N Caldarera
Jeanfrancois H Royster
Munro D Ruta
Stacey A Stockham
Francesco Z Whobrey
Kadeem A Schemmer
Misaki U Gaucho
Sinclair C Flosi
Salvatore H Slusarski
Isabel Z Darakjy
Antonio L Waycott
Cody D Stockham
Mayumi Q Darakjy
Ricardo J Gaucho
Deepesh Q Royster
Adams M Ruta
Mujtaba F Foller
Munro X Oldroyd
Mayumi Z Sergi
Morrow B Ostrosky
Arvin M Oldroyd
Nicolas F Oldroyd
Maria H Caldarera
Emily E Figeroa
Greenwood X Garufi
Costa A Malet
Rodrigues G Rulapaugh
Clifford W Poquette
Emily F Amigon
Kadeem S Malet
Ashley F Saylors
Aditya L Kusko
Wickens W Morasca
Costa D Caudy
IdCountryDate
1000Russia2026-11-05
1001Argentina2026-11-06
1002Japan2026-11-02
1003Japan2026-10-29
1004Italy2026-10-19
1005France2026-10-19
1006Russia2026-10-31
1007Brazil2026-10-18
1008United Kingdom2026-10-15
1009France2026-10-17
1010United Kingdom2026-10-11
1011Australia2026-11-07
1012Italy2026-10-27
1013Italy2026-11-06
1014Italy2026-11-02
1015Brazil2026-10-20
1016Canada2026-11-04
1017Brazil2026-10-25
1018Brazil2026-10-29
1019Spain2026-11-05
1020Germany2026-10-14
1021Germany2026-10-23
1022India2026-10-26
1023Italy2026-10-31
1024United Kingdom2026-10-23
1025Russia2026-10-21
1026France2026-10-27
1027Brazil2026-10-22
1028Germany2026-11-05
1029Canada2026-10-11
1030Canada2026-10-19
1031Australia2026-11-08
1032Spain2026-11-07
1033Italy2026-11-08
1034Australia2026-10-25
1035Japan2026-10-15
1036Spain2026-10-23
1037France2026-10-31
1038Argentina2026-10-31
1039India2026-10-18
1040Italy2026-10-19
1041Spain2026-10-29
1042France2026-10-22
1043Argentina2026-10-17
1044Japan2026-10-18
1045Brazil2026-10-22
1046Australia2026-10-31
1047India2026-10-13
1048United Kingdom2026-10-14
1049United Kingdom2026-11-05

On-Demand Data

NameIdCountryDate
Munro W Briddick1000Italy2026-11-04
Octavia A Foller1001Spain2026-10-26
Jeanfrancois D Vocelka1002Brazil2026-11-03
Juan J Foller1003United Kingdom2026-10-12
Arvin Z Ferencz1004France2026-11-06
Johnson M Venere1005Australia2026-10-24
Isabel I Poquette1006Canada2026-11-02
Antonio Q Rulapaugh1007Italy2026-10-30
Mujtaba J Rulapaugh1008India2026-10-22
Maria Q Slusarski1009Italy2026-10-31
Smith J Malet1010Brazil2026-10-25
James D Oldroyd1011Brazil2026-10-22
David W Flosi1012Italy2026-10-24
Smith F Tollner1013United Kingdom2026-10-27
Jennifer I Marrier1014Italy2026-10-12
Ivar T Inouye1015Brazil2026-11-06
Silvio V Glick1016Japan2026-10-26
Wickens T Slusarski1017France2026-11-02
Wickens Y Kusko1018Spain2026-11-07
Emily V Nicka1019India2026-10-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois W WhobreyBrazilStephen Shaw RENEWAL
Rodrigues Q TollnerJapanXuxue Feng PROPOSAL
Sinclair M SaylorsSpainElwin Sharvill QUALIFIED
Francesco P BriddickSpainBernardo Dominic RENEWAL
Aruna Q FollerSpainIvan Magalhaes PROPOSAL
Tony G CaudyBrazilElwin Sharvill QUALIFIED
Misaki F PoquetteFranceStephen Shaw RENEWAL
Francesco V TollnerCanadaXuxue Feng NEGOTIATION
Greenwood W OldroydIndiaXuxue Feng PROPOSAL
Arvin T GillianAustraliaBernardo Dominic QUALIFIED
Salvatore O WieserItalyAnna Fali RENEWAL
Murillo T RimCanadaElwin Sharvill NEGOTIATION
Ashley Q DarakjyCanadaOnyama Limba UNQUALIFIED
Antonio X SergiJapanStephen Shaw RENEWAL
Jennifer Z MaletUnited KingdomXuxue Feng NEGOTIATION
Rodrigues X SaylorsRussiaAmy Elsner QUALIFIED
Tony E ShinkoBrazilBernardo Dominic NEW
Mayumi L GillianRussiaIoni Bowcher QUALIFIED
Jones T SchemmerRussiaOnyama Limba UNQUALIFIED
Francesco I InouyeIndiaIvan Magalhaes RENEWAL
Ashley P StockhamArgentinaAnna Fali PROPOSAL
Jennifer C AlbaresCanadaIvan Magalhaes UNQUALIFIED
Izzy H MacleadItalyStephen Shaw QUALIFIED
Jefferson B RoysterJapanBernardo Dominic NEW
Maria G CampainAustraliaAsiya Javayant RENEWAL
Jones H OldroydUnited KingdomAmy Elsner PROPOSAL
Ivar P PoquetteJapanElwin Sharvill NEGOTIATION
Faith Z ChuiSpainAnna Fali QUALIFIED
Murillo W RimBrazilIvan Magalhaes PROPOSAL
Stacey V CaldareraSpainOnyama Limba NEW
Mayumi J OldroydRussiaAmy Elsner PROPOSAL
Sinclair M WhobreyFranceIvan Magalhaes NEW
Cody S BologniaFranceAmy Elsner NEGOTIATION
Juan X MaletUnited KingdomElwin Sharvill NEGOTIATION
Munro E OstroskySpainXuxue Feng RENEWAL
Aika A MaletAustraliaOnyama Limba RENEWAL
Tony E FollerSpainElwin Sharvill QUALIFIED
Leon A ChuiUnited KingdomIoni Bowcher NEW
Isabel N WhobreyFranceAnna Fali PROPOSAL
Johnson G IturbideAustraliaBernardo Dominic PROPOSAL

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