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
Antonio K RoysterRussiaAsiya Javayant NEW
Izzy T InouyeFranceBernardo Dominic RENEWAL
David W AmigonItalyIoni Bowcher PROPOSAL
Sinclair V SergiArgentinaXuxue Feng PROPOSAL
Deepesh L FollerFranceIvan Magalhaes UNQUALIFIED
Leja N CaldareraCanadaIvan Magalhaes NEGOTIATION
Aika I NestleArgentinaIoni Bowcher UNQUALIFIED
Salvatore R DilliardUnited KingdomIvan Magalhaes QUALIFIED
Ricardo H VocelkaCanadaAmy Elsner UNQUALIFIED
Murillo P SergiBrazilIvan Magalhaes QUALIFIED
Antonio Y SaylorsBrazilBernardo Dominic QUALIFIED
David Z MaletArgentinaStephen Shaw QUALIFIED
Ivar R StensethUnited KingdomBernardo Dominic UNQUALIFIED
David V MorascaIndiaIvan Magalhaes UNQUALIFIED
Alejandro S SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Murillo J ChuiItalyBernardo Dominic NEW
David C PaprockiArgentinaAnna Fali QUALIFIED
Leon F MaletSpainAnna Fali UNQUALIFIED
Clifford G NestleAustraliaAmy Elsner PROPOSAL
Francesco E BologniaFranceAnna Fali PROPOSAL
Munro Q StensethIndiaElwin Sharvill RENEWAL
Kadeem W AlbaresJapanAmy Elsner NEGOTIATION
Misaki M WaycottUnited KingdomIvan Magalhaes PROPOSAL
Cody M MaletSpainAsiya Javayant QUALIFIED
James R SchemmerJapanElwin Sharvill RENEWAL
Aruna J RutaCanadaOnyama Limba NEGOTIATION
Mujtaba R AmigonAustraliaXuxue Feng PROPOSAL
Rodrigues S NickaFranceOnyama Limba NEW
Jefferson X FerenczBrazilXuxue Feng PROPOSAL
Ricardo F GlickJapanBernardo Dominic RENEWAL
Cody Y ChuiFranceAnna Fali NEW
Ivar P ShinkoUnited KingdomStephen Shaw NEW
Leja Q CampainArgentinaXuxue Feng UNQUALIFIED
Francesco Y NestleFranceElwin Sharvill NEW
Aditya T StensethJapanXuxue Feng PROPOSAL
Leon J RimBrazilXuxue Feng NEW
Misaki W BriddickAustraliaAnna Fali UNQUALIFIED
Deepesh D FlosiCanadaBernardo Dominic QUALIFIED
Aika R ShinkoGermanyBernardo Dominic PROPOSAL
Mayumi B FigeroaJapanBernardo Dominic NEW
Murillo D OstroskyAustraliaAsiya Javayant UNQUALIFIED
James I ShinkoRussiaElwin Sharvill UNQUALIFIED
Arvin L DoeIndiaIoni Bowcher NEW
Kadeem P GlickUnited KingdomAsiya Javayant PROPOSAL
Ashley W BowleyFranceIoni Bowcher QUALIFIED
David Z ButtItalyIvan Magalhaes QUALIFIED
Arvin F WieserIndiaOnyama Limba UNQUALIFIED
Jefferson R SergiUnited KingdomOnyama Limba RENEWAL
Leon T CaldareraSpainIoni Bowcher PROPOSAL
Jeanfrancois J ButtGermanyElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon R WaycottJapanElwin Sharvill UNQUALIFIED
Wickens Q FerenczIndiaAsiya Javayant UNQUALIFIED
Deepesh X MaletItalyIvan Magalhaes UNQUALIFIED
Isabel G KuskoGermanyOnyama Limba QUALIFIED
Chavez Q DilliardSpainIvan Magalhaes RENEWAL
James Z FerenczBrazilOnyama Limba QUALIFIED
David S PerinGermanyXuxue Feng UNQUALIFIED
Misaki B RoysterItalyAsiya Javayant QUALIFIED
Jeanfrancois P TollnerFranceStephen Shaw UNQUALIFIED
Mayumi L GillianCanadaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha I RulapaughRussia2025-09-21Dorl, James J Esq NEW7Ioni Bowcher
1001Ricardo D SaylorsArgentina2025-10-01Chanay, Jeffrey A Esq QUALIFIED14Onyama Limba
1002Munro V VenereIndia2025-10-10Rangoni Of Florence RENEWAL32Elwin Sharvill
1003Maria K MaletIndia2025-10-07Truhlar And Truhlar Attys RENEWAL46Xuxue Feng
1004Faith E OstroskyArgentina2025-10-01Chapman, Ross E Esq UNQUALIFIED32Bernardo Dominic
1005Silvio I MorascaCanada2025-09-29Chanay, Jeffrey A Esq PROPOSAL71Ioni Bowcher
1006Leon X MaletIndia2025-09-25Morlong Associates QUALIFIED87Stephen Shaw
1007Deepesh T PerinGermany2025-09-23Truhlar And Truhlar Attys QUALIFIED4Asiya Javayant
1008Leon Q IturbideItaly2025-10-08Buckley Miller Wright UNQUALIFIED78Amy Elsner
1009Ivar Z BologniaBrazil2025-09-25Buckley Miller Wright UNQUALIFIED11Xuxue Feng
1010Rodrigues T WhobreyAustralia2025-10-03Morlong Associates RENEWAL28Bernardo Dominic
1011Leon C RoysterFrance2025-09-15Chanay, Jeffrey A Esq NEGOTIATION92Onyama Limba
1012Adams C GlickFrance2025-09-20Chemel, James L Cpa NEGOTIATION19Elwin Sharvill
1013Smith B TollnerArgentina2025-09-29Benton, John B Jr NEGOTIATION57Bernardo Dominic
1014Costa Q RutaIndia2025-10-09Chemel, James L Cpa NEGOTIATION91Asiya Javayant
1015Aika W RutaFrance2025-09-26Chemel, James L Cpa UNQUALIFIED43Ivan Magalhaes
1016Greenwood G AmigonJapan2025-10-11Feltz Printing Service QUALIFIED91Amy Elsner
1017Wickens H FlosiUnited Kingdom2025-09-12Commercial Press UNQUALIFIED38Ioni Bowcher
1018Silvio S RulapaughAustralia2025-09-13Morlong Associates NEW15Elwin Sharvill
1019Stacey L GillianArgentina2025-09-27Feiner Bros QUALIFIED93Ioni Bowcher
1020Leon F KuskoUnited Kingdom2025-09-30Rousseaux, Michael Esq NEW97Ivan Magalhaes
1021Nicolas U CaudyAustralia2025-09-27King, Christopher A Esq QUALIFIED66Bernardo Dominic
1022Leon R MaletJapan2025-09-13Rangoni Of Florence PROPOSAL44Bernardo Dominic
1023Tony V OldroydIndia2025-09-22Dorl, James J Esq RENEWAL41Elwin Sharvill
1024Mayumi Y SlusarskiGermany2025-09-18Chapman, Ross E Esq PROPOSAL84Stephen Shaw
1025Jeanfrancois F VenereFrance2025-09-12Feiner Bros UNQUALIFIED18Ioni Bowcher
1026Kadeem P GauchoCanada2025-10-06Benton, John B Jr NEGOTIATION61Bernardo Dominic
1027Claire R BriddickItaly2025-09-25Buckley Miller Wright NEW44Ivan Magalhaes
1028Leja G MaletItaly2025-09-16Feiner Bros NEW84Elwin Sharvill
1029Nicolas J BriddickIndia2025-10-08Feiner Bros NEGOTIATION44Onyama Limba
1030Morrow U VenereFrance2025-10-11Dorl, James J Esq RENEWAL10Elwin Sharvill
1031Kaitlin I RimUnited Kingdom2025-10-04Printing Dimensions UNQUALIFIED83Xuxue Feng
1032Ricardo C BowleyAustralia2025-09-21Printing Dimensions NEW74Anna Fali
1033Nicolas S AlbaresItaly2025-09-30Buckley Miller Wright UNQUALIFIED37Bernardo Dominic
1034Arvin F KuskoItaly2025-10-04Chanay, Jeffrey A Esq QUALIFIED20Asiya Javayant
1035Munro S RoysterAustralia2025-09-30Commercial Press RENEWAL48Ioni Bowcher
1036Kaitlin G StockhamIndia2025-09-27Buckley Miller Wright NEGOTIATION11Asiya Javayant
1037Alejandro N FollerCanada2025-10-08Truhlar And Truhlar Attys PROPOSAL22Elwin Sharvill
1038Antonio X WieserItaly2025-09-15Printing Dimensions NEGOTIATION24Onyama Limba
1039Smith P FigeroaFrance2025-10-06Commercial Press RENEWAL73Amy Elsner
1040Maria E MaletFrance2025-09-18Morlong Associates UNQUALIFIED75Anna Fali
1041Julie Q DilliardItaly2025-09-21King, Christopher A Esq QUALIFIED32Anna Fali
1042Greenwood H OstroskyIndia2025-09-21Commercial Press PROPOSAL45Stephen Shaw
1043Alejandro V PoquetteArgentina2025-09-30Commercial Press PROPOSAL67Elwin Sharvill
1044Claire W SaylorsAustralia2025-10-05Feiner Bros UNQUALIFIED79Ivan Magalhaes
1045Adams V OldroydBrazil2025-09-21Commercial Press UNQUALIFIED60Onyama Limba
1046Julie M MarrierItaly2025-10-09King, Christopher A Esq UNQUALIFIED13Anna Fali
1047Jeanfrancois F StockhamJapan2025-09-26Rangoni Of Florence NEW35Bernardo Dominic
1048Morrow U MorascaJapan2025-09-17Printing Dimensions QUALIFIED81Bernardo Dominic
1049Wickens M SchemmerAustralia2025-09-17Feltz Printing Service PROPOSAL29Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ashley I WhobreyUnited KingdomAsiya Javayant QUALIFIED
Silvio I DarakjyItalyIoni Bowcher QUALIFIED
Stacey Z MarrierBrazilAsiya Javayant NEGOTIATION
Adams J MaletItalyIoni Bowcher QUALIFIED
Arvin B CampainAustraliaElwin Sharvill NEW
Darci S SaylorsSpainOnyama Limba NEGOTIATION
Johnson Y GlickGermanyStephen Shaw PROPOSAL
Sinclair P StockhamJapanAsiya Javayant UNQUALIFIED
Maria J SaylorsFranceIvan Magalhaes PROPOSAL
Isabel N PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Leon H StensethRussiaBernardo Dominic PROPOSAL
Kaitlin U MaletAustraliaIoni Bowcher PROPOSAL
Nicolas G SchemmerCanadaAsiya Javayant UNQUALIFIED
Alejandro X StensethGermanyIoni Bowcher NEW
Silvio Q CaudySpainStephen Shaw QUALIFIED
Mayumi I SlusarskiRussiaOnyama Limba NEW
Claire N FollerUnited KingdomAmy Elsner NEW
Cody I ButtArgentinaOnyama Limba QUALIFIED
James R WhobreyGermanyAnna Fali RENEWAL
David L BriddickFranceStephen Shaw UNQUALIFIED
Leja C FollerItalyOnyama Limba UNQUALIFIED
Chavez F SaylorsItalyIoni Bowcher NEW
Murillo O SergiGermanyBernardo Dominic PROPOSAL
Stacey Q KuskoUnited KingdomAsiya Javayant RENEWAL
Munro W RulapaughSpainXuxue Feng RENEWAL
Misaki H PoquetteSpainStephen Shaw QUALIFIED
Ashley C CaudyUnited KingdomOnyama Limba UNQUALIFIED
Leja O RoysterBrazilIoni Bowcher NEGOTIATION
Murillo A MarrierAustraliaAsiya Javayant UNQUALIFIED
Kadeem E VenereCanadaAsiya Javayant RENEWAL
Munro T AmigonAustraliaOnyama Limba NEW
Alejandro U VocelkaRussiaIvan Magalhaes RENEWAL
Stacey C GauchoCanadaXuxue Feng PROPOSAL
Clifford C FlosiArgentinaAsiya Javayant NEGOTIATION
Tony Y TollnerJapanOnyama Limba RENEWAL
Isabel E InouyeSpainXuxue Feng NEGOTIATION
Leja T SchemmerUnited KingdomAmy Elsner NEGOTIATION
Jones Q FigeroaRussiaIvan Magalhaes RENEWAL
Kaitlin R MaletAustraliaElwin Sharvill RENEWAL
Smith B GauchoCanadaAsiya Javayant NEW
James R WieserRussiaOnyama Limba NEW
Mayumi S WieserGermanyElwin Sharvill NEW
Jennifer C DoeArgentinaAsiya Javayant QUALIFIED
Wickens D DarakjyJapanIoni Bowcher RENEWAL
Ivar G KuskoBrazilIvan Magalhaes QUALIFIED
Izzy W BologniaIndiaAnna Fali RENEWAL
Emily T AmigonFranceOnyama Limba NEW
Jennifer G RutaGermanyIvan Magalhaes QUALIFIED
Rodrigues X DilliardIndiaBernardo Dominic QUALIFIED
Jennifer O SaylorsItalyElwin Sharvill QUALIFIED
Frozen Columns
Name
Aika M Stockham
Mujtaba I Sergi
Izzy A Rulapaugh
Kaitlin D Glick
Faith N Marrier
Jeanfrancois N Gillian
Isabel A Maclead
Jeanfrancois X Sergi
Aika K Oldroyd
Darci C Chui
Clifford Z Sergi
Leja J Venere
Mayumi T Butt
Aditya L Campain
Tony Y Gillian
Arvin J Glick
Cody Q Darakjy
Ashley X Royster
Arvin I Stenseth
Jeanfrancois L Butt
Darci X Kolmetz
Darci P Figeroa
Kaitlin M Kusko
Costa K Stockham
Isabel Z Poquette
Nicolas Q Amigon
Munro U Maclead
Adams V Saylors
Costa K Caudy
Isabel T Iturbide
Aditya V Maclead
Maisha Z Rulapaugh
Maria W Tollner
Mujtaba M Schemmer
Isabel H Bowley
Clifford V Royster
Murillo Z Sergi
Nicolas T Bolognia
Silvio Z Sergi
Costa Z Foller
Nicolas J Glick
Aika Z Whobrey
Stacey R Ostrosky
Kadeem S Amigon
Maria G Schemmer
Wickens K Gillian
Ashley M Maclead
Nicolas I Dilliard
Morrow D Campain
Nicolas U Oldroyd
IdCountryDate
1000Argentina2025-09-23
1001Germany2025-09-15
1002Brazil2025-10-07
1003Russia2025-09-27
1004France2025-09-25
1005Australia2025-09-23
1006Argentina2025-09-27
1007Spain2025-09-15
1008Canada2025-10-11
1009Australia2025-09-30
1010France2025-10-09
1011Germany2025-10-11
1012France2025-10-02
1013Italy2025-10-08
1014France2025-09-24
1015United Kingdom2025-09-14
1016United Kingdom2025-10-06
1017India2025-09-12
1018Australia2025-09-22
1019Italy2025-09-13
1020India2025-09-16
1021United Kingdom2025-09-15
1022Russia2025-09-25
1023France2025-09-21
1024Spain2025-09-26
1025Japan2025-10-11
1026Germany2025-09-16
1027France2025-09-29
1028Australia2025-09-15
1029India2025-09-15
1030Russia2025-10-10
1031Russia2025-10-06
1032France2025-10-04
1033Australia2025-09-24
1034United Kingdom2025-10-05
1035Russia2025-09-25
1036Russia2025-09-19
1037Spain2025-10-11
1038India2025-09-14
1039Brazil2025-09-16
1040Japan2025-09-20
1041Argentina2025-10-10
1042Spain2025-09-28
1043Spain2025-09-24
1044Argentina2025-09-26
1045Italy2025-09-25
1046Australia2025-10-07
1047Argentina2025-09-14
1048France2025-10-08
1049France2025-10-09

On-Demand Data

NameIdCountryDate
Greenwood Y Flosi1000Argentina2025-09-21
Nicolas S Stenseth1001Japan2025-09-22
Francesco E Morasca1002India2025-10-01
Chavez L Shinko1003United Kingdom2025-09-17
Ivar L Slusarski1004Argentina2025-09-24
Jones X Shinko1005Russia2025-09-23
Antonio J Rim1006United Kingdom2025-10-04
Leja I Amigon1007United Kingdom2025-09-15
Francesco B Shinko1008Germany2025-10-11
Maisha P Campain1009United Kingdom2025-09-26
Nicolas W Morasca1010Italy2025-09-19
Silvio B Saylors1011Canada2025-09-12
Misaki G Garufi1012United Kingdom2025-10-03
Misaki U Caldarera1013France2025-09-15
Morrow A Ferencz1014Italy2025-09-30
Maria W Caldarera1015Argentina2025-09-28
Silvio N Glick1016Italy2025-10-04
Ivar M Gillian1017Spain2025-10-09
Maisha S Maclead1018India2025-10-06
Silvio X Caudy1019France2025-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro L InouyeUnited KingdomOnyama Limba RENEWAL
Maria S PerinArgentinaBernardo Dominic NEW
Chavez T MaletArgentinaAsiya Javayant QUALIFIED
Aika G DarakjyJapanStephen Shaw NEW
Izzy Q RulapaughItalyAsiya Javayant NEGOTIATION
Aruna P SlusarskiGermanyStephen Shaw RENEWAL
Aditya K KuskoCanadaAsiya Javayant UNQUALIFIED
Arvin G RoysterRussiaStephen Shaw NEGOTIATION
Rodrigues N DilliardSpainIoni Bowcher UNQUALIFIED
Faith X RimJapanIoni Bowcher NEGOTIATION
Kadeem H NickaSpainBernardo Dominic PROPOSAL
Misaki M KolmetzIndiaIoni Bowcher UNQUALIFIED
Izzy I InouyeItalyAsiya Javayant NEW
Izzy U SchemmerGermanyStephen Shaw PROPOSAL
Ashley N StensethUnited KingdomIoni Bowcher NEGOTIATION
Izzy Z SlusarskiBrazilXuxue Feng NEW
Deepesh V PerinArgentinaAsiya Javayant QUALIFIED
Leja V SergiCanadaOnyama Limba NEW
Alejandro S GarufiIndiaOnyama Limba UNQUALIFIED
Maisha V WhobreyJapanStephen Shaw QUALIFIED
Leon E RulapaughBrazilStephen Shaw RENEWAL
Emily L OstroskyItalyBernardo Dominic NEGOTIATION
James Q DilliardItalyXuxue Feng UNQUALIFIED
Johnson B InouyeJapanIvan Magalhaes RENEWAL
Cody S GlickCanadaAsiya Javayant UNQUALIFIED
Nicolas S WhobreyCanadaAnna Fali NEW
Morrow N DarakjyGermanyOnyama Limba NEGOTIATION
Jones N IturbideSpainAsiya Javayant UNQUALIFIED
Maria N MarrierArgentinaXuxue Feng PROPOSAL
Stacey V FlosiItalyBernardo Dominic NEGOTIATION
Emily K OldroydBrazilBernardo Dominic PROPOSAL
Emily B NickaFranceIvan Magalhaes QUALIFIED
Mayumi E ButtBrazilStephen Shaw UNQUALIFIED
Faith U StensethSpainStephen Shaw PROPOSAL
Morrow M CampainJapanAmy Elsner UNQUALIFIED
Misaki K AlbaresArgentinaIvan Magalhaes QUALIFIED
Jennifer V RoysterAustraliaIoni Bowcher PROPOSAL
Silvio U CaldareraJapanElwin Sharvill RENEWAL
Misaki D VocelkaUnited KingdomAnna Fali QUALIFIED
David W PoquetteFranceXuxue Feng NEW

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