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
Mayumi F BriddickArgentinaAmy Elsner QUALIFIED
Johnson J SaylorsSpainIoni Bowcher NEGOTIATION
Rodrigues S StensethJapanIvan Magalhaes RENEWAL
Misaki P VenereFranceAmy Elsner NEW
Ivar N OstroskyGermanyOnyama Limba UNQUALIFIED
David R RoysterUnited KingdomIvan Magalhaes QUALIFIED
Misaki Z VenereCanadaBernardo Dominic QUALIFIED
Ashley T KolmetzItalyAnna Fali RENEWAL
Munro K KuskoItalyAsiya Javayant RENEWAL
Darci B CampainRussiaAsiya Javayant NEW
Kadeem V OstroskyUnited KingdomXuxue Feng NEGOTIATION
Darci P GlickSpainAnna Fali NEGOTIATION
Deepesh U OldroydJapanElwin Sharvill NEGOTIATION
Munro J CampainArgentinaElwin Sharvill QUALIFIED
Smith V BowleyItalyAsiya Javayant NEGOTIATION
Ricardo C MarrierSpainAmy Elsner NEGOTIATION
Leon C KuskoRussiaAnna Fali NEW
Jeanfrancois J SlusarskiSpainElwin Sharvill QUALIFIED
David W FlosiArgentinaIvan Magalhaes RENEWAL
Clifford U SlusarskiArgentinaAsiya Javayant PROPOSAL
Ivar Q NestleRussiaXuxue Feng NEW
Leja U RutaBrazilAsiya Javayant PROPOSAL
Aika E CaudyCanadaAsiya Javayant UNQUALIFIED
Jefferson E GarufiArgentinaStephen Shaw NEGOTIATION
Darci H CaudyRussiaAmy Elsner RENEWAL
Misaki B StensethUnited KingdomBernardo Dominic NEW
Jeanfrancois T SaylorsIndiaAsiya Javayant NEW
Ivar Q StockhamItalyStephen Shaw UNQUALIFIED
Claire W FlosiUnited KingdomOnyama Limba RENEWAL
Jeanfrancois D KolmetzGermanyAsiya Javayant QUALIFIED
Antonio I NestleJapanAmy Elsner QUALIFIED
Smith J StensethIndiaIvan Magalhaes RENEWAL
Clifford X NickaAustraliaAnna Fali NEGOTIATION
Leon H OstroskyIndiaAsiya Javayant RENEWAL
Adams A GillianSpainElwin Sharvill NEGOTIATION
Deepesh O OstroskyUnited KingdomBernardo Dominic RENEWAL
Costa Z BowleyJapanIvan Magalhaes QUALIFIED
James X PaprockiIndiaAmy Elsner QUALIFIED
Jones A GlickItalyIvan Magalhaes NEGOTIATION
Antonio Z GlickFranceAsiya Javayant NEGOTIATION
Adams R PaprockiSpainBernardo Dominic NEGOTIATION
Rodrigues Z PoquetteIndiaStephen Shaw NEGOTIATION
Smith R CaldareraUnited KingdomStephen Shaw RENEWAL
Aruna X CaudyJapanOnyama Limba UNQUALIFIED
Johnson R MacleadUnited KingdomOnyama Limba PROPOSAL
Jefferson O SergiItalyStephen Shaw PROPOSAL
Ivar P FollerFranceElwin Sharvill NEGOTIATION
Murillo B GlickItalyBernardo Dominic RENEWAL
Aika F FlosiCanadaIvan Magalhaes UNQUALIFIED
Greenwood U MaletJapanAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio N RoysterCanadaIoni Bowcher QUALIFIED
Kaitlin P BowleySpainIvan Magalhaes PROPOSAL
Chavez C OstroskyIndiaIvan Magalhaes QUALIFIED
Nicolas N TollnerFranceOnyama Limba UNQUALIFIED
Mujtaba B GlickIndiaAnna Fali QUALIFIED
Greenwood R IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Maisha N RimCanadaStephen Shaw NEW
Nicolas O CampainCanadaXuxue Feng NEW
Ricardo B ButtGermanyIvan Magalhaes NEW
Jeanfrancois X NickaSpainIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba B WhobreyAustralia2026-08-31Chemel, James L Cpa PROPOSAL57Amy Elsner
1001Aditya D VenereGermany2026-09-16Printing Dimensions UNQUALIFIED46Onyama Limba
1002Antonio I OldroydSpain2026-09-09Dorl, James J Esq NEW56Ioni Bowcher
1003Maria B VocelkaGermany2026-09-22Truhlar And Truhlar Attys NEGOTIATION98Amy Elsner
1004Johnson Q SlusarskiBrazil2026-09-07Buckley Miller Wright UNQUALIFIED78Stephen Shaw
1005Emily L FerenczIndia2026-09-12Morlong Associates NEW33Anna Fali
1006Jeanfrancois E SaylorsRussia2026-09-22Buckley Miller Wright RENEWAL77Bernardo Dominic
1007James S OldroydUnited Kingdom2026-09-19Printing Dimensions QUALIFIED81Ioni Bowcher
1008Kadeem Y DilliardArgentina2026-09-13Commercial Press PROPOSAL25Asiya Javayant
1009Emily S PaprockiRussia2026-09-25Printing Dimensions RENEWAL66Ioni Bowcher
1010Clifford C GillianIndia2026-09-13Chanay, Jeffrey A Esq NEGOTIATION93Elwin Sharvill
1011Rodrigues D StockhamJapan2026-09-19Dorl, James J Esq NEW36Asiya Javayant
1012Izzy Z VocelkaIndia2026-09-05Printing Dimensions UNQUALIFIED51Elwin Sharvill
1013Antonio G AmigonSpain2026-09-12Benton, John B Jr QUALIFIED79Onyama Limba
1014Ricardo K VenereCanada2026-09-17Feiner Bros NEGOTIATION94Asiya Javayant
1015Silvio Z FigeroaSpain2026-09-23Chapman, Ross E Esq NEGOTIATION0Onyama Limba
1016Sinclair O OldroydGermany2026-09-27Feltz Printing Service QUALIFIED96Ioni Bowcher
1017Aruna I CaudyGermany2026-09-16Feltz Printing Service RENEWAL24Onyama Limba
1018Antonio H ShinkoItaly2026-09-11Rangoni Of Florence NEW36Ivan Magalhaes
1019Antonio X FlosiIndia2026-09-19Truhlar And Truhlar Attys NEW89Bernardo Dominic
1020Misaki T CampainRussia2026-09-12Chanay, Jeffrey A Esq NEGOTIATION7Elwin Sharvill
1021Emily Z BriddickIndia2026-09-22Chapman, Ross E Esq NEW7Bernardo Dominic
1022Jefferson B RoysterRussia2026-09-25Chemel, James L Cpa NEW3Onyama Limba
1023Antonio E PerinIndia2026-09-11Chemel, James L Cpa QUALIFIED54Ivan Magalhaes
1024Darci P RimFrance2026-09-04Feiner Bros RENEWAL88Xuxue Feng
1025Kaitlin F DilliardRussia2026-09-06Dorl, James J Esq UNQUALIFIED36Anna Fali
1026Silvio I ButtCanada2026-09-11King, Christopher A Esq QUALIFIED33Amy Elsner
1027Kadeem N SergiJapan2026-09-26Chemel, James L Cpa PROPOSAL31Elwin Sharvill
1028Isabel O FollerSpain2026-09-16Chemel, James L Cpa NEGOTIATION99Anna Fali
1029Morrow R PoquetteFrance2026-09-20Buckley Miller Wright QUALIFIED86Stephen Shaw
1030Antonio D PerinIndia2026-09-26Feiner Bros PROPOSAL88Asiya Javayant
1031Salvatore M FollerRussia2026-09-05Feiner Bros PROPOSAL45Anna Fali
1032Johnson V BologniaGermany2026-09-22Chanay, Jeffrey A Esq NEW2Asiya Javayant
1033Rodrigues P KolmetzArgentina2026-09-09Rousseaux, Michael Esq UNQUALIFIED79Bernardo Dominic
1034Rodrigues Y MaletAustralia2026-09-07Rangoni Of Florence QUALIFIED20Ivan Magalhaes
1035Jeanfrancois H VenereGermany2026-09-01Feiner Bros QUALIFIED16Stephen Shaw
1036Nicolas H MaletItaly2026-08-31Benton, John B Jr PROPOSAL33Anna Fali
1037Darci O BologniaItaly2026-09-07Benton, John B Jr UNQUALIFIED96Anna Fali
1038Nicolas L TollnerSpain2026-09-18Rousseaux, Michael Esq NEGOTIATION6Anna Fali
1039Aruna H SergiAustralia2026-09-15Commercial Press PROPOSAL95Ivan Magalhaes
1040Faith W GillianIndia2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED75Bernardo Dominic
1041Maisha Q OstroskyRussia2026-09-23Rangoni Of Florence RENEWAL40Xuxue Feng
1042Silvio B RutaUnited Kingdom2026-09-16Truhlar And Truhlar Attys NEGOTIATION91Ivan Magalhaes
1043James E BowleyIndia2026-09-14Rousseaux, Michael Esq UNQUALIFIED41Asiya Javayant
1044Smith X BowleyArgentina2026-09-14Feiner Bros RENEWAL62Asiya Javayant
1045Arvin A WhobreyAustralia2026-09-02Commercial Press NEGOTIATION92Ioni Bowcher
1046Mujtaba P MaletRussia2026-09-08Buckley Miller Wright QUALIFIED58Asiya Javayant
1047Sinclair R KuskoArgentina2026-09-10King, Christopher A Esq NEW5Ivan Magalhaes
1048Emily M RulapaughJapan2026-09-05Truhlar And Truhlar Attys QUALIFIED12Asiya Javayant
1049Kaitlin O MaletRussia2026-09-23King, Christopher A Esq PROPOSAL87Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Francesco D RimJapanIoni Bowcher QUALIFIED
Juan H AlbaresItalyBernardo Dominic PROPOSAL
Antonio L ButtUnited KingdomElwin Sharvill QUALIFIED
Maria O MarrierFranceIoni Bowcher PROPOSAL
Deepesh E AlbaresFranceXuxue Feng NEGOTIATION
Ivar I FerenczFranceAmy Elsner NEW
Cody C StensethGermanyOnyama Limba QUALIFIED
Darci Y WieserBrazilElwin Sharvill RENEWAL
Murillo U DilliardCanadaElwin Sharvill UNQUALIFIED
Alejandro V WhobreySpainAnna Fali RENEWAL
Nicolas W BowleyJapanOnyama Limba UNQUALIFIED
Emily I DoeIndiaStephen Shaw RENEWAL
Morrow K RoysterArgentinaIoni Bowcher RENEWAL
Isabel F NestleArgentinaIvan Magalhaes UNQUALIFIED
Morrow B NestleJapanIvan Magalhaes NEW
Jennifer M NickaSpainXuxue Feng RENEWAL
Salvatore T AlbaresArgentinaElwin Sharvill UNQUALIFIED
Greenwood T KolmetzBrazilAnna Fali UNQUALIFIED
Tony P GlickAustraliaIoni Bowcher RENEWAL
Adams X BowleyBrazilAsiya Javayant NEGOTIATION
Darci X GlickIndiaAnna Fali QUALIFIED
Ricardo W KolmetzSpainAsiya Javayant RENEWAL
Sinclair N DilliardCanadaIoni Bowcher RENEWAL
Kadeem K PoquetteBrazilAnna Fali UNQUALIFIED
Deepesh A GarufiArgentinaIvan Magalhaes UNQUALIFIED
Jennifer G KuskoCanadaAmy Elsner QUALIFIED
Octavia O GarufiItalyOnyama Limba NEGOTIATION
Smith S BowleyItalyAmy Elsner PROPOSAL
Claire I WhobreySpainBernardo Dominic QUALIFIED
Alejandro T VenereJapanXuxue Feng PROPOSAL
Kaitlin O RimUnited KingdomXuxue Feng RENEWAL
Claire V CampainSpainStephen Shaw UNQUALIFIED
Deepesh X TollnerBrazilAsiya Javayant NEGOTIATION
Munro R CaudyJapanOnyama Limba PROPOSAL
Isabel I GauchoBrazilOnyama Limba QUALIFIED
Kadeem Z KuskoArgentinaAmy Elsner PROPOSAL
Aditya L BologniaArgentinaXuxue Feng RENEWAL
Darci N StensethItalyAsiya Javayant PROPOSAL
Morrow R RimJapanAnna Fali PROPOSAL
Alejandro S PoquetteAustraliaOnyama Limba NEGOTIATION
Misaki B MorascaBrazilXuxue Feng RENEWAL
Kaitlin V AmigonRussiaAnna Fali UNQUALIFIED
Jones D BriddickArgentinaXuxue Feng RENEWAL
Julie G FollerJapanIvan Magalhaes PROPOSAL
Arvin W CaudyUnited KingdomAsiya Javayant PROPOSAL
Wickens P StockhamCanadaAsiya Javayant UNQUALIFIED
Mujtaba H RutaUnited KingdomAsiya Javayant NEGOTIATION
Johnson D BriddickBrazilIoni Bowcher NEGOTIATION
Nicolas B MaletRussiaAnna Fali PROPOSAL
Mujtaba I WieserJapanStephen Shaw NEW
Frozen Columns
Name
Jennifer F Schemmer
Murillo R Bowley
Antonio F Flosi
Jeanfrancois F Figeroa
Juan K Stenseth
Maisha Y Nicka
Jones K Kusko
Smith J Nicka
Claire S Chui
Jennifer V Malet
Kadeem D Royster
Izzy S Paprocki
David A Oldroyd
Faith L Gaucho
Rodrigues M Figeroa
Mujtaba M Gillian
Jennifer H Caldarera
Deepesh E Slusarski
Julie R Foller
Stacey M Gillian
Jefferson H Malet
David X Malet
Mujtaba C Nicka
Clifford U Amigon
Emily B Maclead
Faith F Stenseth
Maisha B Caudy
Jennifer Z Ferencz
Cody B Morasca
Chavez Y Albares
Greenwood K Darakjy
Silvio Q Gaucho
Julie I Maclead
Emily L Amigon
Ashley K Malet
Emily H Inouye
Antonio T Marrier
Jefferson V Kolmetz
Ivar Z Wieser
Tony F Figeroa
Octavia Y Butt
Mujtaba X Dilliard
Morrow N Oldroyd
Ashley W Vocelka
Jones D Ostrosky
Aika N Garufi
Salvatore J Tollner
Aditya E Malet
David X Kusko
Leon J Garufi
IdCountryDate
1000India2026-08-31
1001Brazil2026-09-15
1002Australia2026-09-27
1003India2026-09-23
1004India2026-09-10
1005United Kingdom2026-09-08
1006Italy2026-09-27
1007United Kingdom2026-09-03
1008Brazil2026-09-10
1009Germany2026-09-21
1010Spain2026-08-31
1011Spain2026-09-23
1012Germany2026-09-16
1013Australia2026-09-04
1014India2026-09-25
1015United Kingdom2026-09-12
1016Canada2026-09-16
1017United Kingdom2026-09-08
1018Spain2026-09-14
1019Spain2026-08-31
1020Brazil2026-09-23
1021Spain2026-09-24
1022Argentina2026-09-11
1023Argentina2026-09-27
1024Spain2026-09-08
1025France2026-09-12
1026Germany2026-09-20
1027Argentina2026-09-18
1028Brazil2026-09-13
1029Canada2026-09-14
1030United Kingdom2026-09-07
1031Spain2026-09-09
1032Italy2026-09-09
1033Russia2026-09-11
1034Argentina2026-09-18
1035Italy2026-09-07
1036Argentina2026-09-15
1037France2026-09-02
1038Brazil2026-09-09
1039United Kingdom2026-09-01
1040Argentina2026-09-19
1041India2026-08-30
1042France2026-09-18
1043Spain2026-09-09
1044Germany2026-09-02
1045Russia2026-09-15
1046Australia2026-08-31
1047Canada2026-09-06
1048Japan2026-09-04
1049India2026-09-27

On-Demand Data

NameIdCountryDate
Aruna D Chui1000United Kingdom2026-09-05
Morrow A Gillian1001Brazil2026-09-25
Aruna R Caudy1002Brazil2026-09-02
Antonio C Nicka1003Australia2026-09-23
Kadeem H Caudy1004Brazil2026-09-15
Izzy L Kusko1005India2026-09-20
Deepesh Q Slusarski1006Russia2026-09-03
Claire W Sergi1007Italy2026-09-27
Kaitlin G Malet1008Russia2026-09-09
Clifford L Figeroa1009Argentina2026-09-13
Tony N Marrier1010Japan2026-08-31
Isabel N Oldroyd1011India2026-09-06
Sinclair X Ruta1012Germany2026-09-18
Murillo Y Campain1013France2026-09-23
Greenwood B Malet1014United Kingdom2026-08-31
Misaki C Paprocki1015France2026-09-11
Mujtaba B Slusarski1016Brazil2026-09-18
David R Glick1017India2026-09-14
Jennifer K Amigon1018Japan2026-09-12
James Q Kolmetz1019Canada2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y DilliardBrazilIvan Magalhaes NEGOTIATION
Ivar J RimCanadaIoni Bowcher NEGOTIATION
Jefferson Y StockhamArgentinaIvan Magalhaes RENEWAL
Ivar E VenereAustraliaAmy Elsner RENEWAL
Greenwood E SlusarskiJapanStephen Shaw UNQUALIFIED
Izzy C SergiUnited KingdomOnyama Limba NEGOTIATION
David R TollnerUnited KingdomAnna Fali UNQUALIFIED
Ricardo S VocelkaArgentinaBernardo Dominic PROPOSAL
Darci M FollerItalyIoni Bowcher QUALIFIED
Aika C GauchoRussiaAnna Fali QUALIFIED
Aditya L CaldareraIndiaElwin Sharvill NEW
Munro F KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Greenwood D KolmetzItalyElwin Sharvill QUALIFIED
James A RimArgentinaAnna Fali PROPOSAL
Smith A ButtSpainStephen Shaw UNQUALIFIED
Isabel S ShinkoGermanyIvan Magalhaes PROPOSAL
Julie F GauchoJapanStephen Shaw NEW
Ricardo N OldroydUnited KingdomAsiya Javayant RENEWAL
Leja R FlosiBrazilAsiya Javayant PROPOSAL
Stacey A RoysterItalyElwin Sharvill PROPOSAL
Aruna W BriddickBrazilElwin Sharvill RENEWAL
David U SlusarskiJapanXuxue Feng RENEWAL
Rodrigues Z RoysterFranceOnyama Limba NEGOTIATION
Jennifer E MorascaBrazilStephen Shaw QUALIFIED
David H SergiRussiaStephen Shaw UNQUALIFIED
Clifford Q PaprockiCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois N CaudyJapanStephen Shaw NEGOTIATION
Alejandro I PerinArgentinaOnyama Limba RENEWAL
Sinclair F PaprockiGermanyXuxue Feng QUALIFIED
Emily R VocelkaJapanAnna Fali NEGOTIATION
Leja N WhobreyCanadaAsiya Javayant QUALIFIED
Alejandro W RutaCanadaAmy Elsner PROPOSAL
Morrow Z KuskoIndiaElwin Sharvill NEGOTIATION
Izzy E MacleadItalyAsiya Javayant QUALIFIED
Munro B GauchoArgentinaXuxue Feng NEW
Adams D InouyeGermanyOnyama Limba PROPOSAL
Faith S CaudyArgentinaAsiya Javayant UNQUALIFIED
Izzy U PerinAustraliaIvan Magalhaes RENEWAL
Octavia J WaycottUnited KingdomXuxue Feng RENEWAL
Salvatore I NickaFranceAsiya Javayant UNQUALIFIED

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