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
David C BriddickCanadaElwin Sharvill PROPOSAL
Jefferson I WieserRussiaOnyama Limba QUALIFIED
Juan S GarufiFranceElwin Sharvill RENEWAL
Munro I CampainAustraliaStephen Shaw RENEWAL
James P TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Isabel V FollerArgentinaElwin Sharvill QUALIFIED
Costa N AlbaresBrazilIvan Magalhaes QUALIFIED
Isabel O StockhamRussiaAnna Fali QUALIFIED
Stacey K WaycottIndiaIvan Magalhaes QUALIFIED
Octavia N RoysterCanadaAnna Fali NEGOTIATION
Francesco X MaletIndiaAmy Elsner UNQUALIFIED
Cody I ShinkoBrazilXuxue Feng NEGOTIATION
Mayumi K GarufiUnited KingdomIoni Bowcher RENEWAL
Morrow Z MaletAustraliaAnna Fali NEGOTIATION
Johnson M InouyeRussiaBernardo Dominic NEW
Isabel O StockhamUnited KingdomAnna Fali QUALIFIED
Aruna V FigeroaGermanyIoni Bowcher NEGOTIATION
Francesco J PerinGermanyBernardo Dominic UNQUALIFIED
Maria Z CampainAustraliaElwin Sharvill UNQUALIFIED
Antonio D BriddickUnited KingdomXuxue Feng NEGOTIATION
Rodrigues G AmigonBrazilXuxue Feng UNQUALIFIED
Francesco M DilliardJapanIvan Magalhaes PROPOSAL
Silvio Y PoquetteRussiaStephen Shaw UNQUALIFIED
Cody Z GarufiGermanyAmy Elsner NEGOTIATION
Rodrigues P SchemmerFranceAnna Fali RENEWAL
Arvin Y WhobreyCanadaBernardo Dominic NEW
Aditya K NickaBrazilStephen Shaw NEW
Tony N CampainItalyBernardo Dominic NEW
Ashley S OstroskyUnited KingdomXuxue Feng RENEWAL
Izzy L RimUnited KingdomXuxue Feng UNQUALIFIED
Salvatore R BriddickIndiaIvan Magalhaes RENEWAL
David N RimJapanBernardo Dominic RENEWAL
Aruna R FollerBrazilOnyama Limba QUALIFIED
Leja Q FigeroaBrazilAnna Fali PROPOSAL
Stacey B MarrierItalyXuxue Feng NEW
Antonio R MorascaArgentinaAsiya Javayant QUALIFIED
Rodrigues P MacleadGermanyElwin Sharvill NEGOTIATION
Salvatore O FollerRussiaElwin Sharvill RENEWAL
Kadeem P FlosiIndiaAsiya Javayant NEGOTIATION
Misaki Z KolmetzItalyBernardo Dominic UNQUALIFIED
Morrow A KolmetzJapanBernardo Dominic PROPOSAL
Aditya Q FlosiGermanyIvan Magalhaes QUALIFIED
Ashley S KuskoItalyAmy Elsner UNQUALIFIED
Murillo V SergiCanadaElwin Sharvill NEW
Chavez C FollerIndiaElwin Sharvill NEGOTIATION
Juan V SaylorsCanadaAmy Elsner QUALIFIED
James U GillianJapanAmy Elsner NEGOTIATION
Clifford E ChuiUnited KingdomOnyama Limba PROPOSAL
Nicolas L OstroskyRussiaAsiya Javayant NEGOTIATION
Izzy O RulapaughJapanAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro I BowleySpainOnyama Limba UNQUALIFIED
Tony G RutaUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh P PoquetteCanadaOnyama Limba NEGOTIATION
Claire P GauchoCanadaStephen Shaw RENEWAL
Costa N CaldareraJapanStephen Shaw RENEWAL
Mujtaba H VocelkaIndiaIvan Magalhaes RENEWAL
Adams A RutaItalyElwin Sharvill UNQUALIFIED
Murillo K NestleAustraliaAmy Elsner UNQUALIFIED
Ricardo E GauchoItalyIvan Magalhaes PROPOSAL
Clifford M PoquetteIndiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya C GarufiBrazil2026-10-14Chemel, James L Cpa PROPOSAL84Onyama Limba
1001Aika Z RoysterBrazil2026-10-16Chapman, Ross E Esq QUALIFIED84Ioni Bowcher
1002Ricardo J FlosiJapan2026-10-24Rousseaux, Michael Esq RENEWAL32Onyama Limba
1003Juan L VenereIndia2026-11-05Dorl, James J Esq QUALIFIED93Ivan Magalhaes
1004Faith S SergiItaly2026-10-16Benton, John B Jr NEGOTIATION58Stephen Shaw
1005Alejandro A MarrierFrance2026-10-14Truhlar And Truhlar Attys PROPOSAL59Stephen Shaw
1006Rodrigues G StockhamArgentina2026-11-05Truhlar And Truhlar Attys NEW57Asiya Javayant
1007Morrow T CaudyArgentina2026-10-26Buckley Miller Wright UNQUALIFIED84Elwin Sharvill
1008Costa U BologniaIndia2026-10-16Benton, John B Jr QUALIFIED64Elwin Sharvill
1009Maisha M InouyeItaly2026-10-18Commercial Press NEGOTIATION77Anna Fali
1010Deepesh S GauchoItaly2026-10-10Rangoni Of Florence QUALIFIED78Amy Elsner
1011Rodrigues N RulapaughGermany2026-11-01Truhlar And Truhlar Attys NEGOTIATION71Elwin Sharvill
1012Claire G RulapaughRussia2026-11-01Printing Dimensions RENEWAL47Xuxue Feng
1013Clifford B KolmetzIndia2026-10-21Printing Dimensions UNQUALIFIED26Stephen Shaw
1014Adams S PerinArgentina2026-10-23Printing Dimensions UNQUALIFIED98Anna Fali
1015James V RimRussia2026-11-03Buckley Miller Wright PROPOSAL7Anna Fali
1016Aruna X PaprockiIndia2026-10-22Dorl, James J Esq NEGOTIATION91Stephen Shaw
1017Chavez V GauchoCanada2026-10-20Morlong Associates NEGOTIATION49Asiya Javayant
1018Deepesh N CaldareraIndia2026-10-29Rangoni Of Florence PROPOSAL39Elwin Sharvill
1019Mujtaba E RoysterRussia2026-10-21Feiner Bros PROPOSAL99Stephen Shaw
1020Aika C AmigonItaly2026-10-07Buckley Miller Wright QUALIFIED97Elwin Sharvill
1021Octavia L StensethFrance2026-10-31Rousseaux, Michael Esq NEGOTIATION62Stephen Shaw
1022Ricardo Q WaycottSpain2026-10-30Chemel, James L Cpa PROPOSAL14Anna Fali
1023Deepesh B MaletUnited Kingdom2026-10-12Benton, John B Jr UNQUALIFIED30Ivan Magalhaes
1024Juan D GillianSpain2026-10-31Truhlar And Truhlar Attys QUALIFIED80Amy Elsner
1025Tony P RimItaly2026-10-31Benton, John B Jr NEGOTIATION79Onyama Limba
1026Francesco J BowleyCanada2026-10-29Buckley Miller Wright QUALIFIED99Ivan Magalhaes
1027Morrow B IturbideGermany2026-10-28King, Christopher A Esq UNQUALIFIED6Ioni Bowcher
1028Cody H VenereGermany2026-10-10Feiner Bros QUALIFIED59Asiya Javayant
1029Mayumi A OstroskySpain2026-10-27Rousseaux, Michael Esq RENEWAL25Ivan Magalhaes
1030Adams T DoeFrance2026-10-11Rousseaux, Michael Esq QUALIFIED40Ioni Bowcher
1031Tony N KuskoSpain2026-10-27Rangoni Of Florence QUALIFIED73Asiya Javayant
1032Francesco Q FigeroaArgentina2026-10-31Morlong Associates NEGOTIATION45Ioni Bowcher
1033Kaitlin Y MacleadItaly2026-11-02King, Christopher A Esq RENEWAL62Asiya Javayant
1034Wickens G PaprockiArgentina2026-10-07Commercial Press PROPOSAL40Elwin Sharvill
1035Antonio R VenereJapan2026-10-19Feltz Printing Service RENEWAL66Anna Fali
1036Ashley O MorascaArgentina2026-10-12Truhlar And Truhlar Attys NEGOTIATION52Ioni Bowcher
1037Sinclair T OldroydArgentina2026-10-12Commercial Press NEW92Anna Fali
1038Silvio A MaletBrazil2026-10-15Dorl, James J Esq QUALIFIED23Stephen Shaw
1039Adams N StensethJapan2026-10-23Chapman, Ross E Esq PROPOSAL1Stephen Shaw
1040Murillo E RimUnited Kingdom2026-10-30Buckley Miller Wright QUALIFIED98Elwin Sharvill
1041Sinclair T PoquetteCanada2026-10-21Chapman, Ross E Esq PROPOSAL5Onyama Limba
1042Mujtaba V GlickFrance2026-10-28Chapman, Ross E Esq NEW78Ivan Magalhaes
1043Aditya L WhobreyBrazil2026-10-14Chemel, James L Cpa NEGOTIATION49Bernardo Dominic
1044Jeanfrancois O SaylorsArgentina2026-10-20Printing Dimensions UNQUALIFIED46Bernardo Dominic
1045Octavia L ButtArgentina2026-10-14Feltz Printing Service NEW86Elwin Sharvill
1046Greenwood Z BowleyJapan2026-10-31Rousseaux, Michael Esq QUALIFIED95Stephen Shaw
1047Clifford G MaletGermany2026-11-03Morlong Associates NEW4Elwin Sharvill
1048Aditya T FollerBrazil2026-11-01Benton, John B Jr RENEWAL1Anna Fali
1049Darci W ChuiItaly2026-10-28Commercial Press NEGOTIATION62Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Stacey O VocelkaAustraliaAnna Fali RENEWAL
Izzy R RutaIndiaElwin Sharvill NEGOTIATION
Leja H IturbideAustraliaStephen Shaw UNQUALIFIED
Ivar F FigeroaArgentinaBernardo Dominic QUALIFIED
Adams B StockhamCanadaAsiya Javayant NEW
Wickens E FigeroaArgentinaAnna Fali NEW
Morrow K KolmetzIndiaOnyama Limba RENEWAL
David A AlbaresUnited KingdomBernardo Dominic RENEWAL
Ricardo M BologniaRussiaAnna Fali PROPOSAL
Salvatore T AlbaresJapanIoni Bowcher QUALIFIED
Ricardo W StockhamCanadaAnna Fali QUALIFIED
Darci S InouyeArgentinaIoni Bowcher UNQUALIFIED
Jennifer I VocelkaCanadaElwin Sharvill RENEWAL
Ricardo F DilliardRussiaElwin Sharvill NEW
Julie V SaylorsIndiaAnna Fali NEGOTIATION
Murillo H IturbideItalyIoni Bowcher RENEWAL
Izzy B MacleadSpainAmy Elsner UNQUALIFIED
Kaitlin P TollnerBrazilOnyama Limba UNQUALIFIED
Tony B MaletJapanIvan Magalhaes RENEWAL
Murillo F AlbaresUnited KingdomAmy Elsner QUALIFIED
Julie C ButtAustraliaAmy Elsner NEW
Johnson O VocelkaSpainOnyama Limba UNQUALIFIED
David L GlickSpainAsiya Javayant NEGOTIATION
Smith S CampainGermanyIvan Magalhaes PROPOSAL
Misaki X IturbideBrazilIvan Magalhaes QUALIFIED
Costa O PerinItalyAsiya Javayant PROPOSAL
Faith X AlbaresCanadaStephen Shaw NEW
Cody P BriddickArgentinaAnna Fali NEW
Costa A ButtIndiaAmy Elsner QUALIFIED
Francesco J WhobreyBrazilIoni Bowcher RENEWAL
Izzy G OldroydSpainXuxue Feng QUALIFIED
Leon H WaycottUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin Q PaprockiAustraliaStephen Shaw UNQUALIFIED
Deepesh B KuskoSpainXuxue Feng RENEWAL
Julie O KuskoRussiaOnyama Limba QUALIFIED
Arvin B PerinGermanyStephen Shaw RENEWAL
Izzy J PoquetteArgentinaAsiya Javayant UNQUALIFIED
Clifford C PaprockiCanadaOnyama Limba PROPOSAL
Greenwood L RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Ricardo U NestleArgentinaIvan Magalhaes QUALIFIED
Deepesh H CaudyItalyXuxue Feng QUALIFIED
Smith R CampainRussiaStephen Shaw NEW
James D BriddickAustraliaAmy Elsner PROPOSAL
Aruna B MarrierJapanIvan Magalhaes RENEWAL
Morrow C RimItalyIvan Magalhaes NEGOTIATION
Smith Q SergiCanadaIvan Magalhaes NEGOTIATION
Claire P SergiUnited KingdomElwin Sharvill RENEWAL
Cody S ChuiJapanAnna Fali QUALIFIED
Antonio M StensethItalyOnyama Limba RENEWAL
Juan S RutaRussiaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Tony E Stockham
Ivar G Butt
James O Nestle
Adams S Caudy
Chavez K Flosi
Faith Z Rim
Jennifer Q Caudy
Rodrigues M Royster
Misaki Z Gillian
Tony P Flosi
Claire O Inouye
Salvatore X Rulapaugh
Munro U Stockham
Aruna R Perin
Jennifer F Ruta
Johnson B Rulapaugh
Leja O Slusarski
Clifford N Whobrey
Ricardo K Albares
Morrow Q Perin
Leon G Briddick
Murillo Z Wieser
Izzy M Foller
Aruna K Figeroa
Jeanfrancois S Vocelka
Alejandro A Bolognia
Izzy E Foller
Leja U Campain
Wickens T Saylors
Arvin T Vocelka
Emily F Chui
Kadeem I Bolognia
Munro L Nestle
Stacey H Ferencz
Clifford F Stenseth
Misaki C Chui
Misaki V Figeroa
Faith R Bolognia
Ivar J Paprocki
Faith F Gaucho
Wickens B Royster
Costa V Caudy
Leja P Tollner
Francesco J Campain
Munro C Ostrosky
Tony A Rulapaugh
Maisha Y Royster
Mayumi U Malet
Tony A Iturbide
Smith K Garufi
IdCountryDate
1000Argentina2026-10-17
1001Argentina2026-10-23
1002Russia2026-10-07
1003Brazil2026-10-10
1004Japan2026-10-24
1005Spain2026-10-30
1006Brazil2026-10-10
1007France2026-10-21
1008India2026-11-03
1009Spain2026-11-03
1010Japan2026-10-25
1011Brazil2026-10-18
1012Spain2026-10-17
1013Australia2026-10-26
1014Australia2026-10-07
1015India2026-10-27
1016Germany2026-10-27
1017Germany2026-10-09
1018Argentina2026-10-23
1019Australia2026-11-04
1020Italy2026-10-21
1021Germany2026-10-14
1022Canada2026-10-12
1023Australia2026-10-24
1024Spain2026-10-24
1025France2026-10-24
1026Australia2026-10-08
1027Argentina2026-10-12
1028Japan2026-10-24
1029Australia2026-11-03
1030Australia2026-10-18
1031France2026-10-19
1032France2026-10-12
1033Canada2026-10-23
1034Spain2026-10-17
1035Australia2026-10-24
1036United Kingdom2026-10-26
1037Argentina2026-11-04
1038Italy2026-10-11
1039Italy2026-10-30
1040France2026-11-04
1041Australia2026-10-28
1042India2026-10-21
1043Brazil2026-10-31
1044Germany2026-10-12
1045Spain2026-10-22
1046Spain2026-11-04
1047France2026-10-12
1048Italy2026-10-10
1049Argentina2026-10-18

On-Demand Data

NameIdCountryDate
Murillo Z Perin1000France2026-10-23
Costa J Venere1001India2026-10-28
Morrow L Tollner1002United Kingdom2026-10-21
Murillo S Venere1003Germany2026-11-03
James J Maclead1004Brazil2026-10-30
Tony V Oldroyd1005Canada2026-10-30
Francesco D Sergi1006Germany2026-11-03
Julie P Kusko1007Canada2026-10-27
Rodrigues H Darakjy1008Japan2026-10-21
Izzy O Amigon1009Australia2026-10-08
Izzy P Foller1010Italy2026-10-15
Antonio H Iturbide1011India2026-10-22
Misaki D Rulapaugh1012France2026-11-05
Chavez Z Amigon1013Germany2026-10-14
Ricardo T Darakjy1014Spain2026-10-29
Maisha Y Waycott1015Spain2026-10-24
Johnson C Doe1016United Kingdom2026-10-11
Jones Q Iturbide1017Spain2026-10-27
James E Royster1018Spain2026-10-21
Ivar I Perin1019Australia2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones F OstroskyRussiaOnyama Limba NEGOTIATION
James L PoquetteBrazilStephen Shaw NEW
Faith I SaylorsSpainIoni Bowcher QUALIFIED
Sinclair R StensethCanadaOnyama Limba NEW
Darci B WhobreyBrazilElwin Sharvill NEGOTIATION
Isabel N RimJapanAsiya Javayant UNQUALIFIED
Costa G SchemmerSpainAmy Elsner RENEWAL
Leja H MaletSpainAsiya Javayant PROPOSAL
Darci L TollnerCanadaIvan Magalhaes RENEWAL
Ivar U IturbideJapanIoni Bowcher QUALIFIED
Francesco L RulapaughItalyAnna Fali PROPOSAL
Izzy E GlickGermanyOnyama Limba NEW
Mayumi I SaylorsRussiaBernardo Dominic RENEWAL
Munro N FlosiCanadaAnna Fali UNQUALIFIED
Claire V MaletItalyIvan Magalhaes NEGOTIATION
Jefferson J MorascaBrazilAsiya Javayant NEGOTIATION
Rodrigues A OldroydIndiaAsiya Javayant NEGOTIATION
Rodrigues B SaylorsIndiaAsiya Javayant NEW
Murillo H SergiIndiaAnna Fali QUALIFIED
James P SaylorsFranceXuxue Feng PROPOSAL
Johnson I SchemmerGermanyIoni Bowcher QUALIFIED
Faith I FerenczCanadaIvan Magalhaes NEW
Arvin P AlbaresSpainXuxue Feng QUALIFIED
Johnson C IturbideUnited KingdomAnna Fali RENEWAL
Leja L OldroydAustraliaOnyama Limba QUALIFIED
Jennifer E BologniaRussiaIoni Bowcher RENEWAL
Salvatore C MaletFranceXuxue Feng NEW
Mayumi V MarrierItalyAsiya Javayant RENEWAL
Silvio Q CampainCanadaAnna Fali NEW
Clifford K OldroydSpainAsiya Javayant UNQUALIFIED
Julie M InouyeRussiaAmy Elsner PROPOSAL
Tony J NestleGermanyIvan Magalhaes UNQUALIFIED
Kaitlin A RulapaughIndiaAnna Fali RENEWAL
Aruna J MaletGermanyAsiya Javayant QUALIFIED
Leja V GauchoSpainOnyama Limba QUALIFIED
Ricardo E OstroskyUnited KingdomStephen Shaw PROPOSAL
Silvio F MorascaBrazilBernardo Dominic NEW
Aruna P DilliardRussiaAsiya Javayant PROPOSAL
Leon X GlickGermanyAsiya Javayant PROPOSAL
Mayumi S BowleyCanadaIvan Magalhaes 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>