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
Julie I RutaGermanyBernardo Dominic UNQUALIFIED
Leon L MaletSpainIvan Magalhaes RENEWAL
Maisha U GillianFranceBernardo Dominic RENEWAL
Ashley Y BriddickBrazilElwin Sharvill NEGOTIATION
Octavia G ShinkoBrazilAmy Elsner NEW
Antonio H DarakjySpainXuxue Feng QUALIFIED
Julie B TollnerJapanAsiya Javayant UNQUALIFIED
Salvatore Y BriddickJapanIoni Bowcher NEW
Kaitlin G BologniaRussiaIvan Magalhaes UNQUALIFIED
Mayumi W PaprockiUnited KingdomAmy Elsner NEW
Juan A GarufiItalyElwin Sharvill PROPOSAL
Johnson D BologniaJapanIvan Magalhaes NEW
Maisha Z VocelkaIndiaIvan Magalhaes NEGOTIATION
Aditya J MarrierRussiaAmy Elsner UNQUALIFIED
Francesco Z WhobreyCanadaXuxue Feng PROPOSAL
Aruna S IturbideBrazilIoni Bowcher PROPOSAL
Misaki O GlickIndiaAsiya Javayant PROPOSAL
Darci H PaprockiRussiaXuxue Feng RENEWAL
Nicolas H RutaItalyAsiya Javayant UNQUALIFIED
David M DarakjyFranceStephen Shaw NEGOTIATION
Johnson G MaletUnited KingdomElwin Sharvill QUALIFIED
Aditya I SergiItalyAsiya Javayant NEW
Antonio V FollerBrazilAmy Elsner NEW
Adams E GarufiIndiaAnna Fali UNQUALIFIED
David H IturbideSpainAsiya Javayant RENEWAL
Murillo L MorascaUnited KingdomAnna Fali NEGOTIATION
Sinclair D PaprockiGermanyAnna Fali PROPOSAL
Deepesh Q GillianAustraliaAmy Elsner PROPOSAL
Tony I MaletArgentinaBernardo Dominic NEGOTIATION
Clifford D CampainBrazilAmy Elsner QUALIFIED
David T BriddickJapanAmy Elsner QUALIFIED
Darci E MarrierCanadaAnna Fali RENEWAL
Costa Q OstroskyGermanyOnyama Limba PROPOSAL
Silvio Q TollnerJapanBernardo Dominic QUALIFIED
Stacey I OstroskyGermanyIoni Bowcher PROPOSAL
Wickens B WaycottJapanIoni Bowcher UNQUALIFIED
Mayumi H TollnerItalyAnna Fali RENEWAL
Ivar C OstroskyJapanOnyama Limba NEW
Maisha E DoeIndiaIoni Bowcher RENEWAL
Greenwood G OstroskyIndiaIvan Magalhaes NEGOTIATION
Claire S RutaBrazilElwin Sharvill QUALIFIED
Morrow Z KolmetzArgentinaXuxue Feng UNQUALIFIED
Morrow W OstroskyJapanBernardo Dominic QUALIFIED
Julie Y VenereIndiaIoni Bowcher UNQUALIFIED
Octavia U CaldareraUnited KingdomAmy Elsner RENEWAL
Maria R WieserFranceXuxue Feng RENEWAL
Adams C MaletBrazilBernardo Dominic NEW
David A DoeIndiaStephen Shaw NEW
Morrow V FerenczFranceIoni Bowcher NEGOTIATION
Mujtaba I PerinRussiaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley C FigeroaRussiaAmy Elsner NEW
Antonio G ShinkoArgentinaAmy Elsner NEW
Maisha P SlusarskiRussiaElwin Sharvill NEW
Ricardo O DilliardSpainAsiya Javayant PROPOSAL
Salvatore Q KolmetzAustraliaElwin Sharvill NEW
Claire Q CampainIndiaStephen Shaw NEGOTIATION
Maria R OldroydUnited KingdomIoni Bowcher NEW
James M BowleyBrazilAsiya Javayant NEW
Mayumi W MaletAustraliaAsiya Javayant RENEWAL
Nicolas U ChuiJapanAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar M RutaIndia2026-10-16Chemel, James L Cpa QUALIFIED82Anna Fali
1001Costa V DilliardBrazil2026-10-29Printing Dimensions PROPOSAL91Xuxue Feng
1002Arvin V TollnerArgentina2026-10-18Benton, John B Jr NEGOTIATION7Asiya Javayant
1003Sinclair T FigeroaGermany2026-10-29Benton, John B Jr RENEWAL10Bernardo Dominic
1004Kadeem Z BriddickIndia2026-11-10Chemel, James L Cpa NEW7Ivan Magalhaes
1005Juan P FlosiUnited Kingdom2026-11-01Chanay, Jeffrey A Esq RENEWAL87Xuxue Feng
1006Aika R MarrierIndia2026-11-07Chanay, Jeffrey A Esq NEGOTIATION36Anna Fali
1007Maria Z MarrierUnited Kingdom2026-10-21Buckley Miller Wright PROPOSAL58Ivan Magalhaes
1008Murillo Z KuskoUnited Kingdom2026-10-13Feiner Bros PROPOSAL27Xuxue Feng
1009Murillo H TollnerCanada2026-11-06Rangoni Of Florence UNQUALIFIED90Anna Fali
1010Salvatore Q PerinItaly2026-10-24Chanay, Jeffrey A Esq NEGOTIATION56Stephen Shaw
1011Maria J GillianAustralia2026-10-21Rangoni Of Florence NEGOTIATION45Elwin Sharvill
1012Stacey D SaylorsGermany2026-11-11Chapman, Ross E Esq NEW99Ioni Bowcher
1013Nicolas A DoeAustralia2026-11-09Commercial Press UNQUALIFIED78Bernardo Dominic
1014Johnson Q DarakjyAustralia2026-11-09Printing Dimensions RENEWAL32Xuxue Feng
1015Ricardo K RoysterBrazil2026-10-30Rangoni Of Florence NEW76Elwin Sharvill
1016Cody E GarufiItaly2026-10-20Dorl, James J Esq NEW97Amy Elsner
1017Claire Z PoquetteAustralia2026-10-20Rousseaux, Michael Esq PROPOSAL95Bernardo Dominic
1018Chavez P MarrierCanada2026-11-03Rangoni Of Florence UNQUALIFIED89Asiya Javayant
1019Alejandro R DarakjySpain2026-10-15Morlong Associates PROPOSAL28Anna Fali
1020Adams X AmigonItaly2026-10-30Printing Dimensions QUALIFIED3Bernardo Dominic
1021James U KolmetzItaly2026-10-26Commercial Press QUALIFIED15Bernardo Dominic
1022Leja N ShinkoFrance2026-11-03Dorl, James J Esq PROPOSAL73Xuxue Feng
1023Maisha V KuskoCanada2026-11-07Feltz Printing Service PROPOSAL99Xuxue Feng
1024Francesco W GarufiSpain2026-11-03Buckley Miller Wright NEGOTIATION33Anna Fali
1025Smith U SaylorsIndia2026-10-26Buckley Miller Wright PROPOSAL55Anna Fali
1026Wickens O GarufiBrazil2026-10-24Morlong Associates UNQUALIFIED61Xuxue Feng
1027Wickens I TollnerAustralia2026-11-04Chemel, James L Cpa UNQUALIFIED2Bernardo Dominic
1028Greenwood T OstroskyItaly2026-10-31Feiner Bros RENEWAL85Elwin Sharvill
1029Darci I FlosiJapan2026-11-02Feiner Bros RENEWAL58Ivan Magalhaes
1030Adams D RoysterJapan2026-10-26King, Christopher A Esq RENEWAL50Asiya Javayant
1031Emily V StockhamArgentina2026-10-19Feiner Bros PROPOSAL63Asiya Javayant
1032Johnson A MaletSpain2026-11-10Chanay, Jeffrey A Esq NEGOTIATION97Anna Fali
1033Mayumi N VocelkaCanada2026-11-01Chapman, Ross E Esq RENEWAL33Asiya Javayant
1034Silvio D KolmetzFrance2026-10-14Commercial Press UNQUALIFIED32Asiya Javayant
1035Claire V DarakjyAustralia2026-11-05Chemel, James L Cpa UNQUALIFIED47Xuxue Feng
1036Alejandro N InouyeRussia2026-10-27Feiner Bros NEGOTIATION84Bernardo Dominic
1037Octavia X RoysterBrazil2026-10-19Feiner Bros NEW87Bernardo Dominic
1038Costa K GillianBrazil2026-10-23Printing Dimensions UNQUALIFIED41Bernardo Dominic
1039Faith Q RutaBrazil2026-10-16Morlong Associates RENEWAL75Ioni Bowcher
1040Antonio A GauchoSpain2026-10-25Chanay, Jeffrey A Esq RENEWAL1Stephen Shaw
1041Munro C MaletSpain2026-10-19Feltz Printing Service RENEWAL87Anna Fali
1042Costa W SaylorsJapan2026-10-25Chemel, James L Cpa UNQUALIFIED75Elwin Sharvill
1043Murillo A ShinkoRussia2026-10-30Feltz Printing Service PROPOSAL89Bernardo Dominic
1044Ashley T MacleadGermany2026-10-20Truhlar And Truhlar Attys UNQUALIFIED86Onyama Limba
1045Smith S RutaIndia2026-10-26Chanay, Jeffrey A Esq RENEWAL44Anna Fali
1046Octavia X GarufiCanada2026-10-27Rousseaux, Michael Esq NEW41Anna Fali
1047Chavez N StensethJapan2026-10-25Printing Dimensions UNQUALIFIED43Anna Fali
1048Cody C DoeSpain2026-11-01Chemel, James L Cpa RENEWAL68Xuxue Feng
1049Leja J NestleIndia2026-10-28Rangoni Of Florence QUALIFIED9Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Murillo Z CaldareraCanadaAnna Fali QUALIFIED
Johnson W OldroydAustraliaIvan Magalhaes RENEWAL
Misaki N CampainUnited KingdomOnyama Limba NEGOTIATION
Isabel R GillianSpainIvan Magalhaes PROPOSAL
Claire J VocelkaArgentinaIoni Bowcher NEGOTIATION
Leon U InouyeGermanyAsiya Javayant NEW
Tony F WieserUnited KingdomAnna Fali NEW
Aika L InouyeCanadaBernardo Dominic UNQUALIFIED
Misaki J GarufiSpainIvan Magalhaes UNQUALIFIED
Smith V KolmetzCanadaXuxue Feng NEGOTIATION
Claire J StensethCanadaIoni Bowcher UNQUALIFIED
Octavia B FerenczBrazilAsiya Javayant NEGOTIATION
Jefferson L SergiArgentinaElwin Sharvill NEW
Smith O GlickBrazilIvan Magalhaes PROPOSAL
Maria N MaletIndiaElwin Sharvill RENEWAL
Claire M VocelkaAustraliaAmy Elsner UNQUALIFIED
Murillo L SaylorsFranceXuxue Feng QUALIFIED
Aditya I RutaAustraliaAmy Elsner RENEWAL
Jeanfrancois I CaldareraBrazilStephen Shaw UNQUALIFIED
Jennifer Z GlickItalyIoni Bowcher NEW
Leon H RulapaughArgentinaXuxue Feng RENEWAL
Aika L GauchoItalyStephen Shaw NEGOTIATION
Clifford B BriddickAustraliaBernardo Dominic PROPOSAL
Antonio M ShinkoUnited KingdomAmy Elsner QUALIFIED
Rodrigues D BriddickUnited KingdomIoni Bowcher NEW
Faith Y MorascaSpainAsiya Javayant UNQUALIFIED
David Z OstroskyArgentinaIoni Bowcher NEW
Costa Z PerinArgentinaBernardo Dominic QUALIFIED
Antonio D FerenczFranceElwin Sharvill NEW
Aika B SlusarskiCanadaAnna Fali NEGOTIATION
Maria F CaudyUnited KingdomAnna Fali NEW
Juan D BriddickGermanyXuxue Feng RENEWAL
Isabel G InouyeArgentinaAmy Elsner NEW
Ashley E MaletSpainAsiya Javayant QUALIFIED
Octavia A NickaCanadaStephen Shaw NEW
Murillo Q SaylorsJapanIoni Bowcher UNQUALIFIED
Jones K DilliardFranceIvan Magalhaes NEGOTIATION
Costa M StockhamUnited KingdomIvan Magalhaes NEW
Faith P FlosiBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois G SaylorsJapanBernardo Dominic NEGOTIATION
Kadeem U CaldareraRussiaIvan Magalhaes PROPOSAL
Aruna C SlusarskiSpainIvan Magalhaes RENEWAL
Leon V GarufiArgentinaOnyama Limba NEGOTIATION
Jefferson O OldroydSpainBernardo Dominic NEGOTIATION
Kaitlin I GarufiUnited KingdomStephen Shaw NEGOTIATION
Deepesh E RoysterCanadaOnyama Limba NEW
Jefferson B OstroskyItalyStephen Shaw QUALIFIED
Stacey V GlickJapanIoni Bowcher NEW
Ashley I RimUnited KingdomIvan Magalhaes QUALIFIED
Leja E AmigonGermanyAsiya Javayant PROPOSAL
Frozen Columns
Name
Jefferson U Stockham
Isabel D Butt
Jeanfrancois Z Poquette
Morrow J Rim
Smith Z Waycott
Costa K Stockham
Juan A Gaucho
Jefferson U Nestle
Munro P Saylors
Tony H Nestle
Jones J Whobrey
Adams Z Oldroyd
Octavia N Kusko
Clifford Q Schemmer
David F Dilliard
Izzy N Whobrey
Nicolas N Butt
Mayumi W Caudy
Leon H Malet
Alejandro V Chui
Greenwood W Sergi
Chavez H Marrier
Maria H Bowley
Smith T Malet
Cody Z Perin
Mayumi C Tollner
Juan W Rim
Murillo F Perin
Tony Y Iturbide
Maisha A Shinko
Jefferson J Amigon
Leon S Ruta
Kadeem J Foller
Maria W Whobrey
Juan L Nicka
Juan R Paprocki
Alejandro E Oldroyd
Emily U Gillian
Nicolas S Gillian
Silvio W Albares
Greenwood A Inouye
Leon H Sergi
Claire C Waycott
Rodrigues R Ostrosky
Jeanfrancois U Albares
Ricardo J Shinko
Juan G Gaucho
Costa A Venere
Mujtaba X Marrier
Munro P Bolognia
IdCountryDate
1000Canada2026-10-22
1001Russia2026-10-25
1002Germany2026-11-10
1003Australia2026-10-29
1004Germany2026-11-10
1005Brazil2026-10-30
1006Russia2026-10-26
1007United Kingdom2026-10-29
1008France2026-11-04
1009United Kingdom2026-10-21
1010Brazil2026-10-19
1011France2026-10-16
1012France2026-11-05
1013Russia2026-10-27
1014Germany2026-10-20
1015India2026-11-11
1016Australia2026-11-11
1017Italy2026-10-26
1018Australia2026-11-09
1019Argentina2026-11-11
1020Brazil2026-10-19
1021Canada2026-10-25
1022Russia2026-11-05
1023Brazil2026-11-08
1024Japan2026-11-04
1025Argentina2026-10-17
1026Australia2026-10-14
1027Spain2026-11-06
1028Argentina2026-10-24
1029India2026-10-31
1030Russia2026-10-21
1031Germany2026-11-08
1032Italy2026-10-19
1033Canada2026-10-30
1034Canada2026-11-03
1035Italy2026-11-11
1036Japan2026-10-13
1037Argentina2026-10-21
1038Canada2026-10-28
1039India2026-11-08
1040United Kingdom2026-10-24
1041United Kingdom2026-10-17
1042Canada2026-10-16
1043United Kingdom2026-10-13
1044Canada2026-10-28
1045Japan2026-11-01
1046Germany2026-11-04
1047Argentina2026-10-29
1048Germany2026-11-10
1049Germany2026-10-30

On-Demand Data

NameIdCountryDate
Arvin S Maclead1000Argentina2026-10-17
Izzy K Tollner1001Russia2026-10-30
Clifford P Bowley1002Japan2026-11-07
Octavia F Butt1003Russia2026-11-06
Johnson K Bolognia1004Russia2026-10-30
Octavia B Tollner1005Spain2026-10-25
Adams X Glick1006United Kingdom2026-11-10
Claire L Campain1007Argentina2026-10-27
Octavia Z Slusarski1008India2026-10-23
Jeanfrancois Q Morasca1009United Kingdom2026-10-31
Jones U Waycott1010Canada2026-10-14
Aruna Z Ruta1011Canada2026-10-26
Juan N Nestle1012Canada2026-10-19
Leja N Ferencz1013Germany2026-10-26
Leon B Gillian1014Italy2026-10-17
Rodrigues V Whobrey1015Spain2026-10-15
Salvatore F Marrier1016Italy2026-11-08
Emily J Nicka1017France2026-10-28
Emily M Tollner1018Australia2026-11-02
Leja N Maclead1019Australia2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Y SchemmerAustraliaAnna Fali PROPOSAL
James Z InouyeSpainAnna Fali NEW
David G MarrierCanadaAsiya Javayant PROPOSAL
Stacey H SergiCanadaXuxue Feng QUALIFIED
Antonio D RutaUnited KingdomXuxue Feng NEGOTIATION
Faith E MacleadIndiaAmy Elsner NEGOTIATION
Tony C ButtCanadaAsiya Javayant QUALIFIED
Izzy Y PaprockiIndiaAmy Elsner RENEWAL
Aditya O AmigonGermanyAnna Fali RENEWAL
Claire I VenereGermanyAnna Fali UNQUALIFIED
Leja S SergiItalyStephen Shaw UNQUALIFIED
Francesco G InouyeBrazilBernardo Dominic PROPOSAL
Jeanfrancois C NickaBrazilXuxue Feng UNQUALIFIED
Ricardo I WhobreyItalyAmy Elsner UNQUALIFIED
Darci M VenereIndiaAnna Fali NEW
Adams D MarrierArgentinaAnna Fali NEW
Morrow R VocelkaGermanyStephen Shaw UNQUALIFIED
Francesco X MacleadUnited KingdomAmy Elsner NEW
Johnson X SergiArgentinaOnyama Limba QUALIFIED
Chavez Y DilliardBrazilElwin Sharvill RENEWAL
Smith V CampainAustraliaOnyama Limba RENEWAL
Stacey Y RutaItalyIoni Bowcher PROPOSAL
Rodrigues W DarakjyItalyStephen Shaw UNQUALIFIED
Jeanfrancois J StockhamJapanStephen Shaw QUALIFIED
Aika U WhobreyItalyAsiya Javayant UNQUALIFIED
Arvin G SlusarskiFranceAsiya Javayant UNQUALIFIED
Claire L BriddickGermanyIoni Bowcher NEGOTIATION
Greenwood X WaycottRussiaElwin Sharvill NEW
Misaki T MacleadFranceAsiya Javayant UNQUALIFIED
Octavia J SergiSpainIoni Bowcher UNQUALIFIED
Sinclair W PerinItalyStephen Shaw UNQUALIFIED
Morrow N RulapaughItalyElwin Sharvill PROPOSAL
Julie S IturbideRussiaIoni Bowcher NEGOTIATION
Izzy Y VenereBrazilIvan Magalhaes RENEWAL
Sinclair R MacleadItalyStephen Shaw NEGOTIATION
Rodrigues Y ChuiItalyBernardo Dominic QUALIFIED
Kadeem W SergiAustraliaElwin Sharvill NEGOTIATION
Smith L IturbideAustraliaBernardo Dominic PROPOSAL
Jones U GlickFranceAsiya Javayant NEW
Mujtaba N DarakjyItalyAsiya Javayant NEGOTIATION

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