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
Cody R ShinkoGermanyAmy Elsner NEGOTIATION
Greenwood D CaudyGermanyBernardo Dominic RENEWAL
Ivar T KolmetzCanadaIvan Magalhaes NEW
Chavez U WieserGermanyOnyama Limba NEGOTIATION
Jennifer K InouyeCanadaAsiya Javayant RENEWAL
Salvatore V IturbideIndiaXuxue Feng NEW
Kaitlin H ShinkoSpainElwin Sharvill QUALIFIED
Ivar H NickaSpainStephen Shaw QUALIFIED
Kadeem C MacleadArgentinaXuxue Feng NEGOTIATION
James X CaudyUnited KingdomElwin Sharvill NEGOTIATION
Faith C MacleadIndiaIvan Magalhaes UNQUALIFIED
Adams R TollnerCanadaStephen Shaw QUALIFIED
Maisha Q AlbaresSpainIvan Magalhaes RENEWAL
Claire O RulapaughArgentinaXuxue Feng NEW
Jefferson H GauchoFranceOnyama Limba PROPOSAL
Jefferson C PoquetteCanadaStephen Shaw PROPOSAL
Maisha X PerinBrazilAmy Elsner NEW
Mujtaba S WhobreyGermanyStephen Shaw QUALIFIED
Chavez Q BologniaIndiaIoni Bowcher UNQUALIFIED
Alejandro O AmigonFranceAsiya Javayant NEGOTIATION
Rodrigues P StockhamIndiaAnna Fali RENEWAL
Murillo W CaudyItalyIoni Bowcher UNQUALIFIED
Murillo Q DoeGermanyIoni Bowcher UNQUALIFIED
Isabel A RutaIndiaAsiya Javayant UNQUALIFIED
Darci C SaylorsBrazilOnyama Limba QUALIFIED
David F IturbideJapanAsiya Javayant QUALIFIED
Faith D WhobreyItalyBernardo Dominic PROPOSAL
Maisha N GauchoAustraliaXuxue Feng RENEWAL
Mujtaba B FollerAustraliaIvan Magalhaes NEW
Arvin W PerinJapanAsiya Javayant NEGOTIATION
Mayumi L PoquetteAustraliaStephen Shaw NEW
Ivar G BologniaCanadaAnna Fali NEGOTIATION
Claire D SchemmerBrazilIoni Bowcher NEW
Izzy P RimSpainAnna Fali QUALIFIED
Mayumi T GarufiRussiaStephen Shaw UNQUALIFIED
Alejandro F FlosiItalyAsiya Javayant UNQUALIFIED
Clifford E VenereGermanyAnna Fali RENEWAL
Wickens B StockhamRussiaIoni Bowcher NEGOTIATION
Wickens E BriddickUnited KingdomXuxue Feng QUALIFIED
Julie Y GillianArgentinaBernardo Dominic QUALIFIED
Greenwood K RulapaughCanadaOnyama Limba NEGOTIATION
Wickens G VenereFranceElwin Sharvill PROPOSAL
Deepesh J MaletUnited KingdomAsiya Javayant NEGOTIATION
Deepesh Q SaylorsRussiaStephen Shaw RENEWAL
Stacey A BriddickGermanyAsiya Javayant PROPOSAL
Kaitlin K BriddickBrazilElwin Sharvill QUALIFIED
Adams V CampainArgentinaIoni Bowcher RENEWAL
Arvin P CaudyIndiaAsiya Javayant UNQUALIFIED
Octavia J RoysterIndiaIvan Magalhaes NEGOTIATION
Ashley B CampainCanadaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh X IturbideFranceAsiya Javayant UNQUALIFIED
Octavia B StensethBrazilStephen Shaw PROPOSAL
Rodrigues Y BologniaSpainIvan Magalhaes NEW
Clifford D AmigonArgentinaIvan Magalhaes NEW
Emily K TollnerArgentinaXuxue Feng QUALIFIED
Aruna I WaycottAustraliaAsiya Javayant PROPOSAL
Claire C ShinkoUnited KingdomBernardo Dominic QUALIFIED
Darci J InouyeGermanyIoni Bowcher RENEWAL
Misaki O DarakjyRussiaIoni Bowcher UNQUALIFIED
Adams X MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody P MorascaBrazil2026-09-17Rousseaux, Michael Esq RENEWAL29Onyama Limba
1001Darci P WieserSpain2026-09-12Printing Dimensions PROPOSAL27Ivan Magalhaes
1002Ashley O AmigonFrance2026-08-27Benton, John B Jr NEW75Asiya Javayant
1003Ricardo X MarrierBrazil2026-09-09Rousseaux, Michael Esq NEGOTIATION10Elwin Sharvill
1004Adams M KuskoUnited Kingdom2026-08-30Morlong Associates NEW41Amy Elsner
1005Maria M NestleAustralia2026-09-03Feiner Bros NEGOTIATION32Ioni Bowcher
1006Maisha R NickaBrazil2026-09-19Rangoni Of Florence RENEWAL23Onyama Limba
1007Leja M VocelkaSpain2026-09-10Truhlar And Truhlar Attys PROPOSAL21Xuxue Feng
1008Nicolas H PoquetteIndia2026-09-05Chanay, Jeffrey A Esq NEW33Onyama Limba
1009Tony F BowleySpain2026-08-27Benton, John B Jr RENEWAL34Amy Elsner
1010Julie X GarufiArgentina2026-08-27Truhlar And Truhlar Attys QUALIFIED83Amy Elsner
1011Izzy J MaletArgentina2026-08-21Morlong Associates NEW24Ivan Magalhaes
1012Deepesh I KolmetzCanada2026-08-27Chemel, James L Cpa QUALIFIED75Xuxue Feng
1013Murillo W MacleadJapan2026-09-19Morlong Associates PROPOSAL74Onyama Limba
1014Jeanfrancois J OldroydRussia2026-09-11Feltz Printing Service QUALIFIED23Ioni Bowcher
1015Francesco L GillianRussia2026-08-28Rousseaux, Michael Esq NEW49Amy Elsner
1016Costa M VenereArgentina2026-09-19Chanay, Jeffrey A Esq UNQUALIFIED96Amy Elsner
1017Maisha D SergiGermany2026-09-07King, Christopher A Esq NEGOTIATION55Onyama Limba
1018Ricardo B MaletBrazil2026-08-29Rangoni Of Florence UNQUALIFIED93Ivan Magalhaes
1019Kadeem P VenereUnited Kingdom2026-08-28Commercial Press RENEWAL80Amy Elsner
1020Isabel E KuskoUnited Kingdom2026-08-23Commercial Press QUALIFIED29Xuxue Feng
1021Murillo R BologniaGermany2026-08-26Chemel, James L Cpa RENEWAL41Elwin Sharvill
1022Aika X PaprockiAustralia2026-09-10Chapman, Ross E Esq UNQUALIFIED75Stephen Shaw
1023Mayumi O FigeroaFrance2026-09-16Chanay, Jeffrey A Esq PROPOSAL65Bernardo Dominic
1024Darci L SaylorsRussia2026-09-04Feltz Printing Service NEGOTIATION20Anna Fali
1025Costa U InouyeArgentina2026-08-26Rousseaux, Michael Esq NEGOTIATION30Amy Elsner
1026Izzy I FlosiArgentina2026-08-31Dorl, James J Esq PROPOSAL64Stephen Shaw
1027Ivar Y FerenczItaly2026-08-30Chanay, Jeffrey A Esq PROPOSAL61Ivan Magalhaes
1028Sinclair X BowleyAustralia2026-09-07Rangoni Of Florence UNQUALIFIED95Ivan Magalhaes
1029Wickens Q DarakjyUnited Kingdom2026-09-13Feiner Bros RENEWAL21Xuxue Feng
1030Rodrigues R FollerGermany2026-09-01Chanay, Jeffrey A Esq NEW12Stephen Shaw
1031Stacey Q VenereCanada2026-09-17King, Christopher A Esq NEW58Elwin Sharvill
1032Isabel Z MarrierIndia2026-09-17Chanay, Jeffrey A Esq RENEWAL20Xuxue Feng
1033Murillo X StensethUnited Kingdom2026-09-17Rangoni Of Florence PROPOSAL61Xuxue Feng
1034Cody I WhobreyJapan2026-08-22Feiner Bros UNQUALIFIED47Xuxue Feng
1035Octavia B StensethFrance2026-09-04Chanay, Jeffrey A Esq PROPOSAL80Asiya Javayant
1036Antonio Q PoquetteJapan2026-08-23Morlong Associates PROPOSAL12Asiya Javayant
1037Ricardo W StockhamItaly2026-09-04Rangoni Of Florence RENEWAL27Bernardo Dominic
1038Aditya O FollerSpain2026-09-04Buckley Miller Wright UNQUALIFIED13Amy Elsner
1039Salvatore B MarrierAustralia2026-08-24Rangoni Of Florence RENEWAL51Stephen Shaw
1040Jennifer S PaprockiCanada2026-08-28Feltz Printing Service QUALIFIED21Xuxue Feng
1041Clifford M ButtAustralia2026-09-17Rangoni Of Florence UNQUALIFIED30Onyama Limba
1042Adams I SergiCanada2026-08-21Morlong Associates UNQUALIFIED10Anna Fali
1043Salvatore T GarufiSpain2026-08-21Chemel, James L Cpa QUALIFIED92Xuxue Feng
1044Arvin W MacleadIndia2026-08-21Chemel, James L Cpa NEGOTIATION25Xuxue Feng
1045Misaki C OldroydCanada2026-08-21Rousseaux, Michael Esq NEGOTIATION12Amy Elsner
1046Maria R CaudyArgentina2026-08-31Chanay, Jeffrey A Esq RENEWAL30Amy Elsner
1047Chavez K SlusarskiAustralia2026-08-31Rangoni Of Florence UNQUALIFIED45Stephen Shaw
1048Octavia T PoquetteArgentina2026-08-22King, Christopher A Esq PROPOSAL83Anna Fali
1049Jones S GlickRussia2026-08-24King, Christopher A Esq PROPOSAL24Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Julie C GauchoItalyAnna Fali NEGOTIATION
Chavez P CaldareraArgentinaAsiya Javayant RENEWAL
Aruna N MaletArgentinaIvan Magalhaes RENEWAL
Aruna M RimItalyAmy Elsner RENEWAL
Salvatore W DilliardRussiaBernardo Dominic NEW
Ashley N DoeSpainAsiya Javayant NEGOTIATION
Aruna S FlosiUnited KingdomBernardo Dominic PROPOSAL
Ricardo J MaletGermanyAmy Elsner UNQUALIFIED
Arvin S TollnerFranceXuxue Feng NEW
Morrow N FlosiItalyElwin Sharvill QUALIFIED
Emily A SergiJapanIvan Magalhaes NEGOTIATION
Chavez I FollerBrazilIvan Magalhaes NEW
Morrow G PaprockiAustraliaBernardo Dominic QUALIFIED
Adams E StockhamJapanAnna Fali RENEWAL
Clifford T WieserItalyXuxue Feng UNQUALIFIED
Murillo X MarrierFranceElwin Sharvill QUALIFIED
Arvin S RoysterCanadaAmy Elsner RENEWAL
Darci O FlosiArgentinaElwin Sharvill QUALIFIED
Silvio F KolmetzCanadaXuxue Feng QUALIFIED
Francesco B OstroskyJapanBernardo Dominic QUALIFIED
Kadeem Z MacleadGermanyAmy Elsner QUALIFIED
Jefferson Z SchemmerRussiaBernardo Dominic UNQUALIFIED
Jennifer P CampainBrazilElwin Sharvill QUALIFIED
Wickens L DilliardItalyAmy Elsner QUALIFIED
Nicolas X FlosiBrazilIoni Bowcher NEGOTIATION
Johnson C DilliardRussiaBernardo Dominic PROPOSAL
Johnson F FollerGermanyAsiya Javayant UNQUALIFIED
Darci C ChuiJapanOnyama Limba NEGOTIATION
Octavia E FigeroaRussiaStephen Shaw PROPOSAL
Alejandro P SlusarskiAustraliaAnna Fali RENEWAL
Murillo K DilliardIndiaXuxue Feng QUALIFIED
Jones E FigeroaAustraliaAnna Fali PROPOSAL
Munro K WhobreyFranceStephen Shaw PROPOSAL
Leon Z DarakjyArgentinaAsiya Javayant PROPOSAL
Munro P TollnerUnited KingdomAsiya Javayant NEW
Clifford X MacleadRussiaStephen Shaw UNQUALIFIED
Clifford F IturbideJapanAsiya Javayant NEGOTIATION
Darci A ButtSpainAnna Fali NEGOTIATION
Aruna G WaycottUnited KingdomIoni Bowcher NEGOTIATION
Aika I NestleItalyAsiya Javayant NEGOTIATION
Deepesh Q AmigonItalyAsiya Javayant RENEWAL
Leja G DoeArgentinaBernardo Dominic PROPOSAL
Octavia W PaprockiIndiaOnyama Limba PROPOSAL
Leja R MaletArgentinaOnyama Limba UNQUALIFIED
Tony P VenereSpainIoni Bowcher NEW
Adams L FerenczArgentinaOnyama Limba UNQUALIFIED
Murillo D GarufiJapanAmy Elsner NEGOTIATION
Maisha V GauchoCanadaIvan Magalhaes NEGOTIATION
Mujtaba X KolmetzArgentinaBernardo Dominic RENEWAL
Sinclair C GauchoJapanElwin Sharvill RENEWAL
Frozen Columns
Name
Mujtaba V Albares
Nicolas S Figeroa
Wickens U Figeroa
Murillo H Chui
Juan Q Amigon
Aruna H Chui
Mujtaba I Ferencz
Aika X Flosi
Aika Q Malet
Emily X Nestle
Jones X Briddick
Aika H Iturbide
Arvin Q Bolognia
Juan G Gaucho
Leon Z Royster
Maisha K Saylors
Mayumi A Maclead
Aika N Darakjy
Maisha X Inouye
Aika X Stockham
Jefferson Q Schemmer
Aditya B Poquette
Mujtaba V Caldarera
Smith V Kusko
Salvatore N Nicka
Emily C Ostrosky
Costa M Nestle
Costa V Ferencz
Ashley L Marrier
Darci W Morasca
Ashley G Rim
Kaitlin I Briddick
Leja M Inouye
Murillo Z Ferencz
Chavez L Malet
Maisha V Nicka
Nicolas F Ostrosky
Faith P Glick
James Y Flosi
Silvio X Foller
Costa S Gillian
Jennifer T Malet
Alejandro L Darakjy
Munro L Bolognia
Aditya U Nicka
Emily Z Rulapaugh
Greenwood K Kusko
Jefferson Q Nicka
Leja V Vocelka
Cody R Ferencz
IdCountryDate
1000France2026-08-28
1001France2026-09-18
1002Spain2026-08-23
1003India2026-08-26
1004Italy2026-09-04
1005United Kingdom2026-08-23
1006Japan2026-09-04
1007Italy2026-08-25
1008Canada2026-08-31
1009Spain2026-09-03
1010Germany2026-08-29
1011Canada2026-08-22
1012France2026-08-21
1013Brazil2026-09-05
1014Australia2026-09-03
1015Brazil2026-08-31
1016France2026-08-27
1017Russia2026-09-09
1018Japan2026-09-05
1019Russia2026-09-18
1020Brazil2026-09-08
1021Russia2026-08-28
1022France2026-09-09
1023India2026-08-21
1024Spain2026-08-26
1025Argentina2026-08-29
1026India2026-09-11
1027Italy2026-09-12
1028France2026-09-06
1029Italy2026-09-16
1030Australia2026-08-30
1031Spain2026-09-05
1032United Kingdom2026-08-22
1033India2026-09-07
1034Australia2026-09-04
1035Australia2026-08-24
1036Italy2026-09-02
1037United Kingdom2026-08-27
1038France2026-09-15
1039India2026-08-29
1040Brazil2026-09-10
1041India2026-09-02
1042Brazil2026-08-21
1043Australia2026-09-17
1044Italy2026-09-09
1045Argentina2026-09-03
1046Russia2026-09-05
1047United Kingdom2026-08-21
1048France2026-09-14
1049Canada2026-09-06

On-Demand Data

NameIdCountryDate
Silvio J Vocelka1000Italy2026-09-15
Claire F Marrier1001Japan2026-08-30
Leja D Sergi1002Brazil2026-09-08
Ricardo G Nicka1003Canada2026-09-10
Leja J Ferencz1004France2026-08-30
Julie A Kolmetz1005France2026-08-26
Claire S Foller1006Spain2026-09-18
Ashley W Nicka1007France2026-09-08
Rodrigues R Nicka1008Argentina2026-09-11
Maisha Q Foller1009India2026-09-09
Costa C Malet1010Brazil2026-08-24
Morrow C Ostrosky1011United Kingdom2026-09-13
Salvatore L Garufi1012Japan2026-09-04
Alejandro P Venere1013Brazil2026-08-25
Leja A Garufi1014Japan2026-09-10
Leja W Dilliard1015Argentina2026-09-15
Deepesh Q Nicka1016Spain2026-09-16
Clifford F Chui1017Argentina2026-09-16
Greenwood R Bolognia1018United Kingdom2026-08-24
Faith Z Butt1019Australia2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire J PoquetteCanadaBernardo Dominic NEGOTIATION
Silvio X CampainGermanyAmy Elsner QUALIFIED
Maria W FigeroaArgentinaXuxue Feng UNQUALIFIED
James R RimGermanyXuxue Feng NEW
Smith R FerenczArgentinaStephen Shaw QUALIFIED
Octavia I DilliardRussiaElwin Sharvill RENEWAL
Silvio X AlbaresAustraliaAnna Fali NEW
Darci R TollnerUnited KingdomAsiya Javayant NEGOTIATION
Aditya M RutaFranceIoni Bowcher PROPOSAL
Julie I FollerCanadaIvan Magalhaes NEW
Kadeem O GillianGermanyIvan Magalhaes RENEWAL
Juan E GillianIndiaXuxue Feng NEGOTIATION
Antonio E SlusarskiRussiaIoni Bowcher PROPOSAL
James B KolmetzBrazilOnyama Limba NEW
Wickens M RoysterFranceAsiya Javayant UNQUALIFIED
Juan X ChuiUnited KingdomAsiya Javayant NEGOTIATION
Arvin L CaldareraJapanAsiya Javayant PROPOSAL
Misaki I AmigonItalyAmy Elsner PROPOSAL
Maisha G FlosiUnited KingdomBernardo Dominic RENEWAL
Julie A KolmetzFranceStephen Shaw RENEWAL
Leja N AmigonRussiaStephen Shaw PROPOSAL
Alejandro O BologniaUnited KingdomXuxue Feng UNQUALIFIED
Wickens J GarufiAustraliaAsiya Javayant QUALIFIED
Ivar N StockhamItalyIvan Magalhaes NEW
Jeanfrancois N RoysterJapanAsiya Javayant UNQUALIFIED
Alejandro D RoysterFranceXuxue Feng QUALIFIED
Cody V ButtItalyAnna Fali NEW
Francesco G SchemmerBrazilStephen Shaw NEGOTIATION
Kadeem R DilliardAustraliaXuxue Feng QUALIFIED
Faith G MarrierCanadaIvan Magalhaes NEW
Darci P MarrierSpainXuxue Feng NEGOTIATION
Silvio O GauchoJapanAmy Elsner NEW
Mujtaba S SlusarskiFranceXuxue Feng UNQUALIFIED
Aruna R ChuiRussiaIvan Magalhaes NEW
Greenwood E AlbaresGermanyXuxue Feng UNQUALIFIED
Maria R WieserCanadaIoni Bowcher UNQUALIFIED
Ricardo O WaycottFranceXuxue Feng UNQUALIFIED
Jefferson R AmigonBrazilAnna Fali NEW
Tony J FerenczItalyStephen Shaw UNQUALIFIED
Aditya E AlbaresRussiaOnyama 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>