Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Nicolas D FigeroaFranceBernardo Dominic QUALIFIED
Maria L StensethRussiaOnyama Limba NEW
Adams Z WieserArgentinaElwin Sharvill RENEWAL
Kadeem E FigeroaArgentinaOnyama Limba RENEWAL
Alejandro B ShinkoJapanAnna Fali PROPOSAL
Cody A PerinIndiaIvan Magalhaes NEGOTIATION
Deepesh B VenereBrazilAnna Fali NEW
Kadeem K InouyeCanadaIvan Magalhaes UNQUALIFIED
Silvio Q BowleyAustraliaElwin Sharvill UNQUALIFIED
Jennifer G CampainArgentinaAsiya Javayant RENEWAL
Aika Q SergiBrazilOnyama Limba UNQUALIFIED
Jeanfrancois D MorascaFranceElwin Sharvill RENEWAL
Julie A InouyeAustraliaXuxue Feng NEW
Stacey T PaprockiGermanyBernardo Dominic RENEWAL
Salvatore Q SaylorsJapanIvan Magalhaes PROPOSAL
Adams E AlbaresGermanyIvan Magalhaes UNQUALIFIED
Claire W RoysterJapanOnyama Limba UNQUALIFIED
Salvatore Y PerinBrazilAnna Fali NEGOTIATION
Mayumi R NestleRussiaStephen Shaw RENEWAL
Izzy J MaletFranceIvan Magalhaes UNQUALIFIED
Claire E OstroskySpainAnna Fali RENEWAL
Aditya E DarakjyUnited KingdomXuxue Feng PROPOSAL
Maisha C WieserArgentinaAmy Elsner NEW
Julie P FerenczBrazilAsiya Javayant UNQUALIFIED
Murillo D MaletUnited KingdomAmy Elsner NEGOTIATION
Faith R SlusarskiRussiaXuxue Feng UNQUALIFIED
Morrow T OldroydArgentinaStephen Shaw UNQUALIFIED
Leja T PerinGermanyIoni Bowcher PROPOSAL
Silvio H BologniaFranceIvan Magalhaes NEGOTIATION
Morrow L MaletAustraliaAsiya Javayant UNQUALIFIED
Leja G WhobreyFranceIoni Bowcher UNQUALIFIED
Kadeem V DoeUnited KingdomIoni Bowcher NEW
Isabel K PerinCanadaBernardo Dominic PROPOSAL
Aditya I CaudyArgentinaAmy Elsner PROPOSAL
Francesco M FerenczAustraliaStephen Shaw RENEWAL
Sinclair Y BriddickIndiaBernardo Dominic PROPOSAL
Arvin J DarakjyArgentinaElwin Sharvill QUALIFIED
Ashley U CaudyUnited KingdomBernardo Dominic NEGOTIATION
Aditya X FlosiArgentinaAmy Elsner NEGOTIATION
James D GlickRussiaOnyama Limba RENEWAL
James G RoysterSpainIvan Magalhaes NEGOTIATION
Faith B TollnerUnited KingdomAnna Fali NEGOTIATION
Darci K BriddickUnited KingdomStephen Shaw NEW
Kaitlin I SchemmerFranceAsiya Javayant PROPOSAL
James A GlickCanadaIvan Magalhaes NEW
Misaki T RimCanadaElwin Sharvill PROPOSAL
Chavez J GauchoAustraliaElwin Sharvill PROPOSAL
Clifford X MaletUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem H MaletGermanyStephen Shaw QUALIFIED
Leja L MaletArgentinaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams S StockhamSpainAsiya Javayant NEW
Munro M RimCanadaOnyama Limba RENEWAL
Salvatore G GillianItalyAnna Fali QUALIFIED
Antonio J AlbaresGermanyAnna Fali QUALIFIED
Rodrigues L PerinCanadaXuxue Feng NEW
Tony J GauchoBrazilOnyama Limba QUALIFIED
Mayumi C StockhamRussiaAsiya Javayant RENEWAL
Deepesh C WaycottArgentinaAsiya Javayant NEGOTIATION
Ivar W BowleyAustraliaOnyama Limba NEW
Juan S StensethItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna M WaycottGermany2025-07-16Rousseaux, Michael Esq NEGOTIATION89Amy Elsner
1001Kaitlin S FigeroaJapan2025-08-03Benton, John B Jr PROPOSAL90Asiya Javayant
1002Rodrigues R DilliardJapan2025-07-23Feltz Printing Service NEW70Elwin Sharvill
1003Jefferson H RoysterBrazil2025-07-27Rangoni Of Florence NEGOTIATION13Stephen Shaw
1004Morrow Q WieserAustralia2025-07-15Rousseaux, Michael Esq NEW38Onyama Limba
1005Costa B NestleIndia2025-07-07Chemel, James L Cpa RENEWAL42Anna Fali
1006Isabel Y MarrierGermany2025-07-18King, Christopher A Esq RENEWAL70Asiya Javayant
1007Aditya R SlusarskiBrazil2025-07-30Morlong Associates NEGOTIATION79Ivan Magalhaes
1008Isabel R FollerFrance2025-07-18Chapman, Ross E Esq PROPOSAL37Stephen Shaw
1009Salvatore S GillianBrazil2025-08-01Benton, John B Jr QUALIFIED70Ivan Magalhaes
1010Isabel W NickaArgentina2025-07-18Commercial Press UNQUALIFIED17Ioni Bowcher
1011Leja U MaletItaly2025-07-09King, Christopher A Esq QUALIFIED53Onyama Limba
1012Claire P FollerArgentina2025-08-04Dorl, James J Esq NEW97Anna Fali
1013Rodrigues S DilliardBrazil2025-08-01Printing Dimensions NEGOTIATION27Anna Fali
1014Kadeem P IturbideUnited Kingdom2025-07-23Printing Dimensions QUALIFIED21Elwin Sharvill
1015Jennifer T FlosiAustralia2025-07-09King, Christopher A Esq NEW60Ivan Magalhaes
1016Julie A MarrierAustralia2025-07-20Buckley Miller Wright RENEWAL95Bernardo Dominic
1017Silvio B ButtCanada2025-07-20Rangoni Of Florence QUALIFIED82Stephen Shaw
1018Francesco U AmigonAustralia2025-08-04Buckley Miller Wright PROPOSAL71Ivan Magalhaes
1019Izzy R FollerIndia2025-07-12Chanay, Jeffrey A Esq NEW10Stephen Shaw
1020Adams E WaycottUnited Kingdom2025-07-10Printing Dimensions NEW28Ioni Bowcher
1021Ashley C RoysterIndia2025-07-24Chemel, James L Cpa NEW29Anna Fali
1022Mayumi G VenereItaly2025-07-28Dorl, James J Esq NEW14Asiya Javayant
1023Salvatore L WieserArgentina2025-07-15Chemel, James L Cpa UNQUALIFIED44Asiya Javayant
1024Izzy D PoquetteJapan2025-07-18Chanay, Jeffrey A Esq UNQUALIFIED21Onyama Limba
1025Izzy W GarufiAustralia2025-08-04Chemel, James L Cpa NEGOTIATION44Elwin Sharvill
1026Sinclair S NestleAustralia2025-07-23Buckley Miller Wright PROPOSAL84Xuxue Feng
1027Deepesh O VocelkaItaly2025-07-29King, Christopher A Esq NEGOTIATION96Elwin Sharvill
1028Morrow V RoysterFrance2025-08-01Printing Dimensions NEGOTIATION90Anna Fali
1029David K NestleBrazil2025-07-15Rousseaux, Michael Esq QUALIFIED71Onyama Limba
1030Sinclair Q PerinIndia2025-08-02Buckley Miller Wright RENEWAL39Elwin Sharvill
1031Nicolas F KolmetzIndia2025-07-16Buckley Miller Wright PROPOSAL85Stephen Shaw
1032Munro M DarakjySpain2025-08-03Rangoni Of Florence RENEWAL85Elwin Sharvill
1033Kadeem R WieserAustralia2025-07-22Buckley Miller Wright PROPOSAL24Asiya Javayant
1034Jennifer S MaletAustralia2025-07-20Rangoni Of Florence QUALIFIED13Ivan Magalhaes
1035Rodrigues Z InouyeAustralia2025-07-25Chanay, Jeffrey A Esq PROPOSAL42Onyama Limba
1036Juan I ChuiItaly2025-07-06Morlong Associates NEW43Anna Fali
1037Deepesh S NickaJapan2025-07-27King, Christopher A Esq QUALIFIED69Asiya Javayant
1038Deepesh F GillianCanada2025-07-29Chapman, Ross E Esq QUALIFIED51Ivan Magalhaes
1039Jefferson B DarakjyJapan2025-07-27Chanay, Jeffrey A Esq PROPOSAL47Anna Fali
1040Costa M KolmetzAustralia2025-07-29Benton, John B Jr NEW18Xuxue Feng
1041Sinclair R FerenczBrazil2025-07-09King, Christopher A Esq UNQUALIFIED93Elwin Sharvill
1042Sinclair E SlusarskiGermany2025-07-14Commercial Press PROPOSAL9Onyama Limba
1043Faith R KuskoCanada2025-08-04Printing Dimensions UNQUALIFIED71Elwin Sharvill
1044Nicolas N CaldareraBrazil2025-07-17Chanay, Jeffrey A Esq NEGOTIATION8Bernardo Dominic
1045David I VocelkaItaly2025-08-03Printing Dimensions QUALIFIED71Amy Elsner
1046Silvio P BriddickArgentina2025-07-24Chanay, Jeffrey A Esq NEW66Ivan Magalhaes
1047Octavia P MorascaBrazil2025-07-19Dorl, James J Esq NEGOTIATION80Bernardo Dominic
1048Arvin L FerenczRussia2025-07-07Feiner Bros QUALIFIED3Ioni Bowcher
1049Clifford G SaylorsSpain2025-07-21Chanay, Jeffrey A Esq PROPOSAL96Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens K MacleadItalyXuxue Feng UNQUALIFIED
Aruna G PerinIndiaIoni Bowcher UNQUALIFIED
Chavez O BologniaArgentinaIvan Magalhaes UNQUALIFIED
Aika C FerenczAustraliaAnna Fali NEW
Costa U ShinkoArgentinaAnna Fali RENEWAL
Alejandro C SaylorsJapanBernardo Dominic UNQUALIFIED
Mujtaba R FerenczUnited KingdomIvan Magalhaes NEW
Salvatore A WhobreyArgentinaAsiya Javayant QUALIFIED
Chavez H CaldareraFranceIvan Magalhaes RENEWAL
Emily B FerenczUnited KingdomAnna Fali NEGOTIATION
Stacey M GillianRussiaOnyama Limba UNQUALIFIED
Murillo P OstroskyIndiaElwin Sharvill RENEWAL
Adams U BowleyFranceXuxue Feng PROPOSAL
Johnson T StockhamSpainStephen Shaw RENEWAL
Rodrigues I CaldareraSpainOnyama Limba RENEWAL
Rodrigues N GarufiJapanXuxue Feng NEW
Salvatore W InouyeRussiaAsiya Javayant QUALIFIED
Izzy C NickaCanadaAsiya Javayant NEGOTIATION
Alejandro V BriddickSpainIoni Bowcher QUALIFIED
Ricardo J OldroydArgentinaAsiya Javayant PROPOSAL
Aruna R DilliardFranceXuxue Feng NEGOTIATION
Izzy W WieserBrazilBernardo Dominic NEW
Emily N BowleyRussiaOnyama Limba NEW
Ashley N CaudyArgentinaOnyama Limba UNQUALIFIED
Tony D VenereRussiaElwin Sharvill QUALIFIED
Maisha L CaudySpainBernardo Dominic RENEWAL
Morrow Z CaudyRussiaAmy Elsner RENEWAL
Mayumi Y FerenczRussiaElwin Sharvill RENEWAL
Isabel F IturbideArgentinaAsiya Javayant RENEWAL
Jennifer Q BologniaIndiaAnna Fali NEW
Juan W ChuiJapanXuxue Feng NEGOTIATION
Ashley P RulapaughCanadaOnyama Limba NEGOTIATION
Costa U MaletBrazilIoni Bowcher QUALIFIED
Kaitlin F GillianFranceStephen Shaw PROPOSAL
Juan A MorascaArgentinaStephen Shaw QUALIFIED
Costa I SchemmerJapanAmy Elsner RENEWAL
Julie K AlbaresArgentinaAsiya Javayant PROPOSAL
Ricardo I WaycottIndiaXuxue Feng RENEWAL
Leon W StensethSpainAmy Elsner RENEWAL
Munro J FigeroaIndiaBernardo Dominic NEGOTIATION
Alejandro N RimSpainAsiya Javayant PROPOSAL
Murillo V PerinJapanAsiya Javayant RENEWAL
Maisha Z BriddickCanadaIoni Bowcher NEGOTIATION
Salvatore P ChuiBrazilElwin Sharvill QUALIFIED
Mujtaba Y WieserUnited KingdomOnyama Limba UNQUALIFIED
Aditya K PaprockiCanadaOnyama Limba PROPOSAL
Adams W CaudyArgentinaXuxue Feng QUALIFIED
Nicolas T MacleadFranceXuxue Feng RENEWAL
Nicolas A CampainFranceIvan Magalhaes NEGOTIATION
Kaitlin W WaycottUnited KingdomXuxue Feng UNQUALIFIED
Frozen Columns
Name
Mujtaba D Saylors
Aruna C Rulapaugh
Julie O Foller
Clifford T Doe
Johnson W Briddick
Arvin D Schemmer
Costa B Saylors
Greenwood P Malet
Murillo H Wieser
Costa L Poquette
Francesco I Ruta
Deepesh R Rulapaugh
Aruna T Nicka
Stacey J Kolmetz
Kadeem C Caldarera
Nicolas K Shinko
Mayumi O Ostrosky
Ivar P Shinko
Maria O Rim
Ashley U Gaucho
Aditya Y Morasca
Stacey C Marrier
Maisha I Poquette
Jones I Chui
Darci V Ostrosky
David L Paprocki
Mayumi X Waycott
Smith J Oldroyd
Claire V Rulapaugh
Aditya D Maclead
Murillo H Venere
Maria T Rulapaugh
Morrow Z Figeroa
Kadeem F Stockham
Mujtaba E Glick
Arvin D Nestle
Murillo B Kusko
Nicolas M Nicka
Leja M Garufi
Ricardo T Gillian
Chavez T Waycott
Izzy Y Tollner
Aruna Y Maclead
Izzy V Gillian
Aruna J Kolmetz
Aika O Poquette
Johnson R Ruta
Jeanfrancois Z Vocelka
Jennifer Z Dilliard
Arvin P Sergi
IdCountryDate
1000United Kingdom2025-07-13
1001France2025-07-18
1002Spain2025-07-10
1003Russia2025-07-30
1004United Kingdom2025-07-08
1005Australia2025-08-03
1006Japan2025-07-24
1007Argentina2025-07-10
1008India2025-08-04
1009India2025-07-15
1010Italy2025-07-25
1011Italy2025-07-18
1012Canada2025-07-09
1013United Kingdom2025-07-29
1014United Kingdom2025-07-25
1015India2025-07-15
1016France2025-07-08
1017Japan2025-07-07
1018Germany2025-08-04
1019United Kingdom2025-07-30
1020France2025-07-08
1021Russia2025-08-02
1022Spain2025-07-23
1023India2025-07-14
1024Brazil2025-07-17
1025Brazil2025-07-29
1026Spain2025-08-01
1027Germany2025-07-19
1028Canada2025-07-25
1029India2025-07-24
1030India2025-07-24
1031Brazil2025-07-08
1032Spain2025-07-13
1033Spain2025-07-08
1034France2025-07-22
1035Argentina2025-07-30
1036France2025-07-29
1037Australia2025-07-12
1038Brazil2025-07-19
1039United Kingdom2025-07-29
1040Australia2025-08-03
1041France2025-07-11
1042Canada2025-07-21
1043United Kingdom2025-08-03
1044Australia2025-08-04
1045France2025-08-03
1046Germany2025-08-01
1047France2025-07-16
1048Brazil2025-07-08
1049Russia2025-07-23

On-Demand Data

NameIdCountryDate
Morrow H Royster1000United Kingdom2025-07-19
Deepesh J Marrier1001Canada2025-07-20
Morrow W Malet1002Australia2025-08-04
Juan H Ruta1003United Kingdom2025-07-29
Ivar E Albares1004India2025-07-10
Aruna J Kusko1005Japan2025-07-17
Faith O Rulapaugh1006Spain2025-07-28
Julie T Royster1007India2025-07-25
Antonio R Shinko1008Italy2025-07-21
Costa X Bowley1009Germany2025-07-06
Stacey G Campain1010Spain2025-07-22
Maisha B Ferencz1011Italy2025-07-19
Jennifer M Albares1012Canada2025-07-21
Greenwood F Oldroyd1013Russia2025-08-03
Aruna Z Ostrosky1014Russia2025-07-24
Misaki Y Albares1015Canada2025-07-08
David Q Garufi1016Australia2025-07-06
David E Bolognia1017United Kingdom2025-07-07
Antonio O Ostrosky1018India2025-07-21
Stacey X Gaucho1019India2025-07-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith E GarufiJapanIvan Magalhaes NEGOTIATION
Mayumi X PaprockiCanadaAsiya Javayant QUALIFIED
Silvio E GarufiAustraliaElwin Sharvill QUALIFIED
Johnson B RulapaughArgentinaStephen Shaw QUALIFIED
Leon H AlbaresItalyBernardo Dominic NEW
Isabel J CampainRussiaAsiya Javayant UNQUALIFIED
Alejandro N DarakjyGermanyIoni Bowcher QUALIFIED
Aika J RoysterBrazilBernardo Dominic NEGOTIATION
Jefferson K GarufiCanadaIoni Bowcher NEW
Alejandro E AlbaresBrazilStephen Shaw UNQUALIFIED
Cody T VenereGermanyAnna Fali PROPOSAL
Maria F MaletItalyXuxue Feng RENEWAL
David M BologniaItalyXuxue Feng QUALIFIED
Munro Z GlickJapanIoni Bowcher UNQUALIFIED
Jennifer U SergiCanadaAnna Fali NEW
Ricardo L KuskoIndiaAnna Fali UNQUALIFIED
Deepesh I StockhamArgentinaBernardo Dominic QUALIFIED
Misaki M SlusarskiFranceOnyama Limba RENEWAL
Maria I SergiFranceIoni Bowcher QUALIFIED
Maisha Y BriddickArgentinaOnyama Limba NEGOTIATION
Arvin K NickaItalyElwin Sharvill QUALIFIED
Nicolas N MacleadBrazilElwin Sharvill QUALIFIED
Kadeem V CampainItalyBernardo Dominic QUALIFIED
Jefferson C SchemmerGermanyXuxue Feng UNQUALIFIED
Rodrigues C SergiJapanOnyama Limba QUALIFIED
Ricardo N TollnerSpainIvan Magalhaes RENEWAL
Aika X GauchoGermanyAmy Elsner QUALIFIED
Morrow M VenereIndiaIvan Magalhaes QUALIFIED
Jennifer G IturbideFranceStephen Shaw NEGOTIATION
James X IturbideAustraliaElwin Sharvill RENEWAL
Sinclair M StockhamJapanStephen Shaw RENEWAL
Claire O VenereRussiaBernardo Dominic UNQUALIFIED
Chavez U NickaAustraliaXuxue Feng UNQUALIFIED
Alejandro J PaprockiUnited KingdomAmy Elsner NEW
Octavia C TollnerIndiaAsiya Javayant PROPOSAL
Claire T SchemmerRussiaAsiya Javayant QUALIFIED
Claire W BowleyRussiaBernardo Dominic UNQUALIFIED
Greenwood U RoysterJapanAmy Elsner NEW
James U OstroskySpainXuxue Feng NEW
Murillo E RutaAustraliaAmy Elsner QUALIFIED

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