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
Jennifer P CaudyCanadaStephen Shaw NEW
Izzy T WaycottRussiaIoni Bowcher NEW
Izzy L VenereSpainAmy Elsner NEGOTIATION
Ricardo K ShinkoUnited KingdomOnyama Limba QUALIFIED
Arvin J BologniaIndiaIvan Magalhaes NEW
Nicolas D SaylorsGermanyBernardo Dominic PROPOSAL
Costa S CampainBrazilXuxue Feng QUALIFIED
Ricardo X TollnerRussiaAmy Elsner NEW
Munro C DarakjyCanadaOnyama Limba PROPOSAL
Jeanfrancois B RulapaughGermanyXuxue Feng PROPOSAL
Arvin L BologniaIndiaIoni Bowcher RENEWAL
David O PoquetteJapanXuxue Feng UNQUALIFIED
Arvin D AlbaresIndiaStephen Shaw NEGOTIATION
Greenwood S PaprockiCanadaAmy Elsner UNQUALIFIED
Jefferson O KolmetzItalyIvan Magalhaes UNQUALIFIED
Francesco H MacleadRussiaAsiya Javayant NEW
Octavia N SaylorsGermanyAmy Elsner NEW
James U AlbaresRussiaXuxue Feng RENEWAL
Stacey Q DarakjyCanadaIvan Magalhaes RENEWAL
Leon I InouyeSpainXuxue Feng QUALIFIED
Francesco B InouyeSpainAmy Elsner QUALIFIED
Kaitlin O SchemmerAustraliaElwin Sharvill QUALIFIED
Francesco M ShinkoGermanyIoni Bowcher NEW
Maisha N MacleadJapanIvan Magalhaes PROPOSAL
Aditya I VenereCanadaIvan Magalhaes PROPOSAL
Aika Z RulapaughAustraliaIvan Magalhaes NEW
David B GillianAustraliaAmy Elsner NEGOTIATION
Leja J WhobreyRussiaXuxue Feng NEW
Salvatore S PerinRussiaAsiya Javayant QUALIFIED
Francesco L WieserCanadaXuxue Feng QUALIFIED
Maria U KolmetzCanadaBernardo Dominic NEGOTIATION
Smith S CaldareraSpainOnyama Limba NEW
Jones J MorascaIndiaElwin Sharvill NEW
Nicolas Q FlosiRussiaStephen Shaw RENEWAL
Francesco Z InouyeBrazilBernardo Dominic NEW
Smith R PaprockiGermanyElwin Sharvill PROPOSAL
Adams O MarrierFranceAsiya Javayant UNQUALIFIED
Tony M OstroskyIndiaAsiya Javayant QUALIFIED
David T WhobreyAustraliaAnna Fali RENEWAL
Mayumi A CaudyGermanyXuxue Feng UNQUALIFIED
Aruna V BologniaIndiaAsiya Javayant NEW
Aditya S BriddickArgentinaIvan Magalhaes NEGOTIATION
Wickens L SergiFranceXuxue Feng PROPOSAL
Johnson Q FerenczUnited KingdomXuxue Feng UNQUALIFIED
Costa L GillianItalyAsiya Javayant PROPOSAL
Kaitlin G MaletCanadaIvan Magalhaes UNQUALIFIED
Cody A VenereBrazilStephen Shaw UNQUALIFIED
Ricardo S MaletBrazilIoni Bowcher PROPOSAL
Francesco Z DoeUnited KingdomXuxue Feng NEW
James S PaprockiJapanBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois G OstroskyJapanIoni Bowcher UNQUALIFIED
Mujtaba U StockhamJapanBernardo Dominic PROPOSAL
Clifford N KuskoIndiaBernardo Dominic RENEWAL
Mujtaba O FerenczArgentinaIvan Magalhaes NEGOTIATION
Wickens G FigeroaJapanAmy Elsner RENEWAL
Ivar E PerinIndiaIoni Bowcher PROPOSAL
Greenwood Q ShinkoArgentinaIoni Bowcher NEGOTIATION
Mayumi Y FlosiSpainStephen Shaw UNQUALIFIED
Mujtaba F AlbaresJapanOnyama Limba RENEWAL
Clifford V WhobreyFranceAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia O GarufiArgentina2026-10-12Rousseaux, Michael Esq QUALIFIED95Elwin Sharvill
1001Salvatore D KuskoArgentina2026-10-01Rousseaux, Michael Esq RENEWAL27Amy Elsner
1002Greenwood R MarrierUnited Kingdom2026-10-11Rousseaux, Michael Esq QUALIFIED82Anna Fali
1003Alejandro Y OstroskyUnited Kingdom2026-09-29King, Christopher A Esq NEW65Anna Fali
1004Leon Z ButtFrance2026-09-24King, Christopher A Esq RENEWAL38Ioni Bowcher
1005Jones Z NestleAustralia2026-09-26Chemel, James L Cpa RENEWAL15Amy Elsner
1006Nicolas G SergiJapan2026-10-03Feltz Printing Service UNQUALIFIED79Asiya Javayant
1007Antonio O InouyeAustralia2026-10-10Chanay, Jeffrey A Esq PROPOSAL55Stephen Shaw
1008Costa L DilliardUnited Kingdom2026-10-01Chemel, James L Cpa QUALIFIED56Anna Fali
1009Julie K CaudyArgentina2026-10-11Chapman, Ross E Esq UNQUALIFIED71Onyama Limba
1010Juan H CaldareraGermany2026-09-27Rousseaux, Michael Esq PROPOSAL14Ivan Magalhaes
1011Johnson M ShinkoCanada2026-09-26Feiner Bros NEW4Onyama Limba
1012James U DarakjyCanada2026-10-07Feiner Bros PROPOSAL22Onyama Limba
1013Kadeem H BowleyGermany2026-10-18Feltz Printing Service RENEWAL32Ioni Bowcher
1014Kadeem U PaprockiItaly2026-10-19Feltz Printing Service PROPOSAL68Ioni Bowcher
1015Deepesh Z FerenczUnited Kingdom2026-10-08Rousseaux, Michael Esq PROPOSAL91Elwin Sharvill
1016Aditya D PaprockiBrazil2026-10-11Printing Dimensions QUALIFIED57Ioni Bowcher
1017Sinclair T PerinRussia2026-10-15Truhlar And Truhlar Attys NEW5Elwin Sharvill
1018Darci S PaprockiGermany2026-10-15Feiner Bros RENEWAL29Amy Elsner
1019Wickens N ChuiArgentina2026-10-07Rousseaux, Michael Esq NEW21Elwin Sharvill
1020Nicolas V SaylorsSpain2026-09-21Commercial Press QUALIFIED14Xuxue Feng
1021Darci I SaylorsGermany2026-10-03Rangoni Of Florence NEGOTIATION61Xuxue Feng
1022Murillo S BowleyGermany2026-09-29Printing Dimensions RENEWAL62Elwin Sharvill
1023Adams X MaletCanada2026-10-13Chapman, Ross E Esq RENEWAL24Anna Fali
1024Wickens C FlosiUnited Kingdom2026-10-02Chemel, James L Cpa NEGOTIATION8Asiya Javayant
1025Alejandro I SchemmerItaly2026-10-19King, Christopher A Esq PROPOSAL7Asiya Javayant
1026Kaitlin W ButtCanada2026-10-04Chapman, Ross E Esq UNQUALIFIED85Stephen Shaw
1027Alejandro E StensethGermany2026-10-15Benton, John B Jr RENEWAL21Asiya Javayant
1028Octavia Z DilliardSpain2026-10-14Feltz Printing Service UNQUALIFIED39Asiya Javayant
1029Claire X InouyeJapan2026-10-01Rangoni Of Florence QUALIFIED61Ivan Magalhaes
1030Silvio I PaprockiAustralia2026-10-11King, Christopher A Esq QUALIFIED62Ioni Bowcher
1031Leon U CaldareraCanada2026-09-23Rangoni Of Florence NEW10Xuxue Feng
1032Alejandro T FlosiFrance2026-10-10Printing Dimensions PROPOSAL91Xuxue Feng
1033Jennifer I CaudyFrance2026-09-27Commercial Press QUALIFIED58Amy Elsner
1034Stacey W DarakjyCanada2026-10-05Rangoni Of Florence PROPOSAL55Anna Fali
1035Arvin J PerinGermany2026-09-22Chapman, Ross E Esq QUALIFIED82Elwin Sharvill
1036Francesco S BowleyGermany2026-09-24Commercial Press RENEWAL90Elwin Sharvill
1037Johnson I PerinFrance2026-10-07Benton, John B Jr UNQUALIFIED85Amy Elsner
1038Greenwood Q SaylorsItaly2026-10-16Truhlar And Truhlar Attys PROPOSAL83Elwin Sharvill
1039Johnson E PaprockiJapan2026-10-18Rousseaux, Michael Esq PROPOSAL85Ioni Bowcher
1040Chavez J GauchoCanada2026-10-15King, Christopher A Esq RENEWAL9Xuxue Feng
1041Aditya Q NestleRussia2026-10-05Rousseaux, Michael Esq UNQUALIFIED45Ioni Bowcher
1042Jennifer X ShinkoBrazil2026-10-01Rousseaux, Michael Esq NEW74Amy Elsner
1043Leja O BowleyJapan2026-09-27Rousseaux, Michael Esq PROPOSAL12Ioni Bowcher
1044David W GauchoCanada2026-09-23Benton, John B Jr RENEWAL12Anna Fali
1045Octavia N GauchoAustralia2026-09-25Printing Dimensions RENEWAL77Bernardo Dominic
1046David T PerinCanada2026-09-28Chemel, James L Cpa NEGOTIATION14Onyama Limba
1047Claire P FigeroaSpain2026-10-18Feiner Bros NEGOTIATION62Ioni Bowcher
1048Chavez U SchemmerSpain2026-09-23Chemel, James L Cpa QUALIFIED61Asiya Javayant
1049Kaitlin P DarakjyIndia2026-10-08Printing Dimensions QUALIFIED46Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jennifer X AmigonItalyIvan Magalhaes RENEWAL
Salvatore B SaylorsGermanyIoni Bowcher NEW
Wickens A MarrierAustraliaElwin Sharvill QUALIFIED
Costa N SergiBrazilElwin Sharvill NEGOTIATION
Clifford C WhobreyItalyIoni Bowcher UNQUALIFIED
Maisha K ShinkoCanadaAmy Elsner NEW
Octavia H GlickIndiaIoni Bowcher NEW
Maisha B PoquetteRussiaAsiya Javayant UNQUALIFIED
Costa E GauchoFranceElwin Sharvill UNQUALIFIED
Isabel W FollerAustraliaStephen Shaw NEW
Alejandro Y ShinkoRussiaIoni Bowcher NEGOTIATION
Sinclair C GlickJapanXuxue Feng NEW
Jennifer W MaletUnited KingdomElwin Sharvill NEGOTIATION
Emily K VocelkaCanadaAnna Fali NEGOTIATION
Jennifer L ShinkoAustraliaOnyama Limba UNQUALIFIED
Johnson B IturbideUnited KingdomBernardo Dominic NEGOTIATION
Ivar W FollerItalyElwin Sharvill RENEWAL
Rodrigues C RoysterBrazilOnyama Limba UNQUALIFIED
Ricardo U RutaBrazilStephen Shaw QUALIFIED
Salvatore E VocelkaIndiaIvan Magalhaes RENEWAL
Emily G SaylorsBrazilElwin Sharvill PROPOSAL
Faith D WieserItalyElwin Sharvill QUALIFIED
Aruna G PoquetteRussiaBernardo Dominic PROPOSAL
Francesco T SaylorsUnited KingdomAnna Fali NEGOTIATION
Cody J BriddickIndiaIoni Bowcher UNQUALIFIED
Deepesh W WieserUnited KingdomIoni Bowcher NEGOTIATION
Clifford I GarufiItalyAmy Elsner NEGOTIATION
Izzy C GauchoSpainIoni Bowcher UNQUALIFIED
Jennifer J WieserCanadaAsiya Javayant RENEWAL
Munro F StensethRussiaIvan Magalhaes NEGOTIATION
Munro Z SlusarskiGermanyAmy Elsner NEW
James W MacleadUnited KingdomBernardo Dominic RENEWAL
Emily Y BriddickCanadaIoni Bowcher NEW
Murillo Z PerinJapanStephen Shaw RENEWAL
Stacey K MarrierItalyAsiya Javayant NEW
Izzy L ChuiBrazilStephen Shaw PROPOSAL
Sinclair M KuskoBrazilAmy Elsner NEW
Ivar T BriddickGermanyIoni Bowcher UNQUALIFIED
Salvatore S KuskoRussiaStephen Shaw RENEWAL
Antonio G KuskoJapanXuxue Feng NEW
Claire Q KuskoItalyXuxue Feng NEGOTIATION
Francesco C ButtUnited KingdomIoni Bowcher NEGOTIATION
Morrow Z InouyeCanadaIoni Bowcher RENEWAL
Silvio F TollnerArgentinaIvan Magalhaes RENEWAL
Ivar M CaudyIndiaStephen Shaw UNQUALIFIED
Mujtaba U WhobreyBrazilOnyama Limba NEW
Cody A WhobreyFranceOnyama Limba QUALIFIED
Morrow N BologniaAustraliaIoni Bowcher NEW
Isabel R FerenczFranceAnna Fali NEGOTIATION
Misaki E MaletIndiaElwin Sharvill NEW
Frozen Columns
Name
Ricardo S Saylors
Mujtaba A Whobrey
Greenwood G Foller
David O Nicka
Aruna T Darakjy
Julie Z Stenseth
Aika N Rulapaugh
Arvin A Garufi
Jeanfrancois E Stockham
Smith C Vocelka
Clifford M Chui
David Y Saylors
Deepesh E Rim
Aika S Waycott
Misaki J Rim
Johnson C Saylors
Tony F Vocelka
Stacey M Ruta
Leja V Dilliard
Aditya S Slusarski
Adams P Malet
Nicolas R Caldarera
Wickens A Perin
Jones F Caldarera
Leja V Kusko
Alejandro S Nicka
Kaitlin M Iturbide
Maisha M Caldarera
Greenwood G Vocelka
Francesco H Stenseth
Rodrigues R Dilliard
Maria B Iturbide
Greenwood S Morasca
Faith Y Iturbide
Darci T Amigon
Juan D Royster
Kadeem E Oldroyd
Sinclair I Whobrey
Misaki Z Doe
Munro D Albares
Jennifer E Paprocki
Cody A Foller
Adams V Caldarera
Aditya C Stockham
James J Wieser
Arvin A Caldarera
Julie C Kolmetz
Deepesh C Flosi
Izzy S Ostrosky
Ricardo U Doe
IdCountryDate
1000United Kingdom2026-10-01
1001Australia2026-10-10
1002France2026-09-25
1003United Kingdom2026-10-15
1004Italy2026-09-29
1005Canada2026-10-19
1006India2026-10-18
1007Argentina2026-10-05
1008Russia2026-10-07
1009India2026-10-20
1010Australia2026-10-16
1011United Kingdom2026-10-13
1012United Kingdom2026-10-10
1013Russia2026-10-15
1014India2026-10-01
1015Germany2026-10-03
1016Canada2026-09-23
1017Japan2026-10-19
1018Japan2026-10-12
1019Japan2026-09-28
1020Germany2026-10-18
1021India2026-10-10
1022Brazil2026-10-20
1023India2026-09-27
1024United Kingdom2026-10-20
1025Italy2026-10-10
1026Italy2026-10-06
1027Germany2026-09-29
1028France2026-10-04
1029Italy2026-09-29
1030France2026-09-23
1031Russia2026-10-14
1032India2026-10-19
1033Spain2026-09-28
1034Germany2026-09-24
1035Brazil2026-09-22
1036France2026-09-26
1037France2026-10-04
1038Australia2026-10-12
1039Japan2026-10-03
1040Canada2026-09-24
1041United Kingdom2026-10-10
1042Germany2026-10-13
1043Australia2026-10-08
1044India2026-10-17
1045Japan2026-10-05
1046Japan2026-09-25
1047Canada2026-10-17
1048India2026-09-27
1049India2026-09-22

On-Demand Data

NameIdCountryDate
Claire P Amigon1000Spain2026-09-25
Kadeem W Slusarski1001India2026-10-16
Stacey V Briddick1002Canada2026-10-09
Wickens A Stockham1003Russia2026-09-29
Ashley J Caudy1004Japan2026-09-30
Deepesh F Royster1005Argentina2026-10-06
Chavez S Iturbide1006Argentina2026-09-30
Salvatore A Stockham1007India2026-10-16
Faith H Dilliard1008Canada2026-10-20
Maisha P Waycott1009Canada2026-10-04
Mayumi E Campain1010Germany2026-10-07
Alejandro G Stockham1011Canada2026-10-13
Jefferson Y Kolmetz1012Australia2026-10-19
Wickens L Ruta1013Germany2026-10-04
Emily R Rim1014India2026-10-04
Aika Z Slusarski1015Germany2026-10-13
Kadeem L Tollner1016United Kingdom2026-10-02
Arvin A Kusko1017Australia2026-09-28
Jefferson K Gaucho1018Italy2026-09-26
Ivar A Chui1019France2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson D OstroskySpainXuxue Feng QUALIFIED
Deepesh F MacleadRussiaElwin Sharvill UNQUALIFIED
Smith Y MorascaArgentinaIvan Magalhaes UNQUALIFIED
Juan W FerenczIndiaXuxue Feng PROPOSAL
Jeanfrancois Z SergiArgentinaElwin Sharvill NEW
Maisha U VocelkaBrazilAnna Fali QUALIFIED
Julie I AmigonItalyAmy Elsner RENEWAL
Ivar R NickaGermanyStephen Shaw UNQUALIFIED
Aditya Q ButtIndiaAnna Fali NEW
Adams R RimSpainXuxue Feng NEGOTIATION
Stacey U GlickBrazilElwin Sharvill UNQUALIFIED
Kadeem L SlusarskiJapanAmy Elsner NEW
Juan S MacleadUnited KingdomAmy Elsner QUALIFIED
Mujtaba V TollnerCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois Z VenereBrazilBernardo Dominic PROPOSAL
Rodrigues Y DarakjyRussiaElwin Sharvill NEW
Isabel G VenereCanadaAsiya Javayant NEGOTIATION
Francesco K SlusarskiItalyIoni Bowcher UNQUALIFIED
Juan K BologniaRussiaOnyama Limba PROPOSAL
Aditya R RimSpainAnna Fali NEW
Kadeem L BriddickCanadaBernardo Dominic RENEWAL
Jefferson R RulapaughRussiaOnyama Limba NEGOTIATION
Misaki X CampainRussiaOnyama Limba QUALIFIED
Costa B TollnerIndiaElwin Sharvill UNQUALIFIED
Kaitlin K MacleadRussiaIoni Bowcher NEGOTIATION
Leon T DarakjyFranceBernardo Dominic NEGOTIATION
Sinclair D RulapaughRussiaStephen Shaw PROPOSAL
Mujtaba P VenereCanadaOnyama Limba RENEWAL
Ivar W BologniaIndiaAmy Elsner UNQUALIFIED
Maria G MaletCanadaAmy Elsner QUALIFIED
Chavez X AlbaresItalyElwin Sharvill RENEWAL
Sinclair M ShinkoSpainAsiya Javayant QUALIFIED
Chavez U RoysterUnited KingdomAnna Fali NEGOTIATION
Nicolas A FerenczRussiaXuxue Feng UNQUALIFIED
Greenwood M RimGermanyXuxue Feng NEW
Alejandro D SlusarskiAustraliaAsiya Javayant PROPOSAL
Aruna Y WhobreyCanadaStephen Shaw PROPOSAL
Jones O MaletAustraliaAnna Fali NEW
Francesco K ShinkoGermanyXuxue Feng UNQUALIFIED
Salvatore N OstroskyItalyAnna Fali PROPOSAL

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