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
Antonio Q RutaGermanyOnyama Limba NEGOTIATION
Johnson W AmigonJapanIoni Bowcher PROPOSAL
Kadeem H RutaCanadaBernardo Dominic NEW
Emily J NickaIndiaElwin Sharvill QUALIFIED
Sinclair A AmigonSpainOnyama Limba UNQUALIFIED
Leon B PaprockiAustraliaAsiya Javayant NEW
Mayumi D TollnerBrazilOnyama Limba NEW
Clifford K FigeroaJapanIvan Magalhaes QUALIFIED
Rodrigues K PoquetteJapanElwin Sharvill UNQUALIFIED
Misaki E TollnerAustraliaOnyama Limba UNQUALIFIED
Julie R MaletJapanAmy Elsner NEW
Chavez L SaylorsBrazilAsiya Javayant UNQUALIFIED
Clifford N FlosiRussiaXuxue Feng QUALIFIED
David Y AmigonCanadaBernardo Dominic NEGOTIATION
Mayumi C FollerIndiaIoni Bowcher NEGOTIATION
Ivar K SlusarskiFranceAnna Fali PROPOSAL
Jeanfrancois U RulapaughIndiaAsiya Javayant QUALIFIED
Silvio U MorascaFranceXuxue Feng NEGOTIATION
Stacey U KuskoFranceAsiya Javayant NEGOTIATION
Arvin B InouyeSpainBernardo Dominic PROPOSAL
Chavez U GillianFranceAmy Elsner NEGOTIATION
Sinclair K WieserRussiaIvan Magalhaes QUALIFIED
Clifford D SergiBrazilXuxue Feng NEW
Wickens B ShinkoRussiaIvan Magalhaes QUALIFIED
Stacey J SergiIndiaElwin Sharvill UNQUALIFIED
Jefferson F StensethRussiaAmy Elsner UNQUALIFIED
Johnson D PoquetteCanadaElwin Sharvill NEW
Francesco S KolmetzFranceAnna Fali UNQUALIFIED
Rodrigues N FerenczItalyBernardo Dominic NEGOTIATION
Faith Q GlickCanadaAnna Fali PROPOSAL
Izzy H IturbideRussiaAnna Fali NEGOTIATION
Izzy Y OldroydJapanElwin Sharvill RENEWAL
David M RoysterItalyAsiya Javayant NEW
Juan U GillianItalyOnyama Limba PROPOSAL
Silvio P VenereUnited KingdomIoni Bowcher QUALIFIED
Ashley M MaletCanadaXuxue Feng RENEWAL
Leon L StensethArgentinaStephen Shaw NEW
Adams H RulapaughGermanyElwin Sharvill QUALIFIED
Wickens F IturbideFranceOnyama Limba NEW
Aika H GillianArgentinaStephen Shaw QUALIFIED
Rodrigues R NestleCanadaIvan Magalhaes UNQUALIFIED
Nicolas G MaletCanadaIoni Bowcher NEGOTIATION
Silvio W FigeroaGermanyAmy Elsner RENEWAL
Chavez F StockhamItalyIoni Bowcher NEGOTIATION
Munro L FlosiAustraliaAnna Fali QUALIFIED
Mujtaba P PerinCanadaBernardo Dominic QUALIFIED
Chavez N FigeroaCanadaAmy Elsner UNQUALIFIED
Kadeem V MaletCanadaIoni Bowcher QUALIFIED
Izzy Z IturbideGermanyStephen Shaw NEGOTIATION
Jeanfrancois P ButtAustraliaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood W FlosiItalyAmy Elsner NEW
Darci E DilliardJapanIvan Magalhaes UNQUALIFIED
Julie H ShinkoUnited KingdomOnyama Limba NEW
Morrow W TollnerBrazilXuxue Feng PROPOSAL
Nicolas F CaudySpainOnyama Limba NEW
Adams Y FerenczArgentinaIvan Magalhaes NEW
Juan F PerinJapanOnyama Limba NEGOTIATION
Mujtaba J PoquetteUnited KingdomElwin Sharvill PROPOSAL
Mayumi R MarrierBrazilXuxue Feng PROPOSAL
Chavez P RutaIndiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson E KuskoIndia2026-11-04Benton, John B Jr RENEWAL24Onyama Limba
1001Ivar R GillianGermany2026-10-11Feltz Printing Service NEW11Amy Elsner
1002Murillo E CaudyRussia2026-10-15Printing Dimensions UNQUALIFIED90Anna Fali
1003Octavia U KolmetzUnited Kingdom2026-10-08Feiner Bros QUALIFIED96Elwin Sharvill
1004James S WieserCanada2026-10-18Chemel, James L Cpa QUALIFIED42Ioni Bowcher
1005James Q GauchoItaly2026-10-19Rousseaux, Michael Esq NEGOTIATION92Anna Fali
1006Mayumi Q NestleGermany2026-10-15Chemel, James L Cpa RENEWAL13Ivan Magalhaes
1007Alejandro U GauchoSpain2026-10-16Dorl, James J Esq PROPOSAL32Bernardo Dominic
1008Murillo O CaudyJapan2026-11-01Feltz Printing Service UNQUALIFIED42Stephen Shaw
1009Juan F PerinCanada2026-11-03King, Christopher A Esq NEGOTIATION43Stephen Shaw
1010Kaitlin R GarufiUnited Kingdom2026-10-18Morlong Associates NEGOTIATION84Anna Fali
1011Greenwood O FlosiGermany2026-10-25Truhlar And Truhlar Attys UNQUALIFIED78Stephen Shaw
1012Jones I PerinJapan2026-10-23Rangoni Of Florence PROPOSAL47Ivan Magalhaes
1013Kaitlin H StensethGermany2026-10-09Morlong Associates QUALIFIED57Asiya Javayant
1014Clifford Q FlosiAustralia2026-10-23Dorl, James J Esq UNQUALIFIED72Xuxue Feng
1015Murillo H MarrierBrazil2026-10-16Morlong Associates PROPOSAL27Asiya Javayant
1016Kadeem C MarrierSpain2026-11-02Buckley Miller Wright PROPOSAL77Ivan Magalhaes
1017Aditya B BriddickAustralia2026-11-02Benton, John B Jr NEGOTIATION38Bernardo Dominic
1018Isabel L GauchoJapan2026-10-06Feiner Bros QUALIFIED75Asiya Javayant
1019Rodrigues P NickaSpain2026-10-18Chemel, James L Cpa QUALIFIED78Amy Elsner
1020Tony U FollerGermany2026-10-07Rangoni Of Florence PROPOSAL90Elwin Sharvill
1021Jennifer Z FigeroaBrazil2026-10-10Chanay, Jeffrey A Esq UNQUALIFIED89Asiya Javayant
1022Misaki G MarrierUnited Kingdom2026-10-19Commercial Press PROPOSAL30Xuxue Feng
1023Johnson D ShinkoBrazil2026-11-04King, Christopher A Esq RENEWAL19Elwin Sharvill
1024Aditya F VocelkaSpain2026-10-28Commercial Press UNQUALIFIED3Amy Elsner
1025James N RulapaughSpain2026-11-02Chemel, James L Cpa RENEWAL48Ivan Magalhaes
1026Nicolas G AlbaresJapan2026-10-09Morlong Associates QUALIFIED16Amy Elsner
1027Faith W ChuiIndia2026-10-26Truhlar And Truhlar Attys NEW64Bernardo Dominic
1028Murillo N NickaArgentina2026-10-12Rangoni Of Florence RENEWAL55Ioni Bowcher
1029James V WhobreyJapan2026-10-18Chapman, Ross E Esq NEW79Bernardo Dominic
1030Aditya R DarakjyArgentina2026-10-29Buckley Miller Wright NEW70Ioni Bowcher
1031Misaki W PaprockiAustralia2026-10-22Commercial Press QUALIFIED66Asiya Javayant
1032Morrow J IturbideItaly2026-10-11Chanay, Jeffrey A Esq PROPOSAL33Asiya Javayant
1033Chavez G IturbideIndia2026-10-27Truhlar And Truhlar Attys QUALIFIED29Xuxue Feng
1034Darci J ShinkoBrazil2026-11-01Rangoni Of Florence RENEWAL66Onyama Limba
1035Misaki K DilliardGermany2026-10-13Morlong Associates UNQUALIFIED2Bernardo Dominic
1036Antonio F RimBrazil2026-10-11King, Christopher A Esq PROPOSAL27Ivan Magalhaes
1037Mujtaba E KolmetzBrazil2026-11-02King, Christopher A Esq QUALIFIED57Ioni Bowcher
1038Cody F DilliardSpain2026-10-10Commercial Press QUALIFIED94Amy Elsner
1039Smith Y RulapaughBrazil2026-10-21Buckley Miller Wright UNQUALIFIED12Onyama Limba
1040Mayumi L BologniaAustralia2026-10-17Commercial Press PROPOSAL81Amy Elsner
1041Smith H GillianJapan2026-10-31Truhlar And Truhlar Attys UNQUALIFIED70Ioni Bowcher
1042Adams Q GlickRussia2026-10-12Buckley Miller Wright RENEWAL2Ioni Bowcher
1043Morrow F OstroskySpain2026-11-01Morlong Associates NEGOTIATION98Amy Elsner
1044Maria C RutaSpain2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED39Elwin Sharvill
1045Misaki Z AmigonFrance2026-10-31Buckley Miller Wright PROPOSAL72Onyama Limba
1046Misaki W SaylorsIndia2026-10-31Feltz Printing Service QUALIFIED97Onyama Limba
1047Kadeem I InouyeBrazil2026-10-29Commercial Press NEW13Anna Fali
1048Costa I CaudyBrazil2026-10-24Buckley Miller Wright RENEWAL75Ioni Bowcher
1049Ashley O NickaIndia2026-10-13Feiner Bros QUALIFIED36Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson R AmigonItalyXuxue Feng PROPOSAL
Adams C VocelkaArgentinaAnna Fali NEW
Deepesh J BowleyCanadaXuxue Feng UNQUALIFIED
Darci N AmigonJapanOnyama Limba NEW
Emily Y CaudyFranceElwin Sharvill RENEWAL
Johnson U VocelkaGermanyAsiya Javayant NEW
Morrow B RoysterGermanyAsiya Javayant RENEWAL
Alejandro G RutaBrazilIoni Bowcher NEW
Leja Z StockhamAustraliaStephen Shaw NEW
Misaki V GauchoRussiaXuxue Feng QUALIFIED
Kaitlin A OldroydCanadaIvan Magalhaes QUALIFIED
Silvio Z CaudyItalyBernardo Dominic NEW
Mujtaba U BologniaSpainIoni Bowcher UNQUALIFIED
Leon A CaudyItalyElwin Sharvill NEW
Jones T KolmetzAustraliaOnyama Limba QUALIFIED
Misaki K StockhamBrazilOnyama Limba QUALIFIED
Ashley Q WaycottArgentinaStephen Shaw PROPOSAL
Jeanfrancois G PaprockiRussiaElwin Sharvill NEGOTIATION
Jennifer S GauchoAustraliaIvan Magalhaes PROPOSAL
Kadeem D PerinArgentinaIvan Magalhaes PROPOSAL
Mayumi T RoysterJapanAsiya Javayant NEGOTIATION
Jeanfrancois P GarufiJapanIvan Magalhaes PROPOSAL
Munro C SlusarskiRussiaOnyama Limba NEGOTIATION
Morrow R FerenczFranceIvan Magalhaes UNQUALIFIED
Deepesh Y SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Isabel N CaldareraRussiaAnna Fali RENEWAL
Ivar H MacleadItalyAsiya Javayant NEW
Kaitlin T ButtGermanyIoni Bowcher RENEWAL
Faith Q PaprockiSpainXuxue Feng NEGOTIATION
Stacey L MarrierSpainAmy Elsner PROPOSAL
Johnson J PerinJapanXuxue Feng NEW
Maisha U WhobreyArgentinaBernardo Dominic RENEWAL
Maisha K RoysterJapanBernardo Dominic NEW
Mujtaba W DarakjyUnited KingdomIoni Bowcher QUALIFIED
Ivar P GarufiUnited KingdomAnna Fali RENEWAL
Claire G WaycottGermanyIvan Magalhaes PROPOSAL
Maria J KuskoIndiaOnyama Limba NEW
Isabel M CaldareraBrazilIoni Bowcher NEW
Chavez O PoquetteItalyIvan Magalhaes NEGOTIATION
Jefferson P GillianSpainXuxue Feng NEGOTIATION
Leja P PerinIndiaIvan Magalhaes UNQUALIFIED
Ricardo V WieserArgentinaBernardo Dominic RENEWAL
Maria L StensethArgentinaBernardo Dominic PROPOSAL
Tony Z SergiSpainIvan Magalhaes RENEWAL
Octavia S SlusarskiAustraliaBernardo Dominic PROPOSAL
Faith J RulapaughCanadaAmy Elsner NEGOTIATION
Johnson Q GlickFranceElwin Sharvill NEW
Nicolas A GillianItalyXuxue Feng RENEWAL
Tony N InouyeRussiaIvan Magalhaes QUALIFIED
Jones O VenereRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Maria J Ferencz
Silvio W Briddick
Aruna G Garufi
Morrow U Caudy
Adams S Tollner
Maria U Butt
Silvio N Ruta
Jones Y Paprocki
Wickens D Ostrosky
Julie H Saylors
Sinclair G Chui
Greenwood Y Maclead
Alejandro Z Foller
Rodrigues S Glick
Ivar Y Vocelka
Leja K Rim
Misaki L Venere
Mujtaba K Dilliard
Ashley B Ostrosky
Tony Y Dilliard
Mayumi N Stockham
Tony Z Bowley
Tony Y Maclead
Aika C Briddick
Jennifer H Rulapaugh
Claire Q Butt
James H Campain
Costa W Gaucho
Juan U Caudy
Wickens V Gaucho
Kaitlin C Perin
Julie K Ostrosky
Johnson B Gillian
Kaitlin X Saylors
Cody P Inouye
Cody E Caudy
Mujtaba K Tollner
Mujtaba Y Shinko
Clifford Z Dilliard
Jeanfrancois K Stockham
Leja E Oldroyd
Izzy G Morasca
Smith I Nestle
Alejandro S Poquette
Kadeem J Slusarski
James B Maclead
Jeanfrancois L Doe
Jeanfrancois N Royster
Aika A Kusko
Maisha U Sergi
IdCountryDate
1000Japan2026-10-24
1001United Kingdom2026-10-28
1002Canada2026-10-07
1003Japan2026-10-25
1004Australia2026-10-23
1005Brazil2026-10-16
1006United Kingdom2026-10-12
1007United Kingdom2026-10-19
1008United Kingdom2026-10-27
1009France2026-10-08
1010India2026-10-29
1011Australia2026-11-01
1012Brazil2026-10-31
1013Argentina2026-10-20
1014France2026-10-17
1015Australia2026-10-16
1016Japan2026-11-02
1017United Kingdom2026-10-09
1018India2026-10-26
1019Australia2026-10-06
1020Canada2026-10-28
1021Brazil2026-10-10
1022France2026-10-16
1023Spain2026-10-14
1024United Kingdom2026-11-01
1025Japan2026-10-06
1026Spain2026-10-08
1027India2026-10-22
1028Germany2026-11-03
1029Russia2026-10-17
1030Argentina2026-10-13
1031Spain2026-10-23
1032Italy2026-10-13
1033Italy2026-10-21
1034Brazil2026-10-21
1035Australia2026-10-10
1036United Kingdom2026-10-23
1037France2026-10-13
1038Argentina2026-10-24
1039Argentina2026-10-07
1040France2026-10-25
1041India2026-10-30
1042Germany2026-10-10
1043Russia2026-10-07
1044India2026-10-26
1045France2026-10-07
1046India2026-10-18
1047Russia2026-10-08
1048India2026-10-09
1049Germany2026-10-23

On-Demand Data

NameIdCountryDate
Tony X Malet1000Australia2026-10-10
Jeanfrancois G Garufi1001India2026-11-02
Morrow W Nicka1002Russia2026-10-27
Maria E Rim1003India2026-10-28
Tony Y Rim1004Italy2026-10-20
Jefferson O Campain1005Spain2026-11-04
Aditya I Gaucho1006France2026-10-22
Kadeem W Bowley1007Argentina2026-10-11
Misaki U Nicka1008France2026-10-15
Nicolas X Perin1009India2026-10-07
Clifford X Schemmer1010France2026-10-23
Antonio I Nicka1011United Kingdom2026-10-15
Darci V Morasca1012India2026-11-03
Mayumi A Marrier1013Argentina2026-11-02
Kaitlin K Tollner1014Germany2026-10-08
Antonio V Chui1015Brazil2026-10-07
Darci E Caldarera1016Canada2026-10-13
Munro D Vocelka1017Germany2026-10-09
Ricardo K Paprocki1018France2026-10-28
Rodrigues I Maclead1019Brazil2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci W GauchoUnited KingdomAmy Elsner UNQUALIFIED
Misaki B GarufiArgentinaBernardo Dominic NEW
Juan F ShinkoFranceStephen Shaw UNQUALIFIED
Rodrigues U FlosiSpainAnna Fali RENEWAL
Aika E FerenczArgentinaOnyama Limba NEW
Emily O BologniaJapanElwin Sharvill NEW
Darci V PoquetteUnited KingdomOnyama Limba PROPOSAL
Stacey S IturbideCanadaIvan Magalhaes QUALIFIED
Antonio F RoysterArgentinaAsiya Javayant RENEWAL
Clifford R VocelkaJapanStephen Shaw UNQUALIFIED
Greenwood M CaldareraCanadaElwin Sharvill QUALIFIED
Isabel B PaprockiUnited KingdomXuxue Feng NEGOTIATION
Smith N SchemmerFranceOnyama Limba NEGOTIATION
Wickens E MaletSpainOnyama Limba UNQUALIFIED
Claire P MaletCanadaAmy Elsner NEGOTIATION
Silvio S StockhamArgentinaAnna Fali QUALIFIED
Greenwood M WhobreyAustraliaAmy Elsner PROPOSAL
Adams Y FlosiIndiaAmy Elsner NEW
Aruna S CaldareraArgentinaStephen Shaw QUALIFIED
Chavez Z VocelkaUnited KingdomStephen Shaw UNQUALIFIED
David K NickaUnited KingdomOnyama Limba NEGOTIATION
Alejandro N GillianUnited KingdomAsiya Javayant NEGOTIATION
Leon K PaprockiGermanyBernardo Dominic QUALIFIED
Tony S NickaCanadaAmy Elsner NEGOTIATION
Wickens I RoysterArgentinaAnna Fali NEGOTIATION
Jefferson R SaylorsRussiaAnna Fali NEGOTIATION
Jefferson B RulapaughSpainAsiya Javayant NEGOTIATION
Clifford B StockhamUnited KingdomXuxue Feng NEW
Wickens X RoysterFranceOnyama Limba QUALIFIED
Misaki Z WieserBrazilStephen Shaw NEGOTIATION
Isabel X DilliardIndiaStephen Shaw UNQUALIFIED
Leja T WhobreyArgentinaXuxue Feng NEW
Ashley T BowleySpainIvan Magalhaes NEW
Clifford D MaletAustraliaStephen Shaw NEGOTIATION
Ricardo U GauchoAustraliaIvan Magalhaes NEW
Nicolas W InouyeJapanBernardo Dominic UNQUALIFIED
Murillo J InouyeItalyXuxue Feng RENEWAL
Octavia A FerenczUnited KingdomIoni Bowcher PROPOSAL
Rodrigues M NickaJapanIoni Bowcher NEW
Morrow Q ChuiSpainAnna Fali NEGOTIATION

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