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
Jeanfrancois A GillianUnited KingdomBernardo Dominic NEW
Darci I AlbaresBrazilIvan Magalhaes NEGOTIATION
James Y SergiBrazilAnna Fali NEW
Faith P PerinBrazilXuxue Feng PROPOSAL
Aruna G StensethArgentinaAsiya Javayant NEW
Cody X GarufiJapanElwin Sharvill UNQUALIFIED
Munro Q MarrierJapanOnyama Limba NEGOTIATION
Ashley M MarrierArgentinaIvan Magalhaes QUALIFIED
Sinclair G StockhamFranceOnyama Limba RENEWAL
Aika J RoysterArgentinaStephen Shaw NEW
Smith A PaprockiBrazilElwin Sharvill NEGOTIATION
Leja P VocelkaIndiaAsiya Javayant UNQUALIFIED
Tony Z TollnerSpainXuxue Feng NEW
Silvio C SergiUnited KingdomBernardo Dominic RENEWAL
Tony V OldroydGermanyXuxue Feng QUALIFIED
Isabel I SlusarskiArgentinaAsiya Javayant NEW
Darci T GillianJapanAsiya Javayant NEGOTIATION
Julie W DilliardFranceOnyama Limba UNQUALIFIED
Kadeem E SlusarskiIndiaIoni Bowcher QUALIFIED
Stacey T OstroskyJapanAnna Fali RENEWAL
Kaitlin D VocelkaBrazilAsiya Javayant RENEWAL
Sinclair W KolmetzItalyAmy Elsner NEGOTIATION
Aditya A CaudyCanadaAsiya Javayant NEW
Jones H AlbaresAustraliaXuxue Feng UNQUALIFIED
Nicolas J AlbaresFranceBernardo Dominic RENEWAL
Francesco O DarakjyCanadaIoni Bowcher RENEWAL
Juan O MorascaUnited KingdomAnna Fali RENEWAL
Cody W OstroskyGermanyIvan Magalhaes NEGOTIATION
Murillo W RimJapanAsiya Javayant NEW
Francesco N VenereSpainStephen Shaw NEGOTIATION
Maisha O VenereSpainIoni Bowcher RENEWAL
Ivar I SergiGermanyElwin Sharvill NEW
Clifford R NickaCanadaBernardo Dominic UNQUALIFIED
David W KuskoSpainXuxue Feng PROPOSAL
Silvio X WaycottGermanyStephen Shaw NEW
Cody R MaletAustraliaAnna Fali QUALIFIED
Ivar L WhobreyIndiaBernardo Dominic NEW
Maisha V FlosiCanadaAsiya Javayant NEW
Deepesh Q PoquetteRussiaBernardo Dominic NEGOTIATION
Faith I NestleItalyIvan Magalhaes NEGOTIATION
Juan C DarakjyBrazilIvan Magalhaes PROPOSAL
Kaitlin K RulapaughItalyAnna Fali NEW
Alejandro H RoysterUnited KingdomXuxue Feng RENEWAL
David N ShinkoFranceXuxue Feng RENEWAL
Leja U MacleadGermanyStephen Shaw RENEWAL
Salvatore H NickaAustraliaIoni Bowcher UNQUALIFIED
Jones O GauchoBrazilIvan Magalhaes NEW
Jones Q NickaCanadaAmy Elsner UNQUALIFIED
Deepesh N WaycottJapanAnna Fali PROPOSAL
Adams I ChuiAustraliaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas V WieserIndiaBernardo Dominic QUALIFIED
Tony C GlickItalyXuxue Feng RENEWAL
Nicolas A MaletCanadaStephen Shaw PROPOSAL
Silvio U IturbideUnited KingdomAsiya Javayant RENEWAL
Jennifer M VenereIndiaAsiya Javayant NEGOTIATION
Deepesh G WaycottArgentinaAmy Elsner PROPOSAL
Jeanfrancois P DarakjyIndiaAmy Elsner PROPOSAL
Deepesh E SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Arvin W CampainSpainAnna Fali PROPOSAL
Isabel E PerinArgentinaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez T FigeroaArgentina2025-08-20Rousseaux, Michael Esq RENEWAL41Elwin Sharvill
1001Wickens M NickaRussia2025-08-19Printing Dimensions QUALIFIED60Amy Elsner
1002Wickens U MaletGermany2025-08-22Feiner Bros UNQUALIFIED16Anna Fali
1003Julie J BowleyAustralia2025-07-31Truhlar And Truhlar Attys RENEWAL77Ioni Bowcher
1004Wickens I PaprockiJapan2025-07-31Morlong Associates RENEWAL17Ioni Bowcher
1005Antonio N ShinkoItaly2025-07-26Chanay, Jeffrey A Esq RENEWAL51Elwin Sharvill
1006Aditya R KolmetzItaly2025-08-15Morlong Associates RENEWAL4Bernardo Dominic
1007Alejandro E RoysterSpain2025-08-21Printing Dimensions NEGOTIATION89Elwin Sharvill
1008Juan V RimFrance2025-08-01Printing Dimensions RENEWAL46Amy Elsner
1009Aruna U MaletUnited Kingdom2025-08-21Rangoni Of Florence RENEWAL1Elwin Sharvill
1010Maisha H SergiFrance2025-08-22King, Christopher A Esq RENEWAL44Ioni Bowcher
1011Arvin W CampainFrance2025-08-14Morlong Associates NEW92Ivan Magalhaes
1012Tony Y SergiGermany2025-08-11Benton, John B Jr PROPOSAL80Onyama Limba
1013Jennifer U AlbaresFrance2025-08-19Truhlar And Truhlar Attys UNQUALIFIED1Ioni Bowcher
1014Aditya X FollerFrance2025-08-21King, Christopher A Esq QUALIFIED90Xuxue Feng
1015Jennifer D CampainBrazil2025-08-19Truhlar And Truhlar Attys NEW54Onyama Limba
1016Kaitlin T AmigonSpain2025-07-26Truhlar And Truhlar Attys PROPOSAL71Amy Elsner
1017Aruna F KuskoCanada2025-08-04Feltz Printing Service NEW87Amy Elsner
1018Leon E RoysterJapan2025-08-19Dorl, James J Esq PROPOSAL96Elwin Sharvill
1019Salvatore B BriddickAustralia2025-08-11Chemel, James L Cpa NEGOTIATION53Asiya Javayant
1020Kaitlin T GauchoJapan2025-08-09Commercial Press PROPOSAL28Anna Fali
1021Greenwood T DoeArgentina2025-07-28Chanay, Jeffrey A Esq NEGOTIATION4Onyama Limba
1022Jefferson U MaletFrance2025-08-11Rangoni Of Florence QUALIFIED7Stephen Shaw
1023Jennifer Z TollnerSpain2025-07-30Chanay, Jeffrey A Esq UNQUALIFIED30Xuxue Feng
1024David W RutaArgentina2025-07-29Printing Dimensions RENEWAL30Elwin Sharvill
1025Smith E ShinkoJapan2025-08-12Rangoni Of Florence UNQUALIFIED81Amy Elsner
1026Antonio S NestleJapan2025-08-15Rousseaux, Michael Esq RENEWAL29Onyama Limba
1027Ashley S WhobreyArgentina2025-08-07Truhlar And Truhlar Attys NEGOTIATION70Asiya Javayant
1028Costa H WaycottSpain2025-08-18Morlong Associates NEW78Asiya Javayant
1029David Z NestleGermany2025-08-11Feiner Bros NEGOTIATION30Bernardo Dominic
1030Cody W WhobreyFrance2025-08-03Feiner Bros QUALIFIED9Anna Fali
1031Juan B ButtSpain2025-08-15Morlong Associates NEW90Bernardo Dominic
1032Faith C RimItaly2025-07-30Morlong Associates NEGOTIATION79Stephen Shaw
1033Tony J PaprockiFrance2025-07-28Feiner Bros UNQUALIFIED79Bernardo Dominic
1034Claire T KolmetzItaly2025-08-06Rousseaux, Michael Esq QUALIFIED38Xuxue Feng
1035Darci N MarrierGermany2025-08-11Dorl, James J Esq NEW50Ivan Magalhaes
1036Octavia R RimSpain2025-07-27Morlong Associates PROPOSAL5Bernardo Dominic
1037Murillo X BologniaCanada2025-08-15Benton, John B Jr RENEWAL76Ioni Bowcher
1038Costa Z TollnerUnited Kingdom2025-08-07Chanay, Jeffrey A Esq QUALIFIED62Stephen Shaw
1039Wickens J RimUnited Kingdom2025-08-20Buckley Miller Wright NEGOTIATION20Onyama Limba
1040Faith Z OldroydRussia2025-08-06Commercial Press RENEWAL39Asiya Javayant
1041Rodrigues P CaudyCanada2025-08-19Dorl, James J Esq PROPOSAL18Ioni Bowcher
1042Juan G GauchoCanada2025-07-27Commercial Press UNQUALIFIED93Stephen Shaw
1043Misaki U SchemmerAustralia2025-08-11Chanay, Jeffrey A Esq NEGOTIATION73Ioni Bowcher
1044Darci M PaprockiAustralia2025-08-12Benton, John B Jr NEW69Ioni Bowcher
1045Francesco D FerenczGermany2025-08-17Feiner Bros QUALIFIED74Stephen Shaw
1046Darci W OldroydArgentina2025-08-16Chemel, James L Cpa RENEWAL92Amy Elsner
1047Chavez M ButtItaly2025-08-05Rousseaux, Michael Esq PROPOSAL34Bernardo Dominic
1048Francesco S WaycottItaly2025-08-04Printing Dimensions RENEWAL69Amy Elsner
1049Leja Q CampainSpain2025-08-21King, Christopher A Esq NEGOTIATION50Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo G FlosiArgentinaAsiya Javayant QUALIFIED
Julie A StensethGermanyAmy Elsner UNQUALIFIED
Misaki N KolmetzGermanyIoni Bowcher PROPOSAL
Arvin N ButtCanadaIvan Magalhaes UNQUALIFIED
James S VocelkaGermanyAmy Elsner NEGOTIATION
Antonio B CaldareraArgentinaIoni Bowcher NEGOTIATION
Johnson S PerinArgentinaIvan Magalhaes QUALIFIED
Johnson G AmigonJapanAnna Fali UNQUALIFIED
Jeanfrancois V GillianIndiaIoni Bowcher PROPOSAL
Antonio T SchemmerItalyIvan Magalhaes QUALIFIED
Morrow B GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Aditya N StockhamJapanAnna Fali UNQUALIFIED
Greenwood L ChuiCanadaStephen Shaw QUALIFIED
Emily M CaldareraItalyAnna Fali QUALIFIED
Maria M KuskoFranceStephen Shaw QUALIFIED
Costa H MarrierSpainAsiya Javayant NEGOTIATION
Juan A AmigonFranceAmy Elsner RENEWAL
Francesco Q DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Ricardo R VocelkaAustraliaXuxue Feng NEW
Mayumi U StensethAustraliaStephen Shaw NEGOTIATION
Jennifer I SergiCanadaOnyama Limba NEGOTIATION
Kaitlin F DilliardArgentinaIvan Magalhaes QUALIFIED
Salvatore L ButtIndiaBernardo Dominic NEGOTIATION
Antonio G GlickJapanIvan Magalhaes NEGOTIATION
Ivar M MarrierUnited KingdomXuxue Feng QUALIFIED
Rodrigues J VenereSpainStephen Shaw QUALIFIED
Tony Y VenereAustraliaOnyama Limba PROPOSAL
Deepesh M PaprockiUnited KingdomElwin Sharvill RENEWAL
Greenwood C GlickUnited KingdomStephen Shaw UNQUALIFIED
Maria M FerenczJapanAsiya Javayant NEW
Chavez L WhobreyCanadaIoni Bowcher RENEWAL
Wickens Q SchemmerRussiaIoni Bowcher QUALIFIED
Aika U MarrierJapanBernardo Dominic QUALIFIED
Sinclair Z DarakjyRussiaBernardo Dominic RENEWAL
Stacey N SchemmerFranceAnna Fali PROPOSAL
Ricardo X OldroydUnited KingdomIvan Magalhaes NEW
Greenwood Y BowleyAustraliaOnyama Limba NEW
Kaitlin X CaldareraIndiaAsiya Javayant QUALIFIED
Aditya S GauchoCanadaStephen Shaw PROPOSAL
Aika E FlosiSpainElwin Sharvill UNQUALIFIED
David X RoysterCanadaIvan Magalhaes UNQUALIFIED
Johnson G ShinkoCanadaXuxue Feng NEW
Chavez R PoquetteSpainAnna Fali UNQUALIFIED
Tony V FollerIndiaAmy Elsner QUALIFIED
Clifford U OldroydUnited KingdomXuxue Feng PROPOSAL
Jennifer G FollerRussiaStephen Shaw RENEWAL
Rodrigues Z BowleySpainIoni Bowcher UNQUALIFIED
Jeanfrancois B AmigonFranceOnyama Limba QUALIFIED
Mujtaba R BriddickArgentinaAmy Elsner NEGOTIATION
Jones L GlickRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Morrow X Kolmetz
Jennifer O Flosi
Maria C Caudy
Murillo R Ruta
Leja U Dilliard
Wickens S Paprocki
Misaki A Briddick
Deepesh A Sergi
Deepesh K Whobrey
Stacey G Tollner
Silvio I Stenseth
Julie R Ruta
Sinclair B Chui
Octavia A Figeroa
Juan D Nestle
Cody N Paprocki
Jones F Nicka
Misaki N Campain
Murillo P Paprocki
Ricardo K Vocelka
Ricardo G Butt
Cody H Maclead
Jennifer N Vocelka
Alejandro L Chui
Greenwood L Garufi
Wickens O Slusarski
Greenwood U Marrier
Jennifer F Malet
Johnson W Doe
Isabel N Kolmetz
Leon P Schemmer
Ricardo D Schemmer
Adams G Perin
Leja P Ruta
Jefferson B Kolmetz
Izzy I Whobrey
Kaitlin O Briddick
James C Flosi
Mayumi F Briddick
Wickens I Sergi
Jefferson Z Garufi
Aditya I Bowley
Munro R Bolognia
Alejandro B Iturbide
Murillo E Caudy
Ashley H Iturbide
Aika A Ostrosky
Salvatore Z Gaucho
Faith O Malet
Darci V Amigon
IdCountryDate
1000United Kingdom2025-08-02
1001Australia2025-07-29
1002India2025-07-31
1003Germany2025-08-18
1004Australia2025-08-10
1005Brazil2025-07-28
1006Russia2025-07-28
1007Canada2025-07-27
1008India2025-08-20
1009Germany2025-07-30
1010Russia2025-08-12
1011United Kingdom2025-08-11
1012Brazil2025-08-21
1013Germany2025-08-17
1014Italy2025-08-04
1015Spain2025-07-27
1016Germany2025-08-13
1017United Kingdom2025-08-03
1018Australia2025-07-31
1019Italy2025-07-28
1020Spain2025-08-04
1021Japan2025-08-20
1022Argentina2025-08-03
1023Japan2025-08-03
1024Germany2025-08-03
1025Russia2025-08-10
1026United Kingdom2025-08-05
1027Spain2025-08-04
1028Germany2025-07-26
1029Brazil2025-07-28
1030Brazil2025-08-01
1031Japan2025-08-17
1032Canada2025-08-12
1033Brazil2025-08-18
1034United Kingdom2025-08-21
1035France2025-07-30
1036Italy2025-08-09
1037Argentina2025-08-20
1038Brazil2025-08-02
1039Argentina2025-08-04
1040France2025-08-18
1041Argentina2025-08-07
1042Argentina2025-08-07
1043Australia2025-08-15
1044United Kingdom2025-08-20
1045Australia2025-08-08
1046Argentina2025-07-28
1047Australia2025-08-12
1048Spain2025-08-13
1049India2025-08-18

On-Demand Data

NameIdCountryDate
Alejandro M Butt1000Italy2025-07-26
Morrow F Vocelka1001Spain2025-07-30
Murillo V Ostrosky1002United Kingdom2025-07-27
Aruna V Poquette1003France2025-08-17
Adams I Amigon1004United Kingdom2025-08-08
Stacey H Gaucho1005Argentina2025-08-10
Izzy G Caldarera1006Canada2025-08-12
Octavia A Morasca1007Argentina2025-08-10
Leja R Rulapaugh1008Russia2025-07-29
Izzy E Tollner1009Australia2025-08-18
Aika Q Perin1010Brazil2025-08-14
Ricardo T Gillian1011Canada2025-07-27
Cody D Nicka1012Russia2025-08-10
James M Figeroa1013Russia2025-08-03
Alejandro O Albares1014Canada2025-08-09
Salvatore D Dilliard1015Australia2025-08-08
Aruna H Marrier1016Italy2025-07-31
Munro V Stenseth1017Spain2025-08-19
Aditya O Caudy1018France2025-07-26
Tony C Venere1019Italy2025-08-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois R PerinIndiaAsiya Javayant UNQUALIFIED
Mujtaba F RoysterBrazilElwin Sharvill PROPOSAL
Maria R StensethCanadaBernardo Dominic UNQUALIFIED
Salvatore E FerenczRussiaStephen Shaw NEW
Jefferson I CampainCanadaIoni Bowcher UNQUALIFIED
Maria Z AmigonRussiaElwin Sharvill NEW
Isabel Y FigeroaSpainStephen Shaw PROPOSAL
Ivar C BriddickIndiaAsiya Javayant RENEWAL
Juan U CaudyBrazilBernardo Dominic UNQUALIFIED
Adams W PaprockiSpainIvan Magalhaes NEW
Johnson P NestleIndiaXuxue Feng NEGOTIATION
Greenwood T NestleFranceAmy Elsner PROPOSAL
Johnson C VocelkaGermanyXuxue Feng QUALIFIED
Kadeem T BriddickCanadaAnna Fali QUALIFIED
Silvio Q TollnerJapanElwin Sharvill NEGOTIATION
Deepesh O SaylorsIndiaXuxue Feng NEW
Cody G FerenczFranceOnyama Limba UNQUALIFIED
Antonio X BriddickJapanStephen Shaw NEGOTIATION
Arvin V RimCanadaXuxue Feng NEW
Munro V RimItalyOnyama Limba NEGOTIATION
Mayumi D MaletSpainIvan Magalhaes RENEWAL
Isabel M WhobreyJapanOnyama Limba UNQUALIFIED
Maria B PerinJapanStephen Shaw RENEWAL
Johnson O FerenczUnited KingdomAmy Elsner UNQUALIFIED
Leon W RoysterAustraliaElwin Sharvill NEW
Isabel T PerinBrazilStephen Shaw NEGOTIATION
Costa Z GarufiUnited KingdomElwin Sharvill NEW
David E SaylorsFranceElwin Sharvill NEGOTIATION
Deepesh Z AmigonCanadaStephen Shaw NEW
David H FerenczRussiaIoni Bowcher NEGOTIATION
Cody Q StockhamAustraliaAsiya Javayant NEW
Isabel C VenereRussiaBernardo Dominic RENEWAL
Adams V VenereAustraliaOnyama Limba NEW
Greenwood X VocelkaJapanOnyama Limba NEGOTIATION
Jones S OldroydCanadaAmy Elsner NEGOTIATION
Izzy X PerinArgentinaAmy Elsner PROPOSAL
Johnson N NestleItalyOnyama Limba UNQUALIFIED
Ashley N RoysterFranceStephen Shaw RENEWAL
Emily Z IturbideJapanOnyama Limba QUALIFIED
Antonio A OldroydGermanyXuxue Feng 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>