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
Alejandro R ButtSpainIoni Bowcher NEW
Aruna W ShinkoRussiaStephen Shaw NEW
Aika B DoeFranceOnyama Limba NEW
Johnson U FlosiUnited KingdomBernardo Dominic QUALIFIED
Costa M GlickArgentinaIvan Magalhaes NEGOTIATION
Kaitlin R AmigonUnited KingdomAmy Elsner RENEWAL
Jefferson K BologniaGermanyOnyama Limba NEW
Sinclair P WieserItalyIvan Magalhaes RENEWAL
Faith L PaprockiItalyXuxue Feng PROPOSAL
Greenwood C TollnerAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois M NickaAustraliaStephen Shaw PROPOSAL
Morrow J CampainUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois S FollerBrazilXuxue Feng QUALIFIED
Salvatore S InouyeIndiaIoni Bowcher RENEWAL
Chavez N FlosiUnited KingdomIvan Magalhaes UNQUALIFIED
Julie W MarrierBrazilOnyama Limba QUALIFIED
Maria R PaprockiRussiaXuxue Feng QUALIFIED
Rodrigues Q BriddickJapanStephen Shaw UNQUALIFIED
Salvatore G NestleFranceElwin Sharvill NEGOTIATION
Wickens M TollnerRussiaXuxue Feng NEW
Faith D DilliardArgentinaAmy Elsner UNQUALIFIED
Ricardo H StockhamItalyIvan Magalhaes PROPOSAL
Murillo X RulapaughArgentinaXuxue Feng NEGOTIATION
Izzy H OstroskyRussiaAsiya Javayant UNQUALIFIED
Antonio S NickaBrazilStephen Shaw PROPOSAL
Julie K IturbideUnited KingdomElwin Sharvill NEW
Mayumi V DarakjyIndiaStephen Shaw QUALIFIED
Alejandro P MaletBrazilBernardo Dominic QUALIFIED
Munro T BowleyFranceAnna Fali UNQUALIFIED
Adams U CaldareraUnited KingdomIoni Bowcher RENEWAL
Isabel E PoquetteRussiaStephen Shaw PROPOSAL
Arvin J FigeroaItalyBernardo Dominic RENEWAL
Aditya A RoysterJapanAsiya Javayant NEW
Juan N RulapaughGermanyAsiya Javayant QUALIFIED
Munro K CaldareraJapanElwin Sharvill PROPOSAL
Murillo W RimGermanyStephen Shaw RENEWAL
Munro I RulapaughCanadaIoni Bowcher NEGOTIATION
Jeanfrancois R MorascaRussiaElwin Sharvill NEGOTIATION
Ashley M GlickUnited KingdomAsiya Javayant UNQUALIFIED
Arvin F CaudySpainBernardo Dominic NEGOTIATION
Greenwood R VenereRussiaBernardo Dominic QUALIFIED
Ricardo P InouyeJapanOnyama Limba RENEWAL
Kaitlin B DoeFranceXuxue Feng RENEWAL
Clifford A DoeSpainStephen Shaw QUALIFIED
Mujtaba O ButtItalyIoni Bowcher RENEWAL
Leon H WaycottItalyAsiya Javayant PROPOSAL
Izzy G GillianArgentinaIoni Bowcher UNQUALIFIED
Ashley Z SchemmerJapanIoni Bowcher RENEWAL
Smith V KolmetzIndiaAnna Fali NEGOTIATION
James B BowleyFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones G MarrierBrazilIoni Bowcher NEGOTIATION
Cody N PaprockiJapanOnyama Limba RENEWAL
Chavez N MorascaIndiaStephen Shaw RENEWAL
Greenwood W CaldareraSpainElwin Sharvill NEW
Julie V DarakjyGermanyStephen Shaw NEGOTIATION
Clifford S ButtArgentinaStephen Shaw UNQUALIFIED
Stacey P SaylorsItalyAmy Elsner QUALIFIED
Clifford D CaudyJapanAnna Fali PROPOSAL
Isabel C KolmetzSpainXuxue Feng NEGOTIATION
Stacey N PaprockiRussiaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams B BologniaItaly2026-10-04Buckley Miller Wright PROPOSAL91Ioni Bowcher
1001Claire Y KuskoUnited Kingdom2026-10-02Rangoni Of Florence NEW99Onyama Limba
1002Sinclair J RimUnited Kingdom2026-10-04Morlong Associates RENEWAL36Asiya Javayant
1003Jeanfrancois Z GarufiCanada2026-09-20Benton, John B Jr PROPOSAL42Onyama Limba
1004Murillo K FerenczBrazil2026-10-11King, Christopher A Esq QUALIFIED24Bernardo Dominic
1005Mayumi Q OldroydJapan2026-10-14Rousseaux, Michael Esq NEGOTIATION31Anna Fali
1006Antonio X SergiItaly2026-09-30Rousseaux, Michael Esq QUALIFIED7Anna Fali
1007Leja L RoysterItaly2026-09-16Chemel, James L Cpa RENEWAL96Ivan Magalhaes
1008Jones B RoysterFrance2026-09-16King, Christopher A Esq UNQUALIFIED79Ivan Magalhaes
1009Salvatore L BowleyIndia2026-10-05Rousseaux, Michael Esq RENEWAL99Ivan Magalhaes
1010Maria S OldroydRussia2026-09-19Feltz Printing Service NEGOTIATION45Anna Fali
1011Mujtaba N StockhamSpain2026-10-03Commercial Press QUALIFIED97Anna Fali
1012Octavia H VocelkaFrance2026-09-21Chapman, Ross E Esq UNQUALIFIED71Anna Fali
1013Clifford W ButtUnited Kingdom2026-10-11Dorl, James J Esq UNQUALIFIED90Anna Fali
1014Maria Y ButtIndia2026-09-23Printing Dimensions RENEWAL9Ivan Magalhaes
1015Emily C NickaIndia2026-10-01Chapman, Ross E Esq PROPOSAL18Anna Fali
1016Alejandro S OldroydArgentina2026-10-12Buckley Miller Wright PROPOSAL41Bernardo Dominic
1017Darci I ChuiUnited Kingdom2026-10-04Buckley Miller Wright QUALIFIED11Ivan Magalhaes
1018Octavia U VenereSpain2026-10-12Rangoni Of Florence PROPOSAL62Ioni Bowcher
1019Ivar Z NestleSpain2026-10-01Feiner Bros NEW12Stephen Shaw
1020Adams B MorascaFrance2026-09-27King, Christopher A Esq NEGOTIATION21Ioni Bowcher
1021Juan Y RutaArgentina2026-09-24Printing Dimensions QUALIFIED45Ioni Bowcher
1022Mayumi O KuskoAustralia2026-09-22Chanay, Jeffrey A Esq NEGOTIATION47Xuxue Feng
1023Stacey T RulapaughUnited Kingdom2026-10-01Chemel, James L Cpa PROPOSAL83Onyama Limba
1024Arvin A RoysterArgentina2026-10-06Feiner Bros NEGOTIATION94Asiya Javayant
1025Leja N RoysterRussia2026-10-01King, Christopher A Esq UNQUALIFIED14Bernardo Dominic
1026Smith I BriddickGermany2026-10-04Morlong Associates PROPOSAL92Anna Fali
1027Maisha R GarufiBrazil2026-10-10Chanay, Jeffrey A Esq RENEWAL88Ivan Magalhaes
1028Sinclair I MacleadArgentina2026-10-13Buckley Miller Wright NEGOTIATION40Onyama Limba
1029Ivar C RulapaughBrazil2026-09-30Benton, John B Jr NEW30Ioni Bowcher
1030Deepesh W VocelkaRussia2026-10-08Rangoni Of Florence PROPOSAL67Xuxue Feng
1031Jeanfrancois X StockhamUnited Kingdom2026-10-15Feltz Printing Service NEW90Bernardo Dominic
1032Mayumi K ChuiSpain2026-10-01Rangoni Of Florence NEW12Bernardo Dominic
1033Arvin R NickaArgentina2026-10-13Chanay, Jeffrey A Esq QUALIFIED48Asiya Javayant
1034Adams L SergiJapan2026-10-08Printing Dimensions UNQUALIFIED50Asiya Javayant
1035Murillo D FlosiRussia2026-09-26Morlong Associates QUALIFIED27Xuxue Feng
1036Mujtaba C AlbaresAustralia2026-09-30Buckley Miller Wright PROPOSAL65Xuxue Feng
1037Sinclair K KuskoUnited Kingdom2026-10-03Truhlar And Truhlar Attys UNQUALIFIED39Anna Fali
1038Claire A ButtAustralia2026-09-21Chemel, James L Cpa QUALIFIED99Amy Elsner
1039Claire K SaylorsGermany2026-10-13Printing Dimensions QUALIFIED58Ioni Bowcher
1040Maisha J OstroskyIndia2026-09-22Morlong Associates NEGOTIATION85Anna Fali
1041Ivar H StensethFrance2026-09-16Buckley Miller Wright UNQUALIFIED65Asiya Javayant
1042Maisha B CaldareraGermany2026-09-30Chapman, Ross E Esq PROPOSAL17Asiya Javayant
1043Tony R SergiFrance2026-10-11Truhlar And Truhlar Attys NEW66Anna Fali
1044Isabel P VenereAustralia2026-09-21Commercial Press PROPOSAL62Xuxue Feng
1045Antonio W RimSpain2026-10-10Truhlar And Truhlar Attys QUALIFIED45Bernardo Dominic
1046Morrow Z DilliardAustralia2026-10-11Morlong Associates QUALIFIED48Onyama Limba
1047Alejandro C BriddickFrance2026-09-24Benton, John B Jr UNQUALIFIED17Anna Fali
1048Leon G KolmetzGermany2026-10-11King, Christopher A Esq QUALIFIED42Stephen Shaw
1049Maisha K StensethBrazil2026-09-23Chapman, Ross E Esq PROPOSAL92Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony E StockhamRussiaElwin Sharvill RENEWAL
Alejandro X GlickItalyIvan Magalhaes UNQUALIFIED
Stacey J WhobreyArgentinaXuxue Feng RENEWAL
Johnson F StensethJapanXuxue Feng PROPOSAL
Julie V InouyeIndiaElwin Sharvill NEW
Stacey O CampainIndiaElwin Sharvill NEW
Kaitlin Q BriddickUnited KingdomOnyama Limba QUALIFIED
Kaitlin H AlbaresFranceOnyama Limba UNQUALIFIED
Stacey Y RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Tony O StockhamItalyAsiya Javayant PROPOSAL
Sinclair D GillianUnited KingdomBernardo Dominic UNQUALIFIED
Munro W AmigonAustraliaXuxue Feng NEGOTIATION
Izzy H BriddickCanadaIoni Bowcher PROPOSAL
Sinclair I RutaSpainIvan Magalhaes NEW
Aika L StensethAustraliaIvan Magalhaes NEW
Morrow T BologniaAustraliaIoni Bowcher QUALIFIED
Ivar H NickaRussiaAsiya Javayant QUALIFIED
Leja A RoysterArgentinaOnyama Limba RENEWAL
Nicolas V MaletItalyElwin Sharvill NEGOTIATION
Morrow U VenereFranceIoni Bowcher NEGOTIATION
Aika W AlbaresRussiaAnna Fali NEW
Leja H SergiSpainIvan Magalhaes NEGOTIATION
Misaki C DoeJapanAsiya Javayant NEW
Rodrigues H VocelkaAustraliaXuxue Feng RENEWAL
Aika P SaylorsItalyAmy Elsner NEGOTIATION
Salvatore R DarakjyArgentinaElwin Sharvill QUALIFIED
Murillo Q MorascaGermanyElwin Sharvill QUALIFIED
Aditya P FerenczIndiaAnna Fali RENEWAL
Costa M RoysterCanadaIvan Magalhaes NEGOTIATION
Smith Z StockhamUnited KingdomAsiya Javayant NEW
Stacey B RimIndiaOnyama Limba UNQUALIFIED
Smith C WhobreyGermanyAsiya Javayant NEGOTIATION
David I BriddickJapanOnyama Limba NEGOTIATION
Mujtaba W NickaSpainAsiya Javayant NEW
Silvio R SlusarskiRussiaIoni Bowcher UNQUALIFIED
Salvatore S WhobreyJapanStephen Shaw RENEWAL
Rodrigues V VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Octavia M NickaIndiaElwin Sharvill PROPOSAL
Claire O NickaGermanyElwin Sharvill PROPOSAL
Juan D StockhamAustraliaAmy Elsner NEW
Kadeem N NestleItalyBernardo Dominic QUALIFIED
Munro T PerinBrazilOnyama Limba PROPOSAL
Rodrigues X VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore J GillianRussiaBernardo Dominic UNQUALIFIED
Darci B FerenczUnited KingdomAnna Fali NEW
Leon N CaldareraRussiaIvan Magalhaes RENEWAL
James X CaldareraArgentinaAnna Fali QUALIFIED
Jennifer Y WhobreyIndiaElwin Sharvill PROPOSAL
Johnson U GauchoGermanyOnyama Limba NEW
Ivar V MorascaUnited KingdomXuxue Feng NEGOTIATION
Frozen Columns
Name
Ivar C Schemmer
Munro R Wieser
Darci Q Morasca
Tony W Nicka
Stacey O Bolognia
Rodrigues X Iturbide
Costa E Venere
Isabel Q Whobrey
Aruna F Waycott
Rodrigues E Poquette
Alejandro N Rim
Faith C Perin
Sinclair R Gaucho
Ashley F Chui
Francesco C Oldroyd
Mayumi Q Glick
Costa J Campain
Cody K Kolmetz
Claire P Whobrey
Maisha Z Rulapaugh
Faith N Ostrosky
Darci K Slusarski
Kadeem W Darakjy
Wickens R Darakjy
Clifford T Rim
Ricardo L Doe
Sinclair H Ruta
Francesco W Malet
Darci P Malet
Chavez P Whobrey
James M Stockham
Ashley M Briddick
Aditya O Ferencz
Jefferson A Poquette
Juan O Inouye
Salvatore K Rim
Rodrigues O Paprocki
Aika X Slusarski
Mujtaba Z Butt
Stacey F Whobrey
Maria O Nestle
Antonio W Ferencz
Aditya D Maclead
Nicolas T Foller
Darci P Kusko
Greenwood N Sergi
Murillo V Briddick
Leon D Figeroa
Adams V Paprocki
Cody P Amigon
IdCountryDate
1000Japan2026-09-23
1001Italy2026-10-08
1002Germany2026-09-28
1003Japan2026-10-11
1004Italy2026-10-03
1005Japan2026-10-10
1006Brazil2026-09-25
1007United Kingdom2026-09-30
1008India2026-09-19
1009Japan2026-10-11
1010India2026-10-06
1011Japan2026-10-08
1012Argentina2026-10-11
1013Spain2026-10-09
1014Spain2026-10-02
1015Germany2026-09-22
1016Italy2026-10-06
1017Argentina2026-10-09
1018India2026-10-12
1019Japan2026-09-20
1020France2026-10-11
1021Argentina2026-10-07
1022India2026-10-12
1023Italy2026-10-02
1024Canada2026-09-23
1025United Kingdom2026-10-05
1026Spain2026-10-08
1027Argentina2026-10-12
1028Italy2026-09-19
1029Italy2026-09-29
1030Canada2026-10-11
1031France2026-10-13
1032Canada2026-09-19
1033Italy2026-09-16
1034Argentina2026-09-17
1035Japan2026-09-28
1036Canada2026-10-11
1037United Kingdom2026-10-14
1038United Kingdom2026-10-09
1039Brazil2026-09-16
1040Japan2026-09-19
1041France2026-09-26
1042United Kingdom2026-10-09
1043Russia2026-10-08
1044Argentina2026-09-23
1045Australia2026-10-12
1046France2026-09-21
1047Germany2026-09-27
1048Russia2026-09-17
1049Canada2026-10-10

On-Demand Data

NameIdCountryDate
Misaki X Nestle1000France2026-10-10
Leon Y Foller1001Canada2026-09-21
Emily F Kusko1002India2026-09-20
Wickens T Flosi1003Australia2026-10-15
Adams D Waycott1004Japan2026-09-25
Kaitlin S Perin1005Argentina2026-09-18
Kadeem M Bolognia1006Russia2026-10-03
James L Rulapaugh1007Japan2026-09-18
Johnson P Caldarera1008United Kingdom2026-10-11
Greenwood K Chui1009Canada2026-09-30
Jeanfrancois N Bowley1010Canada2026-10-14
Silvio E Rulapaugh1011Canada2026-10-11
Murillo K Vocelka1012Russia2026-09-29
Jones Z Kusko1013Australia2026-09-19
Rodrigues Q Iturbide1014Italy2026-09-21
Costa N Royster1015Argentina2026-10-11
Leja Y Whobrey1016Argentina2026-10-02
Kaitlin U Malet1017Italy2026-10-08
Julie M Bowley1018France2026-10-15
Julie J Rulapaugh1019Germany2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia V MarrierRussiaAsiya Javayant UNQUALIFIED
Juan O PoquetteBrazilIvan Magalhaes PROPOSAL
Nicolas L FollerUnited KingdomIoni Bowcher UNQUALIFIED
Tony S MaletUnited KingdomStephen Shaw NEW
Leja Q CampainUnited KingdomElwin Sharvill PROPOSAL
Jeanfrancois X FlosiIndiaAsiya Javayant NEGOTIATION
Isabel O BowleyUnited KingdomXuxue Feng RENEWAL
Claire D CaldareraAustraliaIoni Bowcher QUALIFIED
Mayumi E FollerSpainAmy Elsner NEW
David V IturbideFranceXuxue Feng NEGOTIATION
Greenwood O OldroydJapanIvan Magalhaes NEGOTIATION
Tony V SlusarskiCanadaAsiya Javayant UNQUALIFIED
Kaitlin F DarakjyJapanOnyama Limba UNQUALIFIED
Faith E FerenczFranceOnyama Limba RENEWAL
Mayumi P RimCanadaXuxue Feng NEW
Johnson Y GillianArgentinaAsiya Javayant RENEWAL
Julie T OstroskyJapanAnna Fali PROPOSAL
Kadeem J MorascaCanadaIoni Bowcher QUALIFIED
Jeanfrancois C MacleadSpainStephen Shaw RENEWAL
Darci A DilliardSpainAnna Fali UNQUALIFIED
Ashley P FlosiCanadaXuxue Feng UNQUALIFIED
Silvio T PaprockiItalyIoni Bowcher QUALIFIED
Jefferson F KuskoBrazilAsiya Javayant NEGOTIATION
Stacey U MarrierAustraliaStephen Shaw QUALIFIED
Kaitlin I NestleRussiaBernardo Dominic NEW
Kaitlin L DilliardJapanAnna Fali PROPOSAL
Aditya R KuskoJapanXuxue Feng UNQUALIFIED
Arvin H OldroydGermanyIoni Bowcher NEW
Sinclair S GillianItalyAnna Fali QUALIFIED
Antonio Z OstroskyRussiaAmy Elsner UNQUALIFIED
Izzy N BowleyJapanOnyama Limba NEGOTIATION
Cody T MacleadRussiaAmy Elsner PROPOSAL
Costa J PaprockiJapanXuxue Feng NEW
Clifford N NestleBrazilOnyama Limba QUALIFIED
Mujtaba Z VocelkaRussiaAsiya Javayant NEW
Ashley C SaylorsIndiaIoni Bowcher PROPOSAL
Juan L MaletJapanStephen Shaw NEGOTIATION
Smith U WieserJapanBernardo Dominic NEW
Smith W NickaGermanyBernardo Dominic QUALIFIED
Leja P TollnerJapanBernardo Dominic 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>