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
Kadeem M NestleJapanIoni Bowcher NEW
Ivar L ShinkoFranceBernardo Dominic RENEWAL
Aruna V VocelkaCanadaStephen Shaw NEGOTIATION
Antonio F TollnerRussiaElwin Sharvill QUALIFIED
Chavez Q PoquetteGermanyStephen Shaw NEGOTIATION
Leon Q DarakjyRussiaAnna Fali NEW
Mayumi M RutaAustraliaAmy Elsner NEW
Juan C SlusarskiRussiaIoni Bowcher UNQUALIFIED
Sinclair T MorascaArgentinaXuxue Feng RENEWAL
Claire M MacleadItalyAnna Fali RENEWAL
Francesco Z SaylorsAustraliaElwin Sharvill UNQUALIFIED
Salvatore N RulapaughSpainXuxue Feng PROPOSAL
Octavia Y GarufiJapanXuxue Feng NEGOTIATION
Aditya P OstroskyItalyXuxue Feng QUALIFIED
Deepesh K RoysterSpainXuxue Feng NEGOTIATION
David V RulapaughIndiaXuxue Feng NEGOTIATION
Murillo L GauchoFranceIvan Magalhaes NEGOTIATION
Claire Z MacleadArgentinaIvan Magalhaes PROPOSAL
Claire L ShinkoAustraliaStephen Shaw RENEWAL
Jennifer X SlusarskiItalyIoni Bowcher NEGOTIATION
Jones F OldroydJapanAnna Fali UNQUALIFIED
Aruna E NickaRussiaIvan Magalhaes QUALIFIED
Aruna T RimGermanyElwin Sharvill QUALIFIED
Darci C SergiBrazilBernardo Dominic RENEWAL
Silvio K MaletIndiaStephen Shaw QUALIFIED
Maria R NickaUnited KingdomElwin Sharvill NEW
Jones D BologniaArgentinaOnyama Limba NEW
Juan A GauchoJapanElwin Sharvill PROPOSAL
Aika D MorascaRussiaXuxue Feng PROPOSAL
Leja V IturbideCanadaElwin Sharvill NEGOTIATION
Aika D WieserRussiaOnyama Limba PROPOSAL
Jeanfrancois X FollerUnited KingdomIvan Magalhaes PROPOSAL
Silvio R DilliardGermanyIvan Magalhaes PROPOSAL
David L NickaIndiaElwin Sharvill UNQUALIFIED
Darci O OldroydArgentinaElwin Sharvill RENEWAL
Kaitlin B CaldareraSpainAsiya Javayant NEW
Ivar N RutaIndiaIoni Bowcher QUALIFIED
Munro Q BriddickUnited KingdomBernardo Dominic QUALIFIED
Jones X SaylorsRussiaAnna Fali NEGOTIATION
Jones T IturbideUnited KingdomAmy Elsner NEW
Alejandro Q SergiGermanyBernardo Dominic UNQUALIFIED
Ashley F CampainFranceBernardo Dominic NEGOTIATION
Kaitlin G WhobreyJapanBernardo Dominic NEW
Leja C CampainCanadaBernardo Dominic RENEWAL
Julie X CaudyFranceXuxue Feng UNQUALIFIED
Julie Q OstroskyCanadaBernardo Dominic NEW
Misaki A PaprockiUnited KingdomAnna Fali QUALIFIED
Claire A ButtGermanyIoni Bowcher UNQUALIFIED
Mayumi K KolmetzIndiaBernardo Dominic QUALIFIED
Clifford W KolmetzIndiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar X NickaIndiaAmy Elsner QUALIFIED
Maria F GauchoArgentinaStephen Shaw RENEWAL
Jennifer I NestleCanadaAnna Fali RENEWAL
Stacey Z AlbaresIndiaXuxue Feng RENEWAL
Stacey L AlbaresGermanyBernardo Dominic NEW
Juan W MaletArgentinaOnyama Limba UNQUALIFIED
Octavia K SergiRussiaElwin Sharvill RENEWAL
Kadeem L InouyeGermanyOnyama Limba PROPOSAL
Greenwood C WieserCanadaElwin Sharvill RENEWAL
Antonio Q BriddickFranceElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin A RulapaughAustralia2026-09-24Truhlar And Truhlar Attys UNQUALIFIED66Anna Fali
1001Octavia J GlickIndia2026-10-11Morlong Associates NEW0Bernardo Dominic
1002Ivar N ShinkoBrazil2026-10-11Commercial Press NEW4Ivan Magalhaes
1003Misaki E SlusarskiFrance2026-09-25Chapman, Ross E Esq PROPOSAL13Asiya Javayant
1004Deepesh D WaycottArgentina2026-09-27Rousseaux, Michael Esq QUALIFIED8Elwin Sharvill
1005Antonio M SlusarskiBrazil2026-10-05Buckley Miller Wright NEGOTIATION75Bernardo Dominic
1006Smith O MorascaBrazil2026-09-24Rangoni Of Florence PROPOSAL62Anna Fali
1007Jefferson F SchemmerFrance2026-10-02Commercial Press UNQUALIFIED14Bernardo Dominic
1008Costa N GauchoRussia2026-09-21Commercial Press QUALIFIED53Amy Elsner
1009Cody K AlbaresGermany2026-10-05Dorl, James J Esq NEGOTIATION22Asiya Javayant
1010Jennifer L StensethBrazil2026-10-10Rousseaux, Michael Esq QUALIFIED73Amy Elsner
1011Ashley B SlusarskiJapan2026-09-23Feiner Bros PROPOSAL53Bernardo Dominic
1012Julie Z PoquetteCanada2026-09-18Truhlar And Truhlar Attys NEGOTIATION21Stephen Shaw
1013Jones R BriddickUnited Kingdom2026-10-11Buckley Miller Wright NEGOTIATION85Amy Elsner
1014Maisha S OstroskyCanada2026-09-17Feiner Bros RENEWAL76Elwin Sharvill
1015Stacey E OldroydFrance2026-09-20Rangoni Of Florence QUALIFIED17Xuxue Feng
1016Aruna D NestleAustralia2026-09-20Chapman, Ross E Esq RENEWAL79Anna Fali
1017Murillo D NestleGermany2026-10-02Chanay, Jeffrey A Esq RENEWAL71Xuxue Feng
1018Claire Z PoquetteRussia2026-09-22Benton, John B Jr UNQUALIFIED88Onyama Limba
1019David L RulapaughBrazil2026-09-13Benton, John B Jr NEGOTIATION74Anna Fali
1020Isabel I BologniaArgentina2026-09-30Truhlar And Truhlar Attys NEW4Asiya Javayant
1021Kaitlin U FlosiFrance2026-09-27Truhlar And Truhlar Attys PROPOSAL91Xuxue Feng
1022Misaki W DilliardBrazil2026-09-26Chanay, Jeffrey A Esq NEW32Bernardo Dominic
1023Arvin I SchemmerUnited Kingdom2026-10-08Printing Dimensions NEW11Ivan Magalhaes
1024Mujtaba Y NestleUnited Kingdom2026-10-05Truhlar And Truhlar Attys QUALIFIED22Onyama Limba
1025Isabel W WhobreyFrance2026-09-20Dorl, James J Esq NEGOTIATION78Ioni Bowcher
1026Francesco U CaudyGermany2026-09-25Commercial Press RENEWAL24Anna Fali
1027Alejandro Y WaycottAustralia2026-09-27Commercial Press QUALIFIED89Elwin Sharvill
1028Clifford U WieserGermany2026-09-22Printing Dimensions NEW19Bernardo Dominic
1029Izzy X RimFrance2026-09-30Benton, John B Jr PROPOSAL87Anna Fali
1030Maria F MaletAustralia2026-10-11Dorl, James J Esq NEGOTIATION55Elwin Sharvill
1031Kaitlin J AlbaresRussia2026-10-09Buckley Miller Wright UNQUALIFIED8Asiya Javayant
1032Cody I ShinkoRussia2026-10-03Truhlar And Truhlar Attys UNQUALIFIED80Amy Elsner
1033Faith W GarufiArgentina2026-10-09Buckley Miller Wright QUALIFIED60Amy Elsner
1034Tony E AmigonUnited Kingdom2026-09-26King, Christopher A Esq NEW74Xuxue Feng
1035Greenwood Y MaletAustralia2026-09-16Chanay, Jeffrey A Esq QUALIFIED68Xuxue Feng
1036Emily M MarrierItaly2026-10-09Benton, John B Jr NEGOTIATION54Asiya Javayant
1037Smith O RimFrance2026-10-10Dorl, James J Esq PROPOSAL13Asiya Javayant
1038Ivar C ChuiIndia2026-09-27Rousseaux, Michael Esq PROPOSAL40Asiya Javayant
1039Murillo T MarrierIndia2026-10-11Feltz Printing Service RENEWAL0Ivan Magalhaes
1040Izzy M FerenczCanada2026-09-19Commercial Press RENEWAL74Elwin Sharvill
1041Leon N KuskoFrance2026-10-07Morlong Associates NEGOTIATION80Anna Fali
1042Silvio Q StockhamArgentina2026-09-30Feiner Bros UNQUALIFIED12Onyama Limba
1043Salvatore N MarrierAustralia2026-10-04Commercial Press QUALIFIED54Amy Elsner
1044Kaitlin L KolmetzFrance2026-09-12Commercial Press RENEWAL97Ioni Bowcher
1045Morrow R BologniaArgentina2026-10-03Chemel, James L Cpa PROPOSAL82Elwin Sharvill
1046Jones V DarakjyAustralia2026-10-11Feiner Bros QUALIFIED8Stephen Shaw
1047Arvin V RimItaly2026-10-03Chemel, James L Cpa RENEWAL35Onyama Limba
1048Mayumi W ChuiFrance2026-09-30Chanay, Jeffrey A Esq UNQUALIFIED34Elwin Sharvill
1049Greenwood B ShinkoUnited Kingdom2026-10-03Commercial Press UNQUALIFIED15Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro P StensethAustraliaElwin Sharvill RENEWAL
Wickens X MarrierBrazilElwin Sharvill PROPOSAL
Maisha U PoquetteFranceAmy Elsner PROPOSAL
Izzy A SergiJapanElwin Sharvill RENEWAL
Kadeem O MaletArgentinaAmy Elsner NEGOTIATION
Rodrigues U TollnerFranceXuxue Feng RENEWAL
Jefferson V SchemmerItalyIvan Magalhaes NEW
Mayumi I AmigonArgentinaAnna Fali NEW
Izzy Y GillianCanadaAnna Fali RENEWAL
Octavia R VocelkaGermanyElwin Sharvill NEW
James M DarakjyJapanIoni Bowcher NEGOTIATION
Francesco M SchemmerCanadaElwin Sharvill RENEWAL
Mujtaba K WaycottJapanXuxue Feng RENEWAL
Wickens B RutaCanadaIoni Bowcher UNQUALIFIED
Maria N DoeFranceIoni Bowcher PROPOSAL
David G SlusarskiRussiaAnna Fali NEGOTIATION
Arvin T CaldareraBrazilAnna Fali QUALIFIED
James K StensethCanadaElwin Sharvill QUALIFIED
Leon H MorascaIndiaAnna Fali QUALIFIED
Costa O DoeIndiaIoni Bowcher UNQUALIFIED
Jennifer T FollerGermanyAsiya Javayant PROPOSAL
Nicolas B KuskoUnited KingdomElwin Sharvill NEGOTIATION
Morrow F InouyeGermanyIoni Bowcher NEGOTIATION
Morrow S CampainItalyIvan Magalhaes PROPOSAL
Francesco E SchemmerGermanyOnyama Limba PROPOSAL
Jefferson C DoeCanadaBernardo Dominic UNQUALIFIED
Wickens W SaylorsBrazilElwin Sharvill PROPOSAL
Antonio H BowleyJapanElwin Sharvill NEGOTIATION
Murillo F PerinIndiaAsiya Javayant RENEWAL
Deepesh Y AmigonArgentinaAsiya Javayant NEGOTIATION
Leja W NickaAustraliaOnyama Limba RENEWAL
Costa A KuskoFranceXuxue Feng NEW
Ashley W WieserCanadaXuxue Feng RENEWAL
Maria G ChuiBrazilElwin Sharvill NEW
Aditya B StockhamCanadaAsiya Javayant PROPOSAL
Ivar L SchemmerUnited KingdomAsiya Javayant QUALIFIED
Octavia T StensethItalyXuxue Feng UNQUALIFIED
Misaki W ChuiUnited KingdomOnyama Limba UNQUALIFIED
Smith V PerinBrazilAmy Elsner NEW
Mujtaba I GillianArgentinaAnna Fali QUALIFIED
Maria X WaycottUnited KingdomStephen Shaw PROPOSAL
Maisha R MaletGermanyElwin Sharvill QUALIFIED
Francesco D InouyeRussiaAnna Fali NEGOTIATION
Jennifer F BowleyCanadaStephen Shaw RENEWAL
Clifford G ShinkoGermanyAmy Elsner PROPOSAL
Aditya P ButtFranceXuxue Feng NEGOTIATION
Salvatore O DoeIndiaOnyama Limba NEW
Clifford N PerinSpainIoni Bowcher NEGOTIATION
Murillo U DarakjySpainIoni Bowcher QUALIFIED
Kadeem E MaletBrazilAmy Elsner UNQUALIFIED
Frozen Columns
Name
Costa F Butt
Morrow S Shinko
Nicolas P Vocelka
Kadeem G Darakjy
Morrow K Ferencz
Jefferson T Whobrey
Greenwood G Ostrosky
Antonio J Gillian
Izzy E Albares
Aruna W Tollner
Leon B Schemmer
Ricardo Q Oldroyd
Jennifer M Nestle
Munro W Morasca
Maria L Chui
Leja J Nestle
Kadeem Z Foller
Jefferson Z Darakjy
Deepesh V Oldroyd
Darci O Ruta
Greenwood H Amigon
Adams C Bolognia
Izzy W Waycott
Darci N Flosi
Antonio K Marrier
Johnson H Wieser
Leon A Malet
Stacey A Malet
Darci U Nestle
Darci W Kusko
Alejandro Y Marrier
Aditya R Wieser
Octavia R Venere
Johnson L Flosi
Isabel E Ostrosky
Alejandro D Rim
Mayumi M Butt
Jennifer S Rulapaugh
Morrow Y Amigon
Juan U Darakjy
Greenwood R Whobrey
Salvatore Q Garufi
Ivar Y Paprocki
Stacey W Slusarski
Sinclair X Nestle
Jennifer Q Dilliard
Alejandro Q Doe
Jeanfrancois B Gaucho
Cody V Kusko
Faith Z Gaucho
IdCountryDate
1000Argentina2026-09-30
1001United Kingdom2026-09-25
1002India2026-10-02
1003Spain2026-09-19
1004Australia2026-09-16
1005Argentina2026-10-08
1006France2026-10-11
1007Germany2026-09-25
1008Russia2026-09-27
1009Spain2026-09-21
1010Brazil2026-10-09
1011Germany2026-09-19
1012Canada2026-09-20
1013Russia2026-10-09
1014Spain2026-10-02
1015Germany2026-09-25
1016Germany2026-09-27
1017Russia2026-09-30
1018Brazil2026-10-10
1019Australia2026-09-18
1020India2026-10-08
1021Brazil2026-10-01
1022Japan2026-09-12
1023Brazil2026-10-01
1024France2026-09-26
1025Australia2026-09-13
1026Japan2026-09-13
1027Germany2026-09-28
1028Canada2026-09-23
1029France2026-09-18
1030Italy2026-09-30
1031India2026-09-23
1032United Kingdom2026-10-03
1033India2026-10-06
1034Brazil2026-09-13
1035Argentina2026-09-26
1036Argentina2026-09-26
1037Canada2026-09-28
1038India2026-10-11
1039Spain2026-09-28
1040France2026-10-08
1041United Kingdom2026-09-17
1042Italy2026-10-05
1043Russia2026-09-14
1044Brazil2026-09-19
1045Italy2026-10-09
1046Germany2026-09-20
1047Brazil2026-09-28
1048Italy2026-09-21
1049Australia2026-10-09

On-Demand Data

NameIdCountryDate
Clifford T Campain1000India2026-10-02
Salvatore A Flosi1001Spain2026-09-27
Mujtaba U Whobrey1002Brazil2026-09-14
Leja V Wieser1003France2026-09-25
Tony V Nestle1004Italy2026-09-14
Leon D Venere1005United Kingdom2026-10-09
Darci F Marrier1006United Kingdom2026-09-17
Rodrigues Z Figeroa1007Canada2026-10-04
Antonio M Gaucho1008Australia2026-09-30
Cody A Rulapaugh1009Germany2026-09-18
Francesco K Perin1010Australia2026-09-16
Murillo J Dilliard1011Spain2026-10-01
Ivar F Kusko1012Japan2026-09-16
Julie Q Doe1013Canada2026-10-02
Darci E Campain1014Germany2026-09-21
Greenwood S Iturbide1015France2026-09-26
Ivar Q Marrier1016India2026-10-03
Adams N Gaucho1017Brazil2026-09-29
Rodrigues I Rulapaugh1018India2026-10-08
Chavez D Rim1019Japan2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith T FigeroaAustraliaXuxue Feng NEGOTIATION
Sinclair O CaldareraRussiaXuxue Feng QUALIFIED
Nicolas S DoeArgentinaBernardo Dominic RENEWAL
Tony L MaletAustraliaElwin Sharvill QUALIFIED
Misaki Y VocelkaUnited KingdomIoni Bowcher NEW
Arvin Y PerinAustraliaElwin Sharvill UNQUALIFIED
Sinclair B WieserFranceStephen Shaw RENEWAL
Julie L RulapaughBrazilIoni Bowcher RENEWAL
Maria U TollnerUnited KingdomBernardo Dominic QUALIFIED
Maisha E FigeroaAustraliaStephen Shaw UNQUALIFIED
Francesco R FollerSpainBernardo Dominic PROPOSAL
Smith D ShinkoJapanOnyama Limba QUALIFIED
Smith J ShinkoGermanyElwin Sharvill RENEWAL
Stacey D VocelkaIndiaAnna Fali NEW
Emily Q OstroskyBrazilAnna Fali RENEWAL
Mayumi U InouyeItalyBernardo Dominic RENEWAL
Clifford Q MaletIndiaElwin Sharvill UNQUALIFIED
Adams U NestleAustraliaAsiya Javayant RENEWAL
Ricardo P MaletGermanyAsiya Javayant UNQUALIFIED
Wickens G MacleadIndiaIoni Bowcher NEW
Silvio U StockhamRussiaXuxue Feng NEW
Munro P WieserCanadaElwin Sharvill UNQUALIFIED
Isabel Z DarakjyItalyAnna Fali NEGOTIATION
Murillo Z ButtGermanyIoni Bowcher PROPOSAL
Jefferson W CaldareraGermanyBernardo Dominic UNQUALIFIED
Mayumi Q PerinRussiaOnyama Limba PROPOSAL
Kaitlin F VenereBrazilAnna Fali PROPOSAL
Greenwood L DilliardGermanyAmy Elsner UNQUALIFIED
Nicolas I ButtRussiaAsiya Javayant NEGOTIATION
Julie S SergiUnited KingdomIoni Bowcher QUALIFIED
Chavez N ShinkoAustraliaIvan Magalhaes PROPOSAL
Leja G CaldareraCanadaIoni Bowcher UNQUALIFIED
Jennifer S DilliardFranceXuxue Feng NEGOTIATION
Rodrigues A BowleyArgentinaIoni Bowcher QUALIFIED
Jeanfrancois L GauchoAustraliaStephen Shaw PROPOSAL
Arvin X FigeroaCanadaXuxue Feng UNQUALIFIED
Jeanfrancois W GauchoBrazilOnyama Limba NEGOTIATION
Aika M MarrierGermanyAnna Fali RENEWAL
Adams H DilliardRussiaAmy Elsner QUALIFIED
Jeanfrancois S MorascaItalyXuxue Feng QUALIFIED

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