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
Francesco B MaletItalyAsiya Javayant NEGOTIATION
Stacey Z FollerUnited KingdomIvan Magalhaes RENEWAL
Ricardo U OldroydAustraliaBernardo Dominic PROPOSAL
Mujtaba B SlusarskiArgentinaBernardo Dominic RENEWAL
Salvatore Q OstroskyIndiaBernardo Dominic QUALIFIED
Ricardo V PoquetteFranceStephen Shaw PROPOSAL
Murillo Y MarrierGermanyElwin Sharvill NEW
Nicolas D ButtJapanBernardo Dominic NEW
Sinclair Y RulapaughArgentinaBernardo Dominic RENEWAL
Isabel O PoquetteArgentinaOnyama Limba RENEWAL
Francesco H CaldareraFranceBernardo Dominic RENEWAL
Deepesh U WieserSpainStephen Shaw NEGOTIATION
Ivar H AmigonAustraliaAmy Elsner RENEWAL
Jennifer K KolmetzFranceAnna Fali QUALIFIED
Ricardo T GlickItalyStephen Shaw NEGOTIATION
Rodrigues X VenereSpainAsiya Javayant QUALIFIED
Clifford S ChuiBrazilAsiya Javayant RENEWAL
Ricardo O AmigonJapanAmy Elsner NEGOTIATION
Salvatore L RutaArgentinaIoni Bowcher NEW
James U FlosiBrazilAmy Elsner UNQUALIFIED
Leja T PerinUnited KingdomOnyama Limba NEGOTIATION
Jennifer H MarrierBrazilBernardo Dominic UNQUALIFIED
Claire P PoquetteSpainXuxue Feng PROPOSAL
Aika Q GauchoSpainOnyama Limba PROPOSAL
Smith I RoysterUnited KingdomIoni Bowcher NEGOTIATION
Jefferson G RulapaughRussiaAmy Elsner UNQUALIFIED
Leja L AlbaresSpainAnna Fali NEGOTIATION
Leon R NickaUnited KingdomAsiya Javayant QUALIFIED
Deepesh T KolmetzBrazilOnyama Limba QUALIFIED
Adams E RoysterRussiaStephen Shaw PROPOSAL
Ricardo S FlosiSpainBernardo Dominic UNQUALIFIED
Antonio B SchemmerItalyElwin Sharvill RENEWAL
Jeanfrancois B SchemmerCanadaStephen Shaw NEW
Greenwood R VocelkaRussiaStephen Shaw PROPOSAL
Munro T WaycottJapanStephen Shaw PROPOSAL
Izzy A WhobreyRussiaStephen Shaw NEGOTIATION
Munro S AlbaresJapanAmy Elsner QUALIFIED
Maisha P OldroydArgentinaBernardo Dominic NEW
Mayumi G IturbideRussiaBernardo Dominic PROPOSAL
Adams P PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Darci C CampainSpainAnna Fali PROPOSAL
Smith W SergiItalyElwin Sharvill QUALIFIED
Jones T MarrierGermanyIvan Magalhaes PROPOSAL
Mujtaba F CampainIndiaXuxue Feng RENEWAL
Ricardo R SaylorsAustraliaAnna Fali NEGOTIATION
David H StensethBrazilAnna Fali UNQUALIFIED
Darci H RoysterCanadaAnna Fali UNQUALIFIED
Julie E MacleadRussiaIvan Magalhaes QUALIFIED
Octavia T RoysterSpainIoni Bowcher NEW
Arvin E SlusarskiAustraliaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Clifford V WaycottSpainIoni Bowcher UNQUALIFIED
Ashley Y MorascaSpainAmy Elsner RENEWAL
Deepesh O OstroskyRussiaIvan Magalhaes NEGOTIATION
Mujtaba T IturbideItalyAmy Elsner PROPOSAL
Cody J PoquetteAustraliaIoni Bowcher NEGOTIATION
Sinclair C OstroskySpainStephen Shaw QUALIFIED
Maisha Z WaycottJapanElwin Sharvill UNQUALIFIED
Misaki M RoysterAustraliaIoni Bowcher UNQUALIFIED
Johnson Y GauchoFranceAmy Elsner UNQUALIFIED
Munro A OstroskyIndiaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin B WhobreyFrance2026-09-29Printing Dimensions NEGOTIATION28Amy Elsner
1001Chavez H AlbaresCanada2026-09-18Rousseaux, Michael Esq UNQUALIFIED86Anna Fali
1002Alejandro H RutaCanada2026-09-25Rangoni Of Florence RENEWAL1Xuxue Feng
1003Kaitlin R NestleSpain2026-09-08Rangoni Of Florence RENEWAL86Bernardo Dominic
1004Isabel M MarrierIndia2026-09-19Rousseaux, Michael Esq PROPOSAL60Stephen Shaw
1005Izzy X BriddickBrazil2026-09-19Truhlar And Truhlar Attys NEW65Onyama Limba
1006Juan Y PerinSpain2026-09-22Feiner Bros UNQUALIFIED30Ivan Magalhaes
1007Faith O ShinkoAustralia2026-09-05Rousseaux, Michael Esq UNQUALIFIED76Amy Elsner
1008Morrow I PoquetteCanada2026-10-01Chanay, Jeffrey A Esq PROPOSAL45Onyama Limba
1009David P BologniaItaly2026-09-22King, Christopher A Esq PROPOSAL7Onyama Limba
1010Smith T CaldareraSpain2026-10-02Rangoni Of Florence PROPOSAL92Stephen Shaw
1011Aditya B AmigonRussia2026-09-24Morlong Associates NEW80Onyama Limba
1012Adams H GauchoSpain2026-09-14Buckley Miller Wright PROPOSAL22Elwin Sharvill
1013Claire U NestleUnited Kingdom2026-09-16Printing Dimensions QUALIFIED47Onyama Limba
1014Juan Q StensethAustralia2026-09-12Chapman, Ross E Esq NEGOTIATION22Anna Fali
1015Chavez H ButtRussia2026-09-15Commercial Press NEW44Elwin Sharvill
1016Sinclair G ShinkoFrance2026-09-06Morlong Associates RENEWAL25Anna Fali
1017James R BriddickBrazil2026-09-17Feltz Printing Service UNQUALIFIED85Asiya Javayant
1018Johnson E PerinSpain2026-09-22Chapman, Ross E Esq UNQUALIFIED74Amy Elsner
1019Alejandro S KuskoIndia2026-09-20King, Christopher A Esq RENEWAL64Elwin Sharvill
1020Izzy L GillianSpain2026-09-30Benton, John B Jr UNQUALIFIED92Asiya Javayant
1021Ivar Q FigeroaCanada2026-09-21Printing Dimensions RENEWAL25Amy Elsner
1022Chavez O WieserAustralia2026-09-05Chanay, Jeffrey A Esq UNQUALIFIED11Ivan Magalhaes
1023Rodrigues T CaldareraGermany2026-09-16Benton, John B Jr PROPOSAL77Anna Fali
1024Leon E KolmetzBrazil2026-09-26Truhlar And Truhlar Attys NEW7Xuxue Feng
1025Misaki N GlickIndia2026-09-10Chapman, Ross E Esq NEW73Elwin Sharvill
1026Deepesh P WhobreyFrance2026-09-16Chanay, Jeffrey A Esq NEGOTIATION66Ioni Bowcher
1027Munro K RoysterAustralia2026-09-23Rousseaux, Michael Esq NEGOTIATION31Amy Elsner
1028Octavia H StockhamBrazil2026-10-03King, Christopher A Esq QUALIFIED79Asiya Javayant
1029Munro Y StensethUnited Kingdom2026-09-26Commercial Press NEGOTIATION6Xuxue Feng
1030Salvatore P SchemmerIndia2026-09-14Rousseaux, Michael Esq UNQUALIFIED36Bernardo Dominic
1031Leon E IturbideIndia2026-09-09Rangoni Of Florence PROPOSAL69Bernardo Dominic
1032Chavez K GarufiArgentina2026-09-29Chanay, Jeffrey A Esq QUALIFIED50Ivan Magalhaes
1033Ashley P VenereIndia2026-09-25Feiner Bros UNQUALIFIED14Anna Fali
1034Ricardo P CaldareraCanada2026-09-20Buckley Miller Wright RENEWAL23Onyama Limba
1035Aika U RoysterBrazil2026-09-05Truhlar And Truhlar Attys NEW27Asiya Javayant
1036Isabel W FlosiJapan2026-09-14Chemel, James L Cpa NEW34Bernardo Dominic
1037Costa J IturbideSpain2026-09-10Feiner Bros NEGOTIATION94Anna Fali
1038Izzy D NestleUnited Kingdom2026-10-03Chapman, Ross E Esq RENEWAL74Anna Fali
1039Faith S VenereArgentina2026-09-05Feltz Printing Service NEW30Bernardo Dominic
1040Aika J SaylorsFrance2026-09-17Truhlar And Truhlar Attys NEGOTIATION93Stephen Shaw
1041Rodrigues S OstroskyArgentina2026-09-09Commercial Press QUALIFIED62Ivan Magalhaes
1042Johnson P CaudyArgentina2026-09-27Printing Dimensions QUALIFIED83Ioni Bowcher
1043Johnson S MaletUnited Kingdom2026-09-27Commercial Press PROPOSAL7Asiya Javayant
1044Sinclair O ChuiCanada2026-09-08Chanay, Jeffrey A Esq NEW78Ioni Bowcher
1045Johnson V BriddickArgentina2026-09-04Buckley Miller Wright UNQUALIFIED69Stephen Shaw
1046Juan M CaldareraAustralia2026-09-15Benton, John B Jr RENEWAL1Elwin Sharvill
1047Antonio Y OstroskyIndia2026-09-14Feltz Printing Service RENEWAL1Amy Elsner
1048Clifford Q InouyeCanada2026-09-19Feiner Bros UNQUALIFIED35Anna Fali
1049Murillo O PerinUnited Kingdom2026-09-15King, Christopher A Esq NEGOTIATION99Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Alejandro W OstroskySpainAnna Fali RENEWAL
Nicolas S DoeCanadaIoni Bowcher RENEWAL
Arvin K FerenczFranceXuxue Feng NEW
Smith M CaudyJapanIvan Magalhaes NEGOTIATION
Julie B CaldareraFranceAmy Elsner NEW
Antonio P BowleyArgentinaAnna Fali RENEWAL
Nicolas I SlusarskiAustraliaXuxue Feng RENEWAL
Ricardo S GillianGermanyStephen Shaw PROPOSAL
Nicolas R PaprockiGermanyAsiya Javayant UNQUALIFIED
Sinclair G RimAustraliaAmy Elsner QUALIFIED
Claire Q MaletAustraliaElwin Sharvill UNQUALIFIED
Kaitlin X AmigonGermanyStephen Shaw UNQUALIFIED
Deepesh G KolmetzArgentinaElwin Sharvill RENEWAL
Isabel Y StockhamJapanIvan Magalhaes PROPOSAL
Nicolas F AlbaresArgentinaElwin Sharvill NEGOTIATION
Leja U CampainAustraliaStephen Shaw RENEWAL
Izzy H BowleyUnited KingdomAnna Fali UNQUALIFIED
Cody F MorascaFranceIvan Magalhaes UNQUALIFIED
Salvatore G InouyeFranceAsiya Javayant NEGOTIATION
Morrow U WieserArgentinaStephen Shaw QUALIFIED
Antonio Q MacleadRussiaOnyama Limba PROPOSAL
Clifford A WaycottSpainBernardo Dominic NEGOTIATION
Jeanfrancois S GillianBrazilBernardo Dominic RENEWAL
Mayumi U RulapaughArgentinaIvan Magalhaes QUALIFIED
Deepesh L RutaSpainOnyama Limba PROPOSAL
Rodrigues I RimCanadaOnyama Limba QUALIFIED
Cody B AlbaresAustraliaAsiya Javayant NEGOTIATION
Francesco G MarrierBrazilAmy Elsner RENEWAL
Misaki G CaudySpainAmy Elsner NEGOTIATION
Kaitlin C SlusarskiCanadaIoni Bowcher NEGOTIATION
Jones R DilliardIndiaAsiya Javayant NEW
Ricardo X StockhamCanadaIvan Magalhaes PROPOSAL
Octavia Z GauchoArgentinaOnyama Limba RENEWAL
Izzy D BriddickJapanAsiya Javayant RENEWAL
Juan V SlusarskiIndiaOnyama Limba RENEWAL
Maria F BologniaCanadaAmy Elsner UNQUALIFIED
Deepesh G NickaUnited KingdomBernardo Dominic PROPOSAL
Mayumi D RoysterBrazilIoni Bowcher PROPOSAL
Murillo J FlosiJapanAmy Elsner NEW
Emily O CampainBrazilOnyama Limba RENEWAL
Aruna U GarufiJapanOnyama Limba RENEWAL
Aditya E CampainArgentinaBernardo Dominic RENEWAL
Johnson U CaudyIndiaIvan Magalhaes UNQUALIFIED
Morrow Z BologniaUnited KingdomIoni Bowcher NEW
Salvatore Y NestleItalyAmy Elsner NEGOTIATION
Julie U NickaArgentinaElwin Sharvill NEW
Jennifer R MaletIndiaAmy Elsner UNQUALIFIED
Antonio J ButtIndiaAnna Fali PROPOSAL
Smith N FollerAustraliaAsiya Javayant QUALIFIED
Francesco U MaletAustraliaAmy Elsner RENEWAL
Frozen Columns
Name
Wickens Y Rulapaugh
Jefferson E Rulapaugh
Murillo E Inouye
Salvatore A Perin
Juan M Slusarski
Munro W Figeroa
Ricardo Z Ruta
Munro W Gaucho
Leja X Iturbide
Kadeem K Caudy
Chavez M Doe
Ricardo H Dilliard
Izzy S Dilliard
Jones O Wieser
Stacey P Paprocki
Rodrigues Y Garufi
Deepesh T Oldroyd
Jones V Ferencz
Murillo N Slusarski
Aruna B Iturbide
Adams Q Darakjy
Mayumi U Caldarera
Antonio F Stenseth
Octavia N Malet
Julie G Malet
James Q Albares
Leja E Caldarera
Kaitlin R Flosi
Juan X Slusarski
Julie N Vocelka
Adams K Nestle
Wickens D Doe
Francesco E Saylors
Ricardo C Malet
Izzy B Kusko
Ricardo P Butt
Ivar Y Venere
Emily Z Shinko
Ricardo O Kusko
Johnson D Bowley
Julie W Stenseth
Aruna R Rim
Greenwood H Whobrey
Clifford G Maclead
Faith S Doe
Octavia X Foller
Jeanfrancois A Dilliard
Stacey R Chui
Adams C Rim
Faith D Iturbide
IdCountryDate
1000Australia2026-09-20
1001France2026-09-22
1002Russia2026-09-19
1003Canada2026-09-09
1004India2026-09-08
1005United Kingdom2026-09-26
1006Argentina2026-09-26
1007France2026-09-15
1008Italy2026-09-14
1009Brazil2026-09-19
1010United Kingdom2026-09-23
1011Brazil2026-09-20
1012Japan2026-10-01
1013India2026-09-11
1014United Kingdom2026-09-15
1015Argentina2026-09-18
1016United Kingdom2026-09-13
1017Argentina2026-09-29
1018France2026-09-07
1019Argentina2026-09-15
1020United Kingdom2026-09-21
1021Germany2026-09-26
1022Brazil2026-09-06
1023India2026-09-11
1024Russia2026-09-26
1025Japan2026-09-04
1026Germany2026-09-15
1027India2026-09-21
1028Argentina2026-09-20
1029Russia2026-09-06
1030Italy2026-09-12
1031France2026-09-18
1032Canada2026-09-16
1033Canada2026-09-22
1034France2026-09-08
1035Germany2026-09-28
1036United Kingdom2026-09-20
1037Brazil2026-10-02
1038Brazil2026-10-03
1039Brazil2026-09-19
1040Brazil2026-10-01
1041Germany2026-09-10
1042Argentina2026-09-20
1043Germany2026-09-17
1044Russia2026-09-10
1045India2026-09-13
1046Australia2026-09-09
1047India2026-09-22
1048Canada2026-09-06
1049India2026-09-20

On-Demand Data

NameIdCountryDate
Morrow W Figeroa1000Spain2026-09-24
Silvio S Caudy1001Brazil2026-09-26
David K Perin1002Australia2026-09-17
Izzy J Bolognia1003Argentina2026-09-24
Aika K Stockham1004Canada2026-09-08
Ashley G Royster1005United Kingdom2026-10-01
Mujtaba Z Saylors1006Russia2026-09-25
Octavia B Briddick1007Italy2026-09-25
Isabel N Ferencz1008United Kingdom2026-10-01
Nicolas L Shinko1009Brazil2026-09-29
Kaitlin D Paprocki1010Germany2026-09-17
Ashley I Campain1011India2026-10-02
Deepesh G Bowley1012Italy2026-09-27
Jennifer H Butt1013Brazil2026-09-24
Faith P Paprocki1014India2026-09-23
Adams G Shinko1015Italy2026-09-23
Greenwood Z Doe1016Canada2026-09-05
Mujtaba N Dilliard1017Spain2026-09-17
Jeanfrancois W Darakjy1018Australia2026-09-15
Alejandro I Tollner1019Spain2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo H WieserBrazilElwin Sharvill NEW
Ricardo G PoquetteArgentinaOnyama Limba QUALIFIED
Mujtaba R DilliardUnited KingdomStephen Shaw NEGOTIATION
Cody N GauchoArgentinaIvan Magalhaes NEW
Maisha Z ShinkoSpainOnyama Limba PROPOSAL
Alejandro V FigeroaArgentinaIvan Magalhaes RENEWAL
Maria S WhobreyGermanyOnyama Limba NEW
Rodrigues J AlbaresItalyBernardo Dominic QUALIFIED
Chavez A BologniaFranceXuxue Feng QUALIFIED
Wickens L PaprockiRussiaStephen Shaw NEGOTIATION
Aditya R OstroskyCanadaOnyama Limba QUALIFIED
Adams J VenereArgentinaAnna Fali PROPOSAL
Kaitlin J NickaCanadaStephen Shaw QUALIFIED
Mayumi U BowleyJapanOnyama Limba UNQUALIFIED
Tony M NickaItalyIoni Bowcher NEGOTIATION
Salvatore Y BriddickAustraliaAsiya Javayant UNQUALIFIED
Arvin E KuskoSpainIoni Bowcher NEW
Maisha C ChuiCanadaAsiya Javayant QUALIFIED
Nicolas R KuskoJapanAmy Elsner RENEWAL
Munro I StockhamUnited KingdomAnna Fali RENEWAL
Adams R DoeFranceIoni Bowcher NEW
Wickens T MacleadUnited KingdomAmy Elsner UNQUALIFIED
Chavez Q NickaUnited KingdomBernardo Dominic UNQUALIFIED
Munro W MaletIndiaAsiya Javayant RENEWAL
Ivar P MacleadBrazilAmy Elsner PROPOSAL
Antonio Y WhobreySpainAsiya Javayant PROPOSAL
Silvio R FigeroaSpainAnna Fali QUALIFIED
Sinclair L TollnerCanadaBernardo Dominic QUALIFIED
Ricardo V KolmetzSpainStephen Shaw NEGOTIATION
Cody C IturbideBrazilOnyama Limba NEW
Antonio R GarufiItalyElwin Sharvill RENEWAL
Wickens M ShinkoBrazilAsiya Javayant QUALIFIED
Jefferson V OstroskyAustraliaAnna Fali UNQUALIFIED
Izzy B SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Leja M BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Ivar B FlosiRussiaBernardo Dominic QUALIFIED
Munro R AmigonArgentinaAmy Elsner UNQUALIFIED
Julie C PoquetteRussiaElwin Sharvill NEGOTIATION
Leja Y RutaAustraliaIoni Bowcher RENEWAL
Ricardo H MarrierBrazilAsiya Javayant 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>