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
Octavia P RoysterGermanyBernardo Dominic PROPOSAL
Alejandro O GarufiJapanElwin Sharvill PROPOSAL
Mujtaba N BriddickArgentinaXuxue Feng QUALIFIED
Salvatore V BologniaBrazilAmy Elsner QUALIFIED
Jones T WieserFranceBernardo Dominic UNQUALIFIED
Smith U InouyeCanadaStephen Shaw NEW
Francesco Q BologniaCanadaAsiya Javayant RENEWAL
Leja S FlosiSpainAnna Fali UNQUALIFIED
Murillo J GauchoUnited KingdomIoni Bowcher QUALIFIED
James V RoysterAustraliaXuxue Feng QUALIFIED
Greenwood J StockhamItalyAmy Elsner UNQUALIFIED
Jones P PerinCanadaElwin Sharvill NEGOTIATION
Tony A RimItalyBernardo Dominic UNQUALIFIED
Isabel X RimJapanAnna Fali RENEWAL
Wickens A WaycottSpainIoni Bowcher NEGOTIATION
Stacey D MacleadGermanyAsiya Javayant QUALIFIED
Kaitlin F BriddickGermanyAmy Elsner PROPOSAL
Cody M CaldareraJapanIoni Bowcher NEW
Jennifer K PaprockiSpainAnna Fali UNQUALIFIED
Isabel U MarrierRussiaXuxue Feng QUALIFIED
Jeanfrancois C TollnerFranceIvan Magalhaes RENEWAL
Adams K WaycottItalyElwin Sharvill UNQUALIFIED
Murillo S CaldareraRussiaAsiya Javayant UNQUALIFIED
Aditya V FlosiUnited KingdomXuxue Feng NEGOTIATION
Aika N SlusarskiUnited KingdomIvan Magalhaes NEW
Johnson B PoquetteIndiaOnyama Limba UNQUALIFIED
Aditya V MacleadCanadaIvan Magalhaes UNQUALIFIED
David L PoquetteAustraliaElwin Sharvill NEGOTIATION
Leja P FigeroaIndiaBernardo Dominic RENEWAL
Isabel N BowleyIndiaBernardo Dominic QUALIFIED
Aika L StensethArgentinaStephen Shaw QUALIFIED
Mujtaba R NickaFranceBernardo Dominic NEW
Jones D FerenczJapanIvan Magalhaes QUALIFIED
Maisha J BowleyItalyOnyama Limba NEGOTIATION
Jeanfrancois P PerinSpainOnyama Limba RENEWAL
Juan R MaletSpainAsiya Javayant RENEWAL
Misaki N KuskoGermanyBernardo Dominic NEGOTIATION
Wickens B BowleyBrazilStephen Shaw UNQUALIFIED
Alejandro M PaprockiRussiaOnyama Limba QUALIFIED
Aditya L SchemmerGermanyElwin Sharvill NEGOTIATION
Emily D NestleRussiaBernardo Dominic NEGOTIATION
Leon T GauchoSpainAnna Fali QUALIFIED
Juan F NickaBrazilBernardo Dominic QUALIFIED
Chavez N GillianFranceAnna Fali NEGOTIATION
Aruna X FlosiIndiaAsiya Javayant NEGOTIATION
Emily D CaudyItalyIvan Magalhaes NEGOTIATION
Kadeem Y ShinkoCanadaAnna Fali NEW
Aruna I SchemmerBrazilStephen Shaw NEGOTIATION
Maisha C TollnerSpainIoni Bowcher UNQUALIFIED
Rodrigues S ChuiBrazilStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Silvio N RulapaughItalyOnyama Limba NEW
David Q PoquetteArgentinaStephen Shaw NEGOTIATION
Tony O MaletBrazilAsiya Javayant UNQUALIFIED
Antonio T WhobreyCanadaAmy Elsner RENEWAL
James D KolmetzBrazilAmy Elsner QUALIFIED
Rodrigues Q ChuiSpainIvan Magalhaes PROPOSAL
Darci D OldroydJapanOnyama Limba NEGOTIATION
Alejandro S PoquetteFranceAmy Elsner NEW
Kadeem L InouyeIndiaAmy Elsner UNQUALIFIED
Salvatore Y OldroydGermanyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith S AmigonItaly2026-10-30Commercial Press RENEWAL4Asiya Javayant
1001Izzy N DarakjyGermany2026-10-12Benton, John B Jr PROPOSAL86Xuxue Feng
1002Adams Z DilliardGermany2026-11-02Feiner Bros NEW99Onyama Limba
1003Stacey C MarrierRussia2026-10-18Feiner Bros NEW42Amy Elsner
1004Antonio Y TollnerSpain2026-10-18Truhlar And Truhlar Attys NEW80Amy Elsner
1005Clifford O NickaGermany2026-11-09Feltz Printing Service RENEWAL84Ivan Magalhaes
1006Darci L SlusarskiAustralia2026-10-31Chapman, Ross E Esq RENEWAL65Amy Elsner
1007Jones B KolmetzSpain2026-10-20Dorl, James J Esq PROPOSAL45Amy Elsner
1008Tony U WieserSpain2026-10-12Feltz Printing Service NEW65Onyama Limba
1009Ashley C AmigonRussia2026-11-07Truhlar And Truhlar Attys NEW58Onyama Limba
1010Francesco U AmigonJapan2026-11-09Chapman, Ross E Esq UNQUALIFIED57Asiya Javayant
1011Ricardo S RulapaughBrazil2026-10-19Chapman, Ross E Esq PROPOSAL90Asiya Javayant
1012Clifford S FigeroaSpain2026-11-03Feiner Bros NEGOTIATION79Asiya Javayant
1013Alejandro E CampainFrance2026-10-29Printing Dimensions NEGOTIATION52Elwin Sharvill
1014Jeanfrancois M VenereArgentina2026-10-16Printing Dimensions UNQUALIFIED83Anna Fali
1015Aruna D KolmetzItaly2026-10-25Morlong Associates NEW30Bernardo Dominic
1016Murillo Q FollerJapan2026-11-04Chanay, Jeffrey A Esq UNQUALIFIED32Elwin Sharvill
1017Francesco J CampainIndia2026-10-28Feltz Printing Service UNQUALIFIED63Xuxue Feng
1018Stacey P ChuiItaly2026-11-02Printing Dimensions QUALIFIED33Elwin Sharvill
1019Adams G DoeArgentina2026-10-21Truhlar And Truhlar Attys NEGOTIATION1Stephen Shaw
1020Faith H DilliardItaly2026-10-21Feiner Bros NEW22Elwin Sharvill
1021Ricardo X ChuiFrance2026-10-27Commercial Press RENEWAL85Amy Elsner
1022Mayumi G AmigonCanada2026-10-23Truhlar And Truhlar Attys PROPOSAL39Onyama Limba
1023Salvatore M RutaBrazil2026-10-22Rangoni Of Florence QUALIFIED38Xuxue Feng
1024James F PaprockiCanada2026-11-03Benton, John B Jr NEW30Anna Fali
1025Mayumi E NickaBrazil2026-10-16Feltz Printing Service QUALIFIED89Amy Elsner
1026Maria M SchemmerGermany2026-10-28Commercial Press PROPOSAL51Amy Elsner
1027Antonio C NestleItaly2026-10-26Chemel, James L Cpa RENEWAL41Bernardo Dominic
1028Juan W WieserCanada2026-10-26Chapman, Ross E Esq PROPOSAL38Ioni Bowcher
1029Cody F CaudyCanada2026-10-27Rousseaux, Michael Esq PROPOSAL70Ivan Magalhaes
1030Chavez S GauchoGermany2026-10-28Commercial Press NEW64Amy Elsner
1031Izzy R CaldareraUnited Kingdom2026-11-09Printing Dimensions RENEWAL95Bernardo Dominic
1032Claire Z WieserFrance2026-11-02Rangoni Of Florence UNQUALIFIED16Ivan Magalhaes
1033Chavez A DoeFrance2026-10-29Truhlar And Truhlar Attys NEW20Elwin Sharvill
1034Leja A TollnerBrazil2026-10-19Morlong Associates RENEWAL25Onyama Limba
1035Costa J GillianFrance2026-10-25Chanay, Jeffrey A Esq QUALIFIED72Ioni Bowcher
1036Salvatore E IturbideCanada2026-10-17Rangoni Of Florence NEW69Ioni Bowcher
1037Mujtaba X GillianItaly2026-10-26Feltz Printing Service QUALIFIED14Onyama Limba
1038Salvatore P CampainJapan2026-11-10Buckley Miller Wright UNQUALIFIED51Asiya Javayant
1039Rodrigues N MorascaAustralia2026-10-18Feiner Bros NEW19Ioni Bowcher
1040Maria Y RulapaughBrazil2026-10-31Chapman, Ross E Esq RENEWAL48Ivan Magalhaes
1041Juan U RoysterGermany2026-11-08Feltz Printing Service NEGOTIATION61Xuxue Feng
1042Jeanfrancois I VocelkaFrance2026-11-04Benton, John B Jr UNQUALIFIED33Xuxue Feng
1043Antonio X WieserSpain2026-10-12Morlong Associates NEW88Xuxue Feng
1044Nicolas H WaycottArgentina2026-10-18Commercial Press PROPOSAL95Stephen Shaw
1045Claire K BriddickAustralia2026-11-08King, Christopher A Esq NEW66Ivan Magalhaes
1046Stacey E CaldareraRussia2026-10-30Buckley Miller Wright QUALIFIED64Onyama Limba
1047Costa S RimCanada2026-10-24Chemel, James L Cpa NEGOTIATION79Asiya Javayant
1048Jennifer S CaudyAustralia2026-10-30Buckley Miller Wright NEW30Amy Elsner
1049Smith V MacleadRussia2026-11-09Feltz Printing Service NEGOTIATION7Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Sinclair R ChuiRussiaOnyama Limba NEW
Chavez N MaletCanadaIoni Bowcher UNQUALIFIED
Claire V KolmetzRussiaOnyama Limba NEGOTIATION
Kaitlin S OstroskyBrazilBernardo Dominic NEGOTIATION
Costa N FigeroaGermanyOnyama Limba NEGOTIATION
Ricardo B TollnerRussiaXuxue Feng NEW
Isabel E FerenczArgentinaXuxue Feng QUALIFIED
Chavez L StockhamJapanXuxue Feng RENEWAL
Mayumi I CaudyGermanyAsiya Javayant QUALIFIED
Jeanfrancois A ChuiAustraliaBernardo Dominic UNQUALIFIED
Mayumi F KolmetzFranceXuxue Feng PROPOSAL
Darci Z BologniaAustraliaBernardo Dominic NEW
Chavez T ShinkoFranceIoni Bowcher NEW
Darci Y IturbideGermanyElwin Sharvill NEGOTIATION
Tony M TollnerSpainIvan Magalhaes NEW
Leon W FigeroaGermanyStephen Shaw PROPOSAL
Mayumi T KuskoAustraliaAnna Fali NEW
Antonio U FigeroaFranceElwin Sharvill NEGOTIATION
Francesco H MaletUnited KingdomIvan Magalhaes NEW
Tony X DoeFranceOnyama Limba UNQUALIFIED
Aika I ButtIndiaStephen Shaw NEGOTIATION
Leja N FlosiGermanyAmy Elsner QUALIFIED
Salvatore H KolmetzFranceStephen Shaw NEW
Aika S BowleyRussiaAsiya Javayant PROPOSAL
Deepesh Q FigeroaGermanyIoni Bowcher QUALIFIED
Maria S ButtSpainElwin Sharvill NEGOTIATION
Costa M RoysterAustraliaXuxue Feng QUALIFIED
Jeanfrancois P BowleyCanadaAnna Fali PROPOSAL
Izzy W DoeGermanyStephen Shaw RENEWAL
Emily J BriddickUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin T OstroskyFranceXuxue Feng NEW
Adams U WaycottAustraliaStephen Shaw PROPOSAL
Rodrigues Y FerenczItalyAnna Fali QUALIFIED
Mujtaba B RimIndiaAsiya Javayant QUALIFIED
Octavia O AmigonBrazilStephen Shaw QUALIFIED
Rodrigues R SergiItalyBernardo Dominic NEW
Greenwood A CampainCanadaOnyama Limba NEGOTIATION
Darci X FollerIndiaIoni Bowcher NEGOTIATION
Kaitlin W ButtSpainAnna Fali QUALIFIED
Aruna B NestleGermanyAsiya Javayant PROPOSAL
Sinclair U RutaUnited KingdomAnna Fali NEGOTIATION
Maisha L TollnerArgentinaAnna Fali UNQUALIFIED
Jefferson Q SaylorsBrazilBernardo Dominic QUALIFIED
Juan D MacleadSpainAmy Elsner QUALIFIED
Rodrigues Q ShinkoItalyBernardo Dominic PROPOSAL
Salvatore Z PaprockiGermanyAnna Fali QUALIFIED
Darci G GarufiSpainIoni Bowcher NEW
Alejandro F StensethUnited KingdomBernardo Dominic RENEWAL
Antonio R SchemmerAustraliaAnna Fali NEW
Ivar D RutaCanadaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Ivar J Ruta
Leon V Albares
Munro J Darakjy
Cody N Flosi
Wickens I Waycott
Ashley Y Shinko
Misaki X Rim
Salvatore U Kusko
Murillo Y Nicka
Jones Q Venere
Tony O Foller
Darci P Garufi
Ashley D Gillian
Arvin V Butt
Maria X Stockham
Tony X Gaucho
Mayumi A Stenseth
Julie X Rim
Cody Y Chui
Morrow E Morasca
Mujtaba R Maclead
Jeanfrancois C Nicka
Silvio E Stockham
Clifford Q Foller
Rodrigues A Bowley
Johnson E Whobrey
Faith H Foller
Costa V Waycott
Aika L Caudy
Jefferson B Oldroyd
Isabel N Figeroa
Tony Q Albares
Ivar Q Saylors
Leon F Nestle
Adams T Amigon
Kadeem Y Stockham
Arvin A Flosi
Jennifer N Royster
Ashley Q Ruta
Silvio I Rim
Cody G Inouye
Misaki S Ferencz
Maria P Gaucho
Jones J Dilliard
Leon L Royster
James B Doe
Jennifer H Saylors
Jeanfrancois Z Slusarski
Izzy U Caldarera
Julie P Garufi
IdCountryDate
1000Italy2026-10-22
1001Italy2026-10-14
1002United Kingdom2026-10-31
1003Spain2026-10-27
1004Canada2026-10-15
1005Canada2026-11-03
1006Canada2026-10-25
1007Russia2026-10-17
1008Brazil2026-10-12
1009India2026-11-10
1010India2026-11-08
1011Australia2026-11-03
1012India2026-10-16
1013Argentina2026-10-24
1014Brazil2026-10-21
1015Russia2026-11-08
1016Canada2026-11-05
1017Germany2026-10-20
1018India2026-10-15
1019Russia2026-11-04
1020Italy2026-10-23
1021Japan2026-10-31
1022Australia2026-10-15
1023Argentina2026-10-26
1024Canada2026-10-28
1025Australia2026-10-25
1026Italy2026-10-25
1027Italy2026-10-29
1028Japan2026-11-10
1029Spain2026-10-29
1030France2026-10-23
1031United Kingdom2026-10-21
1032Spain2026-10-29
1033Spain2026-11-07
1034India2026-10-29
1035Russia2026-10-22
1036United Kingdom2026-10-23
1037Germany2026-11-09
1038United Kingdom2026-10-24
1039India2026-10-20
1040Argentina2026-11-06
1041Argentina2026-10-29
1042Italy2026-10-15
1043India2026-10-12
1044United Kingdom2026-10-18
1045Canada2026-10-27
1046Canada2026-10-24
1047Russia2026-10-22
1048Australia2026-10-19
1049United Kingdom2026-10-22

On-Demand Data

NameIdCountryDate
Adams K Briddick1000Brazil2026-10-29
Mujtaba O Flosi1001Italy2026-11-05
Kadeem E Morasca1002Canada2026-11-05
Octavia D Schemmer1003Italy2026-10-25
Francesco Y Caldarera1004Japan2026-10-18
Adams J Bolognia1005Spain2026-10-17
Misaki A Malet1006Spain2026-10-12
Munro D Paprocki1007Argentina2026-10-16
Leja G Figeroa1008Australia2026-10-12
Munro N Vocelka1009Australia2026-10-14
Munro P Kolmetz1010Spain2026-10-28
Julie R Slusarski1011Canada2026-10-25
Antonio O Marrier1012Australia2026-10-21
Deepesh W Rim1013Japan2026-11-04
Johnson S Gaucho1014Argentina2026-11-07
Jeanfrancois B Rulapaugh1015India2026-11-03
Ricardo V Malet1016Russia2026-10-29
Costa H Perin1017Japan2026-11-10
Greenwood J Stenseth1018Italy2026-11-06
Jones B Sergi1019Japan2026-11-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams X BriddickFranceIvan Magalhaes PROPOSAL
Isabel I RulapaughItalyStephen Shaw RENEWAL
Salvatore H SaylorsItalyAsiya Javayant RENEWAL
Octavia M RulapaughArgentinaXuxue Feng PROPOSAL
Kadeem K ShinkoUnited KingdomIoni Bowcher NEW
Emily X BriddickAustraliaIoni Bowcher QUALIFIED
Cody Q TollnerAustraliaOnyama Limba NEW
Jennifer C CaudyUnited KingdomOnyama Limba RENEWAL
Izzy X RutaGermanyAsiya Javayant NEW
Aditya V NestleArgentinaXuxue Feng RENEWAL
Chavez W FollerItalyAnna Fali UNQUALIFIED
Murillo L SergiUnited KingdomElwin Sharvill NEW
Ashley F VenereFranceStephen Shaw UNQUALIFIED
Jones B PaprockiUnited KingdomElwin Sharvill QUALIFIED
Stacey H MacleadJapanStephen Shaw UNQUALIFIED
Costa M GauchoCanadaBernardo Dominic UNQUALIFIED
Isabel L BowleyAustraliaAmy Elsner UNQUALIFIED
Wickens N PaprockiArgentinaAnna Fali PROPOSAL
Costa L MaletUnited KingdomAnna Fali RENEWAL
Antonio O FlosiArgentinaElwin Sharvill PROPOSAL
Leja L BowleyGermanyIoni Bowcher NEGOTIATION
Ivar J AlbaresJapanAsiya Javayant QUALIFIED
Silvio A DarakjySpainAsiya Javayant NEW
Stacey Y WieserRussiaAmy Elsner NEGOTIATION
Clifford T GlickGermanyAmy Elsner NEW
Jones J FollerSpainOnyama Limba RENEWAL
James M VocelkaJapanOnyama Limba NEGOTIATION
Smith Y RoysterBrazilAnna Fali QUALIFIED
Deepesh F KolmetzAustraliaAmy Elsner QUALIFIED
Leja M BriddickCanadaIvan Magalhaes RENEWAL
Deepesh W FerenczRussiaAsiya Javayant UNQUALIFIED
Wickens H MacleadIndiaStephen Shaw UNQUALIFIED
Morrow H KuskoArgentinaIoni Bowcher NEGOTIATION
Tony G AlbaresSpainAmy Elsner QUALIFIED
Izzy E MacleadUnited KingdomAmy Elsner NEW
Darci W BologniaBrazilXuxue Feng UNQUALIFIED
Aditya D GarufiIndiaBernardo Dominic UNQUALIFIED
Rodrigues L InouyeAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba F NickaUnited KingdomElwin Sharvill NEGOTIATION
Stacey X RulapaughCanadaAmy Elsner 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>