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
Jeanfrancois A WieserIndiaStephen Shaw UNQUALIFIED
Jennifer Q RimUnited KingdomOnyama Limba QUALIFIED
Leon U SaylorsFranceOnyama Limba PROPOSAL
Jennifer C CaudyAustraliaBernardo Dominic NEGOTIATION
Salvatore T SchemmerCanadaStephen Shaw NEW
Ashley F ChuiBrazilElwin Sharvill RENEWAL
Darci V AmigonIndiaBernardo Dominic UNQUALIFIED
James W ButtGermanyAmy Elsner NEGOTIATION
Arvin R GlickRussiaOnyama Limba NEGOTIATION
Antonio R RimIndiaStephen Shaw QUALIFIED
Maisha F DoeIndiaAmy Elsner NEW
Cody U SergiItalyAsiya Javayant UNQUALIFIED
James N RoysterSpainAnna Fali UNQUALIFIED
Isabel F AlbaresJapanIvan Magalhaes NEW
Darci Y FollerArgentinaXuxue Feng RENEWAL
Mujtaba I RutaItalyXuxue Feng NEW
Antonio G PoquetteIndiaElwin Sharvill RENEWAL
David Z MorascaIndiaAsiya Javayant NEW
Clifford I RoysterIndiaAnna Fali NEW
Sinclair X BriddickBrazilIoni Bowcher RENEWAL
Isabel F FigeroaUnited KingdomIoni Bowcher RENEWAL
Deepesh D GauchoSpainAsiya Javayant UNQUALIFIED
Cody B CampainJapanBernardo Dominic UNQUALIFIED
Nicolas N AlbaresSpainIoni Bowcher QUALIFIED
Munro Z GlickItalyAnna Fali NEGOTIATION
Morrow N DoeIndiaIvan Magalhaes QUALIFIED
Leon M KuskoGermanyElwin Sharvill QUALIFIED
Octavia I NestleUnited KingdomIoni Bowcher NEW
Kaitlin T GlickRussiaBernardo Dominic NEW
Murillo N MacleadJapanIvan Magalhaes NEGOTIATION
Jefferson O KolmetzCanadaIoni Bowcher UNQUALIFIED
Maisha P FerenczCanadaXuxue Feng RENEWAL
Rodrigues E PaprockiFranceAnna Fali QUALIFIED
Ricardo M OldroydSpainAsiya Javayant NEGOTIATION
Salvatore R InouyeGermanyAnna Fali UNQUALIFIED
Alejandro W NickaRussiaElwin Sharvill NEW
Leja H SchemmerFranceIoni Bowcher QUALIFIED
Morrow L ShinkoItalyAmy Elsner NEW
Wickens A GillianUnited KingdomIoni Bowcher NEGOTIATION
Leja J WieserUnited KingdomAnna Fali NEW
Aruna R KuskoCanadaAsiya Javayant PROPOSAL
Tony K DoeUnited KingdomElwin Sharvill PROPOSAL
Munro V NickaGermanyAnna Fali NEW
Claire T ChuiGermanyAsiya Javayant NEW
Silvio T FigeroaFranceIoni Bowcher UNQUALIFIED
Juan Y OstroskyArgentinaBernardo Dominic RENEWAL
Julie E SaylorsCanadaIvan Magalhaes NEGOTIATION
Tony D CaudyJapanStephen Shaw QUALIFIED
David U DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Murillo V RimGermanyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem Z IturbideRussiaOnyama Limba UNQUALIFIED
Stacey O WaycottAustraliaStephen Shaw NEW
Aruna M FerenczJapanXuxue Feng NEGOTIATION
Adams S CampainBrazilOnyama Limba RENEWAL
Morrow P NestleArgentinaBernardo Dominic QUALIFIED
Aditya X AlbaresAustraliaIoni Bowcher NEW
Aika G FollerJapanOnyama Limba NEW
Mayumi V RimBrazilAsiya Javayant PROPOSAL
Jones D GlickArgentinaXuxue Feng QUALIFIED
Tony B MaletItalyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith B RutaRussia2026-10-12Feltz Printing Service PROPOSAL62Xuxue Feng
1001Faith C RulapaughIndia2026-09-22Chapman, Ross E Esq RENEWAL4Ioni Bowcher
1002Francesco C FerenczAustralia2026-10-06Feltz Printing Service QUALIFIED28Ioni Bowcher
1003James T MarrierBrazil2026-09-29Dorl, James J Esq PROPOSAL57Elwin Sharvill
1004Mujtaba J WieserItaly2026-10-12Rangoni Of Florence NEGOTIATION53Xuxue Feng
1005Clifford O BriddickFrance2026-09-30Chanay, Jeffrey A Esq QUALIFIED36Asiya Javayant
1006Jefferson W BowleyItaly2026-09-22Chanay, Jeffrey A Esq PROPOSAL84Stephen Shaw
1007Wickens F CaldareraCanada2026-10-09Benton, John B Jr PROPOSAL55Xuxue Feng
1008Emily A WhobreyRussia2026-09-30Feltz Printing Service QUALIFIED93Onyama Limba
1009Nicolas W FlosiFrance2026-10-03Feltz Printing Service RENEWAL54Ioni Bowcher
1010Alejandro W StockhamUnited Kingdom2026-10-15Rangoni Of Florence NEGOTIATION38Asiya Javayant
1011Aditya M CaudyBrazil2026-09-24Chanay, Jeffrey A Esq QUALIFIED12Stephen Shaw
1012Nicolas O SlusarskiFrance2026-10-05Commercial Press RENEWAL39Bernardo Dominic
1013James S DilliardGermany2026-09-18Rangoni Of Florence NEGOTIATION14Ivan Magalhaes
1014Stacey M WaycottUnited Kingdom2026-10-12Buckley Miller Wright UNQUALIFIED19Asiya Javayant
1015Kaitlin H FigeroaIndia2026-10-14Truhlar And Truhlar Attys NEGOTIATION76Amy Elsner
1016Octavia R PoquetteCanada2026-09-25Feiner Bros PROPOSAL27Ivan Magalhaes
1017Adams R PerinCanada2026-09-27Chanay, Jeffrey A Esq NEW46Bernardo Dominic
1018Francesco I RulapaughGermany2026-09-19Rousseaux, Michael Esq NEGOTIATION44Ivan Magalhaes
1019Aruna Z MarrierItaly2026-10-16Truhlar And Truhlar Attys PROPOSAL8Onyama Limba
1020Rodrigues C FerenczAustralia2026-10-15Feiner Bros NEW14Amy Elsner
1021Isabel O PoquetteUnited Kingdom2026-09-22Chanay, Jeffrey A Esq UNQUALIFIED85Stephen Shaw
1022Alejandro P ShinkoJapan2026-10-14Chemel, James L Cpa QUALIFIED32Amy Elsner
1023Leon H KolmetzIndia2026-10-06Chapman, Ross E Esq UNQUALIFIED72Amy Elsner
1024Juan K RimArgentina2026-09-27Rangoni Of Florence NEW44Ivan Magalhaes
1025Costa O VenereRussia2026-09-24King, Christopher A Esq NEW4Bernardo Dominic
1026Emily F CaldareraGermany2026-10-12Feltz Printing Service NEW14Ioni Bowcher
1027Isabel B OldroydAustralia2026-10-03Chapman, Ross E Esq UNQUALIFIED52Stephen Shaw
1028Aika T NickaCanada2026-09-28Commercial Press UNQUALIFIED82Ivan Magalhaes
1029Aruna B PerinRussia2026-10-03Feltz Printing Service NEGOTIATION69Elwin Sharvill
1030Mujtaba L TollnerBrazil2026-10-10Dorl, James J Esq PROPOSAL60Elwin Sharvill
1031Misaki S RimArgentina2026-10-10Chanay, Jeffrey A Esq NEW59Ivan Magalhaes
1032Mujtaba R OldroydBrazil2026-10-16Truhlar And Truhlar Attys NEGOTIATION49Bernardo Dominic
1033Stacey P SchemmerCanada2026-09-27King, Christopher A Esq NEW17Bernardo Dominic
1034Deepesh X OstroskyCanada2026-10-09Benton, John B Jr PROPOSAL54Stephen Shaw
1035Alejandro F OldroydFrance2026-09-28King, Christopher A Esq NEGOTIATION13Elwin Sharvill
1036Octavia K StockhamItaly2026-09-19Printing Dimensions NEGOTIATION64Bernardo Dominic
1037Leja R TollnerGermany2026-10-03Benton, John B Jr UNQUALIFIED9Asiya Javayant
1038Greenwood L ButtAustralia2026-10-07Rangoni Of Florence NEGOTIATION67Onyama Limba
1039Jennifer B ButtBrazil2026-09-29Chapman, Ross E Esq NEW41Anna Fali
1040Costa M TollnerFrance2026-10-09Dorl, James J Esq NEGOTIATION73Elwin Sharvill
1041Ricardo C GlickBrazil2026-10-12Chapman, Ross E Esq NEW55Bernardo Dominic
1042Nicolas G PaprockiIndia2026-09-27Rousseaux, Michael Esq PROPOSAL7Ioni Bowcher
1043Rodrigues B MarrierBrazil2026-09-25Buckley Miller Wright NEW48Ivan Magalhaes
1044Arvin X NickaIndia2026-09-27Rousseaux, Michael Esq PROPOSAL88Bernardo Dominic
1045David P NickaItaly2026-10-02Buckley Miller Wright QUALIFIED29Ioni Bowcher
1046James X GlickItaly2026-10-14Feiner Bros QUALIFIED7Onyama Limba
1047Leon J SergiItaly2026-10-14King, Christopher A Esq UNQUALIFIED25Ioni Bowcher
1048Tony O AlbaresJapan2026-10-15Dorl, James J Esq NEGOTIATION33Ioni Bowcher
1049Julie O BriddickItaly2026-10-11Truhlar And Truhlar Attys NEW84Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maisha Z KolmetzIndiaAsiya Javayant NEW
Munro X MaletItalyXuxue Feng RENEWAL
Juan V FollerArgentinaStephen Shaw NEGOTIATION
Aditya Q SchemmerSpainElwin Sharvill NEGOTIATION
Juan U GarufiBrazilIvan Magalhaes PROPOSAL
Munro B VenereAustraliaAmy Elsner RENEWAL
Morrow X OstroskyAustraliaBernardo Dominic QUALIFIED
Jefferson U DilliardAustraliaAsiya Javayant NEW
Tony U CampainBrazilAsiya Javayant UNQUALIFIED
Octavia V DarakjyJapanIoni Bowcher NEW
Arvin S ChuiUnited KingdomIvan Magalhaes PROPOSAL
Antonio B RoysterBrazilAnna Fali RENEWAL
Maria O MorascaAustraliaAsiya Javayant UNQUALIFIED
Isabel Z VenereGermanyStephen Shaw NEGOTIATION
Adams R CaldareraCanadaElwin Sharvill RENEWAL
Aditya V GauchoItalyAsiya Javayant UNQUALIFIED
Jeanfrancois Z BologniaItalyAnna Fali NEGOTIATION
Mayumi L GauchoIndiaAnna Fali RENEWAL
Chavez E OstroskyItalyAnna Fali PROPOSAL
David L GlickUnited KingdomOnyama Limba NEW
Izzy N BowleyItalyIoni Bowcher NEGOTIATION
Sinclair L PoquetteItalyAnna Fali NEGOTIATION
Murillo P FerenczArgentinaOnyama Limba RENEWAL
Sinclair E GarufiIndiaAmy Elsner NEGOTIATION
Munro A DilliardJapanIoni Bowcher NEGOTIATION
Munro H MaletSpainIoni Bowcher NEGOTIATION
Octavia S PoquetteSpainBernardo Dominic UNQUALIFIED
Francesco W RutaSpainIoni Bowcher QUALIFIED
Mujtaba I NestleSpainXuxue Feng QUALIFIED
Darci T AmigonCanadaBernardo Dominic NEW
Arvin H BowleyFranceBernardo Dominic UNQUALIFIED
Cody N RoysterAustraliaElwin Sharvill RENEWAL
Ashley E SaylorsIndiaAsiya Javayant NEGOTIATION
Chavez V VocelkaSpainBernardo Dominic UNQUALIFIED
Claire V MacleadArgentinaBernardo Dominic RENEWAL
Wickens I StensethCanadaAsiya Javayant RENEWAL
Cody M KolmetzJapanAnna Fali PROPOSAL
Mujtaba K ShinkoItalyStephen Shaw PROPOSAL
Faith S KolmetzFranceStephen Shaw QUALIFIED
James X DilliardSpainOnyama Limba NEW
Darci Z CaudyItalyAsiya Javayant QUALIFIED
Claire T KolmetzUnited KingdomOnyama Limba PROPOSAL
Alejandro Y SaylorsIndiaBernardo Dominic PROPOSAL
Adams C KuskoUnited KingdomXuxue Feng PROPOSAL
Mujtaba J VenereIndiaAsiya Javayant QUALIFIED
Kadeem O SlusarskiGermanyXuxue Feng RENEWAL
Adams C KolmetzBrazilElwin Sharvill UNQUALIFIED
David F MarrierUnited KingdomOnyama Limba PROPOSAL
Murillo G TollnerGermanyOnyama Limba PROPOSAL
Rodrigues Z DilliardRussiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Francesco M Darakjy
Aditya S Iturbide
Salvatore A Figeroa
Mujtaba H Campain
Rodrigues S Gillian
Mujtaba J Sergi
Salvatore T Stenseth
Octavia F Marrier
Ricardo X Ferencz
Kadeem J Rulapaugh
Leja N Kolmetz
Darci N Schemmer
Adams I Morasca
Kadeem U Iturbide
Arvin C Slusarski
Leon J Campain
Murillo A Marrier
Johnson S Ruta
Julie Y Figeroa
Morrow H Waycott
Jefferson J Briddick
Juan D Nicka
Leon S Foller
Morrow A Kusko
Claire C Paprocki
Ashley U Glick
Julie O Caudy
Maria H Briddick
Misaki Q Poquette
Francesco O Bowley
Ricardo B Gillian
Munro O Flosi
David K Vocelka
David H Darakjy
Emily E Garufi
Clifford Y Morasca
Adams E Campain
Mayumi N Sergi
David D Ferencz
Izzy I Nestle
Maria F Wieser
Maria P Albares
Kaitlin O Caudy
Ashley N Saylors
Maisha T Malet
Wickens R Rim
Jennifer B Oldroyd
Wickens C Royster
Aruna P Maclead
Nicolas G Garufi
IdCountryDate
1000Russia2026-09-22
1001Spain2026-09-22
1002Germany2026-09-25
1003Germany2026-10-09
1004Australia2026-10-01
1005Argentina2026-09-24
1006Argentina2026-10-10
1007Argentina2026-09-29
1008Japan2026-09-26
1009Brazil2026-09-29
1010Brazil2026-09-22
1011Canada2026-09-22
1012Spain2026-09-17
1013Italy2026-09-17
1014Argentina2026-09-23
1015Argentina2026-10-14
1016Japan2026-10-01
1017Australia2026-10-11
1018Russia2026-09-29
1019Brazil2026-10-10
1020United Kingdom2026-09-27
1021India2026-10-16
1022Argentina2026-09-19
1023Argentina2026-10-11
1024France2026-09-26
1025Canada2026-09-21
1026Germany2026-10-14
1027Russia2026-09-28
1028Argentina2026-09-19
1029Russia2026-09-19
1030Germany2026-09-26
1031Argentina2026-09-17
1032Brazil2026-10-02
1033France2026-09-24
1034France2026-10-08
1035Brazil2026-10-07
1036Italy2026-10-13
1037Japan2026-10-02
1038Argentina2026-09-25
1039France2026-09-24
1040Argentina2026-10-11
1041Australia2026-09-24
1042Brazil2026-09-26
1043Japan2026-09-22
1044Brazil2026-09-30
1045Australia2026-10-05
1046Argentina2026-10-13
1047Brazil2026-09-29
1048United Kingdom2026-09-20
1049France2026-09-28

On-Demand Data

NameIdCountryDate
Claire R Inouye1000United Kingdom2026-10-13
Alejandro D Rulapaugh1001United Kingdom2026-09-18
Antonio L Briddick1002Argentina2026-09-29
Aika I Royster1003Argentina2026-09-19
Johnson L Poquette1004France2026-10-10
Kaitlin N Slusarski1005France2026-10-12
Morrow T Whobrey1006Japan2026-10-05
Aika I Ferencz1007Germany2026-10-02
Isabel N Venere1008Argentina2026-10-10
Johnson Z Garufi1009United Kingdom2026-09-26
Jeanfrancois S Saylors1010Germany2026-10-01
Greenwood H Figeroa1011Italy2026-09-21
Francesco C Flosi1012Argentina2026-10-11
Ivar W Caldarera1013Canada2026-09-22
Wickens U Caudy1014Japan2026-10-11
Deepesh A Inouye1015Spain2026-10-02
Deepesh B Figeroa1016Argentina2026-09-24
Leja D Kolmetz1017Germany2026-10-14
David Q Bowley1018Germany2026-10-10
Johnson T Shinko1019France2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie H FigeroaArgentinaXuxue Feng RENEWAL
Maria V FerenczFranceIoni Bowcher NEGOTIATION
Mayumi G CaldareraItalyIoni Bowcher QUALIFIED
Aruna S DilliardItalyIvan Magalhaes NEW
Silvio O MacleadUnited KingdomElwin Sharvill NEW
Jefferson Z ChuiIndiaAsiya Javayant NEW
Salvatore F GillianArgentinaAsiya Javayant NEGOTIATION
Aika O VenereFranceOnyama Limba NEGOTIATION
Leja E SlusarskiUnited KingdomAnna Fali QUALIFIED
Stacey K GarufiFranceXuxue Feng UNQUALIFIED
Munro O DilliardItalyIoni Bowcher RENEWAL
Morrow R KuskoCanadaElwin Sharvill UNQUALIFIED
Octavia V FollerRussiaAsiya Javayant NEW
Alejandro C VenereJapanAnna Fali UNQUALIFIED
Stacey C KuskoRussiaElwin Sharvill NEW
Greenwood J MarrierIndiaIoni Bowcher UNQUALIFIED
Antonio D AmigonBrazilAsiya Javayant QUALIFIED
Ashley B SlusarskiJapanIvan Magalhaes NEGOTIATION
Misaki J MarrierIndiaOnyama Limba UNQUALIFIED
Faith A NickaAustraliaElwin Sharvill UNQUALIFIED
Isabel G CaudyCanadaIoni Bowcher NEGOTIATION
Isabel Y NickaBrazilIvan Magalhaes RENEWAL
Francesco C VocelkaBrazilOnyama Limba QUALIFIED
Kadeem T WhobreyItalyBernardo Dominic NEW
Maisha W GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Costa K InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Murillo Q NickaSpainIoni Bowcher RENEWAL
Tony X SchemmerSpainOnyama Limba QUALIFIED
Smith Z StensethGermanyAmy Elsner NEW
Morrow N BologniaArgentinaOnyama Limba QUALIFIED
Emily L GarufiCanadaBernardo Dominic QUALIFIED
Salvatore F PoquetteGermanyIoni Bowcher RENEWAL
Emily H WhobreyItalyOnyama Limba NEGOTIATION
Alejandro I ShinkoItalyAnna Fali PROPOSAL
Rodrigues Z SaylorsCanadaBernardo Dominic NEGOTIATION
Julie C GlickIndiaIoni Bowcher NEGOTIATION
Greenwood I ButtAustraliaAsiya Javayant PROPOSAL
Kadeem P WhobreyCanadaIvan Magalhaes NEGOTIATION
Octavia A KolmetzRussiaAsiya Javayant NEW
David T KolmetzUnited KingdomOnyama Limba 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>