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
Arvin V OldroydGermanyElwin Sharvill NEW
Jones S MaletItalyIoni Bowcher NEW
Jefferson Z DilliardItalyBernardo Dominic NEGOTIATION
Darci N VocelkaCanadaStephen Shaw PROPOSAL
David F PerinUnited KingdomElwin Sharvill PROPOSAL
Aditya E MaletArgentinaXuxue Feng UNQUALIFIED
David H AlbaresArgentinaBernardo Dominic NEW
Kaitlin V GillianUnited KingdomXuxue Feng NEGOTIATION
James Q SlusarskiItalyAmy Elsner RENEWAL
Antonio R MorascaUnited KingdomIoni Bowcher NEGOTIATION
Alejandro O FigeroaJapanAmy Elsner NEW
Kadeem F BologniaArgentinaAmy Elsner RENEWAL
Deepesh K CampainBrazilStephen Shaw QUALIFIED
Murillo Z NestleAustraliaAmy Elsner UNQUALIFIED
Kaitlin O FollerUnited KingdomIvan Magalhaes NEW
Tony M DilliardSpainElwin Sharvill PROPOSAL
Smith P IturbideCanadaBernardo Dominic NEGOTIATION
Kaitlin B NestleItalyXuxue Feng UNQUALIFIED
Jefferson D AmigonItalyAmy Elsner RENEWAL
Cody G BriddickRussiaAnna Fali NEW
Juan D GauchoItalyStephen Shaw UNQUALIFIED
Claire P FlosiUnited KingdomElwin Sharvill NEW
Kaitlin V SergiArgentinaBernardo Dominic RENEWAL
Mayumi V MaletGermanyElwin Sharvill QUALIFIED
Aika Q DarakjyGermanyStephen Shaw NEGOTIATION
Mayumi P DoeUnited KingdomIoni Bowcher PROPOSAL
Murillo I BowleyRussiaIoni Bowcher NEGOTIATION
Misaki Y GillianSpainIoni Bowcher PROPOSAL
Mayumi E ButtJapanOnyama Limba NEGOTIATION
Faith O GlickGermanyIoni Bowcher UNQUALIFIED
Jones A RulapaughGermanyBernardo Dominic PROPOSAL
Tony O KolmetzRussiaAsiya Javayant NEGOTIATION
Murillo T InouyeGermanyXuxue Feng QUALIFIED
Salvatore U BowleySpainBernardo Dominic NEW
Silvio U InouyeCanadaElwin Sharvill RENEWAL
Jennifer M NestleIndiaIvan Magalhaes QUALIFIED
Sinclair C StockhamCanadaIoni Bowcher UNQUALIFIED
James A VenereSpainAnna Fali RENEWAL
Jefferson W MaletFranceOnyama Limba NEGOTIATION
Morrow X DilliardItalyIvan Magalhaes RENEWAL
Jeanfrancois U BowleyCanadaXuxue Feng NEW
Greenwood R ButtArgentinaBernardo Dominic PROPOSAL
Leja Z ButtFranceXuxue Feng UNQUALIFIED
Alejandro D PoquetteIndiaAnna Fali RENEWAL
Silvio D SlusarskiItalyXuxue Feng UNQUALIFIED
Stacey C MacleadRussiaStephen Shaw PROPOSAL
Jennifer P BowleyArgentinaAsiya Javayant NEGOTIATION
Kaitlin B IturbideBrazilXuxue Feng UNQUALIFIED
Chavez X BowleyGermanyIvan Magalhaes QUALIFIED
Francesco J IturbideItalyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody Q StockhamRussiaIvan Magalhaes NEGOTIATION
Kadeem H InouyeItalyAsiya Javayant NEGOTIATION
Kadeem L BriddickGermanyXuxue Feng NEGOTIATION
James F RimJapanXuxue Feng NEGOTIATION
Deepesh V AmigonJapanAmy Elsner QUALIFIED
Francesco C MarrierJapanElwin Sharvill PROPOSAL
Jennifer C MaletCanadaIvan Magalhaes QUALIFIED
Rodrigues M RimFranceBernardo Dominic RENEWAL
Jefferson W RulapaughGermanyAnna Fali QUALIFIED
Wickens Z BologniaAustraliaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba Q FollerUnited Kingdom2026-10-14Truhlar And Truhlar Attys PROPOSAL17Ivan Magalhaes
1001Ricardo W StensethJapan2026-09-28Benton, John B Jr NEW90Asiya Javayant
1002Jefferson U CaudyFrance2026-09-25Chanay, Jeffrey A Esq UNQUALIFIED32Ivan Magalhaes
1003Deepesh V WieserBrazil2026-10-10Dorl, James J Esq NEGOTIATION1Xuxue Feng
1004Salvatore Z NickaAustralia2026-10-03King, Christopher A Esq RENEWAL32Anna Fali
1005Maisha R SergiCanada2026-10-08Printing Dimensions RENEWAL1Elwin Sharvill
1006Murillo X StockhamGermany2026-10-17Buckley Miller Wright NEW16Asiya Javayant
1007Francesco W GauchoUnited Kingdom2026-09-23Chemel, James L Cpa RENEWAL9Onyama Limba
1008Isabel K GlickCanada2026-09-23Chapman, Ross E Esq NEW92Asiya Javayant
1009Kadeem I RutaBrazil2026-10-03Chanay, Jeffrey A Esq UNQUALIFIED27Onyama Limba
1010Salvatore W FigeroaUnited Kingdom2026-10-01Dorl, James J Esq QUALIFIED9Anna Fali
1011Ricardo K AmigonUnited Kingdom2026-09-30Chemel, James L Cpa PROPOSAL0Anna Fali
1012Costa Q GarufiRussia2026-10-09Truhlar And Truhlar Attys QUALIFIED0Ivan Magalhaes
1013Salvatore L ButtFrance2026-10-04Commercial Press UNQUALIFIED11Ivan Magalhaes
1014Wickens U InouyeJapan2026-09-24Chapman, Ross E Esq UNQUALIFIED98Ioni Bowcher
1015Francesco J RoysterUnited Kingdom2026-10-05Dorl, James J Esq NEGOTIATION26Ivan Magalhaes
1016David G CampainUnited Kingdom2026-10-17Commercial Press RENEWAL3Onyama Limba
1017Claire W RimGermany2026-10-13Chemel, James L Cpa UNQUALIFIED13Ioni Bowcher
1018Jeanfrancois I VocelkaIndia2026-10-15Dorl, James J Esq NEGOTIATION73Amy Elsner
1019Isabel A GillianItaly2026-10-09Commercial Press UNQUALIFIED29Asiya Javayant
1020Leon L BologniaGermany2026-10-09Feltz Printing Service NEGOTIATION39Xuxue Feng
1021Misaki C SergiSpain2026-10-13Dorl, James J Esq QUALIFIED21Ivan Magalhaes
1022Antonio X RutaItaly2026-10-09Commercial Press NEGOTIATION64Xuxue Feng
1023Greenwood K GauchoJapan2026-09-26Feltz Printing Service PROPOSAL95Xuxue Feng
1024Murillo P GlickUnited Kingdom2026-10-04Feltz Printing Service NEGOTIATION98Anna Fali
1025Murillo B SaylorsRussia2026-10-20Chemel, James L Cpa NEW89Elwin Sharvill
1026Salvatore S GillianIndia2026-09-23Morlong Associates PROPOSAL27Bernardo Dominic
1027Wickens M VenereUnited Kingdom2026-10-10Feltz Printing Service QUALIFIED27Stephen Shaw
1028Isabel E PaprockiIndia2026-10-14Chemel, James L Cpa UNQUALIFIED78Ivan Magalhaes
1029Ricardo Z FollerJapan2026-09-24Rangoni Of Florence NEGOTIATION37Anna Fali
1030Salvatore M GillianSpain2026-09-25Rousseaux, Michael Esq UNQUALIFIED49Elwin Sharvill
1031Misaki L FigeroaGermany2026-10-02Dorl, James J Esq UNQUALIFIED17Asiya Javayant
1032Juan P CaudyCanada2026-10-08Commercial Press RENEWAL25Ivan Magalhaes
1033Ivar I InouyeSpain2026-09-29Dorl, James J Esq QUALIFIED1Xuxue Feng
1034Tony Z WhobreyBrazil2026-10-03King, Christopher A Esq QUALIFIED24Elwin Sharvill
1035Tony O WieserBrazil2026-09-25Dorl, James J Esq UNQUALIFIED13Xuxue Feng
1036Jeanfrancois O KolmetzUnited Kingdom2026-10-06Morlong Associates UNQUALIFIED73Onyama Limba
1037Aruna V AmigonUnited Kingdom2026-10-05Morlong Associates RENEWAL21Asiya Javayant
1038Arvin N DarakjyRussia2026-09-29King, Christopher A Esq NEGOTIATION49Asiya Javayant
1039Greenwood N MaletFrance2026-10-06Chapman, Ross E Esq RENEWAL29Onyama Limba
1040Alejandro M WaycottSpain2026-10-02Dorl, James J Esq QUALIFIED41Ivan Magalhaes
1041Aika R PoquetteFrance2026-10-21Chapman, Ross E Esq PROPOSAL51Xuxue Feng
1042Claire O GillianAustralia2026-10-07Printing Dimensions NEGOTIATION31Xuxue Feng
1043Aditya P OstroskyBrazil2026-10-02Rangoni Of Florence QUALIFIED73Asiya Javayant
1044Ivar B CaldareraRussia2026-10-11Benton, John B Jr NEW31Amy Elsner
1045Alejandro X SlusarskiFrance2026-10-05Dorl, James J Esq RENEWAL40Onyama Limba
1046Chavez W BowleyAustralia2026-09-29Chanay, Jeffrey A Esq NEW16Ivan Magalhaes
1047Mujtaba K MorascaFrance2026-10-08Chapman, Ross E Esq QUALIFIED37Ioni Bowcher
1048Claire V PerinCanada2026-10-11Commercial Press RENEWAL9Xuxue Feng
1049Octavia L OldroydItaly2026-10-18Rousseaux, Michael Esq PROPOSAL80Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Costa P ButtArgentinaElwin Sharvill PROPOSAL
Nicolas X WieserItalyBernardo Dominic PROPOSAL
Adams N CaudyUnited KingdomAsiya Javayant RENEWAL
Misaki X CampainItalyAmy Elsner PROPOSAL
David K FlosiFranceElwin Sharvill NEGOTIATION
James B WaycottIndiaAsiya Javayant RENEWAL
Claire K WieserFranceElwin Sharvill PROPOSAL
Morrow Z AlbaresSpainIoni Bowcher RENEWAL
Murillo J CaudyIndiaAsiya Javayant NEGOTIATION
Ashley G WaycottUnited KingdomXuxue Feng UNQUALIFIED
Jennifer T RoysterUnited KingdomAmy Elsner NEGOTIATION
Jones F FollerUnited KingdomOnyama Limba RENEWAL
Izzy I MaletJapanStephen Shaw NEW
Greenwood S AmigonCanadaBernardo Dominic PROPOSAL
Costa Z PerinRussiaOnyama Limba PROPOSAL
Aruna E ChuiGermanyOnyama Limba UNQUALIFIED
David B OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Aruna U GillianJapanStephen Shaw NEGOTIATION
Adams D WieserJapanStephen Shaw NEGOTIATION
Aditya I SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Murillo B WhobreyCanadaAnna Fali NEGOTIATION
Kadeem X VocelkaArgentinaIoni Bowcher NEW
Clifford S SaylorsIndiaAnna Fali PROPOSAL
Antonio B PoquetteArgentinaAnna Fali QUALIFIED
Arvin V IturbideAustraliaStephen Shaw RENEWAL
Johnson C GarufiItalyAmy Elsner NEW
Leon Y WaycottUnited KingdomIvan Magalhaes PROPOSAL
Leja A SchemmerBrazilAmy Elsner RENEWAL
Morrow C AlbaresCanadaXuxue Feng QUALIFIED
Jones K ButtArgentinaAsiya Javayant PROPOSAL
Clifford Y DilliardFranceAsiya Javayant NEGOTIATION
Tony Y KuskoFranceAnna Fali NEW
Francesco P ButtBrazilElwin Sharvill NEGOTIATION
Izzy G SchemmerUnited KingdomStephen Shaw NEGOTIATION
Salvatore O ShinkoJapanStephen Shaw NEGOTIATION
Munro Q SlusarskiRussiaOnyama Limba RENEWAL
Murillo N CampainFranceStephen Shaw UNQUALIFIED
Julie X IturbideItalyAsiya Javayant NEGOTIATION
Kadeem H DilliardSpainBernardo Dominic RENEWAL
Maria Q InouyeBrazilAmy Elsner RENEWAL
Leja D VocelkaArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois Y SaylorsAustraliaAnna Fali UNQUALIFIED
Jeanfrancois D OldroydAustraliaOnyama Limba RENEWAL
Jennifer O KolmetzFranceAsiya Javayant NEW
Claire T CampainItalyBernardo Dominic UNQUALIFIED
Murillo M ChuiIndiaStephen Shaw NEW
Emily L PerinItalyStephen Shaw NEGOTIATION
James S SergiItalyOnyama Limba UNQUALIFIED
Jones B AmigonGermanyBernardo Dominic PROPOSAL
Faith U CaudyJapanBernardo Dominic PROPOSAL
Frozen Columns
Name
Francesco T Venere
Leja R Malet
Ricardo L Perin
Sinclair N Waycott
Deepesh V Stenseth
Morrow T Butt
Jones E Flosi
Kadeem B Butt
Silvio O Glick
Rodrigues R Nicka
Clifford U Ruta
Wickens B Sergi
Stacey W Poquette
Silvio M Dilliard
Morrow S Rim
Faith H Chui
Wickens D Campain
Leon A Kusko
Cody I Whobrey
Sinclair W Butt
Nicolas M Sergi
Jeanfrancois S Campain
Rodrigues S Garufi
Arvin Y Darakjy
Emily I Inouye
Murillo G Caldarera
Ricardo U Waycott
Claire V Briddick
Silvio S Doe
Munro B Shinko
Emily Z Schemmer
Leon W Stenseth
Alejandro N Marrier
Adams Y Royster
Emily R Figeroa
Nicolas U Campain
Smith O Slusarski
Arvin O Garufi
Ivar O Glick
Izzy L Bolognia
Maria C Vocelka
Arvin R Garufi
Adams J Caudy
Salvatore U Wieser
Stacey Z Saylors
Mujtaba R Flosi
Maria C Saylors
Izzy C Maclead
Chavez F Schemmer
Misaki Y Vocelka
IdCountryDate
1000Brazil2026-09-24
1001Germany2026-10-13
1002Australia2026-10-13
1003Russia2026-10-06
1004France2026-09-28
1005Canada2026-10-21
1006Brazil2026-10-01
1007Argentina2026-10-15
1008Germany2026-10-09
1009Australia2026-10-02
1010Spain2026-10-07
1011Australia2026-09-30
1012United Kingdom2026-10-19
1013Australia2026-10-14
1014India2026-10-02
1015France2026-10-09
1016Italy2026-10-19
1017France2026-10-17
1018Canada2026-10-17
1019Brazil2026-10-16
1020Russia2026-10-01
1021India2026-09-23
1022France2026-09-30
1023Japan2026-10-13
1024Germany2026-09-27
1025France2026-10-16
1026Argentina2026-10-08
1027Brazil2026-10-21
1028Brazil2026-09-28
1029India2026-10-18
1030Russia2026-10-20
1031Russia2026-09-23
1032United Kingdom2026-10-21
1033India2026-10-07
1034Italy2026-10-15
1035Italy2026-10-03
1036France2026-10-17
1037Brazil2026-10-03
1038Germany2026-10-14
1039Japan2026-10-17
1040Brazil2026-10-10
1041Russia2026-09-29
1042Germany2026-10-14
1043France2026-09-24
1044Brazil2026-10-15
1045Russia2026-10-22
1046Russia2026-10-12
1047Italy2026-09-26
1048Spain2026-09-24
1049Italy2026-10-05

On-Demand Data

NameIdCountryDate
Aditya M Caudy1000France2026-10-13
Jennifer P Gillian1001Germany2026-09-25
Aika S Tollner1002Spain2026-09-29
Maisha E Kusko1003Argentina2026-09-25
Emily M Amigon1004Argentina2026-10-04
Jennifer K Briddick1005Brazil2026-10-09
Smith C Shinko1006Japan2026-10-12
Jeanfrancois W Stenseth1007Spain2026-10-18
Claire B Campain1008Canada2026-10-18
David Z Inouye1009Spain2026-09-30
Rodrigues Z Darakjy1010Argentina2026-09-28
Claire P Caldarera1011Germany2026-10-11
David R Inouye1012Brazil2026-10-02
Faith W Poquette1013United Kingdom2026-10-20
Sinclair P Darakjy1014France2026-10-05
James C Vocelka1015Spain2026-10-09
Aditya P Figeroa1016Canada2026-09-28
Silvio U Saylors1017Germany2026-10-03
Aruna R Morasca1018Australia2026-10-14
Claire P Waycott1019Brazil2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony E SlusarskiRussiaIvan Magalhaes NEGOTIATION
Smith S PaprockiIndiaOnyama Limba RENEWAL
Chavez T StensethSpainAnna Fali RENEWAL
Mujtaba K NestleFranceAnna Fali QUALIFIED
Izzy C ButtCanadaXuxue Feng NEGOTIATION
Jeanfrancois I FigeroaCanadaAmy Elsner RENEWAL
Munro F VenereCanadaAmy Elsner UNQUALIFIED
Greenwood V AlbaresFranceIvan Magalhaes RENEWAL
Misaki H SlusarskiAustraliaStephen Shaw NEW
Johnson Z DoeSpainElwin Sharvill NEW
Aditya S OstroskyCanadaElwin Sharvill PROPOSAL
Alejandro E RulapaughUnited KingdomAnna Fali RENEWAL
Silvio W GauchoIndiaBernardo Dominic UNQUALIFIED
Aruna P RimArgentinaAmy Elsner PROPOSAL
Octavia E AmigonAustraliaElwin Sharvill UNQUALIFIED
Leon N KolmetzArgentinaOnyama Limba NEGOTIATION
Morrow C CaldareraSpainAsiya Javayant NEGOTIATION
Julie G OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Murillo H PerinGermanyAnna Fali RENEWAL
Izzy Q PoquetteJapanElwin Sharvill UNQUALIFIED
Isabel I PoquetteFranceXuxue Feng QUALIFIED
Jeanfrancois E StensethArgentinaXuxue Feng RENEWAL
Emily Z FerenczCanadaIoni Bowcher QUALIFIED
Ashley C KuskoCanadaIvan Magalhaes NEGOTIATION
David B SergiUnited KingdomStephen Shaw NEW
Greenwood U RimCanadaOnyama Limba UNQUALIFIED
Misaki J BologniaUnited KingdomAsiya Javayant QUALIFIED
Claire M InouyeAustraliaAnna Fali RENEWAL
Wickens Q IturbideArgentinaStephen Shaw QUALIFIED
Morrow U WaycottRussiaElwin Sharvill NEW
Silvio G GillianAustraliaBernardo Dominic UNQUALIFIED
Izzy G FerenczIndiaIoni Bowcher PROPOSAL
Stacey G PerinItalyAmy Elsner NEGOTIATION
Ashley E GillianSpainOnyama Limba UNQUALIFIED
Juan K RoysterItalyIoni Bowcher NEW
Antonio K NestleBrazilBernardo Dominic QUALIFIED
Ricardo C ChuiIndiaXuxue Feng PROPOSAL
Jefferson H InouyeSpainAsiya Javayant NEW
Mayumi L SaylorsAustraliaOnyama Limba QUALIFIED
Maisha O InouyeFranceAnna Fali 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>