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
David D PoquetteRussiaBernardo Dominic UNQUALIFIED
Izzy S CaudyArgentinaIoni Bowcher QUALIFIED
Octavia Y StensethItalyIvan Magalhaes RENEWAL
Kadeem Y GillianBrazilAmy Elsner UNQUALIFIED
David M SchemmerCanadaIvan Magalhaes NEW
Rodrigues N GarufiAustraliaOnyama Limba PROPOSAL
Jefferson Q ShinkoFranceElwin Sharvill PROPOSAL
David J SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Salvatore S FollerIndiaOnyama Limba RENEWAL
Antonio L VenereJapanXuxue Feng RENEWAL
Mayumi K RutaAustraliaOnyama Limba PROPOSAL
Aditya G DilliardAustraliaAnna Fali QUALIFIED
Alejandro A VocelkaIndiaOnyama Limba QUALIFIED
Julie K NestleSpainAmy Elsner RENEWAL
Kaitlin Z GauchoRussiaOnyama Limba NEW
Aika M NestleJapanAsiya Javayant QUALIFIED
Aika K WhobreyRussiaAsiya Javayant PROPOSAL
Kadeem Y AmigonJapanAsiya Javayant PROPOSAL
Maisha Y VenereArgentinaElwin Sharvill RENEWAL
Nicolas N TollnerBrazilAmy Elsner QUALIFIED
Munro J GauchoAustraliaStephen Shaw NEW
Jefferson L PoquetteRussiaAsiya Javayant UNQUALIFIED
Rodrigues P SlusarskiItalyStephen Shaw QUALIFIED
Maisha T CaldareraCanadaAnna Fali NEGOTIATION
David Q DoeBrazilAnna Fali RENEWAL
Jennifer S IturbideCanadaOnyama Limba NEGOTIATION
Chavez I SaylorsSpainIvan Magalhaes UNQUALIFIED
Costa B CaudyCanadaOnyama Limba RENEWAL
Aika B BriddickIndiaStephen Shaw PROPOSAL
Alejandro L IturbideCanadaStephen Shaw UNQUALIFIED
Faith O GauchoBrazilIoni Bowcher PROPOSAL
James Y MorascaIndiaElwin Sharvill RENEWAL
Murillo O VenereUnited KingdomStephen Shaw PROPOSAL
Ricardo M VocelkaIndiaAsiya Javayant PROPOSAL
Cody G SlusarskiItalyAsiya Javayant UNQUALIFIED
Nicolas O KuskoArgentinaIvan Magalhaes QUALIFIED
Adams Q OstroskySpainIoni Bowcher QUALIFIED
Adams C GarufiFranceBernardo Dominic UNQUALIFIED
Silvio A BologniaJapanIvan Magalhaes PROPOSAL
Jefferson B SchemmerItalyOnyama Limba UNQUALIFIED
Darci K WaycottSpainXuxue Feng NEGOTIATION
Sinclair M FollerItalyAsiya Javayant NEW
Sinclair Y BologniaGermanyBernardo Dominic PROPOSAL
Wickens E VenereCanadaXuxue Feng NEW
Ricardo W BowleyFranceOnyama Limba NEW
Julie Z CampainAustraliaAnna Fali QUALIFIED
James I DilliardCanadaStephen Shaw NEGOTIATION
Greenwood K FollerFranceAmy Elsner UNQUALIFIED
Greenwood N AlbaresArgentinaElwin Sharvill UNQUALIFIED
Chavez V FerenczBrazilXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar U MorascaCanadaAmy Elsner RENEWAL
Claire K MaletItalyAsiya Javayant RENEWAL
Kaitlin H WhobreyFranceIoni Bowcher UNQUALIFIED
Jennifer H ButtJapanBernardo Dominic UNQUALIFIED
Jones Z PaprockiJapanAnna Fali UNQUALIFIED
Misaki U KolmetzGermanyBernardo Dominic NEGOTIATION
Kadeem S FlosiBrazilXuxue Feng UNQUALIFIED
Tony V RulapaughCanadaElwin Sharvill RENEWAL
Nicolas F SchemmerIndiaAnna Fali RENEWAL
Sinclair B TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh B WhobreyArgentina2026-10-27Commercial Press QUALIFIED56Anna Fali
1001Aruna T MaletUnited Kingdom2026-10-13Rousseaux, Michael Esq UNQUALIFIED58Ioni Bowcher
1002Kadeem I GillianGermany2026-11-05Dorl, James J Esq UNQUALIFIED8Xuxue Feng
1003Wickens Q StensethItaly2026-11-02Truhlar And Truhlar Attys QUALIFIED64Stephen Shaw
1004Emily P RimArgentina2026-10-10Morlong Associates UNQUALIFIED78Bernardo Dominic
1005Maria H PaprockiIndia2026-11-04Chemel, James L Cpa NEGOTIATION29Ivan Magalhaes
1006Juan V MarrierGermany2026-10-10Rangoni Of Florence RENEWAL6Onyama Limba
1007Aruna P AmigonBrazil2026-10-22Chanay, Jeffrey A Esq RENEWAL60Elwin Sharvill
1008Octavia O InouyeGermany2026-11-07Rousseaux, Michael Esq QUALIFIED76Anna Fali
1009Emily F ChuiIndia2026-10-14Rousseaux, Michael Esq NEW23Elwin Sharvill
1010Kadeem V StockhamItaly2026-11-04Chanay, Jeffrey A Esq NEGOTIATION99Amy Elsner
1011Stacey F FollerArgentina2026-10-18Rousseaux, Michael Esq QUALIFIED25Stephen Shaw
1012Kaitlin H CaudyItaly2026-10-21Chemel, James L Cpa QUALIFIED79Anna Fali
1013Ashley N ChuiSpain2026-10-19Chemel, James L Cpa RENEWAL91Elwin Sharvill
1014Aruna S BriddickFrance2026-10-26Dorl, James J Esq PROPOSAL3Onyama Limba
1015Jeanfrancois G ShinkoGermany2026-11-05Dorl, James J Esq QUALIFIED80Bernardo Dominic
1016Jones V AlbaresIndia2026-10-14Morlong Associates NEGOTIATION19Ivan Magalhaes
1017Munro D GlickRussia2026-10-18Feiner Bros RENEWAL90Asiya Javayant
1018Alejandro S PaprockiUnited Kingdom2026-10-19Truhlar And Truhlar Attys RENEWAL16Asiya Javayant
1019Francesco E DarakjyUnited Kingdom2026-10-24Benton, John B Jr QUALIFIED46Ioni Bowcher
1020Ivar D GlickItaly2026-11-03Morlong Associates NEGOTIATION85Amy Elsner
1021Izzy Q ChuiArgentina2026-11-05Rousseaux, Michael Esq UNQUALIFIED52Xuxue Feng
1022Isabel J WhobreyJapan2026-10-31Morlong Associates PROPOSAL92Asiya Javayant
1023Deepesh J DarakjyItaly2026-10-20Truhlar And Truhlar Attys RENEWAL30Amy Elsner
1024Munro J CaudyCanada2026-10-23Buckley Miller Wright QUALIFIED20Onyama Limba
1025Julie J FollerJapan2026-10-24Buckley Miller Wright PROPOSAL52Elwin Sharvill
1026Silvio P StockhamItaly2026-10-26Rousseaux, Michael Esq NEW67Elwin Sharvill
1027Aruna F SchemmerAustralia2026-10-29Rangoni Of Florence NEGOTIATION22Anna Fali
1028Darci M InouyeSpain2026-10-21Morlong Associates NEGOTIATION0Anna Fali
1029Antonio R ButtRussia2026-10-23Rangoni Of Florence RENEWAL28Asiya Javayant
1030Jennifer I VenereRussia2026-10-12Chemel, James L Cpa RENEWAL81Asiya Javayant
1031Smith G SergiJapan2026-10-19Printing Dimensions UNQUALIFIED73Stephen Shaw
1032Nicolas J StensethArgentina2026-10-27Rousseaux, Michael Esq UNQUALIFIED73Bernardo Dominic
1033Rodrigues M PaprockiAustralia2026-11-08Buckley Miller Wright QUALIFIED37Ioni Bowcher
1034Antonio Z FigeroaUnited Kingdom2026-10-20Printing Dimensions QUALIFIED61Amy Elsner
1035Aruna C BologniaUnited Kingdom2026-11-08Chemel, James L Cpa RENEWAL33Amy Elsner
1036Ashley C MarrierArgentina2026-10-19Chemel, James L Cpa NEW55Anna Fali
1037Jones I VenereUnited Kingdom2026-10-26Chemel, James L Cpa UNQUALIFIED57Amy Elsner
1038Cody G OstroskyItaly2026-10-11Chemel, James L Cpa NEW2Elwin Sharvill
1039Ashley T DoeCanada2026-10-21Chanay, Jeffrey A Esq RENEWAL52Asiya Javayant
1040Ivar E ShinkoGermany2026-11-05Feltz Printing Service NEW74Onyama Limba
1041Juan Z KolmetzGermany2026-10-25Printing Dimensions UNQUALIFIED39Stephen Shaw
1042Stacey O GlickUnited Kingdom2026-11-02King, Christopher A Esq QUALIFIED49Anna Fali
1043Kadeem C GillianItaly2026-10-21Rangoni Of Florence UNQUALIFIED58Ivan Magalhaes
1044Tony V DarakjyJapan2026-10-26Printing Dimensions NEGOTIATION42Elwin Sharvill
1045Cody X GlickRussia2026-10-25Feltz Printing Service NEGOTIATION90Stephen Shaw
1046Jennifer B RulapaughRussia2026-10-30Rousseaux, Michael Esq UNQUALIFIED70Ivan Magalhaes
1047Johnson B KuskoSpain2026-10-13Chapman, Ross E Esq PROPOSAL4Elwin Sharvill
1048Alejandro E StockhamSpain2026-10-31Benton, John B Jr NEGOTIATION30Onyama Limba
1049Wickens K IturbideItaly2026-10-22Dorl, James J Esq NEW38Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Clifford Z RimItalyXuxue Feng NEW
Maria E AmigonFranceAsiya Javayant NEW
Ricardo Z MaletGermanyOnyama Limba NEGOTIATION
Jennifer E MorascaGermanyAmy Elsner NEGOTIATION
Jefferson X RutaUnited KingdomBernardo Dominic RENEWAL
Murillo V BriddickArgentinaIvan Magalhaes PROPOSAL
Kaitlin G WhobreyIndiaAmy Elsner UNQUALIFIED
Leja N WieserJapanAmy Elsner PROPOSAL
Aditya S SaylorsSpainIoni Bowcher RENEWAL
Maria C WaycottAustraliaStephen Shaw NEGOTIATION
Deepesh V GauchoItalyAsiya Javayant UNQUALIFIED
Jones S CampainRussiaIvan Magalhaes NEW
Darci G GauchoRussiaElwin Sharvill PROPOSAL
Izzy Y NickaSpainIoni Bowcher UNQUALIFIED
Aruna X IturbideSpainOnyama Limba UNQUALIFIED
Arvin U KolmetzJapanAsiya Javayant RENEWAL
Kaitlin I OldroydRussiaIvan Magalhaes UNQUALIFIED
Jefferson C AmigonItalyAmy Elsner UNQUALIFIED
Leon X MorascaRussiaStephen Shaw RENEWAL
Kadeem I BowleyJapanAmy Elsner NEGOTIATION
David E KolmetzAustraliaOnyama Limba QUALIFIED
Silvio B WaycottSpainBernardo Dominic QUALIFIED
Faith N CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Adams U WhobreyAustraliaOnyama Limba UNQUALIFIED
Smith K OldroydItalyAnna Fali QUALIFIED
Stacey X MarrierFranceBernardo Dominic NEW
Silvio W StockhamArgentinaElwin Sharvill PROPOSAL
Emily R VenereCanadaElwin Sharvill UNQUALIFIED
Clifford X OstroskyAustraliaBernardo Dominic PROPOSAL
Greenwood P ButtArgentinaAsiya Javayant QUALIFIED
Izzy Y SchemmerAustraliaBernardo Dominic NEW
Kadeem B FollerFranceOnyama Limba PROPOSAL
Nicolas A AmigonUnited KingdomOnyama Limba UNQUALIFIED
David K FlosiFranceIvan Magalhaes QUALIFIED
Salvatore N BowleyAustraliaXuxue Feng RENEWAL
Faith W FollerArgentinaBernardo Dominic QUALIFIED
Jones M MaletArgentinaXuxue Feng PROPOSAL
Aruna A WieserJapanAmy Elsner NEGOTIATION
Sinclair V OldroydFranceElwin Sharvill QUALIFIED
Aika O RimArgentinaXuxue Feng UNQUALIFIED
Izzy Y GauchoSpainXuxue Feng RENEWAL
Julie S GarufiArgentinaOnyama Limba PROPOSAL
Octavia R AmigonFranceAsiya Javayant NEGOTIATION
Aika N OstroskyBrazilIoni Bowcher RENEWAL
Smith S NickaGermanyStephen Shaw QUALIFIED
Wickens F MaletItalyXuxue Feng NEGOTIATION
Emily I VocelkaItalyAsiya Javayant QUALIFIED
Darci C NickaGermanyIoni Bowcher NEW
Misaki O KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Smith V GauchoUnited KingdomAmy Elsner RENEWAL
Frozen Columns
Name
Johnson K Malet
Alejandro A Chui
Aditya X Doe
Ivar E Saylors
Costa F Morasca
James D Kolmetz
Aika K Gaucho
Claire M Kolmetz
Arvin W Marrier
Juan J Morasca
Silvio E Tollner
Julie E Marrier
Murillo P Venere
Munro G Kusko
Stacey N Tollner
Deepesh X Darakjy
Leon C Rulapaugh
Antonio R Kusko
Octavia E Amigon
Arvin E Stockham
Greenwood Z Chui
Smith M Shinko
Greenwood Y Oldroyd
Arvin J Wieser
Ivar J Caldarera
Tony Q Royster
Chavez C Malet
Adams Y Chui
Jennifer Q Glick
Claire N Ferencz
Cody V Briddick
Greenwood Z Marrier
Adams W Inouye
Mayumi F Kusko
Sinclair U Bolognia
Salvatore L Perin
Misaki K Bowley
Smith Y Malet
Sinclair Y Paprocki
Ricardo S Briddick
Maria V Gaucho
Faith M Garufi
Emily G Tollner
Faith C Schemmer
Octavia J Flosi
Nicolas V Garufi
Greenwood P Morasca
Juan I Caldarera
Leja W Ruta
Smith E Figeroa
IdCountryDate
1000Brazil2026-11-01
1001India2026-10-15
1002France2026-10-22
1003Brazil2026-11-07
1004Japan2026-10-31
1005Canada2026-10-22
1006France2026-10-14
1007Argentina2026-11-02
1008United Kingdom2026-10-29
1009United Kingdom2026-10-29
1010Russia2026-10-10
1011Germany2026-10-20
1012France2026-11-01
1013Spain2026-10-19
1014Japan2026-10-12
1015Germany2026-10-14
1016Argentina2026-11-06
1017Italy2026-10-26
1018Russia2026-10-27
1019Japan2026-10-17
1020Canada2026-10-11
1021Canada2026-11-03
1022United Kingdom2026-10-31
1023Russia2026-10-11
1024Japan2026-11-05
1025Italy2026-10-31
1026India2026-11-02
1027Brazil2026-10-19
1028Canada2026-10-31
1029Australia2026-10-30
1030Russia2026-10-25
1031Australia2026-10-27
1032Italy2026-10-20
1033India2026-10-30
1034Russia2026-10-20
1035Australia2026-10-18
1036Spain2026-10-24
1037Spain2026-10-14
1038Germany2026-10-27
1039Germany2026-10-22
1040Brazil2026-10-23
1041Argentina2026-10-13
1042United Kingdom2026-10-13
1043India2026-10-27
1044Australia2026-11-06
1045United Kingdom2026-11-05
1046Spain2026-11-03
1047Canada2026-11-01
1048India2026-10-17
1049Germany2026-10-29

On-Demand Data

NameIdCountryDate
Mayumi F Paprocki1000Canada2026-11-05
Sinclair C Venere1001Russia2026-10-16
Alejandro Z Caldarera1002Italy2026-10-14
Jennifer Y Amigon1003Germany2026-11-01
Francesco P Royster1004Italy2026-10-10
James E Vocelka1005Spain2026-10-17
Aditya V Darakjy1006Canada2026-11-07
James X Wieser1007Spain2026-10-30
Silvio W Malet1008Argentina2026-10-18
Jennifer H Ostrosky1009Spain2026-10-31
Maisha N Marrier1010Japan2026-11-04
Octavia T Marrier1011Brazil2026-11-08
Mayumi F Kusko1012Australia2026-11-02
Deepesh I Sergi1013United Kingdom2026-10-23
Jefferson X Morasca1014Russia2026-10-23
Claire F Flosi1015Argentina2026-11-05
Morrow M Rim1016Argentina2026-11-01
Antonio V Stenseth1017United Kingdom2026-10-16
Deepesh B Nestle1018Canada2026-10-17
Kadeem O Marrier1019Argentina2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy B GarufiJapanAmy Elsner NEW
Ivar M FlosiIndiaXuxue Feng UNQUALIFIED
Emily U MaletItalyStephen Shaw UNQUALIFIED
Ricardo K SaylorsGermanyBernardo Dominic PROPOSAL
Francesco P IturbideItalyAmy Elsner PROPOSAL
Sinclair G RulapaughJapanAnna Fali PROPOSAL
Mujtaba C SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh E TollnerGermanyBernardo Dominic QUALIFIED
Jefferson V BowleyCanadaOnyama Limba QUALIFIED
Kaitlin N GauchoSpainAsiya Javayant PROPOSAL
Adams M VenereIndiaAmy Elsner QUALIFIED
Antonio N SlusarskiJapanAmy Elsner PROPOSAL
Tony X VocelkaFranceXuxue Feng QUALIFIED
Antonio Q RoysterFranceOnyama Limba PROPOSAL
Greenwood D BowleyBrazilStephen Shaw PROPOSAL
Munro D WhobreyAustraliaIoni Bowcher NEGOTIATION
Cody C WhobreyJapanXuxue Feng RENEWAL
Silvio U BriddickBrazilAsiya Javayant NEGOTIATION
Rodrigues S RoysterGermanyIoni Bowcher UNQUALIFIED
James E PoquetteArgentinaIoni Bowcher NEW
Darci P FollerSpainElwin Sharvill QUALIFIED
Silvio O BriddickBrazilIvan Magalhaes UNQUALIFIED
Mayumi P CaudyIndiaIvan Magalhaes UNQUALIFIED
Juan A GauchoCanadaIoni Bowcher NEW
Cody X BowleySpainBernardo Dominic PROPOSAL
Rodrigues V ShinkoRussiaElwin Sharvill RENEWAL
Ashley F WhobreySpainStephen Shaw NEGOTIATION
David C MorascaFranceIoni Bowcher NEGOTIATION
Morrow R GlickArgentinaOnyama Limba NEW
Chavez T StensethRussiaIoni Bowcher NEW
Maria W FigeroaItalyOnyama Limba RENEWAL
Sinclair B BologniaCanadaBernardo Dominic NEW
Maria C GauchoItalyXuxue Feng NEGOTIATION
Stacey X KuskoArgentinaAnna Fali RENEWAL
Emily O NestleArgentinaAmy Elsner NEGOTIATION
James E CaldareraItalyElwin Sharvill UNQUALIFIED
Darci L NestleJapanIvan Magalhaes QUALIFIED
Octavia F WieserCanadaAnna Fali RENEWAL
Alejandro K SaylorsItalyStephen Shaw UNQUALIFIED
Ivar J SaylorsJapanIoni 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>