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
Rodrigues P WaycottRussiaAmy Elsner QUALIFIED
Greenwood V BriddickUnited KingdomIvan Magalhaes NEGOTIATION
James W BriddickArgentinaBernardo Dominic NEGOTIATION
Silvio O ShinkoCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois V RoysterJapanAnna Fali UNQUALIFIED
Ashley U VocelkaAustraliaAmy Elsner RENEWAL
Leja N CaldareraRussiaAmy Elsner RENEWAL
Rodrigues L SaylorsGermanyAnna Fali NEGOTIATION
Costa T NestleJapanOnyama Limba RENEWAL
Isabel P MaletCanadaAsiya Javayant RENEWAL
Jennifer F IturbideUnited KingdomStephen Shaw RENEWAL
Misaki U BriddickCanadaXuxue Feng NEW
Antonio Q BologniaAustraliaAnna Fali PROPOSAL
Cody I BowleyRussiaAnna Fali QUALIFIED
Munro P PoquetteUnited KingdomIvan Magalhaes QUALIFIED
Cody K AmigonUnited KingdomStephen Shaw QUALIFIED
Greenwood C CaudyUnited KingdomOnyama Limba RENEWAL
Sinclair C PaprockiGermanyElwin Sharvill NEGOTIATION
Greenwood C NickaCanadaStephen Shaw NEW
Cody T AmigonBrazilAnna Fali UNQUALIFIED
Aditya V InouyeAustraliaAnna Fali UNQUALIFIED
Aditya J IturbideCanadaAsiya Javayant NEGOTIATION
Izzy P GlickArgentinaXuxue Feng NEGOTIATION
Jennifer Q SergiRussiaIvan Magalhaes UNQUALIFIED
Antonio M WieserGermanyAsiya Javayant NEW
Leon F WieserItalyXuxue Feng PROPOSAL
Mayumi R DarakjyItalyAsiya Javayant RENEWAL
Maria I OldroydIndiaIvan Magalhaes UNQUALIFIED
Maisha I CaudyIndiaIvan Magalhaes QUALIFIED
Leja O RulapaughSpainAsiya Javayant UNQUALIFIED
Juan Q SaylorsUnited KingdomIvan Magalhaes RENEWAL
Misaki L FollerGermanyOnyama Limba UNQUALIFIED
Octavia F RulapaughGermanyAnna Fali UNQUALIFIED
Emily G DoeFranceAnna Fali QUALIFIED
Rodrigues Q OstroskyItalyIoni Bowcher UNQUALIFIED
James E ShinkoArgentinaElwin Sharvill UNQUALIFIED
Kadeem R DilliardArgentinaStephen Shaw NEGOTIATION
Leja Y PerinItalyIvan Magalhaes PROPOSAL
Julie J RutaRussiaStephen Shaw UNQUALIFIED
Ashley S DarakjyRussiaAmy Elsner NEW
Emily W MarrierAustraliaBernardo Dominic PROPOSAL
Kadeem S RimArgentinaIvan Magalhaes UNQUALIFIED
Johnson D InouyeRussiaAsiya Javayant NEW
Misaki M CaudyIndiaAmy Elsner UNQUALIFIED
Rodrigues W SlusarskiItalyAsiya Javayant QUALIFIED
Costa X VenereBrazilAnna Fali UNQUALIFIED
Greenwood F SchemmerJapanOnyama Limba RENEWAL
Ricardo T GauchoJapanElwin Sharvill PROPOSAL
Jennifer F OstroskyIndiaAmy Elsner NEGOTIATION
Ricardo G ShinkoCanadaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore C WhobreyJapanAmy Elsner RENEWAL
Smith Q FerenczArgentinaIvan Magalhaes NEW
Claire D DoeIndiaAnna Fali RENEWAL
Nicolas I IturbideIndiaOnyama Limba NEW
Leon B SlusarskiFranceXuxue Feng PROPOSAL
Arvin M MaletAustraliaStephen Shaw QUALIFIED
Ashley S MorascaJapanAmy Elsner QUALIFIED
Juan Q GarufiItalyOnyama Limba NEW
Costa S VocelkaRussiaXuxue Feng NEW
Leon K CampainFranceIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez U RulapaughJapan2025-09-13Chapman, Ross E Esq UNQUALIFIED85Xuxue Feng
1001Chavez O BriddickCanada2025-09-25Printing Dimensions NEW86Onyama Limba
1002Leon J MacleadArgentina2025-10-04Feltz Printing Service QUALIFIED95Asiya Javayant
1003Misaki L ButtJapan2025-09-10Dorl, James J Esq RENEWAL50Elwin Sharvill
1004Ivar V StockhamUnited Kingdom2025-10-06Printing Dimensions PROPOSAL20Anna Fali
1005Leja C FlosiBrazil2025-10-07Chapman, Ross E Esq NEW70Bernardo Dominic
1006Silvio N OstroskyFrance2025-09-29Chemel, James L Cpa NEW56Onyama Limba
1007Juan Z IturbideRussia2025-09-25Chemel, James L Cpa QUALIFIED22Asiya Javayant
1008Smith R SaylorsUnited Kingdom2025-09-30Rangoni Of Florence QUALIFIED75Asiya Javayant
1009Costa U WaycottCanada2025-09-09Chanay, Jeffrey A Esq UNQUALIFIED9Amy Elsner
1010Salvatore U StensethAustralia2025-09-23Morlong Associates NEW67Asiya Javayant
1011Misaki H GauchoUnited Kingdom2025-10-07Morlong Associates UNQUALIFIED84Bernardo Dominic
1012Emily X BriddickBrazil2025-10-03Rousseaux, Michael Esq RENEWAL46Anna Fali
1013Izzy C RutaBrazil2025-09-12Rousseaux, Michael Esq NEGOTIATION19Ivan Magalhaes
1014Munro Y RutaJapan2025-10-01Truhlar And Truhlar Attys NEW69Amy Elsner
1015Jones C WaycottUnited Kingdom2025-09-16Rangoni Of Florence NEW17Ivan Magalhaes
1016Aruna H MacleadSpain2025-09-16Chemel, James L Cpa NEGOTIATION69Stephen Shaw
1017Munro L AmigonArgentina2025-10-06Feiner Bros UNQUALIFIED96Asiya Javayant
1018Izzy G GarufiRussia2025-09-27Commercial Press NEGOTIATION60Ivan Magalhaes
1019Kadeem S PaprockiBrazil2025-09-28Printing Dimensions RENEWAL47Ioni Bowcher
1020Darci U GillianIndia2025-09-14Chemel, James L Cpa PROPOSAL98Elwin Sharvill
1021Leja B BologniaJapan2025-09-09Morlong Associates UNQUALIFIED45Anna Fali
1022Arvin A PoquetteJapan2025-09-22Benton, John B Jr RENEWAL83Ivan Magalhaes
1023Faith A BowleyAustralia2025-09-14Truhlar And Truhlar Attys QUALIFIED22Amy Elsner
1024Kadeem T VocelkaIndia2025-09-27Printing Dimensions UNQUALIFIED61Elwin Sharvill
1025Isabel K PaprockiUnited Kingdom2025-10-05Buckley Miller Wright RENEWAL78Asiya Javayant
1026Morrow R CampainSpain2025-10-03Rangoni Of Florence QUALIFIED50Ivan Magalhaes
1027Aruna O WhobreyArgentina2025-09-09Rangoni Of Florence QUALIFIED65Asiya Javayant
1028Aika N DilliardItaly2025-10-04Rousseaux, Michael Esq NEW47Onyama Limba
1029Izzy W NestleIndia2025-09-21Chapman, Ross E Esq UNQUALIFIED94Amy Elsner
1030Maria W AmigonAustralia2025-09-12Truhlar And Truhlar Attys NEGOTIATION34Ivan Magalhaes
1031Jones H WhobreyCanada2025-09-12Morlong Associates QUALIFIED91Xuxue Feng
1032Stacey Q FigeroaItaly2025-09-22Morlong Associates UNQUALIFIED29Anna Fali
1033Tony H KuskoJapan2025-09-12Chanay, Jeffrey A Esq QUALIFIED30Elwin Sharvill
1034Silvio K RulapaughAustralia2025-09-18Chemel, James L Cpa QUALIFIED78Ivan Magalhaes
1035James N TollnerGermany2025-09-24Benton, John B Jr PROPOSAL93Bernardo Dominic
1036Kaitlin Z FlosiJapan2025-09-15Benton, John B Jr QUALIFIED51Elwin Sharvill
1037Maisha O ButtJapan2025-09-24Commercial Press NEW57Asiya Javayant
1038Aruna H SaylorsItaly2025-09-24Commercial Press NEGOTIATION17Onyama Limba
1039Smith N FlosiArgentina2025-09-11Commercial Press NEW77Ivan Magalhaes
1040Darci N InouyeJapan2025-09-30Benton, John B Jr NEW8Xuxue Feng
1041Ricardo O BriddickAustralia2025-09-28Commercial Press NEGOTIATION40Xuxue Feng
1042Murillo R KuskoIndia2025-09-08Rangoni Of Florence RENEWAL86Onyama Limba
1043Costa P WieserJapan2025-09-25King, Christopher A Esq UNQUALIFIED36Onyama Limba
1044Wickens B SergiItaly2025-09-29Truhlar And Truhlar Attys RENEWAL92Stephen Shaw
1045Smith Z ButtIndia2025-09-22Rousseaux, Michael Esq NEW36Amy Elsner
1046Rodrigues R MacleadGermany2025-10-06Chemel, James L Cpa RENEWAL64Ioni Bowcher
1047Darci R NickaCanada2025-09-18Benton, John B Jr NEW36Ivan Magalhaes
1048Stacey V AmigonArgentina2025-09-23King, Christopher A Esq NEGOTIATION23Xuxue Feng
1049Chavez F RimUnited Kingdom2025-10-03Morlong Associates PROPOSAL18Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Murillo X VenereUnited KingdomAsiya Javayant NEW
Johnson D RulapaughCanadaElwin Sharvill QUALIFIED
Murillo T PaprockiAustraliaAsiya Javayant UNQUALIFIED
Aika I FlosiJapanAsiya Javayant UNQUALIFIED
Leon S NestleUnited KingdomAmy Elsner QUALIFIED
Jefferson X AlbaresIndiaIoni Bowcher RENEWAL
Maisha R NickaFranceBernardo Dominic QUALIFIED
Silvio B MaletIndiaXuxue Feng UNQUALIFIED
Morrow W CampainFranceAnna Fali PROPOSAL
Jefferson M GarufiItalyOnyama Limba QUALIFIED
Julie L BowleyCanadaAmy Elsner UNQUALIFIED
Deepesh Q RimBrazilAsiya Javayant UNQUALIFIED
Francesco O GlickIndiaStephen Shaw QUALIFIED
Tony I MaletGermanyAnna Fali NEGOTIATION
Juan T SchemmerRussiaAmy Elsner NEGOTIATION
Ricardo M WaycottJapanElwin Sharvill PROPOSAL
Alejandro W PerinIndiaStephen Shaw PROPOSAL
Clifford S MarrierItalyXuxue Feng PROPOSAL
Aditya Z MarrierSpainIvan Magalhaes QUALIFIED
Jefferson C CaldareraCanadaIoni Bowcher NEGOTIATION
Antonio V AlbaresIndiaOnyama Limba QUALIFIED
Adams D VocelkaCanadaOnyama Limba NEGOTIATION
Leja X ButtIndiaStephen Shaw UNQUALIFIED
Jones T VocelkaArgentinaAmy Elsner NEW
Alejandro E ShinkoGermanyAsiya Javayant RENEWAL
Stacey P MorascaJapanStephen Shaw UNQUALIFIED
James G BowleyIndiaIvan Magalhaes QUALIFIED
Adams F BologniaGermanyOnyama Limba PROPOSAL
Octavia H RoysterFranceBernardo Dominic PROPOSAL
Wickens M CaldareraSpainIoni Bowcher NEGOTIATION
Silvio H MaletUnited KingdomIvan Magalhaes NEGOTIATION
Claire A KuskoCanadaBernardo Dominic NEW
Leja O MarrierCanadaAmy Elsner PROPOSAL
Juan I CaudyCanadaOnyama Limba NEGOTIATION
Claire A RimIndiaStephen Shaw NEW
Mujtaba P RimUnited KingdomAsiya Javayant NEGOTIATION
Jennifer Y NickaCanadaBernardo Dominic RENEWAL
Wickens N SchemmerArgentinaIoni Bowcher RENEWAL
Maria B StockhamIndiaStephen Shaw NEW
Claire E TollnerArgentinaAsiya Javayant PROPOSAL
Julie U SergiArgentinaAmy Elsner NEW
Chavez G SlusarskiCanadaIoni Bowcher PROPOSAL
Julie C GauchoAustraliaBernardo Dominic PROPOSAL
Misaki L MarrierRussiaXuxue Feng NEW
David N BologniaSpainAsiya Javayant NEW
Smith O SergiRussiaAmy Elsner NEGOTIATION
Munro C WhobreySpainBernardo Dominic NEGOTIATION
Mujtaba H MacleadRussiaAsiya Javayant NEW
Mayumi R VenereItalyIoni Bowcher RENEWAL
Clifford I ShinkoCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Leon U Ostrosky
Mujtaba L Perin
David B Paprocki
Chavez V Kolmetz
Stacey O Vocelka
David W Stockham
Leja V Maclead
Emily O Caudy
Jones K Ruta
Jones O Dilliard
Deepesh L Gillian
Juan I Foller
Aika Z Venere
Johnson N Morasca
Jones S Tollner
Greenwood H Morasca
Morrow N Albares
Silvio Q Rulapaugh
Ivar K Wieser
Jennifer Z Chui
Jefferson Q Poquette
Jeanfrancois C Garufi
Kadeem Q Flosi
Ashley L Foller
Misaki Z Kusko
Juan N Darakjy
Ashley A Ferencz
Mujtaba K Whobrey
Stacey A Figeroa
Francesco K Figeroa
Darci X Butt
Rodrigues M Nestle
Cody Z Rim
Jefferson H Maclead
David I Poquette
Faith A Vocelka
Tony G Malet
Jeanfrancois S Whobrey
Chavez B Whobrey
Antonio A Rulapaugh
Costa V Oldroyd
Rodrigues Q Vocelka
Izzy C Rim
Izzy M Butt
Jones S Ostrosky
Julie D Oldroyd
Darci F Iturbide
Johnson F Gillian
Costa F Campain
Smith H Maclead
IdCountryDate
1000Russia2025-09-15
1001Japan2025-09-25
1002Germany2025-09-10
1003Australia2025-10-02
1004India2025-09-25
1005India2025-10-02
1006France2025-09-20
1007Japan2025-09-19
1008France2025-09-09
1009Canada2025-09-20
1010Russia2025-09-14
1011United Kingdom2025-09-25
1012Spain2025-09-22
1013India2025-09-21
1014Brazil2025-09-18
1015Russia2025-09-14
1016Argentina2025-09-27
1017Russia2025-09-15
1018Japan2025-09-28
1019India2025-10-07
1020Italy2025-09-23
1021Italy2025-10-05
1022India2025-09-21
1023Australia2025-10-07
1024Argentina2025-09-25
1025Germany2025-09-14
1026Brazil2025-09-13
1027Australia2025-10-04
1028Brazil2025-10-04
1029Australia2025-09-18
1030Argentina2025-09-13
1031Canada2025-09-17
1032Germany2025-09-09
1033Australia2025-09-24
1034Brazil2025-09-26
1035Italy2025-10-05
1036Canada2025-10-04
1037United Kingdom2025-09-23
1038Russia2025-09-15
1039Australia2025-09-21
1040India2025-10-04
1041United Kingdom2025-09-22
1042India2025-09-25
1043Russia2025-10-04
1044France2025-10-04
1045Spain2025-10-06
1046Italy2025-09-09
1047Russia2025-09-30
1048India2025-10-03
1049United Kingdom2025-09-29

On-Demand Data

NameIdCountryDate
Leon Y Tollner1000Spain2025-10-05
Costa L Campain1001United Kingdom2025-10-02
Alejandro F Garufi1002Spain2025-10-01
Morrow Q Foller1003Australia2025-09-18
Maria I Wieser1004Spain2025-09-14
Silvio W Rim1005Italy2025-09-20
Leja T Venere1006Japan2025-09-23
Leja L Kolmetz1007Spain2025-09-15
Jennifer D Malet1008Brazil2025-10-01
Rodrigues L Rulapaugh1009Germany2025-09-23
Juan U Saylors1010India2025-10-05
Deepesh O Gaucho1011United Kingdom2025-09-26
Johnson I Maclead1012India2025-10-02
Clifford D Waycott1013Canada2025-09-11
Misaki C Perin1014Brazil2025-09-12
Juan F Campain1015Japan2025-09-18
Ricardo O Wieser1016Germany2025-09-10
Mujtaba E Darakjy1017Canada2025-09-13
Jones I Caudy1018United Kingdom2025-09-08
Adams Z Doe1019Japan2025-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez D WhobreyAustraliaStephen Shaw NEGOTIATION
Silvio J GarufiIndiaXuxue Feng RENEWAL
Darci J FlosiGermanyXuxue Feng RENEWAL
Aditya C BowleyArgentinaAmy Elsner QUALIFIED
Kaitlin N SergiAustraliaXuxue Feng QUALIFIED
Emily T MaletSpainIvan Magalhaes NEGOTIATION
Jennifer U SchemmerSpainAsiya Javayant PROPOSAL
Julie X NickaJapanIoni Bowcher PROPOSAL
Kaitlin C SlusarskiAustraliaAsiya Javayant NEGOTIATION
Morrow X OldroydItalyOnyama Limba QUALIFIED
Morrow X BriddickIndiaIvan Magalhaes NEGOTIATION
Kaitlin E FollerGermanyOnyama Limba NEGOTIATION
Jeanfrancois N NickaSpainElwin Sharvill PROPOSAL
Jones Z VocelkaCanadaBernardo Dominic NEGOTIATION
Salvatore H InouyeGermanyBernardo Dominic NEW
Francesco C FigeroaJapanAmy Elsner UNQUALIFIED
Smith C SchemmerIndiaBernardo Dominic NEW
Maisha K FerenczUnited KingdomStephen Shaw RENEWAL
Chavez J RutaGermanyAmy Elsner PROPOSAL
Francesco S StockhamFranceIvan Magalhaes UNQUALIFIED
Kaitlin L FerenczIndiaXuxue Feng RENEWAL
Isabel I CaudyJapanElwin Sharvill RENEWAL
Johnson G IturbideFranceAsiya Javayant PROPOSAL
Stacey S CaudyCanadaAsiya Javayant UNQUALIFIED
Maria G InouyeSpainAmy Elsner QUALIFIED
James S WaycottIndiaIoni Bowcher NEW
Jefferson N BologniaAustraliaStephen Shaw QUALIFIED
Isabel U BriddickJapanAsiya Javayant PROPOSAL
Stacey D BologniaIndiaStephen Shaw PROPOSAL
Isabel C VenereJapanAsiya Javayant NEW
Ashley D StockhamIndiaBernardo Dominic QUALIFIED
Morrow R PerinAustraliaAsiya Javayant RENEWAL
Murillo T ChuiIndiaElwin Sharvill UNQUALIFIED
Faith S GillianBrazilAsiya Javayant PROPOSAL
Silvio M MarrierBrazilBernardo Dominic PROPOSAL
Costa H GauchoFranceXuxue Feng NEGOTIATION
Munro M MaletItalyBernardo Dominic PROPOSAL
Morrow I KolmetzCanadaIoni Bowcher UNQUALIFIED
Misaki O FigeroaFranceOnyama Limba UNQUALIFIED
Aditya C DoeItalyAsiya Javayant 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>