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
Mayumi W FerenczIndiaElwin Sharvill NEW
David J ShinkoArgentinaStephen Shaw QUALIFIED
Morrow W SchemmerAustraliaXuxue Feng QUALIFIED
Aruna J AmigonUnited KingdomStephen Shaw NEW
Darci P IturbideItalyElwin Sharvill QUALIFIED
Mayumi S StockhamItalyXuxue Feng RENEWAL
Clifford N FollerRussiaAsiya Javayant NEGOTIATION
Izzy G WhobreyIndiaXuxue Feng QUALIFIED
Costa I PaprockiGermanyAmy Elsner NEGOTIATION
Costa U OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Misaki Y KolmetzRussiaIoni Bowcher RENEWAL
Jeanfrancois S MacleadRussiaAsiya Javayant NEW
Aruna P KuskoItalyIoni Bowcher PROPOSAL
Kaitlin Y InouyeAustraliaBernardo Dominic UNQUALIFIED
Jones H GarufiGermanyOnyama Limba NEGOTIATION
David N WieserSpainIoni Bowcher RENEWAL
Jeanfrancois Q ButtGermanyAnna Fali RENEWAL
James L ChuiItalyIvan Magalhaes UNQUALIFIED
Smith E GarufiArgentinaIvan Magalhaes NEW
Antonio S FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Emily N SchemmerJapanBernardo Dominic NEW
Aika C AlbaresRussiaBernardo Dominic NEW
Izzy L MaletSpainIvan Magalhaes RENEWAL
Salvatore B ShinkoFranceBernardo Dominic NEGOTIATION
Kadeem T WaycottItalyBernardo Dominic NEGOTIATION
Tony A FigeroaSpainIvan Magalhaes NEW
Kadeem C StockhamSpainStephen Shaw QUALIFIED
Rodrigues K StockhamIndiaBernardo Dominic PROPOSAL
Mayumi Z IturbideCanadaOnyama Limba QUALIFIED
Jennifer W MacleadBrazilBernardo Dominic PROPOSAL
James I GillianAustraliaIvan Magalhaes NEW
Stacey O OstroskyBrazilOnyama Limba PROPOSAL
Morrow V PoquetteFranceBernardo Dominic NEGOTIATION
Jeanfrancois V BologniaAustraliaAsiya Javayant PROPOSAL
Murillo W FollerItalyAsiya Javayant RENEWAL
Nicolas X StensethBrazilOnyama Limba PROPOSAL
Aditya E DarakjySpainElwin Sharvill NEGOTIATION
Misaki G WaycottCanadaXuxue Feng RENEWAL
Johnson E BriddickAustraliaIvan Magalhaes NEGOTIATION
Murillo A KuskoArgentinaIoni Bowcher RENEWAL
Jones N RoysterItalyAsiya Javayant PROPOSAL
Stacey K MaletUnited KingdomAsiya Javayant RENEWAL
Kaitlin A MarrierBrazilBernardo Dominic NEW
Morrow X OldroydRussiaAsiya Javayant PROPOSAL
Greenwood W MaletItalyAmy Elsner UNQUALIFIED
Silvio G BriddickGermanyXuxue Feng NEGOTIATION
David G RulapaughJapanAmy Elsner RENEWAL
Aditya L OldroydArgentinaIoni Bowcher QUALIFIED
Wickens L WieserFranceBernardo Dominic NEW
Stacey S IturbideRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Faith K PerinCanadaXuxue Feng NEW
David N BologniaAustraliaStephen Shaw NEGOTIATION
Kadeem O OstroskyRussiaOnyama Limba QUALIFIED
Stacey Q RoysterAustraliaXuxue Feng UNQUALIFIED
Smith R PoquetteGermanyIoni Bowcher PROPOSAL
Izzy J KuskoIndiaAnna Fali UNQUALIFIED
Ricardo L StensethRussiaOnyama Limba PROPOSAL
Aika B StensethAustraliaIoni Bowcher PROPOSAL
Julie N ButtSpainAnna Fali RENEWAL
Juan L OldroydGermanyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James I TollnerIndia2026-09-16King, Christopher A Esq UNQUALIFIED99Ivan Magalhaes
1001Salvatore Q PoquetteIndia2026-09-07Rousseaux, Michael Esq QUALIFIED6Amy Elsner
1002Ashley G GarufiAustralia2026-08-31Rangoni Of Florence PROPOSAL62Bernardo Dominic
1003Adams X FigeroaItaly2026-09-12Feltz Printing Service NEGOTIATION80Ivan Magalhaes
1004David J SchemmerAustralia2026-09-16Chanay, Jeffrey A Esq PROPOSAL11Anna Fali
1005Smith I SergiUnited Kingdom2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED90Xuxue Feng
1006Deepesh H KuskoBrazil2026-09-16Chemel, James L Cpa NEW68Amy Elsner
1007Morrow B GauchoGermany2026-09-02Morlong Associates RENEWAL66Elwin Sharvill
1008Octavia E GlickSpain2026-09-25Truhlar And Truhlar Attys NEGOTIATION86Stephen Shaw
1009Murillo R BriddickFrance2026-09-25Buckley Miller Wright UNQUALIFIED23Ioni Bowcher
1010Julie A GlickBrazil2026-09-10Chemel, James L Cpa NEGOTIATION5Onyama Limba
1011Octavia P WieserArgentina2026-09-06Rangoni Of Florence UNQUALIFIED5Elwin Sharvill
1012Mayumi U SergiArgentina2026-09-06Printing Dimensions NEW48Bernardo Dominic
1013Jeanfrancois D SchemmerFrance2026-09-01Benton, John B Jr NEW32Stephen Shaw
1014Jefferson G MacleadArgentina2026-09-29Dorl, James J Esq PROPOSAL55Anna Fali
1015Isabel M PerinRussia2026-09-16Commercial Press NEW0Anna Fali
1016Mayumi S SergiSpain2026-09-27Chapman, Ross E Esq PROPOSAL60Anna Fali
1017Isabel A PaprockiArgentina2026-09-29Morlong Associates NEW8Amy Elsner
1018Misaki N InouyeSpain2026-09-16Printing Dimensions NEW65Xuxue Feng
1019Chavez K CaldareraItaly2026-09-22King, Christopher A Esq RENEWAL87Ivan Magalhaes
1020Stacey Z WhobreyRussia2026-09-26Buckley Miller Wright PROPOSAL45Onyama Limba
1021Munro M AlbaresAustralia2026-09-23King, Christopher A Esq QUALIFIED39Ioni Bowcher
1022Rodrigues A RulapaughGermany2026-09-01Printing Dimensions PROPOSAL9Amy Elsner
1023Francesco Z SergiGermany2026-09-23Morlong Associates RENEWAL95Elwin Sharvill
1024James H MorascaCanada2026-09-06Chanay, Jeffrey A Esq NEGOTIATION90Ioni Bowcher
1025Mayumi Z RulapaughJapan2026-09-05Truhlar And Truhlar Attys PROPOSAL88Onyama Limba
1026Greenwood J SlusarskiUnited Kingdom2026-09-25Feiner Bros RENEWAL55Bernardo Dominic
1027Misaki O PerinItaly2026-09-11Printing Dimensions UNQUALIFIED61Xuxue Feng
1028Adams C MacleadJapan2026-09-27Commercial Press QUALIFIED23Ioni Bowcher
1029Clifford L DarakjyGermany2026-09-02Rangoni Of Florence QUALIFIED98Onyama Limba
1030Sinclair Q NestleGermany2026-09-10Buckley Miller Wright RENEWAL90Elwin Sharvill
1031Aruna V GarufiFrance2026-08-31Dorl, James J Esq NEGOTIATION55Ivan Magalhaes
1032Nicolas L ShinkoFrance2026-09-17Morlong Associates QUALIFIED78Onyama Limba
1033Ashley R WhobreyCanada2026-09-04Benton, John B Jr PROPOSAL31Amy Elsner
1034Silvio E PerinUnited Kingdom2026-09-10Buckley Miller Wright PROPOSAL86Amy Elsner
1035Wickens N MarrierArgentina2026-09-11Truhlar And Truhlar Attys PROPOSAL81Elwin Sharvill
1036Faith B RoysterJapan2026-09-23Chapman, Ross E Esq PROPOSAL97Bernardo Dominic
1037Juan I ButtItaly2026-09-09Truhlar And Truhlar Attys UNQUALIFIED76Stephen Shaw
1038Munro U SchemmerItaly2026-09-22Feltz Printing Service UNQUALIFIED18Anna Fali
1039Johnson V ChuiRussia2026-09-01Feiner Bros QUALIFIED13Anna Fali
1040Arvin B MarrierCanada2026-09-07Benton, John B Jr PROPOSAL90Onyama Limba
1041Arvin V ShinkoItaly2026-09-12Rousseaux, Michael Esq NEW73Stephen Shaw
1042Ricardo T CaldareraFrance2026-09-01Benton, John B Jr PROPOSAL87Bernardo Dominic
1043Darci Z ButtItaly2026-09-03Rousseaux, Michael Esq RENEWAL84Bernardo Dominic
1044Ricardo K StockhamSpain2026-08-31Chemel, James L Cpa UNQUALIFIED26Anna Fali
1045Silvio I ShinkoRussia2026-09-16Buckley Miller Wright UNQUALIFIED25Amy Elsner
1046Clifford K OstroskyAustralia2026-09-07Dorl, James J Esq RENEWAL72Xuxue Feng
1047Ashley P GillianItaly2026-09-21Chanay, Jeffrey A Esq NEW40Elwin Sharvill
1048Sinclair P CaldareraRussia2026-09-23Benton, John B Jr RENEWAL5Onyama Limba
1049Silvio B InouyeBrazil2026-09-29Buckley Miller Wright UNQUALIFIED81Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Misaki R MaletSpainXuxue Feng PROPOSAL
Juan O KolmetzArgentinaAsiya Javayant NEGOTIATION
Mujtaba I MorascaRussiaAsiya Javayant NEGOTIATION
Jones R ButtGermanyStephen Shaw UNQUALIFIED
Octavia E GillianIndiaOnyama Limba NEW
Ashley H BriddickGermanyBernardo Dominic QUALIFIED
Stacey M MarrierSpainXuxue Feng NEGOTIATION
Tony E NickaUnited KingdomAsiya Javayant UNQUALIFIED
Cody U WaycottRussiaAmy Elsner UNQUALIFIED
Stacey H RimCanadaStephen Shaw RENEWAL
Johnson Y AlbaresSpainOnyama Limba UNQUALIFIED
Jefferson D DarakjyRussiaElwin Sharvill RENEWAL
Ashley G PoquetteBrazilAnna Fali QUALIFIED
Aditya U MaletIndiaAnna Fali QUALIFIED
Sinclair H MarrierCanadaBernardo Dominic RENEWAL
Salvatore X RoysterSpainOnyama Limba NEGOTIATION
Faith O CampainGermanyBernardo Dominic NEW
Tony W FerenczUnited KingdomXuxue Feng PROPOSAL
Antonio W MorascaCanadaAsiya Javayant NEW
Kaitlin T SergiGermanyElwin Sharvill UNQUALIFIED
Izzy P DilliardFranceElwin Sharvill PROPOSAL
Arvin X WieserArgentinaOnyama Limba UNQUALIFIED
Rodrigues R KuskoRussiaIvan Magalhaes NEGOTIATION
Julie S PerinRussiaElwin Sharvill QUALIFIED
Misaki U DilliardUnited KingdomOnyama Limba QUALIFIED
Ashley Q DilliardJapanStephen Shaw UNQUALIFIED
Aruna J DarakjyJapanIoni Bowcher PROPOSAL
Ricardo G PoquetteItalyAmy Elsner QUALIFIED
Faith K MaletGermanyStephen Shaw PROPOSAL
Stacey J TollnerAustraliaXuxue Feng NEGOTIATION
Salvatore W ShinkoAustraliaIvan Magalhaes RENEWAL
Chavez A ButtSpainBernardo Dominic NEGOTIATION
Claire Y SergiItalyBernardo Dominic RENEWAL
Salvatore P SchemmerItalyIvan Magalhaes NEW
James T DarakjyIndiaElwin Sharvill NEW
Adams D RoysterCanadaBernardo Dominic NEW
Darci X SchemmerUnited KingdomIvan Magalhaes NEGOTIATION
Aditya N WhobreyGermanyAnna Fali PROPOSAL
Aika U CampainRussiaAnna Fali QUALIFIED
Mujtaba K AlbaresItalyIoni Bowcher QUALIFIED
Alejandro E BologniaCanadaAsiya Javayant NEGOTIATION
Antonio D AlbaresSpainAsiya Javayant RENEWAL
Juan W BriddickRussiaIoni Bowcher RENEWAL
Sinclair R RutaSpainOnyama Limba UNQUALIFIED
Morrow R FerenczArgentinaIoni Bowcher PROPOSAL
Wickens M GauchoGermanyStephen Shaw PROPOSAL
Claire V KolmetzIndiaBernardo Dominic RENEWAL
Clifford W InouyeArgentinaBernardo Dominic NEW
Clifford O ShinkoBrazilAmy Elsner PROPOSAL
Munro I InouyeCanadaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Aika G Maclead
Jeanfrancois N Wieser
Aruna P Caldarera
Leja G Rim
Jennifer G Doe
Misaki M Maclead
Adams Z Caudy
James X Figeroa
Faith J Foller
Emily L Briddick
Leon I Schemmer
Deepesh L Malet
Arvin P Venere
Adams S Gillian
Munro Q Albares
Sinclair Y Rulapaugh
Stacey S Waycott
Claire X Darakjy
Mujtaba B Venere
Isabel O Iturbide
Silvio Y Stockham
Costa U Caudy
Costa N Rim
Johnson R Dilliard
Isabel W Ferencz
Leon E Venere
Mujtaba J Figeroa
Rodrigues V Kusko
Adams D Caudy
Tony X Kolmetz
Tony F Caldarera
Antonio W Inouye
Faith B Sergi
Nicolas R Morasca
Maisha V Dilliard
Greenwood B Kolmetz
Ivar J Flosi
Adams M Venere
Emily X Vocelka
Isabel S Rulapaugh
Maisha T Briddick
Jeanfrancois N Inouye
Aruna V Malet
Wickens G Maclead
Wickens O Figeroa
Nicolas U Bolognia
Francesco O Nicka
Johnson Q Rim
Stacey W Garufi
Kaitlin Q Wieser
IdCountryDate
1000India2026-09-08
1001United Kingdom2026-09-06
1002Germany2026-09-26
1003Russia2026-09-06
1004Brazil2026-09-17
1005Spain2026-09-18
1006Australia2026-09-26
1007Spain2026-09-27
1008Argentina2026-09-21
1009France2026-09-01
1010United Kingdom2026-09-23
1011Russia2026-09-03
1012Japan2026-09-06
1013Italy2026-09-25
1014Italy2026-09-05
1015Argentina2026-09-05
1016Australia2026-09-18
1017Argentina2026-09-29
1018Japan2026-09-12
1019Italy2026-09-02
1020Italy2026-09-05
1021Russia2026-09-12
1022Italy2026-09-17
1023Spain2026-09-14
1024Australia2026-09-12
1025Australia2026-09-06
1026Spain2026-09-09
1027Australia2026-09-20
1028Japan2026-09-04
1029Italy2026-09-02
1030Japan2026-09-03
1031Brazil2026-09-13
1032Russia2026-09-01
1033Germany2026-09-20
1034Australia2026-09-19
1035Argentina2026-09-19
1036Canada2026-09-27
1037Brazil2026-09-22
1038Italy2026-09-05
1039India2026-09-24
1040Italy2026-09-06
1041Canada2026-09-04
1042Spain2026-09-15
1043Spain2026-09-17
1044Spain2026-09-23
1045United Kingdom2026-09-29
1046Italy2026-09-23
1047Japan2026-09-07
1048Canada2026-08-31
1049Argentina2026-09-06

On-Demand Data

NameIdCountryDate
Costa K Tollner1000France2026-09-18
Smith Y Marrier1001France2026-09-16
Jones K Gaucho1002Japan2026-09-14
Aditya B Briddick1003United Kingdom2026-09-14
Ricardo V Nestle1004Brazil2026-09-17
Jeanfrancois T Stockham1005Canada2026-09-25
Cody W Paprocki1006Russia2026-09-11
Johnson K Glick1007Canada2026-09-20
Aika Z Malet1008India2026-09-09
Alejandro L Kusko1009Australia2026-09-25
Salvatore J Wieser1010Germany2026-09-25
Alejandro Q Saylors1011Italy2026-09-17
Leja E Waycott1012United Kingdom2026-09-28
Mujtaba Z Waycott1013Brazil2026-09-19
Claire S Saylors1014Spain2026-09-06
Johnson I Morasca1015Brazil2026-09-21
Antonio K Doe1016Russia2026-09-06
Aika D Schemmer1017Australia2026-09-16
Adams S Butt1018Brazil2026-09-08
Silvio Y Vocelka1019Argentina2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas E FlosiCanadaAsiya Javayant NEGOTIATION
Jefferson V FollerSpainAmy Elsner RENEWAL
Murillo P GauchoUnited KingdomStephen Shaw RENEWAL
Leja D MarrierBrazilStephen Shaw RENEWAL
Juan C SaylorsIndiaBernardo Dominic QUALIFIED
Kaitlin I BriddickAustraliaBernardo Dominic RENEWAL
Ashley Z GlickGermanyAmy Elsner NEGOTIATION
Munro B RutaFranceStephen Shaw UNQUALIFIED
Arvin N MaletRussiaIvan Magalhaes UNQUALIFIED
Sinclair Q FigeroaSpainXuxue Feng NEW
Cody H NickaIndiaIvan Magalhaes NEW
Salvatore F NestleJapanAnna Fali RENEWAL
David U SaylorsFranceAmy Elsner NEGOTIATION
Ashley Z VocelkaArgentinaBernardo Dominic PROPOSAL
Jeanfrancois H FigeroaAustraliaIvan Magalhaes NEGOTIATION
Alejandro Z IturbideIndiaBernardo Dominic NEGOTIATION
Sinclair I TollnerUnited KingdomStephen Shaw RENEWAL
Morrow Q CaudySpainAnna Fali NEGOTIATION
Murillo K FigeroaSpainStephen Shaw RENEWAL
Claire I MarrierUnited KingdomXuxue Feng QUALIFIED
Claire J GarufiIndiaBernardo Dominic RENEWAL
Kadeem C VocelkaRussiaElwin Sharvill PROPOSAL
Darci Q SchemmerSpainBernardo Dominic QUALIFIED
Mujtaba K FlosiBrazilBernardo Dominic QUALIFIED
James B MaletRussiaElwin Sharvill QUALIFIED
Wickens T GarufiFranceBernardo Dominic QUALIFIED
Maria R WaycottArgentinaAsiya Javayant NEW
Ricardo Q NickaAustraliaBernardo Dominic QUALIFIED
Mayumi C GarufiFranceXuxue Feng NEW
Izzy V BriddickBrazilStephen Shaw NEW
Jeanfrancois J PaprockiBrazilIvan Magalhaes NEGOTIATION
Clifford S DoeUnited KingdomIoni Bowcher NEW
Adams Z StensethSpainStephen Shaw PROPOSAL
Rodrigues Z BologniaSpainAnna Fali RENEWAL
Jones S DarakjySpainOnyama Limba PROPOSAL
Ricardo S FigeroaUnited KingdomAmy Elsner PROPOSAL
Greenwood P AmigonAustraliaAsiya Javayant UNQUALIFIED
Kadeem J InouyeSpainElwin Sharvill PROPOSAL
Mujtaba D TollnerJapanElwin Sharvill PROPOSAL
Isabel U RulapaughUnited KingdomXuxue Feng 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>