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
Ivar G TollnerIndiaOnyama Limba NEGOTIATION
Misaki X MaletFranceIvan Magalhaes QUALIFIED
David Q VenereCanadaAnna Fali UNQUALIFIED
Claire A RulapaughArgentinaAnna Fali QUALIFIED
Mujtaba W StensethBrazilAmy Elsner NEGOTIATION
Salvatore M CaldareraGermanyElwin Sharvill RENEWAL
Arvin S VenereRussiaOnyama Limba QUALIFIED
Nicolas L VocelkaGermanyIoni Bowcher PROPOSAL
Sinclair G FlosiRussiaAsiya Javayant PROPOSAL
Octavia T TollnerRussiaBernardo Dominic UNQUALIFIED
Clifford P PerinFranceXuxue Feng PROPOSAL
Sinclair A SaylorsIndiaStephen Shaw NEW
Mujtaba C AmigonItalyBernardo Dominic UNQUALIFIED
Claire N MacleadCanadaOnyama Limba QUALIFIED
Aditya G GarufiCanadaIvan Magalhaes UNQUALIFIED
Maria Y ChuiSpainAsiya Javayant NEGOTIATION
Salvatore X FollerRussiaAnna Fali PROPOSAL
Nicolas G NestleUnited KingdomIvan Magalhaes RENEWAL
Leon I NickaCanadaOnyama Limba PROPOSAL
Smith W CaudySpainAnna Fali NEW
Julie T PaprockiGermanyStephen Shaw UNQUALIFIED
Juan W WaycottBrazilStephen Shaw QUALIFIED
Antonio S WhobreyItalyAsiya Javayant UNQUALIFIED
Johnson R RoysterRussiaXuxue Feng UNQUALIFIED
Jennifer N MaletUnited KingdomAsiya Javayant NEW
Misaki I DoeRussiaOnyama Limba NEGOTIATION
Juan K OstroskyAustraliaAsiya Javayant NEGOTIATION
Wickens V GlickCanadaIvan Magalhaes UNQUALIFIED
Leon F RimUnited KingdomIvan Magalhaes QUALIFIED
Deepesh A CampainFranceXuxue Feng NEGOTIATION
Costa T SlusarskiArgentinaAmy Elsner NEGOTIATION
Ivar Z FlosiJapanAmy Elsner PROPOSAL
Jennifer E FollerCanadaOnyama Limba RENEWAL
Deepesh L SergiItalyOnyama Limba RENEWAL
Ashley F GarufiUnited KingdomXuxue Feng PROPOSAL
Arvin T MaletBrazilOnyama Limba QUALIFIED
David K DarakjyCanadaStephen Shaw NEGOTIATION
Claire F IturbideArgentinaStephen Shaw NEGOTIATION
Octavia O WhobreyBrazilAnna Fali NEW
Leon V GillianIndiaStephen Shaw PROPOSAL
Chavez K MacleadJapanIoni Bowcher PROPOSAL
Mujtaba W NickaRussiaElwin Sharvill NEW
Stacey A CaldareraGermanyElwin Sharvill PROPOSAL
Rodrigues K PerinAustraliaAsiya Javayant NEW
Alejandro Q MaletCanadaStephen Shaw NEW
Costa K PaprockiItalyAsiya Javayant NEW
Nicolas A BowleyGermanyStephen Shaw NEGOTIATION
Mayumi U CampainArgentinaIvan Magalhaes RENEWAL
Aruna R OstroskyItalyElwin Sharvill PROPOSAL
Antonio P DilliardFranceAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja D ChuiRussiaStephen Shaw QUALIFIED
Arvin D StockhamBrazilElwin Sharvill PROPOSAL
Ivar R GauchoSpainOnyama Limba NEGOTIATION
Kaitlin R DoeSpainAmy Elsner NEGOTIATION
Clifford L FlosiItalyBernardo Dominic PROPOSAL
Munro L ShinkoUnited KingdomAnna Fali PROPOSAL
Aruna Y RulapaughIndiaAnna Fali QUALIFIED
Wickens Z SchemmerCanadaAsiya Javayant RENEWAL
Costa N MacleadSpainBernardo Dominic RENEWAL
Costa G RutaFranceAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio F ChuiCanada2026-09-03Chapman, Ross E Esq UNQUALIFIED24Elwin Sharvill
1001Nicolas I DoeRussia2026-09-06Truhlar And Truhlar Attys QUALIFIED85Elwin Sharvill
1002Johnson M FigeroaGermany2026-09-14Chapman, Ross E Esq PROPOSAL4Ioni Bowcher
1003Leon P DilliardArgentina2026-08-30Dorl, James J Esq UNQUALIFIED53Anna Fali
1004Ricardo E DarakjyArgentina2026-09-04Chapman, Ross E Esq RENEWAL39Elwin Sharvill
1005Maria P AmigonUnited Kingdom2026-09-17Commercial Press RENEWAL11Ivan Magalhaes
1006Juan G IturbideGermany2026-09-20King, Christopher A Esq QUALIFIED8Onyama Limba
1007Emily E GillianRussia2026-09-09Rousseaux, Michael Esq NEGOTIATION79Asiya Javayant
1008Jennifer S BowleyFrance2026-09-17King, Christopher A Esq PROPOSAL78Xuxue Feng
1009Salvatore M MorascaIndia2026-09-14Dorl, James J Esq NEGOTIATION8Ioni Bowcher
1010Ricardo L MaletGermany2026-09-18Chemel, James L Cpa NEW3Asiya Javayant
1011Izzy H MaletFrance2026-09-05Morlong Associates PROPOSAL46Onyama Limba
1012Maria J BologniaSpain2026-09-10Buckley Miller Wright NEW13Xuxue Feng
1013Wickens D CaudyRussia2026-08-29Truhlar And Truhlar Attys NEW59Ivan Magalhaes
1014Adams F MarrierFrance2026-09-03Dorl, James J Esq NEGOTIATION68Bernardo Dominic
1015Maisha T TollnerCanada2026-09-10Dorl, James J Esq QUALIFIED68Asiya Javayant
1016Faith C StockhamAustralia2026-09-23Chemel, James L Cpa UNQUALIFIED30Ivan Magalhaes
1017Morrow J GlickItaly2026-08-28Buckley Miller Wright NEW3Stephen Shaw
1018Jefferson J InouyeItaly2026-08-29Chanay, Jeffrey A Esq UNQUALIFIED25Anna Fali
1019Izzy N SaylorsCanada2026-09-09Morlong Associates UNQUALIFIED33Ioni Bowcher
1020Francesco P VenereRussia2026-08-31Feiner Bros RENEWAL33Asiya Javayant
1021Costa K SlusarskiSpain2026-09-23Benton, John B Jr NEW65Stephen Shaw
1022Antonio L SergiUnited Kingdom2026-09-17Printing Dimensions QUALIFIED48Bernardo Dominic
1023James S PoquetteAustralia2026-09-13Buckley Miller Wright UNQUALIFIED52Anna Fali
1024Antonio R SchemmerCanada2026-09-07Feltz Printing Service UNQUALIFIED70Anna Fali
1025Maisha H OstroskyJapan2026-09-16Buckley Miller Wright QUALIFIED0Stephen Shaw
1026Leja L DilliardAustralia2026-09-22Dorl, James J Esq UNQUALIFIED66Anna Fali
1027Kadeem U SaylorsBrazil2026-09-20Printing Dimensions NEW75Asiya Javayant
1028Cody C WhobreyFrance2026-09-04Dorl, James J Esq UNQUALIFIED31Elwin Sharvill
1029Darci F VocelkaSpain2026-09-09Printing Dimensions QUALIFIED57Onyama Limba
1030Aika X SchemmerBrazil2026-08-31Dorl, James J Esq NEW56Onyama Limba
1031Deepesh A OldroydCanada2026-09-14Buckley Miller Wright QUALIFIED77Bernardo Dominic
1032Deepesh U WaycottItaly2026-09-21Commercial Press NEGOTIATION73Stephen Shaw
1033Emily L NestleRussia2026-09-17Feltz Printing Service QUALIFIED21Asiya Javayant
1034Kadeem H VenereUnited Kingdom2026-09-05Benton, John B Jr NEW97Ioni Bowcher
1035Jones J VenereRussia2026-09-07Chemel, James L Cpa NEW57Anna Fali
1036James O PerinAustralia2026-08-31Printing Dimensions NEGOTIATION81Onyama Limba
1037Misaki U GlickBrazil2026-09-21Rousseaux, Michael Esq RENEWAL21Anna Fali
1038Aruna R BowleyBrazil2026-08-31Printing Dimensions PROPOSAL94Anna Fali
1039Maisha F FollerJapan2026-09-16King, Christopher A Esq NEW67Stephen Shaw
1040Jones X DoeSpain2026-09-18Rousseaux, Michael Esq NEW2Asiya Javayant
1041Octavia P FollerAustralia2026-09-08Rangoni Of Florence PROPOSAL83Onyama Limba
1042Kaitlin Q IturbideRussia2026-09-06Chemel, James L Cpa NEGOTIATION84Asiya Javayant
1043Murillo F RimAustralia2026-09-17Dorl, James J Esq UNQUALIFIED89Asiya Javayant
1044Morrow F SchemmerArgentina2026-09-06Dorl, James J Esq RENEWAL88Stephen Shaw
1045Alejandro Z SergiItaly2026-09-08Chapman, Ross E Esq NEGOTIATION7Anna Fali
1046Jones Q PaprockiCanada2026-08-28Feiner Bros PROPOSAL72Stephen Shaw
1047Juan W SergiArgentina2026-09-10Buckley Miller Wright NEW6Xuxue Feng
1048Arvin P BologniaFrance2026-09-09Buckley Miller Wright NEGOTIATION86Anna Fali
1049Johnson A VenereIndia2026-08-29Rangoni Of Florence NEW9Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson X OldroydArgentinaAnna Fali UNQUALIFIED
Faith P DilliardIndiaAnna Fali NEW
Faith K OldroydAustraliaAmy Elsner UNQUALIFIED
Kaitlin I MacleadJapanIoni Bowcher NEW
Aika R MorascaGermanyIvan Magalhaes QUALIFIED
Aruna T PerinIndiaAnna Fali RENEWAL
Silvio F CampainAustraliaElwin Sharvill NEGOTIATION
Smith T NickaGermanyElwin Sharvill RENEWAL
Ivar E RimArgentinaXuxue Feng NEW
Maisha J KuskoItalyAmy Elsner NEW
Sinclair B MacleadBrazilAnna Fali QUALIFIED
Alejandro F PerinAustraliaStephen Shaw NEGOTIATION
Octavia Z KuskoSpainAnna Fali QUALIFIED
Isabel J WaycottRussiaAsiya Javayant RENEWAL
Isabel Y MarrierArgentinaIoni Bowcher NEW
Nicolas N SchemmerItalyAmy Elsner NEGOTIATION
Aika B ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson X MaletBrazilAsiya Javayant NEW
James M TollnerCanadaXuxue Feng NEW
Antonio I MarrierBrazilElwin Sharvill UNQUALIFIED
Leon B NestleCanadaXuxue Feng QUALIFIED
James H MaletIndiaElwin Sharvill NEGOTIATION
Kadeem S MorascaCanadaAmy Elsner NEGOTIATION
Deepesh G MarrierUnited KingdomAnna Fali QUALIFIED
Morrow N PaprockiAustraliaXuxue Feng NEGOTIATION
Wickens M SlusarskiSpainXuxue Feng PROPOSAL
Aditya N DoeItalyIvan Magalhaes NEGOTIATION
Kadeem T RulapaughBrazilIoni Bowcher UNQUALIFIED
Jefferson V SlusarskiIndiaAsiya Javayant NEGOTIATION
Morrow C WaycottRussiaIvan Magalhaes QUALIFIED
Alejandro S MarrierRussiaAsiya Javayant RENEWAL
Smith O KuskoRussiaXuxue Feng NEW
Murillo Z CampainSpainIvan Magalhaes PROPOSAL
Aruna T ChuiSpainOnyama Limba UNQUALIFIED
Jones O GauchoJapanElwin Sharvill NEGOTIATION
Aruna Q OldroydRussiaXuxue Feng NEGOTIATION
Costa K FerenczUnited KingdomIoni Bowcher NEGOTIATION
Murillo Q NestleAustraliaAnna Fali PROPOSAL
Juan H NestleArgentinaAmy Elsner QUALIFIED
Darci Q VocelkaIndiaStephen Shaw NEW
Aditya H WaycottFranceAmy Elsner PROPOSAL
Aditya W SergiRussiaStephen Shaw NEW
Claire Q FlosiRussiaElwin Sharvill UNQUALIFIED
Aditya X NickaArgentinaIvan Magalhaes UNQUALIFIED
Alejandro U PaprockiCanadaXuxue Feng PROPOSAL
Aika J SlusarskiJapanAnna Fali QUALIFIED
Maria C GlickArgentinaXuxue Feng NEGOTIATION
Munro G KolmetzGermanyBernardo Dominic PROPOSAL
Octavia M GauchoBrazilAmy Elsner NEW
Mujtaba V GauchoUnited KingdomAnna Fali NEW
Frozen Columns
Name
Julie J Perin
Rodrigues G Nestle
Izzy E Sergi
Adams S Butt
Nicolas V Ruta
Francesco A Bolognia
Faith X Albares
Ashley Q Shinko
Julie B Poquette
Faith Q Venere
Aika R Maclead
Nicolas B Tollner
Mayumi Q Campain
Jeanfrancois E Inouye
Aditya P Ferencz
Leon V Wieser
Alejandro S Marrier
Chavez F Iturbide
Izzy O Paprocki
Maisha R Kolmetz
Claire W Bolognia
David K Caudy
Ivar X Rim
Stacey H Rulapaugh
Nicolas H Briddick
Silvio X Gaucho
Octavia J Campain
Octavia L Morasca
Adams L Caldarera
Leon A Kusko
Johnson F Poquette
Stacey C Poquette
Juan L Venere
Maria I Darakjy
Aruna N Gaucho
Silvio J Slusarski
Maisha Q Marrier
Aruna U Caudy
Izzy Q Albares
Costa D Perin
Jennifer J Iturbide
Aditya X Nicka
Sinclair M Tollner
Aruna X Gaucho
Antonio Q Foller
Murillo A Malet
Juan B Stockham
Kaitlin Z Darakjy
Greenwood Q Garufi
Murillo X Poquette
IdCountryDate
1000Italy2026-09-18
1001India2026-09-07
1002Russia2026-09-19
1003Russia2026-09-09
1004Spain2026-09-16
1005India2026-09-02
1006France2026-09-14
1007Australia2026-08-29
1008Spain2026-09-04
1009Argentina2026-08-31
1010Russia2026-09-18
1011India2026-09-05
1012Italy2026-09-17
1013United Kingdom2026-09-14
1014Germany2026-09-14
1015Spain2026-09-09
1016Russia2026-08-30
1017Australia2026-09-24
1018Canada2026-09-14
1019Brazil2026-08-29
1020Australia2026-09-21
1021France2026-09-25
1022Brazil2026-09-20
1023Brazil2026-09-25
1024Argentina2026-09-10
1025India2026-09-07
1026Russia2026-09-17
1027Brazil2026-09-13
1028Germany2026-09-15
1029Argentina2026-09-19
1030Canada2026-08-31
1031France2026-09-22
1032India2026-09-26
1033Germany2026-09-11
1034Brazil2026-09-22
1035Australia2026-09-08
1036Australia2026-09-25
1037Japan2026-09-19
1038United Kingdom2026-09-23
1039India2026-09-02
1040Russia2026-09-07
1041Russia2026-09-13
1042Brazil2026-09-16
1043Brazil2026-09-19
1044Spain2026-09-05
1045Canada2026-09-12
1046Spain2026-09-19
1047Spain2026-09-07
1048Italy2026-08-29
1049Russia2026-09-04

On-Demand Data

NameIdCountryDate
Octavia D Saylors1000Australia2026-09-09
Jeanfrancois C Stockham1001United Kingdom2026-08-28
Antonio W Amigon1002United Kingdom2026-09-25
Tony U Sergi1003Russia2026-09-04
Aika N Stenseth1004India2026-09-06
Jeanfrancois C Whobrey1005United Kingdom2026-09-12
Rodrigues B Bowley1006United Kingdom2026-09-21
Clifford H Ruta1007Argentina2026-09-03
Jefferson T Oldroyd1008India2026-09-21
Darci B Stockham1009Spain2026-09-09
Nicolas I Nestle1010Germany2026-08-30
Munro A Perin1011Germany2026-09-08
Jeanfrancois G Maclead1012Brazil2026-09-20
Stacey R Amigon1013Japan2026-09-17
Chavez J Glick1014Germany2026-08-30
Johnson F Caldarera1015France2026-09-16
Tony X Oldroyd1016France2026-09-04
Claire A Dilliard1017Argentina2026-09-05
Deepesh P Campain1018Italy2026-09-17
Adams O Whobrey1019Argentina2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro Z AlbaresArgentinaElwin Sharvill NEW
Ashley A SlusarskiArgentinaXuxue Feng RENEWAL
Darci R WaycottBrazilOnyama Limba NEW
Silvio E DarakjyRussiaAmy Elsner RENEWAL
Darci F FerenczGermanyElwin Sharvill QUALIFIED
Darci A FerenczFranceBernardo Dominic UNQUALIFIED
Kadeem E AlbaresIndiaElwin Sharvill NEW
Chavez J FollerIndiaStephen Shaw RENEWAL
Murillo L MaletSpainStephen Shaw RENEWAL
Leon Y OldroydIndiaXuxue Feng RENEWAL
Kadeem R ButtJapanStephen Shaw PROPOSAL
Munro A VenereItalyAmy Elsner NEGOTIATION
Jeanfrancois Q OldroydSpainStephen Shaw PROPOSAL
Greenwood X PerinAustraliaXuxue Feng NEW
Isabel S MacleadGermanyIoni Bowcher NEGOTIATION
Tony G BowleyArgentinaAmy Elsner QUALIFIED
Kaitlin M StockhamBrazilIvan Magalhaes NEGOTIATION
Darci Y MacleadFranceXuxue Feng NEW
Clifford R AmigonJapanAsiya Javayant UNQUALIFIED
Leja E SergiCanadaXuxue Feng UNQUALIFIED
Jeanfrancois B AlbaresSpainOnyama Limba PROPOSAL
Jennifer W PerinGermanyElwin Sharvill UNQUALIFIED
Smith B MorascaArgentinaStephen Shaw NEW
Izzy D BowleyCanadaAsiya Javayant UNQUALIFIED
Munro C GillianFranceXuxue Feng NEGOTIATION
James J FerenczAustraliaIoni Bowcher NEW
Nicolas M MaletJapanAnna Fali PROPOSAL
Sinclair Y MarrierGermanyAsiya Javayant NEGOTIATION
Kaitlin J StensethAustraliaIvan Magalhaes QUALIFIED
Darci C IturbideFranceAsiya Javayant QUALIFIED
Misaki P DilliardGermanyAsiya Javayant PROPOSAL
Maria D WaycottAustraliaAsiya Javayant NEW
Silvio U AmigonSpainAsiya Javayant UNQUALIFIED
Adams L StockhamBrazilIvan Magalhaes NEGOTIATION
Leon P StockhamAustraliaAnna Fali PROPOSAL
Ashley N BriddickSpainBernardo Dominic PROPOSAL
Mujtaba U SlusarskiCanadaIvan Magalhaes QUALIFIED
Silvio J ChuiSpainXuxue Feng NEGOTIATION
Tony A DarakjySpainElwin Sharvill NEW
Costa K NestleItalyIvan Magalhaes 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>