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
Emily O GarufiFranceIvan Magalhaes RENEWAL
Arvin U PaprockiGermanyAnna Fali RENEWAL
Mayumi A SlusarskiItalyIvan Magalhaes NEGOTIATION
Smith N RimSpainAsiya Javayant QUALIFIED
Smith Y GauchoCanadaAmy Elsner RENEWAL
Izzy N BowleyUnited KingdomBernardo Dominic QUALIFIED
Ivar Z AlbaresRussiaIvan Magalhaes PROPOSAL
Ashley F SchemmerGermanyStephen Shaw NEW
Ashley K KolmetzArgentinaAmy Elsner RENEWAL
Octavia J GauchoCanadaAsiya Javayant UNQUALIFIED
Darci X KolmetzSpainIvan Magalhaes PROPOSAL
Jennifer K FollerBrazilOnyama Limba NEW
Aika N CampainBrazilBernardo Dominic NEW
Murillo P GillianJapanAsiya Javayant NEW
Leon W RimBrazilStephen Shaw QUALIFIED
Wickens C IturbideAustraliaElwin Sharvill NEGOTIATION
Rodrigues Y SlusarskiAustraliaAnna Fali PROPOSAL
Mujtaba G ShinkoArgentinaElwin Sharvill QUALIFIED
Chavez V MarrierAustraliaAmy Elsner NEGOTIATION
Ricardo M FlosiGermanyAnna Fali NEGOTIATION
Johnson Y KuskoUnited KingdomAmy Elsner NEGOTIATION
Francesco O InouyeIndiaBernardo Dominic RENEWAL
Jennifer V NickaRussiaOnyama Limba QUALIFIED
Greenwood E ChuiUnited KingdomElwin Sharvill NEGOTIATION
Mayumi B KolmetzUnited KingdomAnna Fali NEGOTIATION
Juan Z DoeAustraliaIoni Bowcher NEW
Munro G FlosiGermanyOnyama Limba PROPOSAL
Greenwood X GarufiUnited KingdomElwin Sharvill PROPOSAL
Stacey M PoquetteItalyAsiya Javayant UNQUALIFIED
Alejandro U VenereItalyAmy Elsner NEGOTIATION
Ashley P GillianItalyElwin Sharvill UNQUALIFIED
Murillo U ChuiIndiaIvan Magalhaes PROPOSAL
Izzy I OstroskyArgentinaBernardo Dominic PROPOSAL
Aruna P IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood N VocelkaArgentinaOnyama Limba NEW
Morrow R SchemmerSpainAnna Fali UNQUALIFIED
Claire I RulapaughSpainStephen Shaw RENEWAL
Morrow E RoysterUnited KingdomAnna Fali PROPOSAL
Octavia L WaycottUnited KingdomElwin Sharvill RENEWAL
Aditya G FigeroaBrazilAmy Elsner NEGOTIATION
Mayumi Q GlickFranceAsiya Javayant NEW
Jeanfrancois C DarakjyGermanyAsiya Javayant NEW
Maria F SergiJapanAmy Elsner PROPOSAL
Rodrigues L SaylorsRussiaOnyama Limba NEGOTIATION
Mayumi O VenereAustraliaAsiya Javayant NEGOTIATION
Faith I RoysterIndiaAnna Fali NEGOTIATION
Izzy R BriddickGermanyAnna Fali PROPOSAL
Johnson Q VocelkaRussiaStephen Shaw NEGOTIATION
Maisha V FlosiBrazilStephen Shaw UNQUALIFIED
Jones L SlusarskiUnited KingdomIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin H SchemmerCanadaStephen Shaw NEW
Kaitlin N VenereSpainIoni Bowcher PROPOSAL
Jeanfrancois X InouyeRussiaElwin Sharvill NEGOTIATION
Greenwood A NestleUnited KingdomAmy Elsner NEW
Adams U StensethGermanyStephen Shaw NEGOTIATION
Izzy F OstroskyFranceBernardo Dominic NEGOTIATION
Kadeem S CaudyArgentinaAmy Elsner NEGOTIATION
Rodrigues H StockhamIndiaAmy Elsner RENEWAL
Maria U WaycottBrazilAnna Fali QUALIFIED
Emily G WaycottAustraliaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie I NickaIndia2025-08-17King, Christopher A Esq NEW5Onyama Limba
1001Isabel R BriddickGermany2025-09-08Commercial Press NEW76Xuxue Feng
1002Cody Y FollerFrance2025-08-25Commercial Press QUALIFIED85Amy Elsner
1003Francesco X WieserUnited Kingdom2025-08-14Commercial Press QUALIFIED83Anna Fali
1004Ricardo I WhobreyCanada2025-08-18Chapman, Ross E Esq NEW60Ioni Bowcher
1005Jennifer N GarufiItaly2025-08-17Rousseaux, Michael Esq UNQUALIFIED7Ioni Bowcher
1006Tony Z NestleFrance2025-08-22Rangoni Of Florence QUALIFIED68Ioni Bowcher
1007Leon D GarufiJapan2025-08-20Feiner Bros PROPOSAL25Anna Fali
1008Munro W StockhamIndia2025-08-13Dorl, James J Esq RENEWAL90Asiya Javayant
1009Sinclair C SlusarskiItaly2025-09-08Printing Dimensions PROPOSAL50Amy Elsner
1010Darci M KolmetzSpain2025-08-23Feiner Bros NEGOTIATION57Xuxue Feng
1011Smith C MaletGermany2025-08-26Feiner Bros RENEWAL51Anna Fali
1012Kaitlin P WhobreyCanada2025-08-29Benton, John B Jr NEW99Ioni Bowcher
1013Maisha S VenereIndia2025-08-21Benton, John B Jr UNQUALIFIED29Bernardo Dominic
1014Maria D DoeSpain2025-08-26Feltz Printing Service NEGOTIATION57Ivan Magalhaes
1015Ashley B VenereRussia2025-09-09Printing Dimensions RENEWAL38Ioni Bowcher
1016Munro D WaycottBrazil2025-08-18Dorl, James J Esq UNQUALIFIED15Bernardo Dominic
1017Arvin P MaletAustralia2025-09-06Printing Dimensions UNQUALIFIED36Anna Fali
1018Juan S MaletGermany2025-08-12Commercial Press NEW69Amy Elsner
1019Cody J CaudyUnited Kingdom2025-08-11Morlong Associates RENEWAL11Amy Elsner
1020Morrow P BowleyFrance2025-08-24Feltz Printing Service QUALIFIED32Bernardo Dominic
1021Leja U SchemmerIndia2025-08-23Chapman, Ross E Esq NEW17Bernardo Dominic
1022Aruna I MarrierBrazil2025-08-29Morlong Associates NEW6Anna Fali
1023Ricardo Z SlusarskiUnited Kingdom2025-08-17King, Christopher A Esq NEGOTIATION59Ivan Magalhaes
1024David P PaprockiArgentina2025-09-09Chapman, Ross E Esq PROPOSAL1Onyama Limba
1025Arvin H SergiAustralia2025-08-23Chanay, Jeffrey A Esq PROPOSAL0Onyama Limba
1026Antonio T FerenczRussia2025-09-08Chanay, Jeffrey A Esq PROPOSAL97Anna Fali
1027Stacey J RutaRussia2025-09-06Buckley Miller Wright QUALIFIED8Stephen Shaw
1028James S RoysterItaly2025-08-18Feltz Printing Service PROPOSAL95Ioni Bowcher
1029Aruna R RoysterItaly2025-08-21Buckley Miller Wright QUALIFIED12Anna Fali
1030Misaki J VocelkaSpain2025-09-02Printing Dimensions NEGOTIATION77Ivan Magalhaes
1031Aditya F RulapaughFrance2025-08-22Chapman, Ross E Esq NEGOTIATION58Ivan Magalhaes
1032Greenwood L StensethBrazil2025-08-15Morlong Associates QUALIFIED95Asiya Javayant
1033Antonio S PerinFrance2025-09-01Rangoni Of Florence UNQUALIFIED8Elwin Sharvill
1034Octavia D CampainIndia2025-08-19Morlong Associates NEGOTIATION52Onyama Limba
1035Julie E GarufiIndia2025-09-04Feiner Bros RENEWAL79Ioni Bowcher
1036Ricardo T ShinkoBrazil2025-09-02Rousseaux, Michael Esq RENEWAL82Ioni Bowcher
1037Stacey C OldroydUnited Kingdom2025-08-30Chemel, James L Cpa NEW93Xuxue Feng
1038Jeanfrancois F StockhamJapan2025-08-13Chemel, James L Cpa NEGOTIATION83Elwin Sharvill
1039Kaitlin X GlickFrance2025-09-05Dorl, James J Esq RENEWAL47Ivan Magalhaes
1040Emily C NickaRussia2025-08-15Chanay, Jeffrey A Esq QUALIFIED25Asiya Javayant
1041Silvio R VocelkaSpain2025-08-27Morlong Associates NEGOTIATION20Ivan Magalhaes
1042Chavez Q ShinkoFrance2025-08-23Feiner Bros QUALIFIED79Onyama Limba
1043Nicolas R CaudyRussia2025-08-16Chanay, Jeffrey A Esq NEW60Xuxue Feng
1044Leja T PerinSpain2025-08-19Feltz Printing Service RENEWAL89Stephen Shaw
1045Stacey O NestleAustralia2025-08-19Morlong Associates RENEWAL94Elwin Sharvill
1046Jeanfrancois B InouyeGermany2025-09-05Printing Dimensions NEW32Anna Fali
1047Jennifer K AmigonSpain2025-08-27Feiner Bros NEGOTIATION62Bernardo Dominic
1048Adams P PoquetteBrazil2025-08-25Chapman, Ross E Esq NEW54Bernardo Dominic
1049Deepesh V VenereAustralia2025-09-04Rangoni Of Florence RENEWAL75Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas F MarrierUnited KingdomIvan Magalhaes QUALIFIED
Faith P ButtCanadaOnyama Limba PROPOSAL
Deepesh C KolmetzRussiaAnna Fali RENEWAL
Juan E RulapaughGermanyBernardo Dominic QUALIFIED
Ricardo Z RimCanadaElwin Sharvill PROPOSAL
Deepesh L SaylorsCanadaStephen Shaw RENEWAL
Wickens C SergiRussiaIoni Bowcher QUALIFIED
Wickens L GauchoCanadaAmy Elsner UNQUALIFIED
Chavez X FollerGermanyIvan Magalhaes QUALIFIED
Jefferson V PerinIndiaAsiya Javayant NEW
Emily T KolmetzSpainXuxue Feng NEGOTIATION
Jennifer F SergiItalyOnyama Limba PROPOSAL
Ashley U MaletItalyElwin Sharvill NEW
Ivar C CaldareraSpainAmy Elsner NEW
Juan R MacleadJapanXuxue Feng UNQUALIFIED
Juan F AlbaresGermanyBernardo Dominic NEGOTIATION
Kadeem G RoysterCanadaElwin Sharvill NEGOTIATION
David Z GlickFranceAmy Elsner UNQUALIFIED
Ricardo Q PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Maria O AmigonAustraliaBernardo Dominic NEGOTIATION
Alejandro X FigeroaCanadaXuxue Feng RENEWAL
Rodrigues W SaylorsCanadaXuxue Feng RENEWAL
Chavez H FlosiFranceOnyama Limba NEW
Jefferson Y StockhamItalyBernardo Dominic NEW
Juan Y FigeroaJapanAnna Fali NEGOTIATION
Maria S MacleadGermanyIoni Bowcher NEGOTIATION
Aditya P MaletItalyXuxue Feng QUALIFIED
Ashley U ShinkoBrazilAnna Fali RENEWAL
Francesco L PaprockiJapanStephen Shaw NEGOTIATION
Octavia J StensethBrazilBernardo Dominic PROPOSAL
Cody K VocelkaUnited KingdomOnyama Limba NEGOTIATION
Johnson G KolmetzUnited KingdomAsiya Javayant RENEWAL
Silvio H BologniaItalyXuxue Feng QUALIFIED
Nicolas I GlickUnited KingdomAsiya Javayant PROPOSAL
Francesco A StensethUnited KingdomStephen Shaw RENEWAL
Johnson H PerinJapanIoni Bowcher RENEWAL
Izzy C OstroskyArgentinaAnna Fali UNQUALIFIED
Alejandro N SaylorsSpainAmy Elsner RENEWAL
Chavez E WaycottItalyElwin Sharvill QUALIFIED
Greenwood J RulapaughAustraliaOnyama Limba RENEWAL
Juan R KuskoFranceAsiya Javayant NEW
Leon Z DarakjyFranceElwin Sharvill UNQUALIFIED
Jeanfrancois U PoquetteFranceAsiya Javayant NEW
Alejandro S SaylorsFranceIvan Magalhaes UNQUALIFIED
Mayumi H RimCanadaAsiya Javayant NEGOTIATION
Ricardo Z AmigonItalyAnna Fali NEGOTIATION
Ivar Y RoysterFranceAnna Fali UNQUALIFIED
Cody F DarakjyJapanAsiya Javayant RENEWAL
Salvatore U FigeroaRussiaOnyama Limba NEGOTIATION
Juan T FigeroaFranceBernardo Dominic RENEWAL
Frozen Columns
Name
Chavez G Oldroyd
Stacey B Saylors
Arvin U Nestle
Maria G Caudy
Salvatore F Morasca
Darci A Vocelka
Francesco Z Gillian
Wickens H Kusko
Jefferson Z Iturbide
Chavez T Morasca
Darci U Paprocki
Faith U Amigon
Ricardo S Schemmer
Faith L Dilliard
Chavez H Malet
Aika M Stenseth
Ricardo B Tollner
Nicolas Q Oldroyd
Mayumi Y Whobrey
Munro F Malet
Julie O Perin
Octavia R Rim
Antonio J Malet
Costa K Dilliard
Stacey W Bowley
Salvatore Z Perin
Jefferson S Rulapaugh
Isabel A Dilliard
Aditya T Kusko
Stacey N Chui
Ivar R Maclead
Faith L Albares
Ashley F Gillian
Antonio Y Ferencz
Silvio X Campain
Jones M Paprocki
Alejandro G Shinko
Johnson P Amigon
Claire S Campain
Juan R Tollner
Ivar V Campain
Jones W Campain
Misaki G Paprocki
Greenwood L Royster
Misaki P Chui
Nicolas J Nestle
Maria B Briddick
Munro N Bowley
Ashley Z Poquette
Jefferson P Nicka
IdCountryDate
1000Spain2025-08-24
1001India2025-09-03
1002Australia2025-09-03
1003Russia2025-08-23
1004Germany2025-08-18
1005Germany2025-08-19
1006Canada2025-08-25
1007Germany2025-09-05
1008Germany2025-08-27
1009Brazil2025-08-23
1010Brazil2025-08-27
1011India2025-08-20
1012United Kingdom2025-09-04
1013Brazil2025-08-12
1014India2025-09-02
1015India2025-08-20
1016Russia2025-08-11
1017United Kingdom2025-09-04
1018Spain2025-09-07
1019Germany2025-08-14
1020Brazil2025-08-26
1021Russia2025-08-20
1022Japan2025-08-30
1023Argentina2025-08-13
1024Australia2025-08-28
1025Canada2025-08-28
1026Italy2025-08-16
1027United Kingdom2025-08-24
1028Japan2025-08-30
1029France2025-08-15
1030India2025-08-16
1031Australia2025-09-03
1032Russia2025-09-08
1033India2025-09-01
1034Germany2025-08-30
1035Germany2025-08-19
1036France2025-08-25
1037Russia2025-08-15
1038Germany2025-08-19
1039United Kingdom2025-08-23
1040Brazil2025-08-18
1041United Kingdom2025-09-04
1042Argentina2025-09-06
1043Japan2025-08-19
1044Australia2025-08-30
1045India2025-08-17
1046Brazil2025-08-27
1047Canada2025-08-26
1048Spain2025-08-28
1049United Kingdom2025-08-29

On-Demand Data

NameIdCountryDate
Ivar L Poquette1000Brazil2025-08-12
Aruna C Malet1001Australia2025-08-21
Clifford D Whobrey1002India2025-08-30
Kaitlin Z Rulapaugh1003India2025-09-06
Leon H Wieser1004Brazil2025-08-26
Maria F Wieser1005Russia2025-08-15
Wickens C Doe1006United Kingdom2025-09-04
Jeanfrancois M Campain1007France2025-09-01
Ricardo R Marrier1008Canada2025-08-12
Salvatore A Gaucho1009India2025-09-01
Mujtaba R Albares1010Canada2025-08-18
Morrow V Nicka1011United Kingdom2025-08-11
Murillo Z Amigon1012Argentina2025-08-21
Jennifer E Butt1013Spain2025-09-06
Maisha E Saylors1014Canada2025-08-24
Costa E Waycott1015United Kingdom2025-09-09
Isabel B Glick1016Germany2025-08-18
Adams T Saylors1017Argentina2025-08-16
Jeanfrancois Y Royster1018Australia2025-08-15
Jennifer T Doe1019United Kingdom2025-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio D ButtGermanyAmy Elsner RENEWAL
Misaki W VocelkaJapanStephen Shaw NEGOTIATION
Aruna Z WieserFranceOnyama Limba UNQUALIFIED
Murillo D ShinkoCanadaIvan Magalhaes UNQUALIFIED
Greenwood X KuskoCanadaAsiya Javayant RENEWAL
Cody U VocelkaJapanIoni Bowcher PROPOSAL
Jennifer C CampainSpainStephen Shaw NEGOTIATION
Isabel B OldroydGermanyIoni Bowcher RENEWAL
Smith T BologniaRussiaAnna Fali UNQUALIFIED
Cody O BologniaFranceAmy Elsner PROPOSAL
Juan L RoysterAustraliaIvan Magalhaes NEGOTIATION
Murillo R GlickRussiaIoni Bowcher RENEWAL
Leon J InouyeAustraliaXuxue Feng PROPOSAL
Nicolas P StensethJapanXuxue Feng NEGOTIATION
Darci P AmigonFranceOnyama Limba PROPOSAL
Misaki K KolmetzUnited KingdomElwin Sharvill QUALIFIED
Silvio V VocelkaItalyIoni Bowcher RENEWAL
Antonio E RulapaughArgentinaIoni Bowcher QUALIFIED
Izzy V BriddickIndiaAnna Fali QUALIFIED
Nicolas Z KuskoIndiaAmy Elsner PROPOSAL
Tony S SlusarskiAustraliaStephen Shaw PROPOSAL
Johnson N DilliardRussiaBernardo Dominic NEGOTIATION
Francesco M DilliardSpainAsiya Javayant NEW
Deepesh X KolmetzSpainBernardo Dominic UNQUALIFIED
Murillo N VenereArgentinaIvan Magalhaes QUALIFIED
Mayumi S WhobreyItalyIvan Magalhaes PROPOSAL
Murillo P AmigonIndiaAsiya Javayant QUALIFIED
Wickens C DarakjyRussiaIvan Magalhaes QUALIFIED
Faith M MaletRussiaElwin Sharvill QUALIFIED
Rodrigues S CaldareraBrazilOnyama Limba RENEWAL
Munro J SchemmerAustraliaOnyama Limba UNQUALIFIED
Murillo V KolmetzCanadaAmy Elsner NEW
Aika J RimUnited KingdomAmy Elsner NEW
Wickens Y GarufiIndiaIvan Magalhaes NEW
Leja A GillianRussiaXuxue Feng UNQUALIFIED
Ricardo D MaletSpainXuxue Feng NEW
Arvin O PerinSpainAsiya Javayant NEGOTIATION
Antonio H OstroskyIndiaBernardo Dominic PROPOSAL
Misaki L InouyeGermanyBernardo Dominic QUALIFIED
Kadeem O ShinkoArgentinaBernardo 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>