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 A NestleBrazilElwin Sharvill UNQUALIFIED
Antonio G BologniaUnited KingdomBernardo Dominic NEW
Octavia Z KuskoItalyOnyama Limba RENEWAL
Cody J InouyeSpainElwin Sharvill NEW
David I RutaCanadaAnna Fali NEW
Rodrigues R BriddickGermanyOnyama Limba UNQUALIFIED
Morrow F MacleadBrazilStephen Shaw NEGOTIATION
Stacey Q MacleadItalyIoni Bowcher QUALIFIED
James E RoysterGermanyElwin Sharvill RENEWAL
Jennifer B KolmetzSpainBernardo Dominic NEGOTIATION
Munro O BowleyRussiaOnyama Limba PROPOSAL
Emily Q PerinAustraliaElwin Sharvill NEGOTIATION
Adams V SlusarskiItalyOnyama Limba NEW
Jennifer L FlosiGermanyElwin Sharvill RENEWAL
Ashley Z BriddickArgentinaOnyama Limba PROPOSAL
Aika Q WieserAustraliaAnna Fali NEGOTIATION
Mayumi M SergiSpainOnyama Limba RENEWAL
Arvin K DilliardAustraliaIoni Bowcher RENEWAL
Ricardo Z MarrierIndiaBernardo Dominic UNQUALIFIED
Clifford N DoeRussiaOnyama Limba RENEWAL
Chavez J FlosiIndiaAmy Elsner PROPOSAL
Antonio K CaldareraSpainBernardo Dominic RENEWAL
Octavia O VocelkaArgentinaXuxue Feng NEW
Mujtaba I ButtItalyAnna Fali PROPOSAL
Jones M RutaCanadaXuxue Feng UNQUALIFIED
Isabel E PaprockiBrazilAmy Elsner NEGOTIATION
Emily P SlusarskiCanadaIvan Magalhaes NEW
Izzy R PaprockiRussiaIvan Magalhaes UNQUALIFIED
Mujtaba O CampainUnited KingdomAsiya Javayant PROPOSAL
Jennifer L ChuiGermanyBernardo Dominic UNQUALIFIED
Clifford O KuskoUnited KingdomAmy Elsner QUALIFIED
Ivar Z FollerFranceStephen Shaw UNQUALIFIED
Stacey U IturbideUnited KingdomAmy Elsner PROPOSAL
Morrow C GauchoAustraliaAmy Elsner RENEWAL
Faith X PerinBrazilIvan Magalhaes QUALIFIED
Silvio A MarrierRussiaElwin Sharvill NEGOTIATION
Ricardo R VenereFranceIoni Bowcher PROPOSAL
Smith H TollnerArgentinaIoni Bowcher QUALIFIED
Nicolas R AmigonIndiaAnna Fali PROPOSAL
Morrow H FerenczArgentinaStephen Shaw NEGOTIATION
Maisha Q FerenczRussiaAmy Elsner NEGOTIATION
Cody N GillianGermanyElwin Sharvill NEGOTIATION
Claire H StensethSpainOnyama Limba QUALIFIED
Morrow R FerenczCanadaXuxue Feng NEGOTIATION
Aruna Y KolmetzAustraliaBernardo Dominic UNQUALIFIED
Smith Z MarrierFranceIoni Bowcher NEW
Johnson P FigeroaJapanXuxue Feng NEGOTIATION
Johnson X StockhamGermanyAnna Fali NEW
Johnson L WieserRussiaAnna Fali NEW
Salvatore Q DilliardCanadaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio T CaldareraBrazilAsiya Javayant NEGOTIATION
Leja U FigeroaArgentinaStephen Shaw NEGOTIATION
Darci J RimSpainBernardo Dominic NEGOTIATION
Jeanfrancois P KolmetzItalyAnna Fali QUALIFIED
Alejandro G WhobreyGermanyBernardo Dominic NEW
Maisha X StensethCanadaOnyama Limba NEW
Greenwood T IturbideRussiaAnna Fali NEW
Smith T FigeroaSpainAnna Fali NEGOTIATION
Octavia J WaycottJapanXuxue Feng RENEWAL
Silvio W MaletAustraliaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna P VenereGermany2026-09-15Truhlar And Truhlar Attys UNQUALIFIED73Onyama Limba
1001Jennifer W AmigonArgentina2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED79Asiya Javayant
1002Aika P WaycottUnited Kingdom2026-09-19King, Christopher A Esq RENEWAL86Amy Elsner
1003Isabel X PerinAustralia2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED7Ivan Magalhaes
1004Ricardo Z CampainGermany2026-09-06Chanay, Jeffrey A Esq QUALIFIED93Onyama Limba
1005Kadeem K DoeFrance2026-09-02Chanay, Jeffrey A Esq NEW66Elwin Sharvill
1006Chavez B VocelkaRussia2026-09-03Chapman, Ross E Esq NEW87Anna Fali
1007Misaki L GarufiFrance2026-09-18Chemel, James L Cpa PROPOSAL38Anna Fali
1008Salvatore X FlosiSpain2026-09-06Benton, John B Jr RENEWAL83Amy Elsner
1009Ricardo G KuskoGermany2026-09-08Chanay, Jeffrey A Esq UNQUALIFIED1Bernardo Dominic
1010Kaitlin W DoeGermany2026-09-11Printing Dimensions RENEWAL26Amy Elsner
1011Nicolas S ShinkoJapan2026-08-25Morlong Associates QUALIFIED66Anna Fali
1012Jefferson C RulapaughGermany2026-08-31Feiner Bros NEGOTIATION79Bernardo Dominic
1013Juan H SaylorsAustralia2026-09-03Feltz Printing Service NEW28Onyama Limba
1014Smith K KuskoIndia2026-09-10Feltz Printing Service NEW95Asiya Javayant
1015Misaki M StensethFrance2026-09-09Chemel, James L Cpa QUALIFIED92Ivan Magalhaes
1016Francesco F FerenczUnited Kingdom2026-08-31Chemel, James L Cpa QUALIFIED44Onyama Limba
1017Deepesh G NestleJapan2026-09-03Chapman, Ross E Esq NEW32Xuxue Feng
1018Ivar M KolmetzFrance2026-09-09Buckley Miller Wright QUALIFIED95Anna Fali
1019Sinclair T SergiRussia2026-09-14Truhlar And Truhlar Attys PROPOSAL6Anna Fali
1020Juan C FigeroaItaly2026-09-01Feltz Printing Service NEGOTIATION82Elwin Sharvill
1021Francesco K MorascaBrazil2026-08-27Chemel, James L Cpa NEW20Stephen Shaw
1022Murillo Z VenereCanada2026-09-10Chemel, James L Cpa RENEWAL65Ioni Bowcher
1023Munro R OldroydItaly2026-09-17Truhlar And Truhlar Attys UNQUALIFIED7Amy Elsner
1024Kaitlin E CampainBrazil2026-08-28Truhlar And Truhlar Attys UNQUALIFIED46Amy Elsner
1025Juan D MacleadJapan2026-09-19Chanay, Jeffrey A Esq RENEWAL29Amy Elsner
1026Stacey D PoquetteGermany2026-08-25Chemel, James L Cpa PROPOSAL3Bernardo Dominic
1027Jeanfrancois G MaletIndia2026-09-02Truhlar And Truhlar Attys PROPOSAL47Asiya Javayant
1028Kaitlin O GarufiRussia2026-09-18Rousseaux, Michael Esq UNQUALIFIED88Onyama Limba
1029Jeanfrancois Z OldroydGermany2026-09-14Rousseaux, Michael Esq UNQUALIFIED38Asiya Javayant
1030Silvio V WaycottBrazil2026-09-10King, Christopher A Esq UNQUALIFIED15Elwin Sharvill
1031Jefferson D FigeroaSpain2026-08-29Dorl, James J Esq RENEWAL87Bernardo Dominic
1032Ivar M GarufiBrazil2026-08-24Rangoni Of Florence PROPOSAL79Anna Fali
1033Misaki S AmigonItaly2026-09-17Rangoni Of Florence NEW39Elwin Sharvill
1034Mayumi L StockhamItaly2026-09-04Feltz Printing Service PROPOSAL10Onyama Limba
1035Tony X WaycottSpain2026-09-08Chapman, Ross E Esq NEW85Ioni Bowcher
1036Costa Y SaylorsAustralia2026-09-02Buckley Miller Wright UNQUALIFIED45Ivan Magalhaes
1037Greenwood X NestleIndia2026-09-01Dorl, James J Esq QUALIFIED66Elwin Sharvill
1038Darci V MaletCanada2026-09-15Truhlar And Truhlar Attys PROPOSAL66Stephen Shaw
1039James Q PaprockiBrazil2026-08-30King, Christopher A Esq NEGOTIATION41Bernardo Dominic
1040Tony N CaudyFrance2026-09-12Truhlar And Truhlar Attys QUALIFIED42Ioni Bowcher
1041Maria N FigeroaJapan2026-08-30Rousseaux, Michael Esq RENEWAL9Ivan Magalhaes
1042Greenwood K PoquetteIndia2026-08-24Buckley Miller Wright QUALIFIED56Asiya Javayant
1043Octavia N NestleBrazil2026-08-24Printing Dimensions RENEWAL13Ivan Magalhaes
1044Ricardo M InouyeJapan2026-08-28Chapman, Ross E Esq RENEWAL40Bernardo Dominic
1045Aruna T PaprockiBrazil2026-09-21Commercial Press NEW81Onyama Limba
1046Chavez U SlusarskiItaly2026-09-09Benton, John B Jr PROPOSAL49Stephen Shaw
1047Francesco K FerenczCanada2026-09-21Benton, John B Jr NEGOTIATION40Anna Fali
1048Emily K NickaArgentina2026-08-29Rangoni Of Florence RENEWAL91Xuxue Feng
1049Jennifer E CaldareraArgentina2026-09-12Feiner Bros QUALIFIED62Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois X FlosiRussiaXuxue Feng PROPOSAL
Aruna D IturbideJapanIoni Bowcher NEW
Salvatore T VocelkaJapanOnyama Limba NEGOTIATION
Deepesh E ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Izzy U StensethJapanXuxue Feng NEW
Kadeem O BowleyArgentinaBernardo Dominic RENEWAL
Nicolas Q VocelkaGermanyStephen Shaw QUALIFIED
Jefferson F InouyeFranceElwin Sharvill QUALIFIED
Clifford X MaletItalyIvan Magalhaes QUALIFIED
Murillo B MarrierArgentinaAmy Elsner UNQUALIFIED
Murillo Q DilliardCanadaIoni Bowcher UNQUALIFIED
Johnson R GlickSpainElwin Sharvill RENEWAL
Ivar A MorascaArgentinaAsiya Javayant NEW
Jennifer T CaudyAustraliaBernardo Dominic NEW
Claire A GlickRussiaIvan Magalhaes QUALIFIED
Francesco V TollnerUnited KingdomXuxue Feng QUALIFIED
Ricardo X MacleadItalyAmy Elsner UNQUALIFIED
Maria X MacleadFranceAnna Fali NEGOTIATION
Jones L RulapaughIndiaElwin Sharvill RENEWAL
Rodrigues T MarrierFranceXuxue Feng UNQUALIFIED
Octavia Z CaldareraRussiaXuxue Feng QUALIFIED
Misaki A AmigonRussiaIvan Magalhaes QUALIFIED
Stacey B CaldareraRussiaStephen Shaw NEW
Aruna W GauchoCanadaIoni Bowcher UNQUALIFIED
Isabel H BologniaSpainXuxue Feng NEGOTIATION
Aika M FollerArgentinaIvan Magalhaes RENEWAL
Jeanfrancois E DilliardRussiaBernardo Dominic NEGOTIATION
Cody E MaletFranceAsiya Javayant UNQUALIFIED
Izzy A PaprockiUnited KingdomXuxue Feng PROPOSAL
Jeanfrancois G WieserAustraliaIvan Magalhaes PROPOSAL
Aika C FigeroaAustraliaStephen Shaw NEW
Aditya Q ButtCanadaXuxue Feng UNQUALIFIED
Isabel Z BowleyGermanyIoni Bowcher UNQUALIFIED
Costa A MaletBrazilXuxue Feng NEGOTIATION
Aruna M PoquetteArgentinaAsiya Javayant NEGOTIATION
Aruna X GarufiFranceAnna Fali QUALIFIED
Misaki X MaletArgentinaAnna Fali NEGOTIATION
Silvio D DilliardGermanyOnyama Limba NEW
Alejandro K OstroskyGermanyIoni Bowcher NEW
Maria J ButtItalyAnna Fali UNQUALIFIED
Claire J CampainJapanOnyama Limba NEW
Salvatore I DoeFranceXuxue Feng PROPOSAL
Costa V BologniaArgentinaOnyama Limba PROPOSAL
Antonio V FlosiJapanAmy Elsner RENEWAL
Faith U PaprockiSpainAsiya Javayant RENEWAL
Ashley K SaylorsGermanyIvan Magalhaes PROPOSAL
Adams T OstroskyCanadaStephen Shaw PROPOSAL
Salvatore S FerenczItalyAsiya Javayant NEGOTIATION
Jones R NestleItalyBernardo Dominic PROPOSAL
Cody Y MacleadRussiaBernardo Dominic NEW
Frozen Columns
Name
Murillo W Marrier
Aditya Z Gaucho
Jones A Albares
Antonio I Oldroyd
Tony P Kolmetz
Chavez Z Whobrey
Faith C Ferencz
Chavez I Foller
Cody Y Rulapaugh
Costa G Wieser
Adams U Saylors
Johnson V Gaucho
Munro N Campain
Tony N Iturbide
Costa B Paprocki
Silvio G Slusarski
Aditya S Gillian
Isabel A Gaucho
Jones F Paprocki
Jones C Poquette
James K Chui
Maria R Schemmer
Francesco Z Gillian
Izzy E Maclead
Ashley R Perin
Juan Q Stenseth
Kadeem T Caudy
Deepesh H Sergi
Emily I Saylors
Juan W Gillian
Kadeem N Rim
Salvatore A Garufi
Salvatore K Wieser
Maisha Y Waycott
Tony Z Amigon
Deepesh W Figeroa
Johnson U Nestle
Ricardo D Royster
Emily I Inouye
Jefferson I Darakjy
Leon N Figeroa
Antonio E Ostrosky
Alejandro L Morasca
Tony N Oldroyd
Morrow U Butt
Aruna F Waycott
Wickens U Chui
Greenwood B Chui
Johnson R Butt
Ivar X Venere
IdCountryDate
1000Italy2026-08-23
1001Italy2026-09-21
1002Argentina2026-09-02
1003Argentina2026-08-30
1004India2026-09-19
1005Japan2026-09-03
1006United Kingdom2026-08-29
1007India2026-09-06
1008United Kingdom2026-08-25
1009Spain2026-08-30
1010Italy2026-08-24
1011India2026-09-10
1012Brazil2026-09-15
1013Japan2026-09-03
1014Australia2026-09-19
1015Russia2026-09-04
1016Italy2026-08-29
1017India2026-09-04
1018United Kingdom2026-08-28
1019Russia2026-08-28
1020India2026-09-09
1021Germany2026-09-02
1022Argentina2026-09-19
1023Russia2026-08-26
1024Spain2026-08-29
1025Germany2026-08-23
1026France2026-09-09
1027United Kingdom2026-08-26
1028Germany2026-08-31
1029United Kingdom2026-09-02
1030Argentina2026-09-06
1031Canada2026-09-08
1032Canada2026-09-11
1033Russia2026-09-02
1034United Kingdom2026-09-13
1035Russia2026-09-04
1036Germany2026-09-15
1037Australia2026-08-27
1038India2026-09-14
1039Canada2026-08-23
1040Brazil2026-09-09
1041Spain2026-08-23
1042India2026-09-08
1043France2026-09-07
1044Brazil2026-08-31
1045Spain2026-08-24
1046Japan2026-09-11
1047Italy2026-08-23
1048Germany2026-08-24
1049Germany2026-09-01

On-Demand Data

NameIdCountryDate
Isabel G Waycott1000Italy2026-08-25
Greenwood Z Foller1001Argentina2026-09-07
Silvio G Amigon1002United Kingdom2026-09-14
Leon N Rulapaugh1003India2026-09-19
Emily P Kolmetz1004Australia2026-08-31
Aditya U Briddick1005Spain2026-09-20
Aika Z Campain1006Japan2026-09-06
Jennifer W Amigon1007Japan2026-09-18
Salvatore H Paprocki1008Russia2026-09-17
Ricardo I Iturbide1009United Kingdom2026-08-27
Mayumi U Oldroyd1010Canada2026-09-06
Costa I Caudy1011United Kingdom2026-09-13
Leja I Malet1012India2026-08-30
Greenwood L Maclead1013Spain2026-09-17
Greenwood S Caudy1014Australia2026-08-27
Mayumi K Rim1015Russia2026-09-06
Stacey X Butt1016Japan2026-09-07
Wickens M Iturbide1017India2026-09-21
Leja H Rulapaugh1018Australia2026-09-05
Faith L Schemmer1019Argentina2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin U IturbideArgentinaAnna Fali NEGOTIATION
Salvatore N NestleSpainAnna Fali RENEWAL
Antonio A SaylorsBrazilOnyama Limba NEW
Emily A NestleJapanXuxue Feng NEGOTIATION
Deepesh R WhobreyJapanIoni Bowcher RENEWAL
Claire W MacleadFranceAnna Fali QUALIFIED
Ashley N KolmetzIndiaIoni Bowcher PROPOSAL
Alejandro P VenereBrazilAnna Fali UNQUALIFIED
Maisha W CaudyGermanyIoni Bowcher QUALIFIED
James E RulapaughArgentinaBernardo Dominic UNQUALIFIED
Ricardo W PoquetteBrazilIvan Magalhaes NEW
Octavia W TollnerIndiaXuxue Feng NEGOTIATION
Salvatore I InouyeIndiaAmy Elsner PROPOSAL
Jefferson C OldroydUnited KingdomIvan Magalhaes PROPOSAL
Maisha O DoeBrazilIvan Magalhaes PROPOSAL
Jones D BologniaSpainAmy Elsner RENEWAL
James R WieserJapanOnyama Limba UNQUALIFIED
Cody U GauchoBrazilOnyama Limba QUALIFIED
Juan R KolmetzCanadaIoni Bowcher QUALIFIED
Julie C NestleJapanAmy Elsner NEGOTIATION
Claire E NickaIndiaAmy Elsner PROPOSAL
Ivar M RulapaughCanadaAsiya Javayant QUALIFIED
Tony O RutaAustraliaIoni Bowcher QUALIFIED
Maisha L BowleyRussiaIvan Magalhaes NEGOTIATION
Johnson G PaprockiFranceBernardo Dominic PROPOSAL
Munro Y DilliardIndiaIvan Magalhaes QUALIFIED
Murillo D DoeSpainIvan Magalhaes QUALIFIED
Jones J GauchoSpainAnna Fali QUALIFIED
Antonio Y MarrierItalyStephen Shaw NEGOTIATION
David O KuskoArgentinaStephen Shaw RENEWAL
Jennifer N StensethAustraliaAmy Elsner NEW
Aruna B NickaArgentinaAmy Elsner NEGOTIATION
Maisha D MacleadIndiaAmy Elsner NEW
Munro S MaletItalyXuxue Feng RENEWAL
Francesco L CaldareraGermanyAmy Elsner UNQUALIFIED
Tony L OstroskyUnited KingdomOnyama Limba PROPOSAL
Silvio T RulapaughUnited KingdomIoni Bowcher RENEWAL
Aruna P RutaSpainStephen Shaw PROPOSAL
Murillo F KolmetzRussiaAmy Elsner PROPOSAL
Maisha H PerinCanadaAmy Elsner UNQUALIFIED

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