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
Ricardo K FigeroaFranceAnna Fali PROPOSAL
Juan X SlusarskiJapanBernardo Dominic NEW
Johnson T StensethItalyAnna Fali PROPOSAL
Ashley M VenereFranceStephen Shaw UNQUALIFIED
Kaitlin H VenereGermanyAnna Fali NEGOTIATION
Aditya Q BriddickRussiaXuxue Feng PROPOSAL
Misaki T PoquetteFranceAsiya Javayant NEGOTIATION
Adams H MarrierRussiaElwin Sharvill QUALIFIED
Ricardo I BriddickSpainAnna Fali NEGOTIATION
Aruna D ShinkoAustraliaStephen Shaw RENEWAL
Tony P BriddickGermanyIvan Magalhaes UNQUALIFIED
Aika W StockhamIndiaAnna Fali RENEWAL
Darci L VocelkaSpainAmy Elsner PROPOSAL
Izzy L PerinItalyAsiya Javayant NEGOTIATION
Faith V WieserAustraliaAsiya Javayant NEW
Johnson C OstroskyJapanAmy Elsner UNQUALIFIED
Francesco H ShinkoItalyAmy Elsner NEGOTIATION
Sinclair K VenereAustraliaIvan Magalhaes PROPOSAL
James Z AmigonIndiaAmy Elsner QUALIFIED
Leon O CaudyRussiaIoni Bowcher PROPOSAL
Emily P WieserBrazilIvan Magalhaes NEGOTIATION
Sinclair L CaudyUnited KingdomStephen Shaw QUALIFIED
Silvio T PoquetteRussiaAsiya Javayant UNQUALIFIED
Ivar N MarrierSpainBernardo Dominic QUALIFIED
Francesco B ButtBrazilElwin Sharvill UNQUALIFIED
Greenwood O KuskoJapanAsiya Javayant UNQUALIFIED
Ashley T OldroydItalyBernardo Dominic UNQUALIFIED
Sinclair G StensethRussiaIvan Magalhaes NEW
Murillo A DoeBrazilIoni Bowcher UNQUALIFIED
Sinclair I BriddickGermanyXuxue Feng RENEWAL
Munro Q PerinBrazilElwin Sharvill RENEWAL
Jennifer S VocelkaRussiaAnna Fali UNQUALIFIED
Maria S BologniaIndiaAnna Fali PROPOSAL
Cody V KuskoGermanyIvan Magalhaes UNQUALIFIED
David X VocelkaGermanyAmy Elsner QUALIFIED
Aruna D NestleItalyIvan Magalhaes RENEWAL
Morrow X NickaFranceAsiya Javayant QUALIFIED
Jones A WieserUnited KingdomBernardo Dominic NEW
Aditya Z FollerBrazilAmy Elsner QUALIFIED
Mayumi P NestleAustraliaIoni Bowcher RENEWAL
Aika L BriddickJapanOnyama Limba NEW
Greenwood U KuskoJapanElwin Sharvill QUALIFIED
Leja E MorascaUnited KingdomBernardo Dominic PROPOSAL
Cody O MacleadCanadaStephen Shaw RENEWAL
Munro S WhobreyBrazilXuxue Feng UNQUALIFIED
Aika L FollerUnited KingdomXuxue Feng NEGOTIATION
Sinclair R RimJapanAmy Elsner UNQUALIFIED
Rodrigues Q MorascaJapanAmy Elsner UNQUALIFIED
Isabel O SaylorsIndiaIvan Magalhaes NEW
Juan M WieserFranceIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Johnson A GlickIndiaAnna Fali PROPOSAL
Cody H SlusarskiCanadaElwin Sharvill QUALIFIED
Sinclair L CaldareraAustraliaAmy Elsner RENEWAL
Aditya F GauchoGermanyAnna Fali PROPOSAL
Stacey Y NickaRussiaBernardo Dominic RENEWAL
Leon A VenereCanadaAnna Fali RENEWAL
Aditya U PerinIndiaIvan Magalhaes PROPOSAL
Octavia L GauchoFranceOnyama Limba QUALIFIED
Morrow Q RutaAustraliaOnyama Limba NEGOTIATION
Kaitlin P SaylorsIndiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues I ChuiGermany2026-09-28Rangoni Of Florence NEGOTIATION21Ivan Magalhaes
1001Antonio F BowleyAustralia2026-09-05Chanay, Jeffrey A Esq QUALIFIED16Anna Fali
1002Julie I KolmetzSpain2026-09-25Dorl, James J Esq UNQUALIFIED52Elwin Sharvill
1003Mujtaba R SergiSpain2026-09-28Buckley Miller Wright NEGOTIATION22Ivan Magalhaes
1004Aditya H CampainItaly2026-09-30Rousseaux, Michael Esq NEGOTIATION15Stephen Shaw
1005Salvatore U AlbaresIndia2026-09-06Feltz Printing Service QUALIFIED78Bernardo Dominic
1006Aika Y CaldareraSpain2026-09-21Printing Dimensions UNQUALIFIED52Amy Elsner
1007Leja Q SaylorsCanada2026-09-24Buckley Miller Wright NEGOTIATION29Anna Fali
1008Maisha I VocelkaRussia2026-09-20Truhlar And Truhlar Attys QUALIFIED25Bernardo Dominic
1009Greenwood K VenereFrance2026-09-11Morlong Associates UNQUALIFIED58Anna Fali
1010Misaki V FerenczFrance2026-09-07Rousseaux, Michael Esq UNQUALIFIED86Amy Elsner
1011Salvatore P VenereFrance2026-09-05King, Christopher A Esq PROPOSAL3Xuxue Feng
1012Ricardo Q ChuiCanada2026-09-13Dorl, James J Esq UNQUALIFIED81Amy Elsner
1013Salvatore R ChuiBrazil2026-09-16Benton, John B Jr QUALIFIED72Ivan Magalhaes
1014Ricardo T KuskoJapan2026-09-24Rousseaux, Michael Esq PROPOSAL79Bernardo Dominic
1015Salvatore X WieserJapan2026-09-07Benton, John B Jr UNQUALIFIED79Ivan Magalhaes
1016Izzy J MaletArgentina2026-09-09Feltz Printing Service UNQUALIFIED97Ivan Magalhaes
1017Mayumi X OstroskyJapan2026-09-06Dorl, James J Esq NEW23Stephen Shaw
1018Deepesh W GillianJapan2026-09-29Morlong Associates NEGOTIATION32Bernardo Dominic
1019Leon Z SaylorsItaly2026-09-10Chanay, Jeffrey A Esq PROPOSAL13Amy Elsner
1020Julie F ChuiItaly2026-09-10Chanay, Jeffrey A Esq UNQUALIFIED15Ioni Bowcher
1021Claire S MaletSpain2026-10-01King, Christopher A Esq PROPOSAL87Amy Elsner
1022Aditya Q ButtCanada2026-09-13Feltz Printing Service PROPOSAL71Ioni Bowcher
1023Aika G VocelkaBrazil2026-09-06Buckley Miller Wright RENEWAL18Bernardo Dominic
1024Ricardo H ShinkoJapan2026-09-20Rangoni Of Florence PROPOSAL61Ioni Bowcher
1025Silvio U PerinFrance2026-09-22Feiner Bros NEGOTIATION87Onyama Limba
1026Ashley O RoysterArgentina2026-09-06Rangoni Of Florence RENEWAL11Stephen Shaw
1027Emily J WieserIndia2026-09-17Rangoni Of Florence QUALIFIED84Xuxue Feng
1028Adams T NestleRussia2026-09-12Dorl, James J Esq RENEWAL49Stephen Shaw
1029Leon Q CaudyArgentina2026-10-01Morlong Associates QUALIFIED43Bernardo Dominic
1030Izzy N SaylorsGermany2026-09-17Morlong Associates NEGOTIATION52Xuxue Feng
1031Kadeem G VocelkaFrance2026-09-16Chanay, Jeffrey A Esq UNQUALIFIED83Anna Fali
1032Johnson S WaycottItaly2026-09-09King, Christopher A Esq RENEWAL32Asiya Javayant
1033Arvin K RulapaughItaly2026-09-27Chanay, Jeffrey A Esq RENEWAL73Onyama Limba
1034Octavia R MaletGermany2026-09-02Chemel, James L Cpa PROPOSAL7Bernardo Dominic
1035Isabel T MorascaUnited Kingdom2026-09-24Chapman, Ross E Esq UNQUALIFIED61Stephen Shaw
1036Jones Y DarakjyJapan2026-09-17Benton, John B Jr UNQUALIFIED75Ivan Magalhaes
1037Tony P FlosiGermany2026-09-05Truhlar And Truhlar Attys NEGOTIATION51Xuxue Feng
1038Francesco C AlbaresIndia2026-10-01Printing Dimensions QUALIFIED40Anna Fali
1039Mayumi C OstroskyCanada2026-09-28Chanay, Jeffrey A Esq RENEWAL30Amy Elsner
1040Cody Q OldroydCanada2026-09-07King, Christopher A Esq QUALIFIED65Anna Fali
1041Clifford J GillianArgentina2026-09-11Chemel, James L Cpa RENEWAL54Anna Fali
1042Claire W MaletRussia2026-09-27Benton, John B Jr QUALIFIED71Onyama Limba
1043Maria E DoeFrance2026-09-21Chemel, James L Cpa PROPOSAL17Onyama Limba
1044Wickens Q MaletAustralia2026-09-25Dorl, James J Esq QUALIFIED2Asiya Javayant
1045Ricardo S ChuiCanada2026-09-02Truhlar And Truhlar Attys NEW27Asiya Javayant
1046Jones Q ChuiArgentina2026-09-23Chemel, James L Cpa NEGOTIATION3Onyama Limba
1047Maria M VenereIndia2026-09-03Feltz Printing Service PROPOSAL36Bernardo Dominic
1048Wickens N MarrierCanada2026-09-21Morlong Associates NEW31Ioni Bowcher
1049Izzy C DarakjyFrance2026-09-26Feiner Bros RENEWAL17Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan S MaletIndiaOnyama Limba UNQUALIFIED
Antonio J DoeIndiaOnyama Limba NEW
Chavez S TollnerItalyIvan Magalhaes QUALIFIED
Aruna Z NestleIndiaBernardo Dominic RENEWAL
Ivar X BologniaFranceElwin Sharvill PROPOSAL
Nicolas X GillianJapanStephen Shaw NEGOTIATION
Morrow S MorascaBrazilAnna Fali QUALIFIED
Jones L PerinFranceXuxue Feng QUALIFIED
Juan U MorascaFranceStephen Shaw RENEWAL
Maisha N MacleadBrazilXuxue Feng UNQUALIFIED
Kadeem Z MorascaGermanyIoni Bowcher NEW
Claire N GarufiArgentinaElwin Sharvill PROPOSAL
Jones N RutaAustraliaElwin Sharvill NEGOTIATION
Julie O SlusarskiFranceXuxue Feng RENEWAL
Stacey A PaprockiAustraliaStephen Shaw PROPOSAL
Jennifer D WieserArgentinaIoni Bowcher UNQUALIFIED
Jennifer S ShinkoItalyAmy Elsner QUALIFIED
Adams U FlosiArgentinaAmy Elsner RENEWAL
Cody J FlosiUnited KingdomAsiya Javayant QUALIFIED
Ricardo A FerenczIndiaAmy Elsner NEGOTIATION
Deepesh V KuskoGermanyBernardo Dominic NEGOTIATION
Juan U GillianUnited KingdomStephen Shaw PROPOSAL
Tony Y StensethItalyOnyama Limba PROPOSAL
Mujtaba X ButtUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh W OstroskyRussiaElwin Sharvill RENEWAL
Izzy U GauchoFranceAsiya Javayant QUALIFIED
Darci P IturbideAustraliaOnyama Limba QUALIFIED
Silvio X DarakjySpainIvan Magalhaes NEGOTIATION
Aruna J OstroskyFranceAsiya Javayant NEW
Kaitlin Z BologniaCanadaAnna Fali NEW
Nicolas K SaylorsUnited KingdomIoni Bowcher QUALIFIED
Johnson R OstroskyArgentinaAmy Elsner UNQUALIFIED
Wickens V GillianFranceStephen Shaw UNQUALIFIED
Aika K RulapaughGermanyIvan Magalhaes PROPOSAL
Francesco L VocelkaGermanyAmy Elsner QUALIFIED
Adams I SaylorsAustraliaStephen Shaw PROPOSAL
Morrow U GarufiItalyXuxue Feng NEW
Jefferson I StensethArgentinaXuxue Feng NEW
Maisha W BologniaArgentinaAmy Elsner RENEWAL
Munro Z StensethIndiaStephen Shaw RENEWAL
Chavez M WhobreyGermanyStephen Shaw NEGOTIATION
Maisha S ButtRussiaBernardo Dominic NEGOTIATION
Morrow K VenereArgentinaOnyama Limba QUALIFIED
Salvatore A SaylorsItalyIvan Magalhaes NEW
Ashley T OstroskyArgentinaBernardo Dominic NEGOTIATION
Deepesh A SaylorsFranceIoni Bowcher UNQUALIFIED
Sinclair B GarufiItalyOnyama Limba RENEWAL
Darci G RoysterRussiaIvan Magalhaes NEW
Emily K KolmetzCanadaAsiya Javayant UNQUALIFIED
Ivar B WieserArgentinaAnna Fali NEGOTIATION
Frozen Columns
Name
Arvin C Morasca
Stacey T Bolognia
David E Whobrey
Aruna K Shinko
Leon M Vocelka
Chavez Z Garufi
Stacey S Perin
Jones O Rim
Darci H Poquette
Mujtaba U Gaucho
Nicolas U Kolmetz
Silvio E Royster
Costa E Caudy
Jeanfrancois F Venere
Aditya Z Ostrosky
Francesco D Dilliard
Rodrigues N Campain
Nicolas Y Darakjy
Maisha Z Venere
Adams I Slusarski
Salvatore J Rim
Jefferson G Doe
Johnson E Garufi
Murillo P Stenseth
Deepesh O Shinko
Munro E Ostrosky
Jennifer N Paprocki
Mayumi K Briddick
Aika D Caudy
Mayumi U Gillian
Leon T Paprocki
Salvatore V Foller
Leja V Oldroyd
Izzy G Stockham
Mayumi U Stenseth
Aika M Wieser
Munro D Perin
Misaki W Iturbide
Izzy S Caldarera
Maisha S Oldroyd
Rodrigues I Wieser
Ashley A Butt
Rodrigues Z Morasca
Chavez I Ruta
Ashley L Kolmetz
Maisha X Bowley
Morrow O Morasca
Izzy H Ostrosky
Jones G Flosi
Leon Y Ruta
IdCountryDate
1000Germany2026-09-29
1001India2026-09-03
1002Germany2026-09-26
1003Germany2026-09-28
1004India2026-09-20
1005Germany2026-09-26
1006Australia2026-09-20
1007Japan2026-09-30
1008United Kingdom2026-09-04
1009Italy2026-09-29
1010United Kingdom2026-09-15
1011France2026-09-19
1012United Kingdom2026-09-27
1013Argentina2026-09-09
1014Australia2026-09-21
1015Japan2026-09-30
1016Canada2026-09-04
1017India2026-09-10
1018France2026-09-27
1019Spain2026-09-17
1020India2026-09-26
1021Brazil2026-09-10
1022Australia2026-09-18
1023Australia2026-09-26
1024Germany2026-10-01
1025Brazil2026-09-29
1026Australia2026-09-14
1027Argentina2026-09-28
1028Japan2026-09-08
1029Spain2026-09-30
1030Brazil2026-09-09
1031Russia2026-09-09
1032Canada2026-09-20
1033Spain2026-09-23
1034Argentina2026-09-05
1035United Kingdom2026-09-15
1036Canada2026-09-03
1037France2026-09-26
1038Germany2026-09-22
1039Canada2026-09-24
1040India2026-09-09
1041Italy2026-09-04
1042United Kingdom2026-09-19
1043United Kingdom2026-09-12
1044United Kingdom2026-09-17
1045Canada2026-09-09
1046Argentina2026-09-14
1047Japan2026-09-15
1048Brazil2026-09-03
1049United Kingdom2026-09-21

On-Demand Data

NameIdCountryDate
Aika D Figeroa1000France2026-10-01
Leja N Royster1001Germany2026-09-18
Kaitlin X Shinko1002Japan2026-09-19
Mujtaba E Iturbide1003Russia2026-09-22
Jefferson K Amigon1004Japan2026-09-13
Aika M Whobrey1005Australia2026-09-25
Rodrigues A Morasca1006Australia2026-09-17
Isabel R Vocelka1007Italy2026-09-30
Aika M Ferencz1008Argentina2026-09-09
Mujtaba Z Chui1009Canada2026-09-13
Smith V Waycott1010Italy2026-09-10
Nicolas E Foller1011India2026-09-22
Aruna K Ostrosky1012Italy2026-10-01
Kadeem Z Malet1013India2026-09-26
Johnson Q Bowley1014India2026-09-11
Claire H Slusarski1015Brazil2026-09-13
Nicolas Y Chui1016Argentina2026-09-14
Claire V Bowley1017Germany2026-09-18
Juan J Dilliard1018Japan2026-10-01
Maisha T Doe1019Brazil2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio C RulapaughFranceIvan Magalhaes RENEWAL
Mujtaba F VenereBrazilIvan Magalhaes NEGOTIATION
Aditya I GlickItalyAmy Elsner PROPOSAL
Arvin V AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore W CampainUnited KingdomIvan Magalhaes NEW
Jefferson Q MaletBrazilAmy Elsner NEGOTIATION
Aruna T WieserFranceAmy Elsner RENEWAL
Francesco S NestleUnited KingdomOnyama Limba PROPOSAL
Johnson Q GauchoGermanyBernardo Dominic RENEWAL
Kadeem J AlbaresIndiaAmy Elsner QUALIFIED
Octavia W NickaItalyAnna Fali NEW
Alejandro H CaldareraAustraliaElwin Sharvill PROPOSAL
Isabel T OstroskyCanadaBernardo Dominic QUALIFIED
Tony Q StensethFranceAmy Elsner NEW
Morrow F StockhamItalyAnna Fali QUALIFIED
Smith Y PerinArgentinaIvan Magalhaes NEW
Aditya H BologniaCanadaAsiya Javayant UNQUALIFIED
Mujtaba V BologniaBrazilIvan Magalhaes NEW
Darci E KolmetzJapanAnna Fali PROPOSAL
Chavez Y NestleArgentinaStephen Shaw UNQUALIFIED
Isabel R RoysterFranceIvan Magalhaes QUALIFIED
Costa O CaldareraCanadaAnna Fali QUALIFIED
Sinclair R KuskoUnited KingdomBernardo Dominic RENEWAL
Jones Y GillianGermanyXuxue Feng QUALIFIED
James X WieserJapanAmy Elsner UNQUALIFIED
Arvin N TollnerAustraliaAnna Fali QUALIFIED
Ivar A CampainArgentinaAmy Elsner QUALIFIED
Costa K WaycottCanadaStephen Shaw QUALIFIED
Emily E BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh X RulapaughItalyOnyama Limba NEW
Adams T FollerGermanyAnna Fali UNQUALIFIED
Leja E WieserUnited KingdomStephen Shaw UNQUALIFIED
Antonio S SchemmerAustraliaBernardo Dominic UNQUALIFIED
Aruna Z SchemmerArgentinaAsiya Javayant NEW
Deepesh Q VenereGermanyXuxue Feng QUALIFIED
Sinclair R AmigonJapanAmy Elsner RENEWAL
David F ButtSpainIvan Magalhaes NEW
Cody C BowleyGermanyXuxue Feng NEGOTIATION
Ricardo I FerenczCanadaAsiya Javayant PROPOSAL
Jones O PaprockiRussiaIvan Magalhaes 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>