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
Claire H MaletItalyElwin Sharvill QUALIFIED
James T MaletJapanStephen Shaw RENEWAL
Darci R FerenczAustraliaStephen Shaw UNQUALIFIED
Emily O RutaSpainIoni Bowcher QUALIFIED
Wickens J FerenczItalyAmy Elsner PROPOSAL
Chavez B IturbideRussiaStephen Shaw NEGOTIATION
James D KuskoItalyIvan Magalhaes QUALIFIED
Arvin L GillianArgentinaStephen Shaw UNQUALIFIED
Salvatore N SaylorsIndiaAsiya Javayant PROPOSAL
Rodrigues S ChuiSpainIvan Magalhaes RENEWAL
Nicolas R ShinkoSpainIvan Magalhaes PROPOSAL
Rodrigues Z GillianSpainIvan Magalhaes UNQUALIFIED
Mujtaba L MorascaUnited KingdomAsiya Javayant RENEWAL
Ashley U NickaBrazilStephen Shaw PROPOSAL
Kadeem E PerinAustraliaElwin Sharvill UNQUALIFIED
Mayumi M RutaUnited KingdomStephen Shaw NEGOTIATION
Smith C DilliardSpainAnna Fali RENEWAL
Juan Z GlickIndiaXuxue Feng NEW
Cody P RutaSpainElwin Sharvill NEW
Murillo R CampainRussiaAmy Elsner UNQUALIFIED
Munro V RimSpainElwin Sharvill NEGOTIATION
Adams Q DarakjyRussiaAnna Fali NEW
Greenwood E GillianSpainOnyama Limba UNQUALIFIED
Silvio F CampainArgentinaIvan Magalhaes NEGOTIATION
James N CaudyCanadaOnyama Limba QUALIFIED
Jones T StockhamIndiaStephen Shaw UNQUALIFIED
Aruna M CampainUnited KingdomBernardo Dominic NEGOTIATION
Leja X RoysterJapanAnna Fali PROPOSAL
Nicolas S MacleadFranceXuxue Feng NEW
Chavez G SlusarskiAustraliaOnyama Limba NEGOTIATION
Ricardo D PaprockiArgentinaAsiya Javayant NEGOTIATION
Greenwood I TollnerRussiaStephen Shaw NEW
Wickens M CaldareraAustraliaBernardo Dominic UNQUALIFIED
Leja R MaletAustraliaAsiya Javayant QUALIFIED
Kaitlin C OstroskyRussiaAsiya Javayant NEW
Misaki T WieserArgentinaStephen Shaw NEGOTIATION
Faith N MarrierRussiaIvan Magalhaes QUALIFIED
Aruna Y OstroskyFranceAsiya Javayant PROPOSAL
Kadeem A InouyeFranceOnyama Limba NEW
Francesco V MorascaUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois C SergiIndiaAmy Elsner RENEWAL
Murillo L CampainUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois V SergiUnited KingdomStephen Shaw NEW
Juan V MaletRussiaIvan Magalhaes RENEWAL
Adams D PoquetteSpainOnyama Limba RENEWAL
David A InouyeUnited KingdomAmy Elsner UNQUALIFIED
Isabel J ChuiCanadaOnyama Limba NEGOTIATION
Alejandro U NickaArgentinaXuxue Feng RENEWAL
Cody B GlickSpainStephen Shaw NEGOTIATION
Stacey C FlosiSpainAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba Q GillianBrazilIoni Bowcher QUALIFIED
James E CaldareraCanadaXuxue Feng RENEWAL
Jefferson D KuskoBrazilIoni Bowcher RENEWAL
Claire U AlbaresJapanAmy Elsner NEW
Chavez W OstroskyArgentinaOnyama Limba NEW
Aditya F AmigonItalyAmy Elsner NEGOTIATION
Kaitlin O BriddickCanadaAmy Elsner QUALIFIED
Morrow C BriddickCanadaStephen Shaw QUALIFIED
Jefferson S VenereIndiaBernardo Dominic UNQUALIFIED
Deepesh M FerenczAustraliaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson A NestleArgentina2026-10-24King, Christopher A Esq UNQUALIFIED69Asiya Javayant
1001Mayumi Q WaycottSpain2026-10-17Benton, John B Jr NEW72Xuxue Feng
1002Morrow S RimIndia2026-10-22Buckley Miller Wright UNQUALIFIED45Xuxue Feng
1003Leja V FerenczRussia2026-10-23Truhlar And Truhlar Attys PROPOSAL6Stephen Shaw
1004Maria L SlusarskiArgentina2026-10-28Feiner Bros RENEWAL69Ioni Bowcher
1005Jones Y BowleyUnited Kingdom2026-10-27Morlong Associates QUALIFIED17Onyama Limba
1006Isabel N MarrierUnited Kingdom2026-10-15Commercial Press QUALIFIED78Ioni Bowcher
1007Tony S WieserArgentina2026-10-10Printing Dimensions UNQUALIFIED40Ivan Magalhaes
1008Morrow R ChuiIndia2026-10-04Feiner Bros NEGOTIATION71Ioni Bowcher
1009Jones V BriddickBrazil2026-10-10King, Christopher A Esq PROPOSAL76Bernardo Dominic
1010Mayumi R MacleadCanada2026-10-10Chanay, Jeffrey A Esq UNQUALIFIED18Stephen Shaw
1011Tony P OstroskyArgentina2026-10-16Chanay, Jeffrey A Esq PROPOSAL35Anna Fali
1012Darci F SchemmerBrazil2026-10-29Chanay, Jeffrey A Esq UNQUALIFIED38Xuxue Feng
1013Mujtaba M FigeroaAustralia2026-10-28Benton, John B Jr UNQUALIFIED39Ioni Bowcher
1014Leon C SergiIndia2026-10-02Chapman, Ross E Esq RENEWAL95Asiya Javayant
1015Alejandro N RutaBrazil2026-10-19Chanay, Jeffrey A Esq QUALIFIED58Elwin Sharvill
1016Salvatore E PerinFrance2026-10-27Printing Dimensions NEGOTIATION78Stephen Shaw
1017Isabel O RimAustralia2026-10-01Rousseaux, Michael Esq NEW44Stephen Shaw
1018Jefferson V VocelkaSpain2026-10-29Chemel, James L Cpa RENEWAL72Stephen Shaw
1019Octavia C ChuiItaly2026-10-27Buckley Miller Wright NEGOTIATION40Asiya Javayant
1020Ivar A GillianCanada2026-10-22Rousseaux, Michael Esq RENEWAL89Onyama Limba
1021Smith W RutaBrazil2026-10-09Morlong Associates RENEWAL46Stephen Shaw
1022Octavia I BologniaGermany2026-10-18Dorl, James J Esq PROPOSAL52Elwin Sharvill
1023Jefferson H IturbideCanada2026-09-30Commercial Press PROPOSAL34Onyama Limba
1024Munro M OstroskySpain2026-10-11Truhlar And Truhlar Attys NEW59Asiya Javayant
1025Octavia B StensethBrazil2026-10-28Commercial Press QUALIFIED79Asiya Javayant
1026Emily X FollerJapan2026-10-25Rangoni Of Florence UNQUALIFIED66Xuxue Feng
1027Julie Y GauchoFrance2026-10-22Benton, John B Jr PROPOSAL17Bernardo Dominic
1028Smith B ShinkoUnited Kingdom2026-10-28Feltz Printing Service NEGOTIATION46Stephen Shaw
1029Silvio F InouyeAustralia2026-10-16Rangoni Of Florence RENEWAL24Onyama Limba
1030Salvatore U NestleFrance2026-10-03Truhlar And Truhlar Attys UNQUALIFIED4Amy Elsner
1031Murillo L FlosiSpain2026-10-01Chapman, Ross E Esq NEGOTIATION18Ioni Bowcher
1032Stacey D OstroskyRussia2026-10-11Chapman, Ross E Esq NEGOTIATION95Amy Elsner
1033Jennifer B MacleadBrazil2026-10-04Truhlar And Truhlar Attys NEW29Amy Elsner
1034Maria G GarufiUnited Kingdom2026-10-24Rangoni Of Florence NEGOTIATION7Elwin Sharvill
1035Sinclair T GauchoAustralia2026-10-17Chanay, Jeffrey A Esq NEGOTIATION54Amy Elsner
1036Jennifer G StensethAustralia2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED66Asiya Javayant
1037Nicolas L FerenczItaly2026-10-19Printing Dimensions PROPOSAL82Asiya Javayant
1038Clifford Y CaldareraArgentina2026-10-17Chanay, Jeffrey A Esq RENEWAL80Ivan Magalhaes
1039Julie D AmigonUnited Kingdom2026-10-02Rangoni Of Florence NEW55Stephen Shaw
1040Juan W VenereJapan2026-10-15Feltz Printing Service NEW21Xuxue Feng
1041Adams W AlbaresSpain2026-10-27Rangoni Of Florence QUALIFIED62Elwin Sharvill
1042Leon U MorascaRussia2026-10-02King, Christopher A Esq PROPOSAL68Amy Elsner
1043Emily M InouyeFrance2026-10-11Chanay, Jeffrey A Esq UNQUALIFIED2Stephen Shaw
1044Juan A MarrierJapan2026-10-06Chemel, James L Cpa RENEWAL2Bernardo Dominic
1045Jennifer P IturbideGermany2026-10-23Morlong Associates NEGOTIATION78Amy Elsner
1046Cody L ShinkoRussia2026-10-05King, Christopher A Esq RENEWAL29Anna Fali
1047Arvin D IturbideBrazil2026-10-08Chemel, James L Cpa UNQUALIFIED45Anna Fali
1048Juan Q StensethJapan2026-10-12Feiner Bros NEW36Ivan Magalhaes
1049Leja K CaudyJapan2026-10-16Commercial Press UNQUALIFIED18Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Q IturbideArgentinaOnyama Limba NEGOTIATION
Kadeem G MarrierItalyElwin Sharvill NEW
Smith L InouyeSpainAnna Fali QUALIFIED
Isabel R RulapaughRussiaStephen Shaw UNQUALIFIED
Munro V FollerSpainElwin Sharvill NEGOTIATION
James P GlickItalyElwin Sharvill NEW
Kadeem Z MaletBrazilIvan Magalhaes UNQUALIFIED
Jones Z FlosiItalyAsiya Javayant QUALIFIED
Jones Q CaudyArgentinaElwin Sharvill PROPOSAL
Ivar M SaylorsAustraliaElwin Sharvill NEGOTIATION
Nicolas D WaycottIndiaXuxue Feng NEW
Tony Z BologniaSpainAsiya Javayant NEGOTIATION
James D SaylorsArgentinaAmy Elsner QUALIFIED
Nicolas A StensethArgentinaAmy Elsner RENEWAL
Cody C SaylorsJapanOnyama Limba NEW
Faith Y CaudyBrazilAmy Elsner NEW
Juan N InouyeJapanAsiya Javayant QUALIFIED
Ricardo J SaylorsItalyStephen Shaw NEGOTIATION
Clifford O RutaCanadaAmy Elsner QUALIFIED
Morrow E VenereRussiaElwin Sharvill UNQUALIFIED
Darci E PoquetteSpainAsiya Javayant UNQUALIFIED
Tony W RutaJapanAnna Fali NEGOTIATION
Aditya Z PerinBrazilAnna Fali UNQUALIFIED
Darci F ButtCanadaAnna Fali NEW
Arvin X DilliardCanadaIvan Magalhaes UNQUALIFIED
Francesco L MaletGermanyStephen Shaw PROPOSAL
Francesco W ChuiFranceOnyama Limba NEW
Jeanfrancois B OstroskyIndiaElwin Sharvill NEGOTIATION
Chavez C GarufiCanadaElwin Sharvill UNQUALIFIED
James W DarakjyArgentinaXuxue Feng PROPOSAL
Kaitlin H WieserArgentinaIvan Magalhaes PROPOSAL
Alejandro Y OstroskyBrazilAsiya Javayant NEGOTIATION
Jeanfrancois F RoysterArgentinaAsiya Javayant QUALIFIED
Faith C AmigonAustraliaAmy Elsner NEW
Mujtaba H VenereUnited KingdomAsiya Javayant RENEWAL
Chavez H MaletUnited KingdomBernardo Dominic RENEWAL
Maria W BriddickJapanAmy Elsner QUALIFIED
Alejandro V SchemmerRussiaAsiya Javayant NEW
Murillo O FlosiItalyElwin Sharvill QUALIFIED
Maria H NickaJapanIvan Magalhaes NEW
Deepesh L FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Antonio Q PaprockiGermanyOnyama Limba QUALIFIED
Izzy P InouyeRussiaIvan Magalhaes UNQUALIFIED
Murillo F IturbideSpainIvan Magalhaes PROPOSAL
Johnson E PaprockiGermanyIoni Bowcher RENEWAL
Izzy S VenereFranceXuxue Feng RENEWAL
Isabel I PaprockiSpainStephen Shaw NEGOTIATION
Alejandro L StensethRussiaXuxue Feng UNQUALIFIED
Salvatore G CaudyGermanyAnna Fali RENEWAL
Leon J VenereArgentinaIoni Bowcher QUALIFIED
Frozen Columns
Name
Sinclair V Nestle
Mujtaba L Venere
Ashley J Chui
Jefferson O Ruta
Nicolas S Royster
Greenwood E Morasca
Jefferson Y Dilliard
Jefferson O Ferencz
Mayumi X Amigon
Sinclair M Flosi
Mayumi N Venere
Ivar R Maclead
Greenwood R Caudy
Leon U Morasca
Maria F Stenseth
Antonio S Bolognia
Stacey D Malet
Maisha I Caldarera
Aruna J Dilliard
Emily C Flosi
Misaki D Paprocki
Ivar G Rulapaugh
Kaitlin Q Venere
Cody X Saylors
Alejandro V Flosi
Julie G Kolmetz
Darci X Doe
Jennifer V Figeroa
Adams K Oldroyd
Arvin Q Venere
Smith G Garufi
Octavia R Royster
Juan A Foller
Nicolas Y Tollner
David J Stockham
Deepesh C Caldarera
Ricardo M Marrier
Aika S Stockham
Deepesh T Rulapaugh
Juan B Foller
Francesco K Malet
Mujtaba Q Whobrey
David U Malet
Ashley M Waycott
Maria F Ostrosky
Arvin R Caldarera
Izzy N Oldroyd
Adams V Nestle
Greenwood R Royster
David Y Flosi
IdCountryDate
1000Canada2026-10-16
1001Argentina2026-10-05
1002Australia2026-10-02
1003Australia2026-10-27
1004United Kingdom2026-10-23
1005Canada2026-10-08
1006India2026-10-15
1007Spain2026-10-21
1008Germany2026-10-02
1009Argentina2026-10-11
1010India2026-10-19
1011Germany2026-10-26
1012Italy2026-10-10
1013Spain2026-10-13
1014United Kingdom2026-10-15
1015Spain2026-10-03
1016Japan2026-10-15
1017Germany2026-10-21
1018United Kingdom2026-10-09
1019Australia2026-10-03
1020Brazil2026-10-04
1021Russia2026-10-25
1022United Kingdom2026-10-17
1023Argentina2026-10-11
1024Italy2026-10-03
1025United Kingdom2026-10-24
1026Japan2026-10-04
1027Brazil2026-10-25
1028Canada2026-10-13
1029Australia2026-10-13
1030India2026-10-16
1031India2026-10-05
1032Japan2026-10-07
1033India2026-10-10
1034Spain2026-10-03
1035India2026-10-28
1036Australia2026-10-07
1037Brazil2026-10-24
1038France2026-10-21
1039Spain2026-10-22
1040Italy2026-10-26
1041Italy2026-10-08
1042Germany2026-10-17
1043Japan2026-10-12
1044France2026-10-15
1045Argentina2026-10-26
1046Australia2026-10-15
1047Russia2026-09-30
1048United Kingdom2026-10-10
1049Spain2026-10-15

On-Demand Data

NameIdCountryDate
Kaitlin U Figeroa1000Spain2026-10-15
Jeanfrancois Q Maclead1001Australia2026-10-07
Smith P Nicka1002Brazil2026-10-04
Murillo F Dilliard1003United Kingdom2026-10-04
Adams N Vocelka1004Germany2026-10-04
Jeanfrancois A Kusko1005Japan2026-10-05
Juan Q Iturbide1006Brazil2026-10-12
Mayumi T Morasca1007Argentina2026-10-25
Ivar F Shinko1008Australia2026-09-30
Wickens Y Figeroa1009Germany2026-10-19
Clifford Z Stockham1010Argentina2026-10-13
Octavia I Garufi1011Japan2026-10-01
Izzy C Foller1012Canada2026-10-28
Kaitlin D Ruta1013Italy2026-10-21
Ashley N Nicka1014India2026-10-25
Morrow O Vocelka1015Germany2026-10-23
Jeanfrancois A Morasca1016Japan2026-10-17
Silvio P Marrier1017Germany2026-10-21
Faith N Tollner1018France2026-10-10
Misaki S Campain1019Japan2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore G PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Kadeem G OstroskyIndiaElwin Sharvill RENEWAL
Misaki A IturbideArgentinaXuxue Feng UNQUALIFIED
Salvatore N SchemmerItalyIoni Bowcher UNQUALIFIED
Ricardo E GarufiUnited KingdomXuxue Feng PROPOSAL
Tony H MarrierCanadaOnyama Limba RENEWAL
Alejandro Y NestleItalyElwin Sharvill UNQUALIFIED
Clifford J AmigonUnited KingdomXuxue Feng NEGOTIATION
Silvio H PoquetteRussiaAmy Elsner NEW
Chavez E WhobreyFranceOnyama Limba QUALIFIED
Faith A SlusarskiJapanStephen Shaw PROPOSAL
Smith C FerenczIndiaAmy Elsner NEW
Alejandro D MacleadFranceOnyama Limba NEGOTIATION
Rodrigues R RutaAustraliaAmy Elsner PROPOSAL
Munro K AmigonSpainAmy Elsner PROPOSAL
Mayumi U RoysterRussiaAsiya Javayant RENEWAL
James F AmigonSpainAnna Fali PROPOSAL
Costa C NickaBrazilAnna Fali NEGOTIATION
Misaki N CaudyAustraliaXuxue Feng UNQUALIFIED
Mujtaba T WaycottFranceXuxue Feng PROPOSAL
Izzy U NestleArgentinaElwin Sharvill NEGOTIATION
Juan G CaldareraBrazilElwin Sharvill UNQUALIFIED
Greenwood J DarakjyBrazilIvan Magalhaes RENEWAL
Ashley A MacleadCanadaElwin Sharvill NEGOTIATION
Aika P PerinCanadaStephen Shaw RENEWAL
Maisha R CaudyCanadaElwin Sharvill UNQUALIFIED
Claire M RutaBrazilOnyama Limba QUALIFIED
Octavia W DoeJapanStephen Shaw NEGOTIATION
Morrow C PerinIndiaIvan Magalhaes NEW
Julie R WhobreyRussiaIvan Magalhaes UNQUALIFIED
Octavia M VenereItalyOnyama Limba NEW
Chavez J IturbideGermanyXuxue Feng PROPOSAL
Misaki G SaylorsJapanAnna Fali UNQUALIFIED
Maisha R GauchoJapanXuxue Feng QUALIFIED
Rodrigues X FlosiGermanyXuxue Feng QUALIFIED
Chavez J SaylorsItalyIvan Magalhaes NEW
Aruna Y FigeroaFranceXuxue Feng NEW
Mujtaba P GarufiArgentinaIvan Magalhaes UNQUALIFIED
Chavez F MacleadJapanXuxue Feng RENEWAL
Mayumi M BowleySpainElwin Sharvill RENEWAL

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