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
Maria L CampainGermanyAnna Fali UNQUALIFIED
Jones V FigeroaItalyElwin Sharvill QUALIFIED
Kadeem H OstroskyRussiaBernardo Dominic RENEWAL
Francesco J FlosiUnited KingdomOnyama Limba QUALIFIED
Deepesh Z PerinGermanyOnyama Limba UNQUALIFIED
Rodrigues X BowleyUnited KingdomElwin Sharvill NEW
Kadeem A GillianBrazilAnna Fali UNQUALIFIED
James A NickaAustraliaIoni Bowcher RENEWAL
Mayumi S KuskoSpainIvan Magalhaes PROPOSAL
Aruna A CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Emily C DarakjyBrazilElwin Sharvill RENEWAL
Jennifer X KolmetzIndiaIvan Magalhaes NEGOTIATION
Nicolas I RutaAustraliaXuxue Feng RENEWAL
Kadeem K OldroydIndiaElwin Sharvill QUALIFIED
Ashley Z DilliardFranceStephen Shaw RENEWAL
Jeanfrancois A DilliardFranceAsiya Javayant PROPOSAL
Darci K NickaBrazilXuxue Feng RENEWAL
Mujtaba F FigeroaIndiaAmy Elsner PROPOSAL
Aruna C OstroskyIndiaBernardo Dominic NEGOTIATION
Darci R MorascaJapanElwin Sharvill PROPOSAL
Smith M MaletCanadaIvan Magalhaes UNQUALIFIED
Salvatore X CaldareraJapanAsiya Javayant QUALIFIED
Clifford M OstroskyArgentinaBernardo Dominic NEW
Alejandro Y SaylorsCanadaAmy Elsner QUALIFIED
Kadeem J CampainGermanyXuxue Feng NEW
Maisha W MaletJapanXuxue Feng PROPOSAL
Arvin G RimCanadaOnyama Limba NEW
Smith M CampainArgentinaBernardo Dominic RENEWAL
Smith H CaldareraCanadaIoni Bowcher PROPOSAL
Adams K BologniaJapanAsiya Javayant NEGOTIATION
James M InouyeCanadaBernardo Dominic NEW
Jennifer I KuskoAustraliaAsiya Javayant NEGOTIATION
Leon G RoysterGermanyBernardo Dominic UNQUALIFIED
Sinclair W TollnerBrazilBernardo Dominic UNQUALIFIED
Jones L PoquetteSpainXuxue Feng UNQUALIFIED
Tony F PerinAustraliaBernardo Dominic PROPOSAL
Sinclair M WhobreyAustraliaIoni Bowcher RENEWAL
Mujtaba Q KuskoUnited KingdomAmy Elsner NEW
Ivar I ShinkoRussiaAmy Elsner PROPOSAL
Darci J KuskoUnited KingdomAnna Fali PROPOSAL
Alejandro D SlusarskiGermanyIoni Bowcher NEGOTIATION
Silvio M CaldareraSpainIoni Bowcher NEGOTIATION
Mayumi S NickaRussiaAsiya Javayant QUALIFIED
Kadeem Q ChuiJapanXuxue Feng UNQUALIFIED
Claire E KolmetzRussiaStephen Shaw UNQUALIFIED
Ricardo O StensethAustraliaAmy Elsner RENEWAL
Murillo V CaldareraFranceIvan Magalhaes UNQUALIFIED
Adams R PerinAustraliaIvan Magalhaes QUALIFIED
Cody N DarakjySpainIoni Bowcher PROPOSAL
Salvatore G FlosiFranceAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams F AmigonItalyXuxue Feng NEGOTIATION
Maisha X WieserSpainXuxue Feng NEW
Arvin F DoeRussiaIoni Bowcher NEW
David R DilliardFranceXuxue Feng PROPOSAL
Sinclair P GauchoRussiaIvan Magalhaes PROPOSAL
Kaitlin P SchemmerCanadaOnyama Limba NEW
Jones B SergiArgentinaXuxue Feng UNQUALIFIED
Izzy W RoysterSpainAnna Fali NEW
Stacey Z OldroydCanadaElwin Sharvill UNQUALIFIED
Leon V StensethFranceStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas T ButtRussia2026-11-03Commercial Press QUALIFIED14Ioni Bowcher
1001Stacey I GarufiJapan2026-10-18Printing Dimensions NEW32Ivan Magalhaes
1002Jeanfrancois S ButtSpain2026-11-01Chemel, James L Cpa PROPOSAL95Bernardo Dominic
1003Juan V GauchoItaly2026-11-01Rangoni Of Florence PROPOSAL74Onyama Limba
1004Salvatore U DoeUnited Kingdom2026-10-10Truhlar And Truhlar Attys QUALIFIED68Onyama Limba
1005Morrow A RutaIndia2026-10-17King, Christopher A Esq NEW95Onyama Limba
1006Mayumi O NickaFrance2026-10-20Truhlar And Truhlar Attys PROPOSAL11Xuxue Feng
1007David K NickaJapan2026-10-27Chapman, Ross E Esq QUALIFIED95Elwin Sharvill
1008Antonio T BriddickAustralia2026-10-07Benton, John B Jr QUALIFIED43Ivan Magalhaes
1009Wickens U IturbideGermany2026-10-17Chanay, Jeffrey A Esq PROPOSAL38Asiya Javayant
1010Morrow S BowleyAustralia2026-11-01Rangoni Of Florence QUALIFIED1Ivan Magalhaes
1011Kaitlin B SergiAustralia2026-10-21Dorl, James J Esq PROPOSAL89Anna Fali
1012Octavia A GarufiIndia2026-10-09King, Christopher A Esq PROPOSAL23Bernardo Dominic
1013Aditya K GillianBrazil2026-10-08Buckley Miller Wright PROPOSAL86Onyama Limba
1014Antonio S ButtCanada2026-10-10Dorl, James J Esq QUALIFIED77Asiya Javayant
1015Misaki Y PoquetteSpain2026-10-11Chemel, James L Cpa UNQUALIFIED41Xuxue Feng
1016Deepesh Z SlusarskiFrance2026-10-26King, Christopher A Esq NEGOTIATION29Anna Fali
1017Rodrigues L NestleBrazil2026-10-11Chapman, Ross E Esq NEW17Onyama Limba
1018Clifford G SlusarskiAustralia2026-11-02Chemel, James L Cpa NEGOTIATION29Amy Elsner
1019Johnson J OstroskyAustralia2026-10-20Commercial Press NEGOTIATION85Onyama Limba
1020Sinclair E WieserArgentina2026-11-02Dorl, James J Esq PROPOSAL21Elwin Sharvill
1021Antonio S RimItaly2026-11-01Dorl, James J Esq NEW92Ioni Bowcher
1022Claire N OstroskyCanada2026-10-09Chanay, Jeffrey A Esq RENEWAL9Amy Elsner
1023Wickens H NestleGermany2026-10-24Rousseaux, Michael Esq NEW41Bernardo Dominic
1024Aruna K AlbaresRussia2026-10-07King, Christopher A Esq PROPOSAL95Amy Elsner
1025Izzy X BologniaUnited Kingdom2026-10-23Chemel, James L Cpa NEGOTIATION28Elwin Sharvill
1026Tony K IturbideItaly2026-10-28Rousseaux, Michael Esq NEGOTIATION2Anna Fali
1027Johnson P BowleyJapan2026-11-02Chapman, Ross E Esq NEGOTIATION65Amy Elsner
1028Rodrigues U VenereItaly2026-10-07Feiner Bros NEGOTIATION44Anna Fali
1029Ashley S WieserBrazil2026-10-13Feltz Printing Service RENEWAL8Elwin Sharvill
1030Alejandro U WhobreyCanada2026-10-18Commercial Press NEGOTIATION72Bernardo Dominic
1031Aika U BriddickBrazil2026-11-02Chanay, Jeffrey A Esq NEW12Asiya Javayant
1032Jones C OldroydCanada2026-10-18Buckley Miller Wright NEGOTIATION59Amy Elsner
1033Francesco F SchemmerItaly2026-10-14Chanay, Jeffrey A Esq NEGOTIATION65Elwin Sharvill
1034Darci E PerinItaly2026-10-11Chanay, Jeffrey A Esq NEW64Ivan Magalhaes
1035Arvin T OstroskyUnited Kingdom2026-10-17Chanay, Jeffrey A Esq NEW20Onyama Limba
1036Jones J OstroskyBrazil2026-10-31Chapman, Ross E Esq NEGOTIATION65Onyama Limba
1037Jones C AmigonArgentina2026-10-30Chemel, James L Cpa RENEWAL40Bernardo Dominic
1038Kadeem S InouyeItaly2026-10-20Morlong Associates UNQUALIFIED23Xuxue Feng
1039James M CampainRussia2026-10-24Rangoni Of Florence NEGOTIATION95Bernardo Dominic
1040Francesco C WaycottFrance2026-10-05Buckley Miller Wright UNQUALIFIED10Onyama Limba
1041Deepesh H GarufiItaly2026-10-05Morlong Associates UNQUALIFIED28Xuxue Feng
1042Mayumi U MaletIndia2026-10-31Chanay, Jeffrey A Esq QUALIFIED81Ioni Bowcher
1043Chavez C RulapaughGermany2026-10-28Feltz Printing Service NEW39Bernardo Dominic
1044Costa H DarakjySpain2026-11-03Benton, John B Jr PROPOSAL16Elwin Sharvill
1045Smith T DilliardJapan2026-10-30Chanay, Jeffrey A Esq RENEWAL88Stephen Shaw
1046Antonio K GlickIndia2026-10-08Chapman, Ross E Esq QUALIFIED98Bernardo Dominic
1047Emily G DilliardRussia2026-10-13Commercial Press NEGOTIATION27Anna Fali
1048Julie K MarrierRussia2026-10-30Rousseaux, Michael Esq QUALIFIED68Amy Elsner
1049Jeanfrancois B StockhamFrance2026-10-28Buckley Miller Wright UNQUALIFIED25Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Morrow I OstroskyCanadaElwin Sharvill QUALIFIED
Jefferson X SlusarskiRussiaAnna Fali QUALIFIED
Costa I SergiRussiaAnna Fali RENEWAL
Alejandro G VocelkaIndiaIvan Magalhaes UNQUALIFIED
Smith D RulapaughAustraliaAnna Fali PROPOSAL
Salvatore J SergiArgentinaOnyama Limba RENEWAL
Aruna N DarakjyRussiaXuxue Feng PROPOSAL
Octavia Q WaycottSpainBernardo Dominic NEGOTIATION
Costa P PoquetteArgentinaIvan Magalhaes RENEWAL
Morrow V ShinkoSpainElwin Sharvill QUALIFIED
James C AlbaresItalyBernardo Dominic PROPOSAL
Jefferson F VenereUnited KingdomStephen Shaw PROPOSAL
Julie J OldroydJapanIvan Magalhaes QUALIFIED
Greenwood D AlbaresSpainAmy Elsner NEGOTIATION
Greenwood H MaletArgentinaOnyama Limba NEW
Antonio W GarufiRussiaXuxue Feng QUALIFIED
Claire H StensethFranceElwin Sharvill RENEWAL
Misaki K RoysterCanadaIoni Bowcher PROPOSAL
Jennifer X DarakjyBrazilAmy Elsner UNQUALIFIED
Julie K CaldareraRussiaIoni Bowcher PROPOSAL
Tony E WieserArgentinaBernardo Dominic UNQUALIFIED
Tony C RoysterCanadaIvan Magalhaes UNQUALIFIED
Murillo X RimIndiaAmy Elsner QUALIFIED
Julie W MacleadBrazilIoni Bowcher NEW
Tony G InouyeItalyStephen Shaw UNQUALIFIED
Nicolas C SlusarskiGermanyXuxue Feng UNQUALIFIED
Jeanfrancois I SlusarskiAustraliaOnyama Limba UNQUALIFIED
Antonio Q ShinkoRussiaIoni Bowcher PROPOSAL
Jefferson G RoysterBrazilBernardo Dominic NEW
Maisha Q MarrierGermanyIvan Magalhaes UNQUALIFIED
Adams Z PaprockiItalyIoni Bowcher NEW
Aditya D RoysterFranceBernardo Dominic QUALIFIED
Sinclair D ShinkoCanadaAsiya Javayant UNQUALIFIED
Kadeem H FlosiBrazilAmy Elsner UNQUALIFIED
Izzy H OldroydBrazilBernardo Dominic NEW
Tony Q GauchoCanadaElwin Sharvill QUALIFIED
Aruna R RulapaughJapanElwin Sharvill RENEWAL
Silvio B TollnerBrazilStephen Shaw QUALIFIED
Aruna I DoeFranceAsiya Javayant RENEWAL
Ricardo G AlbaresArgentinaBernardo Dominic NEGOTIATION
Kadeem T FerenczFranceIoni Bowcher RENEWAL
Murillo B FigeroaBrazilIvan Magalhaes NEGOTIATION
Clifford R AlbaresRussiaStephen Shaw QUALIFIED
Ashley U CaudyFranceXuxue Feng UNQUALIFIED
Isabel I FlosiAustraliaAmy Elsner QUALIFIED
Kaitlin U KuskoIndiaBernardo Dominic RENEWAL
Costa X MaletGermanyElwin Sharvill PROPOSAL
Cody P StockhamAustraliaStephen Shaw NEGOTIATION
Arvin M PerinFranceXuxue Feng NEW
Juan S ChuiItalyXuxue Feng RENEWAL
Frozen Columns
Name
Johnson W Darakjy
Morrow H Doe
Silvio X Ostrosky
Salvatore P Glick
Ashley K Garufi
James S Flosi
Morrow V Iturbide
Francesco Z Nestle
Aditya E Foller
Maisha Q Slusarski
Chavez Z Kolmetz
Isabel C Bolognia
Maisha N Maclead
Maisha J Ostrosky
Deepesh G Gaucho
Rodrigues Q Marrier
Leon K Saylors
Emily N Sergi
Izzy Y Stenseth
Jefferson X Figeroa
Morrow S Nicka
Aditya W Perin
Jones N Whobrey
Silvio C Bolognia
Izzy G Ostrosky
Aruna V Bowley
Izzy C Glick
Silvio I Maclead
Cody W Slusarski
Kaitlin C Oldroyd
Ivar V Malet
Emily K Gaucho
Deepesh M Briddick
Smith R Iturbide
Jeanfrancois N Rim
Ivar X Whobrey
Ashley D Saylors
Alejandro C Amigon
Munro I Ruta
Murillo K Figeroa
Stacey T Rim
Jones S Rulapaugh
Claire E Campain
Claire J Morasca
Smith I Iturbide
Kaitlin W Stockham
Tony O Albares
Jones Q Gillian
Ivar S Ruta
Leja L Vocelka
IdCountryDate
1000Australia2026-10-31
1001Germany2026-10-10
1002Italy2026-10-29
1003Germany2026-10-26
1004India2026-10-22
1005India2026-10-29
1006Canada2026-10-09
1007Russia2026-11-03
1008Australia2026-10-12
1009Canada2026-11-02
1010Brazil2026-10-20
1011Brazil2026-10-09
1012Italy2026-10-17
1013Spain2026-10-08
1014India2026-10-29
1015Italy2026-11-01
1016India2026-10-23
1017United Kingdom2026-10-21
1018Argentina2026-10-22
1019Brazil2026-10-11
1020Italy2026-10-05
1021United Kingdom2026-10-22
1022Canada2026-10-05
1023Australia2026-10-13
1024Germany2026-10-26
1025Japan2026-10-31
1026Italy2026-11-02
1027Spain2026-10-22
1028Germany2026-10-10
1029Canada2026-10-17
1030Brazil2026-10-23
1031India2026-10-07
1032Germany2026-10-30
1033Canada2026-10-31
1034Canada2026-10-19
1035Spain2026-10-31
1036United Kingdom2026-10-26
1037Japan2026-10-31
1038Argentina2026-10-09
1039Canada2026-10-23
1040Canada2026-10-12
1041Italy2026-10-31
1042France2026-10-11
1043Canada2026-10-25
1044Germany2026-10-23
1045Brazil2026-11-01
1046France2026-10-31
1047France2026-10-15
1048United Kingdom2026-11-02
1049France2026-11-01

On-Demand Data

NameIdCountryDate
Jennifer L Malet1000Brazil2026-10-20
Mujtaba B Darakjy1001Canada2026-10-22
Claire J Flosi1002Argentina2026-10-07
Aika X Whobrey1003Brazil2026-10-31
Leja U Kolmetz1004Russia2026-10-14
Silvio Q Royster1005Brazil2026-11-01
Jennifer D Chui1006Germany2026-10-13
Smith F Bolognia1007France2026-11-01
Claire H Nicka1008United Kingdom2026-11-03
Emily A Oldroyd1009Russia2026-10-18
Stacey X Malet1010Germany2026-10-11
Jennifer R Nicka1011Australia2026-10-23
Emily U Rim1012Italy2026-10-27
Mayumi C Amigon1013United Kingdom2026-10-24
Julie R Ostrosky1014Canada2026-10-13
Adams Z Perin1015Italy2026-10-11
Salvatore K Royster1016Argentina2026-10-13
Mujtaba R Wieser1017Argentina2026-11-01
David W Caldarera1018Canada2026-10-28
Salvatore Y Albares1019Germany2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James D PerinCanadaAsiya Javayant QUALIFIED
Murillo P RulapaughAustraliaOnyama Limba PROPOSAL
Faith M WhobreyRussiaElwin Sharvill RENEWAL
Tony R SchemmerJapanXuxue Feng NEW
Octavia V CaudyAustraliaAmy Elsner NEW
Murillo E WaycottRussiaIoni Bowcher QUALIFIED
Leon I SlusarskiBrazilAmy Elsner NEW
Jennifer E NestleArgentinaStephen Shaw PROPOSAL
Aditya J BowleyJapanAmy Elsner NEW
Misaki K BologniaFranceOnyama Limba QUALIFIED
Maisha F DilliardArgentinaIoni Bowcher UNQUALIFIED
Izzy N GlickRussiaIoni Bowcher NEGOTIATION
Mayumi W KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Faith K RoysterBrazilStephen Shaw UNQUALIFIED
Morrow H VenereSpainAsiya Javayant QUALIFIED
Aruna A RutaItalyXuxue Feng NEW
Aruna B AlbaresArgentinaAsiya Javayant NEW
Wickens K SaylorsCanadaElwin Sharvill RENEWAL
Antonio K DarakjyGermanyAnna Fali NEW
Salvatore V BowleyUnited KingdomAnna Fali NEW
Izzy I KolmetzCanadaAmy Elsner NEGOTIATION
Claire W ChuiArgentinaStephen Shaw RENEWAL
Emily V StensethCanadaOnyama Limba PROPOSAL
Smith U TollnerCanadaAnna Fali PROPOSAL
Julie H ButtCanadaXuxue Feng UNQUALIFIED
Juan M ShinkoFranceBernardo Dominic NEGOTIATION
Aruna J VenereBrazilXuxue Feng NEGOTIATION
Murillo H DarakjyArgentinaXuxue Feng UNQUALIFIED
Wickens A WaycottCanadaAsiya Javayant NEW
Morrow C RoysterIndiaAnna Fali NEGOTIATION
Arvin D DoeIndiaOnyama Limba NEGOTIATION
Leon A PaprockiBrazilBernardo Dominic QUALIFIED
Mujtaba K OldroydAustraliaXuxue Feng NEW
Jeanfrancois A ChuiSpainAnna Fali UNQUALIFIED
Deepesh W OstroskyCanadaAnna Fali NEGOTIATION
Juan W RulapaughUnited KingdomElwin Sharvill NEW
Costa N ShinkoCanadaElwin Sharvill QUALIFIED
Jeanfrancois S VocelkaJapanIvan Magalhaes QUALIFIED
Ivar L SaylorsSpainAnna Fali RENEWAL
Tony B AlbaresRussiaAnna Fali 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>