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
Chavez H OldroydIndiaIvan Magalhaes NEGOTIATION
Ivar K StensethSpainBernardo Dominic UNQUALIFIED
Claire U OstroskyJapanOnyama Limba UNQUALIFIED
Emily V RoysterCanadaAsiya Javayant RENEWAL
Johnson D PerinAustraliaXuxue Feng NEW
Deepesh G PoquetteBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois O GlickItalyIoni Bowcher UNQUALIFIED
Mayumi C StensethUnited KingdomAmy Elsner PROPOSAL
Clifford P GillianCanadaOnyama Limba UNQUALIFIED
Jeanfrancois W VocelkaJapanOnyama Limba NEW
Rodrigues S TollnerFranceIvan Magalhaes UNQUALIFIED
Salvatore T TollnerFranceXuxue Feng PROPOSAL
David O VocelkaItalyOnyama Limba PROPOSAL
Munro Q MarrierRussiaElwin Sharvill UNQUALIFIED
Darci Q SaylorsCanadaOnyama Limba NEW
Morrow W CampainGermanyIoni Bowcher QUALIFIED
Alejandro Z WhobreyUnited KingdomAsiya Javayant NEW
Octavia Q IturbideCanadaIoni Bowcher QUALIFIED
Leon U AmigonCanadaIvan Magalhaes QUALIFIED
Smith J BowleyGermanyAnna Fali PROPOSAL
Nicolas L AlbaresFranceIoni Bowcher RENEWAL
Chavez Z PerinSpainIoni Bowcher PROPOSAL
Leja I WieserItalyAmy Elsner RENEWAL
Aruna K WieserUnited KingdomBernardo Dominic NEW
Maria X RoysterUnited KingdomXuxue Feng PROPOSAL
Kadeem F FollerJapanElwin Sharvill NEGOTIATION
Sinclair Q OstroskyAustraliaElwin Sharvill NEGOTIATION
Costa F RimCanadaAmy Elsner RENEWAL
James N IturbideJapanAsiya Javayant PROPOSAL
Deepesh V RulapaughFranceIvan Magalhaes NEW
Cody U DilliardArgentinaOnyama Limba NEW
Antonio N GarufiGermanyAsiya Javayant NEGOTIATION
Ivar H OldroydCanadaIvan Magalhaes UNQUALIFIED
David P FlosiSpainXuxue Feng RENEWAL
Clifford B KolmetzGermanyAmy Elsner UNQUALIFIED
Wickens M ShinkoBrazilIvan Magalhaes UNQUALIFIED
Clifford L RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Johnson H StensethFranceIoni Bowcher RENEWAL
Clifford J AmigonItalyElwin Sharvill RENEWAL
Tony O MaletCanadaOnyama Limba UNQUALIFIED
Juan E ButtSpainElwin Sharvill UNQUALIFIED
Nicolas D MarrierRussiaStephen Shaw NEGOTIATION
Alejandro X GarufiSpainAnna Fali NEW
James C BowleyItalyStephen Shaw NEW
Rodrigues H SchemmerArgentinaIvan Magalhaes QUALIFIED
David P BowleyCanadaStephen Shaw RENEWAL
Emily N FigeroaItalyXuxue Feng UNQUALIFIED
Jones T MarrierIndiaXuxue Feng RENEWAL
Octavia S CampainCanadaOnyama Limba QUALIFIED
Wickens H BologniaUnited KingdomOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Arvin C MaletJapanIvan Magalhaes UNQUALIFIED
Alejandro L BologniaItalyOnyama Limba NEW
Faith C InouyeItalyElwin Sharvill PROPOSAL
Maria U SchemmerArgentinaAmy Elsner PROPOSAL
Ricardo B TollnerArgentinaIoni Bowcher NEW
Isabel W GlickGermanyStephen Shaw RENEWAL
Antonio Z GlickIndiaStephen Shaw QUALIFIED
Misaki R CampainGermanyIvan Magalhaes QUALIFIED
Jennifer I DoeGermanyIoni Bowcher PROPOSAL
Octavia K RulapaughArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony H CaldareraFrance2026-10-13Chanay, Jeffrey A Esq PROPOSAL87Elwin Sharvill
1001Darci Y ChuiIndia2026-10-11Morlong Associates UNQUALIFIED83Elwin Sharvill
1002Mayumi R StockhamIndia2026-09-29Buckley Miller Wright NEGOTIATION92Onyama Limba
1003Kadeem G PerinGermany2026-10-04Chemel, James L Cpa RENEWAL31Xuxue Feng
1004Maisha C RulapaughRussia2026-10-08King, Christopher A Esq PROPOSAL11Asiya Javayant
1005Juan R CaldareraArgentina2026-09-27Rousseaux, Michael Esq UNQUALIFIED47Ioni Bowcher
1006Kadeem D WieserBrazil2026-10-13Feltz Printing Service RENEWAL85Elwin Sharvill
1007Tony G WieserGermany2026-10-13Feltz Printing Service NEGOTIATION15Ioni Bowcher
1008Aika G NestleFrance2026-10-20Printing Dimensions NEGOTIATION22Asiya Javayant
1009Kadeem G PerinSpain2026-10-12Benton, John B Jr QUALIFIED18Elwin Sharvill
1010Isabel J GarufiIndia2026-10-14Dorl, James J Esq QUALIFIED64Anna Fali
1011Cody X SlusarskiUnited Kingdom2026-10-01Dorl, James J Esq UNQUALIFIED80Asiya Javayant
1012Jeanfrancois J KuskoGermany2026-10-12King, Christopher A Esq QUALIFIED44Asiya Javayant
1013Tony T FerenczIndia2026-10-09Feiner Bros RENEWAL41Amy Elsner
1014Ricardo E InouyeGermany2026-10-22Feiner Bros PROPOSAL15Amy Elsner
1015James K StensethCanada2026-10-07Benton, John B Jr UNQUALIFIED16Ioni Bowcher
1016Isabel N SaylorsIndia2026-10-08Chemel, James L Cpa RENEWAL23Ivan Magalhaes
1017Maisha Z GarufiFrance2026-10-23Printing Dimensions RENEWAL30Stephen Shaw
1018Jefferson U GlickItaly2026-10-11Printing Dimensions NEW55Stephen Shaw
1019Maria X FerenczUnited Kingdom2026-10-14Morlong Associates NEW36Asiya Javayant
1020Smith S KolmetzSpain2026-10-15Feltz Printing Service QUALIFIED15Elwin Sharvill
1021Maria C GarufiSpain2026-10-20Commercial Press PROPOSAL57Onyama Limba
1022Jones X OldroydAustralia2026-10-15Buckley Miller Wright RENEWAL13Asiya Javayant
1023Kaitlin K RutaItaly2026-10-12Chanay, Jeffrey A Esq PROPOSAL21Ivan Magalhaes
1024Morrow Z BowleyGermany2026-10-13Buckley Miller Wright UNQUALIFIED12Onyama Limba
1025Izzy T RutaJapan2026-10-07Chemel, James L Cpa RENEWAL15Xuxue Feng
1026Aika Y PoquetteFrance2026-10-11Rousseaux, Michael Esq NEW85Anna Fali
1027James K SchemmerCanada2026-10-06Dorl, James J Esq UNQUALIFIED65Ivan Magalhaes
1028Julie N StockhamGermany2026-10-20Morlong Associates QUALIFIED56Asiya Javayant
1029Jefferson M DilliardCanada2026-10-10Morlong Associates NEW90Ioni Bowcher
1030Maisha J WhobreyGermany2026-09-27Feltz Printing Service QUALIFIED9Amy Elsner
1031Maria T OldroydAustralia2026-09-26Morlong Associates PROPOSAL11Onyama Limba
1032Leja N AlbaresRussia2026-10-06Commercial Press NEW5Bernardo Dominic
1033Ivar J KuskoIndia2026-10-02Truhlar And Truhlar Attys NEW88Onyama Limba
1034Emily R SergiJapan2026-10-17King, Christopher A Esq NEGOTIATION84Elwin Sharvill
1035Munro F MarrierFrance2026-10-07Morlong Associates PROPOSAL65Stephen Shaw
1036Adams T WhobreyAustralia2026-09-25Buckley Miller Wright RENEWAL70Ivan Magalhaes
1037Antonio D FlosiCanada2026-10-24Rousseaux, Michael Esq UNQUALIFIED42Xuxue Feng
1038Darci H KolmetzAustralia2026-10-03Truhlar And Truhlar Attys NEGOTIATION67Elwin Sharvill
1039Murillo N BriddickRussia2026-10-05Truhlar And Truhlar Attys PROPOSAL49Asiya Javayant
1040Juan C RutaJapan2026-10-01Chapman, Ross E Esq NEW33Stephen Shaw
1041Jeanfrancois I OldroydJapan2026-10-14Feiner Bros NEGOTIATION42Onyama Limba
1042Izzy V BologniaCanada2026-09-26Feiner Bros QUALIFIED74Xuxue Feng
1043Sinclair G SaylorsSpain2026-10-19Commercial Press UNQUALIFIED98Amy Elsner
1044James C AlbaresItaly2026-10-23Rangoni Of Florence NEW12Xuxue Feng
1045Arvin C StensethSpain2026-10-01Chapman, Ross E Esq NEGOTIATION40Ioni Bowcher
1046Emily O InouyeIndia2026-10-02Feiner Bros QUALIFIED47Amy Elsner
1047Nicolas M RoysterRussia2026-10-23Chapman, Ross E Esq UNQUALIFIED59Bernardo Dominic
1048Morrow U NestleJapan2026-09-30Benton, John B Jr QUALIFIED95Elwin Sharvill
1049Costa A VocelkaAustralia2026-10-20Printing Dimensions PROPOSAL93Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Stacey G GlickIndiaElwin Sharvill RENEWAL
Deepesh W NickaCanadaAmy Elsner NEGOTIATION
Antonio D RulapaughBrazilOnyama Limba NEGOTIATION
Claire I MorascaItalyElwin Sharvill UNQUALIFIED
Francesco G ChuiRussiaAnna Fali PROPOSAL
Deepesh G SchemmerIndiaStephen Shaw RENEWAL
Mayumi A MarrierJapanBernardo Dominic QUALIFIED
Stacey E OldroydGermanyBernardo Dominic PROPOSAL
Mujtaba S RimIndiaAnna Fali UNQUALIFIED
Rodrigues Z GillianUnited KingdomOnyama Limba QUALIFIED
Francesco N ButtIndiaElwin Sharvill NEW
Mayumi Y WaycottGermanyAnna Fali RENEWAL
Francesco U CaudyAustraliaStephen Shaw UNQUALIFIED
Aruna N SlusarskiBrazilXuxue Feng PROPOSAL
Antonio N MacleadArgentinaOnyama Limba NEW
Emily U GillianArgentinaOnyama Limba NEGOTIATION
Claire R OstroskyAustraliaIoni Bowcher QUALIFIED
Jennifer T KuskoBrazilAmy Elsner UNQUALIFIED
Deepesh V DarakjyBrazilOnyama Limba PROPOSAL
Mayumi U BologniaCanadaXuxue Feng UNQUALIFIED
Jennifer I FlosiSpainBernardo Dominic RENEWAL
Francesco D CampainUnited KingdomElwin Sharvill UNQUALIFIED
Stacey V CaldareraIndiaXuxue Feng RENEWAL
David N VocelkaArgentinaStephen Shaw PROPOSAL
Tony P KolmetzBrazilAsiya Javayant QUALIFIED
Maisha X VenereGermanyIoni Bowcher UNQUALIFIED
Smith P RimSpainXuxue Feng PROPOSAL
Smith R ButtRussiaIvan Magalhaes NEGOTIATION
Juan B FigeroaFranceElwin Sharvill UNQUALIFIED
David K SergiBrazilOnyama Limba RENEWAL
Ivar F CampainIndiaElwin Sharvill PROPOSAL
Leon O ButtItalyElwin Sharvill RENEWAL
Aruna X MaletAustraliaBernardo Dominic QUALIFIED
Jennifer Z BriddickBrazilAnna Fali QUALIFIED
Wickens B MacleadBrazilBernardo Dominic QUALIFIED
Greenwood I WaycottBrazilAmy Elsner PROPOSAL
Jennifer D AmigonItalyAsiya Javayant NEW
Deepesh B SergiBrazilOnyama Limba RENEWAL
Adams H MarrierCanadaAmy Elsner RENEWAL
Aika W RulapaughArgentinaBernardo Dominic RENEWAL
Isabel Z SchemmerIndiaElwin Sharvill NEW
Isabel A ShinkoArgentinaStephen Shaw PROPOSAL
Claire C FlosiRussiaElwin Sharvill NEGOTIATION
Murillo G WaycottCanadaAmy Elsner QUALIFIED
Clifford W ShinkoIndiaOnyama Limba QUALIFIED
Misaki Q PerinGermanyIoni Bowcher NEGOTIATION
Claire F MarrierFranceXuxue Feng NEW
Alejandro U IturbideRussiaAsiya Javayant QUALIFIED
Rodrigues I OstroskyFranceIoni Bowcher UNQUALIFIED
Leja G RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Rodrigues A Wieser
Misaki M Gaucho
Arvin V Doe
Faith S Gillian
Izzy P Butt
Francesco A Tollner
Costa I Schemmer
Aditya O Doe
Deepesh I Stenseth
Arvin X Venere
Aruna S Stenseth
Salvatore D Iturbide
Deepesh B Perin
Clifford D Stockham
Chavez A Stockham
Adams F Stockham
Munro G Flosi
Greenwood M Rulapaugh
Faith D Amigon
Adams B Caldarera
Faith Z Bowley
Jeanfrancois W Maclead
Julie P Figeroa
Misaki Z Figeroa
Munro E Figeroa
Mujtaba D Morasca
Chavez S Albares
Kadeem E Tollner
Smith M Butt
Juan N Briddick
Mayumi J Nestle
Morrow A Malet
Aruna G Nicka
Octavia X Sergi
Ashley V Slusarski
Silvio K Oldroyd
Rodrigues T Bowley
Leon J Dilliard
Salvatore V Saylors
Adams F Malet
Morrow J Gaucho
Johnson A Nestle
Arvin U Gillian
Clifford O Bowley
Aditya E Slusarski
Jennifer I Tollner
Emily E Butt
Silvio H Vocelka
Jefferson Q Schemmer
Kaitlin S Chui
IdCountryDate
1000Brazil2026-09-30
1001Australia2026-10-19
1002United Kingdom2026-09-26
1003Russia2026-10-13
1004Brazil2026-09-29
1005Italy2026-10-23
1006Spain2026-10-19
1007France2026-10-21
1008United Kingdom2026-10-24
1009France2026-09-26
1010Spain2026-10-20
1011Germany2026-10-02
1012Germany2026-10-16
1013Japan2026-10-03
1014Germany2026-09-29
1015Italy2026-10-20
1016Brazil2026-09-25
1017France2026-09-30
1018India2026-09-26
1019Germany2026-10-01
1020Canada2026-09-27
1021Germany2026-10-14
1022Spain2026-10-14
1023Spain2026-10-05
1024Australia2026-10-19
1025Russia2026-10-20
1026Germany2026-10-05
1027Japan2026-10-16
1028United Kingdom2026-10-07
1029Canada2026-10-12
1030Spain2026-10-19
1031Spain2026-10-13
1032Italy2026-10-15
1033France2026-10-20
1034Australia2026-10-12
1035Australia2026-10-20
1036United Kingdom2026-10-22
1037Russia2026-10-10
1038Australia2026-10-01
1039Japan2026-10-22
1040France2026-10-18
1041France2026-10-24
1042Australia2026-10-11
1043Spain2026-10-07
1044Germany2026-09-28
1045India2026-10-19
1046Spain2026-10-04
1047Russia2026-10-06
1048United Kingdom2026-10-17
1049India2026-10-19

On-Demand Data

NameIdCountryDate
Leon E Amigon1000Spain2026-10-07
Alejandro W Amigon1001Argentina2026-10-04
Murillo P Glick1002Australia2026-10-03
Faith Q Kolmetz1003India2026-10-12
Smith D Gaucho1004Italy2026-09-25
Morrow E Morasca1005Russia2026-09-30
Faith T Kolmetz1006Italy2026-10-21
Costa E Schemmer1007Russia2026-10-12
Morrow K Figeroa1008Argentina2026-10-01
Ivar I Rim1009Brazil2026-09-26
Silvio S Malet1010France2026-10-09
Smith E Nicka1011Argentina2026-10-09
Octavia V Tollner1012Italy2026-10-03
Kadeem S Paprocki1013Argentina2026-09-28
Munro X Oldroyd1014Argentina2026-09-29
Antonio J Gillian1015India2026-09-29
Adams J Kusko1016Argentina2026-10-14
Deepesh N Darakjy1017Italy2026-10-18
Jeanfrancois F Gaucho1018Japan2026-10-14
Maisha E Campain1019Russia2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James D CaudySpainAsiya Javayant PROPOSAL
Leon Q MarrierFranceBernardo Dominic QUALIFIED
Jones Y AlbaresFranceOnyama Limba NEW
Stacey D MaletCanadaStephen Shaw NEW
Julie I FigeroaBrazilAsiya Javayant QUALIFIED
Jefferson P FlosiCanadaXuxue Feng NEW
Adams I KuskoFranceIoni Bowcher NEW
Aika O PoquetteRussiaIvan Magalhaes NEW
Jones U GillianAustraliaOnyama Limba RENEWAL
Silvio C BowleyAustraliaAnna Fali PROPOSAL
Chavez B DilliardAustraliaStephen Shaw QUALIFIED
Greenwood D PerinIndiaAsiya Javayant NEW
Antonio H RoysterAustraliaAsiya Javayant QUALIFIED
Rodrigues Q NickaUnited KingdomOnyama Limba UNQUALIFIED
Izzy E NestleGermanyBernardo Dominic PROPOSAL
Ricardo G RimAustraliaXuxue Feng QUALIFIED
Mujtaba G InouyeUnited KingdomOnyama Limba UNQUALIFIED
Julie N RulapaughGermanyOnyama Limba RENEWAL
Wickens J MarrierAustraliaOnyama Limba PROPOSAL
Juan Y PerinBrazilAsiya Javayant PROPOSAL
Maria C FigeroaAustraliaAsiya Javayant PROPOSAL
Kadeem Z BowleyGermanyAmy Elsner NEW
Ivar U CaldareraArgentinaXuxue Feng NEGOTIATION
Aruna L KolmetzRussiaElwin Sharvill QUALIFIED
James U FerenczItalyBernardo Dominic PROPOSAL
Maria D FigeroaGermanyStephen Shaw NEW
Costa W VocelkaItalyOnyama Limba UNQUALIFIED
Deepesh F SchemmerArgentinaStephen Shaw NEW
Emily M FlosiRussiaBernardo Dominic NEGOTIATION
Leon A CampainSpainIoni Bowcher NEGOTIATION
Leon A GillianCanadaElwin Sharvill QUALIFIED
Cody M ShinkoArgentinaXuxue Feng NEW
Claire O BowleyRussiaXuxue Feng UNQUALIFIED
Kadeem J RulapaughArgentinaAnna Fali PROPOSAL
Jefferson N DarakjyIndiaBernardo Dominic PROPOSAL
Jefferson J BowleyGermanyElwin Sharvill PROPOSAL
Sinclair A SlusarskiJapanAsiya Javayant NEGOTIATION
Leon K OldroydGermanyIvan Magalhaes NEW
Claire N PerinFranceStephen Shaw NEW
Silvio T ButtJapanOnyama Limba 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>