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 G DilliardFranceAmy Elsner UNQUALIFIED
Salvatore T PaprockiItalyIoni Bowcher QUALIFIED
Isabel Y SergiIndiaIvan Magalhaes PROPOSAL
Murillo C AmigonGermanyIvan Magalhaes QUALIFIED
Julie W CampainBrazilAnna Fali QUALIFIED
James S RulapaughArgentinaOnyama Limba NEGOTIATION
Rodrigues P FerenczRussiaOnyama Limba PROPOSAL
Maisha P RutaItalyOnyama Limba NEW
Octavia K FigeroaRussiaIoni Bowcher QUALIFIED
Francesco O PoquetteRussiaAnna Fali PROPOSAL
Mujtaba Q KuskoBrazilElwin Sharvill PROPOSAL
Mujtaba N CaldareraRussiaXuxue Feng NEW
Alejandro A CaldareraGermanyIvan Magalhaes NEGOTIATION
Rodrigues V OstroskyJapanAmy Elsner QUALIFIED
Maria N InouyeItalyXuxue Feng QUALIFIED
Aditya N WieserRussiaIoni Bowcher UNQUALIFIED
Johnson L InouyeItalyIvan Magalhaes NEGOTIATION
Costa J NickaCanadaXuxue Feng RENEWAL
Jennifer J NestleIndiaAnna Fali RENEWAL
Ivar T BriddickBrazilElwin Sharvill PROPOSAL
Wickens Z BowleyJapanStephen Shaw RENEWAL
Antonio T ChuiRussiaAnna Fali RENEWAL
Octavia R BriddickArgentinaIoni Bowcher QUALIFIED
Izzy D DilliardArgentinaXuxue Feng QUALIFIED
Cody G MaletItalyIvan Magalhaes NEGOTIATION
Mayumi C AlbaresAustraliaAsiya Javayant PROPOSAL
Kaitlin P ButtSpainAsiya Javayant PROPOSAL
Leja N MaletCanadaAmy Elsner NEW
Kaitlin K RoysterArgentinaIvan Magalhaes NEGOTIATION
Sinclair I RimBrazilAmy Elsner PROPOSAL
Isabel K GillianFranceIoni Bowcher RENEWAL
Jones W GlickItalyAsiya Javayant NEW
Salvatore I StensethIndiaAnna Fali UNQUALIFIED
Jones S DarakjySpainOnyama Limba PROPOSAL
Ricardo P BowleyBrazilElwin Sharvill PROPOSAL
Juan G MaletArgentinaIvan Magalhaes UNQUALIFIED
Deepesh H CampainUnited KingdomXuxue Feng NEW
Kadeem A ButtUnited KingdomStephen Shaw UNQUALIFIED
Julie L MaletBrazilOnyama Limba RENEWAL
Alejandro P MaletSpainAnna Fali PROPOSAL
Octavia K WieserArgentinaOnyama Limba UNQUALIFIED
Morrow U MacleadArgentinaOnyama Limba QUALIFIED
Silvio U MaletItalyAsiya Javayant NEGOTIATION
Johnson B InouyeUnited KingdomBernardo Dominic RENEWAL
Deepesh C DilliardFranceBernardo Dominic QUALIFIED
Juan K FerenczJapanIvan Magalhaes UNQUALIFIED
David F RoysterCanadaXuxue Feng RENEWAL
Emily U OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues E BowleyArgentinaXuxue Feng UNQUALIFIED
Mayumi A GillianUnited KingdomXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio T ChuiIndiaAsiya Javayant QUALIFIED
Leja B PaprockiJapanXuxue Feng NEGOTIATION
Smith M WieserIndiaXuxue Feng PROPOSAL
Deepesh J WieserRussiaXuxue Feng RENEWAL
Salvatore F TollnerIndiaElwin Sharvill NEGOTIATION
Ricardo T SchemmerFranceStephen Shaw RENEWAL
Silvio R WhobreyArgentinaIoni Bowcher UNQUALIFIED
Murillo R StensethItalyIoni Bowcher PROPOSAL
Sinclair S DilliardFranceXuxue Feng NEW
Stacey V CampainSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David H RimArgentina2026-09-08Feiner Bros RENEWAL86Ivan Magalhaes
1001Octavia Q SchemmerAustralia2026-08-25Feltz Printing Service RENEWAL39Onyama Limba
1002Maria D IturbideItaly2026-08-20Feltz Printing Service QUALIFIED62Ivan Magalhaes
1003Deepesh B MarrierSpain2026-08-25Rousseaux, Michael Esq UNQUALIFIED88Asiya Javayant
1004Nicolas H RutaJapan2026-08-23King, Christopher A Esq QUALIFIED87Xuxue Feng
1005Aditya D ChuiBrazil2026-09-03Feiner Bros PROPOSAL40Asiya Javayant
1006Morrow I VenereAustralia2026-09-05King, Christopher A Esq RENEWAL59Onyama Limba
1007Chavez H FlosiItaly2026-09-14Feiner Bros NEGOTIATION28Asiya Javayant
1008Clifford X GillianSpain2026-09-15Chapman, Ross E Esq NEGOTIATION42Elwin Sharvill
1009Leon B AmigonCanada2026-09-10Feiner Bros PROPOSAL47Amy Elsner
1010Cody J NestleRussia2026-09-07Printing Dimensions NEW75Xuxue Feng
1011Aika U DilliardGermany2026-09-08King, Christopher A Esq NEW75Stephen Shaw
1012Mayumi V WhobreyRussia2026-09-06Commercial Press PROPOSAL51Ivan Magalhaes
1013Sinclair I SaylorsJapan2026-08-28Feltz Printing Service RENEWAL19Elwin Sharvill
1014Julie O FigeroaCanada2026-09-11Buckley Miller Wright QUALIFIED15Ivan Magalhaes
1015Sinclair O MorascaIndia2026-09-17Chanay, Jeffrey A Esq QUALIFIED28Anna Fali
1016Aruna L BologniaAustralia2026-09-17Benton, John B Jr UNQUALIFIED40Xuxue Feng
1017Jeanfrancois P KuskoCanada2026-09-04King, Christopher A Esq RENEWAL54Elwin Sharvill
1018Deepesh J VenereItaly2026-09-14Commercial Press UNQUALIFIED14Ivan Magalhaes
1019Tony M DilliardIndia2026-09-12Feltz Printing Service NEW26Asiya Javayant
1020Maria H RulapaughArgentina2026-09-18Commercial Press UNQUALIFIED77Anna Fali
1021Salvatore K SlusarskiUnited Kingdom2026-09-02Buckley Miller Wright PROPOSAL66Onyama Limba
1022Smith X OldroydRussia2026-09-14Chanay, Jeffrey A Esq NEGOTIATION74Amy Elsner
1023Julie L MaletCanada2026-08-24Chemel, James L Cpa NEGOTIATION67Bernardo Dominic
1024Deepesh B DarakjyUnited Kingdom2026-08-29Buckley Miller Wright QUALIFIED44Elwin Sharvill
1025Kadeem F RulapaughFrance2026-09-18Benton, John B Jr QUALIFIED21Asiya Javayant
1026Nicolas R PerinUnited Kingdom2026-08-26Morlong Associates UNQUALIFIED96Onyama Limba
1027Isabel Q MorascaJapan2026-09-09Buckley Miller Wright PROPOSAL71Bernardo Dominic
1028James E FerenczSpain2026-09-09Rousseaux, Michael Esq RENEWAL41Anna Fali
1029Stacey M NickaIndia2026-09-09King, Christopher A Esq QUALIFIED25Xuxue Feng
1030Antonio G DarakjyItaly2026-09-17Buckley Miller Wright PROPOSAL26Elwin Sharvill
1031Aditya K MaletBrazil2026-09-12Benton, John B Jr PROPOSAL13Bernardo Dominic
1032Murillo F AmigonItaly2026-09-06Commercial Press UNQUALIFIED27Anna Fali
1033Johnson H MaletGermany2026-09-08Dorl, James J Esq NEGOTIATION45Onyama Limba
1034Rodrigues B RoysterFrance2026-09-14Chanay, Jeffrey A Esq NEGOTIATION0Ivan Magalhaes
1035Cody Q InouyeCanada2026-09-07Benton, John B Jr RENEWAL76Onyama Limba
1036Jeanfrancois L SergiGermany2026-09-01Chanay, Jeffrey A Esq PROPOSAL16Onyama Limba
1037Izzy Q ShinkoUnited Kingdom2026-09-10Feltz Printing Service RENEWAL35Ioni Bowcher
1038Munro B PaprockiArgentina2026-08-26Buckley Miller Wright UNQUALIFIED10Elwin Sharvill
1039David O KolmetzJapan2026-08-26Printing Dimensions RENEWAL42Stephen Shaw
1040Maria N CaldareraGermany2026-08-23Chapman, Ross E Esq NEGOTIATION36Anna Fali
1041Faith X IturbideRussia2026-09-03Chanay, Jeffrey A Esq NEW30Elwin Sharvill
1042Faith B SchemmerItaly2026-08-29Chemel, James L Cpa UNQUALIFIED65Elwin Sharvill
1043Aditya W DoeAustralia2026-09-10Benton, John B Jr NEW52Asiya Javayant
1044Cody E SlusarskiIndia2026-08-22Chemel, James L Cpa RENEWAL85Asiya Javayant
1045Silvio M RulapaughRussia2026-09-13Chemel, James L Cpa UNQUALIFIED9Xuxue Feng
1046Mujtaba B GlickRussia2026-09-08Truhlar And Truhlar Attys RENEWAL44Onyama Limba
1047Maisha H GarufiFrance2026-08-30Feltz Printing Service RENEWAL77Asiya Javayant
1048James M BologniaItaly2026-09-14Chapman, Ross E Esq QUALIFIED58Anna Fali
1049Ivar M CaudyItaly2026-09-06Chanay, Jeffrey A Esq UNQUALIFIED69Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio T GillianSpainBernardo Dominic NEW
Mayumi D MarrierItalyIvan Magalhaes NEW
Maria G OstroskyCanadaElwin Sharvill QUALIFIED
Maisha S CaldareraAustraliaIoni Bowcher NEW
Nicolas O NestleFranceBernardo Dominic NEGOTIATION
Antonio T KolmetzAustraliaIvan Magalhaes QUALIFIED
Izzy Q StensethAustraliaIvan Magalhaes RENEWAL
Munro O CampainUnited KingdomAmy Elsner RENEWAL
Misaki W ButtRussiaAmy Elsner NEGOTIATION
Francesco I BriddickBrazilBernardo Dominic QUALIFIED
Costa T KolmetzRussiaIoni Bowcher PROPOSAL
Izzy N ButtIndiaStephen Shaw RENEWAL
Ashley V CaldareraAustraliaElwin Sharvill UNQUALIFIED
Misaki R DoeArgentinaAmy Elsner QUALIFIED
Aika T MacleadJapanElwin Sharvill UNQUALIFIED
Misaki P NestleAustraliaOnyama Limba PROPOSAL
Leon W MaletCanadaXuxue Feng UNQUALIFIED
Claire D SchemmerIndiaOnyama Limba NEGOTIATION
Jones E MaletArgentinaIoni Bowcher NEW
Greenwood R MaletSpainElwin Sharvill UNQUALIFIED
Izzy F FigeroaIndiaXuxue Feng PROPOSAL
Wickens Y IturbideIndiaElwin Sharvill NEW
Deepesh W RimArgentinaAsiya Javayant UNQUALIFIED
Mayumi A VenereArgentinaXuxue Feng NEGOTIATION
Ashley B TollnerCanadaXuxue Feng RENEWAL
Morrow P MaletJapanIvan Magalhaes RENEWAL
Clifford F BowleyItalyAnna Fali QUALIFIED
Kadeem U NickaIndiaElwin Sharvill UNQUALIFIED
Kadeem F FlosiIndiaIoni Bowcher NEW
Darci G NickaBrazilIvan Magalhaes RENEWAL
Silvio G OstroskyAustraliaAnna Fali QUALIFIED
Chavez E MarrierArgentinaStephen Shaw UNQUALIFIED
Kadeem H SlusarskiFranceAsiya Javayant RENEWAL
Cody L SergiCanadaStephen Shaw RENEWAL
Salvatore X VocelkaGermanyIoni Bowcher NEW
Izzy G AmigonAustraliaElwin Sharvill RENEWAL
Antonio M BologniaGermanyElwin Sharvill NEGOTIATION
Emily R RutaSpainAmy Elsner NEW
Leon J ShinkoUnited KingdomBernardo Dominic RENEWAL
Isabel O GauchoItalyAsiya Javayant QUALIFIED
Ashley U WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Greenwood Z GlickIndiaIoni Bowcher NEGOTIATION
Arvin U PerinGermanyAsiya Javayant RENEWAL
Clifford Z KolmetzRussiaIvan Magalhaes PROPOSAL
Morrow I StockhamRussiaAmy Elsner PROPOSAL
Silvio V RulapaughRussiaAsiya Javayant QUALIFIED
Munro K BologniaJapanIvan Magalhaes UNQUALIFIED
Ricardo T CampainItalyIvan Magalhaes RENEWAL
Deepesh N FlosiCanadaOnyama Limba NEW
Deepesh M PoquetteIndiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Maisha H Waycott
Aruna B Bowley
Aruna Y Briddick
Darci Y Albares
Greenwood N Caldarera
Nicolas H Bowley
Clifford G Schemmer
Leon N Nicka
Aruna R Sergi
Francesco X Saylors
Jones S Ostrosky
Wickens G Saylors
Mujtaba Y Campain
Faith R Inouye
Misaki G Nicka
David R Malet
Jones J Maclead
Faith E Nestle
Rodrigues V Rulapaugh
Munro Q Garufi
Faith Y Nestle
Aruna O Gaucho
Aditya E Bolognia
Jennifer R Figeroa
David P Whobrey
Aruna T Sergi
Mujtaba P Wieser
Kadeem L Bolognia
Maisha D Nestle
Greenwood M Figeroa
James F Malet
Julie D Amigon
Alejandro S Perin
Salvatore W Poquette
Julie B Caudy
Darci S Rulapaugh
Ivar R Morasca
Leon O Kusko
Sinclair B Inouye
Aika D Stockham
Aika G Foller
Kadeem X Dilliard
Salvatore M Whobrey
Wickens B Rulapaugh
Alejandro Q Gaucho
Leon L Campain
Smith E Butt
Clifford O Bowley
Kadeem S Ferencz
Francesco E Bolognia
IdCountryDate
1000Australia2026-08-31
1001Spain2026-08-23
1002Russia2026-08-28
1003Germany2026-09-05
1004France2026-08-30
1005Argentina2026-08-27
1006Spain2026-09-06
1007Canada2026-08-20
1008Spain2026-08-21
1009India2026-08-22
1010India2026-09-09
1011Russia2026-09-17
1012Brazil2026-09-05
1013Australia2026-09-05
1014Japan2026-08-26
1015Italy2026-09-07
1016Germany2026-09-12
1017United Kingdom2026-08-22
1018Australia2026-08-29
1019India2026-08-24
1020Germany2026-08-22
1021Russia2026-08-22
1022Australia2026-09-12
1023United Kingdom2026-08-29
1024Spain2026-09-15
1025Argentina2026-09-09
1026France2026-08-30
1027Russia2026-09-18
1028Brazil2026-09-05
1029Japan2026-09-03
1030Russia2026-09-03
1031Brazil2026-09-04
1032Japan2026-09-14
1033France2026-08-31
1034Argentina2026-08-27
1035Canada2026-09-03
1036Brazil2026-09-09
1037Brazil2026-09-04
1038Argentina2026-08-28
1039Argentina2026-08-24
1040Argentina2026-08-22
1041Germany2026-09-01
1042Germany2026-08-24
1043Spain2026-08-26
1044Russia2026-09-12
1045Germany2026-08-29
1046United Kingdom2026-09-10
1047Germany2026-08-28
1048United Kingdom2026-09-07
1049Russia2026-09-13

On-Demand Data

NameIdCountryDate
Nicolas U Malet1000Australia2026-09-05
Aruna H Marrier1001Russia2026-08-21
Cody J Perin1002United Kingdom2026-08-20
Salvatore G Vocelka1003France2026-08-24
Costa R Paprocki1004United Kingdom2026-08-22
Silvio E Ostrosky1005Argentina2026-08-28
Mujtaba N Gillian1006India2026-08-26
Costa N Darakjy1007Spain2026-09-01
Ivar V Tollner1008Brazil2026-09-02
Isabel N Wieser1009Russia2026-09-11
Silvio X Inouye1010Russia2026-09-15
Maisha U Ferencz1011Italy2026-09-09
Leon M Iturbide1012Japan2026-08-29
Morrow S Tollner1013Russia2026-08-28
Francesco P Morasca1014France2026-09-07
Jeanfrancois C Saylors1015United Kingdom2026-08-26
Izzy I Kusko1016Argentina2026-09-14
Kadeem J Vocelka1017Argentina2026-08-21
Salvatore I Caudy1018Brazil2026-08-21
Jennifer U Briddick1019Japan2026-08-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro Q MarrierSpainIvan Magalhaes UNQUALIFIED
Aditya M BriddickIndiaAsiya Javayant UNQUALIFIED
Ashley O FerenczCanadaAmy Elsner NEW
Leon H MarrierArgentinaAsiya Javayant NEGOTIATION
Murillo M MarrierCanadaXuxue Feng QUALIFIED
Jefferson P CaldareraIndiaAsiya Javayant NEW
Salvatore A GauchoArgentinaIoni Bowcher QUALIFIED
Murillo E GauchoRussiaAnna Fali NEW
Chavez I GillianFranceStephen Shaw NEW
Salvatore I PoquetteCanadaAmy Elsner NEW
Ashley E FerenczBrazilAnna Fali RENEWAL
Kaitlin K KolmetzBrazilIvan Magalhaes PROPOSAL
Mayumi N PerinFranceBernardo Dominic RENEWAL
Maria G DarakjyAustraliaAnna Fali QUALIFIED
Jennifer H CaudyAustraliaElwin Sharvill PROPOSAL
Emily V SchemmerIndiaIvan Magalhaes UNQUALIFIED
Ricardo K CaldareraArgentinaOnyama Limba RENEWAL
Silvio B SaylorsUnited KingdomAmy Elsner PROPOSAL
Clifford Q DarakjyAustraliaAnna Fali RENEWAL
Leon N GarufiIndiaAsiya Javayant PROPOSAL
Julie H MarrierBrazilAmy Elsner RENEWAL
Tony S MaletArgentinaAsiya Javayant UNQUALIFIED
David C BowleyFranceXuxue Feng NEGOTIATION
Deepesh V SchemmerItalyBernardo Dominic QUALIFIED
Izzy R StensethItalyAnna Fali NEGOTIATION
Francesco N NickaAustraliaIvan Magalhaes NEGOTIATION
Aruna X CaudyRussiaOnyama Limba NEW
Stacey H RimItalyAnna Fali NEW
Izzy O RoysterGermanyAnna Fali PROPOSAL
Isabel C PerinGermanyAmy Elsner NEW
David M AmigonJapanElwin Sharvill NEW
Salvatore E BowleyUnited KingdomAmy Elsner UNQUALIFIED
Izzy D RoysterFranceStephen Shaw NEGOTIATION
Jones P RulapaughUnited KingdomBernardo Dominic RENEWAL
Smith Z DoeGermanyStephen Shaw UNQUALIFIED
Tony H DoeAustraliaAnna Fali UNQUALIFIED
Francesco R AmigonArgentinaIvan Magalhaes UNQUALIFIED
Nicolas B OldroydJapanIvan Magalhaes PROPOSAL
Costa R SaylorsBrazilBernardo Dominic RENEWAL
Munro Y ShinkoArgentinaXuxue Feng UNQUALIFIED

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