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
David M SaylorsFranceIvan Magalhaes NEW
Ashley C DarakjyUnited KingdomAmy Elsner NEW
Munro U TollnerRussiaXuxue Feng RENEWAL
Tony Q SaylorsGermanyAsiya Javayant PROPOSAL
Faith W GillianCanadaIoni Bowcher PROPOSAL
Jefferson B StockhamSpainIvan Magalhaes NEGOTIATION
Greenwood J SergiItalyBernardo Dominic RENEWAL
James C FollerGermanyElwin Sharvill NEGOTIATION
Munro H ShinkoRussiaIoni Bowcher NEGOTIATION
Maisha E MorascaItalyXuxue Feng PROPOSAL
Izzy E MacleadJapanOnyama Limba QUALIFIED
Claire Q FigeroaFranceStephen Shaw UNQUALIFIED
Maria P PerinFranceOnyama Limba UNQUALIFIED
Salvatore A StockhamUnited KingdomIvan Magalhaes NEW
Juan L CaldareraRussiaStephen Shaw NEGOTIATION
Francesco P MarrierJapanAnna Fali NEW
Maisha V CaudyBrazilElwin Sharvill NEGOTIATION
Kadeem P AmigonIndiaBernardo Dominic RENEWAL
Silvio Z MaletFranceIvan Magalhaes NEGOTIATION
Clifford V SlusarskiFranceElwin Sharvill PROPOSAL
Claire W WaycottSpainIoni Bowcher QUALIFIED
Antonio Z CampainIndiaStephen Shaw QUALIFIED
Jennifer Z MaletFranceStephen Shaw NEW
Johnson X OldroydBrazilOnyama Limba PROPOSAL
Jones J BowleyUnited KingdomAnna Fali NEW
Stacey P CaudyAustraliaBernardo Dominic QUALIFIED
James C MarrierUnited KingdomAnna Fali PROPOSAL
Faith N CampainCanadaXuxue Feng UNQUALIFIED
Francesco G ShinkoIndiaOnyama Limba NEGOTIATION
Smith G IturbideBrazilXuxue Feng RENEWAL
Izzy C ChuiAustraliaOnyama Limba QUALIFIED
Alejandro R FigeroaItalyAsiya Javayant PROPOSAL
Faith R DoeCanadaBernardo Dominic NEW
Smith E BologniaGermanyAsiya Javayant NEW
Mujtaba N InouyeFranceAmy Elsner RENEWAL
Leja K FigeroaAustraliaElwin Sharvill QUALIFIED
Francesco G VenereArgentinaElwin Sharvill QUALIFIED
Mujtaba Q PoquetteCanadaIvan Magalhaes NEGOTIATION
Ricardo T RutaGermanyAsiya Javayant PROPOSAL
Adams C MorascaUnited KingdomAnna Fali PROPOSAL
Francesco J SergiFranceBernardo Dominic NEGOTIATION
Misaki B CaldareraJapanBernardo Dominic PROPOSAL
Johnson B InouyeCanadaStephen Shaw RENEWAL
Misaki W VenereJapanElwin Sharvill NEGOTIATION
Murillo T SlusarskiFranceOnyama Limba NEGOTIATION
Ashley U BologniaArgentinaAnna Fali NEGOTIATION
Wickens Z CaldareraIndiaStephen Shaw QUALIFIED
Leja P RoysterJapanBernardo Dominic NEW
Kaitlin Z WieserCanadaXuxue Feng UNQUALIFIED
Aruna O PaprockiGermanyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya E WieserItalyIoni Bowcher UNQUALIFIED
Jennifer O OstroskySpainIvan Magalhaes NEW
Nicolas L ShinkoArgentinaAsiya Javayant RENEWAL
Alejandro W DoeUnited KingdomBernardo Dominic RENEWAL
Jeanfrancois L BologniaCanadaXuxue Feng NEW
Wickens X MarrierBrazilAnna Fali NEGOTIATION
Greenwood Z GauchoBrazilBernardo Dominic QUALIFIED
Jones O GauchoGermanyStephen Shaw RENEWAL
Clifford L InouyeCanadaIoni Bowcher RENEWAL
Adams Y IturbideRussiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan W VocelkaFrance2026-10-10King, Christopher A Esq UNQUALIFIED13Asiya Javayant
1001Faith Y SlusarskiGermany2026-10-22King, Christopher A Esq QUALIFIED52Stephen Shaw
1002Darci C SchemmerGermany2026-11-02Dorl, James J Esq QUALIFIED0Ioni Bowcher
1003Izzy Q CaudyRussia2026-11-01Benton, John B Jr NEW51Bernardo Dominic
1004Jeanfrancois Z RoysterUnited Kingdom2026-10-14Morlong Associates RENEWAL57Ivan Magalhaes
1005Aditya D CaldareraIndia2026-10-15Commercial Press UNQUALIFIED45Elwin Sharvill
1006David G WieserGermany2026-10-17Rangoni Of Florence NEW47Stephen Shaw
1007Claire D ShinkoAustralia2026-10-15Rangoni Of Florence PROPOSAL20Ioni Bowcher
1008Maria B RutaArgentina2026-10-22Commercial Press UNQUALIFIED5Anna Fali
1009Misaki U TollnerIndia2026-10-28Buckley Miller Wright NEW82Ivan Magalhaes
1010Aditya X WhobreyUnited Kingdom2026-10-14Feltz Printing Service NEGOTIATION46Anna Fali
1011Aruna C FerenczRussia2026-10-05King, Christopher A Esq QUALIFIED43Stephen Shaw
1012Ricardo Q KuskoRussia2026-10-10Truhlar And Truhlar Attys UNQUALIFIED28Xuxue Feng
1013Salvatore V CaudyRussia2026-10-16Buckley Miller Wright PROPOSAL41Elwin Sharvill
1014Munro W SchemmerBrazil2026-10-17Feiner Bros PROPOSAL83Stephen Shaw
1015Alejandro D GlickItaly2026-10-18Chanay, Jeffrey A Esq NEW7Amy Elsner
1016Arvin C AlbaresAustralia2026-10-08Truhlar And Truhlar Attys UNQUALIFIED99Onyama Limba
1017David D VenereSpain2026-10-23Rangoni Of Florence RENEWAL26Elwin Sharvill
1018Jennifer A FlosiGermany2026-10-05Morlong Associates NEGOTIATION88Bernardo Dominic
1019Jennifer W RutaUnited Kingdom2026-10-09Benton, John B Jr QUALIFIED41Xuxue Feng
1020Mujtaba K InouyeBrazil2026-10-29Feltz Printing Service NEGOTIATION47Amy Elsner
1021Faith L AlbaresIndia2026-10-21Truhlar And Truhlar Attys NEGOTIATION72Elwin Sharvill
1022David S MaletUnited Kingdom2026-10-06Chemel, James L Cpa NEW70Onyama Limba
1023Johnson M DoeCanada2026-10-12Chanay, Jeffrey A Esq QUALIFIED77Elwin Sharvill
1024Juan K MarrierIndia2026-10-27Rousseaux, Michael Esq NEW39Ivan Magalhaes
1025Cody Q ChuiRussia2026-10-28Buckley Miller Wright QUALIFIED72Asiya Javayant
1026James R OldroydCanada2026-10-27Chapman, Ross E Esq NEW40Ioni Bowcher
1027Aika S InouyeArgentina2026-10-12Commercial Press QUALIFIED57Onyama Limba
1028Alejandro F AlbaresIndia2026-11-01Buckley Miller Wright RENEWAL42Anna Fali
1029Arvin V WaycottBrazil2026-10-08Dorl, James J Esq UNQUALIFIED20Bernardo Dominic
1030Johnson J RutaJapan2026-10-21Feiner Bros NEGOTIATION29Bernardo Dominic
1031Jeanfrancois D PaprockiItaly2026-10-31Rousseaux, Michael Esq UNQUALIFIED43Xuxue Feng
1032Misaki M SaylorsArgentina2026-10-24Benton, John B Jr UNQUALIFIED42Ivan Magalhaes
1033Ivar Q GlickIndia2026-10-23Chapman, Ross E Esq UNQUALIFIED93Asiya Javayant
1034Mayumi N OldroydUnited Kingdom2026-11-02Morlong Associates QUALIFIED43Anna Fali
1035Maria L SergiIndia2026-10-12Benton, John B Jr UNQUALIFIED22Stephen Shaw
1036Aditya T RutaItaly2026-10-09Dorl, James J Esq NEW89Asiya Javayant
1037Alejandro U StensethItaly2026-10-27Benton, John B Jr PROPOSAL87Xuxue Feng
1038Jeanfrancois X DarakjyJapan2026-10-31Benton, John B Jr NEW73Stephen Shaw
1039Smith M PaprockiAustralia2026-10-21Chanay, Jeffrey A Esq NEGOTIATION75Stephen Shaw
1040James E GarufiCanada2026-10-07Buckley Miller Wright QUALIFIED31Bernardo Dominic
1041Claire Z StensethGermany2026-10-04Dorl, James J Esq UNQUALIFIED86Amy Elsner
1042Darci A RoysterUnited Kingdom2026-10-14Chanay, Jeffrey A Esq NEW15Asiya Javayant
1043Nicolas G RoysterItaly2026-10-25Benton, John B Jr NEW88Stephen Shaw
1044Francesco J FerenczIndia2026-10-20Chanay, Jeffrey A Esq NEW39Asiya Javayant
1045Munro O CaudyIndia2026-10-12Printing Dimensions UNQUALIFIED18Ivan Magalhaes
1046Chavez M CaudyArgentina2026-10-29Morlong Associates NEGOTIATION43Amy Elsner
1047Deepesh G RutaGermany2026-10-05Morlong Associates QUALIFIED11Bernardo Dominic
1048Maisha I RimArgentina2026-10-24Benton, John B Jr NEW55Stephen Shaw
1049Juan F NestleRussia2026-10-06Chapman, Ross E Esq QUALIFIED81Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois S KolmetzRussiaAnna Fali NEW
Ashley P SchemmerAustraliaAsiya Javayant NEGOTIATION
Aika C AmigonFranceIvan Magalhaes QUALIFIED
Rodrigues G MaletGermanyXuxue Feng NEGOTIATION
Jennifer X CampainBrazilOnyama Limba RENEWAL
Johnson G DoeFranceElwin Sharvill NEW
Julie Y WieserItalyIoni Bowcher NEW
Costa Z IturbideUnited KingdomIvan Magalhaes RENEWAL
Murillo H StensethJapanAmy Elsner QUALIFIED
Francesco X BowleyRussiaIvan Magalhaes NEGOTIATION
Arvin F CaudyItalyAmy Elsner RENEWAL
Francesco Q SaylorsRussiaAmy Elsner NEGOTIATION
Misaki K GauchoAustraliaAnna Fali QUALIFIED
Kadeem O FollerCanadaXuxue Feng UNQUALIFIED
Leja K StensethArgentinaAnna Fali NEGOTIATION
Leon V KuskoIndiaBernardo Dominic UNQUALIFIED
Kadeem W ChuiUnited KingdomIoni Bowcher PROPOSAL
Faith P DarakjySpainBernardo Dominic RENEWAL
Francesco H DarakjyAustraliaIvan Magalhaes NEGOTIATION
Octavia B RoysterItalyBernardo Dominic RENEWAL
Smith A DilliardSpainAmy Elsner NEW
Morrow L RutaBrazilIoni Bowcher QUALIFIED
Maisha L DilliardGermanyBernardo Dominic RENEWAL
James G ChuiGermanyIvan Magalhaes NEGOTIATION
Cody P MacleadJapanIvan Magalhaes NEGOTIATION
James K PoquetteSpainIvan Magalhaes QUALIFIED
Arvin N InouyeIndiaAsiya Javayant PROPOSAL
Izzy R CampainUnited KingdomBernardo Dominic QUALIFIED
Jefferson E MaletAustraliaAsiya Javayant UNQUALIFIED
Antonio D OstroskyArgentinaBernardo Dominic NEGOTIATION
Jones T RutaFranceIvan Magalhaes QUALIFIED
Octavia I RimBrazilStephen Shaw UNQUALIFIED
Misaki F GarufiItalyOnyama Limba UNQUALIFIED
Faith Y GauchoJapanAmy Elsner PROPOSAL
Izzy X FlosiIndiaAsiya Javayant UNQUALIFIED
Smith I KuskoIndiaAmy Elsner QUALIFIED
Costa Y FlosiRussiaBernardo Dominic UNQUALIFIED
Mujtaba A CampainSpainOnyama Limba QUALIFIED
Juan K IturbideAustraliaOnyama Limba PROPOSAL
Leja O StensethIndiaElwin Sharvill UNQUALIFIED
Wickens X DilliardIndiaAmy Elsner NEGOTIATION
Johnson N SergiJapanElwin Sharvill UNQUALIFIED
Aruna F InouyeRussiaElwin Sharvill NEW
Cody O BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Jones V PaprockiRussiaElwin Sharvill PROPOSAL
Jeanfrancois K AmigonRussiaIoni Bowcher UNQUALIFIED
Chavez D SlusarskiSpainAnna Fali PROPOSAL
Silvio Y GarufiJapanXuxue Feng RENEWAL
Maisha L GlickAustraliaIvan Magalhaes QUALIFIED
Francesco H ButtJapanXuxue Feng NEW
Frozen Columns
Name
Jeanfrancois H Caudy
Maria W Iturbide
Francesco A Vocelka
Antonio U Royster
Jeanfrancois K Albares
Arvin F Shinko
Arvin T Ruta
Francesco B Gillian
Jennifer C Garufi
Sinclair T Garufi
Jennifer T Iturbide
Silvio M Gillian
Emily V Amigon
Sinclair M Rulapaugh
Silvio U Malet
Silvio B Flosi
Mayumi Z Malet
Mujtaba L Kolmetz
Tony U Rim
Faith Q Wieser
Murillo X Butt
Jones N Briddick
Murillo B Nicka
Emily U Saylors
Misaki Y Bolognia
Juan V Ostrosky
Aditya L Campain
Mujtaba P Ostrosky
Clifford L Nestle
Maisha F Tollner
Ivar N Albares
Alejandro Z Rim
Chavez Y Briddick
Aruna Q Poquette
Nicolas J Albares
Faith U Shinko
Salvatore F Saylors
Cody J Caldarera
Maisha W Bolognia
Mujtaba D Wieser
Wickens F Maclead
Aditya E Slusarski
Aika Z Malet
Izzy P Foller
Aika W Royster
Maria E Bolognia
Alejandro S Kolmetz
Jennifer Z Maclead
Octavia I Caldarera
Chavez I Caudy
IdCountryDate
1000Italy2026-10-13
1001Australia2026-10-31
1002Germany2026-10-06
1003Spain2026-10-22
1004France2026-10-22
1005Japan2026-11-01
1006Japan2026-10-06
1007Italy2026-10-09
1008Canada2026-11-02
1009Canada2026-10-15
1010Canada2026-10-09
1011Germany2026-10-12
1012France2026-10-04
1013Australia2026-10-06
1014Japan2026-10-13
1015Germany2026-10-14
1016India2026-10-09
1017Argentina2026-10-15
1018Spain2026-10-16
1019Argentina2026-10-06
1020Brazil2026-10-28
1021France2026-10-10
1022India2026-10-31
1023Spain2026-10-23
1024Italy2026-10-26
1025Japan2026-10-20
1026Brazil2026-10-07
1027Germany2026-10-31
1028Australia2026-10-31
1029India2026-10-10
1030United Kingdom2026-11-02
1031France2026-10-28
1032India2026-10-10
1033Australia2026-10-08
1034Australia2026-11-01
1035Germany2026-10-26
1036Argentina2026-10-17
1037Russia2026-10-05
1038Brazil2026-10-07
1039Spain2026-10-11
1040Argentina2026-10-25
1041Brazil2026-10-16
1042Canada2026-10-12
1043Germany2026-10-21
1044United Kingdom2026-10-14
1045Germany2026-10-23
1046Spain2026-10-13
1047Germany2026-10-31
1048Russia2026-10-04
1049Germany2026-11-01

On-Demand Data

NameIdCountryDate
Kadeem O Malet1000United Kingdom2026-10-26
Alejandro Z Bowley1001Japan2026-10-27
Greenwood W Vocelka1002France2026-10-22
Alejandro J Oldroyd1003India2026-10-07
Kaitlin J Rim1004Spain2026-10-15
Antonio N Rulapaugh1005Argentina2026-10-08
Mujtaba Z Poquette1006Argentina2026-10-07
Deepesh B Inouye1007Argentina2026-10-18
Munro Z Bowley1008Brazil2026-10-26
Stacey K Venere1009Argentina2026-10-14
Chavez H Wieser1010Argentina2026-10-14
Chavez U Ruta1011Brazil2026-10-13
Salvatore B Bolognia1012India2026-10-05
Chavez A Rim1013Japan2026-10-07
Mujtaba V Oldroyd1014Brazil2026-10-31
Misaki W Caudy1015Argentina2026-10-16
Ricardo U Morasca1016Australia2026-10-10
Salvatore B Slusarski1017Italy2026-10-15
Leja G Stockham1018Brazil2026-10-22
Mayumi O Ostrosky1019India2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria C RulapaughFranceAnna Fali PROPOSAL
Tony C RimCanadaAnna Fali NEW
Aditya Y GarufiIndiaElwin Sharvill UNQUALIFIED
Kaitlin U FollerRussiaOnyama Limba NEW
Julie Z RulapaughRussiaStephen Shaw RENEWAL
James D BowleyArgentinaIvan Magalhaes RENEWAL
James V GauchoGermanyAnna Fali NEGOTIATION
Maisha V StensethRussiaAmy Elsner RENEWAL
Isabel M RimGermanyAnna Fali QUALIFIED
Johnson P MacleadGermanyElwin Sharvill NEW
Jeanfrancois B WieserArgentinaElwin Sharvill UNQUALIFIED
Sinclair E SaylorsBrazilAmy Elsner QUALIFIED
Morrow X GillianUnited KingdomElwin Sharvill NEW
Ricardo E RimUnited KingdomOnyama Limba NEW
Ricardo T GarufiFranceAsiya Javayant NEW
Murillo X SaylorsBrazilIvan Magalhaes NEGOTIATION
Kaitlin Y PaprockiBrazilStephen Shaw PROPOSAL
Ivar C CaudyArgentinaElwin Sharvill PROPOSAL
Sinclair B GlickArgentinaIoni Bowcher UNQUALIFIED
Jones I RulapaughFranceBernardo Dominic NEGOTIATION
Maria R RutaAustraliaOnyama Limba PROPOSAL
Juan T NestleIndiaAnna Fali RENEWAL
Cody E VocelkaCanadaOnyama Limba UNQUALIFIED
Maisha X SchemmerIndiaAsiya Javayant QUALIFIED
Sinclair I MarrierGermanyXuxue Feng RENEWAL
Izzy U MorascaAustraliaAsiya Javayant PROPOSAL
Sinclair X GarufiBrazilAnna Fali RENEWAL
Cody V MarrierArgentinaXuxue Feng UNQUALIFIED
Alejandro Z WhobreyJapanXuxue Feng PROPOSAL
Julie D FerenczIndiaAsiya Javayant NEW
Aruna D PerinArgentinaAmy Elsner UNQUALIFIED
Jennifer E VocelkaItalyXuxue Feng NEGOTIATION
Nicolas Q SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco W MarrierCanadaElwin Sharvill UNQUALIFIED
Greenwood M WaycottGermanyStephen Shaw RENEWAL
Salvatore Q CaudyAustraliaOnyama Limba NEW
Emily A CampainUnited KingdomIvan Magalhaes PROPOSAL
Costa G MacleadCanadaAsiya Javayant RENEWAL
Cody B SergiItalyElwin Sharvill PROPOSAL
Leja F BologniaItalyAmy Elsner 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>