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 V NestleAustraliaOnyama Limba PROPOSAL
Darci I BriddickGermanyIvan Magalhaes QUALIFIED
Clifford P MaletBrazilXuxue Feng NEW
Morrow B RimRussiaAmy Elsner RENEWAL
Nicolas K SaylorsFranceElwin Sharvill NEW
Silvio P GlickBrazilIoni Bowcher RENEWAL
Kaitlin I DilliardSpainXuxue Feng NEW
Darci I SchemmerFranceBernardo Dominic RENEWAL
Mujtaba W RimSpainIoni Bowcher QUALIFIED
Jennifer N KuskoUnited KingdomIoni Bowcher QUALIFIED
Maria Z IturbideGermanyAnna Fali NEGOTIATION
Octavia T GarufiIndiaStephen Shaw QUALIFIED
Misaki P SaylorsCanadaElwin Sharvill UNQUALIFIED
Ricardo I ChuiAustraliaAsiya Javayant UNQUALIFIED
Maria B VocelkaFranceAnna Fali NEGOTIATION
Cody L StensethArgentinaIoni Bowcher RENEWAL
Isabel I GauchoArgentinaXuxue Feng UNQUALIFIED
David M WieserSpainAnna Fali NEGOTIATION
Mayumi F FerenczUnited KingdomAmy Elsner UNQUALIFIED
Francesco I TollnerAustraliaAsiya Javayant NEW
James Q KolmetzItalyBernardo Dominic NEW
Claire R BologniaUnited KingdomAmy Elsner UNQUALIFIED
Adams M FerenczGermanyAsiya Javayant RENEWAL
Wickens Q OstroskyJapanOnyama Limba PROPOSAL
Adams G StockhamAustraliaElwin Sharvill NEGOTIATION
Darci K MacleadUnited KingdomIoni Bowcher QUALIFIED
Costa C CaudyItalyAmy Elsner PROPOSAL
Mujtaba B GlickRussiaAsiya Javayant UNQUALIFIED
Maisha Z FlosiBrazilXuxue Feng NEGOTIATION
Mayumi T GillianIndiaIoni Bowcher NEW
Costa T RutaBrazilAsiya Javayant NEW
Julie U ButtIndiaElwin Sharvill NEW
Murillo B GillianRussiaAsiya Javayant RENEWAL
Greenwood O FlosiUnited KingdomOnyama Limba NEW
Greenwood V CampainArgentinaAsiya Javayant NEW
Kaitlin X PerinSpainOnyama Limba UNQUALIFIED
Mayumi I GillianJapanAmy Elsner UNQUALIFIED
Wickens Q WhobreySpainAnna Fali NEGOTIATION
Johnson Z MorascaAustraliaAsiya Javayant PROPOSAL
Emily K WieserRussiaAmy Elsner NEW
Kadeem U WieserRussiaAsiya Javayant QUALIFIED
Izzy K MaletUnited KingdomIoni Bowcher NEGOTIATION
Leja Q TollnerRussiaElwin Sharvill QUALIFIED
Chavez Y StensethSpainAmy Elsner UNQUALIFIED
Wickens H DarakjyRussiaAnna Fali NEGOTIATION
Claire X WaycottRussiaXuxue Feng NEGOTIATION
Johnson T AlbaresArgentinaAmy Elsner PROPOSAL
Antonio S SchemmerSpainXuxue Feng RENEWAL
Darci U OldroydBrazilIoni Bowcher RENEWAL
Darci W PaprockiSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Wickens C CaldareraSpainBernardo Dominic RENEWAL
Smith B BriddickRussiaIvan Magalhaes NEGOTIATION
Johnson L GarufiAustraliaAmy Elsner UNQUALIFIED
Ashley X KolmetzJapanStephen Shaw UNQUALIFIED
Ivar J RulapaughSpainIvan Magalhaes NEW
Aruna Q MorascaRussiaAnna Fali UNQUALIFIED
Jones R ShinkoBrazilBernardo Dominic UNQUALIFIED
Faith A NestleCanadaIvan Magalhaes PROPOSAL
Claire G StockhamSpainOnyama Limba NEW
Smith S WieserIndiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh S FerenczArgentina2026-09-14Feiner Bros UNQUALIFIED32Bernardo Dominic
1001Kadeem A SchemmerArgentina2026-09-11King, Christopher A Esq PROPOSAL20Ioni Bowcher
1002Wickens G MorascaRussia2026-09-25Morlong Associates NEGOTIATION60Onyama Limba
1003Nicolas H FollerArgentina2026-09-20Buckley Miller Wright QUALIFIED54Amy Elsner
1004Aditya U CampainSpain2026-09-23Buckley Miller Wright NEGOTIATION0Ivan Magalhaes
1005Arvin S RutaJapan2026-10-05Feiner Bros NEW79Xuxue Feng
1006Emily C MaletGermany2026-09-23Morlong Associates PROPOSAL85Anna Fali
1007James E WhobreyAustralia2026-09-29Morlong Associates PROPOSAL42Stephen Shaw
1008Smith W ChuiArgentina2026-10-05Commercial Press RENEWAL66Asiya Javayant
1009Johnson W GlickFrance2026-09-21Truhlar And Truhlar Attys RENEWAL13Xuxue Feng
1010Wickens A DarakjyCanada2026-09-26Feiner Bros UNQUALIFIED97Stephen Shaw
1011Emily D DoeFrance2026-09-08Chemel, James L Cpa NEGOTIATION28Anna Fali
1012Leon R MaletJapan2026-09-07Chemel, James L Cpa RENEWAL63Ioni Bowcher
1013Salvatore W SergiUnited Kingdom2026-10-04Benton, John B Jr NEW50Amy Elsner
1014Mayumi S ChuiFrance2026-09-20King, Christopher A Esq NEGOTIATION31Anna Fali
1015Deepesh Y WieserAustralia2026-09-09Truhlar And Truhlar Attys PROPOSAL43Xuxue Feng
1016David X RulapaughGermany2026-09-09Rangoni Of Florence RENEWAL63Anna Fali
1017Silvio O CampainFrance2026-10-05Chanay, Jeffrey A Esq RENEWAL3Stephen Shaw
1018Stacey L PoquetteUnited Kingdom2026-09-24Chemel, James L Cpa RENEWAL7Bernardo Dominic
1019Ashley X KolmetzJapan2026-10-01Truhlar And Truhlar Attys PROPOSAL69Anna Fali
1020Greenwood C KolmetzFrance2026-10-04Printing Dimensions NEGOTIATION24Amy Elsner
1021Jefferson E FollerCanada2026-09-16Chapman, Ross E Esq NEGOTIATION21Asiya Javayant
1022Jeanfrancois M MarrierIndia2026-09-25Rousseaux, Michael Esq QUALIFIED2Ivan Magalhaes
1023Ricardo K BriddickCanada2026-10-01Rangoni Of Florence NEW63Ioni Bowcher
1024Izzy L FollerCanada2026-10-05Chemel, James L Cpa NEGOTIATION26Asiya Javayant
1025Kadeem G VenereGermany2026-10-03Commercial Press RENEWAL63Elwin Sharvill
1026Octavia C KuskoCanada2026-09-28Buckley Miller Wright RENEWAL20Onyama Limba
1027Jennifer Y ChuiFrance2026-09-15Chanay, Jeffrey A Esq NEW71Ivan Magalhaes
1028Aditya L OstroskyItaly2026-10-05Feltz Printing Service QUALIFIED63Anna Fali
1029Smith U OldroydBrazil2026-09-18Dorl, James J Esq NEW66Xuxue Feng
1030Adams B DarakjyRussia2026-10-04Commercial Press UNQUALIFIED36Elwin Sharvill
1031Clifford L GillianIndia2026-09-15Chanay, Jeffrey A Esq NEW48Xuxue Feng
1032Aditya Q ChuiItaly2026-09-19Chemel, James L Cpa PROPOSAL12Anna Fali
1033Greenwood T KuskoAustralia2026-10-02Rousseaux, Michael Esq NEGOTIATION98Stephen Shaw
1034Greenwood I BriddickGermany2026-10-01Chemel, James L Cpa PROPOSAL90Bernardo Dominic
1035Isabel H WaycottIndia2026-09-19Chemel, James L Cpa NEW6Xuxue Feng
1036Ricardo Q NickaCanada2026-09-15Rousseaux, Michael Esq NEGOTIATION61Elwin Sharvill
1037Chavez Z BriddickAustralia2026-09-17Morlong Associates NEW30Bernardo Dominic
1038Mayumi F ButtSpain2026-09-27Chanay, Jeffrey A Esq NEGOTIATION56Bernardo Dominic
1039Deepesh Q GillianRussia2026-10-02Rangoni Of Florence NEGOTIATION13Stephen Shaw
1040Emily N KolmetzFrance2026-09-18Chapman, Ross E Esq NEGOTIATION79Xuxue Feng
1041Kaitlin G RulapaughRussia2026-09-22Chanay, Jeffrey A Esq PROPOSAL9Bernardo Dominic
1042Wickens I StensethGermany2026-09-12King, Christopher A Esq QUALIFIED8Asiya Javayant
1043Antonio E CampainItaly2026-09-13Truhlar And Truhlar Attys RENEWAL66Xuxue Feng
1044James I MaletRussia2026-10-03Printing Dimensions UNQUALIFIED3Xuxue Feng
1045Jeanfrancois K FlosiAustralia2026-09-28Chanay, Jeffrey A Esq NEW95Amy Elsner
1046Arvin N KuskoJapan2026-09-24Chapman, Ross E Esq QUALIFIED12Bernardo Dominic
1047Aruna K FerenczFrance2026-09-23Printing Dimensions NEW78Bernardo Dominic
1048Sinclair K DilliardArgentina2026-10-05Buckley Miller Wright PROPOSAL20Ioni Bowcher
1049Munro Z NestleArgentina2026-09-26Dorl, James J Esq NEGOTIATION28Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy F AlbaresJapanIvan Magalhaes NEW
Morrow Z StensethItalyBernardo Dominic NEGOTIATION
Morrow B CaldareraFranceIoni Bowcher RENEWAL
Clifford V PerinFranceXuxue Feng PROPOSAL
James N AlbaresJapanStephen Shaw RENEWAL
Ricardo L RulapaughBrazilBernardo Dominic UNQUALIFIED
Ivar G VenereArgentinaAmy Elsner RENEWAL
Izzy F MaletItalyXuxue Feng QUALIFIED
Claire X SlusarskiBrazilAmy Elsner QUALIFIED
Aika Z AmigonAustraliaBernardo Dominic QUALIFIED
Emily C BowleyJapanAnna Fali QUALIFIED
Sinclair W PoquetteBrazilOnyama Limba PROPOSAL
Aditya G AlbaresJapanAnna Fali UNQUALIFIED
Mayumi U PerinGermanyIvan Magalhaes NEGOTIATION
Faith B SaylorsRussiaOnyama Limba QUALIFIED
Tony S MorascaGermanyElwin Sharvill PROPOSAL
Izzy S VenereGermanyOnyama Limba RENEWAL
Jeanfrancois C BowleyItalyIoni Bowcher NEW
Mujtaba I GillianCanadaAmy Elsner NEW
Kaitlin O MorascaSpainAnna Fali UNQUALIFIED
Alejandro W CampainUnited KingdomAmy Elsner QUALIFIED
Stacey W RoysterAustraliaAsiya Javayant NEGOTIATION
Chavez C OstroskyGermanyStephen Shaw PROPOSAL
Adams U PaprockiIndiaBernardo Dominic UNQUALIFIED
Izzy L TollnerIndiaAmy Elsner NEGOTIATION
Emily Q ButtFranceBernardo Dominic NEGOTIATION
Faith H ButtIndiaBernardo Dominic PROPOSAL
Juan S MaletAustraliaXuxue Feng NEGOTIATION
Aruna R ButtAustraliaIvan Magalhaes QUALIFIED
Emily J DarakjyGermanyIvan Magalhaes QUALIFIED
Jeanfrancois R DoeUnited KingdomIvan Magalhaes QUALIFIED
Maria Y MacleadIndiaXuxue Feng PROPOSAL
Maisha P ShinkoCanadaElwin Sharvill RENEWAL
Wickens Q NickaJapanIvan Magalhaes RENEWAL
Deepesh N FollerFranceOnyama Limba NEGOTIATION
Leja U FerenczUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin P NestleItalyAnna Fali UNQUALIFIED
Stacey K VenereCanadaAmy Elsner UNQUALIFIED
Isabel O KolmetzJapanElwin Sharvill UNQUALIFIED
Tony S WieserBrazilStephen Shaw NEW
Claire R VocelkaGermanyAmy Elsner NEGOTIATION
Claire B ButtCanadaIvan Magalhaes PROPOSAL
Tony R PoquetteRussiaOnyama Limba NEW
Mujtaba M WhobreySpainAsiya Javayant PROPOSAL
Aditya U TollnerAustraliaXuxue Feng NEW
Kadeem N MarrierRussiaAmy Elsner NEGOTIATION
Tony Q CaudyFranceStephen Shaw QUALIFIED
Greenwood N RutaArgentinaOnyama Limba QUALIFIED
Misaki C RutaSpainIoni Bowcher RENEWAL
Misaki A OstroskyCanadaOnyama Limba PROPOSAL
Frozen Columns
Name
Mayumi K Caudy
Francesco S Slusarski
Deepesh Z Wieser
Claire X Kusko
Morrow Z Albares
Munro G Perin
Aditya L Chui
Greenwood J Gaucho
Jennifer Q Maclead
Mujtaba R Stenseth
Wickens F Caudy
Mujtaba D Whobrey
Juan Z Maclead
Julie D Saylors
Aika H Nicka
Faith Z Shinko
Silvio M Royster
Alejandro J Caldarera
Isabel A Kolmetz
Leon K Inouye
Stacey A Albares
Wickens T Dilliard
Isabel D Chui
Maisha U Chui
Juan C Dilliard
Misaki M Oldroyd
James E Ferencz
David F Rim
Aika L Albares
Chavez C Gaucho
Ricardo D Tollner
Stacey U Iturbide
Ashley S Caldarera
Chavez U Ruta
Aika B Darakjy
Ivar C Shinko
David Z Malet
Rodrigues Y Waycott
Claire L Ostrosky
Emily L Kusko
Emily P Whobrey
Jefferson S Royster
Jeanfrancois S Slusarski
Jones Y Stockham
Clifford Q Figeroa
Cody D Nicka
Chavez F Malet
Mujtaba W Briddick
Claire S Paprocki
Arvin Q Amigon
IdCountryDate
1000Spain2026-09-25
1001Japan2026-10-05
1002Australia2026-09-22
1003Brazil2026-09-12
1004Russia2026-09-21
1005Canada2026-09-30
1006Canada2026-10-04
1007Australia2026-09-24
1008Australia2026-10-05
1009Germany2026-09-25
1010United Kingdom2026-10-06
1011United Kingdom2026-09-17
1012Germany2026-09-30
1013Russia2026-10-02
1014Argentina2026-09-22
1015Canada2026-09-15
1016Japan2026-09-17
1017Brazil2026-10-02
1018Spain2026-10-01
1019Russia2026-09-29
1020United Kingdom2026-09-21
1021France2026-09-12
1022Germany2026-09-13
1023Germany2026-09-24
1024France2026-09-29
1025United Kingdom2026-09-30
1026France2026-09-10
1027Spain2026-09-14
1028India2026-09-22
1029France2026-09-27
1030Australia2026-09-07
1031Argentina2026-09-08
1032Italy2026-09-16
1033Canada2026-09-26
1034Canada2026-10-06
1035India2026-09-07
1036India2026-09-21
1037Italy2026-09-12
1038Japan2026-09-25
1039France2026-10-06
1040Russia2026-09-07
1041Germany2026-09-25
1042Brazil2026-09-21
1043Spain2026-09-17
1044Spain2026-09-09
1045Germany2026-09-20
1046Argentina2026-09-23
1047Australia2026-09-30
1048Australia2026-10-06
1049India2026-09-16

On-Demand Data

NameIdCountryDate
Isabel C Dilliard1000Argentina2026-09-07
Isabel Y Bowley1001United Kingdom2026-09-29
Wickens Z Maclead1002Spain2026-09-20
Jones I Whobrey1003Argentina2026-09-18
David O Nestle1004France2026-10-03
David N Amigon1005United Kingdom2026-09-20
Ivar E Kolmetz1006France2026-09-21
Kadeem Z Ostrosky1007Argentina2026-09-29
Tony V Whobrey1008India2026-09-20
Munro Y Vocelka1009Australia2026-09-21
Faith T Oldroyd1010Russia2026-09-18
Aika C Amigon1011France2026-09-14
Isabel B Malet1012United Kingdom2026-09-12
Mujtaba T Glick1013France2026-09-17
Misaki C Bowley1014France2026-10-03
Jefferson X Inouye1015India2026-09-21
Maria Y Ruta1016Argentina2026-09-24
Sinclair C Kusko1017Germany2026-09-19
Misaki E Iturbide1018Brazil2026-09-08
Morrow E Kusko1019Canada2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel K PaprockiSpainBernardo Dominic UNQUALIFIED
Rodrigues M FollerArgentinaXuxue Feng RENEWAL
Kaitlin W MaletArgentinaIvan Magalhaes PROPOSAL
Izzy J VocelkaItalyAsiya Javayant PROPOSAL
Tony L KolmetzBrazilAmy Elsner UNQUALIFIED
Izzy Q WhobreyBrazilAmy Elsner NEGOTIATION
David N TollnerItalyBernardo Dominic QUALIFIED
David J SaylorsFranceBernardo Dominic PROPOSAL
Tony J CaldareraFranceBernardo Dominic NEGOTIATION
Mayumi M GarufiFranceStephen Shaw RENEWAL
Johnson Q NickaGermanyXuxue Feng UNQUALIFIED
Isabel R AlbaresIndiaAsiya Javayant UNQUALIFIED
Darci Z GillianFranceElwin Sharvill QUALIFIED
Alejandro B FerenczUnited KingdomIoni Bowcher NEGOTIATION
James K StockhamFranceXuxue Feng RENEWAL
Greenwood X KolmetzJapanBernardo Dominic PROPOSAL
David U VenereCanadaIoni Bowcher QUALIFIED
Chavez F MacleadUnited KingdomXuxue Feng PROPOSAL
Clifford D RutaUnited KingdomElwin Sharvill NEGOTIATION
Aika Q SaylorsAustraliaBernardo Dominic UNQUALIFIED
Wickens C InouyeSpainIoni Bowcher UNQUALIFIED
Arvin D RulapaughGermanyElwin Sharvill QUALIFIED
Kadeem A MacleadCanadaOnyama Limba NEW
Munro B WieserGermanyOnyama Limba RENEWAL
Isabel E MaletRussiaIoni Bowcher NEGOTIATION
Murillo F PaprockiSpainXuxue Feng NEGOTIATION
Ricardo S SchemmerIndiaIvan Magalhaes PROPOSAL
David P StensethArgentinaOnyama Limba NEW
Julie Z ButtGermanyAmy Elsner UNQUALIFIED
Kaitlin L VenereUnited KingdomStephen Shaw QUALIFIED
Rodrigues X KuskoAustraliaElwin Sharvill RENEWAL
Jeanfrancois I SaylorsRussiaIoni Bowcher NEGOTIATION
Ricardo Q MorascaUnited KingdomIvan Magalhaes RENEWAL
Wickens A SaylorsAustraliaStephen Shaw RENEWAL
Johnson X PerinArgentinaIvan Magalhaes RENEWAL
Alejandro K FollerUnited KingdomXuxue Feng PROPOSAL
Adams Q SaylorsSpainIoni Bowcher QUALIFIED
Arvin F StensethCanadaIvan Magalhaes NEGOTIATION
Aika W NestleAustraliaElwin Sharvill QUALIFIED
Jefferson V SergiGermanyIoni Bowcher 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>