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
Octavia I ButtCanadaIoni Bowcher NEGOTIATION
Cody S PerinItalyOnyama Limba NEGOTIATION
Ivar H SchemmerFranceAnna Fali NEGOTIATION
Maisha Z SaylorsGermanyElwin Sharvill QUALIFIED
Rodrigues W BologniaCanadaAnna Fali PROPOSAL
Sinclair H WhobreyItalyAmy Elsner PROPOSAL
Arvin D MacleadBrazilXuxue Feng NEGOTIATION
Kaitlin B RulapaughSpainElwin Sharvill NEW
David W GarufiRussiaStephen Shaw NEW
Cody R KuskoUnited KingdomAnna Fali NEW
Jeanfrancois M BriddickRussiaIoni Bowcher NEGOTIATION
Kaitlin Y RoysterBrazilAmy Elsner NEW
Antonio O FlosiSpainIoni Bowcher NEW
Cody Z DarakjyItalyElwin Sharvill NEGOTIATION
Aditya C StockhamRussiaStephen Shaw RENEWAL
James O MarrierRussiaAnna Fali PROPOSAL
Smith X BowleyAustraliaStephen Shaw QUALIFIED
Ashley V PerinRussiaStephen Shaw NEGOTIATION
Alejandro A GauchoIndiaIoni Bowcher RENEWAL
Munro U RoysterJapanIvan Magalhaes PROPOSAL
Costa U FigeroaCanadaIvan Magalhaes UNQUALIFIED
Isabel Z BowleyAustraliaOnyama Limba PROPOSAL
Murillo J ChuiCanadaAsiya Javayant PROPOSAL
Silvio K InouyeJapanOnyama Limba NEGOTIATION
Wickens Y SlusarskiUnited KingdomAmy Elsner RENEWAL
Octavia D GillianAustraliaOnyama Limba PROPOSAL
Leja F MaletCanadaStephen Shaw NEW
Munro V MaletJapanBernardo Dominic NEW
Stacey E WieserGermanyXuxue Feng NEW
Izzy N OldroydFranceAmy Elsner NEW
Aruna D OstroskyJapanOnyama Limba PROPOSAL
Mayumi M WieserItalyIvan Magalhaes NEGOTIATION
Jeanfrancois H GlickCanadaOnyama Limba PROPOSAL
Ivar G DilliardItalyIvan Magalhaes RENEWAL
Antonio Q MaletJapanIoni Bowcher RENEWAL
Cody S MaletCanadaElwin Sharvill NEGOTIATION
Leon T ButtBrazilXuxue Feng QUALIFIED
Jefferson L RimJapanOnyama Limba NEGOTIATION
Ivar B IturbideCanadaBernardo Dominic QUALIFIED
Darci R SchemmerCanadaIoni Bowcher NEW
James H AmigonUnited KingdomStephen Shaw RENEWAL
Cody A OldroydSpainAsiya Javayant NEGOTIATION
Leon Z SaylorsBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois G ButtGermanyElwin Sharvill NEW
Silvio V BologniaRussiaAnna Fali UNQUALIFIED
Faith V FerenczIndiaIvan Magalhaes RENEWAL
Izzy W WhobreyIndiaXuxue Feng QUALIFIED
Jeanfrancois Z InouyeJapanOnyama Limba UNQUALIFIED
Juan T SaylorsArgentinaAsiya Javayant UNQUALIFIED
Arvin D AlbaresAustraliaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David A FigeroaUnited KingdomAsiya Javayant PROPOSAL
Greenwood X MaletIndiaIvan Magalhaes NEW
Greenwood E RulapaughCanadaIvan Magalhaes QUALIFIED
Julie G ChuiBrazilOnyama Limba NEGOTIATION
Aika I FerenczGermanyIvan Magalhaes NEW
Salvatore S SergiUnited KingdomOnyama Limba PROPOSAL
Rodrigues L FigeroaUnited KingdomOnyama Limba RENEWAL
Deepesh E GauchoBrazilStephen Shaw UNQUALIFIED
Julie A GillianRussiaStephen Shaw QUALIFIED
Adams V MarrierJapanXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin O PerinUnited Kingdom2026-09-21Chemel, James L Cpa PROPOSAL94Elwin Sharvill
1001James D RutaJapan2026-09-11Chanay, Jeffrey A Esq RENEWAL65Ioni Bowcher
1002Chavez E CaldareraGermany2026-09-08Chapman, Ross E Esq QUALIFIED71Bernardo Dominic
1003Arvin D CaudyItaly2026-09-19Dorl, James J Esq PROPOSAL3Ioni Bowcher
1004Silvio Q FerenczRussia2026-09-07Rousseaux, Michael Esq RENEWAL1Xuxue Feng
1005Cody W NestleCanada2026-09-09King, Christopher A Esq RENEWAL64Ioni Bowcher
1006Wickens W NestleFrance2026-09-09Buckley Miller Wright UNQUALIFIED44Bernardo Dominic
1007Jeanfrancois A GillianCanada2026-09-30Dorl, James J Esq NEW15Stephen Shaw
1008Salvatore J OstroskySpain2026-10-02Rousseaux, Michael Esq NEW62Stephen Shaw
1009Izzy J RutaBrazil2026-09-07Chanay, Jeffrey A Esq RENEWAL72Anna Fali
1010Claire A BowleyBrazil2026-09-27Buckley Miller Wright NEGOTIATION15Elwin Sharvill
1011Maisha Z CampainAustralia2026-09-05Printing Dimensions RENEWAL8Asiya Javayant
1012Jefferson O OldroydIndia2026-09-14Rousseaux, Michael Esq QUALIFIED70Asiya Javayant
1013Julie F CaldareraArgentina2026-09-20Chemel, James L Cpa PROPOSAL59Onyama Limba
1014Aruna G PoquetteGermany2026-09-21Dorl, James J Esq NEW58Xuxue Feng
1015Silvio H StensethIndia2026-09-24Benton, John B Jr RENEWAL83Stephen Shaw
1016Octavia R NestleIndia2026-09-26Feltz Printing Service RENEWAL10Xuxue Feng
1017Morrow L ShinkoSpain2026-09-14Chanay, Jeffrey A Esq UNQUALIFIED54Asiya Javayant
1018Smith U GillianArgentina2026-09-18Rangoni Of Florence NEW86Asiya Javayant
1019Jennifer W BologniaSpain2026-09-26King, Christopher A Esq UNQUALIFIED88Anna Fali
1020Misaki X RutaArgentina2026-09-27Feiner Bros QUALIFIED45Xuxue Feng
1021Leja C MaletAustralia2026-09-09Feiner Bros NEW83Anna Fali
1022Jeanfrancois X VocelkaArgentina2026-09-07Truhlar And Truhlar Attys UNQUALIFIED54Asiya Javayant
1023Munro R MarrierAustralia2026-09-25Chanay, Jeffrey A Esq RENEWAL96Anna Fali
1024Costa P NestleGermany2026-09-29Feiner Bros QUALIFIED25Onyama Limba
1025Mayumi N DoeRussia2026-09-15Chemel, James L Cpa PROPOSAL60Anna Fali
1026Francesco O GarufiIndia2026-09-27Commercial Press PROPOSAL7Onyama Limba
1027Nicolas Q AlbaresJapan2026-09-05Commercial Press NEGOTIATION81Ioni Bowcher
1028Darci K DoeUnited Kingdom2026-09-07Printing Dimensions QUALIFIED74Anna Fali
1029Ivar K BologniaFrance2026-09-22Chapman, Ross E Esq QUALIFIED33Amy Elsner
1030Jeanfrancois N BologniaJapan2026-09-20Buckley Miller Wright RENEWAL72Onyama Limba
1031Misaki D GillianUnited Kingdom2026-09-06Chemel, James L Cpa NEW5Ioni Bowcher
1032Alejandro L PerinAustralia2026-09-30Chapman, Ross E Esq NEW40Anna Fali
1033Alejandro P GillianSpain2026-09-25Dorl, James J Esq NEW46Ioni Bowcher
1034Maria F DilliardGermany2026-09-15Chanay, Jeffrey A Esq NEGOTIATION40Ivan Magalhaes
1035Morrow L SchemmerSpain2026-09-14Buckley Miller Wright PROPOSAL68Xuxue Feng
1036Jones G MacleadBrazil2026-09-22Feiner Bros NEGOTIATION18Ioni Bowcher
1037Ricardo N VocelkaSpain2026-09-20Chemel, James L Cpa NEGOTIATION74Xuxue Feng
1038Juan L IturbideAustralia2026-09-20Feiner Bros NEW46Elwin Sharvill
1039Julie I CampainIndia2026-10-03Chapman, Ross E Esq QUALIFIED17Asiya Javayant
1040Smith S VocelkaFrance2026-09-06Chapman, Ross E Esq RENEWAL58Ivan Magalhaes
1041Isabel I DoeUnited Kingdom2026-09-07Truhlar And Truhlar Attys NEGOTIATION80Anna Fali
1042Ashley N NestleGermany2026-09-30Printing Dimensions NEW74Amy Elsner
1043Cody S BriddickCanada2026-09-17Buckley Miller Wright QUALIFIED84Anna Fali
1044Alejandro Q GlickRussia2026-09-13Buckley Miller Wright PROPOSAL52Ivan Magalhaes
1045Izzy S NickaArgentina2026-09-06Dorl, James J Esq UNQUALIFIED70Onyama Limba
1046Faith L SlusarskiGermany2026-09-23Feiner Bros RENEWAL78Amy Elsner
1047Faith B FerenczFrance2026-10-03Chemel, James L Cpa UNQUALIFIED25Bernardo Dominic
1048Maisha T ButtAustralia2026-09-30Rousseaux, Michael Esq NEW71Xuxue Feng
1049Jennifer E AlbaresRussia2026-09-16Feiner Bros RENEWAL40Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Greenwood R CampainIndiaStephen Shaw UNQUALIFIED
Jeanfrancois I ShinkoRussiaElwin Sharvill RENEWAL
Izzy G FollerSpainIvan Magalhaes RENEWAL
Claire A GauchoItalyStephen Shaw PROPOSAL
Stacey V KolmetzSpainIvan Magalhaes NEGOTIATION
Nicolas W PerinFranceIoni Bowcher UNQUALIFIED
Salvatore Y SaylorsRussiaAsiya Javayant NEW
Sinclair K RutaUnited KingdomAsiya Javayant RENEWAL
Munro K StensethGermanyBernardo Dominic QUALIFIED
Aditya K BologniaCanadaIvan Magalhaes NEGOTIATION
Aditya G CampainGermanyIvan Magalhaes NEW
Leja Q NickaSpainOnyama Limba PROPOSAL
Kadeem H FerenczFranceStephen Shaw RENEWAL
Leja M VenereIndiaStephen Shaw QUALIFIED
Cody K AlbaresIndiaAnna Fali NEGOTIATION
Jefferson J WhobreyBrazilStephen Shaw RENEWAL
Aika U DilliardAustraliaStephen Shaw UNQUALIFIED
Kaitlin U RutaIndiaXuxue Feng RENEWAL
Jeanfrancois N MaletFranceIvan Magalhaes NEGOTIATION
Isabel Y CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Silvio W FollerSpainIvan Magalhaes UNQUALIFIED
Costa Z FigeroaAustraliaElwin Sharvill RENEWAL
Greenwood P GauchoBrazilAnna Fali RENEWAL
Kaitlin C ButtJapanElwin Sharvill QUALIFIED
James J CampainAustraliaOnyama Limba UNQUALIFIED
Izzy Y PoquetteAustraliaOnyama Limba PROPOSAL
Maisha E VenereBrazilAmy Elsner RENEWAL
Leon F ShinkoAustraliaAsiya Javayant QUALIFIED
Maria Z ChuiJapanElwin Sharvill RENEWAL
Mujtaba C InouyeBrazilStephen Shaw PROPOSAL
Ricardo U ShinkoJapanOnyama Limba NEGOTIATION
Claire Y VenereSpainOnyama Limba RENEWAL
Aruna O WaycottRussiaAsiya Javayant NEW
Faith P WieserGermanyIoni Bowcher RENEWAL
Jefferson D FigeroaSpainElwin Sharvill NEGOTIATION
Kadeem N GillianGermanyXuxue Feng PROPOSAL
Murillo U RoysterIndiaXuxue Feng PROPOSAL
Jennifer O InouyeIndiaIvan Magalhaes UNQUALIFIED
Faith U PoquetteItalyOnyama Limba NEGOTIATION
Octavia K PoquetteAustraliaStephen Shaw RENEWAL
Alejandro V RimCanadaAsiya Javayant UNQUALIFIED
Juan S ShinkoIndiaBernardo Dominic RENEWAL
Francesco R FerenczFranceBernardo Dominic UNQUALIFIED
Isabel M DilliardUnited KingdomIoni Bowcher NEW
Jefferson Q RimAustraliaIvan Magalhaes UNQUALIFIED
Ashley J RimRussiaElwin Sharvill NEW
Misaki B MarrierGermanyIvan Magalhaes QUALIFIED
Aruna E IturbideArgentinaIoni Bowcher UNQUALIFIED
Silvio F SergiAustraliaIvan Magalhaes NEGOTIATION
Cody S SaylorsAustraliaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Misaki Y Nicka
Aika A Inouye
Kaitlin U Ostrosky
Francesco R Royster
Misaki Y Stockham
Maisha I Ferencz
Antonio N Stockham
Kadeem G Schemmer
Ivar Q Flosi
Leja P Butt
David W Sergi
Ivar R Nicka
Jennifer H Venere
Francesco Q Caldarera
Leon T Ferencz
Kaitlin K Caudy
Julie R Figeroa
Aruna R Shinko
Faith A Figeroa
Jones R Flosi
Emily J Stockham
Salvatore B Darakjy
Rodrigues N Wieser
Costa Q Albares
Sinclair J Schemmer
Johnson H Glick
Clifford P Oldroyd
Adams T Oldroyd
Sinclair A Darakjy
Antonio R Vocelka
Stacey A Nicka
Darci K Maclead
Murillo N Iturbide
Johnson K Morasca
Kaitlin R Amigon
Jones L Gillian
Chavez I Foller
Clifford V Bowley
Stacey M Chui
Cody Q Stenseth
Chavez I Tollner
Kaitlin V Oldroyd
Juan G Venere
Jefferson J Slusarski
David H Iturbide
Octavia S Dilliard
Wickens S Briddick
Darci N Bowley
Emily B Caldarera
Faith C Malet
IdCountryDate
1000Canada2026-09-26
1001France2026-09-29
1002Brazil2026-09-15
1003Canada2026-09-24
1004France2026-09-13
1005Argentina2026-09-15
1006India2026-09-22
1007Japan2026-09-11
1008Japan2026-09-19
1009Canada2026-09-25
1010Australia2026-09-14
1011Spain2026-10-02
1012Spain2026-09-14
1013France2026-09-21
1014Russia2026-09-07
1015France2026-09-17
1016Argentina2026-09-21
1017Spain2026-09-22
1018Italy2026-09-14
1019Japan2026-09-28
1020Canada2026-09-15
1021Germany2026-09-23
1022Canada2026-09-10
1023Australia2026-09-09
1024Australia2026-09-15
1025United Kingdom2026-09-29
1026Japan2026-09-27
1027France2026-09-28
1028France2026-09-28
1029Canada2026-10-04
1030France2026-09-28
1031Australia2026-09-13
1032Argentina2026-09-12
1033Argentina2026-09-18
1034Italy2026-09-21
1035Spain2026-09-29
1036Spain2026-10-03
1037India2026-09-18
1038Spain2026-09-26
1039Argentina2026-09-25
1040Russia2026-09-06
1041Germany2026-09-15
1042Japan2026-09-14
1043Australia2026-09-13
1044Brazil2026-10-01
1045India2026-09-27
1046Brazil2026-10-02
1047Japan2026-09-30
1048Brazil2026-10-01
1049Spain2026-09-13

On-Demand Data

NameIdCountryDate
Morrow J Glick1000Brazil2026-09-28
Salvatore D Perin1001United Kingdom2026-09-30
Mujtaba C Briddick1002Argentina2026-09-16
Jennifer G Rulapaugh1003Argentina2026-09-13
Rodrigues S Ruta1004Japan2026-09-15
Francesco R Wieser1005Argentina2026-09-05
Aika P Foller1006Russia2026-09-12
Tony P Kolmetz1007Argentina2026-09-19
Mayumi O Gaucho1008Brazil2026-09-24
Aika T Schemmer1009Italy2026-09-29
Stacey O Caldarera1010Australia2026-09-21
Claire L Sergi1011Germany2026-09-07
Clifford E Bolognia1012Spain2026-09-22
Alejandro A Marrier1013Spain2026-09-05
Ricardo P Butt1014Argentina2026-09-28
Nicolas C Rim1015France2026-09-26
Greenwood U Slusarski1016Argentina2026-09-29
Jennifer D Garufi1017France2026-09-17
Mujtaba A Figeroa1018Brazil2026-10-04
David J Marrier1019United Kingdom2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore C DoeBrazilStephen Shaw NEGOTIATION
Darci U InouyeItalyStephen Shaw UNQUALIFIED
Maisha J WieserFranceOnyama Limba NEGOTIATION
Faith Z PaprockiIndiaIvan Magalhaes NEGOTIATION
Ashley I WaycottArgentinaAmy Elsner NEGOTIATION
Aruna V StensethRussiaElwin Sharvill UNQUALIFIED
Tony N CampainRussiaIvan Magalhaes QUALIFIED
Alejandro U KuskoBrazilElwin Sharvill QUALIFIED
Murillo V ShinkoCanadaIoni Bowcher NEGOTIATION
Greenwood C BologniaIndiaElwin Sharvill PROPOSAL
Wickens H VocelkaFranceOnyama Limba UNQUALIFIED
Faith O AmigonGermanyAmy Elsner UNQUALIFIED
Leja G GlickIndiaAsiya Javayant NEGOTIATION
Ricardo E CaldareraCanadaBernardo Dominic UNQUALIFIED
Faith Z ButtJapanIoni Bowcher RENEWAL
Arvin N AlbaresIndiaAsiya Javayant UNQUALIFIED
Adams U BriddickArgentinaStephen Shaw PROPOSAL
Wickens T CaudyCanadaBernardo Dominic RENEWAL
Misaki Z VocelkaArgentinaIoni Bowcher NEW
Jefferson U GarufiAustraliaAmy Elsner PROPOSAL
Chavez X StensethAustraliaAsiya Javayant PROPOSAL
Izzy A MorascaGermanyBernardo Dominic PROPOSAL
Munro P FigeroaIndiaAmy Elsner RENEWAL
Emily B StockhamJapanBernardo Dominic NEGOTIATION
Aruna B TollnerAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois L WieserRussiaOnyama Limba UNQUALIFIED
Mayumi Q AmigonCanadaAnna Fali NEGOTIATION
Claire I ChuiRussiaBernardo Dominic QUALIFIED
Misaki O FerenczArgentinaBernardo Dominic NEGOTIATION
James T FigeroaJapanStephen Shaw NEGOTIATION
Cody M DilliardFranceAmy Elsner UNQUALIFIED
Wickens M RimArgentinaBernardo Dominic NEGOTIATION
Kaitlin K MaletCanadaIvan Magalhaes UNQUALIFIED
Wickens E VenereFranceElwin Sharvill PROPOSAL
Faith U VenereItalyStephen Shaw PROPOSAL
Sinclair K CampainRussiaStephen Shaw UNQUALIFIED
Johnson J RutaArgentinaIvan Magalhaes UNQUALIFIED
Tony B WhobreyBrazilXuxue Feng PROPOSAL
Misaki T PerinArgentinaElwin Sharvill NEGOTIATION
Stacey L StockhamJapanXuxue Feng NEW

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