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
Sinclair I NestleBrazilBernardo Dominic NEW
Nicolas L FlosiFranceAsiya Javayant PROPOSAL
Misaki J PerinUnited KingdomAmy Elsner UNQUALIFIED
Adams M ChuiGermanyIoni Bowcher PROPOSAL
Francesco O RimRussiaStephen Shaw NEGOTIATION
Octavia Z VenereSpainStephen Shaw PROPOSAL
Salvatore B FollerRussiaXuxue Feng PROPOSAL
Maisha M AmigonGermanyAsiya Javayant PROPOSAL
Clifford O WhobreyGermanyIoni Bowcher QUALIFIED
Rodrigues V DilliardFranceStephen Shaw NEW
Adams T KuskoGermanyElwin Sharvill NEW
Morrow B PaprockiItalyAmy Elsner PROPOSAL
Aruna H RutaGermanyElwin Sharvill NEW
Jennifer P TollnerArgentinaIoni Bowcher PROPOSAL
Kaitlin Z BriddickItalyIvan Magalhaes PROPOSAL
Francesco R MorascaItalyStephen Shaw NEGOTIATION
Tony H ChuiRussiaBernardo Dominic RENEWAL
Morrow J NestleBrazilXuxue Feng NEGOTIATION
Tony W VocelkaArgentinaXuxue Feng PROPOSAL
Rodrigues Q AlbaresJapanIoni Bowcher UNQUALIFIED
Darci X MorascaBrazilBernardo Dominic UNQUALIFIED
Octavia F PoquetteBrazilAnna Fali RENEWAL
Misaki G WhobreyJapanIoni Bowcher RENEWAL
Ricardo Q GillianJapanAmy Elsner NEW
Maisha W SlusarskiSpainStephen Shaw RENEWAL
Emily F PoquetteBrazilIoni Bowcher QUALIFIED
Isabel I DarakjyJapanXuxue Feng PROPOSAL
Maisha M KuskoCanadaAnna Fali QUALIFIED
Mujtaba M AlbaresFranceElwin Sharvill RENEWAL
Izzy K DilliardSpainOnyama Limba QUALIFIED
Jones M RoysterArgentinaStephen Shaw NEW
Emily D RulapaughJapanAnna Fali UNQUALIFIED
Leja I BologniaCanadaIoni Bowcher NEGOTIATION
Morrow T MaletAustraliaIoni Bowcher UNQUALIFIED
Arvin N GauchoFranceBernardo Dominic QUALIFIED
Kaitlin F MarrierCanadaAsiya Javayant RENEWAL
Alejandro F PerinFranceAmy Elsner QUALIFIED
Julie E GarufiFranceBernardo Dominic NEGOTIATION
Kaitlin M OldroydCanadaElwin Sharvill NEGOTIATION
Cody F CaldareraCanadaXuxue Feng RENEWAL
Ivar C InouyeFranceStephen Shaw PROPOSAL
Wickens G StensethUnited KingdomOnyama Limba PROPOSAL
Jefferson N VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Juan M BowleySpainOnyama Limba UNQUALIFIED
Leja V MaletUnited KingdomXuxue Feng PROPOSAL
Adams R WaycottGermanyIoni Bowcher RENEWAL
Arvin X CaudyRussiaOnyama Limba PROPOSAL
Mayumi L PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Aditya W FlosiArgentinaOnyama Limba NEGOTIATION
Darci F GarufiFranceIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens Q MarrierJapanIvan Magalhaes QUALIFIED
Misaki A RoysterItalyIoni Bowcher NEW
Salvatore U SaylorsGermanyBernardo Dominic PROPOSAL
David G FollerRussiaStephen Shaw NEW
Morrow N KolmetzGermanyAmy Elsner UNQUALIFIED
Leon N NestleRussiaOnyama Limba QUALIFIED
Morrow E AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Darci C PerinUnited KingdomAmy Elsner RENEWAL
Alejandro S ButtIndiaAmy Elsner RENEWAL
Arvin Z SaylorsRussiaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon R BriddickAustralia2025-07-26Rangoni Of Florence RENEWAL73Asiya Javayant
1001Deepesh X MorascaCanada2025-07-26Morlong Associates PROPOSAL16Anna Fali
1002Jefferson I FerenczItaly2025-07-22Chemel, James L Cpa RENEWAL81Xuxue Feng
1003Maisha J StockhamItaly2025-07-18Commercial Press PROPOSAL41Asiya Javayant
1004Isabel E RimRussia2025-07-21King, Christopher A Esq QUALIFIED24Elwin Sharvill
1005Misaki U NickaFrance2025-08-05Morlong Associates NEW19Xuxue Feng
1006Jefferson M GauchoItaly2025-08-13Benton, John B Jr NEGOTIATION28Ivan Magalhaes
1007Emily X NickaRussia2025-07-27Commercial Press UNQUALIFIED94Anna Fali
1008Antonio M RulapaughIndia2025-07-21Feltz Printing Service NEW82Elwin Sharvill
1009Darci Y WaycottUnited Kingdom2025-07-31Chapman, Ross E Esq RENEWAL96Anna Fali
1010Chavez Q MaletJapan2025-07-25Chanay, Jeffrey A Esq PROPOSAL22Anna Fali
1011Emily P BowleyAustralia2025-08-13Rousseaux, Michael Esq RENEWAL75Ioni Bowcher
1012Darci R InouyeItaly2025-07-20Chapman, Ross E Esq UNQUALIFIED72Ioni Bowcher
1013Deepesh C GlickAustralia2025-08-07King, Christopher A Esq NEW20Xuxue Feng
1014Alejandro C CaldareraRussia2025-07-21Rousseaux, Michael Esq PROPOSAL88Elwin Sharvill
1015Aruna N SlusarskiItaly2025-08-08Feiner Bros NEGOTIATION22Onyama Limba
1016Aditya E GlickBrazil2025-07-29King, Christopher A Esq NEW59Stephen Shaw
1017Cody V PoquetteGermany2025-07-25Rangoni Of Florence RENEWAL33Ivan Magalhaes
1018Clifford W GillianUnited Kingdom2025-07-16Printing Dimensions UNQUALIFIED52Asiya Javayant
1019Tony E BriddickArgentina2025-08-13Chemel, James L Cpa QUALIFIED94Anna Fali
1020Isabel W RulapaughGermany2025-08-05Feltz Printing Service NEGOTIATION88Stephen Shaw
1021Kaitlin L NestleRussia2025-08-12Truhlar And Truhlar Attys NEW60Elwin Sharvill
1022Maisha Y KuskoCanada2025-07-31Rousseaux, Michael Esq PROPOSAL62Anna Fali
1023Jennifer V SlusarskiCanada2025-08-06Commercial Press PROPOSAL26Ioni Bowcher
1024David D KolmetzSpain2025-07-19Buckley Miller Wright PROPOSAL27Stephen Shaw
1025David O MarrierFrance2025-08-03Chapman, Ross E Esq QUALIFIED55Stephen Shaw
1026Octavia F RoysterIndia2025-08-13Chanay, Jeffrey A Esq NEGOTIATION71Amy Elsner
1027Claire Z MaletJapan2025-07-30Rousseaux, Michael Esq NEW6Bernardo Dominic
1028Tony Q StensethGermany2025-07-30Feltz Printing Service NEGOTIATION7Ivan Magalhaes
1029Jeanfrancois R CaudyFrance2025-07-29Morlong Associates UNQUALIFIED45Stephen Shaw
1030Sinclair Q OstroskyUnited Kingdom2025-07-18Chapman, Ross E Esq RENEWAL9Elwin Sharvill
1031Ricardo T CaldareraBrazil2025-08-13Truhlar And Truhlar Attys PROPOSAL64Amy Elsner
1032Silvio H DilliardIndia2025-07-18Buckley Miller Wright PROPOSAL29Stephen Shaw
1033Octavia C GillianItaly2025-07-24King, Christopher A Esq UNQUALIFIED1Bernardo Dominic
1034Faith S InouyeSpain2025-08-10Chapman, Ross E Esq RENEWAL51Elwin Sharvill
1035Deepesh Z CaldareraBrazil2025-08-12Feiner Bros PROPOSAL58Asiya Javayant
1036Octavia X GlickUnited Kingdom2025-08-10Chapman, Ross E Esq UNQUALIFIED77Ivan Magalhaes
1037Arvin K InouyeIndia2025-08-07Rangoni Of Florence UNQUALIFIED36Onyama Limba
1038Johnson O MorascaSpain2025-08-09Chapman, Ross E Esq UNQUALIFIED76Ivan Magalhaes
1039Jones I NestleArgentina2025-07-24Rousseaux, Michael Esq QUALIFIED18Ioni Bowcher
1040Darci D WaycottArgentina2025-07-23Rangoni Of Florence RENEWAL2Elwin Sharvill
1041Juan W InouyeBrazil2025-07-23Commercial Press NEW53Amy Elsner
1042Mayumi W GauchoGermany2025-07-24Chapman, Ross E Esq QUALIFIED80Elwin Sharvill
1043Jennifer T PaprockiCanada2025-07-27Morlong Associates NEGOTIATION10Amy Elsner
1044Kadeem Q AlbaresIndia2025-07-17Rousseaux, Michael Esq QUALIFIED35Amy Elsner
1045Murillo X DoeFrance2025-07-27Chemel, James L Cpa NEGOTIATION78Amy Elsner
1046Claire S GarufiUnited Kingdom2025-08-04Printing Dimensions PROPOSAL4Ivan Magalhaes
1047Kadeem O PaprockiUnited Kingdom2025-07-20Feiner Bros PROPOSAL17Ioni Bowcher
1048Salvatore D FlosiCanada2025-08-10Feltz Printing Service PROPOSAL95Bernardo Dominic
1049Smith X KolmetzRussia2025-08-03Feltz Printing Service PROPOSAL87Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin W VocelkaItalyBernardo Dominic NEW
Maria H GillianRussiaElwin Sharvill RENEWAL
Maria F KuskoBrazilXuxue Feng QUALIFIED
Tony N FlosiSpainAmy Elsner RENEWAL
James V WhobreyIndiaStephen Shaw UNQUALIFIED
Nicolas X TollnerItalyIoni Bowcher PROPOSAL
Leja V AmigonBrazilOnyama Limba NEGOTIATION
Misaki E CaudyGermanyStephen Shaw UNQUALIFIED
Salvatore K GarufiGermanyBernardo Dominic NEW
Wickens N KuskoBrazilAmy Elsner QUALIFIED
Aika A SaylorsFranceAnna Fali NEW
Antonio X VocelkaItalyAsiya Javayant NEW
Wickens R GarufiUnited KingdomAnna Fali QUALIFIED
Wickens F FigeroaUnited KingdomAsiya Javayant QUALIFIED
Tony X ButtIndiaIoni Bowcher QUALIFIED
Murillo X VocelkaIndiaAmy Elsner UNQUALIFIED
Darci O WieserArgentinaIvan Magalhaes QUALIFIED
Rodrigues R VenereArgentinaIoni Bowcher RENEWAL
Stacey O CaudyJapanAsiya Javayant NEGOTIATION
Maria G SaylorsAustraliaElwin Sharvill QUALIFIED
Izzy L OstroskyJapanAmy Elsner NEW
Darci A VocelkaFranceAmy Elsner NEW
Maisha O RulapaughCanadaIvan Magalhaes PROPOSAL
Mujtaba V PoquetteBrazilAmy Elsner NEW
Murillo E CaudyBrazilAnna Fali NEW
Emily A FerenczCanadaAmy Elsner UNQUALIFIED
Wickens H PerinCanadaIoni Bowcher QUALIFIED
David Q DilliardBrazilBernardo Dominic PROPOSAL
Jeanfrancois R DilliardRussiaAnna Fali RENEWAL
James N RimArgentinaXuxue Feng NEW
Ivar N ChuiBrazilIoni Bowcher NEGOTIATION
Arvin P MarrierRussiaOnyama Limba RENEWAL
Antonio O CaldareraSpainIoni Bowcher RENEWAL
Mayumi E RulapaughIndiaIoni Bowcher RENEWAL
Sinclair U StockhamSpainIoni Bowcher RENEWAL
Costa Y FlosiArgentinaOnyama Limba RENEWAL
Octavia B SlusarskiAustraliaAsiya Javayant QUALIFIED
Greenwood A FerenczUnited KingdomStephen Shaw PROPOSAL
Stacey F CaudyBrazilOnyama Limba UNQUALIFIED
Murillo E TollnerJapanIoni Bowcher PROPOSAL
Faith A BologniaSpainIvan Magalhaes QUALIFIED
Costa J RoysterArgentinaAnna Fali UNQUALIFIED
Morrow Z MarrierCanadaOnyama Limba RENEWAL
Mayumi X BowleyFranceAmy Elsner QUALIFIED
Cody P BriddickItalyAmy Elsner UNQUALIFIED
Francesco G VenereGermanyAsiya Javayant PROPOSAL
Clifford W FlosiItalyIvan Magalhaes RENEWAL
Arvin G NestleAustraliaAmy Elsner NEGOTIATION
Maisha S CampainCanadaStephen Shaw PROPOSAL
Jennifer F RoysterFranceOnyama Limba QUALIFIED
Frozen Columns
Name
Silvio R Chui
Jennifer D Ferencz
Faith T Glick
Darci I Glick
Alejandro M Dilliard
Arvin U Saylors
Alejandro I Campain
Antonio O Sergi
Murillo N Iturbide
Nicolas I Tollner
Kaitlin F Foller
Salvatore S Malet
Darci B Malet
Mujtaba U Tollner
Wickens B Schemmer
Darci C Inouye
Julie P Caudy
Maria T Oldroyd
Salvatore C Malet
Cody E Rulapaugh
Mayumi M Amigon
Greenwood X Nestle
Ricardo K Waycott
Jefferson G Stockham
Aika M Caldarera
Adams B Kolmetz
Aditya U Chui
Claire D Doe
Darci L Darakjy
Faith J Sergi
Cody O Kolmetz
Maisha M Doe
Jeanfrancois Z Marrier
Murillo N Wieser
Maria F Gillian
Greenwood L Foller
Kadeem I Caudy
Francesco C Ostrosky
Leja V Stockham
Misaki N Caldarera
Antonio A Venere
Antonio E Chui
Francesco U Sergi
Nicolas A Nicka
Nicolas Y Tollner
Mujtaba S Sergi
Maisha F Marrier
Morrow K Tollner
Silvio J Rulapaugh
James F Ferencz
IdCountryDate
1000Brazil2025-08-10
1001Russia2025-08-06
1002Canada2025-07-29
1003Brazil2025-07-28
1004India2025-07-16
1005Russia2025-07-25
1006Italy2025-07-28
1007France2025-08-10
1008Germany2025-08-09
1009Japan2025-08-07
1010Brazil2025-07-20
1011Italy2025-08-03
1012Japan2025-08-03
1013Italy2025-07-16
1014Brazil2025-07-17
1015India2025-07-30
1016Japan2025-07-21
1017Brazil2025-08-05
1018United Kingdom2025-08-10
1019Japan2025-07-31
1020Germany2025-08-03
1021Brazil2025-08-12
1022Germany2025-08-01
1023United Kingdom2025-08-11
1024Canada2025-07-23
1025Canada2025-07-19
1026Brazil2025-07-25
1027Japan2025-08-02
1028France2025-07-25
1029Italy2025-08-02
1030Russia2025-08-10
1031Australia2025-07-24
1032Japan2025-08-13
1033Italy2025-07-16
1034Canada2025-07-30
1035Australia2025-08-06
1036Brazil2025-08-01
1037Argentina2025-08-11
1038Germany2025-08-06
1039Argentina2025-08-01
1040Spain2025-08-01
1041Brazil2025-08-05
1042Germany2025-07-21
1043India2025-08-13
1044France2025-07-28
1045Spain2025-07-28
1046Japan2025-07-29
1047United Kingdom2025-07-17
1048Australia2025-07-20
1049India2025-07-22

On-Demand Data

NameIdCountryDate
Johnson D Maclead1000Germany2025-07-19
Salvatore Q Doe1001India2025-07-29
Morrow J Dilliard1002Australia2025-08-07
Leja R Garufi1003Japan2025-07-21
Tony L Shinko1004France2025-07-25
Claire E Rim1005India2025-08-09
Jeanfrancois A Amigon1006Brazil2025-08-06
Morrow S Stockham1007Japan2025-07-16
Kaitlin W Foller1008United Kingdom2025-07-28
Greenwood B Morasca1009India2025-08-08
Munro E Marrier1010Argentina2025-08-02
Costa M Morasca1011Germany2025-08-14
Misaki I Nicka1012United Kingdom2025-07-24
James A Slusarski1013United Kingdom2025-07-19
Darci W Royster1014Australia2025-07-19
Silvio E Stockham1015Australia2025-07-21
Misaki X Vocelka1016Germany2025-07-19
Leon H Saylors1017Spain2025-07-30
Ricardo F Venere1018Germany2025-08-09
Nicolas D Caudy1019Canada2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh U PerinUnited KingdomStephen Shaw RENEWAL
Alejandro F CaldareraIndiaIvan Magalhaes NEGOTIATION
Murillo P VenereFranceAmy Elsner NEW
Leja S DilliardGermanyAmy Elsner QUALIFIED
Darci T StensethUnited KingdomAmy Elsner NEW
Ricardo S WaycottIndiaAnna Fali PROPOSAL
Kadeem M DilliardCanadaAsiya Javayant RENEWAL
Leon M FlosiJapanXuxue Feng UNQUALIFIED
Juan C KuskoAustraliaXuxue Feng NEW
Morrow X FerenczCanadaStephen Shaw PROPOSAL
Jennifer X BologniaArgentinaAsiya Javayant NEGOTIATION
Octavia V NestleRussiaXuxue Feng PROPOSAL
Cody T MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Darci T NestleItalyAnna Fali UNQUALIFIED
Mayumi W SaylorsJapanIvan Magalhaes NEW
Ashley Q ChuiAustraliaOnyama Limba QUALIFIED
Silvio X StockhamItalyElwin Sharvill NEW
Jeanfrancois B SergiIndiaIvan Magalhaes NEW
Wickens Y FigeroaBrazilAsiya Javayant NEGOTIATION
Clifford H FlosiAustraliaOnyama Limba PROPOSAL
Isabel M VenereArgentinaIoni Bowcher UNQUALIFIED
Jennifer N MaletFranceAmy Elsner NEGOTIATION
Nicolas X PerinIndiaIoni Bowcher NEGOTIATION
Smith H WhobreyCanadaAsiya Javayant NEGOTIATION
Costa D DilliardAustraliaAmy Elsner UNQUALIFIED
Mujtaba J RimSpainBernardo Dominic NEGOTIATION
Mujtaba K OldroydIndiaAsiya Javayant RENEWAL
Adams O RutaBrazilOnyama Limba NEGOTIATION
Aditya W RoysterCanadaAmy Elsner PROPOSAL
David Z PoquetteRussiaIvan Magalhaes UNQUALIFIED
James E VenereCanadaStephen Shaw NEGOTIATION
Sinclair H WhobreySpainIoni Bowcher RENEWAL
Emily Q FollerSpainBernardo Dominic NEW
Jeanfrancois Q AlbaresFranceBernardo Dominic QUALIFIED
Arvin D SergiRussiaXuxue Feng QUALIFIED
Mujtaba X WieserJapanAnna Fali NEW
Salvatore Q PoquetteJapanAmy Elsner UNQUALIFIED
Aika T SchemmerFranceIoni Bowcher QUALIFIED
Morrow J DarakjyIndiaAmy Elsner NEGOTIATION
Maria H RimSpainAnna Fali PROPOSAL

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