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
Deepesh J RutaCanadaOnyama Limba NEW
David R MaletBrazilIvan Magalhaes PROPOSAL
Salvatore S RoysterBrazilBernardo Dominic QUALIFIED
Ashley A PaprockiFranceXuxue Feng UNQUALIFIED
Jefferson Y PoquetteGermanyAsiya Javayant RENEWAL
Rodrigues Z RoysterCanadaElwin Sharvill NEGOTIATION
Faith H TollnerBrazilAmy Elsner UNQUALIFIED
Clifford F WieserCanadaIoni Bowcher QUALIFIED
Antonio J KuskoSpainOnyama Limba UNQUALIFIED
Jeanfrancois W WhobreyItalyAmy Elsner NEGOTIATION
Ashley J BriddickAustraliaBernardo Dominic NEGOTIATION
Stacey D GlickSpainAsiya Javayant NEGOTIATION
Emily W MorascaBrazilAmy Elsner PROPOSAL
Jones C GillianFranceBernardo Dominic PROPOSAL
Jones S RulapaughBrazilAmy Elsner UNQUALIFIED
Morrow V GillianUnited KingdomXuxue Feng PROPOSAL
Kaitlin S SaylorsCanadaIoni Bowcher PROPOSAL
Juan Q ButtIndiaXuxue Feng NEW
Chavez T ShinkoItalyOnyama Limba NEGOTIATION
Maria G ButtItalyIoni Bowcher RENEWAL
Leja I WaycottArgentinaXuxue Feng UNQUALIFIED
Claire K VocelkaAustraliaIvan Magalhaes QUALIFIED
Tony P RoysterCanadaElwin Sharvill NEGOTIATION
Maria D PerinItalyElwin Sharvill UNQUALIFIED
Julie I MaletCanadaAsiya Javayant RENEWAL
Adams I GlickCanadaAnna Fali NEW
Maria M PaprockiGermanyXuxue Feng QUALIFIED
Adams N KuskoIndiaAmy Elsner NEGOTIATION
Mujtaba I MacleadCanadaStephen Shaw PROPOSAL
Wickens O StockhamItalyAsiya Javayant UNQUALIFIED
Silvio G AlbaresBrazilIvan Magalhaes NEGOTIATION
Misaki T KolmetzItalyAmy Elsner PROPOSAL
Ashley L MorascaAustraliaIoni Bowcher UNQUALIFIED
James L VenereAustraliaIoni Bowcher UNQUALIFIED
Munro I VocelkaUnited KingdomIvan Magalhaes NEW
Octavia Y SchemmerIndiaIvan Magalhaes QUALIFIED
Aruna G ChuiCanadaIoni Bowcher NEGOTIATION
Leon J BologniaArgentinaAnna Fali QUALIFIED
Morrow F DarakjyCanadaIvan Magalhaes NEGOTIATION
Adams F MarrierSpainXuxue Feng UNQUALIFIED
Maria X SergiJapanXuxue Feng QUALIFIED
Alejandro J MorascaBrazilStephen Shaw RENEWAL
Rodrigues Q DilliardAustraliaAsiya Javayant QUALIFIED
Izzy R AmigonFranceXuxue Feng PROPOSAL
Greenwood Q CaudyFranceAmy Elsner QUALIFIED
Johnson S FlosiIndiaXuxue Feng NEW
Misaki K GauchoArgentinaAnna Fali QUALIFIED
Rodrigues S OldroydGermanyElwin Sharvill PROPOSAL
Morrow D GarufiItalyBernardo Dominic PROPOSAL
Chavez J SergiArgentinaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh A RulapaughSpainXuxue Feng NEGOTIATION
Mayumi Y OstroskyCanadaAmy Elsner QUALIFIED
Wickens S DarakjyUnited KingdomBernardo Dominic RENEWAL
Johnson A StensethSpainStephen Shaw NEW
Misaki U VenereItalyXuxue Feng NEGOTIATION
Alejandro B PoquetteIndiaXuxue Feng UNQUALIFIED
Greenwood A MorascaBrazilAmy Elsner NEW
Ashley B BologniaUnited KingdomAnna Fali NEGOTIATION
Leja J ChuiRussiaStephen Shaw RENEWAL
Salvatore G PoquetteAustraliaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith H WaycottArgentina2026-10-15Truhlar And Truhlar Attys NEGOTIATION33Bernardo Dominic
1001Ivar X MaletBrazil2026-10-14Chanay, Jeffrey A Esq QUALIFIED40Stephen Shaw
1002Sinclair A TollnerUnited Kingdom2026-10-18Rousseaux, Michael Esq NEGOTIATION77Anna Fali
1003Chavez A BowleyAustralia2026-10-29Rangoni Of Florence QUALIFIED98Xuxue Feng
1004Ashley Y MaletGermany2026-10-21Rousseaux, Michael Esq NEGOTIATION11Elwin Sharvill
1005Adams G SaylorsRussia2026-10-23Dorl, James J Esq RENEWAL19Ivan Magalhaes
1006Costa Q FerenczGermany2026-10-27Buckley Miller Wright UNQUALIFIED33Ioni Bowcher
1007Wickens E PoquetteGermany2026-11-01Chemel, James L Cpa NEW6Stephen Shaw
1008Jones O NickaFrance2026-11-05Chemel, James L Cpa QUALIFIED26Amy Elsner
1009Kadeem S MacleadRussia2026-10-09Printing Dimensions NEW81Onyama Limba
1010Jeanfrancois D ShinkoGermany2026-10-15Dorl, James J Esq QUALIFIED10Stephen Shaw
1011Sinclair L RoysterRussia2026-10-10Printing Dimensions NEW31Bernardo Dominic
1012Tony J InouyeAustralia2026-11-02Feiner Bros UNQUALIFIED14Ioni Bowcher
1013Misaki D MaletAustralia2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED14Onyama Limba
1014James E TollnerBrazil2026-10-29King, Christopher A Esq QUALIFIED46Asiya Javayant
1015Arvin J OldroydCanada2026-10-10King, Christopher A Esq RENEWAL41Onyama Limba
1016Kaitlin L WaycottArgentina2026-10-13Dorl, James J Esq NEW50Elwin Sharvill
1017David I SaylorsGermany2026-11-04Chanay, Jeffrey A Esq NEGOTIATION15Bernardo Dominic
1018Jones Y CaudyIndia2026-10-14Chanay, Jeffrey A Esq QUALIFIED69Stephen Shaw
1019Emily H SchemmerIndia2026-10-21King, Christopher A Esq UNQUALIFIED94Bernardo Dominic
1020Aika D AmigonAustralia2026-10-10Chapman, Ross E Esq UNQUALIFIED69Elwin Sharvill
1021Alejandro Q BowleyArgentina2026-11-04Printing Dimensions NEGOTIATION74Xuxue Feng
1022Munro J SlusarskiBrazil2026-10-17Feltz Printing Service QUALIFIED92Elwin Sharvill
1023Costa O VenereUnited Kingdom2026-10-18Benton, John B Jr PROPOSAL24Amy Elsner
1024Ivar E VocelkaGermany2026-10-25Benton, John B Jr UNQUALIFIED94Anna Fali
1025Stacey M DilliardAustralia2026-10-21Chapman, Ross E Esq NEW46Onyama Limba
1026Mujtaba V MarrierUnited Kingdom2026-10-18Buckley Miller Wright QUALIFIED36Asiya Javayant
1027Rodrigues E MacleadBrazil2026-10-30Feiner Bros PROPOSAL86Ivan Magalhaes
1028Arvin O FigeroaBrazil2026-10-17Buckley Miller Wright PROPOSAL47Asiya Javayant
1029Leon R GarufiIndia2026-10-28Benton, John B Jr RENEWAL30Elwin Sharvill
1030Kadeem H PerinBrazil2026-11-05Chanay, Jeffrey A Esq RENEWAL93Ivan Magalhaes
1031Jones V StockhamIndia2026-10-19Rangoni Of Florence RENEWAL65Ioni Bowcher
1032Leja A AlbaresCanada2026-10-13Chemel, James L Cpa NEGOTIATION96Bernardo Dominic
1033Darci U KolmetzIndia2026-10-30Rousseaux, Michael Esq RENEWAL45Bernardo Dominic
1034Maisha Q RulapaughFrance2026-10-10Truhlar And Truhlar Attys RENEWAL20Bernardo Dominic
1035Silvio U FollerSpain2026-10-08Feltz Printing Service NEGOTIATION21Elwin Sharvill
1036Maria I ButtUnited Kingdom2026-10-16Benton, John B Jr UNQUALIFIED5Stephen Shaw
1037Johnson A MarrierCanada2026-10-12Chanay, Jeffrey A Esq NEW54Xuxue Feng
1038Julie F GillianAustralia2026-10-26King, Christopher A Esq RENEWAL45Ioni Bowcher
1039Leja H DilliardCanada2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED38Amy Elsner
1040Stacey B GarufiJapan2026-10-24Morlong Associates QUALIFIED30Ioni Bowcher
1041Aika J SergiRussia2026-10-18Buckley Miller Wright UNQUALIFIED21Xuxue Feng
1042Murillo T CaldareraBrazil2026-10-22Rousseaux, Michael Esq PROPOSAL18Bernardo Dominic
1043Salvatore Y ButtFrance2026-10-22Chapman, Ross E Esq NEGOTIATION55Ivan Magalhaes
1044Antonio Z GillianItaly2026-10-13Chanay, Jeffrey A Esq QUALIFIED39Bernardo Dominic
1045Jones L RimGermany2026-10-11Printing Dimensions UNQUALIFIED69Xuxue Feng
1046Maisha F GauchoBrazil2026-10-26Chemel, James L Cpa QUALIFIED89Ivan Magalhaes
1047Deepesh Q DarakjyBrazil2026-10-22Chapman, Ross E Esq QUALIFIED32Bernardo Dominic
1048Clifford I DoeGermany2026-11-01Chanay, Jeffrey A Esq RENEWAL72Bernardo Dominic
1049Francesco S StockhamUnited Kingdom2026-10-28Chanay, Jeffrey A Esq NEW63Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues E WhobreyFranceAnna Fali UNQUALIFIED
Ashley R AlbaresJapanBernardo Dominic PROPOSAL
Ivar B BriddickFranceBernardo Dominic RENEWAL
Deepesh H StensethCanadaIvan Magalhaes PROPOSAL
Rodrigues S MorascaCanadaBernardo Dominic RENEWAL
Leon A BologniaSpainAmy Elsner UNQUALIFIED
Jeanfrancois Y StensethUnited KingdomOnyama Limba PROPOSAL
Misaki F FigeroaRussiaIvan Magalhaes PROPOSAL
Francesco F GauchoAustraliaElwin Sharvill UNQUALIFIED
Cody W CaldareraFranceAnna Fali PROPOSAL
Mujtaba G DarakjyFranceIvan Magalhaes UNQUALIFIED
David T GarufiIndiaIvan Magalhaes NEW
Johnson W PaprockiAustraliaStephen Shaw PROPOSAL
James J RutaSpainElwin Sharvill PROPOSAL
Leon G StensethFranceIoni Bowcher PROPOSAL
Isabel J DoeCanadaXuxue Feng PROPOSAL
Isabel B BologniaAustraliaIoni Bowcher NEGOTIATION
Isabel E WieserFranceStephen Shaw RENEWAL
Mayumi U WaycottArgentinaXuxue Feng UNQUALIFIED
Wickens A SlusarskiArgentinaOnyama Limba UNQUALIFIED
Stacey Y AmigonCanadaElwin Sharvill NEW
Ashley L VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro O GauchoItalyAnna Fali QUALIFIED
Faith X StockhamAustraliaAmy Elsner QUALIFIED
Misaki O RulapaughBrazilElwin Sharvill QUALIFIED
Mujtaba P SlusarskiArgentinaXuxue Feng NEW
Darci P ChuiAustraliaXuxue Feng RENEWAL
Murillo E CaudyAustraliaXuxue Feng QUALIFIED
Adams P AlbaresItalyXuxue Feng NEGOTIATION
Misaki B BriddickJapanIvan Magalhaes RENEWAL
Izzy Y AmigonSpainElwin Sharvill RENEWAL
Adams J SergiIndiaAmy Elsner NEW
James W ButtCanadaIvan Magalhaes UNQUALIFIED
Arvin A SergiJapanStephen Shaw PROPOSAL
Leon F FollerIndiaIvan Magalhaes RENEWAL
Salvatore M MorascaFranceIoni Bowcher NEW
Leon E WhobreyArgentinaXuxue Feng RENEWAL
Alejandro I PoquetteCanadaStephen Shaw UNQUALIFIED
Rodrigues W ShinkoAustraliaOnyama Limba UNQUALIFIED
Julie A OstroskyUnited KingdomStephen Shaw RENEWAL
Claire M SaylorsCanadaElwin Sharvill NEW
Stacey X PerinRussiaXuxue Feng UNQUALIFIED
Cody J RulapaughSpainBernardo Dominic NEW
Mujtaba B PerinGermanyIoni Bowcher UNQUALIFIED
Alejandro P SergiCanadaXuxue Feng RENEWAL
Darci W GarufiUnited KingdomAmy Elsner NEW
Antonio Y OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Leja O GarufiItalyAmy Elsner RENEWAL
Mayumi R RimJapanAsiya Javayant NEGOTIATION
Aruna M KuskoFranceStephen Shaw RENEWAL
Frozen Columns
Name
Jennifer N Inouye
Clifford H Nicka
Octavia L Gaucho
Costa Y Paprocki
Darci H Garufi
Murillo A Oldroyd
Leon C Iturbide
Greenwood H Iturbide
Cody M Kolmetz
Ivar X Amigon
Salvatore C Nestle
Octavia W Waycott
Deepesh S Campain
David V Poquette
Murillo J Perin
Arvin C Campain
Kaitlin M Royster
Claire M Rim
Greenwood M Ostrosky
Emily T Oldroyd
Aruna W Iturbide
Sinclair R Malet
Silvio Q Saylors
Juan H Briddick
Mujtaba X Kolmetz
Izzy G Venere
Jones T Butt
Cody U Maclead
Greenwood W Gaucho
Deepesh S Bolognia
Greenwood A Foller
Murillo Y Rulapaugh
Mayumi M Schemmer
Maisha S Waycott
Emily B Morasca
Tony O Paprocki
Juan U Gaucho
Smith R Slusarski
Claire Z Schemmer
Leon G Perin
Alejandro J Wieser
Ricardo M Malet
Octavia B Royster
Aika R Flosi
Ricardo P Foller
Rodrigues B Vocelka
Aditya S Malet
Adams O Flosi
Johnson P Wieser
Tony X Foller
IdCountryDate
1000United Kingdom2026-11-06
1001United Kingdom2026-11-01
1002Italy2026-11-01
1003France2026-11-05
1004Argentina2026-10-10
1005France2026-10-17
1006Argentina2026-10-08
1007Australia2026-10-12
1008Russia2026-10-14
1009France2026-11-06
1010Japan2026-10-23
1011India2026-10-18
1012Spain2026-10-30
1013Japan2026-11-04
1014Canada2026-10-18
1015Germany2026-10-22
1016Australia2026-10-13
1017Germany2026-10-13
1018Australia2026-10-22
1019Italy2026-10-29
1020India2026-10-14
1021Brazil2026-10-27
1022France2026-10-30
1023Japan2026-10-23
1024Germany2026-10-30
1025Japan2026-10-25
1026Germany2026-10-17
1027Russia2026-10-20
1028Spain2026-10-26
1029Spain2026-10-25
1030India2026-10-27
1031United Kingdom2026-11-03
1032India2026-11-05
1033Spain2026-10-22
1034Australia2026-10-10
1035Italy2026-11-01
1036Canada2026-10-11
1037Argentina2026-10-10
1038France2026-10-27
1039France2026-11-03
1040Italy2026-10-22
1041Spain2026-10-29
1042Italy2026-10-18
1043Germany2026-10-26
1044United Kingdom2026-10-16
1045India2026-10-13
1046United Kingdom2026-10-24
1047Canada2026-11-02
1048France2026-10-21
1049Brazil2026-10-10

On-Demand Data

NameIdCountryDate
Sinclair H Marrier1000Russia2026-10-28
Juan U Flosi1001Germany2026-10-19
Jones B Glick1002Argentina2026-11-06
Aika M Marrier1003United Kingdom2026-10-26
Maria W Caldarera1004Spain2026-10-11
Aditya T Slusarski1005Germany2026-11-06
Aditya P Glick1006Brazil2026-10-24
Jones G Figeroa1007Canada2026-10-24
Maria M Garufi1008Russia2026-11-03
Darci B Bolognia1009United Kingdom2026-11-05
Smith V Oldroyd1010United Kingdom2026-10-25
Munro G Flosi1011Canada2026-10-09
Nicolas R Ruta1012France2026-10-26
Rodrigues X Glick1013France2026-10-21
Leja H Oldroyd1014India2026-10-09
Antonio H Venere1015Russia2026-10-17
Kaitlin B Nestle1016Italy2026-10-13
Leon N Gaucho1017Argentina2026-10-17
David A Doe1018France2026-10-10
Leon T Campain1019Germany2026-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow H RulapaughBrazilAsiya Javayant NEW
Arvin X CaudySpainIvan Magalhaes NEGOTIATION
Ashley C ChuiArgentinaIvan Magalhaes RENEWAL
Nicolas O InouyeArgentinaOnyama Limba UNQUALIFIED
David P ShinkoGermanyAnna Fali UNQUALIFIED
Silvio K AlbaresArgentinaIoni Bowcher QUALIFIED
Arvin N CaldareraBrazilAnna Fali UNQUALIFIED
Faith M NickaIndiaIvan Magalhaes NEW
Aruna V OldroydSpainIvan Magalhaes RENEWAL
Johnson C RoysterCanadaBernardo Dominic UNQUALIFIED
Ricardo Y WhobreyArgentinaIvan Magalhaes PROPOSAL
Deepesh Q PoquetteAustraliaBernardo Dominic UNQUALIFIED
Jennifer B RimGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois L KolmetzCanadaIvan Magalhaes NEW
Aika N RoysterSpainIvan Magalhaes NEGOTIATION
Mujtaba H ButtSpainAsiya Javayant PROPOSAL
David V FigeroaUnited KingdomOnyama Limba QUALIFIED
Mujtaba S StockhamItalyBernardo Dominic RENEWAL
Octavia B AlbaresFranceXuxue Feng UNQUALIFIED
Arvin Q IturbideUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin M GauchoJapanStephen Shaw NEW
Mayumi K SaylorsJapanAnna Fali NEW
Maisha T TollnerUnited KingdomXuxue Feng NEW
Izzy D StockhamSpainBernardo Dominic NEW
Adams H MaletGermanyAsiya Javayant NEW
Silvio D MacleadBrazilBernardo Dominic NEGOTIATION
Faith Y VenereArgentinaElwin Sharvill UNQUALIFIED
Octavia H CampainItalyXuxue Feng PROPOSAL
Arvin Q FlosiAustraliaOnyama Limba PROPOSAL
Johnson E ButtIndiaAsiya Javayant NEW
Ashley L MaletArgentinaBernardo Dominic PROPOSAL
Jones M WieserArgentinaBernardo Dominic QUALIFIED
Juan I WhobreyBrazilAmy Elsner UNQUALIFIED
Sinclair B FigeroaSpainAmy Elsner QUALIFIED
Julie H SaylorsIndiaXuxue Feng QUALIFIED
Antonio M VenereJapanAmy Elsner UNQUALIFIED
Antonio N DarakjyUnited KingdomBernardo Dominic RENEWAL
Darci Y CaldareraArgentinaXuxue Feng UNQUALIFIED
Aruna V ChuiJapanOnyama Limba UNQUALIFIED
Johnson D FollerUnited KingdomAmy Elsner NEGOTIATION

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