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
Cody J DoeFranceAsiya Javayant NEW
David P ShinkoJapanAnna Fali RENEWAL
Kadeem D GlickGermanyAsiya Javayant NEGOTIATION
Leon T SchemmerArgentinaAnna Fali QUALIFIED
Smith X RoysterUnited KingdomAnna Fali PROPOSAL
James I SchemmerSpainAsiya Javayant NEW
Nicolas P AlbaresAustraliaAnna Fali UNQUALIFIED
Jefferson P IturbideArgentinaAmy Elsner UNQUALIFIED
Jefferson I DilliardSpainAnna Fali QUALIFIED
Aruna Y SaylorsItalyAsiya Javayant RENEWAL
Salvatore X GillianRussiaAmy Elsner NEW
Maria Z SlusarskiCanadaAmy Elsner QUALIFIED
Jeanfrancois T DoeIndiaStephen Shaw NEGOTIATION
Sinclair D FigeroaBrazilOnyama Limba PROPOSAL
James O FerenczSpainXuxue Feng QUALIFIED
Nicolas B FlosiBrazilXuxue Feng UNQUALIFIED
Aditya Z CaldareraFranceIoni Bowcher UNQUALIFIED
Salvatore A ShinkoArgentinaAnna Fali RENEWAL
Ricardo B NestleRussiaAnna Fali UNQUALIFIED
Silvio D DilliardAustraliaOnyama Limba QUALIFIED
Rodrigues C MacleadBrazilOnyama Limba NEGOTIATION
Izzy Y AmigonJapanIoni Bowcher NEW
Murillo I AlbaresSpainBernardo Dominic NEGOTIATION
Maria W SaylorsAustraliaStephen Shaw NEW
Sinclair N FerenczCanadaAnna Fali NEGOTIATION
Sinclair O RimArgentinaElwin Sharvill NEGOTIATION
Greenwood G DilliardSpainIoni Bowcher NEW
Aditya C BriddickFranceOnyama Limba RENEWAL
Morrow T CaudyUnited KingdomBernardo Dominic PROPOSAL
Izzy P MaletArgentinaXuxue Feng NEW
Sinclair X NickaAustraliaAnna Fali PROPOSAL
Costa S DarakjyCanadaAsiya Javayant PROPOSAL
Aruna A SaylorsItalyOnyama Limba PROPOSAL
Claire G OstroskyUnited KingdomAsiya Javayant NEW
Clifford B FollerJapanAmy Elsner UNQUALIFIED
Murillo C CampainRussiaAsiya Javayant NEW
Stacey K DilliardFranceStephen Shaw RENEWAL
Emily K KuskoArgentinaAsiya Javayant UNQUALIFIED
Silvio S SlusarskiRussiaAmy Elsner QUALIFIED
Stacey J SergiCanadaStephen Shaw NEGOTIATION
Greenwood B KuskoItalyStephen Shaw NEGOTIATION
Deepesh G StensethSpainIvan Magalhaes NEW
Clifford E CaldareraAustraliaAmy Elsner QUALIFIED
Claire M GauchoCanadaIoni Bowcher NEW
Nicolas D IturbideArgentinaStephen Shaw PROPOSAL
Jones M CaldareraArgentinaBernardo Dominic NEW
Salvatore J AlbaresBrazilAnna Fali NEW
Mujtaba A KolmetzGermanyBernardo Dominic QUALIFIED
Darci A FlosiSpainElwin Sharvill PROPOSAL
Ashley O MarrierJapanXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Stacey B CaldareraIndiaIvan Magalhaes NEW
Aruna C ShinkoSpainIvan Magalhaes NEW
Alejandro X AmigonRussiaElwin Sharvill RENEWAL
Kadeem A BowleyItalyAsiya Javayant NEGOTIATION
Aika P BowleyBrazilAmy Elsner UNQUALIFIED
Costa C RutaIndiaOnyama Limba NEW
Isabel M SlusarskiFranceAnna Fali NEW
Rodrigues E VenereRussiaAmy Elsner UNQUALIFIED
Misaki V GarufiArgentinaAnna Fali RENEWAL
Maisha T RutaIndiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley P MorascaItaly2025-07-18Feltz Printing Service UNQUALIFIED20Elwin Sharvill
1001Ricardo I DoeGermany2025-07-17King, Christopher A Esq NEGOTIATION67Stephen Shaw
1002Francesco H PerinSpain2025-07-15Morlong Associates QUALIFIED31Onyama Limba
1003Octavia X VenereBrazil2025-08-02Printing Dimensions NEW88Ioni Bowcher
1004Clifford A WhobreyGermany2025-07-26Printing Dimensions NEW88Ivan Magalhaes
1005Costa K CampainIndia2025-08-02Chanay, Jeffrey A Esq PROPOSAL21Stephen Shaw
1006Darci B VenereIndia2025-07-25Printing Dimensions NEGOTIATION4Stephen Shaw
1007Juan B KuskoItaly2025-07-31Benton, John B Jr UNQUALIFIED0Ioni Bowcher
1008Francesco E VenereBrazil2025-07-20Printing Dimensions RENEWAL32Elwin Sharvill
1009Claire V CampainSpain2025-08-02Chanay, Jeffrey A Esq QUALIFIED19Asiya Javayant
1010Smith Y KuskoAustralia2025-07-17Commercial Press RENEWAL94Asiya Javayant
1011Maisha B GlickItaly2025-07-07Feiner Bros UNQUALIFIED8Anna Fali
1012Greenwood F RimArgentina2025-07-24Chanay, Jeffrey A Esq QUALIFIED62Elwin Sharvill
1013Ashley U MaletItaly2025-07-23Truhlar And Truhlar Attys RENEWAL49Bernardo Dominic
1014Aruna H TollnerJapan2025-07-30King, Christopher A Esq NEGOTIATION94Onyama Limba
1015Sinclair R FerenczFrance2025-07-25Buckley Miller Wright NEW3Bernardo Dominic
1016Ricardo Z DoeJapan2025-07-06Feltz Printing Service NEGOTIATION25Stephen Shaw
1017Morrow W StockhamItaly2025-07-19Dorl, James J Esq NEW64Anna Fali
1018Deepesh I SchemmerArgentina2025-07-07Rousseaux, Michael Esq UNQUALIFIED24Onyama Limba
1019Alejandro X FigeroaArgentina2025-07-07Feltz Printing Service UNQUALIFIED22Stephen Shaw
1020Morrow S ChuiUnited Kingdom2025-07-31Feltz Printing Service PROPOSAL49Xuxue Feng
1021Faith M RimCanada2025-07-14Dorl, James J Esq NEW1Anna Fali
1022Morrow I SergiSpain2025-07-22Feltz Printing Service PROPOSAL66Amy Elsner
1023Rodrigues X SaylorsFrance2025-07-16Buckley Miller Wright RENEWAL63Anna Fali
1024Johnson E ChuiJapan2025-07-27Rangoni Of Florence NEGOTIATION28Ioni Bowcher
1025Cody K FigeroaItaly2025-08-01Chapman, Ross E Esq RENEWAL9Elwin Sharvill
1026Claire F BologniaBrazil2025-07-14Dorl, James J Esq QUALIFIED25Amy Elsner
1027Leon G MaletAustralia2025-07-12Feiner Bros UNQUALIFIED17Ioni Bowcher
1028Antonio Z NickaUnited Kingdom2025-07-15Rousseaux, Michael Esq RENEWAL5Ivan Magalhaes
1029Ricardo A WhobreyCanada2025-07-15Truhlar And Truhlar Attys QUALIFIED19Elwin Sharvill
1030Mujtaba D OldroydJapan2025-07-27Chemel, James L Cpa UNQUALIFIED51Onyama Limba
1031Stacey V FerenczCanada2025-07-25Dorl, James J Esq RENEWAL35Ioni Bowcher
1032Francesco F StensethUnited Kingdom2025-08-04Chanay, Jeffrey A Esq PROPOSAL76Ioni Bowcher
1033Isabel J FollerRussia2025-07-19King, Christopher A Esq NEGOTIATION76Stephen Shaw
1034Arvin U IturbideGermany2025-08-03Feiner Bros QUALIFIED99Onyama Limba
1035Claire Q AlbaresArgentina2025-07-06Truhlar And Truhlar Attys NEW2Stephen Shaw
1036Silvio S BologniaIndia2025-07-30Truhlar And Truhlar Attys RENEWAL4Anna Fali
1037Nicolas S RimFrance2025-07-20Dorl, James J Esq NEGOTIATION93Anna Fali
1038Aruna G MaletCanada2025-08-02Chemel, James L Cpa PROPOSAL28Onyama Limba
1039Murillo C PaprockiBrazil2025-07-14Feltz Printing Service UNQUALIFIED69Amy Elsner
1040Murillo K PerinFrance2025-07-30Rangoni Of Florence NEGOTIATION85Bernardo Dominic
1041Aditya K GillianJapan2025-07-17Printing Dimensions NEGOTIATION51Ivan Magalhaes
1042Adams S VocelkaJapan2025-07-31Rousseaux, Michael Esq PROPOSAL61Amy Elsner
1043Jones E BriddickArgentina2025-07-16Feiner Bros UNQUALIFIED56Xuxue Feng
1044Mujtaba J GlickUnited Kingdom2025-07-28Rousseaux, Michael Esq UNQUALIFIED71Amy Elsner
1045Jones J MacleadArgentina2025-07-31Buckley Miller Wright QUALIFIED47Bernardo Dominic
1046Leon A RoysterArgentina2025-07-30Chemel, James L Cpa NEW28Stephen Shaw
1047Francesco O BologniaCanada2025-08-04Chapman, Ross E Esq RENEWAL55Ivan Magalhaes
1048Salvatore B AlbaresFrance2025-07-11Feltz Printing Service NEW7Onyama Limba
1049Tony T BowleyGermany2025-08-01Feiner Bros RENEWAL17Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika H AmigonFranceBernardo Dominic RENEWAL
Antonio V DilliardRussiaIoni Bowcher NEW
Maisha N FerenczJapanIoni Bowcher UNQUALIFIED
Jeanfrancois R FollerBrazilIvan Magalhaes QUALIFIED
Murillo Q SlusarskiBrazilXuxue Feng NEGOTIATION
Izzy Q AmigonArgentinaOnyama Limba QUALIFIED
David S MacleadCanadaIvan Magalhaes NEW
Juan G RutaIndiaStephen Shaw NEW
Darci B ChuiIndiaIoni Bowcher NEGOTIATION
Darci C StockhamArgentinaOnyama Limba NEW
Jennifer M NickaAustraliaIoni Bowcher RENEWAL
Tony J ChuiAustraliaBernardo Dominic RENEWAL
Izzy J SaylorsUnited KingdomOnyama Limba PROPOSAL
James G FollerBrazilIvan Magalhaes NEGOTIATION
Smith Q SergiFranceAmy Elsner NEGOTIATION
Tony P ButtArgentinaStephen Shaw UNQUALIFIED
Isabel Q SaylorsFranceXuxue Feng PROPOSAL
Jefferson G RutaBrazilAnna Fali RENEWAL
Salvatore Y MacleadGermanyIoni Bowcher PROPOSAL
Sinclair B DoeUnited KingdomElwin Sharvill NEGOTIATION
Greenwood A OldroydAustraliaXuxue Feng RENEWAL
Maria V OstroskyBrazilAnna Fali NEGOTIATION
Claire S DarakjyBrazilXuxue Feng NEW
Jeanfrancois C PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Aika E PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues Y RimBrazilStephen Shaw RENEWAL
David V GillianCanadaAsiya Javayant UNQUALIFIED
Silvio L PerinIndiaBernardo Dominic NEW
Aditya K MarrierBrazilAsiya Javayant QUALIFIED
Juan W PaprockiJapanIvan Magalhaes PROPOSAL
Octavia B FollerRussiaAnna Fali NEW
Octavia I BologniaUnited KingdomAmy Elsner UNQUALIFIED
James M VenereItalyIvan Magalhaes QUALIFIED
Octavia O FollerIndiaIoni Bowcher RENEWAL
Sinclair A WaycottAustraliaOnyama Limba NEW
Greenwood E AlbaresJapanStephen Shaw QUALIFIED
Nicolas K MorascaFranceIvan Magalhaes QUALIFIED
Morrow J StockhamUnited KingdomXuxue Feng NEW
Ashley A StockhamUnited KingdomOnyama Limba NEGOTIATION
Mayumi T KolmetzSpainBernardo Dominic PROPOSAL
Silvio L RulapaughCanadaOnyama Limba QUALIFIED
Maisha Q WaycottGermanyOnyama Limba RENEWAL
Greenwood I ShinkoCanadaIoni Bowcher RENEWAL
Faith D NickaJapanStephen Shaw QUALIFIED
Leja Y ButtCanadaOnyama Limba QUALIFIED
Ricardo K StensethItalyElwin Sharvill PROPOSAL
Maria Z ChuiRussiaIoni Bowcher NEW
Jones Q CaldareraCanadaIvan Magalhaes NEGOTIATION
Ricardo I ShinkoIndiaAsiya Javayant QUALIFIED
Clifford E SergiArgentinaIoni Bowcher NEW
Frozen Columns
Name
Antonio R Waycott
Arvin O Bolognia
Sinclair W Ruta
Morrow H Ostrosky
Izzy M Ruta
Rodrigues K Rulapaugh
Alejandro G Rim
Jennifer R Perin
Antonio Y Ruta
Faith W Schemmer
Cody G Foller
Cody W Paprocki
Jennifer O Slusarski
Johnson W Ostrosky
Sinclair W Iturbide
Aika N Nicka
Juan N Foller
Maria Q Saylors
Izzy S Nestle
Smith M Darakjy
Francesco Y Paprocki
Claire U Ferencz
Arvin B Iturbide
Ashley J Nicka
Aika I Perin
Juan C Oldroyd
Izzy N Maclead
Smith Z Amigon
Morrow C Campain
Kadeem N Darakjy
Ashley K Venere
Ashley E Rim
Maria P Perin
Morrow Z Ostrosky
Maisha M Ostrosky
Faith A Venere
Jeanfrancois Q Stenseth
Sinclair A Caudy
Leja K Saylors
Faith J Sergi
Nicolas W Butt
Adams L Nestle
Mujtaba O Kolmetz
Greenwood G Paprocki
Sinclair G Butt
Julie J Stenseth
Antonio I Bolognia
Chavez J Gillian
Adams S Foller
Aditya W Stockham
IdCountryDate
1000Japan2025-07-09
1001United Kingdom2025-07-21
1002United Kingdom2025-07-07
1003United Kingdom2025-07-29
1004Canada2025-07-20
1005Italy2025-08-03
1006Russia2025-07-08
1007Spain2025-08-03
1008Brazil2025-07-12
1009India2025-07-27
1010Australia2025-07-06
1011Brazil2025-07-06
1012United Kingdom2025-07-21
1013United Kingdom2025-08-04
1014Russia2025-07-20
1015France2025-07-28
1016Brazil2025-07-23
1017Japan2025-07-25
1018Australia2025-07-31
1019France2025-07-19
1020Brazil2025-07-28
1021Germany2025-07-28
1022France2025-07-20
1023Russia2025-07-13
1024Germany2025-07-20
1025Japan2025-07-08
1026Argentina2025-07-24
1027Argentina2025-07-17
1028Canada2025-07-21
1029Brazil2025-07-25
1030Spain2025-07-14
1031France2025-07-24
1032Brazil2025-07-29
1033Russia2025-07-07
1034Australia2025-07-24
1035Russia2025-07-27
1036Canada2025-07-23
1037Australia2025-07-09
1038Spain2025-07-11
1039France2025-07-20
1040Argentina2025-07-12
1041Japan2025-07-10
1042Japan2025-07-13
1043Canada2025-08-01
1044United Kingdom2025-07-12
1045Russia2025-07-28
1046Argentina2025-08-02
1047France2025-07-23
1048Germany2025-07-19
1049Germany2025-07-12

On-Demand Data

NameIdCountryDate
Alejandro G Inouye1000United Kingdom2025-07-30
Izzy D Amigon1001Argentina2025-08-02
Izzy U Malet1002Russia2025-07-11
Claire X Doe1003Brazil2025-07-10
Stacey C Gaucho1004United Kingdom2025-07-09
Mujtaba Q Ostrosky1005United Kingdom2025-07-24
Leon Z Waycott1006Australia2025-07-09
Costa V Waycott1007Spain2025-07-15
Maisha K Perin1008Russia2025-07-31
Antonio A Ruta1009Germany2025-07-06
Ivar L Stenseth1010Russia2025-07-29
Octavia F Darakjy1011Canada2025-07-23
Mayumi B Rim1012Japan2025-07-14
Leon K Ferencz1013Canada2025-07-30
Izzy X Tollner1014United Kingdom2025-07-22
Francesco F Schemmer1015Italy2025-07-06
Deepesh I Perin1016Argentina2025-07-26
Kaitlin K Amigon1017Australia2025-08-03
Sinclair Z Saylors1018Australia2025-07-29
Jones L Stockham1019India2025-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci H GlickRussiaXuxue Feng UNQUALIFIED
Rodrigues C WhobreyJapanAmy Elsner NEGOTIATION
Ivar L FlosiItalyStephen Shaw PROPOSAL
Stacey H SlusarskiIndiaAnna Fali NEW
Adams S AlbaresArgentinaAnna Fali NEW
Ashley M KuskoFranceBernardo Dominic NEW
Murillo J KolmetzAustraliaOnyama Limba PROPOSAL
Jefferson X AmigonAustraliaElwin Sharvill NEGOTIATION
Adams N KolmetzUnited KingdomOnyama Limba NEGOTIATION
Arvin G KolmetzGermanyAnna Fali QUALIFIED
Silvio X FigeroaFranceOnyama Limba QUALIFIED
Emily V AlbaresBrazilStephen Shaw NEGOTIATION
Johnson S InouyeGermanyOnyama Limba RENEWAL
Arvin F RoysterItalyIvan Magalhaes RENEWAL
Sinclair M DoeAustraliaXuxue Feng NEW
Rodrigues W RimGermanyXuxue Feng QUALIFIED
Kaitlin Y MorascaBrazilOnyama Limba NEGOTIATION
Aika J GillianArgentinaAsiya Javayant RENEWAL
Mayumi P StensethGermanyOnyama Limba RENEWAL
Sinclair D GlickGermanyIoni Bowcher UNQUALIFIED
Aika I PerinBrazilElwin Sharvill QUALIFIED
Clifford Q FollerBrazilOnyama Limba PROPOSAL
Kaitlin L WaycottSpainElwin Sharvill UNQUALIFIED
Isabel F BriddickGermanyOnyama Limba UNQUALIFIED
Aditya E StensethCanadaAnna Fali UNQUALIFIED
Jeanfrancois H MaletFranceIvan Magalhaes PROPOSAL
Maisha Y KolmetzIndiaAsiya Javayant UNQUALIFIED
Jennifer P GillianSpainOnyama Limba NEW
Maisha E WaycottCanadaIvan Magalhaes PROPOSAL
Mujtaba E BowleyItalyIvan Magalhaes QUALIFIED
Stacey D TollnerSpainIvan Magalhaes RENEWAL
David C MaletUnited KingdomIoni Bowcher NEGOTIATION
Maisha V RimRussiaAmy Elsner RENEWAL
Chavez C KolmetzSpainBernardo Dominic NEGOTIATION
Johnson I ButtGermanyElwin Sharvill NEW
Antonio B CaudyCanadaAmy Elsner QUALIFIED
Aika F FigeroaCanadaOnyama Limba QUALIFIED
David F RulapaughJapanAnna Fali RENEWAL
Chavez K StockhamAustraliaOnyama Limba QUALIFIED
Misaki F MaletGermanyAnna Fali 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>