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
Izzy L NickaGermanyElwin Sharvill UNQUALIFIED
Jones D SaylorsArgentinaOnyama Limba UNQUALIFIED
Stacey D GillianGermanyStephen Shaw QUALIFIED
Greenwood M StockhamGermanyElwin Sharvill NEW
Chavez N AlbaresUnited KingdomOnyama Limba NEGOTIATION
Ricardo O PerinCanadaElwin Sharvill RENEWAL
Greenwood S RoysterSpainOnyama Limba RENEWAL
Alejandro R CampainIndiaIoni Bowcher QUALIFIED
Rodrigues A BriddickSpainAmy Elsner QUALIFIED
Maria Z DilliardUnited KingdomOnyama Limba NEGOTIATION
Johnson O DilliardRussiaAsiya Javayant PROPOSAL
Aditya Z StensethCanadaAnna Fali PROPOSAL
Salvatore U GillianBrazilIoni Bowcher QUALIFIED
Rodrigues A NestleIndiaAsiya Javayant PROPOSAL
Aika P SlusarskiAustraliaAnna Fali UNQUALIFIED
Rodrigues V MarrierSpainAnna Fali PROPOSAL
Jennifer M NestleGermanyIvan Magalhaes NEGOTIATION
Ivar J KuskoArgentinaBernardo Dominic NEW
Isabel P MorascaRussiaStephen Shaw QUALIFIED
Octavia Z GillianCanadaBernardo Dominic NEW
Salvatore W RulapaughGermanyXuxue Feng RENEWAL
Adams L WieserBrazilOnyama Limba PROPOSAL
Aditya F StensethSpainElwin Sharvill NEW
Adams A WhobreyUnited KingdomIoni Bowcher NEW
Nicolas R PerinFranceElwin Sharvill UNQUALIFIED
Darci Q IturbideCanadaIvan Magalhaes NEGOTIATION
Leon P PerinFranceAsiya Javayant NEGOTIATION
Izzy C MacleadUnited KingdomElwin Sharvill NEGOTIATION
Leon M FigeroaJapanElwin Sharvill QUALIFIED
Murillo Q FerenczAustraliaOnyama Limba UNQUALIFIED
Jefferson B BologniaJapanStephen Shaw UNQUALIFIED
Jennifer G FollerItalyAmy Elsner NEGOTIATION
Faith H SchemmerCanadaIvan Magalhaes NEW
Morrow Y NickaGermanyAmy Elsner RENEWAL
Adams U WaycottSpainAsiya Javayant QUALIFIED
Mujtaba T BowleyItalyAnna Fali UNQUALIFIED
Smith D DarakjyFranceOnyama Limba QUALIFIED
Jefferson L DoeSpainIvan Magalhaes NEW
Clifford R OldroydArgentinaXuxue Feng NEGOTIATION
Juan R FlosiJapanAnna Fali NEGOTIATION
Ivar Y SergiAustraliaElwin Sharvill PROPOSAL
Rodrigues A PaprockiRussiaAsiya Javayant RENEWAL
Wickens H AmigonRussiaIvan Magalhaes NEW
Smith V CampainJapanBernardo Dominic RENEWAL
Nicolas G ShinkoBrazilElwin Sharvill PROPOSAL
Leja P VenereFranceAsiya Javayant RENEWAL
Ashley T RulapaughAustraliaAmy Elsner NEW
Jennifer U BologniaAustraliaIoni Bowcher RENEWAL
Sinclair R OstroskyArgentinaBernardo Dominic RENEWAL
Maisha Q MaletItalyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem E StensethBrazilElwin Sharvill PROPOSAL
Kaitlin S PerinIndiaStephen Shaw QUALIFIED
Wickens K GlickArgentinaElwin Sharvill NEW
Stacey J RulapaughGermanyXuxue Feng QUALIFIED
Sinclair B IturbideUnited KingdomXuxue Feng QUALIFIED
Julie P GarufiSpainXuxue Feng QUALIFIED
Greenwood K MaletUnited KingdomBernardo Dominic QUALIFIED
Claire P PaprockiFranceStephen Shaw UNQUALIFIED
Wickens R KolmetzArgentinaStephen Shaw QUALIFIED
Isabel H PerinGermanyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin C WieserJapan2026-10-04Dorl, James J Esq PROPOSAL67Ioni Bowcher
1001Cody S BriddickIndia2026-10-11Feiner Bros UNQUALIFIED39Stephen Shaw
1002Emily N BriddickIndia2026-10-23Morlong Associates NEW2Ioni Bowcher
1003Leja S PerinItaly2026-10-03Truhlar And Truhlar Attys NEGOTIATION5Onyama Limba
1004Chavez J MaletCanada2026-10-20Chemel, James L Cpa NEW36Onyama Limba
1005Rodrigues D SergiUnited Kingdom2026-10-19Chanay, Jeffrey A Esq NEGOTIATION7Anna Fali
1006Aika R PaprockiCanada2026-10-16Feiner Bros RENEWAL80Ioni Bowcher
1007Murillo I GillianSpain2026-10-22Buckley Miller Wright NEW19Onyama Limba
1008David P CampainSpain2026-10-01Printing Dimensions RENEWAL9Xuxue Feng
1009Misaki B WhobreyUnited Kingdom2026-10-18Dorl, James J Esq NEGOTIATION73Anna Fali
1010Darci M RutaRussia2026-10-25Printing Dimensions UNQUALIFIED93Asiya Javayant
1011Jones X GarufiCanada2026-10-28Chanay, Jeffrey A Esq RENEWAL62Ioni Bowcher
1012Nicolas F AmigonJapan2026-10-17Buckley Miller Wright NEGOTIATION14Stephen Shaw
1013Murillo M KolmetzGermany2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED48Asiya Javayant
1014Jeanfrancois W RimGermany2026-10-29Buckley Miller Wright NEGOTIATION56Stephen Shaw
1015Cody P OstroskyGermany2026-10-07Chapman, Ross E Esq UNQUALIFIED33Ivan Magalhaes
1016Ivar T GlickItaly2026-10-01Dorl, James J Esq UNQUALIFIED95Amy Elsner
1017Wickens E RutaItaly2026-10-03King, Christopher A Esq QUALIFIED94Ioni Bowcher
1018Ricardo B NickaItaly2026-10-30Dorl, James J Esq NEGOTIATION56Onyama Limba
1019Murillo V GarufiJapan2026-10-30Chemel, James L Cpa RENEWAL85Elwin Sharvill
1020David U SchemmerAustralia2026-10-22Rousseaux, Michael Esq UNQUALIFIED75Amy Elsner
1021Jones V NickaItaly2026-10-15Morlong Associates NEGOTIATION87Elwin Sharvill
1022Clifford Y MaletGermany2026-10-16Benton, John B Jr RENEWAL24Bernardo Dominic
1023Leon G SlusarskiUnited Kingdom2026-10-13Chemel, James L Cpa NEW73Bernardo Dominic
1024Maria T NickaJapan2026-10-06Benton, John B Jr PROPOSAL21Asiya Javayant
1025Aruna L GauchoArgentina2026-10-11Buckley Miller Wright RENEWAL27Ioni Bowcher
1026Maria A BriddickItaly2026-10-04Feltz Printing Service RENEWAL90Xuxue Feng
1027Jones Y ShinkoArgentina2026-10-12Chapman, Ross E Esq NEGOTIATION24Ivan Magalhaes
1028Wickens T CaldareraCanada2026-10-26Rousseaux, Michael Esq UNQUALIFIED47Stephen Shaw
1029David C FigeroaCanada2026-10-27Rangoni Of Florence UNQUALIFIED80Amy Elsner
1030Faith H RoysterIndia2026-10-29Buckley Miller Wright PROPOSAL90Asiya Javayant
1031Darci P FollerGermany2026-10-06Morlong Associates PROPOSAL62Stephen Shaw
1032Octavia M RimBrazil2026-10-01Buckley Miller Wright PROPOSAL40Onyama Limba
1033Rodrigues A BowleyItaly2026-10-29Buckley Miller Wright PROPOSAL39Xuxue Feng
1034Aditya F PerinIndia2026-10-12Truhlar And Truhlar Attys QUALIFIED30Onyama Limba
1035Francesco J VocelkaGermany2026-10-09Chemel, James L Cpa UNQUALIFIED5Ioni Bowcher
1036Silvio T RoysterJapan2026-10-03Feltz Printing Service NEW27Anna Fali
1037Morrow Y SergiAustralia2026-10-18Truhlar And Truhlar Attys PROPOSAL44Elwin Sharvill
1038David Y DoeUnited Kingdom2026-10-04Morlong Associates NEGOTIATION53Asiya Javayant
1039Morrow W RulapaughIndia2026-10-24Rousseaux, Michael Esq NEGOTIATION25Ivan Magalhaes
1040Maisha D CaldareraIndia2026-10-18Truhlar And Truhlar Attys NEGOTIATION53Ioni Bowcher
1041Mujtaba R PerinRussia2026-10-04Feltz Printing Service QUALIFIED98Anna Fali
1042Alejandro H BologniaIndia2026-10-26King, Christopher A Esq NEW31Elwin Sharvill
1043Antonio U MaletUnited Kingdom2026-10-01Rangoni Of Florence UNQUALIFIED22Xuxue Feng
1044Sinclair U NickaJapan2026-10-10Chemel, James L Cpa NEW86Ioni Bowcher
1045Kaitlin G SergiArgentina2026-10-17Truhlar And Truhlar Attys QUALIFIED96Bernardo Dominic
1046Jones H GauchoSpain2026-10-12Buckley Miller Wright RENEWAL45Stephen Shaw
1047Julie G FlosiFrance2026-10-09Feltz Printing Service QUALIFIED1Stephen Shaw
1048Costa W IturbideCanada2026-10-04Commercial Press PROPOSAL26Elwin Sharvill
1049Smith X NestleFrance2026-10-05Rangoni Of Florence UNQUALIFIED75Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Adams O FerenczCanadaElwin Sharvill RENEWAL
Jennifer K PerinBrazilBernardo Dominic NEGOTIATION
Aditya Y SchemmerItalyElwin Sharvill RENEWAL
Arvin R CaldareraArgentinaAnna Fali QUALIFIED
Octavia S VocelkaSpainXuxue Feng UNQUALIFIED
Smith W KuskoRussiaStephen Shaw UNQUALIFIED
Darci Y DarakjyRussiaBernardo Dominic NEW
Silvio X BowleyRussiaAsiya Javayant PROPOSAL
Francesco N RulapaughSpainIvan Magalhaes NEGOTIATION
Morrow Y ChuiRussiaAmy Elsner RENEWAL
Rodrigues Z OldroydUnited KingdomStephen Shaw NEW
Tony Q MarrierJapanIvan Magalhaes QUALIFIED
Leja W AmigonArgentinaStephen Shaw QUALIFIED
Morrow U TollnerJapanOnyama Limba UNQUALIFIED
Costa K DarakjyJapanIvan Magalhaes NEGOTIATION
Leja H VocelkaGermanyAmy Elsner UNQUALIFIED
Julie X WaycottRussiaIvan Magalhaes PROPOSAL
Jeanfrancois L PaprockiSpainAsiya Javayant PROPOSAL
Aruna C MaletBrazilElwin Sharvill PROPOSAL
Jefferson K OstroskyAustraliaBernardo Dominic NEW
Jennifer I TollnerRussiaXuxue Feng NEGOTIATION
Smith K WaycottCanadaAmy Elsner QUALIFIED
Kaitlin A GarufiSpainStephen Shaw PROPOSAL
Cody V NickaItalyAnna Fali NEW
Costa P MarrierGermanyAnna Fali NEGOTIATION
Costa V RoysterGermanyElwin Sharvill NEW
Misaki A BriddickAustraliaElwin Sharvill QUALIFIED
Johnson R ChuiIndiaBernardo Dominic UNQUALIFIED
Aika Q GlickAustraliaBernardo Dominic QUALIFIED
David Y NickaIndiaAnna Fali UNQUALIFIED
Alejandro V FigeroaCanadaIoni Bowcher QUALIFIED
Munro R SchemmerItalyAmy Elsner QUALIFIED
Tony N VenereArgentinaIvan Magalhaes NEW
Leon B MacleadAustraliaAsiya Javayant NEW
Silvio F KuskoSpainAsiya Javayant UNQUALIFIED
Costa L MarrierItalyElwin Sharvill UNQUALIFIED
Munro H ChuiAustraliaBernardo Dominic QUALIFIED
Morrow S IturbideBrazilIvan Magalhaes PROPOSAL
Alejandro J MaletArgentinaIoni Bowcher PROPOSAL
Cody H DoeUnited KingdomAmy Elsner NEW
Arvin L PaprockiItalyAmy Elsner NEGOTIATION
Jeanfrancois N DilliardRussiaAnna Fali QUALIFIED
Darci T SaylorsJapanAmy Elsner NEGOTIATION
Leon A MorascaArgentinaOnyama Limba PROPOSAL
Silvio L NestleCanadaStephen Shaw NEW
Antonio S KolmetzBrazilStephen Shaw NEGOTIATION
Maria M StensethItalyOnyama Limba RENEWAL
Claire B DoeGermanyAnna Fali RENEWAL
Smith E FerenczSpainAmy Elsner PROPOSAL
Mujtaba V DilliardUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Silvio X Malet
Morrow X Butt
Aika K Shinko
Emily C Briddick
Jones M Inouye
Octavia T Nicka
Jones Y Gaucho
David A Butt
Alejandro H Bolognia
Aruna E Stockham
Darci Y Bowley
Salvatore O Sergi
Alejandro V Waycott
Octavia V Kusko
Kaitlin B Malet
Smith N Royster
James E Butt
Murillo X Flosi
Ashley M Briddick
Costa Y Nestle
Claire L Kolmetz
Smith O Flosi
Julie Z Paprocki
Rodrigues V Iturbide
Salvatore F Waycott
Tony U Doe
Cody J Kolmetz
Jefferson N Rim
Deepesh L Schemmer
Ivar R Iturbide
Aruna G Chui
Nicolas M Schemmer
Leja K Kusko
Aditya R Vocelka
Adams W Tollner
Octavia V Amigon
Tony W Glick
Deepesh B Schemmer
Jeanfrancois M Gaucho
Julie L Slusarski
Ricardo I Royster
Munro P Dilliard
Faith N Morasca
Salvatore U Sergi
Julie G Ferencz
Smith A Rim
Adams Z Gaucho
Ivar X Doe
Aditya C Wieser
Leja Y Bolognia
IdCountryDate
1000United Kingdom2026-10-07
1001France2026-10-09
1002India2026-10-12
1003Japan2026-10-01
1004United Kingdom2026-10-23
1005France2026-10-19
1006France2026-10-28
1007India2026-10-30
1008Argentina2026-10-16
1009Australia2026-10-04
1010Germany2026-10-03
1011Russia2026-10-04
1012Spain2026-10-29
1013France2026-10-14
1014United Kingdom2026-10-19
1015Argentina2026-10-29
1016France2026-10-11
1017Brazil2026-10-10
1018Italy2026-10-15
1019Brazil2026-10-29
1020Italy2026-10-28
1021Japan2026-10-14
1022Italy2026-10-17
1023Germany2026-10-19
1024Russia2026-10-15
1025Germany2026-10-01
1026Spain2026-10-04
1027Italy2026-10-04
1028Russia2026-10-05
1029France2026-10-07
1030Brazil2026-10-18
1031Germany2026-10-05
1032Argentina2026-10-11
1033Italy2026-10-11
1034Argentina2026-10-08
1035United Kingdom2026-10-08
1036Italy2026-10-17
1037Canada2026-10-13
1038India2026-10-18
1039Japan2026-10-15
1040France2026-10-27
1041Argentina2026-10-26
1042France2026-10-29
1043United Kingdom2026-10-01
1044Russia2026-10-03
1045Brazil2026-10-14
1046Argentina2026-10-10
1047Russia2026-10-28
1048France2026-10-20
1049Germany2026-10-18

On-Demand Data

NameIdCountryDate
Nicolas U Ostrosky1000Australia2026-10-09
Tony D Campain1001Australia2026-10-20
Aditya Y Doe1002India2026-10-06
Jones X Whobrey1003Argentina2026-10-22
Octavia M Wieser1004Japan2026-10-12
Smith H Whobrey1005Germany2026-10-02
Aika Y Tollner1006Australia2026-10-30
James P Oldroyd1007United Kingdom2026-10-10
Antonio X Paprocki1008Australia2026-10-12
Johnson I Iturbide1009United Kingdom2026-10-16
Maisha M Darakjy1010Russia2026-10-26
Smith Y Foller1011Italy2026-10-17
Deepesh Z Butt1012Spain2026-10-10
Antonio O Whobrey1013Japan2026-10-11
Francesco U Kusko1014Russia2026-10-19
Smith R Poquette1015France2026-10-12
David M Ostrosky1016France2026-10-24
Kaitlin L Malet1017Spain2026-10-14
Julie Q Caudy1018Argentina2026-10-04
Maria N Briddick1019Japan2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie T FigeroaFranceElwin Sharvill NEGOTIATION
Aruna X BriddickGermanyStephen Shaw UNQUALIFIED
Antonio G RutaCanadaAnna Fali PROPOSAL
Mujtaba Z OstroskyBrazilAnna Fali PROPOSAL
Tony U VenereBrazilBernardo Dominic UNQUALIFIED
Mujtaba G FerenczItalyAsiya Javayant PROPOSAL
Deepesh I PoquetteArgentinaOnyama Limba UNQUALIFIED
Kaitlin G KolmetzIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois C WhobreyUnited KingdomXuxue Feng QUALIFIED
Alejandro Y BologniaCanadaIoni Bowcher NEW
Salvatore G SaylorsUnited KingdomAnna Fali PROPOSAL
Emily P MarrierIndiaElwin Sharvill QUALIFIED
Johnson E GlickSpainXuxue Feng UNQUALIFIED
Mayumi G SergiUnited KingdomIvan Magalhaes NEGOTIATION
Chavez C MaletUnited KingdomAsiya Javayant NEW
Arvin I IturbideJapanXuxue Feng UNQUALIFIED
Ivar Z CampainUnited KingdomIoni Bowcher UNQUALIFIED
Maria M NestleItalyOnyama Limba QUALIFIED
Johnson U BriddickFranceXuxue Feng NEGOTIATION
Stacey Q SchemmerBrazilBernardo Dominic NEW
Faith G CaldareraJapanIoni Bowcher NEGOTIATION
Greenwood U DarakjyRussiaAnna Fali NEGOTIATION
Tony H SchemmerGermanyOnyama Limba UNQUALIFIED
Smith H RulapaughCanadaAnna Fali NEGOTIATION
Faith E MacleadBrazilAnna Fali QUALIFIED
Antonio G CaudyItalyIoni Bowcher PROPOSAL
Leja A FigeroaArgentinaOnyama Limba QUALIFIED
Jones G RulapaughAustraliaStephen Shaw NEGOTIATION
Chavez S OldroydUnited KingdomAnna Fali UNQUALIFIED
David A VocelkaUnited KingdomXuxue Feng RENEWAL
Clifford A VocelkaJapanAsiya Javayant QUALIFIED
Silvio A StensethBrazilStephen Shaw NEW
Izzy N CampainUnited KingdomAmy Elsner PROPOSAL
Ivar J FerenczSpainBernardo Dominic QUALIFIED
Izzy O StockhamSpainStephen Shaw UNQUALIFIED
Nicolas Z KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Mayumi A CaldareraRussiaAnna Fali PROPOSAL
Ivar V MaletFranceAnna Fali RENEWAL
Munro S BologniaCanadaIvan Magalhaes NEW
Jeanfrancois U ShinkoAustraliaOnyama Limba RENEWAL

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