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
Leja G PaprockiCanadaAnna Fali NEGOTIATION
Darci L PerinItalyIoni Bowcher RENEWAL
Ashley E BriddickIndiaAsiya Javayant PROPOSAL
Aditya L SergiIndiaAsiya Javayant QUALIFIED
Salvatore R MarrierBrazilElwin Sharvill QUALIFIED
Jefferson E DilliardArgentinaStephen Shaw RENEWAL
Antonio D CaldareraIndiaElwin Sharvill QUALIFIED
Leon K KuskoJapanIoni Bowcher QUALIFIED
Kaitlin P BriddickArgentinaStephen Shaw QUALIFIED
Francesco L IturbideSpainXuxue Feng QUALIFIED
Clifford V SchemmerSpainStephen Shaw PROPOSAL
Nicolas N WaycottRussiaElwin Sharvill PROPOSAL
Leja Q StensethIndiaAsiya Javayant NEW
Mayumi B BowleyRussiaAnna Fali UNQUALIFIED
Faith R WaycottGermanyOnyama Limba QUALIFIED
Francesco S WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Johnson F BologniaIndiaOnyama Limba RENEWAL
Misaki Q FlosiCanadaElwin Sharvill QUALIFIED
Munro G VocelkaCanadaElwin Sharvill NEGOTIATION
Deepesh M ShinkoRussiaIoni Bowcher UNQUALIFIED
Izzy A DilliardArgentinaIoni Bowcher RENEWAL
Leja E WieserIndiaAsiya Javayant NEGOTIATION
Aika T StensethArgentinaAnna Fali RENEWAL
Isabel N NickaRussiaElwin Sharvill QUALIFIED
Sinclair K WieserIndiaStephen Shaw NEW
Kadeem Z GarufiFranceElwin Sharvill NEW
Maria N OstroskyAustraliaBernardo Dominic NEGOTIATION
Jones E CampainJapanOnyama Limba RENEWAL
Costa W MacleadAustraliaStephen Shaw NEW
Johnson K KuskoArgentinaStephen Shaw RENEWAL
Jeanfrancois Q BriddickGermanyOnyama Limba QUALIFIED
Johnson A DarakjyBrazilAsiya Javayant QUALIFIED
Morrow T KolmetzFranceIoni Bowcher QUALIFIED
Aruna M PoquetteSpainXuxue Feng NEW
David C NickaIndiaAmy Elsner PROPOSAL
Salvatore R RimFranceBernardo Dominic QUALIFIED
Antonio Q ShinkoIndiaIvan Magalhaes PROPOSAL
Aditya R DoeCanadaBernardo Dominic NEGOTIATION
Deepesh M FlosiJapanXuxue Feng UNQUALIFIED
Leon Y AmigonJapanAmy Elsner RENEWAL
Faith B AmigonArgentinaOnyama Limba QUALIFIED
Morrow Q WaycottRussiaElwin Sharvill QUALIFIED
Costa K SchemmerArgentinaBernardo Dominic UNQUALIFIED
Smith G CaldareraJapanStephen Shaw NEW
Clifford Y WhobreyBrazilXuxue Feng NEW
Chavez X KuskoGermanyStephen Shaw UNQUALIFIED
Stacey D MarrierArgentinaIoni Bowcher NEGOTIATION
Jefferson M GarufiRussiaIoni Bowcher RENEWAL
Kaitlin C PerinSpainStephen Shaw NEGOTIATION
Alejandro Y MacleadUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Octavia F TollnerGermanyIoni Bowcher UNQUALIFIED
Silvio H MacleadSpainAsiya Javayant QUALIFIED
Adams L PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Leon G VenereFranceStephen Shaw QUALIFIED
Mayumi L WhobreySpainBernardo Dominic UNQUALIFIED
Julie J StensethGermanyAsiya Javayant PROPOSAL
Tony P AlbaresSpainIvan Magalhaes RENEWAL
Maria B AmigonItalyBernardo Dominic NEGOTIATION
Julie C StockhamCanadaStephen Shaw NEGOTIATION
Aditya W IturbideBrazilAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson D CampainGermany2026-10-03Commercial Press NEW28Bernardo Dominic
1001Ivar P TollnerSpain2026-10-13King, Christopher A Esq RENEWAL29Xuxue Feng
1002Kaitlin C FigeroaAustralia2026-10-14Feltz Printing Service NEW51Asiya Javayant
1003Stacey T GillianFrance2026-10-24Commercial Press PROPOSAL91Elwin Sharvill
1004Claire E CaudySpain2026-10-24Buckley Miller Wright PROPOSAL20Stephen Shaw
1005Arvin V KuskoItaly2026-10-21Chanay, Jeffrey A Esq UNQUALIFIED54Bernardo Dominic
1006Misaki R GauchoRussia2026-10-22Morlong Associates NEGOTIATION80Anna Fali
1007Tony N MaletUnited Kingdom2026-10-24Rangoni Of Florence NEGOTIATION89Elwin Sharvill
1008Juan B MarrierBrazil2026-10-07Truhlar And Truhlar Attys NEW31Elwin Sharvill
1009Silvio G PaprockiSpain2026-09-29Morlong Associates UNQUALIFIED57Xuxue Feng
1010Emily L VenereArgentina2026-10-20Chapman, Ross E Esq UNQUALIFIED80Anna Fali
1011Aditya C InouyeJapan2026-10-14Buckley Miller Wright NEGOTIATION49Elwin Sharvill
1012Octavia G DarakjyItaly2026-10-09Chanay, Jeffrey A Esq NEW3Bernardo Dominic
1013Munro L RoysterBrazil2026-10-17Feiner Bros QUALIFIED99Onyama Limba
1014Silvio P PaprockiGermany2026-10-20Rangoni Of Florence RENEWAL46Onyama Limba
1015Kaitlin R AmigonItaly2026-09-29Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1016Aruna E RimFrance2026-10-12Rousseaux, Michael Esq NEW35Bernardo Dominic
1017Izzy C ShinkoArgentina2026-09-27Feiner Bros PROPOSAL29Asiya Javayant
1018Mujtaba A NickaBrazil2026-09-30Feiner Bros NEGOTIATION81Asiya Javayant
1019Jones Q SchemmerBrazil2026-10-24King, Christopher A Esq PROPOSAL59Elwin Sharvill
1020Jones D MarrierItaly2026-10-24Commercial Press UNQUALIFIED31Xuxue Feng
1021Claire Z RulapaughRussia2026-09-27Buckley Miller Wright QUALIFIED61Anna Fali
1022Francesco T KolmetzCanada2026-10-23Feltz Printing Service NEGOTIATION98Ivan Magalhaes
1023Greenwood W RutaGermany2026-10-02Chanay, Jeffrey A Esq NEW52Stephen Shaw
1024Emily A GlickUnited Kingdom2026-10-04Chanay, Jeffrey A Esq QUALIFIED30Elwin Sharvill
1025Silvio W CampainGermany2026-10-18Dorl, James J Esq RENEWAL67Onyama Limba
1026Murillo L MaletSpain2026-10-12Printing Dimensions PROPOSAL38Amy Elsner
1027Sinclair G FigeroaIndia2026-10-03Chapman, Ross E Esq QUALIFIED99Onyama Limba
1028James K FigeroaArgentina2026-10-05Buckley Miller Wright RENEWAL31Onyama Limba
1029Maria L BowleySpain2026-09-25Chanay, Jeffrey A Esq NEW59Elwin Sharvill
1030Aruna S FerenczFrance2026-10-19Chapman, Ross E Esq QUALIFIED12Ioni Bowcher
1031Adams E DarakjyCanada2026-10-03Chanay, Jeffrey A Esq NEW7Asiya Javayant
1032Deepesh T IturbideUnited Kingdom2026-10-20Printing Dimensions NEGOTIATION1Stephen Shaw
1033Silvio H GlickBrazil2026-10-11King, Christopher A Esq NEGOTIATION80Ioni Bowcher
1034Rodrigues S RoysterIndia2026-10-04Commercial Press UNQUALIFIED71Elwin Sharvill
1035Cody U ButtCanada2026-10-14Truhlar And Truhlar Attys NEGOTIATION53Amy Elsner
1036Jeanfrancois A KuskoArgentina2026-10-10Commercial Press NEGOTIATION48Stephen Shaw
1037Jefferson J FerenczJapan2026-10-10Feltz Printing Service QUALIFIED38Ivan Magalhaes
1038David X VenereGermany2026-10-08Chapman, Ross E Esq QUALIFIED13Elwin Sharvill
1039Salvatore D FollerIndia2026-10-20Feltz Printing Service QUALIFIED25Stephen Shaw
1040Smith N DilliardGermany2026-10-01Commercial Press PROPOSAL35Asiya Javayant
1041Octavia G WaycottAustralia2026-09-28Buckley Miller Wright UNQUALIFIED25Xuxue Feng
1042Clifford P InouyeCanada2026-10-18King, Christopher A Esq PROPOSAL53Amy Elsner
1043Adams T RoysterGermany2026-10-02Benton, John B Jr RENEWAL7Anna Fali
1044Antonio Q VenereJapan2026-09-25Dorl, James J Esq UNQUALIFIED49Asiya Javayant
1045Isabel O PaprockiUnited Kingdom2026-10-08Morlong Associates RENEWAL68Bernardo Dominic
1046Aika S SchemmerRussia2026-09-29Chanay, Jeffrey A Esq QUALIFIED92Asiya Javayant
1047Octavia H RulapaughRussia2026-10-24Rangoni Of Florence RENEWAL23Anna Fali
1048Leja J VocelkaArgentina2026-10-09Chapman, Ross E Esq UNQUALIFIED76Onyama Limba
1049Jefferson E SlusarskiItaly2026-10-11Rangoni Of Florence NEW13Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Sinclair A MacleadUnited KingdomAmy Elsner NEW
Costa L IturbideIndiaIoni Bowcher NEGOTIATION
Silvio J BowleyArgentinaIvan Magalhaes UNQUALIFIED
Johnson A SchemmerAustraliaAmy Elsner RENEWAL
James L ShinkoArgentinaAsiya Javayant RENEWAL
Mujtaba U WhobreyBrazilAmy Elsner NEGOTIATION
Tony E RutaSpainStephen Shaw PROPOSAL
Chavez Z GarufiFranceAnna Fali PROPOSAL
Leon M KuskoIndiaAnna Fali NEGOTIATION
Nicolas W SaylorsAustraliaBernardo Dominic PROPOSAL
Mayumi S FlosiSpainIvan Magalhaes RENEWAL
Aditya H FollerCanadaElwin Sharvill NEW
Adams U SlusarskiCanadaOnyama Limba PROPOSAL
Isabel M PoquetteCanadaXuxue Feng PROPOSAL
Claire X PerinUnited KingdomStephen Shaw QUALIFIED
Chavez L AmigonSpainOnyama Limba NEGOTIATION
Wickens V FerenczAustraliaAsiya Javayant NEGOTIATION
Faith O RutaGermanyIoni Bowcher UNQUALIFIED
Salvatore T SchemmerBrazilXuxue Feng UNQUALIFIED
Antonio Q OldroydFranceXuxue Feng NEW
Aditya L MaletBrazilElwin Sharvill QUALIFIED
Salvatore W ChuiCanadaIoni Bowcher NEW
Arvin F IturbideGermanyOnyama Limba NEGOTIATION
Alejandro Y CaldareraSpainStephen Shaw RENEWAL
Morrow F FlosiCanadaOnyama Limba RENEWAL
Mujtaba C OldroydSpainIoni Bowcher PROPOSAL
Darci I ChuiSpainBernardo Dominic RENEWAL
Stacey T KolmetzFranceStephen Shaw QUALIFIED
Greenwood I RulapaughFranceStephen Shaw NEGOTIATION
Antonio H AlbaresIndiaAmy Elsner QUALIFIED
Antonio U WhobreyAustraliaIoni Bowcher UNQUALIFIED
Clifford G BologniaBrazilAnna Fali NEGOTIATION
Maria I MaletFranceBernardo Dominic PROPOSAL
David Q DarakjyFranceAsiya Javayant UNQUALIFIED
Emily D CampainItalyAmy Elsner UNQUALIFIED
Leja K RutaCanadaBernardo Dominic UNQUALIFIED
Mujtaba K GlickUnited KingdomAmy Elsner QUALIFIED
Sinclair V OstroskyJapanIoni Bowcher RENEWAL
Maisha H FollerUnited KingdomElwin Sharvill PROPOSAL
Octavia E OstroskyUnited KingdomAsiya Javayant NEW
Tony G KolmetzArgentinaStephen Shaw PROPOSAL
Kaitlin W StensethIndiaElwin Sharvill NEGOTIATION
Antonio V NestleSpainAmy Elsner RENEWAL
Octavia F GarufiFranceIoni Bowcher PROPOSAL
Smith O DilliardJapanIvan Magalhaes PROPOSAL
Johnson Y BowleyIndiaXuxue Feng PROPOSAL
Johnson O RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Misaki T MacleadSpainBernardo Dominic NEW
Jeanfrancois D InouyeArgentinaXuxue Feng NEW
Costa P WieserArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
Rodrigues W Poquette
Izzy A Ostrosky
David I Maclead
Munro N Bolognia
Wickens I Tollner
Juan H Marrier
Francesco R Rulapaugh
Adams K Bowley
Emily M Marrier
Aika L Perin
Sinclair T Saylors
Costa B Gaucho
Murillo E Chui
Rodrigues T Morasca
Johnson Q Tollner
Tony W Morasca
Stacey L Ruta
Chavez G Marrier
Sinclair G Kusko
Aruna P Kolmetz
Kaitlin D Kolmetz
Tony H Caudy
Greenwood J Sergi
Emily W Shinko
Aika T Oldroyd
Kadeem P Kolmetz
Leja Z Stenseth
Aruna C Gaucho
Stacey E Ruta
Kaitlin L Malet
Sinclair G Foller
Adams P Garufi
Mujtaba P Rim
Silvio E Gillian
Aruna V Butt
Ashley U Marrier
James Q Albares
Maisha C Shinko
Ricardo C Briddick
Jefferson U Ferencz
Kaitlin U Flosi
Antonio P Iturbide
Faith G Albares
Francesco O Malet
Murillo H Glick
Mayumi W Gaucho
Sinclair M Campain
Mayumi I Inouye
Misaki E Marrier
Aditya N Maclead
IdCountryDate
1000Brazil2026-10-09
1001Germany2026-09-28
1002Russia2026-10-10
1003Australia2026-10-09
1004Italy2026-10-07
1005Japan2026-10-17
1006Canada2026-10-03
1007United Kingdom2026-10-18
1008Canada2026-10-09
1009Spain2026-09-26
1010Russia2026-09-30
1011Germany2026-10-22
1012Germany2026-09-25
1013Australia2026-10-16
1014Australia2026-10-22
1015Argentina2026-10-17
1016Australia2026-10-09
1017France2026-10-23
1018Argentina2026-10-22
1019Germany2026-10-23
1020United Kingdom2026-10-11
1021United Kingdom2026-10-15
1022Spain2026-10-04
1023Canada2026-10-14
1024United Kingdom2026-10-14
1025Russia2026-10-07
1026Italy2026-09-28
1027Germany2026-10-12
1028Russia2026-10-07
1029Russia2026-10-03
1030Italy2026-10-17
1031Brazil2026-10-15
1032Germany2026-10-12
1033France2026-10-23
1034Argentina2026-10-19
1035Canada2026-10-02
1036Spain2026-10-05
1037Germany2026-10-13
1038United Kingdom2026-10-13
1039Argentina2026-10-23
1040Germany2026-10-20
1041Italy2026-10-03
1042Argentina2026-10-06
1043United Kingdom2026-09-26
1044Argentina2026-10-06
1045Brazil2026-10-14
1046Australia2026-10-04
1047Italy2026-10-05
1048Brazil2026-10-23
1049Brazil2026-10-24

On-Demand Data

NameIdCountryDate
Stacey M Kolmetz1000Canada2026-09-27
Jeanfrancois Z Royster1001Spain2026-09-28
Greenwood L Saylors1002Italy2026-10-06
Ricardo Y Saylors1003Italy2026-10-08
Juan D Wieser1004India2026-10-06
Greenwood S Rim1005France2026-10-23
Julie M Perin1006Japan2026-09-30
Jennifer A Nicka1007Germany2026-10-24
Costa J Shinko1008Brazil2026-10-18
Deepesh N Darakjy1009Germany2026-10-18
Sinclair T Caldarera1010Brazil2026-09-30
Morrow H Foller1011Spain2026-10-22
Ricardo X Campain1012Russia2026-10-08
Kaitlin U Kusko1013United Kingdom2026-10-20
Aruna W Gillian1014United Kingdom2026-10-05
Aika V Nicka1015Australia2026-10-03
Clifford O Maclead1016Brazil2026-10-15
Deepesh N Maclead1017Argentina2026-09-29
Claire Q Briddick1018Russia2026-10-04
Francesco N Caudy1019United Kingdom2026-10-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith E CampainItalyIvan Magalhaes RENEWAL
Wickens Y FigeroaBrazilAsiya Javayant PROPOSAL
Kadeem U MorascaJapanIoni Bowcher UNQUALIFIED
Morrow W RutaFranceBernardo Dominic QUALIFIED
Costa T DoeRussiaStephen Shaw UNQUALIFIED
Greenwood R GillianItalyStephen Shaw PROPOSAL
Arvin R MaletJapanXuxue Feng UNQUALIFIED
Greenwood X CaudyGermanyAsiya Javayant PROPOSAL
Misaki U GillianAustraliaAsiya Javayant PROPOSAL
Chavez I MarrierFranceElwin Sharvill QUALIFIED
Chavez B FollerIndiaIvan Magalhaes PROPOSAL
Leon W MaletItalyAmy Elsner PROPOSAL
James A BowleyBrazilIoni Bowcher RENEWAL
Deepesh T StockhamFranceBernardo Dominic PROPOSAL
Aruna T PaprockiFranceBernardo Dominic RENEWAL
Antonio G RimIndiaAmy Elsner PROPOSAL
Isabel T CaudyIndiaIoni Bowcher NEGOTIATION
Jefferson R MaletArgentinaIvan Magalhaes UNQUALIFIED
Emily H GillianArgentinaXuxue Feng NEGOTIATION
Ashley V ButtGermanyBernardo Dominic NEGOTIATION
Smith C InouyeJapanIoni Bowcher QUALIFIED
Aruna P GillianSpainXuxue Feng QUALIFIED
Darci L ButtBrazilStephen Shaw RENEWAL
Cody E PaprockiBrazilElwin Sharvill UNQUALIFIED
Tony O WhobreyArgentinaAsiya Javayant QUALIFIED
Smith F GauchoCanadaIoni Bowcher UNQUALIFIED
Octavia W BowleyFranceOnyama Limba UNQUALIFIED
Maria K RimBrazilXuxue Feng UNQUALIFIED
Stacey G MaletFranceIvan Magalhaes NEGOTIATION
Cody O CaudyIndiaStephen Shaw PROPOSAL
Octavia K AmigonRussiaStephen Shaw UNQUALIFIED
Jones H DarakjyFranceOnyama Limba QUALIFIED
Murillo Y VenereCanadaStephen Shaw PROPOSAL
Nicolas S SlusarskiAustraliaAnna Fali QUALIFIED
Alejandro P MacleadArgentinaAmy Elsner QUALIFIED
Murillo J MorascaItalyXuxue Feng RENEWAL
Antonio M MaletIndiaAmy Elsner UNQUALIFIED
Jeanfrancois T RutaGermanyStephen Shaw NEGOTIATION
Silvio D InouyeBrazilAsiya Javayant UNQUALIFIED
Mujtaba G StockhamSpainAnna Fali 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>