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
Tony L BologniaSpainIvan Magalhaes UNQUALIFIED
Julie B AmigonGermanyStephen Shaw UNQUALIFIED
Morrow P GillianJapanAnna Fali RENEWAL
Octavia T KolmetzGermanyIvan Magalhaes RENEWAL
Jones D PaprockiCanadaStephen Shaw NEGOTIATION
Silvio P RulapaughBrazilAnna Fali NEW
Francesco Q AmigonSpainStephen Shaw PROPOSAL
Smith X FigeroaUnited KingdomStephen Shaw NEW
Faith X VenereRussiaBernardo Dominic NEGOTIATION
Greenwood R MorascaBrazilAmy Elsner NEGOTIATION
Adams A PoquetteJapanOnyama Limba PROPOSAL
James K TollnerItalyOnyama Limba PROPOSAL
Morrow L SchemmerJapanStephen Shaw UNQUALIFIED
Leja W PerinAustraliaXuxue Feng QUALIFIED
Costa F InouyeJapanIoni Bowcher PROPOSAL
Nicolas C StockhamCanadaAsiya Javayant UNQUALIFIED
Cody Z StockhamUnited KingdomElwin Sharvill QUALIFIED
Antonio T SaylorsRussiaStephen Shaw PROPOSAL
Morrow O VocelkaBrazilElwin Sharvill UNQUALIFIED
Morrow G MarrierRussiaIoni Bowcher PROPOSAL
Chavez W FlosiUnited KingdomAmy Elsner PROPOSAL
Ivar B PoquetteJapanBernardo Dominic RENEWAL
Julie P NickaGermanyAnna Fali UNQUALIFIED
Izzy R SchemmerJapanAnna Fali PROPOSAL
Johnson I FigeroaBrazilIvan Magalhaes PROPOSAL
Smith Z PerinSpainBernardo Dominic NEW
Claire W MacleadBrazilAmy Elsner RENEWAL
Isabel M StensethGermanyStephen Shaw RENEWAL
Murillo A PerinIndiaIvan Magalhaes PROPOSAL
Cody E PaprockiJapanAnna Fali NEW
Costa K BowleyItalyIoni Bowcher QUALIFIED
Kadeem T VenereIndiaStephen Shaw NEGOTIATION
Clifford D PaprockiAustraliaIoni Bowcher PROPOSAL
Darci K DoeCanadaOnyama Limba NEW
Isabel E MorascaIndiaOnyama Limba PROPOSAL
Jefferson K AmigonJapanOnyama Limba RENEWAL
Sinclair U FerenczItalyAmy Elsner NEGOTIATION
Aika N GarufiAustraliaStephen Shaw UNQUALIFIED
Leon E VocelkaCanadaStephen Shaw NEW
Juan N MorascaFranceAsiya Javayant UNQUALIFIED
Leon E RulapaughRussiaStephen Shaw QUALIFIED
Jefferson N DoeBrazilAmy Elsner UNQUALIFIED
Claire S PoquetteAustraliaAmy Elsner QUALIFIED
Maria O NickaJapanOnyama Limba PROPOSAL
Alejandro Q CaldareraJapanAsiya Javayant UNQUALIFIED
Mujtaba E RimIndiaAmy Elsner NEW
Nicolas S GarufiBrazilAsiya Javayant NEGOTIATION
Murillo P CaudyCanadaIvan Magalhaes UNQUALIFIED
Isabel K KolmetzIndiaStephen Shaw UNQUALIFIED
Murillo T VocelkaSpainElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Aruna M WhobreyUnited KingdomIoni Bowcher RENEWAL
Nicolas F MaletJapanBernardo Dominic RENEWAL
Silvio K BologniaUnited KingdomAnna Fali NEW
Jeanfrancois S BologniaRussiaIoni Bowcher QUALIFIED
Emily Y OstroskyCanadaStephen Shaw QUALIFIED
Maria S ChuiIndiaOnyama Limba UNQUALIFIED
Ivar L PaprockiItalyAsiya Javayant RENEWAL
Aika I MacleadJapanStephen Shaw PROPOSAL
Ashley Q StensethFranceXuxue Feng QUALIFIED
Isabel E KuskoArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues L AlbaresIndia2026-10-17Feltz Printing Service QUALIFIED79Bernardo Dominic
1001Emily G DarakjyCanada2026-10-21Chanay, Jeffrey A Esq QUALIFIED63Ioni Bowcher
1002Antonio P WhobreyArgentina2026-10-12Rangoni Of Florence QUALIFIED82Amy Elsner
1003Arvin M StockhamRussia2026-11-06Chapman, Ross E Esq QUALIFIED79Ioni Bowcher
1004Wickens F KolmetzGermany2026-10-17Truhlar And Truhlar Attys PROPOSAL80Bernardo Dominic
1005Mujtaba C StensethIndia2026-10-11Rousseaux, Michael Esq PROPOSAL72Anna Fali
1006Deepesh V SlusarskiJapan2026-10-16Morlong Associates UNQUALIFIED6Ivan Magalhaes
1007Maisha A RulapaughCanada2026-11-02Truhlar And Truhlar Attys UNQUALIFIED97Amy Elsner
1008Mayumi H BowleyAustralia2026-10-08Rangoni Of Florence UNQUALIFIED63Elwin Sharvill
1009Aruna O GauchoUnited Kingdom2026-11-05Benton, John B Jr NEGOTIATION25Bernardo Dominic
1010Sinclair K StockhamRussia2026-11-03Morlong Associates RENEWAL45Bernardo Dominic
1011Greenwood K BowleyArgentina2026-10-11Morlong Associates NEW38Onyama Limba
1012Kadeem O OstroskyAustralia2026-10-22Morlong Associates QUALIFIED74Onyama Limba
1013Aruna I TollnerArgentina2026-10-26Truhlar And Truhlar Attys QUALIFIED15Xuxue Feng
1014Maisha N GauchoItaly2026-10-11Rousseaux, Michael Esq UNQUALIFIED0Anna Fali
1015Maisha Q MarrierArgentina2026-11-05Chapman, Ross E Esq PROPOSAL87Onyama Limba
1016Jefferson M MaletSpain2026-10-29Truhlar And Truhlar Attys RENEWAL51Ivan Magalhaes
1017Cody W BologniaGermany2026-10-14Truhlar And Truhlar Attys RENEWAL47Anna Fali
1018Kadeem N OldroydBrazil2026-10-30Chanay, Jeffrey A Esq RENEWAL37Elwin Sharvill
1019Misaki P ButtRussia2026-11-05Feiner Bros NEGOTIATION77Amy Elsner
1020Johnson N RimCanada2026-11-02Printing Dimensions PROPOSAL85Xuxue Feng
1021Francesco K CaldareraGermany2026-11-01Dorl, James J Esq NEW87Onyama Limba
1022Jennifer R AmigonItaly2026-10-23Benton, John B Jr RENEWAL33Ioni Bowcher
1023Sinclair D BriddickAustralia2026-10-16King, Christopher A Esq NEW39Elwin Sharvill
1024James U KuskoUnited Kingdom2026-11-06Benton, John B Jr QUALIFIED24Ioni Bowcher
1025Mayumi Q CaudyGermany2026-10-18Chanay, Jeffrey A Esq NEW55Ivan Magalhaes
1026Ricardo G FerenczArgentina2026-10-30Rousseaux, Michael Esq PROPOSAL45Bernardo Dominic
1027Murillo E MaletUnited Kingdom2026-10-10Feiner Bros UNQUALIFIED6Elwin Sharvill
1028Octavia H MarrierAustralia2026-10-30Rousseaux, Michael Esq QUALIFIED32Onyama Limba
1029Faith W PoquetteJapan2026-10-25Dorl, James J Esq UNQUALIFIED85Ivan Magalhaes
1030Tony P SlusarskiIndia2026-10-21Morlong Associates PROPOSAL43Bernardo Dominic
1031Juan L InouyeRussia2026-10-27Feiner Bros PROPOSAL21Anna Fali
1032Ashley J BowleyIndia2026-11-02Chapman, Ross E Esq RENEWAL0Stephen Shaw
1033Octavia X GillianItaly2026-11-05Chemel, James L Cpa PROPOSAL3Ivan Magalhaes
1034Tony N GarufiJapan2026-11-01Buckley Miller Wright NEGOTIATION27Elwin Sharvill
1035Adams X CaudyFrance2026-10-16Chapman, Ross E Esq UNQUALIFIED28Xuxue Feng
1036Juan Q BologniaRussia2026-10-17Commercial Press UNQUALIFIED65Elwin Sharvill
1037Adams S WieserArgentina2026-10-19Dorl, James J Esq QUALIFIED63Onyama Limba
1038Smith I GarufiCanada2026-10-28Buckley Miller Wright QUALIFIED31Onyama Limba
1039Julie W AlbaresGermany2026-10-29Rangoni Of Florence PROPOSAL59Ioni Bowcher
1040Clifford P MorascaGermany2026-10-17Commercial Press NEW38Bernardo Dominic
1041Murillo M IturbideBrazil2026-10-12Dorl, James J Esq QUALIFIED25Elwin Sharvill
1042Mujtaba F CampainArgentina2026-10-26Chapman, Ross E Esq QUALIFIED4Elwin Sharvill
1043Sinclair N StockhamSpain2026-11-01Chanay, Jeffrey A Esq QUALIFIED77Amy Elsner
1044Sinclair D KuskoGermany2026-10-10Feiner Bros QUALIFIED52Anna Fali
1045Ivar O WieserGermany2026-10-13Printing Dimensions UNQUALIFIED6Asiya Javayant
1046Smith H RulapaughJapan2026-10-14King, Christopher A Esq NEW57Ioni Bowcher
1047Juan I BowleyRussia2026-10-17Feltz Printing Service RENEWAL55Xuxue Feng
1048David O WhobreyJapan2026-10-20Chanay, Jeffrey A Esq UNQUALIFIED1Stephen Shaw
1049Maisha S StensethFrance2026-10-15King, Christopher A Esq QUALIFIED72Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Silvio G VocelkaIndiaStephen Shaw RENEWAL
Munro P BowleySpainIoni Bowcher UNQUALIFIED
Greenwood Z WhobreyIndiaAsiya Javayant QUALIFIED
Aditya D AlbaresArgentinaElwin Sharvill NEGOTIATION
Costa M MacleadCanadaAnna Fali RENEWAL
Munro Y GillianArgentinaIoni Bowcher NEGOTIATION
Kadeem Z KolmetzBrazilAsiya Javayant RENEWAL
Aika C CaudyItalyIoni Bowcher NEGOTIATION
Greenwood D BologniaAustraliaStephen Shaw NEGOTIATION
Tony Q RoysterArgentinaAmy Elsner NEGOTIATION
Francesco W ShinkoBrazilIoni Bowcher NEW
Maria R MorascaSpainAsiya Javayant UNQUALIFIED
Adams J CaldareraRussiaOnyama Limba NEGOTIATION
Maria C OldroydArgentinaBernardo Dominic QUALIFIED
Greenwood N CampainAustraliaIoni Bowcher RENEWAL
Tony C RoysterArgentinaElwin Sharvill UNQUALIFIED
Jefferson C DarakjyJapanIoni Bowcher RENEWAL
Aika M AlbaresAustraliaBernardo Dominic NEW
Murillo P IturbideGermanyIvan Magalhaes NEGOTIATION
Ricardo T SergiAustraliaXuxue Feng NEGOTIATION
Faith U ShinkoUnited KingdomIoni Bowcher QUALIFIED
Octavia H SchemmerAustraliaXuxue Feng PROPOSAL
Deepesh J BowleySpainAmy Elsner NEGOTIATION
Emily Z DilliardGermanyStephen Shaw PROPOSAL
Clifford R ButtBrazilIoni Bowcher QUALIFIED
Ricardo V MorascaIndiaAnna Fali PROPOSAL
Octavia P CaldareraJapanAmy Elsner UNQUALIFIED
Costa K AmigonIndiaIvan Magalhaes NEGOTIATION
Ashley T DarakjyGermanyOnyama Limba RENEWAL
Chavez K DarakjyCanadaAsiya Javayant PROPOSAL
Izzy L FlosiAustraliaIoni Bowcher PROPOSAL
Octavia Q WieserItalyIvan Magalhaes RENEWAL
Maisha S MaletCanadaAsiya Javayant RENEWAL
Jennifer C DilliardFranceOnyama Limba NEGOTIATION
Smith B DilliardSpainStephen Shaw RENEWAL
Costa V IturbideArgentinaBernardo Dominic NEW
Mayumi A FollerItalyIvan Magalhaes NEW
Rodrigues U PaprockiItalyAnna Fali NEGOTIATION
Adams F BologniaItalyAmy Elsner QUALIFIED
Smith D PoquetteRussiaOnyama Limba NEW
Faith N MaletGermanyAsiya Javayant UNQUALIFIED
Jennifer Y GlickFranceAnna Fali NEGOTIATION
Silvio H CaudyItalyAmy Elsner UNQUALIFIED
Maria A MaletArgentinaAsiya Javayant UNQUALIFIED
David M RimFranceAsiya Javayant RENEWAL
Emily B GarufiRussiaStephen Shaw UNQUALIFIED
Murillo I DarakjyGermanyIvan Magalhaes UNQUALIFIED
Jones O WaycottFranceIvan Magalhaes NEW
Emily P AmigonFranceStephen Shaw NEGOTIATION
Kadeem Z CaldareraUnited KingdomXuxue Feng RENEWAL
Frozen Columns
Name
Aika E Stenseth
James R Foller
Arvin M Stockham
Claire X Morasca
Johnson G Garufi
Isabel F Poquette
Sinclair O Chui
Juan L Darakjy
Ashley W Ruta
Izzy F Morasca
Maria M Caudy
Costa V Nicka
Juan O Caudy
Mayumi M Venere
Jennifer H Caudy
Rodrigues Q Sergi
Darci X Rulapaugh
Costa F Kusko
Octavia E Venere
Jeanfrancois B Schemmer
Ricardo B Malet
Cody Z Royster
Chavez Z Maclead
Cody B Doe
Costa Y Nestle
Mujtaba H Schemmer
Faith Z Chui
Deepesh I Amigon
Salvatore J Caudy
Arvin Y Kusko
Aika B Bowley
Ricardo F Slusarski
Kaitlin J Poquette
Julie T Venere
Silvio Z Whobrey
Cody U Doe
Izzy F Schemmer
Mayumi R Briddick
Maria B Paprocki
Morrow U Dilliard
Smith E Butt
Ivar M Stenseth
Aika Q Garufi
Antonio P Kolmetz
Misaki T Waycott
Mujtaba S Caldarera
David Q Foller
Deepesh A Perin
Octavia A Butt
Murillo A Bowley
IdCountryDate
1000Spain2026-11-02
1001Spain2026-10-16
1002France2026-10-19
1003Argentina2026-10-24
1004Canada2026-11-03
1005Brazil2026-10-21
1006Russia2026-11-05
1007India2026-11-06
1008United Kingdom2026-10-14
1009Spain2026-10-15
1010Canada2026-10-25
1011Russia2026-10-09
1012India2026-10-24
1013France2026-10-28
1014United Kingdom2026-10-21
1015Italy2026-11-01
1016Australia2026-10-11
1017Brazil2026-10-12
1018Italy2026-10-20
1019Russia2026-10-20
1020Brazil2026-10-10
1021Brazil2026-10-23
1022United Kingdom2026-10-29
1023Spain2026-10-15
1024Canada2026-10-17
1025Spain2026-10-11
1026United Kingdom2026-10-19
1027Spain2026-10-28
1028Germany2026-10-30
1029Brazil2026-10-28
1030Australia2026-10-27
1031Argentina2026-10-08
1032Italy2026-10-19
1033Spain2026-10-27
1034Italy2026-10-17
1035Canada2026-11-06
1036Germany2026-10-27
1037Japan2026-10-28
1038United Kingdom2026-10-08
1039Germany2026-11-03
1040Spain2026-10-12
1041Australia2026-11-02
1042Australia2026-10-22
1043Japan2026-10-18
1044Brazil2026-10-29
1045France2026-10-29
1046India2026-10-28
1047Japan2026-10-10
1048Germany2026-10-10
1049Italy2026-10-18

On-Demand Data

NameIdCountryDate
David N Caldarera1000Brazil2026-11-06
Kaitlin A Waycott1001Australia2026-10-08
Ashley C Wieser1002India2026-10-18
Chavez C Shinko1003Canada2026-11-03
Stacey O Marrier1004Canada2026-10-08
Chavez J Morasca1005India2026-10-29
Tony I Albares1006Germany2026-10-11
Sinclair V Ferencz1007Brazil2026-11-03
Jones Y Bolognia1008United Kingdom2026-11-06
Wickens C Maclead1009Australia2026-11-03
Leon K Schemmer1010Japan2026-10-14
Maria G Albares1011Russia2026-10-18
Johnson A Wieser1012Russia2026-10-18
Silvio D Waycott1013Australia2026-11-02
Alejandro W Garufi1014France2026-11-03
Cody U Ostrosky1015Spain2026-10-17
Aruna L Nestle1016Australia2026-10-16
Juan J Bolognia1017Argentina2026-10-29
Octavia K Marrier1018Russia2026-11-05
Stacey G Campain1019Canada2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith V WhobreyArgentinaAnna Fali QUALIFIED
Mujtaba Z ButtJapanStephen Shaw QUALIFIED
Adams O CampainAustraliaAsiya Javayant RENEWAL
Octavia X NestleUnited KingdomIoni Bowcher NEGOTIATION
Stacey J WaycottItalyStephen Shaw RENEWAL
Jefferson J PaprockiArgentinaOnyama Limba NEW
Cody A MaletRussiaIvan Magalhaes QUALIFIED
Wickens P TollnerCanadaBernardo Dominic PROPOSAL
Aruna L AlbaresJapanAmy Elsner QUALIFIED
Adams T CaudyArgentinaIoni Bowcher PROPOSAL
Jennifer O InouyeBrazilOnyama Limba UNQUALIFIED
Salvatore U InouyeRussiaAsiya Javayant PROPOSAL
Adams S BriddickRussiaAsiya Javayant QUALIFIED
Morrow P SergiCanadaBernardo Dominic UNQUALIFIED
Wickens L DoeFranceAmy Elsner UNQUALIFIED
Isabel C StockhamJapanBernardo Dominic UNQUALIFIED
Kadeem H VocelkaIndiaStephen Shaw PROPOSAL
David O ShinkoItalyIvan Magalhaes UNQUALIFIED
Misaki Z FollerRussiaOnyama Limba PROPOSAL
Costa C DoeFranceIoni Bowcher QUALIFIED
Sinclair E KuskoRussiaIoni Bowcher UNQUALIFIED
Julie B PoquetteFranceOnyama Limba NEGOTIATION
Salvatore V RimFranceAnna Fali PROPOSAL
Claire I RulapaughAustraliaAsiya Javayant NEW
Tony G BowleyCanadaAnna Fali NEGOTIATION
Deepesh M BowleyArgentinaElwin Sharvill QUALIFIED
Julie D VocelkaFranceOnyama Limba NEGOTIATION
Ricardo F ChuiUnited KingdomAmy Elsner UNQUALIFIED
Chavez N WhobreyFranceOnyama Limba NEGOTIATION
Isabel M MorascaGermanyBernardo Dominic RENEWAL
Juan T PaprockiGermanyStephen Shaw RENEWAL
Izzy R KolmetzBrazilIvan Magalhaes NEW
Leja R VocelkaRussiaBernardo Dominic PROPOSAL
Emily S InouyeItalyAnna Fali QUALIFIED
Arvin E GauchoSpainAnna Fali NEGOTIATION
Jefferson T RutaUnited KingdomOnyama Limba NEGOTIATION
Tony H GauchoBrazilXuxue Feng NEGOTIATION
David R SchemmerCanadaBernardo Dominic PROPOSAL
Jennifer H SaylorsCanadaAnna Fali NEGOTIATION
Mayumi F WhobreyFranceIoni Bowcher 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>