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
Ashley H MorascaGermanyBernardo Dominic RENEWAL
Munro N MaletAustraliaBernardo Dominic PROPOSAL
Jones W MaletUnited KingdomXuxue Feng NEW
Clifford X RimItalyXuxue Feng QUALIFIED
Misaki I CaudyAustraliaXuxue Feng QUALIFIED
Octavia S IturbideUnited KingdomOnyama Limba NEW
Francesco X BologniaIndiaIoni Bowcher RENEWAL
Adams C KuskoFranceIoni Bowcher NEGOTIATION
Greenwood P IturbideSpainAnna Fali PROPOSAL
Rodrigues N InouyeFranceIvan Magalhaes NEGOTIATION
Costa O SaylorsSpainAsiya Javayant UNQUALIFIED
Costa D FollerIndiaAsiya Javayant RENEWAL
Nicolas A AmigonJapanAsiya Javayant NEGOTIATION
Ricardo K WhobreySpainIvan Magalhaes QUALIFIED
Rodrigues P OldroydIndiaAmy Elsner NEGOTIATION
Murillo B FerenczCanadaXuxue Feng UNQUALIFIED
Aditya D ChuiItalyAnna Fali NEGOTIATION
Faith M CaldareraFranceXuxue Feng NEW
Aruna L GillianBrazilIoni Bowcher RENEWAL
Tony U GauchoAustraliaBernardo Dominic NEGOTIATION
Aditya K DoeItalyAnna Fali QUALIFIED
Maria X DarakjyItalyIvan Magalhaes NEW
Alejandro I DoeArgentinaIoni Bowcher RENEWAL
Arvin S GillianItalyIvan Magalhaes NEGOTIATION
Claire C KuskoCanadaXuxue Feng QUALIFIED
Juan F StockhamJapanAmy Elsner UNQUALIFIED
Nicolas Z CaldareraAustraliaIoni Bowcher PROPOSAL
Jennifer U GarufiSpainAmy Elsner NEGOTIATION
Johnson N RulapaughAustraliaAnna Fali PROPOSAL
Johnson M CaldareraJapanBernardo Dominic QUALIFIED
Ashley V WaycottCanadaXuxue Feng NEGOTIATION
Aruna O SergiBrazilOnyama Limba NEGOTIATION
Munro B KuskoRussiaElwin Sharvill QUALIFIED
Jones C RulapaughUnited KingdomAnna Fali NEGOTIATION
Antonio M WieserSpainAmy Elsner UNQUALIFIED
Munro G PoquetteSpainStephen Shaw NEGOTIATION
David G BriddickRussiaBernardo Dominic NEGOTIATION
Jones H MarrierSpainXuxue Feng QUALIFIED
Darci Q RoysterFranceIoni Bowcher QUALIFIED
Kaitlin V RoysterJapanOnyama Limba RENEWAL
Julie O NickaGermanyBernardo Dominic PROPOSAL
Maisha B PaprockiBrazilIvan Magalhaes UNQUALIFIED
Emily P RoysterGermanyAsiya Javayant PROPOSAL
Aruna F RulapaughItalyXuxue Feng UNQUALIFIED
Aruna H FerenczRussiaAmy Elsner RENEWAL
Alejandro B StockhamIndiaBernardo Dominic QUALIFIED
Maria E GlickArgentinaBernardo Dominic NEW
Ivar U MacleadBrazilStephen Shaw NEW
Alejandro Y KolmetzFranceXuxue Feng RENEWAL
Maisha V DoeRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja Y CampainAustraliaAsiya Javayant PROPOSAL
Sinclair M CaldareraSpainStephen Shaw NEW
Kaitlin E IturbideGermanyIoni Bowcher NEW
Wickens N RoysterJapanOnyama Limba QUALIFIED
Wickens Y NestleBrazilBernardo Dominic NEGOTIATION
Darci I BriddickCanadaOnyama Limba NEW
Arvin H AlbaresRussiaBernardo Dominic NEGOTIATION
Adams Q CampainCanadaIoni Bowcher NEW
Stacey O WhobreyBrazilAmy Elsner UNQUALIFIED
Octavia H DoeFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika T CaudyCanada2026-09-26Printing Dimensions NEGOTIATION65Anna Fali
1001Izzy O GillianFrance2026-09-27Printing Dimensions NEGOTIATION97Xuxue Feng
1002Nicolas H DilliardJapan2026-09-29Feiner Bros PROPOSAL82Onyama Limba
1003Deepesh Q VocelkaRussia2026-09-23King, Christopher A Esq RENEWAL58Anna Fali
1004Salvatore R StockhamSpain2026-10-21Feiner Bros UNQUALIFIED18Stephen Shaw
1005Antonio N GlickCanada2026-10-12Truhlar And Truhlar Attys RENEWAL79Amy Elsner
1006Antonio M PerinBrazil2026-10-15Feltz Printing Service QUALIFIED67Amy Elsner
1007Adams T SaylorsCanada2026-10-17Morlong Associates NEW83Bernardo Dominic
1008Maisha K CampainRussia2026-10-16Printing Dimensions RENEWAL15Elwin Sharvill
1009Costa O OstroskyUnited Kingdom2026-10-06Dorl, James J Esq NEGOTIATION1Stephen Shaw
1010Salvatore L MacleadArgentina2026-10-19King, Christopher A Esq UNQUALIFIED13Stephen Shaw
1011Antonio T MarrierJapan2026-09-26Morlong Associates QUALIFIED14Bernardo Dominic
1012Mujtaba U GlickItaly2026-09-25Dorl, James J Esq PROPOSAL90Xuxue Feng
1013Ricardo R GlickAustralia2026-10-09Rousseaux, Michael Esq RENEWAL34Asiya Javayant
1014Leon N VenereBrazil2026-09-28Chemel, James L Cpa UNQUALIFIED15Onyama Limba
1015Mayumi U WieserFrance2026-10-22Benton, John B Jr NEW96Elwin Sharvill
1016Murillo Q KuskoGermany2026-10-19Chemel, James L Cpa RENEWAL60Xuxue Feng
1017Mujtaba O FlosiUnited Kingdom2026-09-23Chanay, Jeffrey A Esq PROPOSAL25Bernardo Dominic
1018Ivar R AlbaresJapan2026-10-02Feltz Printing Service UNQUALIFIED77Ioni Bowcher
1019Darci U BowleyFrance2026-10-09Dorl, James J Esq UNQUALIFIED0Asiya Javayant
1020Jennifer C StensethRussia2026-10-16Truhlar And Truhlar Attys NEW54Stephen Shaw
1021Munro W GauchoRussia2026-10-21Rousseaux, Michael Esq NEGOTIATION16Amy Elsner
1022Deepesh L FlosiCanada2026-09-26Chanay, Jeffrey A Esq NEW82Onyama Limba
1023Jefferson M DilliardBrazil2026-09-23Feiner Bros RENEWAL42Asiya Javayant
1024Alejandro K GillianFrance2026-10-21Printing Dimensions QUALIFIED56Asiya Javayant
1025Kaitlin A BologniaCanada2026-09-24Feiner Bros QUALIFIED17Elwin Sharvill
1026Rodrigues U OstroskyJapan2026-10-21Morlong Associates PROPOSAL8Asiya Javayant
1027Jennifer S VocelkaIndia2026-09-27Chemel, James L Cpa NEGOTIATION41Stephen Shaw
1028Kaitlin B NickaBrazil2026-10-15Chanay, Jeffrey A Esq RENEWAL41Xuxue Feng
1029Emily Y OstroskyArgentina2026-09-29Rousseaux, Michael Esq UNQUALIFIED74Ioni Bowcher
1030Arvin A MorascaUnited Kingdom2026-09-26Chemel, James L Cpa UNQUALIFIED36Stephen Shaw
1031Darci Z InouyeRussia2026-09-26Morlong Associates QUALIFIED11Xuxue Feng
1032Jennifer O FlosiSpain2026-10-01Chemel, James L Cpa UNQUALIFIED15Anna Fali
1033Stacey J RimRussia2026-10-15Feiner Bros RENEWAL83Asiya Javayant
1034Silvio V PerinSpain2026-10-04King, Christopher A Esq NEGOTIATION93Asiya Javayant
1035Mujtaba H OstroskyRussia2026-10-12King, Christopher A Esq PROPOSAL67Anna Fali
1036Rodrigues A MaletItaly2026-10-19Dorl, James J Esq RENEWAL84Elwin Sharvill
1037Smith O WhobreyArgentina2026-09-29Printing Dimensions QUALIFIED22Stephen Shaw
1038Francesco I RimArgentina2026-10-11Truhlar And Truhlar Attys RENEWAL0Elwin Sharvill
1039Stacey D StensethGermany2026-09-30Printing Dimensions PROPOSAL55Xuxue Feng
1040Leja L ChuiUnited Kingdom2026-09-30Buckley Miller Wright UNQUALIFIED37Onyama Limba
1041Morrow C GillianArgentina2026-10-20Dorl, James J Esq PROPOSAL73Bernardo Dominic
1042Deepesh L KolmetzBrazil2026-10-14King, Christopher A Esq UNQUALIFIED21Ivan Magalhaes
1043Julie X SlusarskiBrazil2026-10-10Morlong Associates NEW4Onyama Limba
1044Jefferson P TollnerAustralia2026-09-25Feiner Bros NEW23Stephen Shaw
1045Emily A PerinRussia2026-10-21Chapman, Ross E Esq QUALIFIED9Ioni Bowcher
1046Mujtaba S KolmetzGermany2026-10-09Rousseaux, Michael Esq NEGOTIATION39Elwin Sharvill
1047Aika M MorascaGermany2026-09-23King, Christopher A Esq QUALIFIED70Ioni Bowcher
1048Leon S AmigonGermany2026-09-29Truhlar And Truhlar Attys NEW61Bernardo Dominic
1049Claire Z KolmetzRussia2026-10-12Commercial Press NEW31Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro S CaldareraFranceOnyama Limba QUALIFIED
Deepesh P BriddickItalyAnna Fali NEW
Antonio M VenereUnited KingdomXuxue Feng NEW
Maria O ButtCanadaIvan Magalhaes RENEWAL
Misaki G DoeUnited KingdomIoni Bowcher PROPOSAL
Darci H CaudyArgentinaBernardo Dominic NEGOTIATION
Kadeem P ChuiCanadaAmy Elsner PROPOSAL
Chavez Y IturbideFranceStephen Shaw NEGOTIATION
Murillo R MaletIndiaAsiya Javayant QUALIFIED
Ashley F DilliardRussiaIvan Magalhaes NEGOTIATION
Sinclair B MarrierAustraliaIvan Magalhaes UNQUALIFIED
Octavia K RimAustraliaIoni Bowcher NEW
Munro C DarakjyItalyBernardo Dominic PROPOSAL
Leja L PaprockiBrazilIvan Magalhaes RENEWAL
Stacey U FigeroaRussiaXuxue Feng NEGOTIATION
Chavez D PerinCanadaIvan Magalhaes NEW
Antonio P WieserSpainIvan Magalhaes NEGOTIATION
Cody C ShinkoAustraliaAsiya Javayant NEW
Munro O InouyeFranceStephen Shaw NEW
Ashley A BologniaJapanIvan Magalhaes PROPOSAL
Francesco D MorascaFranceStephen Shaw PROPOSAL
Claire J VenereItalyBernardo Dominic NEW
Kadeem D ShinkoSpainBernardo Dominic QUALIFIED
Claire P GarufiGermanyOnyama Limba NEGOTIATION
Rodrigues Z ShinkoRussiaXuxue Feng RENEWAL
Jones I OstroskyRussiaBernardo Dominic NEGOTIATION
Aditya F SchemmerGermanyAmy Elsner UNQUALIFIED
Tony D MorascaRussiaXuxue Feng QUALIFIED
Kaitlin H CampainRussiaAsiya Javayant RENEWAL
Leja U GarufiFranceAsiya Javayant RENEWAL
Kadeem F NickaAustraliaAmy Elsner QUALIFIED
Sinclair C CampainJapanIvan Magalhaes RENEWAL
Wickens B OstroskyBrazilAmy Elsner RENEWAL
Nicolas P SaylorsFranceIoni Bowcher QUALIFIED
Misaki N MorascaSpainOnyama Limba NEGOTIATION
Antonio O DarakjyIndiaXuxue Feng QUALIFIED
Ashley A KolmetzCanadaBernardo Dominic QUALIFIED
Kadeem R PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Kadeem T GillianSpainElwin Sharvill UNQUALIFIED
Alejandro J VenereItalyAnna Fali RENEWAL
Ricardo P MarrierUnited KingdomXuxue Feng UNQUALIFIED
Ivar W BriddickCanadaIoni Bowcher NEGOTIATION
Aika Z DarakjyJapanAsiya Javayant NEW
Clifford A OldroydItalyXuxue Feng UNQUALIFIED
Munro H CampainJapanXuxue Feng PROPOSAL
Alejandro J DoeFranceIoni Bowcher RENEWAL
Misaki V BowleyItalyAmy Elsner NEW
Misaki Z DoeFranceIvan Magalhaes NEW
Greenwood W MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh V ShinkoIndiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Murillo R Caldarera
Juan C Ferencz
Jefferson P Waycott
Chavez K Garufi
James E Figeroa
Juan F Doe
Morrow G Darakjy
Smith W Oldroyd
Maisha D Royster
James M Shinko
Misaki F Waycott
Ivar P Kolmetz
Wickens D Gillian
Ashley H Iturbide
Kaitlin O Doe
Ashley S Caudy
Rodrigues O Malet
Chavez O Flosi
Jefferson Y Waycott
Sinclair B Malet
Francesco M Kusko
David J Doe
Clifford A Kusko
Julie U Kolmetz
David C Nicka
David S Shinko
Emily X Amigon
Mayumi R Royster
Silvio I Butt
Smith C Maclead
Juan H Sergi
Greenwood C Sergi
Octavia F Glick
Adams Y Schemmer
Jefferson J Royster
Tony B Malet
Silvio A Marrier
Ashley V Caudy
David L Gaucho
Alejandro C Morasca
Chavez N Figeroa
Ivar B Flosi
Aditya Q Tollner
Juan I Nestle
Leja J Ferencz
Adams W Whobrey
Arvin D Kusko
Arvin E Oldroyd
Kadeem D Bolognia
Murillo H Campain
IdCountryDate
1000India2026-10-10
1001Argentina2026-09-26
1002Germany2026-10-20
1003Brazil2026-10-14
1004United Kingdom2026-10-02
1005India2026-09-23
1006Japan2026-09-30
1007Australia2026-10-13
1008Italy2026-09-28
1009Russia2026-10-12
1010Brazil2026-10-09
1011Brazil2026-10-16
1012Russia2026-10-10
1013Spain2026-09-27
1014United Kingdom2026-10-22
1015Australia2026-10-13
1016Germany2026-10-19
1017United Kingdom2026-10-08
1018Russia2026-09-23
1019Russia2026-10-12
1020Russia2026-09-29
1021Italy2026-10-17
1022Germany2026-10-16
1023Brazil2026-09-23
1024France2026-10-13
1025Australia2026-10-12
1026Australia2026-10-02
1027Italy2026-09-27
1028Australia2026-10-18
1029Spain2026-10-20
1030Australia2026-10-06
1031United Kingdom2026-10-18
1032Brazil2026-10-19
1033Japan2026-10-20
1034India2026-10-17
1035Canada2026-10-02
1036Canada2026-10-15
1037Germany2026-09-24
1038France2026-09-29
1039India2026-10-20
1040Germany2026-10-16
1041Brazil2026-09-23
1042Canada2026-10-09
1043India2026-10-05
1044Brazil2026-10-10
1045Argentina2026-10-17
1046Brazil2026-10-15
1047Canada2026-10-04
1048Spain2026-10-09
1049Italy2026-09-23

On-Demand Data

NameIdCountryDate
Mayumi K Foller1000India2026-09-23
Mayumi C Sergi1001Brazil2026-10-15
Isabel P Nicka1002France2026-10-20
Adams L Doe1003Australia2026-10-18
Juan Z Amigon1004Germany2026-09-24
Tony A Ruta1005Russia2026-10-07
Isabel S Foller1006United Kingdom2026-09-23
Alejandro B Tollner1007Argentina2026-10-05
Leja G Dilliard1008Canada2026-10-17
Ashley H Tollner1009India2026-10-03
Jennifer D Campain1010France2026-10-06
Jeanfrancois Z Briddick1011Canada2026-09-28
Isabel A Waycott1012Canada2026-09-27
Darci P Caldarera1013United Kingdom2026-10-15
Sinclair K Paprocki1014United Kingdom2026-10-06
Maria Y Kolmetz1015Japan2026-10-05
Maria O Vocelka1016Russia2026-10-13
Aika P Rim1017Argentina2026-10-19
Clifford V Malet1018Spain2026-09-25
Isabel Z Tollner1019Spain2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar G ChuiGermanyStephen Shaw QUALIFIED
Johnson F NickaAustraliaAnna Fali NEGOTIATION
David Q FollerUnited KingdomAsiya Javayant NEW
Greenwood H NestleAustraliaOnyama Limba RENEWAL
Chavez F OstroskyItalyElwin Sharvill RENEWAL
Jefferson Q MorascaAustraliaBernardo Dominic PROPOSAL
James X KolmetzAustraliaAnna Fali UNQUALIFIED
Sinclair P KuskoItalyStephen Shaw UNQUALIFIED
Chavez R VenereRussiaAnna Fali NEW
Smith F WaycottItalyAnna Fali RENEWAL
Costa E SlusarskiAustraliaIvan Magalhaes RENEWAL
Leja E NickaSpainIoni Bowcher QUALIFIED
Octavia D GillianFranceAnna Fali RENEWAL
Aika G KuskoIndiaElwin Sharvill NEGOTIATION
Julie S WieserAustraliaElwin Sharvill QUALIFIED
Murillo T DilliardGermanyIvan Magalhaes UNQUALIFIED
Aika J NickaSpainStephen Shaw QUALIFIED
Tony U DarakjyUnited KingdomElwin Sharvill NEGOTIATION
Julie E GarufiBrazilStephen Shaw QUALIFIED
Morrow G StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Maria J MarrierGermanyXuxue Feng UNQUALIFIED
Stacey O InouyeJapanAmy Elsner QUALIFIED
Greenwood R ChuiCanadaXuxue Feng QUALIFIED
Nicolas V MaletBrazilXuxue Feng PROPOSAL
Smith Q DoeSpainAmy Elsner QUALIFIED
Smith Q BowleyArgentinaElwin Sharvill PROPOSAL
Chavez P CaudyCanadaIvan Magalhaes NEGOTIATION
Ivar K RulapaughBrazilIvan Magalhaes NEW
Aruna X MaletCanadaXuxue Feng NEW
Alejandro X ShinkoGermanyOnyama Limba PROPOSAL
Aruna R VocelkaBrazilAnna Fali PROPOSAL
Aika C RutaGermanyBernardo Dominic RENEWAL
Johnson O StensethRussiaStephen Shaw NEGOTIATION
Ricardo Z SaylorsArgentinaAsiya Javayant RENEWAL
Mayumi A GlickUnited KingdomAnna Fali PROPOSAL
Ashley G IturbideGermanyBernardo Dominic NEW
Izzy L IturbideGermanyOnyama Limba UNQUALIFIED
Stacey V GarufiItalyXuxue Feng RENEWAL
Wickens Z GarufiJapanAmy Elsner NEW
Misaki N AlbaresGermanyIoni Bowcher PROPOSAL

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