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
Silvio K WaycottCanadaElwin Sharvill PROPOSAL
Clifford Y WhobreyCanadaStephen Shaw RENEWAL
Stacey K SergiIndiaXuxue Feng UNQUALIFIED
Julie S VenereArgentinaBernardo Dominic NEGOTIATION
Murillo Z CaudyCanadaAmy Elsner QUALIFIED
Ashley W SlusarskiItalyAnna Fali UNQUALIFIED
Octavia I StensethUnited KingdomAmy Elsner NEGOTIATION
Cody G GlickBrazilAsiya Javayant RENEWAL
Leja N CaudyFranceStephen Shaw NEGOTIATION
Faith I OstroskyGermanyStephen Shaw NEW
Mayumi E RoysterGermanyXuxue Feng RENEWAL
Rodrigues U ShinkoAustraliaAsiya Javayant NEGOTIATION
Rodrigues H PoquetteRussiaBernardo Dominic PROPOSAL
David J BologniaRussiaAsiya Javayant NEW
Costa Z KolmetzItalyIvan Magalhaes UNQUALIFIED
Isabel Y CampainRussiaAsiya Javayant RENEWAL
Mayumi V StockhamUnited KingdomOnyama Limba PROPOSAL
Costa V WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Emily F AmigonIndiaElwin Sharvill RENEWAL
Stacey V WieserArgentinaAnna Fali QUALIFIED
Sinclair E ShinkoSpainAmy Elsner UNQUALIFIED
Leja B GlickItalyXuxue Feng NEGOTIATION
David E OldroydIndiaBernardo Dominic NEGOTIATION
Jeanfrancois R GauchoGermanyBernardo Dominic RENEWAL
Costa N MaletUnited KingdomBernardo Dominic PROPOSAL
Aditya W DoeFranceElwin Sharvill UNQUALIFIED
Juan Y BologniaAustraliaIoni Bowcher RENEWAL
Antonio A MaletItalyIoni Bowcher UNQUALIFIED
Kadeem R FlosiIndiaXuxue Feng NEW
Ricardo J MorascaJapanBernardo Dominic NEGOTIATION
Isabel B BowleyArgentinaIvan Magalhaes NEW
Aika B SlusarskiBrazilStephen Shaw RENEWAL
Deepesh P RoysterSpainXuxue Feng UNQUALIFIED
Arvin V MarrierAustraliaXuxue Feng UNQUALIFIED
James G WaycottFranceElwin Sharvill RENEWAL
Clifford U MaletRussiaIoni Bowcher RENEWAL
Chavez D ButtSpainIoni Bowcher UNQUALIFIED
Maisha N RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Darci O FerenczFranceAmy Elsner UNQUALIFIED
Claire A BriddickFranceAnna Fali UNQUALIFIED
Smith X AmigonIndiaAnna Fali PROPOSAL
Munro C ChuiRussiaAsiya Javayant PROPOSAL
Misaki E MaletRussiaAmy Elsner QUALIFIED
Alejandro B SergiRussiaAsiya Javayant NEW
Francesco M FollerSpainIvan Magalhaes PROPOSAL
Maria T MacleadIndiaBernardo Dominic NEW
Kaitlin V BriddickIndiaBernardo Dominic RENEWAL
Ashley V DilliardSpainStephen Shaw UNQUALIFIED
Chavez Q ChuiCanadaXuxue Feng QUALIFIED
Ashley O BriddickIndiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey C VocelkaUnited KingdomAsiya Javayant PROPOSAL
Salvatore T PoquetteBrazilXuxue Feng QUALIFIED
Francesco R SaylorsJapanAnna Fali PROPOSAL
Kaitlin Z KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Leja F SlusarskiJapanAmy Elsner UNQUALIFIED
Munro I CaudyArgentinaIvan Magalhaes QUALIFIED
Kaitlin B PaprockiBrazilIvan Magalhaes NEW
Leja I MaletCanadaStephen Shaw NEGOTIATION
Antonio I OstroskyAustraliaIoni Bowcher UNQUALIFIED
Emily S VenereJapanIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Q DoeIndia2026-09-19Feltz Printing Service UNQUALIFIED97Elwin Sharvill
1001Alejandro N DoeUnited Kingdom2026-09-23Chapman, Ross E Esq NEGOTIATION81Ivan Magalhaes
1002Ashley S AmigonIndia2026-09-12Dorl, James J Esq QUALIFIED81Ioni Bowcher
1003Leja E OstroskyCanada2026-09-08Chemel, James L Cpa QUALIFIED2Ioni Bowcher
1004Murillo D DilliardFrance2026-09-26Buckley Miller Wright RENEWAL97Elwin Sharvill
1005Ashley Q KolmetzIndia2026-09-25Printing Dimensions RENEWAL19Anna Fali
1006Alejandro I OstroskyRussia2026-08-29Truhlar And Truhlar Attys NEGOTIATION70Stephen Shaw
1007James Z DarakjyIndia2026-09-08Rousseaux, Michael Esq NEW77Ivan Magalhaes
1008Chavez O ShinkoItaly2026-09-19Rousseaux, Michael Esq UNQUALIFIED25Stephen Shaw
1009Misaki V MaletUnited Kingdom2026-09-21Chanay, Jeffrey A Esq RENEWAL8Anna Fali
1010Chavez R DoeSpain2026-09-03Feiner Bros RENEWAL27Xuxue Feng
1011Deepesh W OldroydItaly2026-09-15Rousseaux, Michael Esq RENEWAL10Ioni Bowcher
1012Alejandro M StockhamItaly2026-09-13Rousseaux, Michael Esq QUALIFIED48Amy Elsner
1013Julie C MaletBrazil2026-09-16Rousseaux, Michael Esq UNQUALIFIED22Elwin Sharvill
1014David F VocelkaBrazil2026-09-18Chanay, Jeffrey A Esq NEW4Onyama Limba
1015Octavia V VocelkaJapan2026-09-02Feltz Printing Service UNQUALIFIED14Onyama Limba
1016Salvatore X FigeroaIndia2026-09-25Morlong Associates NEGOTIATION90Asiya Javayant
1017Jennifer O NickaSpain2026-09-23Dorl, James J Esq UNQUALIFIED63Bernardo Dominic
1018Adams I CaudyGermany2026-08-30Chapman, Ross E Esq NEGOTIATION92Onyama Limba
1019Darci W NestleRussia2026-09-22Rangoni Of Florence RENEWAL89Asiya Javayant
1020Deepesh M SaylorsFrance2026-09-11Feiner Bros UNQUALIFIED5Anna Fali
1021Morrow Z BologniaCanada2026-09-25Chapman, Ross E Esq NEGOTIATION63Bernardo Dominic
1022Mujtaba I PoquetteItaly2026-09-14Rangoni Of Florence PROPOSAL31Ivan Magalhaes
1023Chavez P AlbaresCanada2026-09-10Morlong Associates RENEWAL74Ivan Magalhaes
1024Jefferson R FollerRussia2026-09-24Printing Dimensions NEGOTIATION52Elwin Sharvill
1025Arvin X TollnerCanada2026-08-30Feltz Printing Service NEGOTIATION94Ivan Magalhaes
1026Darci A FigeroaAustralia2026-09-20Benton, John B Jr UNQUALIFIED50Asiya Javayant
1027Jennifer Y WaycottSpain2026-09-26Feltz Printing Service NEW34Ioni Bowcher
1028Wickens F FlosiItaly2026-09-02Dorl, James J Esq UNQUALIFIED93Anna Fali
1029Jefferson A BologniaJapan2026-09-17Feltz Printing Service RENEWAL99Stephen Shaw
1030Deepesh J SergiIndia2026-09-06Feltz Printing Service RENEWAL58Asiya Javayant
1031Maria U InouyeJapan2026-09-09Truhlar And Truhlar Attys QUALIFIED60Amy Elsner
1032Chavez F KolmetzUnited Kingdom2026-09-08Feiner Bros PROPOSAL79Bernardo Dominic
1033Alejandro F BriddickJapan2026-09-10Feltz Printing Service RENEWAL45Ioni Bowcher
1034Rodrigues N GauchoGermany2026-09-04Dorl, James J Esq NEW13Amy Elsner
1035Ivar Y MaletRussia2026-09-25Printing Dimensions NEW36Onyama Limba
1036Silvio I AmigonAustralia2026-09-26Chemel, James L Cpa NEGOTIATION95Anna Fali
1037Tony X KuskoItaly2026-09-07Truhlar And Truhlar Attys NEGOTIATION78Bernardo Dominic
1038Greenwood J OstroskyAustralia2026-09-16Benton, John B Jr RENEWAL87Asiya Javayant
1039Murillo U KolmetzGermany2026-09-25Chemel, James L Cpa QUALIFIED37Ivan Magalhaes
1040Murillo N OldroydItaly2026-09-10Morlong Associates RENEWAL72Amy Elsner
1041Smith Q WaycottFrance2026-08-29Rangoni Of Florence UNQUALIFIED6Elwin Sharvill
1042Julie V MaletBrazil2026-09-08Rousseaux, Michael Esq NEGOTIATION70Anna Fali
1043Mayumi D FerenczItaly2026-09-06King, Christopher A Esq NEGOTIATION86Amy Elsner
1044Tony N CampainFrance2026-09-09Morlong Associates NEGOTIATION16Anna Fali
1045Costa Y SchemmerSpain2026-09-23Chemel, James L Cpa NEW37Ioni Bowcher
1046Ashley E GlickItaly2026-09-02Rousseaux, Michael Esq NEGOTIATION18Xuxue Feng
1047Aika A MarrierAustralia2026-08-31Feltz Printing Service QUALIFIED96Onyama Limba
1048Nicolas M AlbaresGermany2026-09-06Dorl, James J Esq NEGOTIATION28Asiya Javayant
1049Francesco S FigeroaArgentina2026-09-16Chapman, Ross E Esq NEGOTIATION49Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba S ButtCanadaIvan Magalhaes PROPOSAL
Darci O FlosiItalyStephen Shaw NEW
Emily Q FlosiUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois K StockhamFranceAnna Fali NEW
Emily A GauchoFranceStephen Shaw QUALIFIED
Mayumi C GauchoAustraliaIvan Magalhaes QUALIFIED
Ricardo K GauchoSpainOnyama Limba NEW
Ivar D PoquetteIndiaOnyama Limba QUALIFIED
Silvio J MarrierArgentinaStephen Shaw PROPOSAL
Julie Y OstroskyIndiaBernardo Dominic UNQUALIFIED
David B IturbideUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba X GlickGermanyAnna Fali NEGOTIATION
Izzy C BowleyIndiaBernardo Dominic PROPOSAL
Jennifer P PoquetteBrazilAnna Fali RENEWAL
Nicolas Y DoeRussiaIoni Bowcher UNQUALIFIED
Izzy G VocelkaArgentinaOnyama Limba QUALIFIED
James F ButtGermanyOnyama Limba UNQUALIFIED
Alejandro X BowleyJapanStephen Shaw RENEWAL
David H IturbideGermanyBernardo Dominic UNQUALIFIED
Leja A GarufiAustraliaIvan Magalhaes NEGOTIATION
Isabel F RulapaughCanadaBernardo Dominic QUALIFIED
Tony K NestleItalyBernardo Dominic NEGOTIATION
Antonio I ShinkoCanadaAmy Elsner QUALIFIED
Clifford V AlbaresSpainOnyama Limba PROPOSAL
Maria U MarrierIndiaAnna Fali PROPOSAL
Kaitlin U SlusarskiGermanyBernardo Dominic QUALIFIED
Izzy T WaycottUnited KingdomAmy Elsner NEGOTIATION
Tony X WaycottUnited KingdomStephen Shaw PROPOSAL
Nicolas I RimFranceStephen Shaw PROPOSAL
Cody O WhobreyItalyAnna Fali NEW
Costa R DarakjyGermanyOnyama Limba PROPOSAL
Chavez K DilliardItalyBernardo Dominic NEW
Isabel C WieserRussiaElwin Sharvill PROPOSAL
Maria A SaylorsItalyElwin Sharvill NEGOTIATION
Chavez F SergiFranceAmy Elsner PROPOSAL
Johnson W DilliardRussiaAmy Elsner NEW
Arvin A FerenczFranceElwin Sharvill RENEWAL
Ivar D KolmetzGermanyIoni Bowcher UNQUALIFIED
Misaki I GillianSpainElwin Sharvill NEW
Rodrigues C SchemmerItalyBernardo Dominic NEGOTIATION
Silvio A DarakjyItalyElwin Sharvill QUALIFIED
Misaki D ChuiAustraliaAsiya Javayant PROPOSAL
Aruna I RoysterIndiaAnna Fali UNQUALIFIED
Maisha R CaudyArgentinaAsiya Javayant NEW
Jones W StensethBrazilXuxue Feng NEGOTIATION
Sinclair O WieserCanadaBernardo Dominic RENEWAL
Adams P GauchoGermanyOnyama Limba QUALIFIED
Mayumi B DoeUnited KingdomStephen Shaw UNQUALIFIED
Silvio L FlosiArgentinaAnna Fali UNQUALIFIED
Silvio X RoysterIndiaAnna Fali PROPOSAL
Frozen Columns
Name
Johnson D Albares
Nicolas Q Poquette
Darci R Slusarski
Smith Z Briddick
Ivar F Gaucho
Chavez E Caudy
Misaki V Marrier
Smith Z Briddick
Nicolas O Slusarski
Johnson T Darakjy
David D Schemmer
Francesco W Garufi
Mayumi U Gaucho
Clifford W Poquette
Morrow P Bowley
Leon L Kusko
Smith T Kolmetz
Morrow J Perin
Misaki P Garufi
Wickens X Malet
Clifford T Albares
Aika R Oldroyd
David L Glick
Munro S Shinko
Faith H Glick
Izzy C Chui
Mujtaba O Stockham
Ricardo N Kolmetz
Francesco R Figeroa
Arvin N Shinko
Tony C Glick
Maisha L Figeroa
Mayumi E Morasca
Ashley B Darakjy
Francesco O Stockham
Jennifer B Tollner
James R Butt
Salvatore Z Maclead
Murillo G Wieser
Francesco U Morasca
Mujtaba Y Doe
Silvio F Nestle
Jennifer X Nestle
Kaitlin T Nicka
Munro B Butt
Octavia F Gillian
Smith C Kusko
Deepesh R Glick
Morrow B Doe
Darci D Schemmer
IdCountryDate
1000Argentina2026-09-25
1001Russia2026-09-09
1002Argentina2026-09-23
1003Japan2026-09-19
1004Japan2026-08-31
1005Japan2026-09-22
1006Italy2026-08-31
1007United Kingdom2026-09-20
1008United Kingdom2026-09-12
1009Japan2026-09-12
1010United Kingdom2026-09-25
1011Canada2026-08-31
1012France2026-09-02
1013Italy2026-09-18
1014Italy2026-09-21
1015United Kingdom2026-09-09
1016Australia2026-08-31
1017Australia2026-09-11
1018Russia2026-09-20
1019Australia2026-09-21
1020Spain2026-09-26
1021Japan2026-09-26
1022India2026-09-06
1023Russia2026-09-01
1024Australia2026-08-29
1025Argentina2026-08-29
1026United Kingdom2026-09-08
1027Brazil2026-09-19
1028France2026-09-12
1029Russia2026-09-11
1030Brazil2026-08-29
1031India2026-09-26
1032Canada2026-09-01
1033India2026-09-01
1034Russia2026-09-24
1035Germany2026-09-18
1036Argentina2026-09-23
1037Australia2026-09-05
1038Brazil2026-09-08
1039Russia2026-09-12
1040Russia2026-09-22
1041Germany2026-09-02
1042India2026-09-05
1043Argentina2026-09-22
1044Brazil2026-09-11
1045Spain2026-08-29
1046Australia2026-09-15
1047Japan2026-09-24
1048Brazil2026-09-02
1049Canada2026-09-18

On-Demand Data

NameIdCountryDate
Isabel X Schemmer1000Germany2026-09-15
Nicolas A Flosi1001Japan2026-09-27
Adams C Ferencz1002Russia2026-09-18
Maisha K Tollner1003Japan2026-09-11
Nicolas V Bolognia1004France2026-09-22
Ricardo I Sergi1005Australia2026-09-27
Francesco J Garufi1006Brazil2026-09-06
Leon W Glick1007Italy2026-09-12
Darci M Gaucho1008Germany2026-09-07
Morrow P Saylors1009Brazil2026-09-19
Darci R Ruta1010Russia2026-09-08
Misaki P Glick1011Russia2026-09-05
Salvatore Z Stockham1012Italy2026-09-26
Octavia Y Flosi1013Canada2026-08-30
Faith E Rim1014Argentina2026-09-22
Leja M Darakjy1015Argentina2026-09-20
Aruna W Nicka1016United Kingdom2026-08-29
Munro F Maclead1017Australia2026-09-27
Munro A Figeroa1018Italy2026-09-06
Mujtaba E Nicka1019Spain2026-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin M InouyeArgentinaStephen Shaw NEW
Smith C CaldareraJapanXuxue Feng NEW
Jeanfrancois Z CampainIndiaIvan Magalhaes RENEWAL
Mayumi Z BriddickRussiaIvan Magalhaes NEW
Jefferson G BologniaIndiaIvan Magalhaes NEW
Maria E SchemmerSpainAmy Elsner UNQUALIFIED
Mayumi L SergiBrazilIoni Bowcher NEGOTIATION
Kadeem I GarufiGermanyBernardo Dominic UNQUALIFIED
Salvatore M FollerItalyStephen Shaw NEW
Leon A MarrierGermanyIvan Magalhaes NEGOTIATION
Aika X CaldareraAustraliaAmy Elsner RENEWAL
Faith Y ShinkoFranceOnyama Limba PROPOSAL
Aditya V DarakjyArgentinaBernardo Dominic NEGOTIATION
Jones Z PaprockiIndiaBernardo Dominic RENEWAL
Jennifer C RimSpainStephen Shaw QUALIFIED
Ricardo X AmigonBrazilStephen Shaw QUALIFIED
Leja G PoquetteSpainElwin Sharvill RENEWAL
Murillo G InouyeItalyAmy Elsner NEGOTIATION
Cody G SaylorsCanadaIoni Bowcher RENEWAL
Munro G FollerSpainAnna Fali QUALIFIED
Kaitlin F SergiItalyIvan Magalhaes NEGOTIATION
Antonio T GillianFranceAmy Elsner QUALIFIED
Emily F KuskoCanadaIoni Bowcher RENEWAL
Jennifer R NickaJapanBernardo Dominic RENEWAL
David H SaylorsCanadaIoni Bowcher RENEWAL
Jefferson E KuskoAustraliaElwin Sharvill QUALIFIED
Maria K BologniaJapanAsiya Javayant QUALIFIED
Clifford F GauchoGermanyXuxue Feng PROPOSAL
Maisha V PerinGermanyXuxue Feng QUALIFIED
Leja M FerenczArgentinaOnyama Limba NEGOTIATION
Arvin W SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
James S FigeroaGermanyAnna Fali PROPOSAL
Rodrigues U MorascaIndiaOnyama Limba UNQUALIFIED
Claire L CampainIndiaAsiya Javayant QUALIFIED
Leja E AlbaresItalyAnna Fali UNQUALIFIED
Juan U BologniaFranceElwin Sharvill NEW
Emily K TollnerItalyOnyama Limba NEGOTIATION
Kaitlin F CaldareraJapanIoni Bowcher NEGOTIATION
Aruna Q NestleFranceOnyama Limba RENEWAL
Mujtaba B BologniaGermanyElwin Sharvill 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>