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
Wickens X AlbaresRussiaXuxue Feng NEGOTIATION
Mujtaba V VocelkaBrazilAsiya Javayant PROPOSAL
Sinclair L GlickItalyAnna Fali NEW
Morrow A KolmetzGermanyOnyama Limba PROPOSAL
Silvio P FlosiJapanIvan Magalhaes QUALIFIED
Munro I ChuiItalyIoni Bowcher RENEWAL
Morrow R DilliardItalyAsiya Javayant UNQUALIFIED
Jeanfrancois W PaprockiArgentinaStephen Shaw PROPOSAL
Mayumi B MarrierIndiaStephen Shaw UNQUALIFIED
Francesco L GauchoUnited KingdomAsiya Javayant UNQUALIFIED
David I MorascaGermanyOnyama Limba RENEWAL
Isabel T RutaUnited KingdomOnyama Limba NEW
Clifford L KolmetzSpainIvan Magalhaes UNQUALIFIED
Smith S MaletFranceIvan Magalhaes RENEWAL
Nicolas H FlosiAustraliaBernardo Dominic UNQUALIFIED
Jefferson C InouyeIndiaIvan Magalhaes NEGOTIATION
David O IturbideFranceAsiya Javayant UNQUALIFIED
Deepesh R DarakjyRussiaXuxue Feng UNQUALIFIED
Isabel B KuskoRussiaElwin Sharvill UNQUALIFIED
Ashley D CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore B StensethUnited KingdomStephen Shaw UNQUALIFIED
Nicolas N CaudyAustraliaAnna Fali NEGOTIATION
Emily F FerenczIndiaAsiya Javayant NEGOTIATION
Emily Z TollnerRussiaAmy Elsner QUALIFIED
Chavez J PerinIndiaXuxue Feng UNQUALIFIED
Maria T DarakjyIndiaAsiya Javayant RENEWAL
James I PoquetteBrazilXuxue Feng NEW
Aruna U OldroydRussiaOnyama Limba QUALIFIED
Wickens Q CaldareraBrazilAmy Elsner QUALIFIED
Antonio K BowleyIndiaAmy Elsner NEGOTIATION
Darci U MorascaFranceIvan Magalhaes RENEWAL
Morrow N PerinGermanyOnyama Limba RENEWAL
Ashley M SchemmerArgentinaOnyama Limba UNQUALIFIED
Izzy V MaletUnited KingdomXuxue Feng NEGOTIATION
Salvatore I ButtAustraliaAsiya Javayant UNQUALIFIED
Chavez J StockhamFranceIvan Magalhaes UNQUALIFIED
Murillo G MaletFranceOnyama Limba NEW
Cody X OstroskyRussiaOnyama Limba NEGOTIATION
Smith B AlbaresIndiaXuxue Feng PROPOSAL
Tony P VocelkaUnited KingdomXuxue Feng RENEWAL
Jennifer Z RoysterGermanyOnyama Limba UNQUALIFIED
Cody M IturbideItalyIvan Magalhaes PROPOSAL
Murillo K StensethIndiaStephen Shaw NEGOTIATION
Jefferson Z RutaSpainAnna Fali NEW
Jeanfrancois Q DoeJapanAsiya Javayant UNQUALIFIED
Octavia A InouyeItalyIoni Bowcher UNQUALIFIED
Wickens W DoeAustraliaXuxue Feng PROPOSAL
Wickens F FerenczCanadaElwin Sharvill UNQUALIFIED
Sinclair C GlickArgentinaBernardo Dominic UNQUALIFIED
Faith Y IturbideIndiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel Y TollnerIndiaXuxue Feng QUALIFIED
Murillo K SergiArgentinaIoni Bowcher NEW
Misaki A CaldareraSpainAmy Elsner UNQUALIFIED
Octavia Z MarrierSpainAnna Fali NEW
Misaki T SaylorsJapanXuxue Feng RENEWAL
Ivar X GarufiAustraliaAnna Fali QUALIFIED
Smith X SchemmerArgentinaBernardo Dominic UNQUALIFIED
Julie B GauchoBrazilIoni Bowcher NEW
Jeanfrancois X MacleadFranceBernardo Dominic UNQUALIFIED
Sinclair W FollerIndiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro E DarakjySpain2026-09-04Feiner Bros NEGOTIATION81Stephen Shaw
1001Leon W PerinJapan2026-09-22Feiner Bros RENEWAL52Amy Elsner
1002Ashley S DarakjyRussia2026-09-21Chanay, Jeffrey A Esq PROPOSAL29Asiya Javayant
1003Cody E FerenczArgentina2026-09-09Chanay, Jeffrey A Esq UNQUALIFIED38Onyama Limba
1004Munro C SlusarskiRussia2026-09-03Rangoni Of Florence QUALIFIED83Xuxue Feng
1005Maria R SaylorsJapan2026-09-05Feltz Printing Service UNQUALIFIED29Elwin Sharvill
1006Julie R FlosiFrance2026-09-15Buckley Miller Wright NEGOTIATION76Ivan Magalhaes
1007Francesco J FollerIndia2026-09-07King, Christopher A Esq NEW80Bernardo Dominic
1008David V NestleCanada2026-09-23Chemel, James L Cpa UNQUALIFIED65Anna Fali
1009Salvatore A GauchoArgentina2026-09-05Printing Dimensions UNQUALIFIED36Bernardo Dominic
1010Maria E MarrierIndia2026-09-11Chapman, Ross E Esq UNQUALIFIED97Anna Fali
1011Julie H FigeroaUnited Kingdom2026-09-21Morlong Associates NEW83Amy Elsner
1012Izzy K FigeroaCanada2026-09-02Buckley Miller Wright PROPOSAL92Onyama Limba
1013Smith S MorascaJapan2026-09-18Feiner Bros NEGOTIATION89Ivan Magalhaes
1014Isabel U BowleyItaly2026-09-04Chapman, Ross E Esq RENEWAL98Anna Fali
1015Murillo P InouyeSpain2026-08-30King, Christopher A Esq RENEWAL50Xuxue Feng
1016James E MaletAustralia2026-09-13Benton, John B Jr NEGOTIATION80Asiya Javayant
1017Deepesh S OstroskyIndia2026-08-30Morlong Associates NEGOTIATION74Asiya Javayant
1018Aika I GarufiArgentina2026-08-25Chapman, Ross E Esq NEW87Anna Fali
1019Murillo M FerenczCanada2026-09-17Chanay, Jeffrey A Esq UNQUALIFIED4Anna Fali
1020Mayumi B WieserArgentina2026-09-21Commercial Press NEW97Stephen Shaw
1021Jeanfrancois X PoquetteIndia2026-09-14Morlong Associates RENEWAL33Asiya Javayant
1022Ashley Q SlusarskiAustralia2026-08-28King, Christopher A Esq QUALIFIED25Ivan Magalhaes
1023Arvin E KuskoIndia2026-09-08Rangoni Of Florence QUALIFIED82Ivan Magalhaes
1024Sinclair C StockhamAustralia2026-08-29Benton, John B Jr PROPOSAL13Elwin Sharvill
1025James D RutaIndia2026-09-03Morlong Associates UNQUALIFIED67Amy Elsner
1026Mayumi Y ButtIndia2026-09-04Chanay, Jeffrey A Esq NEW34Onyama Limba
1027Ricardo R CampainGermany2026-09-23Feiner Bros NEW0Asiya Javayant
1028Chavez M ShinkoJapan2026-08-31Dorl, James J Esq QUALIFIED55Onyama Limba
1029Juan L CampainBrazil2026-09-21Rangoni Of Florence RENEWAL2Elwin Sharvill
1030Cody N AmigonSpain2026-09-20Rangoni Of Florence NEW52Stephen Shaw
1031Darci C OstroskyUnited Kingdom2026-09-02Commercial Press RENEWAL73Anna Fali
1032Leja Z AlbaresJapan2026-09-04Printing Dimensions UNQUALIFIED14Ioni Bowcher
1033Jefferson V MacleadBrazil2026-09-13Chapman, Ross E Esq RENEWAL22Ioni Bowcher
1034Leon C CaudyGermany2026-08-25Chapman, Ross E Esq PROPOSAL40Xuxue Feng
1035Leon W MorascaItaly2026-09-16King, Christopher A Esq QUALIFIED88Bernardo Dominic
1036Aruna N InouyeArgentina2026-09-03Dorl, James J Esq NEW40Bernardo Dominic
1037Leon X OstroskySpain2026-09-02Dorl, James J Esq PROPOSAL88Elwin Sharvill
1038Antonio T RoysterGermany2026-09-14King, Christopher A Esq PROPOSAL81Amy Elsner
1039Costa J BowleyItaly2026-09-15Feltz Printing Service NEGOTIATION50Ioni Bowcher
1040Nicolas U VocelkaCanada2026-09-18Benton, John B Jr UNQUALIFIED90Elwin Sharvill
1041Silvio O PerinRussia2026-09-02Rousseaux, Michael Esq NEW56Ioni Bowcher
1042Antonio C OldroydCanada2026-09-07Feiner Bros NEW77Amy Elsner
1043Izzy E MaletGermany2026-09-14Feltz Printing Service PROPOSAL12Asiya Javayant
1044Ashley Z InouyeUnited Kingdom2026-09-19Buckley Miller Wright NEGOTIATION22Anna Fali
1045Misaki Q AmigonCanada2026-09-13Dorl, James J Esq PROPOSAL74Bernardo Dominic
1046Sinclair A ChuiAustralia2026-09-12Truhlar And Truhlar Attys NEW25Anna Fali
1047Arvin X WhobreyRussia2026-08-31Truhlar And Truhlar Attys UNQUALIFIED94Xuxue Feng
1048Faith E FigeroaArgentina2026-09-23Chapman, Ross E Esq RENEWAL26Anna Fali
1049Murillo J CampainCanada2026-09-08Truhlar And Truhlar Attys UNQUALIFIED38Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro E IturbideAustraliaIvan Magalhaes PROPOSAL
Deepesh V MacleadBrazilAmy Elsner NEW
Aditya Q MacleadCanadaBernardo Dominic QUALIFIED
Johnson U VocelkaRussiaOnyama Limba QUALIFIED
Maisha E StockhamItalyBernardo Dominic NEW
Ricardo O TollnerJapanAsiya Javayant NEGOTIATION
Francesco Y InouyeCanadaOnyama Limba NEGOTIATION
James U BologniaUnited KingdomIvan Magalhaes PROPOSAL
Octavia A RutaSpainIoni Bowcher RENEWAL
Jennifer W PaprockiCanadaIoni Bowcher QUALIFIED
James K RulapaughGermanyAsiya Javayant UNQUALIFIED
Emily P FollerGermanyStephen Shaw RENEWAL
Jeanfrancois Y SchemmerGermanyIoni Bowcher QUALIFIED
Stacey S NickaJapanOnyama Limba UNQUALIFIED
Julie K SchemmerGermanyIoni Bowcher NEW
Smith P WaycottRussiaXuxue Feng PROPOSAL
Ivar S MacleadSpainAnna Fali QUALIFIED
Johnson P NickaUnited KingdomStephen Shaw PROPOSAL
Octavia U PerinBrazilOnyama Limba PROPOSAL
Jeanfrancois Q MacleadBrazilIvan Magalhaes NEGOTIATION
Alejandro W VenereGermanyBernardo Dominic NEW
Kadeem G WhobreyUnited KingdomElwin Sharvill PROPOSAL
Sinclair T GlickBrazilBernardo Dominic RENEWAL
Stacey B StensethIndiaStephen Shaw NEW
Smith L SchemmerJapanBernardo Dominic QUALIFIED
David L DoeFranceIvan Magalhaes RENEWAL
Jennifer G VenereSpainXuxue Feng RENEWAL
Wickens I GlickFranceAmy Elsner NEGOTIATION
Ivar N GlickItalyOnyama Limba PROPOSAL
Morrow S SergiIndiaElwin Sharvill QUALIFIED
Mayumi G GillianItalyStephen Shaw NEW
Tony D ShinkoBrazilAsiya Javayant UNQUALIFIED
Izzy J MaletGermanyAnna Fali UNQUALIFIED
Tony Q StensethRussiaStephen Shaw QUALIFIED
Francesco J ChuiGermanyAsiya Javayant UNQUALIFIED
Smith X FigeroaBrazilIvan Magalhaes UNQUALIFIED
Salvatore F WhobreyJapanStephen Shaw UNQUALIFIED
Salvatore Z NickaSpainOnyama Limba PROPOSAL
Emily I FlosiGermanyXuxue Feng QUALIFIED
Izzy Q AlbaresJapanOnyama Limba NEGOTIATION
Antonio G MaletUnited KingdomAsiya Javayant RENEWAL
Isabel C BriddickAustraliaXuxue Feng NEGOTIATION
Leon A RoysterRussiaBernardo Dominic QUALIFIED
Greenwood L DoeItalyElwin Sharvill RENEWAL
Aditya L VenereRussiaOnyama Limba QUALIFIED
Darci H FigeroaAustraliaOnyama Limba NEW
Leja R CaldareraSpainAsiya Javayant QUALIFIED
Costa X SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Francesco M FigeroaSpainIvan Magalhaes NEGOTIATION
Morrow E WhobreyUnited KingdomStephen Shaw QUALIFIED
Frozen Columns
Name
Smith Y Venere
Johnson I Figeroa
Jennifer W Gaucho
Aditya Z Bolognia
Darci P Tollner
Aruna Q Poquette
Mayumi F Perin
Kadeem O Perin
Jefferson J Perin
Greenwood F Dilliard
Rodrigues A Maclead
Sinclair W Malet
Ivar E Caudy
Stacey B Perin
Rodrigues J Dilliard
Aditya R Iturbide
Morrow W Kolmetz
Emily H Kusko
Mayumi L Whobrey
Arvin P Royster
Mujtaba F Stockham
David V Doe
Juan Z Rim
Faith A Chui
Murillo X Foller
Wickens P Kolmetz
Nicolas S Bolognia
Johnson X Saylors
Rodrigues M Glick
Juan A Chui
David S Morasca
Rodrigues E Rulapaugh
Juan Y Bowley
Kaitlin K Wieser
Arvin K Stockham
Leja F Garufi
Wickens Q Figeroa
Ricardo P Kusko
Jeanfrancois F Kusko
Ashley B Iturbide
Leon J Butt
Kaitlin O Marrier
Rodrigues O Whobrey
Chavez I Shinko
Salvatore D Waycott
Claire G Malet
Salvatore A Gillian
Ricardo S Ruta
Maisha T Stenseth
Faith H Gillian
IdCountryDate
1000Spain2026-09-04
1001France2026-09-05
1002United Kingdom2026-09-02
1003Russia2026-08-26
1004Argentina2026-09-12
1005Argentina2026-09-20
1006Argentina2026-09-23
1007Germany2026-09-07
1008Germany2026-09-05
1009India2026-09-16
1010Canada2026-08-25
1011Germany2026-08-27
1012Brazil2026-09-06
1013India2026-08-26
1014Brazil2026-09-17
1015Italy2026-08-26
1016Argentina2026-09-03
1017United Kingdom2026-08-31
1018Canada2026-09-04
1019Japan2026-09-20
1020Spain2026-09-11
1021Brazil2026-08-26
1022United Kingdom2026-09-11
1023Germany2026-09-02
1024France2026-09-09
1025Japan2026-09-17
1026Italy2026-09-04
1027Spain2026-08-26
1028Germany2026-09-13
1029India2026-09-09
1030India2026-09-23
1031France2026-09-01
1032Russia2026-09-16
1033France2026-09-12
1034Germany2026-09-13
1035France2026-09-15
1036Spain2026-09-05
1037United Kingdom2026-09-16
1038France2026-08-26
1039Argentina2026-09-11
1040Argentina2026-09-21
1041Argentina2026-09-05
1042United Kingdom2026-08-31
1043France2026-08-29
1044India2026-09-18
1045France2026-09-15
1046United Kingdom2026-08-25
1047Russia2026-09-03
1048Brazil2026-09-20
1049United Kingdom2026-09-21

On-Demand Data

NameIdCountryDate
Jeanfrancois N Amigon1000Japan2026-08-28
Salvatore E Briddick1001United Kingdom2026-09-10
Smith T Bolognia1002Canada2026-09-16
Maisha X Darakjy1003India2026-09-13
Costa F Paprocki1004Australia2026-09-20
Ashley V Stenseth1005Japan2026-09-02
Adams X Iturbide1006Russia2026-09-18
Aruna T Paprocki1007United Kingdom2026-09-18
Stacey P Marrier1008France2026-09-16
Julie C Venere1009Argentina2026-09-04
Francesco M Tollner1010Russia2026-09-05
Octavia Q Campain1011Canada2026-09-09
Faith I Sergi1012Canada2026-09-07
Octavia Q Stenseth1013United Kingdom2026-09-15
Leja N Perin1014Japan2026-09-21
Faith S Chui1015Australia2026-09-03
Mayumi O Malet1016Italy2026-09-03
Jones U Oldroyd1017Australia2026-09-04
Alejandro A Bolognia1018United Kingdom2026-09-19
Chavez V Chui1019India2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem C GarufiAustraliaIoni Bowcher QUALIFIED
Nicolas Z FollerJapanBernardo Dominic UNQUALIFIED
Antonio B BowleyRussiaAmy Elsner UNQUALIFIED
Munro D RulapaughJapanIvan Magalhaes PROPOSAL
Murillo W RoysterAustraliaAnna Fali RENEWAL
Aruna D KuskoIndiaXuxue Feng UNQUALIFIED
Kadeem Y NestleUnited KingdomAsiya Javayant NEW
Juan J WaycottUnited KingdomOnyama Limba NEW
Clifford E SergiGermanyAnna Fali NEGOTIATION
Johnson M MaletFranceXuxue Feng UNQUALIFIED
Munro U StockhamRussiaIoni Bowcher UNQUALIFIED
Ricardo N MacleadIndiaAnna Fali NEW
Aruna Y NestleJapanOnyama Limba NEGOTIATION
Izzy N FerenczRussiaAnna Fali NEGOTIATION
Alejandro O AlbaresUnited KingdomStephen Shaw NEW
Julie O IturbideIndiaElwin Sharvill RENEWAL
Wickens A RulapaughIndiaIoni Bowcher QUALIFIED
Francesco Y MaletUnited KingdomOnyama Limba NEGOTIATION
Munro V OstroskyCanadaIoni Bowcher QUALIFIED
Aruna H SaylorsBrazilIvan Magalhaes RENEWAL
Sinclair G OldroydRussiaIoni Bowcher PROPOSAL
Maisha L RoysterBrazilAnna Fali UNQUALIFIED
Ivar O MorascaArgentinaIvan Magalhaes QUALIFIED
Silvio Y AlbaresBrazilIvan Magalhaes NEW
Silvio P CampainRussiaAnna Fali UNQUALIFIED
Greenwood T NickaIndiaXuxue Feng PROPOSAL
Octavia V PoquetteAustraliaAmy Elsner RENEWAL
Rodrigues V GauchoIndiaAnna Fali UNQUALIFIED
Kaitlin O BriddickSpainStephen Shaw UNQUALIFIED
Claire A KolmetzGermanyIoni Bowcher UNQUALIFIED
Leja J OldroydGermanyOnyama Limba UNQUALIFIED
Maisha U PaprockiCanadaStephen Shaw NEGOTIATION
Isabel D RutaIndiaOnyama Limba PROPOSAL
Johnson Y FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio A BowleyUnited KingdomAmy Elsner NEW
Emily N FollerItalyAmy Elsner NEW
Aruna P TollnerItalyAsiya Javayant QUALIFIED
Octavia I KuskoFranceAmy Elsner RENEWAL
Munro T KolmetzUnited KingdomAmy Elsner NEW
Aika Q BologniaCanadaXuxue Feng 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>