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
Rodrigues P RulapaughItalyElwin Sharvill NEW
Juan T InouyeUnited KingdomAnna Fali QUALIFIED
Murillo C BowleyBrazilAmy Elsner NEGOTIATION
Leon H OstroskyRussiaBernardo Dominic QUALIFIED
Darci Q NestleGermanyAmy Elsner PROPOSAL
Greenwood U MarrierBrazilStephen Shaw UNQUALIFIED
Kadeem Y DilliardAustraliaStephen Shaw NEW
Jones H PoquetteGermanyAmy Elsner PROPOSAL
Misaki Y KuskoItalyOnyama Limba RENEWAL
Chavez F BowleyFranceElwin Sharvill NEW
Ivar B StockhamUnited KingdomIoni Bowcher QUALIFIED
Clifford I IturbideSpainStephen Shaw PROPOSAL
Costa N OldroydFranceAsiya Javayant NEGOTIATION
Maria V WieserUnited KingdomBernardo Dominic PROPOSAL
Antonio X TollnerBrazilBernardo Dominic QUALIFIED
Faith U FerenczAustraliaAmy Elsner NEGOTIATION
Tony H GauchoItalyIoni Bowcher PROPOSAL
Aditya W ChuiBrazilBernardo Dominic QUALIFIED
Ivar R MorascaUnited KingdomAmy Elsner NEGOTIATION
Maria K CaudySpainStephen Shaw RENEWAL
Smith W KuskoSpainBernardo Dominic UNQUALIFIED
Faith K VenereRussiaAnna Fali NEW
Faith D FerenczAustraliaBernardo Dominic QUALIFIED
Jeanfrancois R OldroydCanadaElwin Sharvill QUALIFIED
Salvatore V MorascaFranceIoni Bowcher NEGOTIATION
Mujtaba M VocelkaSpainOnyama Limba UNQUALIFIED
Ivar O RoysterCanadaAnna Fali NEW
Silvio S KuskoUnited KingdomAnna Fali NEGOTIATION
Kaitlin S ButtRussiaIvan Magalhaes RENEWAL
Alejandro R ChuiRussiaIoni Bowcher QUALIFIED
Jefferson O ShinkoCanadaAsiya Javayant UNQUALIFIED
Salvatore F GarufiAustraliaOnyama Limba RENEWAL
Faith U KuskoIndiaXuxue Feng RENEWAL
Faith W OldroydRussiaAnna Fali NEW
Costa V SchemmerAustraliaXuxue Feng PROPOSAL
Murillo W MaletUnited KingdomAsiya Javayant NEW
Aditya L RutaAustraliaElwin Sharvill NEGOTIATION
Smith N DilliardFranceBernardo Dominic NEW
Kadeem N GarufiAustraliaStephen Shaw RENEWAL
Alejandro D MarrierArgentinaBernardo Dominic NEGOTIATION
Wickens V RulapaughAustraliaStephen Shaw PROPOSAL
Kaitlin I ChuiBrazilStephen Shaw PROPOSAL
Chavez I GarufiGermanyElwin Sharvill PROPOSAL
Misaki K CampainRussiaOnyama Limba RENEWAL
Ashley X MacleadArgentinaStephen Shaw NEW
Jones V FigeroaBrazilAnna Fali NEGOTIATION
Greenwood Q BriddickIndiaIoni Bowcher NEGOTIATION
Antonio I ButtFranceStephen Shaw QUALIFIED
Murillo I NestleFranceAnna Fali QUALIFIED
Maria Y RoysterItalyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens R DoeSpainBernardo Dominic UNQUALIFIED
Leja J InouyeItalyOnyama Limba UNQUALIFIED
Stacey V CaudyJapanIvan Magalhaes UNQUALIFIED
Maisha B MacleadJapanXuxue Feng UNQUALIFIED
Emily Y RoysterItalyBernardo Dominic UNQUALIFIED
Smith Y KuskoRussiaStephen Shaw PROPOSAL
Munro V FlosiBrazilXuxue Feng NEGOTIATION
Kaitlin L RoysterIndiaIoni Bowcher UNQUALIFIED
Clifford M NestleGermanyAnna Fali PROPOSAL
Darci K ChuiJapanElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki N InouyeBrazil2025-09-24King, Christopher A Esq RENEWAL56Ivan Magalhaes
1001James Z TollnerAustralia2025-10-08Chanay, Jeffrey A Esq QUALIFIED34Elwin Sharvill
1002David B CaldareraSpain2025-09-25Chapman, Ross E Esq QUALIFIED67Ioni Bowcher
1003Jennifer U MacleadCanada2025-09-23Benton, John B Jr NEGOTIATION41Elwin Sharvill
1004David X SchemmerCanada2025-10-08Chemel, James L Cpa QUALIFIED2Ioni Bowcher
1005Costa I WhobreyBrazil2025-10-20Chapman, Ross E Esq PROPOSAL79Bernardo Dominic
1006Aruna X BriddickJapan2025-10-10Feiner Bros QUALIFIED97Asiya Javayant
1007Mayumi D IturbideBrazil2025-10-03Truhlar And Truhlar Attys RENEWAL33Ioni Bowcher
1008Leon X PerinUnited Kingdom2025-09-21Commercial Press RENEWAL98Amy Elsner
1009Ricardo C AlbaresAustralia2025-10-05Buckley Miller Wright PROPOSAL66Elwin Sharvill
1010Jennifer W SaylorsUnited Kingdom2025-09-21Chanay, Jeffrey A Esq RENEWAL88Amy Elsner
1011Rodrigues E PerinCanada2025-10-15Chanay, Jeffrey A Esq RENEWAL10Ioni Bowcher
1012David L DilliardIndia2025-10-05Feiner Bros NEGOTIATION90Asiya Javayant
1013Francesco R OstroskyJapan2025-09-25Feltz Printing Service QUALIFIED50Anna Fali
1014Ricardo C OstroskyUnited Kingdom2025-09-21Rangoni Of Florence RENEWAL48Amy Elsner
1015Salvatore N RutaAustralia2025-09-25Commercial Press QUALIFIED54Stephen Shaw
1016Maria V GauchoBrazil2025-09-23Feltz Printing Service UNQUALIFIED74Ioni Bowcher
1017Ashley L BowleyIndia2025-09-21Benton, John B Jr NEW9Onyama Limba
1018Darci G PaprockiJapan2025-10-07Printing Dimensions UNQUALIFIED70Bernardo Dominic
1019Mayumi S CaldareraSpain2025-10-07King, Christopher A Esq UNQUALIFIED27Onyama Limba
1020Tony B OldroydIndia2025-09-22Feltz Printing Service NEGOTIATION47Onyama Limba
1021Silvio Z FlosiCanada2025-10-07Rousseaux, Michael Esq UNQUALIFIED85Stephen Shaw
1022Maisha K CampainBrazil2025-10-05Benton, John B Jr UNQUALIFIED34Stephen Shaw
1023Francesco B GillianGermany2025-09-27Benton, John B Jr NEW19Onyama Limba
1024Maria G SaylorsUnited Kingdom2025-10-10Printing Dimensions NEW55Onyama Limba
1025Darci M WieserGermany2025-10-16Chapman, Ross E Esq NEGOTIATION37Ivan Magalhaes
1026Silvio E OstroskyGermany2025-09-23Printing Dimensions QUALIFIED69Xuxue Feng
1027Alejandro X OstroskyJapan2025-10-13Feltz Printing Service PROPOSAL3Ivan Magalhaes
1028Izzy M GillianIndia2025-10-10King, Christopher A Esq UNQUALIFIED76Asiya Javayant
1029Faith H RulapaughJapan2025-10-19Chemel, James L Cpa RENEWAL98Xuxue Feng
1030Juan E GlickItaly2025-09-28Feltz Printing Service QUALIFIED10Bernardo Dominic
1031Octavia X BowleySpain2025-10-19Rousseaux, Michael Esq RENEWAL72Ioni Bowcher
1032Costa Q RoysterJapan2025-10-11Rangoni Of Florence RENEWAL41Bernardo Dominic
1033Leon L DarakjySpain2025-10-08Chemel, James L Cpa NEGOTIATION25Ivan Magalhaes
1034Francesco Q MarrierAustralia2025-10-05Rousseaux, Michael Esq RENEWAL58Elwin Sharvill
1035Sinclair U ButtRussia2025-09-28Chapman, Ross E Esq RENEWAL21Anna Fali
1036Rodrigues R MarrierRussia2025-09-30Commercial Press PROPOSAL72Onyama Limba
1037Chavez V RoysterUnited Kingdom2025-09-22Dorl, James J Esq UNQUALIFIED0Xuxue Feng
1038Mujtaba E CaudyRussia2025-09-29Chanay, Jeffrey A Esq QUALIFIED11Ivan Magalhaes
1039Izzy A FlosiUnited Kingdom2025-09-26Chemel, James L Cpa UNQUALIFIED46Bernardo Dominic
1040Greenwood V RoysterJapan2025-09-26Buckley Miller Wright PROPOSAL61Onyama Limba
1041Aruna D PoquetteBrazil2025-09-23Chapman, Ross E Esq PROPOSAL1Onyama Limba
1042Francesco U StockhamIndia2025-09-24Commercial Press QUALIFIED2Amy Elsner
1043Cody Y NickaIndia2025-10-11Truhlar And Truhlar Attys NEGOTIATION48Stephen Shaw
1044Chavez Q GarufiCanada2025-09-27Truhlar And Truhlar Attys RENEWAL88Anna Fali
1045Alejandro N DilliardItaly2025-10-06Chapman, Ross E Esq RENEWAL94Amy Elsner
1046Deepesh U PaprockiIndia2025-10-19Buckley Miller Wright PROPOSAL43Amy Elsner
1047Stacey C SlusarskiGermany2025-09-21Feltz Printing Service NEW15Onyama Limba
1048Salvatore P FlosiBrazil2025-09-21Printing Dimensions NEGOTIATION60Anna Fali
1049Silvio V VocelkaAustralia2025-09-22Chanay, Jeffrey A Esq PROPOSAL9Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio E NestleJapanElwin Sharvill NEW
Smith J RutaGermanyIvan Magalhaes NEGOTIATION
Rodrigues B SlusarskiUnited KingdomAsiya Javayant NEW
Morrow G MacleadAustraliaAsiya Javayant RENEWAL
Chavez F GauchoUnited KingdomXuxue Feng QUALIFIED
Stacey O PerinGermanyElwin Sharvill UNQUALIFIED
Francesco J ChuiSpainIoni Bowcher NEGOTIATION
Murillo O GlickCanadaAmy Elsner RENEWAL
Costa O AlbaresAustraliaXuxue Feng QUALIFIED
Silvio O FlosiUnited KingdomBernardo Dominic NEGOTIATION
Aditya B SlusarskiGermanyIoni Bowcher RENEWAL
Jeanfrancois I SaylorsSpainOnyama Limba QUALIFIED
James O PaprockiSpainXuxue Feng NEGOTIATION
Munro X GlickArgentinaElwin Sharvill UNQUALIFIED
Jennifer F BologniaCanadaAmy Elsner UNQUALIFIED
Octavia Y IturbideRussiaIoni Bowcher PROPOSAL
Greenwood X OstroskyJapanBernardo Dominic NEW
Wickens K GauchoCanadaAmy Elsner QUALIFIED
Francesco M CaudyFranceOnyama Limba UNQUALIFIED
Leja N SaylorsItalyIvan Magalhaes QUALIFIED
Ricardo Q FlosiCanadaIvan Magalhaes NEW
Alejandro W RoysterUnited KingdomIvan Magalhaes QUALIFIED
Aruna U DarakjySpainBernardo Dominic PROPOSAL
Alejandro G FollerFranceAnna Fali NEW
Leon X AlbaresAustraliaAmy Elsner NEW
Francesco S GauchoRussiaStephen Shaw NEGOTIATION
Cody L FerenczUnited KingdomAmy Elsner NEW
Smith F SchemmerSpainIoni Bowcher RENEWAL
Ricardo U OldroydRussiaIvan Magalhaes NEGOTIATION
Juan P WaycottAustraliaXuxue Feng PROPOSAL
Kaitlin Z OldroydFranceIoni Bowcher NEGOTIATION
Tony L IturbideArgentinaXuxue Feng RENEWAL
Darci X PaprockiGermanyAsiya Javayant PROPOSAL
Chavez M MorascaJapanIoni Bowcher UNQUALIFIED
Izzy G AmigonJapanOnyama Limba NEW
Tony A StockhamItalyAsiya Javayant RENEWAL
Tony F FollerGermanyAnna Fali NEW
Mayumi X CaldareraIndiaAsiya Javayant QUALIFIED
Sinclair B IturbideItalyIoni Bowcher UNQUALIFIED
Octavia E MaletIndiaIoni Bowcher NEGOTIATION
Jeanfrancois L CaudyFranceXuxue Feng QUALIFIED
James Z BowleyGermanyBernardo Dominic QUALIFIED
Johnson Q ChuiArgentinaElwin Sharvill PROPOSAL
Antonio J CaudyJapanElwin Sharvill RENEWAL
James X SaylorsCanadaBernardo Dominic RENEWAL
Munro F MaletUnited KingdomIoni Bowcher RENEWAL
Ivar F WaycottFranceXuxue Feng QUALIFIED
Ashley Q DilliardCanadaStephen Shaw NEW
Jones X MaletAustraliaOnyama Limba NEGOTIATION
Greenwood D PerinCanadaAnna Fali NEGOTIATION
Frozen Columns
Name
Octavia J Ruta
Kadeem O Darakjy
Chavez C Sergi
Izzy L Vocelka
Salvatore H Oldroyd
Aruna F Schemmer
Cody J Caudy
Nicolas W Rulapaugh
Maisha R Kolmetz
Claire L Nicka
Emily L Caldarera
Darci C Albares
Wickens C Shinko
Octavia N Ostrosky
Sinclair N Waycott
Morrow C Schemmer
Aika Z Figeroa
Ashley E Glick
Ricardo L Ruta
Murillo O Campain
Izzy U Vocelka
Murillo Q Butt
Leon J Dilliard
Mujtaba M Gaucho
Antonio B Schemmer
Juan M Garufi
Adams F Royster
Arvin Q Butt
Ivar O Sergi
Morrow O Poquette
Kadeem W Rulapaugh
Maria R Chui
Silvio K Kolmetz
Johnson C Tollner
Munro H Saylors
Octavia V Bolognia
Smith I Whobrey
Juan G Rim
Chavez F Darakjy
Smith O Wieser
Mayumi O Rulapaugh
Deepesh I Marrier
Chavez K Oldroyd
Johnson X Venere
Mujtaba P Vocelka
Mayumi R Waycott
Emily Y Flosi
Emily L Butt
Juan P Ostrosky
Emily D Foller
IdCountryDate
1000Spain2025-10-11
1001Argentina2025-10-10
1002France2025-10-10
1003Brazil2025-10-10
1004Brazil2025-10-14
1005Argentina2025-10-20
1006Japan2025-09-25
1007Brazil2025-10-13
1008Germany2025-09-30
1009Brazil2025-10-09
1010Germany2025-10-16
1011Canada2025-09-27
1012France2025-10-07
1013Brazil2025-10-17
1014Brazil2025-09-28
1015Spain2025-09-29
1016Brazil2025-09-21
1017Argentina2025-10-11
1018Brazil2025-10-06
1019Germany2025-10-18
1020Japan2025-10-16
1021Brazil2025-09-22
1022Brazil2025-10-04
1023India2025-09-21
1024Spain2025-10-02
1025France2025-10-10
1026Argentina2025-10-02
1027Italy2025-09-26
1028Brazil2025-10-14
1029United Kingdom2025-09-26
1030Germany2025-10-10
1031Russia2025-09-22
1032Japan2025-10-13
1033United Kingdom2025-10-12
1034Spain2025-10-17
1035United Kingdom2025-10-07
1036India2025-10-05
1037Germany2025-10-10
1038France2025-10-17
1039Canada2025-09-26
1040Canada2025-09-29
1041Canada2025-09-29
1042Argentina2025-10-02
1043Australia2025-10-11
1044Italy2025-10-06
1045Russia2025-09-28
1046Argentina2025-09-23
1047Brazil2025-09-24
1048Germany2025-10-06
1049Germany2025-10-09

On-Demand Data

NameIdCountryDate
Ivar Q Morasca1000Australia2025-10-10
Murillo H Campain1001Germany2025-10-08
Cody B Kusko1002Italy2025-10-13
Aditya A Saylors1003Argentina2025-10-03
Ivar J Ruta1004United Kingdom2025-09-26
Morrow Z Darakjy1005Argentina2025-10-04
Sinclair D Butt1006Germany2025-09-26
Smith R Glick1007Germany2025-10-11
Munro R Iturbide1008Canada2025-09-21
Octavia O Whobrey1009Argentina2025-09-27
Johnson X Bolognia1010Germany2025-09-24
Rodrigues D Dilliard1011United Kingdom2025-09-23
Ricardo X Ruta1012Spain2025-10-08
Aditya Y Morasca1013United Kingdom2025-10-03
Cody Q Gillian1014Germany2025-09-26
Aditya Z Caldarera1015France2025-09-21
Ricardo Q Marrier1016India2025-09-26
Rodrigues X Garufi1017Italy2025-10-20
Francesco D Tollner1018Argentina2025-10-20
Silvio W Gaucho1019India2025-10-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith F MaletIndiaAmy Elsner NEGOTIATION
Maria M PaprockiAustraliaIvan Magalhaes PROPOSAL
Claire Y RimAustraliaStephen Shaw UNQUALIFIED
Claire L SergiUnited KingdomStephen Shaw NEGOTIATION
Isabel H RutaUnited KingdomAnna Fali PROPOSAL
James G PoquetteItalyOnyama Limba PROPOSAL
Juan I FlosiAustraliaIoni Bowcher RENEWAL
Jones E AlbaresSpainBernardo Dominic NEW
Morrow F TollnerAustraliaIoni Bowcher NEW
Misaki N IturbideJapanStephen Shaw NEW
Maria F CaudyIndiaAsiya Javayant NEW
Mayumi T MarrierCanadaIvan Magalhaes NEW
Johnson Y InouyeIndiaOnyama Limba QUALIFIED
Francesco G SlusarskiSpainBernardo Dominic UNQUALIFIED
Cody R PaprockiGermanyAmy Elsner RENEWAL
Aruna W PerinAustraliaIvan Magalhaes PROPOSAL
Leja W VocelkaArgentinaElwin Sharvill NEGOTIATION
Kaitlin Z RutaIndiaAsiya Javayant RENEWAL
Wickens H FlosiIndiaOnyama Limba RENEWAL
Misaki M MorascaFranceBernardo Dominic PROPOSAL
Izzy N RutaJapanXuxue Feng UNQUALIFIED
Maria S SergiJapanAsiya Javayant PROPOSAL
Wickens F GlickCanadaAnna Fali QUALIFIED
Ricardo L CampainJapanElwin Sharvill NEGOTIATION
Smith J CaldareraGermanyOnyama Limba RENEWAL
Alejandro L RulapaughIndiaXuxue Feng NEGOTIATION
Isabel M CampainSpainOnyama Limba QUALIFIED
Leon V KuskoIndiaXuxue Feng QUALIFIED
Mujtaba V FigeroaArgentinaAnna Fali UNQUALIFIED
Aruna E WieserBrazilXuxue Feng PROPOSAL
Ashley Z NickaJapanXuxue Feng QUALIFIED
Jeanfrancois L CampainArgentinaBernardo Dominic RENEWAL
Costa U OstroskyJapanXuxue Feng QUALIFIED
Faith D WhobreySpainAnna Fali RENEWAL
James V ShinkoJapanIoni Bowcher RENEWAL
Aika W StensethAustraliaAmy Elsner QUALIFIED
Arvin H StensethGermanyIoni Bowcher QUALIFIED
Kaitlin U SlusarskiSpainIvan Magalhaes QUALIFIED
Nicolas M BowleyJapanBernardo Dominic UNQUALIFIED
Emily B MaletFranceXuxue 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>