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
Faith J FerenczFranceAmy Elsner PROPOSAL
Johnson J PerinItalyIoni Bowcher PROPOSAL
Kadeem R PerinCanadaStephen Shaw QUALIFIED
Claire H DarakjyCanadaOnyama Limba UNQUALIFIED
Isabel Q BologniaSpainStephen Shaw PROPOSAL
Ashley S SaylorsFranceXuxue Feng NEW
Cody E TollnerRussiaAsiya Javayant NEW
Antonio F RimGermanyIoni Bowcher QUALIFIED
Octavia R GauchoFranceIvan Magalhaes NEGOTIATION
Mujtaba S SaylorsBrazilAmy Elsner RENEWAL
Silvio Y OstroskyGermanyAsiya Javayant NEW
Salvatore J StockhamCanadaAsiya Javayant PROPOSAL
Ashley K CaldareraFranceIvan Magalhaes RENEWAL
Isabel O DilliardItalyAnna Fali QUALIFIED
Isabel V DilliardAustraliaAmy Elsner NEW
Leon E AlbaresFranceStephen Shaw PROPOSAL
Smith M NestleRussiaElwin Sharvill PROPOSAL
Nicolas Y DoeGermanyStephen Shaw UNQUALIFIED
Isabel U WieserArgentinaAnna Fali PROPOSAL
Ivar X CampainJapanOnyama Limba QUALIFIED
Mujtaba E DilliardJapanAsiya Javayant NEW
Chavez G DoeAustraliaXuxue Feng NEW
Sinclair L FigeroaSpainBernardo Dominic PROPOSAL
Claire A SergiRussiaIvan Magalhaes NEGOTIATION
Leon T WhobreyFranceIvan Magalhaes NEGOTIATION
Izzy T VenereArgentinaAsiya Javayant UNQUALIFIED
Jennifer I RutaGermanyElwin Sharvill QUALIFIED
Stacey H GillianUnited KingdomElwin Sharvill QUALIFIED
Darci Y OstroskyBrazilAnna Fali NEGOTIATION
Arvin V PaprockiItalyIoni Bowcher RENEWAL
James J PoquetteIndiaAmy Elsner NEW
Aditya R BowleyBrazilBernardo Dominic NEW
Smith C OstroskyGermanyElwin Sharvill NEW
Sinclair F MorascaAustraliaAmy Elsner NEW
Mujtaba G FollerArgentinaBernardo Dominic RENEWAL
Izzy L RutaGermanyXuxue Feng NEGOTIATION
Sinclair O SaylorsBrazilAsiya Javayant NEW
Adams Y AmigonSpainIoni Bowcher UNQUALIFIED
Silvio N BologniaUnited KingdomElwin Sharvill NEW
Jennifer K SaylorsSpainStephen Shaw UNQUALIFIED
Leon Z KuskoJapanAsiya Javayant RENEWAL
Smith U WaycottItalyIoni Bowcher PROPOSAL
Maria F KolmetzAustraliaIvan Magalhaes RENEWAL
Morrow V MaletGermanyAnna Fali RENEWAL
Clifford R KolmetzJapanStephen Shaw QUALIFIED
Leon A GlickCanadaXuxue Feng NEW
David Y DilliardFranceElwin Sharvill PROPOSAL
Arvin R FollerArgentinaAnna Fali RENEWAL
Alejandro H PoquetteSpainAnna Fali QUALIFIED
Leja P IturbideItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Cody F StockhamUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin Q BowleyRussiaAsiya Javayant PROPOSAL
Greenwood L RulapaughFranceXuxue Feng NEGOTIATION
Aditya Z RulapaughRussiaAmy Elsner UNQUALIFIED
Nicolas Z DilliardAustraliaBernardo Dominic UNQUALIFIED
Octavia W DoeUnited KingdomElwin Sharvill PROPOSAL
Juan C FollerJapanXuxue Feng QUALIFIED
Arvin L PaprockiSpainAnna Fali NEGOTIATION
Aditya Q FigeroaAustraliaStephen Shaw NEW
Aruna K WaycottUnited KingdomAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh V MacleadCanada2026-09-22Morlong Associates UNQUALIFIED17Ioni Bowcher
1001Arvin Y FollerJapan2026-10-12Rangoni Of Florence RENEWAL17Stephen Shaw
1002James R MorascaGermany2026-09-26Rousseaux, Michael Esq UNQUALIFIED36Stephen Shaw
1003Kaitlin C GlickFrance2026-10-10Benton, John B Jr NEW96Elwin Sharvill
1004Kadeem E InouyeJapan2026-10-14Dorl, James J Esq RENEWAL54Ivan Magalhaes
1005Murillo M PerinBrazil2026-09-28Rousseaux, Michael Esq NEGOTIATION53Ioni Bowcher
1006Morrow Q IturbideJapan2026-09-27Benton, John B Jr QUALIFIED8Ivan Magalhaes
1007Costa I BriddickUnited Kingdom2026-10-08Chapman, Ross E Esq QUALIFIED99Asiya Javayant
1008Jeanfrancois T IturbideIndia2026-09-26Truhlar And Truhlar Attys PROPOSAL41Elwin Sharvill
1009Nicolas K ChuiGermany2026-09-21Chanay, Jeffrey A Esq UNQUALIFIED40Ioni Bowcher
1010Stacey S MaletAustralia2026-10-17Rousseaux, Michael Esq NEGOTIATION75Stephen Shaw
1011Salvatore H SergiItaly2026-09-26Feiner Bros NEGOTIATION47Stephen Shaw
1012Cody S RoysterItaly2026-10-06Feltz Printing Service QUALIFIED71Ivan Magalhaes
1013Leja S GillianRussia2026-09-21Benton, John B Jr UNQUALIFIED21Onyama Limba
1014Izzy N SchemmerFrance2026-10-02Rousseaux, Michael Esq RENEWAL84Ioni Bowcher
1015Emily J GlickRussia2026-10-11Rangoni Of Florence NEW47Stephen Shaw
1016Cody P GillianJapan2026-09-27Rangoni Of Florence RENEWAL85Ivan Magalhaes
1017Murillo N SaylorsJapan2026-09-19Dorl, James J Esq NEW15Asiya Javayant
1018Munro H CampainItaly2026-09-28Feiner Bros RENEWAL92Amy Elsner
1019Leja T PerinAustralia2026-09-21Benton, John B Jr PROPOSAL22Bernardo Dominic
1020Maria Y MaletCanada2026-09-26Morlong Associates QUALIFIED11Amy Elsner
1021Jeanfrancois R DarakjyGermany2026-10-15Dorl, James J Esq NEGOTIATION51Xuxue Feng
1022Sinclair D OldroydAustralia2026-10-07Commercial Press UNQUALIFIED98Asiya Javayant
1023Rodrigues V FollerUnited Kingdom2026-10-05Chanay, Jeffrey A Esq PROPOSAL71Stephen Shaw
1024Octavia C KuskoItaly2026-10-01Rousseaux, Michael Esq UNQUALIFIED29Ioni Bowcher
1025Adams N GlickArgentina2026-10-09King, Christopher A Esq UNQUALIFIED42Amy Elsner
1026Deepesh R PoquetteSpain2026-09-30King, Christopher A Esq NEGOTIATION41Anna Fali
1027Juan O DarakjyCanada2026-09-30Benton, John B Jr RENEWAL60Ivan Magalhaes
1028Costa X RulapaughGermany2026-10-06Benton, John B Jr NEW31Amy Elsner
1029Claire Y MaletFrance2026-09-26Morlong Associates QUALIFIED42Amy Elsner
1030Jeanfrancois X PaprockiSpain2026-10-17Rousseaux, Michael Esq RENEWAL72Amy Elsner
1031Sinclair F SlusarskiJapan2026-10-16Chanay, Jeffrey A Esq RENEWAL11Bernardo Dominic
1032Johnson J WaycottSpain2026-09-21Commercial Press QUALIFIED87Elwin Sharvill
1033Nicolas L DoeRussia2026-10-03Buckley Miller Wright NEGOTIATION19Bernardo Dominic
1034Ricardo K DoeItaly2026-09-29Dorl, James J Esq NEW88Asiya Javayant
1035Kadeem Q CaudyIndia2026-09-20Feiner Bros NEW79Xuxue Feng
1036Octavia D WhobreySpain2026-09-19Chapman, Ross E Esq QUALIFIED18Amy Elsner
1037Emily W MaletFrance2026-09-30Feltz Printing Service UNQUALIFIED7Ivan Magalhaes
1038David F TollnerAustralia2026-09-25Printing Dimensions QUALIFIED26Ioni Bowcher
1039Izzy C CaldareraBrazil2026-10-05Rousseaux, Michael Esq PROPOSAL43Stephen Shaw
1040Emily E GarufiUnited Kingdom2026-09-28Printing Dimensions NEGOTIATION6Amy Elsner
1041Nicolas Y AmigonArgentina2026-10-14Chemel, James L Cpa QUALIFIED88Anna Fali
1042Alejandro M PoquetteFrance2026-10-04Morlong Associates UNQUALIFIED98Xuxue Feng
1043Francesco U WaycottBrazil2026-10-08Chapman, Ross E Esq NEGOTIATION66Ioni Bowcher
1044Ashley Q RulapaughRussia2026-10-04Truhlar And Truhlar Attys RENEWAL11Onyama Limba
1045David M NestleGermany2026-10-12Buckley Miller Wright PROPOSAL57Ivan Magalhaes
1046Costa S GlickArgentina2026-10-06Truhlar And Truhlar Attys PROPOSAL72Onyama Limba
1047Misaki I SlusarskiIndia2026-09-28King, Christopher A Esq NEW62Onyama Limba
1048Clifford F ShinkoIndia2026-10-17Feiner Bros UNQUALIFIED9Stephen Shaw
1049Tony W VenereFrance2026-10-14Buckley Miller Wright QUALIFIED95Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Tony G CaldareraCanadaIoni Bowcher NEGOTIATION
Leon Q RulapaughCanadaAnna Fali NEGOTIATION
James W GarufiGermanyAmy Elsner QUALIFIED
Morrow U FlosiArgentinaBernardo Dominic NEW
Smith A BologniaItalyAmy Elsner NEGOTIATION
Mayumi C PaprockiAustraliaIvan Magalhaes PROPOSAL
Ricardo S RulapaughItalyAmy Elsner QUALIFIED
Arvin H VocelkaGermanyAsiya Javayant NEW
Chavez J SaylorsRussiaAmy Elsner NEGOTIATION
Clifford E AmigonAustraliaOnyama Limba RENEWAL
Kaitlin D CaldareraUnited KingdomAnna Fali RENEWAL
Faith K MaletJapanIoni Bowcher UNQUALIFIED
Adams H PerinCanadaElwin Sharvill UNQUALIFIED
Aika P GarufiUnited KingdomElwin Sharvill UNQUALIFIED
Tony Q FollerUnited KingdomAnna Fali PROPOSAL
Faith E MaletBrazilElwin Sharvill RENEWAL
Munro L StensethArgentinaElwin Sharvill NEGOTIATION
Wickens M WieserJapanAnna Fali NEW
Smith P NestleFranceBernardo Dominic RENEWAL
Kadeem W IturbideArgentinaIvan Magalhaes PROPOSAL
Leja F BowleyArgentinaIoni Bowcher NEGOTIATION
Deepesh F ChuiSpainAnna Fali NEW
Wickens R ChuiUnited KingdomAnna Fali RENEWAL
Francesco D VocelkaIndiaAnna Fali NEGOTIATION
Cody L WhobreyItalyAsiya Javayant PROPOSAL
Chavez E DarakjyJapanOnyama Limba NEGOTIATION
Deepesh X PaprockiCanadaStephen Shaw RENEWAL
Kaitlin L RutaAustraliaStephen Shaw RENEWAL
Smith S DilliardAustraliaIvan Magalhaes NEW
Izzy V FigeroaBrazilAsiya Javayant PROPOSAL
Silvio X WieserSpainIoni Bowcher UNQUALIFIED
Izzy Q SlusarskiBrazilIvan Magalhaes PROPOSAL
Salvatore Y FerenczBrazilIoni Bowcher PROPOSAL
Deepesh R FollerCanadaIoni Bowcher NEW
James O WhobreyJapanIoni Bowcher PROPOSAL
Cody H GlickGermanyStephen Shaw UNQUALIFIED
Adams J VenereUnited KingdomAnna Fali PROPOSAL
Ivar Z CaldareraFranceIvan Magalhaes UNQUALIFIED
Isabel D PerinUnited KingdomXuxue Feng NEGOTIATION
Salvatore F RutaRussiaAsiya Javayant RENEWAL
James X CaudyRussiaIvan Magalhaes QUALIFIED
David M PaprockiIndiaAnna Fali QUALIFIED
Greenwood K OstroskySpainAmy Elsner RENEWAL
Jennifer D VenereCanadaBernardo Dominic NEGOTIATION
Maria U SchemmerArgentinaBernardo Dominic PROPOSAL
Cody T DilliardItalyBernardo Dominic RENEWAL
Rodrigues L WhobreyArgentinaStephen Shaw NEW
Stacey Z DilliardJapanAsiya Javayant UNQUALIFIED
Misaki H ButtIndiaXuxue Feng NEGOTIATION
Aditya I BowleyArgentinaIoni Bowcher RENEWAL
Frozen Columns
Name
Kaitlin Y Amigon
Cody Z Whobrey
Sinclair J Rulapaugh
Kadeem B Venere
Kaitlin D Glick
Kaitlin H Bowley
Rodrigues D Flosi
Stacey Y Malet
Aika O Ruta
Aika M Bowley
Rodrigues R Sergi
Alejandro C Bolognia
Johnson P Oldroyd
Darci X Figeroa
Aruna L Bowley
Tony U Briddick
Aika R Royster
Ashley J Paprocki
Aika J Caudy
Ashley P Maclead
Tony L Wieser
Sinclair L Gaucho
Mujtaba F Kusko
Clifford N Saylors
Darci X Campain
Mayumi R Garufi
Darci I Foller
James H Poquette
Emily X Perin
Tony E Maclead
Jeanfrancois B Vocelka
James B Iturbide
Leja D Whobrey
Salvatore S Inouye
Maria N Foller
Octavia V Stenseth
Alejandro K Malet
Chavez V Dilliard
Aditya E Morasca
Cody R Flosi
Greenwood L Rim
Jennifer K Gillian
Nicolas U Oldroyd
Adams D Malet
Nicolas C Slusarski
Julie N Waycott
Izzy N Perin
Misaki Q Iturbide
Ashley D Rim
Cody H Kusko
IdCountryDate
1000France2026-09-21
1001Australia2026-10-16
1002United Kingdom2026-10-13
1003Brazil2026-09-19
1004Spain2026-09-22
1005Canada2026-09-22
1006Japan2026-10-01
1007United Kingdom2026-10-14
1008Spain2026-10-13
1009Germany2026-10-12
1010India2026-10-02
1011Australia2026-10-12
1012Japan2026-10-05
1013Italy2026-09-30
1014Canada2026-10-05
1015Argentina2026-10-08
1016Russia2026-10-16
1017United Kingdom2026-09-24
1018Japan2026-10-01
1019Russia2026-10-13
1020United Kingdom2026-10-13
1021India2026-10-10
1022India2026-09-27
1023Russia2026-09-23
1024Spain2026-10-16
1025Spain2026-09-20
1026Italy2026-10-03
1027Canada2026-10-07
1028Argentina2026-10-12
1029Argentina2026-10-05
1030Brazil2026-10-14
1031France2026-09-26
1032Canada2026-10-05
1033Japan2026-10-07
1034Germany2026-10-17
1035Japan2026-10-04
1036Italy2026-09-22
1037Spain2026-09-19
1038Spain2026-10-01
1039United Kingdom2026-09-30
1040Russia2026-09-27
1041United Kingdom2026-10-15
1042Spain2026-10-10
1043United Kingdom2026-10-07
1044Italy2026-09-22
1045Italy2026-10-16
1046Australia2026-10-12
1047Spain2026-10-07
1048Australia2026-10-02
1049India2026-10-17

On-Demand Data

NameIdCountryDate
Jefferson S Iturbide1000Brazil2026-09-27
Costa W Kolmetz1001Australia2026-09-21
Kaitlin Q Butt1002Japan2026-09-18
Adams V Marrier1003Argentina2026-09-29
Francesco U Poquette1004France2026-10-05
Antonio R Sergi1005India2026-09-25
Aika F Kolmetz1006Germany2026-10-04
Tony P Ruta1007Germany2026-09-28
Julie H Shinko1008France2026-09-19
Octavia T Ruta1009Spain2026-10-13
Aditya V Malet1010Argentina2026-10-04
Silvio R Dilliard1011Russia2026-09-30
Leja X Stenseth1012Germany2026-09-26
Morrow X Gillian1013Brazil2026-10-10
Ivar Y Oldroyd1014Italy2026-10-16
Claire P Vocelka1015Brazil2026-09-26
Murillo Y Bolognia1016Brazil2026-10-15
Ivar I Whobrey1017Brazil2026-10-12
James I Maclead1018United Kingdom2026-09-18
Mujtaba Z Malet1019Australia2026-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria M WaycottGermanyXuxue Feng PROPOSAL
Greenwood W GauchoFranceAmy Elsner QUALIFIED
Jefferson F ButtItalyXuxue Feng NEGOTIATION
Rodrigues P AlbaresGermanyAnna Fali NEGOTIATION
Jones F CaldareraJapanAsiya Javayant NEGOTIATION
Morrow F WhobreyBrazilAmy Elsner RENEWAL
Rodrigues J RulapaughRussiaElwin Sharvill PROPOSAL
Adams J FigeroaCanadaElwin Sharvill QUALIFIED
Murillo H WieserUnited KingdomOnyama Limba RENEWAL
Johnson E NestleAustraliaBernardo Dominic QUALIFIED
Julie X VocelkaSpainBernardo Dominic NEW
Aditya M FigeroaFranceAnna Fali PROPOSAL
Tony K NestleSpainIvan Magalhaes QUALIFIED
Tony I BowleyJapanIvan Magalhaes NEW
Alejandro L FlosiUnited KingdomXuxue Feng QUALIFIED
Antonio Z NestleUnited KingdomAmy Elsner PROPOSAL
Adams Z TollnerArgentinaAmy Elsner NEW
Rodrigues G RoysterItalyStephen Shaw NEGOTIATION
Ivar Y FigeroaIndiaXuxue Feng UNQUALIFIED
Deepesh W BriddickGermanyBernardo Dominic RENEWAL
Francesco F InouyeAustraliaElwin Sharvill NEGOTIATION
Silvio K WhobreyFranceAmy Elsner NEGOTIATION
Francesco S SaylorsSpainBernardo Dominic RENEWAL
Chavez C GlickGermanyStephen Shaw UNQUALIFIED
Julie J PaprockiSpainBernardo Dominic NEW
Kaitlin D DilliardSpainIoni Bowcher UNQUALIFIED
Mayumi E VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Darci D FlosiBrazilAsiya Javayant NEGOTIATION
Murillo H RoysterGermanyIvan Magalhaes UNQUALIFIED
Aruna L GauchoJapanAmy Elsner QUALIFIED
Darci R FerenczUnited KingdomIvan Magalhaes PROPOSAL
Sinclair L DarakjyRussiaAmy Elsner PROPOSAL
Murillo W WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Arvin Y StensethJapanIoni Bowcher UNQUALIFIED
Adams A DilliardSpainStephen Shaw RENEWAL
Jennifer C WhobreyFranceOnyama Limba NEGOTIATION
Murillo X OstroskyBrazilOnyama Limba PROPOSAL
Cody E InouyeCanadaIvan Magalhaes NEGOTIATION
Darci E CaldareraCanadaAsiya Javayant PROPOSAL
Chavez H WieserJapanOnyama Limba NEW

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