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
Morrow V FlosiJapanBernardo Dominic PROPOSAL
Deepesh P MaletAustraliaIvan Magalhaes NEGOTIATION
Smith W RimJapanIoni Bowcher NEGOTIATION
Maisha K GarufiArgentinaIoni Bowcher RENEWAL
Leja L FigeroaItalyAsiya Javayant QUALIFIED
Ricardo E SlusarskiAustraliaAnna Fali PROPOSAL
Jones E StockhamSpainIoni Bowcher QUALIFIED
Alejandro D SchemmerBrazilOnyama Limba PROPOSAL
Izzy O FerenczIndiaOnyama Limba NEGOTIATION
Silvio S GarufiAustraliaIoni Bowcher QUALIFIED
Octavia N ButtAustraliaIvan Magalhaes QUALIFIED
Cody C BriddickRussiaElwin Sharvill NEW
Sinclair E FollerRussiaBernardo Dominic QUALIFIED
Jennifer L FlosiSpainAnna Fali QUALIFIED
Maria U SaylorsGermanyAmy Elsner NEW
Leja H MorascaJapanStephen Shaw PROPOSAL
Nicolas X PerinRussiaIvan Magalhaes NEW
Isabel B SergiArgentinaIvan Magalhaes NEGOTIATION
Chavez M TollnerRussiaElwin Sharvill NEGOTIATION
Darci H ShinkoSpainIvan Magalhaes PROPOSAL
Chavez H RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Jones S MaletArgentinaAnna Fali RENEWAL
Clifford X TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Munro U MacleadRussiaStephen Shaw QUALIFIED
Aruna O CaldareraGermanyAsiya Javayant NEGOTIATION
Aruna Z MacleadFranceBernardo Dominic PROPOSAL
Jefferson Q WaycottArgentinaOnyama Limba UNQUALIFIED
Faith X FigeroaItalyElwin Sharvill PROPOSAL
Leja M BologniaBrazilIvan Magalhaes NEW
Aditya W FlosiSpainOnyama Limba RENEWAL
Octavia A FerenczRussiaAnna Fali QUALIFIED
James Y FlosiArgentinaXuxue Feng RENEWAL
Wickens S TollnerGermanyAsiya Javayant RENEWAL
Emily O FlosiIndiaAnna Fali RENEWAL
Smith I VenereUnited KingdomAmy Elsner PROPOSAL
Aruna D GarufiFranceAmy Elsner RENEWAL
Misaki V OstroskyFranceIvan Magalhaes NEGOTIATION
Ricardo Z TollnerUnited KingdomAmy Elsner PROPOSAL
Mayumi W SaylorsJapanElwin Sharvill NEGOTIATION
Wickens L ShinkoJapanElwin Sharvill RENEWAL
Greenwood P AlbaresRussiaAnna Fali NEW
Darci L ButtGermanyElwin Sharvill PROPOSAL
Silvio Z PoquetteBrazilElwin Sharvill QUALIFIED
Morrow P BriddickFranceElwin Sharvill RENEWAL
Silvio G GarufiCanadaStephen Shaw UNQUALIFIED
Octavia P FlosiRussiaAnna Fali NEW
Jeanfrancois F TollnerRussiaOnyama Limba RENEWAL
Antonio W BriddickCanadaAnna Fali RENEWAL
Deepesh G AlbaresArgentinaAsiya Javayant UNQUALIFIED
Cody H WhobreyItalyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones O BriddickBrazilIvan Magalhaes UNQUALIFIED
Munro Y FigeroaUnited KingdomAnna Fali RENEWAL
Deepesh S BologniaAustraliaStephen Shaw RENEWAL
Aika C IturbideAustraliaIvan Magalhaes UNQUALIFIED
Julie B MaletJapanAnna Fali NEW
Greenwood N RoysterCanadaAnna Fali UNQUALIFIED
Ivar U PoquetteRussiaElwin Sharvill NEW
Costa Q NickaUnited KingdomAmy Elsner PROPOSAL
Mayumi V GarufiGermanyOnyama Limba NEW
Costa I MorascaIndiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon U RulapaughSpain2026-11-02Chemel, James L Cpa QUALIFIED47Elwin Sharvill
1001Isabel Q DilliardArgentina2026-10-21Feiner Bros PROPOSAL80Ivan Magalhaes
1002Francesco U RulapaughArgentina2026-10-15Chemel, James L Cpa UNQUALIFIED98Elwin Sharvill
1003Jeanfrancois E GillianIndia2026-10-18Feiner Bros NEW9Onyama Limba
1004Munro F RulapaughArgentina2026-10-13Rousseaux, Michael Esq PROPOSAL92Bernardo Dominic
1005Adams N CampainUnited Kingdom2026-10-14King, Christopher A Esq RENEWAL36Onyama Limba
1006Greenwood J MaletSpain2026-10-27Feltz Printing Service UNQUALIFIED87Xuxue Feng
1007Kadeem T MaletUnited Kingdom2026-10-11Buckley Miller Wright NEGOTIATION32Anna Fali
1008Emily C StockhamBrazil2026-10-09Chapman, Ross E Esq RENEWAL64Stephen Shaw
1009Salvatore L RutaBrazil2026-10-23Feltz Printing Service NEW23Ioni Bowcher
1010Nicolas X WieserAustralia2026-10-25Rangoni Of Florence PROPOSAL80Anna Fali
1011Morrow T CampainRussia2026-10-23Chemel, James L Cpa NEW23Xuxue Feng
1012Mayumi U RutaRussia2026-10-27Chemel, James L Cpa NEW25Amy Elsner
1013Darci J VenereArgentina2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED89Ivan Magalhaes
1014Antonio V BowleyBrazil2026-10-31Truhlar And Truhlar Attys RENEWAL75Asiya Javayant
1015Jennifer W ChuiUnited Kingdom2026-10-19Chanay, Jeffrey A Esq PROPOSAL75Bernardo Dominic
1016Smith L FollerRussia2026-10-26Chemel, James L Cpa RENEWAL54Bernardo Dominic
1017Julie W InouyeFrance2026-10-30Commercial Press UNQUALIFIED25Amy Elsner
1018Kadeem L FlosiFrance2026-10-14Dorl, James J Esq PROPOSAL45Onyama Limba
1019Maisha Z AlbaresRussia2026-10-24Dorl, James J Esq NEGOTIATION14Bernardo Dominic
1020Sinclair I GauchoItaly2026-10-05Benton, John B Jr PROPOSAL73Ivan Magalhaes
1021Arvin A MaletFrance2026-10-26Feltz Printing Service QUALIFIED62Ioni Bowcher
1022Munro T FigeroaArgentina2026-10-09King, Christopher A Esq RENEWAL59Asiya Javayant
1023Sinclair R CampainSpain2026-10-28Printing Dimensions NEGOTIATION30Amy Elsner
1024Cody D ShinkoJapan2026-10-04Dorl, James J Esq QUALIFIED2Elwin Sharvill
1025Stacey L KuskoArgentina2026-10-19Rousseaux, Michael Esq NEGOTIATION91Asiya Javayant
1026Ivar F FigeroaUnited Kingdom2026-10-05Dorl, James J Esq UNQUALIFIED39Asiya Javayant
1027Francesco L PoquetteUnited Kingdom2026-10-12Truhlar And Truhlar Attys NEW31Xuxue Feng
1028Faith H CampainBrazil2026-10-22Chanay, Jeffrey A Esq PROPOSAL79Bernardo Dominic
1029James O PoquetteGermany2026-10-11Feiner Bros NEGOTIATION46Amy Elsner
1030Munro J InouyeUnited Kingdom2026-11-02Chanay, Jeffrey A Esq NEGOTIATION73Ivan Magalhaes
1031Ricardo O OldroydIndia2026-10-19Chapman, Ross E Esq NEW87Ioni Bowcher
1032Deepesh V NickaItaly2026-10-09Feltz Printing Service PROPOSAL91Asiya Javayant
1033Johnson R GlickGermany2026-10-25Truhlar And Truhlar Attys NEW14Ioni Bowcher
1034Adams E MorascaCanada2026-10-29Feiner Bros RENEWAL3Ivan Magalhaes
1035Izzy W DarakjyItaly2026-10-23Chanay, Jeffrey A Esq UNQUALIFIED62Ioni Bowcher
1036Francesco A WaycottSpain2026-10-28King, Christopher A Esq PROPOSAL3Anna Fali
1037Aruna V VenereUnited Kingdom2026-10-10Printing Dimensions UNQUALIFIED42Onyama Limba
1038Isabel Z SaylorsRussia2026-10-29Buckley Miller Wright NEW97Anna Fali
1039Jones J KuskoItaly2026-10-04Truhlar And Truhlar Attys NEGOTIATION14Asiya Javayant
1040David X ButtBrazil2026-10-21Feltz Printing Service RENEWAL73Elwin Sharvill
1041Kaitlin Q FollerRussia2026-10-06King, Christopher A Esq NEW53Xuxue Feng
1042Darci J RimJapan2026-10-22Chemel, James L Cpa NEGOTIATION74Stephen Shaw
1043Mujtaba E StockhamUnited Kingdom2026-10-12Rousseaux, Michael Esq UNQUALIFIED19Asiya Javayant
1044Maisha B CampainCanada2026-10-22Chanay, Jeffrey A Esq QUALIFIED35Ioni Bowcher
1045Jennifer S OldroydUnited Kingdom2026-10-27Rousseaux, Michael Esq RENEWAL2Xuxue Feng
1046Ricardo W WhobreySpain2026-10-21Rousseaux, Michael Esq PROPOSAL48Asiya Javayant
1047Nicolas G AmigonArgentina2026-10-16Feiner Bros RENEWAL14Amy Elsner
1048Greenwood V FigeroaIndia2026-10-18King, Christopher A Esq QUALIFIED88Stephen Shaw
1049Ivar Q CampainSpain2026-10-12Printing Dimensions UNQUALIFIED61Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan R GlickItalyElwin Sharvill PROPOSAL
Greenwood S RoysterAustraliaIoni Bowcher PROPOSAL
Morrow J IturbideJapanAnna Fali QUALIFIED
Isabel C MacleadBrazilAmy Elsner NEW
Ivar W DoeJapanIoni Bowcher RENEWAL
Mujtaba V SlusarskiItalyAnna Fali PROPOSAL
Francesco P SlusarskiItalyElwin Sharvill UNQUALIFIED
Stacey N GauchoFranceAsiya Javayant RENEWAL
Clifford G RulapaughRussiaAnna Fali QUALIFIED
Leon O RoysterAustraliaAmy Elsner NEW
Misaki C InouyeIndiaIvan Magalhaes UNQUALIFIED
Clifford F FlosiIndiaAnna Fali NEGOTIATION
Kaitlin Y KuskoCanadaAsiya Javayant UNQUALIFIED
Isabel E PaprockiFranceBernardo Dominic NEW
Isabel K MaletJapanIoni Bowcher NEW
Ricardo P GlickArgentinaStephen Shaw UNQUALIFIED
Faith I PerinJapanStephen Shaw QUALIFIED
Jeanfrancois X BologniaSpainAmy Elsner PROPOSAL
Stacey Y ShinkoItalyIvan Magalhaes RENEWAL
Izzy B IturbideCanadaBernardo Dominic UNQUALIFIED
Adams M FlosiIndiaElwin Sharvill QUALIFIED
Juan B FigeroaJapanIoni Bowcher NEW
Greenwood N ButtGermanyBernardo Dominic NEW
Nicolas T GillianJapanBernardo Dominic QUALIFIED
Adams F VocelkaBrazilAnna Fali NEGOTIATION
Stacey M NickaAustraliaAmy Elsner NEW
Tony M WaycottAustraliaIoni Bowcher NEW
Ashley K SergiSpainBernardo Dominic PROPOSAL
Francesco I RoysterIndiaAnna Fali QUALIFIED
Jefferson P StockhamUnited KingdomElwin Sharvill PROPOSAL
Chavez P GauchoArgentinaIvan Magalhaes NEW
Wickens G PerinArgentinaIoni Bowcher NEGOTIATION
Misaki U PaprockiBrazilIoni Bowcher NEGOTIATION
Rodrigues K WhobreyAustraliaIvan Magalhaes RENEWAL
Isabel A BriddickGermanyXuxue Feng NEGOTIATION
Salvatore I BowleyAustraliaAmy Elsner UNQUALIFIED
Leja Z RulapaughItalyAnna Fali PROPOSAL
Leja H GauchoUnited KingdomOnyama Limba NEGOTIATION
Aditya D NestleAustraliaAsiya Javayant RENEWAL
Aruna K BologniaArgentinaElwin Sharvill UNQUALIFIED
Munro D WhobreyAustraliaElwin Sharvill RENEWAL
Aruna G PoquetteAustraliaIvan Magalhaes NEW
Clifford A VenereCanadaBernardo Dominic PROPOSAL
Maisha U CampainItalyElwin Sharvill QUALIFIED
Jones Z OstroskyCanadaOnyama Limba NEGOTIATION
Tony I MacleadIndiaIvan Magalhaes RENEWAL
Faith X WieserJapanXuxue Feng UNQUALIFIED
Francesco L VenereAustraliaStephen Shaw QUALIFIED
Munro W CaudySpainAsiya Javayant QUALIFIED
Faith B NickaIndiaIoni Bowcher PROPOSAL
Frozen Columns
Name
Isabel L Stenseth
Mujtaba R Chui
Aruna T Malet
Clifford Q Rim
Sinclair Q Poquette
Greenwood A Royster
Clifford S Ostrosky
Johnson Z Butt
Tony J Gaucho
Leja Y Ferencz
Adams P Iturbide
Salvatore P Inouye
Adams S Maclead
Stacey B Perin
Octavia C Inouye
Jennifer F Perin
Claire U Waycott
Jennifer Q Stenseth
Mujtaba C Maclead
Sinclair X Foller
Juan K Tollner
Smith C Campain
Deepesh C Garufi
Cody V Doe
Aika K Bowley
Stacey Z Campain
James E Bolognia
Mujtaba Q Chui
Johnson K Foller
Wickens A Poquette
Smith O Schemmer
Silvio M Chui
Claire H Darakjy
Adams V Marrier
Kadeem C Figeroa
Arvin Q Kusko
Izzy E Malet
Jennifer Z Whobrey
Ashley J Dilliard
David D Gillian
Faith Z Poquette
Morrow D Nicka
Cody K Campain
Aditya I Ostrosky
Costa I Caldarera
Leon F Perin
Emily Q Nicka
Maisha S Butt
Maisha Z Morasca
Octavia M Chui
IdCountryDate
1000Canada2026-10-17
1001Brazil2026-10-21
1002Brazil2026-10-15
1003Brazil2026-10-17
1004Russia2026-10-09
1005Australia2026-10-18
1006United Kingdom2026-10-28
1007Japan2026-10-30
1008Canada2026-10-25
1009France2026-10-26
1010Japan2026-10-25
1011Australia2026-10-25
1012France2026-10-22
1013Russia2026-10-08
1014India2026-11-02
1015Brazil2026-11-02
1016India2026-10-20
1017France2026-10-12
1018United Kingdom2026-10-25
1019Italy2026-10-22
1020Germany2026-10-21
1021Russia2026-10-18
1022Spain2026-10-18
1023United Kingdom2026-10-27
1024Russia2026-10-24
1025Argentina2026-10-05
1026Italy2026-11-02
1027Germany2026-10-13
1028Japan2026-10-30
1029United Kingdom2026-10-13
1030Japan2026-10-27
1031Japan2026-10-18
1032Canada2026-10-30
1033Russia2026-10-06
1034France2026-10-24
1035Brazil2026-10-28
1036India2026-10-11
1037India2026-10-31
1038Canada2026-10-08
1039Australia2026-10-29
1040Italy2026-10-07
1041Canada2026-10-29
1042Canada2026-10-29
1043France2026-10-28
1044Brazil2026-10-06
1045Russia2026-10-11
1046Spain2026-10-13
1047India2026-10-09
1048Australia2026-10-10
1049Spain2026-10-05

On-Demand Data

NameIdCountryDate
Kaitlin N Chui1000Germany2026-10-17
Smith N Tollner1001Japan2026-10-17
Alejandro O Doe1002India2026-10-18
Aruna W Bolognia1003United Kingdom2026-10-09
David P Campain1004Australia2026-10-13
Jones Q Shinko1005Russia2026-10-09
Rodrigues Q Saylors1006Canada2026-10-07
Kadeem A Schemmer1007Brazil2026-10-24
Leja H Slusarski1008Spain2026-10-08
Maria G Caudy1009France2026-10-11
Kaitlin Q Foller1010Italy2026-10-14
Mujtaba P Dilliard1011Canada2026-10-08
Isabel E Shinko1012Italy2026-10-11
Claire Y Wieser1013Japan2026-10-14
Maisha U Darakjy1014United Kingdom2026-10-16
Ashley M Venere1015Canada2026-11-02
Adams N Caudy1016France2026-10-29
Jennifer S Morasca1017Argentina2026-10-18
Nicolas S Morasca1018Germany2026-10-29
Sinclair P Venere1019France2026-10-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin H RoysterRussiaAsiya Javayant NEGOTIATION
Morrow S TollnerItalyAsiya Javayant NEW
James T RutaBrazilAnna Fali PROPOSAL
Nicolas P StockhamBrazilIoni Bowcher NEW
Morrow A WieserAustraliaAmy Elsner NEGOTIATION
Cody M RimGermanyOnyama Limba PROPOSAL
Ricardo A IturbideRussiaIoni Bowcher QUALIFIED
Tony P GlickFranceElwin Sharvill UNQUALIFIED
Costa Y MaletUnited KingdomAnna Fali QUALIFIED
Deepesh G RulapaughFranceElwin Sharvill QUALIFIED
Salvatore Z KolmetzIndiaIvan Magalhaes QUALIFIED
Francesco C GillianUnited KingdomAsiya Javayant RENEWAL
Munro W CaldareraIndiaStephen Shaw PROPOSAL
Aika O StensethFranceElwin Sharvill NEW
David Y FigeroaAustraliaXuxue Feng RENEWAL
Costa C BologniaAustraliaOnyama Limba QUALIFIED
Wickens J GarufiGermanyAsiya Javayant QUALIFIED
Wickens S MaletCanadaElwin Sharvill NEGOTIATION
Jones I FlosiAustraliaAmy Elsner QUALIFIED
Chavez I OstroskyArgentinaBernardo Dominic QUALIFIED
Alejandro Z AmigonRussiaAnna Fali RENEWAL
Clifford L DoeJapanStephen Shaw QUALIFIED
Kadeem W MacleadIndiaIvan Magalhaes RENEWAL
Ashley Z SchemmerGermanyAsiya Javayant PROPOSAL
Emily Z PoquetteCanadaAsiya Javayant RENEWAL
Francesco C WieserAustraliaIvan Magalhaes NEGOTIATION
Smith W ButtFranceElwin Sharvill RENEWAL
Isabel R DoeRussiaStephen Shaw RENEWAL
Sinclair H OstroskyAustraliaXuxue Feng PROPOSAL
Cody O OstroskyIndiaAsiya Javayant NEW
Aika Q NestleAustraliaXuxue Feng NEW
Johnson L DilliardJapanBernardo Dominic QUALIFIED
Morrow J FollerArgentinaStephen Shaw PROPOSAL
Costa J RulapaughSpainBernardo Dominic PROPOSAL
Costa V GarufiArgentinaOnyama Limba NEGOTIATION
Kadeem E OldroydRussiaElwin Sharvill NEW
Maisha C BriddickIndiaAnna Fali NEW
Arvin E VocelkaCanadaIoni Bowcher RENEWAL
Cody Q MaletAustraliaIoni Bowcher NEW
Munro S SaylorsArgentinaIoni Bowcher PROPOSAL

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