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
Nicolas A CaudyAustraliaIoni Bowcher PROPOSAL
Aruna B WaycottSpainBernardo Dominic UNQUALIFIED
David O RoysterGermanyIvan Magalhaes PROPOSAL
Faith B BriddickIndiaElwin Sharvill PROPOSAL
Deepesh D GillianCanadaStephen Shaw NEW
Aditya R NestleBrazilOnyama Limba PROPOSAL
Silvio Q MorascaItalyOnyama Limba NEGOTIATION
Faith C WieserArgentinaElwin Sharvill NEW
Aika E WhobreyIndiaAnna Fali QUALIFIED
Sinclair J SaylorsAustraliaIvan Magalhaes NEGOTIATION
Antonio J CaldareraGermanyBernardo Dominic UNQUALIFIED
Maisha H BriddickIndiaXuxue Feng NEGOTIATION
Tony G RutaItalyIvan Magalhaes NEW
Kadeem E GauchoRussiaOnyama Limba UNQUALIFIED
Jefferson T MacleadArgentinaAmy Elsner RENEWAL
Aika Y OstroskyGermanyAmy Elsner NEW
James S InouyeBrazilAnna Fali RENEWAL
Costa Q RulapaughRussiaIoni Bowcher PROPOSAL
Juan K StensethGermanyXuxue Feng UNQUALIFIED
Ivar U DoeCanadaAmy Elsner NEGOTIATION
Claire L ShinkoJapanIvan Magalhaes RENEWAL
Nicolas O CampainAustraliaIvan Magalhaes NEW
Adams W StockhamUnited KingdomAnna Fali PROPOSAL
Octavia P GlickSpainOnyama Limba NEGOTIATION
Juan Z VocelkaJapanAnna Fali RENEWAL
Adams Q ButtIndiaXuxue Feng NEGOTIATION
Octavia E RimArgentinaIoni Bowcher PROPOSAL
Leja J OldroydIndiaOnyama Limba NEW
Aruna C OldroydGermanyAsiya Javayant RENEWAL
Juan N SaylorsArgentinaAnna Fali QUALIFIED
Aika P NestleJapanBernardo Dominic NEGOTIATION
Ashley B SlusarskiBrazilElwin Sharvill QUALIFIED
Ivar G ButtArgentinaBernardo Dominic RENEWAL
Rodrigues Z RoysterIndiaBernardo Dominic PROPOSAL
Munro A DoeRussiaOnyama Limba PROPOSAL
Alejandro E GillianIndiaIoni Bowcher UNQUALIFIED
Leon C CampainCanadaIoni Bowcher PROPOSAL
Clifford I FigeroaFranceAnna Fali NEGOTIATION
Chavez S WhobreySpainAmy Elsner NEW
Chavez Z SchemmerAustraliaElwin Sharvill QUALIFIED
Jeanfrancois Y MorascaCanadaAmy Elsner QUALIFIED
Maria I VocelkaSpainIvan Magalhaes NEW
Misaki B FigeroaJapanAmy Elsner UNQUALIFIED
Greenwood O RoysterIndiaElwin Sharvill RENEWAL
Misaki E BologniaItalyStephen Shaw NEGOTIATION
Octavia I VocelkaIndiaIoni Bowcher PROPOSAL
Sinclair I MaletArgentinaBernardo Dominic QUALIFIED
Isabel Q CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas F DarakjyArgentinaOnyama Limba UNQUALIFIED
Ricardo R StensethArgentinaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson Y MarrierRussiaAnna Fali QUALIFIED
Wickens N ChuiCanadaAnna Fali PROPOSAL
Clifford L WaycottJapanElwin Sharvill UNQUALIFIED
Claire Q ShinkoCanadaIvan Magalhaes PROPOSAL
Julie J OstroskyUnited KingdomAsiya Javayant PROPOSAL
Francesco Q AlbaresIndiaIvan Magalhaes NEW
Rodrigues U OstroskyGermanyAsiya Javayant NEGOTIATION
Salvatore P KolmetzRussiaStephen Shaw RENEWAL
Johnson C GlickJapanAsiya Javayant PROPOSAL
David B CampainFranceAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily P FlosiItaly2025-09-28Chanay, Jeffrey A Esq UNQUALIFIED42Anna Fali
1001Murillo B StensethJapan2025-09-20Chanay, Jeffrey A Esq NEGOTIATION41Elwin Sharvill
1002Sinclair J KolmetzFrance2025-09-21King, Christopher A Esq RENEWAL15Ivan Magalhaes
1003David B RulapaughCanada2025-10-01Chemel, James L Cpa NEGOTIATION83Anna Fali
1004Costa X CaudyArgentina2025-10-07Chanay, Jeffrey A Esq UNQUALIFIED93Elwin Sharvill
1005Octavia C StockhamIndia2025-09-28Chapman, Ross E Esq UNQUALIFIED96Xuxue Feng
1006Kadeem D GauchoCanada2025-09-22Feltz Printing Service RENEWAL6Onyama Limba
1007Claire S SchemmerRussia2025-09-21Chemel, James L Cpa RENEWAL62Ioni Bowcher
1008Costa C ButtGermany2025-10-06Rousseaux, Michael Esq PROPOSAL34Bernardo Dominic
1009Misaki L PerinIndia2025-09-16Dorl, James J Esq NEGOTIATION35Anna Fali
1010Ivar I VenereIndia2025-09-26Morlong Associates QUALIFIED58Asiya Javayant
1011Salvatore W InouyeItaly2025-09-14Rousseaux, Michael Esq RENEWAL25Asiya Javayant
1012Stacey U OstroskyGermany2025-09-28Truhlar And Truhlar Attys QUALIFIED70Elwin Sharvill
1013Jeanfrancois Q BologniaBrazil2025-09-19Rangoni Of Florence QUALIFIED14Bernardo Dominic
1014Adams P CaldareraAustralia2025-09-23King, Christopher A Esq UNQUALIFIED92Elwin Sharvill
1015Mujtaba X GarufiJapan2025-09-11Rousseaux, Michael Esq PROPOSAL73Bernardo Dominic
1016Mujtaba G StockhamArgentina2025-09-20Printing Dimensions NEGOTIATION43Elwin Sharvill
1017Silvio I StensethSpain2025-10-01Dorl, James J Esq PROPOSAL46Ioni Bowcher
1018Stacey Y CaldareraFrance2025-09-12Commercial Press NEW90Anna Fali
1019Chavez L PerinFrance2025-09-15Rangoni Of Florence QUALIFIED57Amy Elsner
1020Ashley I SergiRussia2025-09-11Benton, John B Jr NEGOTIATION52Ivan Magalhaes
1021Aruna A MaletJapan2025-09-10Chemel, James L Cpa PROPOSAL67Asiya Javayant
1022Jennifer Z SergiItaly2025-09-19Truhlar And Truhlar Attys NEW3Ioni Bowcher
1023Maisha R ChuiJapan2025-09-08Truhlar And Truhlar Attys RENEWAL46Bernardo Dominic
1024James K DoeAustralia2025-09-18Commercial Press PROPOSAL32Xuxue Feng
1025Jennifer K SaylorsJapan2025-09-11Chapman, Ross E Esq RENEWAL47Amy Elsner
1026Stacey B GauchoUnited Kingdom2025-09-17Dorl, James J Esq RENEWAL71Xuxue Feng
1027Clifford X OldroydBrazil2025-09-17Dorl, James J Esq PROPOSAL17Ivan Magalhaes
1028Faith G AlbaresAustralia2025-09-16Rousseaux, Michael Esq PROPOSAL63Stephen Shaw
1029Izzy J PoquetteArgentina2025-10-06Morlong Associates QUALIFIED68Elwin Sharvill
1030Greenwood G MorascaUnited Kingdom2025-09-26Chapman, Ross E Esq NEW86Stephen Shaw
1031Rodrigues K SergiSpain2025-09-28Truhlar And Truhlar Attys QUALIFIED61Ivan Magalhaes
1032Misaki J PerinJapan2025-10-03Truhlar And Truhlar Attys UNQUALIFIED72Anna Fali
1033Rodrigues X FigeroaGermany2025-09-11Buckley Miller Wright NEW8Xuxue Feng
1034Julie M DarakjyItaly2025-10-01Commercial Press UNQUALIFIED10Anna Fali
1035Jefferson G PerinJapan2025-09-18Morlong Associates RENEWAL31Ioni Bowcher
1036Ashley L ButtIndia2025-10-04Buckley Miller Wright PROPOSAL49Asiya Javayant
1037Stacey M SaylorsBrazil2025-09-20Printing Dimensions NEGOTIATION40Amy Elsner
1038Salvatore S GarufiIndia2025-09-29Rangoni Of Florence UNQUALIFIED83Onyama Limba
1039Greenwood S CaudyGermany2025-09-12Printing Dimensions NEW15Xuxue Feng
1040Claire F PaprockiIndia2025-10-05Chemel, James L Cpa QUALIFIED5Ioni Bowcher
1041Mujtaba Z CaudyGermany2025-09-26Benton, John B Jr RENEWAL32Ioni Bowcher
1042Leon Q GauchoIndia2025-10-02Benton, John B Jr NEW91Ivan Magalhaes
1043Misaki N MorascaJapan2025-09-25Truhlar And Truhlar Attys RENEWAL15Amy Elsner
1044Mujtaba X InouyeFrance2025-09-25Chemel, James L Cpa NEGOTIATION2Bernardo Dominic
1045Juan J FollerCanada2025-09-15Rangoni Of Florence UNQUALIFIED82Stephen Shaw
1046Aika L InouyeBrazil2025-09-24Rangoni Of Florence NEGOTIATION73Ivan Magalhaes
1047Tony H FerenczUnited Kingdom2025-09-15Benton, John B Jr QUALIFIED30Elwin Sharvill
1048Munro V GarufiAustralia2025-09-19Rangoni Of Florence QUALIFIED66Xuxue Feng
1049Misaki G PerinUnited Kingdom2025-09-23Commercial Press PROPOSAL63Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues L SlusarskiArgentinaIvan Magalhaes QUALIFIED
Izzy L SchemmerUnited KingdomIoni Bowcher PROPOSAL
Faith W MaletGermanyAnna Fali PROPOSAL
Jeanfrancois M VenereRussiaIoni Bowcher RENEWAL
Johnson Q RulapaughArgentinaStephen Shaw NEGOTIATION
David G OstroskyCanadaAmy Elsner PROPOSAL
Salvatore J InouyeSpainAnna Fali NEW
Jeanfrancois X InouyeRussiaOnyama Limba NEW
Cody T GillianGermanyStephen Shaw QUALIFIED
David C WhobreyRussiaElwin Sharvill NEW
Tony Q WieserRussiaAmy Elsner PROPOSAL
James Z GlickArgentinaIoni Bowcher RENEWAL
Julie W SaylorsFranceStephen Shaw PROPOSAL
Kaitlin E GarufiUnited KingdomAnna Fali UNQUALIFIED
Silvio X SaylorsArgentinaBernardo Dominic NEW
Costa L BriddickAustraliaElwin Sharvill PROPOSAL
Ivar B CaldareraAustraliaAsiya Javayant NEGOTIATION
Tony Y WieserIndiaAmy Elsner QUALIFIED
Sinclair L CaldareraItalyElwin Sharvill QUALIFIED
James L FigeroaAustraliaXuxue Feng NEW
Morrow X WhobreyAustraliaElwin Sharvill PROPOSAL
Jeanfrancois Q RulapaughCanadaStephen Shaw PROPOSAL
Mujtaba J ShinkoUnited KingdomIvan Magalhaes RENEWAL
Maria S FerenczSpainAsiya Javayant RENEWAL
Salvatore M SaylorsCanadaAsiya Javayant UNQUALIFIED
Ashley O BriddickIndiaAmy Elsner PROPOSAL
Silvio T IturbideGermanyStephen Shaw RENEWAL
Deepesh C KolmetzFranceBernardo Dominic QUALIFIED
Deepesh D OstroskyRussiaAsiya Javayant QUALIFIED
Murillo Y CampainArgentinaBernardo Dominic UNQUALIFIED
Chavez O NickaItalyAmy Elsner QUALIFIED
Silvio Y SaylorsRussiaIoni Bowcher PROPOSAL
Leon R RoysterBrazilAmy Elsner PROPOSAL
Kadeem E StockhamJapanStephen Shaw PROPOSAL
Munro R MorascaRussiaElwin Sharvill UNQUALIFIED
Ashley W DarakjyGermanyAnna Fali PROPOSAL
Aruna U DilliardBrazilAsiya Javayant NEW
Costa J StockhamBrazilIvan Magalhaes UNQUALIFIED
Ricardo W DarakjyFranceStephen Shaw NEGOTIATION
Cody V PerinSpainIoni Bowcher UNQUALIFIED
Leon Y AmigonCanadaStephen Shaw RENEWAL
Aruna C SlusarskiSpainAsiya Javayant UNQUALIFIED
Johnson V BriddickAustraliaAmy Elsner PROPOSAL
Leja H GillianUnited KingdomIvan Magalhaes PROPOSAL
Tony K SchemmerArgentinaIvan Magalhaes RENEWAL
Morrow R FlosiFranceElwin Sharvill NEGOTIATION
Clifford G StockhamIndiaAsiya Javayant QUALIFIED
Leon J FerenczSpainXuxue Feng PROPOSAL
Nicolas Q FlosiArgentinaStephen Shaw QUALIFIED
Wickens K RutaGermanyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Nicolas N Shinko
Aruna K Dilliard
Isabel B Shinko
Kadeem U Bowley
Mayumi M Schemmer
Silvio L Sergi
Cody C Butt
Leon F Darakjy
Tony P Poquette
Emily T Kusko
Jefferson F Rim
Rodrigues T Poquette
Leon Z Royster
Mayumi V Saylors
Maisha P Ruta
Juan W Stenseth
Kadeem S Foller
Isabel I Slusarski
Ricardo Q Poquette
Morrow U Bowley
Emily C Maclead
James S Caudy
Nicolas W Slusarski
Chavez V Wieser
Chavez X Flosi
Arvin Y Kolmetz
Cody T Venere
Emily T Malet
Jennifer O Sergi
Aditya R Tollner
Mujtaba I Stockham
Murillo C Gaucho
Misaki T Butt
Octavia Y Bowley
Darci W Rim
Costa F Nicka
Clifford K Slusarski
Maria M Whobrey
Stacey G Perin
David U Rim
Costa P Iturbide
Octavia J Nestle
Francesco G Flosi
Misaki Y Butt
Julie F Malet
Chavez Y Bowley
Juan F Campain
Antonio I Schemmer
Aditya P Foller
Kadeem L Royster
IdCountryDate
1000United Kingdom2025-10-07
1001India2025-09-17
1002Japan2025-09-25
1003Germany2025-10-06
1004France2025-09-20
1005Australia2025-10-03
1006United Kingdom2025-09-24
1007Argentina2025-10-02
1008United Kingdom2025-09-26
1009France2025-10-01
1010Brazil2025-09-12
1011Argentina2025-09-22
1012Spain2025-09-10
1013Australia2025-10-05
1014Australia2025-09-29
1015Spain2025-09-21
1016India2025-10-07
1017Spain2025-09-30
1018Argentina2025-09-19
1019United Kingdom2025-09-27
1020United Kingdom2025-09-29
1021Brazil2025-09-09
1022Germany2025-10-03
1023Italy2025-10-07
1024Russia2025-09-21
1025France2025-09-13
1026France2025-10-06
1027Australia2025-09-30
1028Germany2025-09-08
1029Australia2025-09-28
1030Russia2025-09-08
1031Italy2025-09-18
1032Italy2025-09-10
1033Germany2025-09-10
1034Germany2025-10-07
1035France2025-09-24
1036Australia2025-09-26
1037Germany2025-09-21
1038Italy2025-09-12
1039United Kingdom2025-10-04
1040Canada2025-09-30
1041India2025-09-12
1042Spain2025-10-05
1043Italy2025-09-17
1044Germany2025-09-20
1045Japan2025-09-28
1046Italy2025-09-20
1047Australia2025-10-05
1048Japan2025-09-13
1049Argentina2025-10-07

On-Demand Data

NameIdCountryDate
Jefferson S Wieser1000Australia2025-09-29
Octavia L Bowley1001Germany2025-09-22
Aika S Bowley1002Japan2025-09-14
Jones I Bowley1003Russia2025-10-04
Juan P Stockham1004Australia2025-09-29
Chavez F Poquette1005Brazil2025-09-30
Munro J Caldarera1006India2025-10-07
Kaitlin C Figeroa1007United Kingdom2025-09-21
Kaitlin G Dilliard1008Italy2025-10-07
Alejandro U Campain1009Germany2025-09-11
Alejandro B Perin1010Russia2025-09-14
Murillo S Ruta1011Argentina2025-09-20
Claire M Kolmetz1012Germany2025-10-03
Julie F Marrier1013Brazil2025-09-26
Ricardo U Oldroyd1014France2025-10-06
Kadeem G Rulapaugh1015Brazil2025-09-13
Costa U Perin1016France2025-09-25
Salvatore B Iturbide1017Japan2025-10-01
Morrow M Ferencz1018Germany2025-09-10
Silvio A Flosi1019Russia2025-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin K RoysterFranceBernardo Dominic NEGOTIATION
Silvio M WaycottArgentinaAnna Fali NEW
Chavez Z WaycottBrazilXuxue Feng NEGOTIATION
Rodrigues X RulapaughArgentinaIvan Magalhaes RENEWAL
Francesco G CaldareraIndiaIoni Bowcher QUALIFIED
Emily A IturbideGermanyAsiya Javayant NEGOTIATION
Alejandro W WhobreyIndiaXuxue Feng PROPOSAL
Maisha U IturbideCanadaIvan Magalhaes QUALIFIED
Greenwood D MorascaFranceXuxue Feng UNQUALIFIED
Clifford L TollnerCanadaIoni Bowcher UNQUALIFIED
Maria P BologniaSpainIoni Bowcher UNQUALIFIED
Leon P SaylorsFranceXuxue Feng QUALIFIED
Aditya X MorascaGermanyIvan Magalhaes QUALIFIED
Ashley I DilliardCanadaElwin Sharvill NEGOTIATION
Arvin E TollnerUnited KingdomIvan Magalhaes RENEWAL
Ricardo Z CaldareraFranceStephen Shaw RENEWAL
Nicolas N SergiFranceXuxue Feng RENEWAL
Costa E PoquetteRussiaAmy Elsner RENEWAL
Juan Y MaletSpainXuxue Feng NEGOTIATION
Wickens E BowleyItalyAsiya Javayant RENEWAL
Sinclair T FollerUnited KingdomAmy Elsner PROPOSAL
Johnson N MacleadArgentinaOnyama Limba QUALIFIED
Murillo E RimRussiaAnna Fali QUALIFIED
Arvin Z CaudyBrazilAnna Fali NEW
Claire D FigeroaItalyIvan Magalhaes RENEWAL
Juan L GlickJapanXuxue Feng NEGOTIATION
Aruna W SchemmerUnited KingdomXuxue Feng RENEWAL
Salvatore M GillianIndiaAnna Fali NEGOTIATION
Claire G MaletArgentinaAnna Fali NEW
Nicolas C SergiJapanAmy Elsner NEW
Kaitlin B DarakjyArgentinaOnyama Limba PROPOSAL
Emily R InouyeAustraliaIvan Magalhaes NEGOTIATION
Isabel B IturbideBrazilIvan Magalhaes NEGOTIATION
Emily A WaycottGermanyElwin Sharvill NEW
Ivar I MorascaSpainStephen Shaw RENEWAL
Jones Q FollerJapanAsiya Javayant PROPOSAL
Salvatore G OstroskyUnited KingdomAsiya Javayant RENEWAL
Smith Z PoquetteSpainIvan Magalhaes UNQUALIFIED
Mayumi B DoeArgentinaIvan Magalhaes NEGOTIATION
Greenwood X VocelkaSpainIvan Magalhaes 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>