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
Ivar I PoquetteBrazilStephen Shaw PROPOSAL
Wickens M WhobreyRussiaBernardo Dominic PROPOSAL
Wickens M MorascaBrazilOnyama Limba RENEWAL
Greenwood V BowleyJapanAmy Elsner QUALIFIED
Munro V PoquetteFranceElwin Sharvill RENEWAL
Maisha B NickaAustraliaIoni Bowcher NEW
Juan X RulapaughRussiaIoni Bowcher RENEWAL
Ricardo Q OldroydSpainAmy Elsner QUALIFIED
Cody W RulapaughFranceAsiya Javayant NEW
Costa V StockhamUnited KingdomAmy Elsner PROPOSAL
Mayumi G RoysterArgentinaBernardo Dominic NEW
Jeanfrancois M StockhamArgentinaStephen Shaw RENEWAL
Claire H SchemmerRussiaStephen Shaw NEGOTIATION
Nicolas V IturbideJapanIvan Magalhaes PROPOSAL
Chavez N DilliardSpainAmy Elsner UNQUALIFIED
Maria D NestleArgentinaIvan Magalhaes NEGOTIATION
Nicolas P PaprockiArgentinaIoni Bowcher UNQUALIFIED
Claire Z PoquetteUnited KingdomAsiya Javayant PROPOSAL
Claire L OldroydIndiaXuxue Feng PROPOSAL
Morrow Z ShinkoFranceAmy Elsner PROPOSAL
Rodrigues R RulapaughFranceIvan Magalhaes QUALIFIED
Ashley Q OstroskyRussiaAsiya Javayant PROPOSAL
Nicolas I MaletGermanyIoni Bowcher NEGOTIATION
Deepesh S DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Darci D NickaGermanyAmy Elsner RENEWAL
Sinclair X StensethJapanXuxue Feng NEGOTIATION
Faith Z GauchoFranceAsiya Javayant PROPOSAL
Clifford L MacleadCanadaIoni Bowcher NEGOTIATION
Morrow G BologniaSpainAsiya Javayant RENEWAL
Faith T IturbideBrazilAmy Elsner PROPOSAL
Nicolas M ChuiBrazilXuxue Feng PROPOSAL
Alejandro E VenereIndiaOnyama Limba NEGOTIATION
Deepesh B CaldareraItalyIvan Magalhaes UNQUALIFIED
Aruna V DilliardAustraliaAmy Elsner QUALIFIED
Francesco U CampainJapanIoni Bowcher NEGOTIATION
Greenwood S RimAustraliaOnyama Limba PROPOSAL
Maisha H OstroskyBrazilAsiya Javayant UNQUALIFIED
Morrow P BologniaUnited KingdomAsiya Javayant RENEWAL
Clifford D RimUnited KingdomOnyama Limba UNQUALIFIED
Jefferson D MacleadBrazilBernardo Dominic NEGOTIATION
Jeanfrancois T MaletJapanOnyama Limba QUALIFIED
David D MacleadRussiaIvan Magalhaes RENEWAL
Kaitlin E GillianGermanyOnyama Limba NEW
Aika F FlosiAustraliaBernardo Dominic RENEWAL
Isabel G SchemmerItalyStephen Shaw PROPOSAL
Cody X StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Darci H PaprockiGermanyIoni Bowcher UNQUALIFIED
Stacey N GauchoIndiaOnyama Limba NEW
Ricardo J WaycottRussiaAmy Elsner NEGOTIATION
Octavia G NestleCanadaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna F DilliardFranceIoni Bowcher RENEWAL
Silvio J SchemmerIndiaStephen Shaw NEGOTIATION
Jennifer V CampainSpainXuxue Feng RENEWAL
Chavez K SchemmerSpainIoni Bowcher RENEWAL
Misaki S TollnerCanadaXuxue Feng RENEWAL
Nicolas A RulapaughRussiaElwin Sharvill RENEWAL
James G CaldareraAustraliaIvan Magalhaes NEGOTIATION
Wickens S VenereFranceElwin Sharvill QUALIFIED
David L AmigonRussiaBernardo Dominic NEGOTIATION
Smith F ShinkoRussiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro H OstroskyBrazil2026-09-15Feltz Printing Service PROPOSAL77Ivan Magalhaes
1001Mujtaba O MarrierFrance2026-10-05Chapman, Ross E Esq PROPOSAL20Elwin Sharvill
1002Kadeem I VocelkaJapan2026-09-13Buckley Miller Wright NEW72Anna Fali
1003Silvio Z IturbideFrance2026-09-22Morlong Associates RENEWAL27Onyama Limba
1004Greenwood K PerinAustralia2026-10-06Morlong Associates PROPOSAL97Elwin Sharvill
1005Ashley L SergiAustralia2026-10-01Dorl, James J Esq NEW28Stephen Shaw
1006Wickens C CaldareraGermany2026-09-13Truhlar And Truhlar Attys PROPOSAL27Ivan Magalhaes
1007Isabel Q SchemmerCanada2026-09-24Chemel, James L Cpa UNQUALIFIED24Amy Elsner
1008Isabel R KuskoIndia2026-10-07Printing Dimensions QUALIFIED8Ioni Bowcher
1009Mujtaba X BowleyItaly2026-09-27Commercial Press RENEWAL18Stephen Shaw
1010Morrow I MaletGermany2026-10-04Chanay, Jeffrey A Esq QUALIFIED40Bernardo Dominic
1011Clifford E GarufiCanada2026-09-20Buckley Miller Wright NEGOTIATION72Amy Elsner
1012Tony N MaletItaly2026-09-16Printing Dimensions NEW76Anna Fali
1013Nicolas W WaycottArgentina2026-09-27Benton, John B Jr UNQUALIFIED97Onyama Limba
1014Aditya H ButtGermany2026-09-26Benton, John B Jr PROPOSAL42Xuxue Feng
1015Claire O RulapaughBrazil2026-09-26Buckley Miller Wright PROPOSAL91Asiya Javayant
1016Johnson O NestleAustralia2026-10-01Buckley Miller Wright UNQUALIFIED41Asiya Javayant
1017Claire S SergiRussia2026-10-03Rousseaux, Michael Esq QUALIFIED97Onyama Limba
1018Francesco P RulapaughAustralia2026-10-11Printing Dimensions UNQUALIFIED37Ivan Magalhaes
1019Deepesh R DilliardRussia2026-10-07Buckley Miller Wright QUALIFIED56Ivan Magalhaes
1020Emily J OldroydCanada2026-09-15Morlong Associates PROPOSAL23Stephen Shaw
1021Isabel L IturbideJapan2026-10-05Chemel, James L Cpa NEW74Ivan Magalhaes
1022Kadeem I FlosiArgentina2026-09-27Rangoni Of Florence RENEWAL65Elwin Sharvill
1023Johnson N RimItaly2026-10-09Benton, John B Jr RENEWAL9Bernardo Dominic
1024Aruna N StockhamSpain2026-09-25Feiner Bros NEW77Ivan Magalhaes
1025Costa V SchemmerFrance2026-10-07Feltz Printing Service NEGOTIATION48Onyama Limba
1026Julie V CaldareraUnited Kingdom2026-10-01Truhlar And Truhlar Attys RENEWAL54Stephen Shaw
1027Deepesh Z BologniaCanada2026-09-22Chapman, Ross E Esq UNQUALIFIED68Ivan Magalhaes
1028Clifford A NestleBrazil2026-10-03Truhlar And Truhlar Attys NEW36Anna Fali
1029Antonio R FollerRussia2026-09-23Printing Dimensions PROPOSAL65Onyama Limba
1030Claire V GauchoRussia2026-09-23Chapman, Ross E Esq NEGOTIATION70Onyama Limba
1031Arvin R StensethAustralia2026-09-26Dorl, James J Esq PROPOSAL88Ioni Bowcher
1032Smith U RoysterJapan2026-10-03Chapman, Ross E Esq QUALIFIED77Anna Fali
1033Izzy D FigeroaBrazil2026-09-29Commercial Press RENEWAL46Xuxue Feng
1034Darci B NestleGermany2026-09-22Commercial Press NEGOTIATION68Amy Elsner
1035Ricardo M InouyeJapan2026-09-25Chemel, James L Cpa NEGOTIATION94Asiya Javayant
1036Ashley E RulapaughUnited Kingdom2026-09-26Benton, John B Jr QUALIFIED7Asiya Javayant
1037Tony V MaletAustralia2026-09-24Commercial Press QUALIFIED59Ioni Bowcher
1038Sinclair E IturbideUnited Kingdom2026-10-02Printing Dimensions PROPOSAL2Bernardo Dominic
1039Chavez C ChuiJapan2026-10-01Truhlar And Truhlar Attys RENEWAL53Ivan Magalhaes
1040Ivar K BowleyItaly2026-09-29Morlong Associates PROPOSAL45Bernardo Dominic
1041Johnson I RutaRussia2026-09-14King, Christopher A Esq RENEWAL24Xuxue Feng
1042Costa J CaldareraIndia2026-09-19Truhlar And Truhlar Attys NEW43Ioni Bowcher
1043Stacey G FerenczBrazil2026-09-13Dorl, James J Esq NEGOTIATION35Amy Elsner
1044Johnson C IturbideRussia2026-09-13Rousseaux, Michael Esq UNQUALIFIED53Elwin Sharvill
1045Clifford G FlosiFrance2026-09-18Morlong Associates UNQUALIFIED92Amy Elsner
1046Jones J VenereIndia2026-10-12Truhlar And Truhlar Attys QUALIFIED95Xuxue Feng
1047Greenwood N RulapaughIndia2026-09-21Morlong Associates NEGOTIATION48Anna Fali
1048Jefferson E ShinkoAustralia2026-09-26Feiner Bros NEGOTIATION4Ivan Magalhaes
1049Stacey A MaletIndia2026-09-20Chapman, Ross E Esq QUALIFIED46Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jennifer O PoquetteFranceXuxue Feng UNQUALIFIED
Alejandro J DoeBrazilAmy Elsner QUALIFIED
Misaki O SergiArgentinaOnyama Limba PROPOSAL
Chavez E BologniaJapanAnna Fali RENEWAL
Izzy L GarufiBrazilElwin Sharvill QUALIFIED
Johnson N MarrierUnited KingdomAmy Elsner RENEWAL
Ashley E WaycottItalyXuxue Feng RENEWAL
Faith J RulapaughSpainOnyama Limba NEW
Arvin A MacleadCanadaAmy Elsner QUALIFIED
Rodrigues Q FigeroaUnited KingdomAmy Elsner NEW
James T PaprockiArgentinaAnna Fali NEGOTIATION
Deepesh A ButtArgentinaStephen Shaw PROPOSAL
Murillo I KolmetzBrazilIoni Bowcher NEGOTIATION
Antonio K FollerIndiaXuxue Feng PROPOSAL
Antonio Q KuskoJapanAnna Fali NEW
Ricardo L FerenczItalyIvan Magalhaes UNQUALIFIED
Kadeem J MorascaGermanyXuxue Feng UNQUALIFIED
Murillo P RutaCanadaAnna Fali QUALIFIED
Ricardo U PaprockiBrazilIvan Magalhaes NEW
Greenwood F WieserItalyElwin Sharvill NEGOTIATION
Antonio Z OldroydJapanAsiya Javayant PROPOSAL
Aruna C BowleyBrazilIvan Magalhaes RENEWAL
Claire P SaylorsGermanyAmy Elsner RENEWAL
Greenwood N WieserGermanyXuxue Feng QUALIFIED
Ricardo N SchemmerUnited KingdomIoni Bowcher QUALIFIED
Aditya J AmigonArgentinaAsiya Javayant UNQUALIFIED
Octavia V BowleyCanadaAnna Fali NEW
David S StockhamCanadaAnna Fali QUALIFIED
Ivar I AlbaresAustraliaXuxue Feng UNQUALIFIED
Jefferson H PaprockiUnited KingdomAnna Fali NEGOTIATION
Claire S SergiJapanAmy Elsner NEGOTIATION
Salvatore Z DilliardCanadaAsiya Javayant PROPOSAL
Jennifer E OldroydGermanyOnyama Limba UNQUALIFIED
Arvin C OldroydUnited KingdomIoni Bowcher QUALIFIED
Izzy Z GauchoGermanyAsiya Javayant PROPOSAL
Julie Q WieserJapanIoni Bowcher NEGOTIATION
Kadeem P BriddickItalyIoni Bowcher NEW
Misaki T FigeroaFranceIoni Bowcher RENEWAL
Misaki I DarakjyRussiaIvan Magalhaes UNQUALIFIED
Kaitlin E InouyeIndiaAnna Fali RENEWAL
Ashley N ButtUnited KingdomOnyama Limba QUALIFIED
Jones W MaletJapanIvan Magalhaes NEGOTIATION
Kaitlin P GillianItalyAnna Fali UNQUALIFIED
Mayumi B DarakjyBrazilAnna Fali RENEWAL
Ashley Z FollerGermanyXuxue Feng QUALIFIED
Adams O SaylorsRussiaElwin Sharvill QUALIFIED
Mujtaba X CaldareraFranceElwin Sharvill RENEWAL
Clifford V ChuiAustraliaXuxue Feng PROPOSAL
Sinclair X WhobreyBrazilAsiya Javayant UNQUALIFIED
Ivar U ChuiJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Rodrigues C Bolognia
Izzy Y Caudy
Maria N Nestle
Costa T Kolmetz
Deepesh A Vocelka
Costa F Kusko
Julie M Ferencz
Johnson D Albares
Greenwood L Wieser
Smith W Whobrey
Jefferson O Glick
Julie I Albares
Costa A Stockham
Kaitlin O Royster
Kaitlin E Butt
Clifford N Slusarski
Nicolas V Bolognia
Chavez L Ferencz
Misaki G Butt
Wickens P Royster
Aruna Z Ferencz
Isabel U Whobrey
Octavia W Caudy
Maisha Q Glick
Kadeem U Ferencz
Sinclair Q Ruta
James I Figeroa
David M Poquette
Faith T Bolognia
Alejandro M Stenseth
Smith N Bowley
Alejandro X Nestle
Ricardo L Malet
Clifford K Rulapaugh
Smith U Waycott
Octavia W Oldroyd
Claire N Dilliard
Munro Q Gillian
Jeanfrancois K Kusko
Antonio L Ostrosky
Salvatore I Waycott
Octavia Z Perin
Ricardo G Paprocki
Nicolas H Stenseth
Ashley L Waycott
Arvin G Royster
Misaki K Malet
Antonio Z Ostrosky
Izzy E Ferencz
Ivar R Morasca
IdCountryDate
1000Australia2026-09-19
1001Spain2026-09-18
1002India2026-09-28
1003India2026-09-20
1004Russia2026-10-05
1005Spain2026-09-14
1006Russia2026-10-07
1007Australia2026-09-21
1008United Kingdom2026-09-27
1009Italy2026-09-19
1010India2026-10-07
1011Australia2026-10-01
1012India2026-10-06
1013India2026-09-21
1014Canada2026-09-25
1015Germany2026-09-20
1016United Kingdom2026-09-26
1017Australia2026-10-06
1018Argentina2026-09-30
1019Spain2026-10-02
1020Australia2026-09-30
1021United Kingdom2026-10-09
1022Canada2026-09-17
1023Russia2026-09-24
1024France2026-09-30
1025India2026-09-17
1026Brazil2026-09-23
1027Japan2026-09-18
1028France2026-09-22
1029Spain2026-09-28
1030Spain2026-09-30
1031United Kingdom2026-09-19
1032Germany2026-10-07
1033Canada2026-09-26
1034Japan2026-09-14
1035United Kingdom2026-09-14
1036United Kingdom2026-09-23
1037Canada2026-09-17
1038Canada2026-10-11
1039Italy2026-10-07
1040Australia2026-09-15
1041France2026-09-29
1042India2026-10-07
1043United Kingdom2026-10-12
1044Spain2026-10-12
1045Brazil2026-09-29
1046Russia2026-09-14
1047Australia2026-09-23
1048France2026-10-05
1049France2026-09-29

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Caldarera1000France2026-10-04
Deepesh L Kusko1001Brazil2026-09-21
Silvio L Chui1002Argentina2026-10-03
Tony V Campain1003Australia2026-10-04
Jefferson Q Briddick1004United Kingdom2026-09-21
Nicolas V Rim1005Brazil2026-09-18
Isabel H Perin1006United Kingdom2026-10-03
Johnson R Inouye1007Japan2026-10-09
Adams B Gillian1008Germany2026-10-03
Misaki X Stockham1009Argentina2026-09-24
Darci M Dilliard1010Spain2026-09-24
Antonio E Schemmer1011Australia2026-09-22
Isabel N Dilliard1012Russia2026-10-12
Octavia D Darakjy1013Brazil2026-09-17
Clifford R Ferencz1014United Kingdom2026-09-18
Ricardo Q Wieser1015Japan2026-10-08
Isabel I Schemmer1016India2026-09-18
Salvatore S Wieser1017Spain2026-10-05
Kadeem F Shinko1018Brazil2026-09-14
David R Vocelka1019Australia2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez P IturbideArgentinaXuxue Feng QUALIFIED
Greenwood D OstroskyGermanyAnna Fali NEW
Nicolas W FerenczRussiaStephen Shaw NEW
Antonio B BriddickGermanyElwin Sharvill NEGOTIATION
Smith N ChuiGermanyOnyama Limba NEGOTIATION
Juan K AmigonRussiaIvan Magalhaes NEW
Juan G SaylorsItalyXuxue Feng QUALIFIED
Maria Z FlosiIndiaXuxue Feng UNQUALIFIED
Greenwood W MaletRussiaBernardo Dominic RENEWAL
Costa V SlusarskiUnited KingdomXuxue Feng RENEWAL
Alejandro X OstroskyJapanIoni Bowcher UNQUALIFIED
Julie T CaudyIndiaElwin Sharvill PROPOSAL
Arvin U WaycottCanadaBernardo Dominic NEW
Kaitlin J CampainJapanBernardo Dominic NEW
Salvatore Q TollnerIndiaOnyama Limba RENEWAL
Aruna Y WhobreyArgentinaIoni Bowcher RENEWAL
Alejandro T NestleUnited KingdomAmy Elsner NEGOTIATION
David Q GillianFranceIoni Bowcher UNQUALIFIED
Antonio Z StensethSpainOnyama Limba PROPOSAL
Greenwood E SlusarskiUnited KingdomIoni Bowcher QUALIFIED
James N OldroydUnited KingdomAnna Fali RENEWAL
Johnson R CampainBrazilAnna Fali NEGOTIATION
Maisha J ShinkoAustraliaElwin Sharvill QUALIFIED
Rodrigues K ButtSpainAsiya Javayant PROPOSAL
Leon B SaylorsFranceOnyama Limba NEW
Emily Z ShinkoFranceAmy Elsner UNQUALIFIED
Leon K PerinSpainXuxue Feng RENEWAL
Morrow M KuskoFranceAnna Fali PROPOSAL
Ivar U CaldareraRussiaAmy Elsner PROPOSAL
Silvio P BriddickArgentinaBernardo Dominic PROPOSAL
Aditya E RimUnited KingdomAnna Fali PROPOSAL
Izzy B InouyeAustraliaStephen Shaw NEW
Kaitlin H GauchoBrazilIoni Bowcher QUALIFIED
Faith I CampainUnited KingdomXuxue Feng NEGOTIATION
Chavez N KuskoCanadaStephen Shaw NEGOTIATION
Chavez M IturbideFranceOnyama Limba PROPOSAL
Jeanfrancois D RimGermanyIoni Bowcher PROPOSAL
Sinclair R GauchoItalyAsiya Javayant RENEWAL
Smith K RoysterUnited KingdomOnyama Limba PROPOSAL
Cody X FlosiBrazilXuxue Feng 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>