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
Sinclair U RimIndiaAnna Fali NEGOTIATION
Mujtaba P GauchoSpainOnyama Limba NEGOTIATION
Morrow G DoeCanadaXuxue Feng QUALIFIED
Aditya Y DoeJapanIoni Bowcher PROPOSAL
Misaki G RimSpainIvan Magalhaes UNQUALIFIED
Sinclair T FollerCanadaIvan Magalhaes PROPOSAL
Aruna V BologniaJapanAmy Elsner QUALIFIED
Greenwood V ChuiGermanyBernardo Dominic UNQUALIFIED
Murillo W ShinkoUnited KingdomAnna Fali QUALIFIED
Sinclair D AmigonFranceXuxue Feng UNQUALIFIED
Deepesh L MorascaBrazilAmy Elsner NEW
Antonio I VenereIndiaElwin Sharvill PROPOSAL
Izzy L RulapaughCanadaIoni Bowcher UNQUALIFIED
Octavia F BriddickGermanyAnna Fali NEW
Costa S KolmetzItalyOnyama Limba NEW
Izzy A TollnerCanadaXuxue Feng NEW
Salvatore G FollerItalyElwin Sharvill PROPOSAL
Mujtaba F FollerGermanyOnyama Limba RENEWAL
Jennifer C RulapaughCanadaIoni Bowcher NEW
Cody A FollerAustraliaIvan Magalhaes RENEWAL
Isabel E KolmetzRussiaStephen Shaw UNQUALIFIED
Misaki Z RimBrazilAsiya Javayant NEGOTIATION
Maisha O MaletJapanIoni Bowcher PROPOSAL
Mujtaba F OldroydFranceBernardo Dominic NEW
Wickens C SergiFranceOnyama Limba NEW
Munro V OstroskyUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois U TollnerCanadaElwin Sharvill UNQUALIFIED
Isabel Z FigeroaCanadaStephen Shaw UNQUALIFIED
Alejandro T StensethSpainBernardo Dominic RENEWAL
Aruna B RimBrazilAsiya Javayant NEW
Aditya E PerinAustraliaAmy Elsner RENEWAL
Aditya Q MarrierBrazilIoni Bowcher RENEWAL
Francesco C PaprockiGermanyIvan Magalhaes QUALIFIED
Wickens K AlbaresAustraliaIoni Bowcher RENEWAL
Maisha V WieserIndiaStephen Shaw RENEWAL
Munro K ButtGermanyStephen Shaw RENEWAL
Deepesh L StockhamItalyIoni Bowcher PROPOSAL
Silvio L VocelkaAustraliaAnna Fali QUALIFIED
Tony A KolmetzSpainAsiya Javayant NEW
Izzy K VenereFranceAmy Elsner UNQUALIFIED
Greenwood J BowleyCanadaBernardo Dominic RENEWAL
Johnson J BowleyItalyElwin Sharvill RENEWAL
Munro H MaletSpainAmy Elsner NEW
Aruna H MacleadFranceStephen Shaw QUALIFIED
Murillo W RulapaughIndiaStephen Shaw NEGOTIATION
Jones O SaylorsArgentinaAnna Fali NEGOTIATION
Emily D GarufiRussiaElwin Sharvill UNQUALIFIED
Antonio T FlosiSpainAsiya Javayant NEGOTIATION
Juan H IturbideAustraliaIvan Magalhaes RENEWAL
Maisha E NickaJapanBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David R RulapaughAustraliaOnyama Limba NEGOTIATION
Costa P GlickUnited KingdomElwin Sharvill UNQUALIFIED
Chavez F GauchoGermanyStephen Shaw NEW
Munro J AmigonAustraliaStephen Shaw QUALIFIED
Costa M MarrierGermanyElwin Sharvill PROPOSAL
Nicolas O KuskoRussiaAmy Elsner RENEWAL
Munro M AlbaresItalyIoni Bowcher PROPOSAL
Wickens K NickaFranceIvan Magalhaes PROPOSAL
Kadeem G MaletFranceOnyama Limba NEGOTIATION
Ivar D WaycottJapanBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha F RulapaughGermany2026-09-27Morlong Associates QUALIFIED75Bernardo Dominic
1001Francesco Y FerenczArgentina2026-09-26Commercial Press PROPOSAL99Stephen Shaw
1002Deepesh L ButtFrance2026-10-01Rousseaux, Michael Esq PROPOSAL3Anna Fali
1003Misaki Q FigeroaSpain2026-10-22Chanay, Jeffrey A Esq RENEWAL2Ioni Bowcher
1004Sinclair V WaycottCanada2026-10-13Buckley Miller Wright RENEWAL62Anna Fali
1005Deepesh X CaldareraSpain2026-10-04Rousseaux, Michael Esq NEW10Anna Fali
1006Ivar G VocelkaFrance2026-10-17Chapman, Ross E Esq RENEWAL36Amy Elsner
1007Leon T MorascaSpain2026-09-27Morlong Associates RENEWAL40Ioni Bowcher
1008Greenwood T StensethCanada2026-09-27Chemel, James L Cpa UNQUALIFIED82Bernardo Dominic
1009Deepesh T GillianAustralia2026-10-10Printing Dimensions RENEWAL11Stephen Shaw
1010Maria I NickaBrazil2026-09-24Chemel, James L Cpa NEW83Anna Fali
1011Murillo T VenereItaly2026-10-15Chemel, James L Cpa UNQUALIFIED20Bernardo Dominic
1012Izzy G ShinkoAustralia2026-10-23King, Christopher A Esq PROPOSAL31Anna Fali
1013Mujtaba T PerinUnited Kingdom2026-10-14Chemel, James L Cpa RENEWAL4Ioni Bowcher
1014David S CaldareraIndia2026-10-19Rousseaux, Michael Esq RENEWAL63Amy Elsner
1015Stacey E FerenczGermany2026-10-10Rousseaux, Michael Esq UNQUALIFIED95Elwin Sharvill
1016Francesco J InouyeBrazil2026-10-02Chemel, James L Cpa NEGOTIATION53Amy Elsner
1017David F KuskoCanada2026-10-01Benton, John B Jr UNQUALIFIED39Xuxue Feng
1018Emily T RutaJapan2026-10-17Commercial Press PROPOSAL77Amy Elsner
1019Smith S FlosiUnited Kingdom2026-10-09Rousseaux, Michael Esq PROPOSAL51Bernardo Dominic
1020Cody U KolmetzIndia2026-10-01Feltz Printing Service NEGOTIATION67Stephen Shaw
1021Antonio H BriddickIndia2026-10-23King, Christopher A Esq PROPOSAL56Stephen Shaw
1022Jones L KuskoJapan2026-10-03Rangoni Of Florence QUALIFIED8Ioni Bowcher
1023Leon Y CaudyGermany2026-10-07Commercial Press NEGOTIATION17Bernardo Dominic
1024Jones Q PaprockiUnited Kingdom2026-09-30Commercial Press NEW11Anna Fali
1025Octavia L StockhamCanada2026-10-15Benton, John B Jr NEGOTIATION50Xuxue Feng
1026Chavez C RulapaughArgentina2026-10-18Dorl, James J Esq QUALIFIED31Xuxue Feng
1027Tony Q CaudyUnited Kingdom2026-10-16Chanay, Jeffrey A Esq PROPOSAL37Asiya Javayant
1028Darci L DilliardItaly2026-09-28Feltz Printing Service NEW39Asiya Javayant
1029Jennifer O TollnerSpain2026-09-25Printing Dimensions NEGOTIATION92Xuxue Feng
1030Izzy C OstroskyFrance2026-10-11Chapman, Ross E Esq QUALIFIED13Ioni Bowcher
1031Mayumi M TollnerUnited Kingdom2026-10-18Rangoni Of Florence NEW10Stephen Shaw
1032Smith G AmigonAustralia2026-10-14Feltz Printing Service PROPOSAL50Amy Elsner
1033Darci F GillianJapan2026-10-07Benton, John B Jr NEW59Onyama Limba
1034Tony N RoysterItaly2026-10-14Commercial Press NEW49Bernardo Dominic
1035David N BologniaItaly2026-10-08Benton, John B Jr QUALIFIED57Bernardo Dominic
1036Deepesh L SergiArgentina2026-10-06Feiner Bros UNQUALIFIED82Onyama Limba
1037Murillo P StensethJapan2026-09-30Rousseaux, Michael Esq NEGOTIATION60Amy Elsner
1038Misaki Y WieserRussia2026-09-25Feltz Printing Service NEW72Ivan Magalhaes
1039Sinclair J BriddickBrazil2026-09-29Rangoni Of Florence NEGOTIATION64Bernardo Dominic
1040Octavia R WieserIndia2026-10-08Buckley Miller Wright UNQUALIFIED62Xuxue Feng
1041Cody V StensethCanada2026-10-14Truhlar And Truhlar Attys RENEWAL46Ioni Bowcher
1042Maria N RutaAustralia2026-09-27Feiner Bros UNQUALIFIED9Stephen Shaw
1043Francesco Z DilliardIndia2026-10-13Morlong Associates UNQUALIFIED63Ioni Bowcher
1044Leon H RutaSpain2026-09-27Printing Dimensions NEW18Amy Elsner
1045Aruna V SlusarskiBrazil2026-10-20Benton, John B Jr UNQUALIFIED99Stephen Shaw
1046Francesco C MacleadCanada2026-10-16Printing Dimensions NEW83Onyama Limba
1047Deepesh F RulapaughGermany2026-10-21Chemel, James L Cpa PROPOSAL51Stephen Shaw
1048Faith T TollnerCanada2026-10-03Printing Dimensions QUALIFIED16Stephen Shaw
1049Silvio V BologniaJapan2026-09-25Chemel, James L Cpa QUALIFIED11Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Antonio T SlusarskiIndiaAsiya Javayant NEGOTIATION
Jennifer Q BologniaAustraliaElwin Sharvill NEGOTIATION
Darci F AmigonAustraliaXuxue Feng NEW
Leja N StensethJapanAmy Elsner PROPOSAL
Faith R CaldareraItalyXuxue Feng NEW
Stacey R TollnerBrazilStephen Shaw PROPOSAL
Alejandro E RulapaughBrazilElwin Sharvill QUALIFIED
Alejandro P WhobreyArgentinaBernardo Dominic NEW
Darci Q ChuiRussiaOnyama Limba NEW
Jennifer D FerenczFranceIoni Bowcher UNQUALIFIED
Clifford W RulapaughArgentinaXuxue Feng UNQUALIFIED
Costa M FerenczFranceAsiya Javayant PROPOSAL
Aditya Y MaletFranceAnna Fali NEW
Claire D GarufiBrazilBernardo Dominic NEW
Murillo O TollnerArgentinaAnna Fali QUALIFIED
Mayumi T DilliardRussiaAnna Fali QUALIFIED
Alejandro Q MaletUnited KingdomAmy Elsner PROPOSAL
Alejandro B RutaIndiaAsiya Javayant UNQUALIFIED
Adams T FlosiBrazilElwin Sharvill RENEWAL
Julie V WhobreyArgentinaAnna Fali RENEWAL
Johnson B InouyeCanadaStephen Shaw RENEWAL
Faith F VocelkaFranceOnyama Limba NEW
Faith S GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Jeanfrancois R WieserSpainStephen Shaw NEW
Rodrigues J SergiItalyBernardo Dominic UNQUALIFIED
Mujtaba X TollnerFranceBernardo Dominic RENEWAL
Faith D VenereCanadaOnyama Limba NEW
James X DarakjyCanadaBernardo Dominic QUALIFIED
Ricardo B PaprockiItalyIoni Bowcher NEW
Adams D KuskoRussiaElwin Sharvill NEW
Rodrigues J DilliardRussiaStephen Shaw QUALIFIED
Johnson R ShinkoRussiaXuxue Feng UNQUALIFIED
Emily M GauchoCanadaAsiya Javayant QUALIFIED
Mayumi U CaudyFranceXuxue Feng QUALIFIED
Aika U ChuiArgentinaIoni Bowcher PROPOSAL
Izzy Q KuskoArgentinaAsiya Javayant RENEWAL
Juan O MaletSpainIvan Magalhaes QUALIFIED
Cody U SergiRussiaXuxue Feng NEGOTIATION
Kaitlin A BriddickBrazilXuxue Feng RENEWAL
Claire R KolmetzAustraliaIoni Bowcher PROPOSAL
Faith W FollerCanadaAsiya Javayant QUALIFIED
Jeanfrancois L FigeroaJapanAmy Elsner UNQUALIFIED
James W BologniaFranceBernardo Dominic UNQUALIFIED
Aditya O SlusarskiItalyIoni Bowcher UNQUALIFIED
Isabel C InouyeSpainElwin Sharvill NEGOTIATION
Costa D MaletRussiaXuxue Feng NEW
Munro K FigeroaCanadaAmy Elsner NEGOTIATION
Cody I TollnerJapanIvan Magalhaes UNQUALIFIED
Ricardo Z ChuiJapanAmy Elsner NEGOTIATION
Nicolas X MarrierFranceOnyama Limba RENEWAL
Frozen Columns
Name
Greenwood V Ruta
Costa O Stenseth
Wickens I Nestle
Ashley Z Darakjy
Kaitlin R Slusarski
Cody V Vocelka
Kadeem J Ostrosky
Rodrigues F Glick
Deepesh X Slusarski
Mujtaba X Vocelka
Jefferson T Caudy
Mayumi L Venere
Mujtaba E Wieser
Munro L Waycott
Aika Q Poquette
Maisha U Saylors
Aditya S Chui
Costa X Saylors
Emily M Ostrosky
Darci Y Stockham
Maria V Stenseth
Izzy H Bolognia
Aika T Wieser
Alejandro Q Gillian
Chavez W Waycott
Kadeem B Stenseth
David H Tollner
Kaitlin C Tollner
Murillo A Paprocki
Johnson E Ferencz
Morrow U Darakjy
Arvin Q Schemmer
Cody B Inouye
Aditya N Wieser
Ricardo G Waycott
Claire W Ferencz
Kadeem A Garufi
Arvin O Sergi
Smith U Perin
Jennifer H Marrier
Ricardo C Bolognia
Ivar J Darakjy
Arvin F Dilliard
Kaitlin B Caldarera
Jennifer U Paprocki
Aruna G Nicka
Aditya I Amigon
Misaki B Schemmer
Deepesh S Paprocki
Stacey Q Maclead
IdCountryDate
1000Germany2026-10-08
1001Germany2026-10-13
1002Russia2026-10-21
1003Canada2026-10-18
1004Germany2026-10-17
1005Japan2026-09-25
1006United Kingdom2026-10-14
1007United Kingdom2026-10-22
1008Russia2026-10-22
1009Canada2026-10-13
1010Russia2026-10-13
1011United Kingdom2026-10-02
1012Spain2026-10-13
1013Argentina2026-10-06
1014Brazil2026-10-05
1015Argentina2026-10-22
1016France2026-10-19
1017Italy2026-10-06
1018Canada2026-09-25
1019Germany2026-10-04
1020Argentina2026-10-09
1021Spain2026-09-29
1022Spain2026-09-30
1023Argentina2026-10-15
1024United Kingdom2026-10-20
1025Argentina2026-10-11
1026Canada2026-10-08
1027France2026-10-21
1028United Kingdom2026-10-04
1029Russia2026-10-06
1030France2026-10-13
1031France2026-09-26
1032India2026-10-17
1033Canada2026-10-06
1034Germany2026-10-03
1035Germany2026-10-11
1036Japan2026-10-05
1037Italy2026-10-08
1038Spain2026-09-24
1039India2026-10-23
1040India2026-10-03
1041Russia2026-10-11
1042Italy2026-10-08
1043Germany2026-10-22
1044France2026-10-14
1045Spain2026-10-01
1046Argentina2026-09-29
1047Italy2026-10-03
1048India2026-10-16
1049Australia2026-09-28

On-Demand Data

NameIdCountryDate
James S Inouye1000Brazil2026-10-14
Ashley U Malet1001Canada2026-10-15
Aditya V Glick1002Germany2026-09-26
Jones I Iturbide1003Germany2026-10-15
Silvio G Rulapaugh1004United Kingdom2026-09-27
Octavia V Butt1005Italy2026-10-14
Jefferson Z Kolmetz1006Germany2026-10-01
Ivar V Briddick1007France2026-10-20
Aruna K Ruta1008Russia2026-10-15
Smith X Nestle1009India2026-10-13
Leja T Amigon1010Italy2026-10-09
Jeanfrancois H Amigon1011Argentina2026-09-25
Leon K Stockham1012Argentina2026-09-30
Izzy D Morasca1013Brazil2026-10-14
Mujtaba Q Tollner1014Canada2026-10-18
Aika P Briddick1015Japan2026-10-18
Ivar C Tollner1016Italy2026-10-15
Nicolas I Albares1017United Kingdom2026-10-22
Greenwood W Royster1018Germany2026-09-28
Arvin P Foller1019France2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon W RoysterItalyElwin Sharvill QUALIFIED
Jefferson K MarrierUnited KingdomAmy Elsner RENEWAL
Isabel Q DarakjyFranceBernardo Dominic PROPOSAL
Wickens Z SaylorsGermanyOnyama Limba NEW
Cody G SergiIndiaOnyama Limba RENEWAL
Claire W VocelkaCanadaXuxue Feng NEW
Kadeem S CaudyAustraliaIvan Magalhaes NEGOTIATION
Emily Z PerinUnited KingdomAsiya Javayant QUALIFIED
Kaitlin C VenereBrazilXuxue Feng NEW
Adams D RimRussiaIoni Bowcher UNQUALIFIED
Julie S WieserSpainOnyama Limba RENEWAL
Johnson Q MaletArgentinaIvan Magalhaes NEGOTIATION
Antonio U RimRussiaXuxue Feng PROPOSAL
Greenwood O CaudyUnited KingdomAmy Elsner PROPOSAL
Leja M KuskoUnited KingdomAmy Elsner PROPOSAL
Francesco F IturbideArgentinaElwin Sharvill RENEWAL
Francesco G CampainItalyStephen Shaw QUALIFIED
Kadeem G KolmetzAustraliaAmy Elsner QUALIFIED
Greenwood E BriddickAustraliaOnyama Limba UNQUALIFIED
Francesco C GillianFranceBernardo Dominic RENEWAL
Ivar Q CampainRussiaAmy Elsner UNQUALIFIED
Kadeem T DoeFranceAmy Elsner QUALIFIED
Murillo O GarufiGermanyIoni Bowcher NEGOTIATION
Kaitlin L GillianGermanyStephen Shaw NEGOTIATION
Maisha W VocelkaCanadaBernardo Dominic NEGOTIATION
Adams C AmigonSpainAmy Elsner UNQUALIFIED
Salvatore Z VocelkaGermanyBernardo Dominic NEGOTIATION
Wickens V KuskoGermanyOnyama Limba QUALIFIED
Francesco I SaylorsSpainIvan Magalhaes UNQUALIFIED
Maria M WhobreySpainIoni Bowcher PROPOSAL
Mayumi U CaldareraItalyElwin Sharvill RENEWAL
Tony P SchemmerGermanyAnna Fali NEW
Antonio O RimBrazilBernardo Dominic NEGOTIATION
Ricardo B BologniaAustraliaOnyama Limba RENEWAL
Chavez Y FollerAustraliaIoni Bowcher NEW
Faith U FollerIndiaXuxue Feng NEGOTIATION
Claire M SaylorsUnited KingdomElwin Sharvill RENEWAL
Antonio G VocelkaFranceAsiya Javayant NEGOTIATION
Mayumi W PaprockiBrazilIvan Magalhaes PROPOSAL
David N SlusarskiFranceXuxue Feng 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>