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
Claire X WaycottIndiaIvan Magalhaes RENEWAL
Wickens Y FollerItalyAsiya Javayant NEW
Salvatore K OldroydRussiaXuxue Feng NEW
Alejandro E CampainAustraliaBernardo Dominic NEW
Salvatore J SergiArgentinaOnyama Limba PROPOSAL
Silvio C MaletArgentinaElwin Sharvill UNQUALIFIED
Sinclair I CaudyUnited KingdomOnyama Limba NEGOTIATION
Johnson H OstroskyIndiaOnyama Limba NEW
Stacey D WaycottArgentinaElwin Sharvill PROPOSAL
Isabel Z FlosiJapanElwin Sharvill PROPOSAL
Tony I ChuiJapanBernardo Dominic QUALIFIED
Silvio W VocelkaArgentinaOnyama Limba NEGOTIATION
Julie V GlickArgentinaAsiya Javayant UNQUALIFIED
Costa Q FigeroaItalyOnyama Limba NEW
Leon J RimSpainIvan Magalhaes UNQUALIFIED
Greenwood T GauchoJapanIvan Magalhaes NEW
Salvatore G WaycottIndiaAmy Elsner RENEWAL
Clifford O CampainGermanyIvan Magalhaes NEW
Octavia J StensethAustraliaAmy Elsner QUALIFIED
Alejandro R IturbideCanadaElwin Sharvill QUALIFIED
Sinclair K OstroskyUnited KingdomElwin Sharvill PROPOSAL
Emily H VocelkaGermanyAmy Elsner RENEWAL
Maisha M ButtBrazilAnna Fali UNQUALIFIED
Cody S VocelkaArgentinaStephen Shaw QUALIFIED
Alejandro U AmigonArgentinaAsiya Javayant RENEWAL
Arvin B MaletArgentinaAmy Elsner NEGOTIATION
Nicolas R VenereSpainIvan Magalhaes PROPOSAL
Rodrigues O SchemmerArgentinaAsiya Javayant NEGOTIATION
Leja X AlbaresArgentinaAsiya Javayant UNQUALIFIED
Rodrigues N TollnerCanadaElwin Sharvill PROPOSAL
Kadeem C MorascaAustraliaBernardo Dominic RENEWAL
James C ButtIndiaAnna Fali PROPOSAL
Munro O MaletUnited KingdomElwin Sharvill QUALIFIED
Deepesh D ChuiBrazilAmy Elsner PROPOSAL
Kaitlin I PerinJapanAnna Fali RENEWAL
Leon Q SchemmerArgentinaAsiya Javayant UNQUALIFIED
Aditya X KolmetzCanadaIvan Magalhaes NEGOTIATION
Clifford K ButtUnited KingdomIoni Bowcher NEW
Murillo M PaprockiFranceIvan Magalhaes NEW
Wickens U BowleyAustraliaElwin Sharvill UNQUALIFIED
Maisha Q PoquetteIndiaOnyama Limba NEGOTIATION
Clifford H FollerRussiaStephen Shaw RENEWAL
Deepesh N RulapaughArgentinaElwin Sharvill RENEWAL
Maisha G VocelkaGermanyAmy Elsner NEGOTIATION
Johnson K CaudyJapanStephen Shaw RENEWAL
Juan Z BriddickItalyXuxue Feng UNQUALIFIED
Silvio Z GarufiJapanBernardo Dominic PROPOSAL
Sinclair G PoquetteCanadaOnyama Limba NEW
Claire H SaylorsRussiaAmy Elsner PROPOSAL
Deepesh S CaudyCanadaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair J WhobreyFranceAsiya Javayant UNQUALIFIED
Silvio Y RimAustraliaElwin Sharvill UNQUALIFIED
Mayumi W StockhamRussiaStephen Shaw UNQUALIFIED
Misaki M StockhamCanadaAmy Elsner PROPOSAL
Stacey W PaprockiIndiaIvan Magalhaes NEW
David H MorascaCanadaAmy Elsner PROPOSAL
Stacey E SergiArgentinaAsiya Javayant NEGOTIATION
Aruna E StockhamBrazilAmy Elsner QUALIFIED
Maisha U NestleBrazilOnyama Limba NEGOTIATION
Claire W MarrierUnited KingdomElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco J TollnerAustralia2026-10-23Buckley Miller Wright NEW94Bernardo Dominic
1001Clifford L PoquetteFrance2026-10-20Chapman, Ross E Esq NEGOTIATION14Ioni Bowcher
1002Antonio T MaletJapan2026-10-06Morlong Associates UNQUALIFIED76Ioni Bowcher
1003Salvatore H PoquetteAustralia2026-10-03Benton, John B Jr PROPOSAL83Xuxue Feng
1004Izzy O RutaIndia2026-10-24Rousseaux, Michael Esq RENEWAL92Ivan Magalhaes
1005David T FigeroaCanada2026-10-16Benton, John B Jr PROPOSAL76Bernardo Dominic
1006Sinclair F StensethFrance2026-10-07Commercial Press QUALIFIED26Amy Elsner
1007Jennifer Y PaprockiItaly2026-11-01Truhlar And Truhlar Attys NEW86Anna Fali
1008Mayumi L ButtJapan2026-10-03Chemel, James L Cpa QUALIFIED82Anna Fali
1009Jennifer H WieserUnited Kingdom2026-10-19King, Christopher A Esq PROPOSAL93Asiya Javayant
1010Jefferson G GarufiIndia2026-11-01Feltz Printing Service PROPOSAL6Asiya Javayant
1011Cody T StensethJapan2026-10-15Printing Dimensions QUALIFIED52Amy Elsner
1012David V GarufiBrazil2026-10-15Commercial Press PROPOSAL44Asiya Javayant
1013Clifford L RulapaughIndia2026-10-20Rousseaux, Michael Esq NEW35Anna Fali
1014Jennifer I WaycottBrazil2026-10-07Rousseaux, Michael Esq QUALIFIED49Anna Fali
1015Nicolas P RoysterItaly2026-10-06Chemel, James L Cpa UNQUALIFIED68Bernardo Dominic
1016Chavez Y GarufiAustralia2026-10-12Chanay, Jeffrey A Esq NEGOTIATION17Anna Fali
1017Maisha C DilliardBrazil2026-10-19Truhlar And Truhlar Attys NEGOTIATION14Ioni Bowcher
1018Jeanfrancois A CampainAustralia2026-10-22Benton, John B Jr PROPOSAL94Elwin Sharvill
1019James W FigeroaSpain2026-10-28Morlong Associates NEW39Ivan Magalhaes
1020Aika S PerinBrazil2026-11-01Commercial Press NEGOTIATION6Ivan Magalhaes
1021Morrow M FerenczIndia2026-10-04Morlong Associates UNQUALIFIED73Elwin Sharvill
1022Murillo D WhobreyArgentina2026-10-03Feltz Printing Service QUALIFIED16Asiya Javayant
1023Isabel F FigeroaCanada2026-10-11Dorl, James J Esq PROPOSAL61Anna Fali
1024Costa F GlickUnited Kingdom2026-10-22Commercial Press QUALIFIED83Asiya Javayant
1025Claire P MaletRussia2026-10-05Dorl, James J Esq NEGOTIATION32Ivan Magalhaes
1026Wickens O FerenczArgentina2026-10-04Morlong Associates NEW69Xuxue Feng
1027Kaitlin L StockhamArgentina2026-10-31Truhlar And Truhlar Attys QUALIFIED51Bernardo Dominic
1028Costa N VenereSpain2026-10-31Truhlar And Truhlar Attys QUALIFIED69Elwin Sharvill
1029Wickens C FigeroaBrazil2026-10-03King, Christopher A Esq QUALIFIED13Xuxue Feng
1030Cody L InouyeGermany2026-10-08Benton, John B Jr PROPOSAL7Stephen Shaw
1031Stacey G CampainGermany2026-10-28King, Christopher A Esq NEW36Amy Elsner
1032Isabel C RutaRussia2026-10-28Chanay, Jeffrey A Esq NEGOTIATION3Anna Fali
1033Ricardo R SergiIndia2026-10-22Truhlar And Truhlar Attys NEGOTIATION92Ioni Bowcher
1034Claire Z RulapaughSpain2026-10-22Chemel, James L Cpa NEW79Asiya Javayant
1035Wickens T AmigonGermany2026-10-19Chapman, Ross E Esq RENEWAL2Xuxue Feng
1036Costa B StensethUnited Kingdom2026-10-09Commercial Press UNQUALIFIED16Ivan Magalhaes
1037Cody W PaprockiItaly2026-10-28Rangoni Of Florence RENEWAL32Stephen Shaw
1038Claire S TollnerSpain2026-10-03Morlong Associates UNQUALIFIED40Ivan Magalhaes
1039David R NickaJapan2026-10-19Chapman, Ross E Esq PROPOSAL67Onyama Limba
1040Antonio K DarakjyAustralia2026-10-31Buckley Miller Wright RENEWAL46Elwin Sharvill
1041Misaki W StockhamCanada2026-10-30Rangoni Of Florence QUALIFIED18Elwin Sharvill
1042Leon Z GillianItaly2026-10-13Feltz Printing Service PROPOSAL55Anna Fali
1043Alejandro A KuskoBrazil2026-10-24Chemel, James L Cpa RENEWAL60Onyama Limba
1044Munro J GillianCanada2026-10-30Chapman, Ross E Esq UNQUALIFIED84Ioni Bowcher
1045Octavia D FerenczCanada2026-10-26Truhlar And Truhlar Attys NEW88Ioni Bowcher
1046Murillo N AmigonUnited Kingdom2026-10-14Feiner Bros NEGOTIATION40Elwin Sharvill
1047Claire R NickaGermany2026-10-15Truhlar And Truhlar Attys UNQUALIFIED88Elwin Sharvill
1048Alejandro A StensethArgentina2026-10-29Commercial Press QUALIFIED88Amy Elsner
1049Leon L GarufiItaly2026-10-21Dorl, James J Esq UNQUALIFIED35Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois B WhobreyFranceAsiya Javayant RENEWAL
Leon Y CaudyUnited KingdomOnyama Limba NEGOTIATION
Murillo C StensethJapanIvan Magalhaes QUALIFIED
Greenwood J SergiRussiaIvan Magalhaes RENEWAL
Smith Y MarrierRussiaBernardo Dominic UNQUALIFIED
Kadeem A BowleyJapanIvan Magalhaes PROPOSAL
Aditya B PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco P CampainJapanIoni Bowcher PROPOSAL
Darci Z GillianGermanyXuxue Feng QUALIFIED
Cody C GlickSpainElwin Sharvill PROPOSAL
Wickens M BowleyAustraliaIvan Magalhaes NEW
Julie O InouyeFranceOnyama Limba RENEWAL
Ricardo F RulapaughIndiaAnna Fali NEW
Morrow P ButtSpainStephen Shaw NEGOTIATION
Silvio N WieserUnited KingdomOnyama Limba RENEWAL
Faith R OldroydIndiaStephen Shaw NEGOTIATION
Claire F FerenczCanadaAmy Elsner RENEWAL
Costa U StensethCanadaBernardo Dominic RENEWAL
Maisha Y StensethJapanXuxue Feng RENEWAL
Stacey N GlickItalyElwin Sharvill NEGOTIATION
Munro Q TollnerBrazilAnna Fali NEW
James I CampainCanadaIvan Magalhaes PROPOSAL
Jones Y AlbaresSpainIoni Bowcher NEGOTIATION
Smith U GlickBrazilOnyama Limba QUALIFIED
James U KolmetzBrazilAnna Fali UNQUALIFIED
Antonio O DarakjySpainStephen Shaw RENEWAL
Julie A MaletIndiaElwin Sharvill RENEWAL
Darci I RulapaughAustraliaAnna Fali QUALIFIED
Murillo Q RutaIndiaAsiya Javayant RENEWAL
James J GillianSpainAmy Elsner PROPOSAL
Johnson Q KolmetzCanadaAsiya Javayant QUALIFIED
Kadeem X NickaSpainBernardo Dominic NEGOTIATION
Murillo L SergiFranceOnyama Limba UNQUALIFIED
Aruna R CaldareraUnited KingdomAmy Elsner NEW
Leja P PoquetteCanadaXuxue Feng NEGOTIATION
David V CaldareraGermanyAmy Elsner NEGOTIATION
Deepesh D PoquetteCanadaIvan Magalhaes UNQUALIFIED
Arvin N ButtSpainAsiya Javayant NEGOTIATION
Maria O AmigonUnited KingdomIoni Bowcher NEW
Juan F DoeAustraliaAsiya Javayant UNQUALIFIED
Greenwood S SaylorsUnited KingdomStephen Shaw QUALIFIED
Silvio L AmigonGermanyIoni Bowcher NEGOTIATION
Ivar W GauchoIndiaAmy Elsner NEGOTIATION
Nicolas M GillianGermanyAnna Fali PROPOSAL
Izzy B WaycottFranceAnna Fali RENEWAL
Mujtaba Z WieserFranceOnyama Limba NEW
Ricardo B NestleRussiaElwin Sharvill NEW
Isabel H SaylorsArgentinaElwin Sharvill PROPOSAL
Jones E GillianIndiaStephen Shaw PROPOSAL
Chavez X StensethSpainStephen Shaw RENEWAL
Frozen Columns
Name
Misaki B Nicka
Cody J Inouye
Jennifer C Gillian
Sinclair Y Bolognia
Jennifer J Rim
Mujtaba J Malet
Leja O Albares
Faith C Saylors
Tony Y Gillian
Stacey E Figeroa
Murillo Q Foller
Ivar O Garufi
Johnson Z Royster
Emily L Caudy
Deepesh V Chui
Cody K Stenseth
Salvatore E Nicka
Aruna L Saylors
Aruna W Ferencz
Maria F Stockham
Aruna N Maclead
Jones A Amigon
Arvin A Rim
Kadeem F Wieser
Aruna S Albares
Aditya N Chui
Maisha F Rulapaugh
James N Marrier
Deepesh Y Butt
Faith X Butt
Aruna M Foller
Maisha Y Kolmetz
Arvin H Kolmetz
Salvatore U Iturbide
Claire P Slusarski
Wickens C Iturbide
Stacey G Doe
Clifford P Gillian
Mujtaba R Darakjy
Izzy Q Albares
Aditya W Flosi
Octavia D Morasca
Jennifer C Venere
Deepesh Y Glick
Ricardo H Doe
Salvatore Y Marrier
Alejandro U Shinko
Munro M Slusarski
Cody D Ferencz
Francesco Y Nicka
IdCountryDate
1000Italy2026-10-31
1001Russia2026-10-29
1002India2026-10-13
1003India2026-10-11
1004Russia2026-10-12
1005Spain2026-11-01
1006Australia2026-10-31
1007India2026-10-23
1008France2026-10-18
1009France2026-10-24
1010United Kingdom2026-10-15
1011India2026-10-08
1012Spain2026-10-08
1013Argentina2026-10-25
1014Spain2026-10-09
1015Brazil2026-10-03
1016Brazil2026-10-27
1017France2026-10-13
1018France2026-10-05
1019Italy2026-10-29
1020India2026-10-22
1021Germany2026-10-23
1022Argentina2026-10-20
1023Italy2026-10-29
1024Japan2026-10-13
1025India2026-10-25
1026United Kingdom2026-10-24
1027Russia2026-10-22
1028Russia2026-10-03
1029Australia2026-10-19
1030Spain2026-10-09
1031United Kingdom2026-10-12
1032Canada2026-10-30
1033France2026-10-29
1034France2026-10-03
1035Japan2026-10-28
1036Japan2026-10-28
1037Canada2026-10-19
1038Italy2026-10-30
1039United Kingdom2026-10-09
1040India2026-10-31
1041Brazil2026-10-06
1042Japan2026-10-28
1043Australia2026-10-08
1044Germany2026-10-12
1045India2026-10-31
1046Canada2026-10-22
1047India2026-10-11
1048France2026-10-15
1049Brazil2026-10-10

On-Demand Data

NameIdCountryDate
Sinclair A Flosi1000Russia2026-10-07
Stacey Y Inouye1001India2026-10-17
James S Oldroyd1002Japan2026-10-12
Claire U Whobrey1003Japan2026-10-05
Ashley J Darakjy1004Germany2026-10-10
Faith S Nestle1005Argentina2026-10-23
Jefferson Y Albares1006Spain2026-10-26
Ricardo V Malet1007Brazil2026-10-30
Mujtaba B Glick1008Italy2026-10-25
Leja I Rulapaugh1009Germany2026-10-25
Ricardo Z Sergi1010Argentina2026-10-16
Leja Z Kolmetz1011Australia2026-10-09
Francesco G Slusarski1012Japan2026-10-12
Misaki K Maclead1013India2026-10-30
Wickens V Shinko1014Japan2026-10-16
Jefferson U Campain1015Japan2026-10-06
Mujtaba O Shinko1016Italy2026-10-31
Maria L Vocelka1017India2026-10-29
Leon I Marrier1018Russia2026-10-17
Maisha G Gillian1019United Kingdom2026-10-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin T GarufiArgentinaIvan Magalhaes UNQUALIFIED
Tony M BologniaItalyXuxue Feng NEGOTIATION
Ricardo G MaletAustraliaAnna Fali UNQUALIFIED
Smith S AmigonRussiaStephen Shaw RENEWAL
Morrow J AmigonJapanAsiya Javayant RENEWAL
Clifford P FigeroaGermanyAnna Fali QUALIFIED
Kadeem Q ButtIndiaAmy Elsner PROPOSAL
Smith S CampainRussiaStephen Shaw RENEWAL
Nicolas Z RulapaughGermanyAmy Elsner UNQUALIFIED
Alejandro N ChuiFranceStephen Shaw NEGOTIATION
Ashley S GillianGermanyBernardo Dominic NEW
Aruna B GillianIndiaAsiya Javayant QUALIFIED
Maisha G CaldareraRussiaIoni Bowcher RENEWAL
Leon R StensethUnited KingdomAmy Elsner RENEWAL
Morrow E BriddickJapanElwin Sharvill NEGOTIATION
Ivar C ChuiSpainAsiya Javayant NEGOTIATION
Leja N RimCanadaXuxue Feng PROPOSAL
Izzy J BowleyAustraliaIoni Bowcher NEW
Deepesh W PaprockiItalyOnyama Limba PROPOSAL
Cody X SaylorsBrazilAsiya Javayant RENEWAL
Arvin W MaletGermanyStephen Shaw RENEWAL
Aika I GillianRussiaXuxue Feng UNQUALIFIED
James M OstroskyCanadaAsiya Javayant NEW
Kadeem Q IturbideItalyAsiya Javayant RENEWAL
Stacey H NestleItalyStephen Shaw NEGOTIATION
Greenwood W MacleadCanadaAnna Fali UNQUALIFIED
Leja U VenereRussiaElwin Sharvill QUALIFIED
Julie P CaldareraSpainAmy Elsner PROPOSAL
Wickens Y CaudyArgentinaOnyama Limba NEW
Aruna T SergiSpainAmy Elsner UNQUALIFIED
Juan K MacleadIndiaAsiya Javayant PROPOSAL
Ashley O OstroskyArgentinaAnna Fali PROPOSAL
Silvio H IturbideGermanyBernardo Dominic UNQUALIFIED
Stacey B ChuiItalyStephen Shaw PROPOSAL
Izzy F VenereBrazilIoni Bowcher NEGOTIATION
Rodrigues Z RutaAustraliaAmy Elsner NEW
Smith P ChuiJapanStephen Shaw RENEWAL
Ivar J BologniaIndiaAnna Fali NEW
Johnson A StensethJapanBernardo Dominic UNQUALIFIED
Ricardo L SaylorsAustraliaIvan Magalhaes QUALIFIED

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