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
Silvio Y MarrierAustraliaBernardo Dominic QUALIFIED
Morrow F SaylorsGermanyOnyama Limba NEW
Izzy K RutaRussiaElwin Sharvill NEW
Maisha B MaletItalyBernardo Dominic NEGOTIATION
Rodrigues J OstroskyJapanStephen Shaw RENEWAL
Deepesh U ButtIndiaElwin Sharvill QUALIFIED
Juan G KolmetzAustraliaAmy Elsner RENEWAL
Ricardo S MacleadFranceIvan Magalhaes UNQUALIFIED
Ivar J ShinkoArgentinaIoni Bowcher PROPOSAL
Deepesh A WaycottIndiaAsiya Javayant RENEWAL
Jones G WhobreySpainAsiya Javayant PROPOSAL
Misaki P BowleyIndiaOnyama Limba QUALIFIED
David Q RutaBrazilXuxue Feng NEW
Adams N RoysterSpainAnna Fali NEGOTIATION
Alejandro S IturbideAustraliaAmy Elsner UNQUALIFIED
Leja H KolmetzAustraliaElwin Sharvill RENEWAL
Darci Q PaprockiItalyIoni Bowcher PROPOSAL
Jefferson V FollerCanadaOnyama Limba NEGOTIATION
Maria E WhobreyArgentinaAnna Fali UNQUALIFIED
Arvin V PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Salvatore V CaudyIndiaStephen Shaw NEW
Smith W FlosiCanadaAsiya Javayant QUALIFIED
Silvio U FigeroaSpainElwin Sharvill QUALIFIED
Octavia C OldroydUnited KingdomXuxue Feng PROPOSAL
Wickens Z InouyeArgentinaAsiya Javayant NEGOTIATION
Alejandro E BologniaAustraliaAmy Elsner UNQUALIFIED
Cody O ChuiBrazilAnna Fali RENEWAL
Octavia Y PerinFranceOnyama Limba PROPOSAL
Octavia D MarrierGermanyBernardo Dominic RENEWAL
Claire O MaletRussiaElwin Sharvill RENEWAL
Ricardo X WieserRussiaOnyama Limba UNQUALIFIED
Juan R KolmetzBrazilElwin Sharvill NEGOTIATION
Darci Q WaycottItalyOnyama Limba NEW
Juan G RoysterUnited KingdomElwin Sharvill NEGOTIATION
Misaki T SergiBrazilStephen Shaw UNQUALIFIED
Clifford E RoysterSpainBernardo Dominic NEGOTIATION
Johnson Y TollnerSpainAmy Elsner RENEWAL
Leja W RoysterGermanyElwin Sharvill UNQUALIFIED
Izzy L RulapaughFranceElwin Sharvill NEW
Clifford G StensethJapanOnyama Limba NEW
Wickens U AlbaresArgentinaXuxue Feng PROPOSAL
James T SaylorsAustraliaBernardo Dominic PROPOSAL
Aruna T OstroskyBrazilOnyama Limba NEW
Stacey Q FerenczJapanAsiya Javayant QUALIFIED
Costa D RoysterItalyAsiya Javayant RENEWAL
Smith X GlickBrazilAsiya Javayant NEW
James S CampainAustraliaOnyama Limba NEW
Greenwood R NestleBrazilStephen Shaw NEGOTIATION
James E WhobreyRussiaOnyama Limba QUALIFIED
Morrow F OldroydUnited KingdomAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh M RoysterAustraliaAnna Fali QUALIFIED
Deepesh B GlickIndiaIoni Bowcher RENEWAL
Maria E AmigonUnited KingdomAmy Elsner NEW
Aika S ChuiSpainOnyama Limba UNQUALIFIED
Kadeem H GillianCanadaElwin Sharvill NEGOTIATION
Tony J OldroydArgentinaIoni Bowcher QUALIFIED
Deepesh O GarufiRussiaStephen Shaw PROPOSAL
Misaki K CaldareraArgentinaStephen Shaw PROPOSAL
Tony H VocelkaFranceXuxue Feng UNQUALIFIED
Nicolas Z RutaRussiaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez S TollnerGermany2025-09-29King, Christopher A Esq PROPOSAL45Ivan Magalhaes
1001Jefferson P CaudyBrazil2025-10-01Morlong Associates PROPOSAL51Ioni Bowcher
1002Costa R VocelkaCanada2025-09-13King, Christopher A Esq UNQUALIFIED28Ivan Magalhaes
1003Cody N DilliardGermany2025-09-27Rousseaux, Michael Esq PROPOSAL65Ivan Magalhaes
1004Julie X WieserAustralia2025-10-12Chapman, Ross E Esq QUALIFIED36Anna Fali
1005Alejandro J MorascaAustralia2025-09-25Rangoni Of Florence RENEWAL61Elwin Sharvill
1006Aruna B FollerGermany2025-09-28Rousseaux, Michael Esq NEW78Asiya Javayant
1007Misaki O SergiCanada2025-10-03Feiner Bros UNQUALIFIED84Anna Fali
1008Morrow S VocelkaBrazil2025-10-07Printing Dimensions NEW95Stephen Shaw
1009Ricardo N InouyeItaly2025-10-10Rousseaux, Michael Esq UNQUALIFIED92Bernardo Dominic
1010Aditya Q NickaAustralia2025-09-13Chanay, Jeffrey A Esq NEW95Ivan Magalhaes
1011Maisha B RulapaughJapan2025-10-12Chanay, Jeffrey A Esq UNQUALIFIED9Bernardo Dominic
1012Maisha V DilliardIndia2025-09-15Rangoni Of Florence UNQUALIFIED59Onyama Limba
1013Nicolas G AlbaresItaly2025-09-25Rangoni Of Florence RENEWAL81Amy Elsner
1014Kaitlin R FerenczBrazil2025-09-30Morlong Associates UNQUALIFIED72Elwin Sharvill
1015Jennifer V GauchoBrazil2025-10-04Chemel, James L Cpa UNQUALIFIED83Ivan Magalhaes
1016Munro A WhobreyJapan2025-09-26Feltz Printing Service PROPOSAL43Stephen Shaw
1017Misaki K GarufiItaly2025-10-09Feiner Bros QUALIFIED47Asiya Javayant
1018Arvin O BriddickFrance2025-10-03Feltz Printing Service NEW78Xuxue Feng
1019Jeanfrancois S CampainJapan2025-10-10Chemel, James L Cpa UNQUALIFIED36Ivan Magalhaes
1020Ricardo A AmigonBrazil2025-09-27Chanay, Jeffrey A Esq QUALIFIED67Stephen Shaw
1021Chavez Y MacleadIndia2025-10-02Printing Dimensions PROPOSAL15Ivan Magalhaes
1022Kaitlin Y TollnerUnited Kingdom2025-10-03Chemel, James L Cpa NEGOTIATION35Amy Elsner
1023Costa C KolmetzIndia2025-09-28Morlong Associates UNQUALIFIED23Amy Elsner
1024Mayumi K BowleyJapan2025-10-07King, Christopher A Esq PROPOSAL76Amy Elsner
1025Rodrigues H DoeArgentina2025-09-19Feltz Printing Service PROPOSAL14Amy Elsner
1026Maisha N MarrierIndia2025-10-03Feltz Printing Service QUALIFIED22Elwin Sharvill
1027Stacey J MaletUnited Kingdom2025-09-18Printing Dimensions RENEWAL99Anna Fali
1028Stacey X ShinkoArgentina2025-10-02Rangoni Of Florence RENEWAL38Asiya Javayant
1029Izzy X IturbideGermany2025-09-20Chapman, Ross E Esq QUALIFIED69Xuxue Feng
1030Darci W VenereCanada2025-09-14Feiner Bros NEW60Amy Elsner
1031Antonio L FlosiAustralia2025-10-08Buckley Miller Wright UNQUALIFIED56Asiya Javayant
1032Aika C PaprockiRussia2025-09-14Truhlar And Truhlar Attys QUALIFIED53Xuxue Feng
1033Adams F SchemmerArgentina2025-10-03Dorl, James J Esq NEW56Ioni Bowcher
1034Maisha N GillianRussia2025-09-20Morlong Associates NEGOTIATION23Asiya Javayant
1035Adams O NickaUnited Kingdom2025-09-24Rangoni Of Florence QUALIFIED29Asiya Javayant
1036Julie W BriddickIndia2025-09-19Rangoni Of Florence NEW26Stephen Shaw
1037Mujtaba E VocelkaUnited Kingdom2025-09-29Commercial Press NEGOTIATION79Ivan Magalhaes
1038Sinclair W DarakjyBrazil2025-09-19Chapman, Ross E Esq NEGOTIATION94Elwin Sharvill
1039Salvatore U MarrierJapan2025-10-02Benton, John B Jr QUALIFIED57Asiya Javayant
1040Leon O ShinkoFrance2025-09-16Feiner Bros RENEWAL19Anna Fali
1041Johnson S MaletCanada2025-10-09Chemel, James L Cpa NEGOTIATION37Asiya Javayant
1042Mujtaba J BowleyArgentina2025-10-09Feiner Bros NEGOTIATION42Ivan Magalhaes
1043James X ButtIndia2025-09-16Morlong Associates NEW75Anna Fali
1044Darci O DarakjyUnited Kingdom2025-09-20Chanay, Jeffrey A Esq NEGOTIATION76Onyama Limba
1045Claire N StockhamAustralia2025-09-21Feiner Bros QUALIFIED69Amy Elsner
1046Julie E RutaArgentina2025-10-07Feiner Bros QUALIFIED2Onyama Limba
1047Claire A OstroskyUnited Kingdom2025-09-26Feltz Printing Service QUALIFIED2Xuxue Feng
1048Darci C RutaJapan2025-10-12Dorl, James J Esq NEW33Ioni Bowcher
1049Silvio W NickaJapan2025-10-12Buckley Miller Wright NEW23Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore L BologniaArgentinaElwin Sharvill UNQUALIFIED
Claire R DarakjyJapanOnyama Limba NEW
Smith C OstroskyGermanyIoni Bowcher NEGOTIATION
Tony V SchemmerBrazilAsiya Javayant UNQUALIFIED
Kadeem A NickaBrazilElwin Sharvill NEGOTIATION
Octavia L CaudyAustraliaAsiya Javayant NEGOTIATION
James A BriddickJapanIvan Magalhaes NEW
Ivar Q PaprockiSpainXuxue Feng QUALIFIED
Juan V KuskoRussiaAnna Fali RENEWAL
Chavez R FollerBrazilIvan Magalhaes RENEWAL
Jeanfrancois U RulapaughItalyStephen Shaw UNQUALIFIED
Kaitlin V SaylorsUnited KingdomAnna Fali NEW
Maria B GillianSpainAmy Elsner QUALIFIED
Jefferson E WhobreySpainAsiya Javayant NEW
Alejandro Z IturbideItalyIvan Magalhaes RENEWAL
Isabel T GillianIndiaXuxue Feng RENEWAL
Leja H NickaJapanAsiya Javayant NEGOTIATION
Francesco S RimJapanStephen Shaw NEGOTIATION
Juan K FlosiAustraliaStephen Shaw NEW
Murillo U KuskoGermanyBernardo Dominic QUALIFIED
Clifford K IturbideUnited KingdomIoni Bowcher RENEWAL
Francesco F VocelkaSpainXuxue Feng NEGOTIATION
Kadeem C RoysterFranceIvan Magalhaes QUALIFIED
Ashley D GauchoIndiaIoni Bowcher NEGOTIATION
Stacey C PaprockiItalyOnyama Limba NEGOTIATION
Arvin P SergiIndiaXuxue Feng PROPOSAL
Costa X SchemmerIndiaElwin Sharvill UNQUALIFIED
David F AlbaresCanadaAnna Fali RENEWAL
Sinclair A StensethGermanyOnyama Limba PROPOSAL
Leon Q StockhamRussiaAnna Fali PROPOSAL
Adams A CaudyAustraliaElwin Sharvill PROPOSAL
Morrow P BriddickJapanElwin Sharvill RENEWAL
Aditya J ChuiAustraliaXuxue Feng NEGOTIATION
Mayumi U KuskoArgentinaAsiya Javayant PROPOSAL
Octavia Z MorascaAustraliaAmy Elsner PROPOSAL
Mayumi A SergiBrazilOnyama Limba UNQUALIFIED
Mayumi T CaudyFranceBernardo Dominic UNQUALIFIED
Jeanfrancois T ChuiAustraliaAnna Fali QUALIFIED
Johnson B PerinCanadaIvan Magalhaes NEW
David G AlbaresIndiaAmy Elsner QUALIFIED
Jeanfrancois S SlusarskiCanadaIoni Bowcher PROPOSAL
Izzy I DilliardJapanStephen Shaw UNQUALIFIED
Sinclair P CaldareraAustraliaBernardo Dominic PROPOSAL
Leja G FerenczGermanyAsiya Javayant UNQUALIFIED
Ivar Y DoeArgentinaAnna Fali UNQUALIFIED
Leja H WhobreyBrazilOnyama Limba NEW
Wickens Z MacleadArgentinaAsiya Javayant NEGOTIATION
Juan D GarufiGermanyIvan Magalhaes NEGOTIATION
Maria B GarufiJapanAnna Fali NEW
Nicolas H DoeArgentinaElwin Sharvill RENEWAL
Frozen Columns
Name
Aika E Briddick
Ricardo Q Ostrosky
Kaitlin N Whobrey
Aruna Z Marrier
Smith Y Morasca
Emily R Briddick
Greenwood S Morasca
Misaki L Marrier
Kadeem E Caldarera
Costa U Gaucho
Kadeem C Chui
Jennifer X Oldroyd
Murillo E Inouye
Tony Q Glick
Ivar W Flosi
Maisha S Rim
Stacey A Poquette
Kaitlin W Nestle
Jefferson A Amigon
Kadeem G Schemmer
Adams S Bowley
Isabel U Shinko
Leon O Nestle
Emily X Garufi
Ashley Y Dilliard
Nicolas X Chui
Salvatore Q Dilliard
Smith P Perin
Kadeem P Gillian
Francesco E Chui
Kadeem I Whobrey
Johnson Y Foller
Sinclair G Caldarera
Jeanfrancois G Shinko
Faith T Ostrosky
Kadeem R Iturbide
Johnson V Wieser
Clifford M Iturbide
David W Maclead
Mujtaba V Caudy
Claire F Vocelka
Aditya A Wieser
Cody M Tollner
Alejandro I Slusarski
Costa N Slusarski
Nicolas M Wieser
Aika M Rulapaugh
Julie H Wieser
Jennifer N Wieser
Silvio X Malet
IdCountryDate
1000Germany2025-09-28
1001United Kingdom2025-10-07
1002Italy2025-09-13
1003Brazil2025-10-08
1004Japan2025-10-10
1005Italy2025-09-30
1006Italy2025-09-24
1007Italy2025-10-12
1008Japan2025-09-28
1009Italy2025-09-26
1010Spain2025-10-04
1011Argentina2025-09-29
1012Japan2025-09-26
1013Spain2025-10-09
1014Italy2025-10-06
1015Spain2025-09-30
1016Spain2025-10-10
1017United Kingdom2025-09-28
1018Canada2025-09-14
1019Canada2025-09-22
1020United Kingdom2025-10-06
1021Germany2025-09-13
1022Italy2025-10-10
1023Spain2025-10-01
1024Italy2025-09-13
1025Brazil2025-10-01
1026Argentina2025-10-03
1027Brazil2025-10-02
1028Brazil2025-09-14
1029Argentina2025-09-26
1030Argentina2025-09-15
1031France2025-09-25
1032Argentina2025-10-03
1033Germany2025-10-09
1034India2025-10-02
1035United Kingdom2025-09-19
1036Spain2025-09-28
1037United Kingdom2025-09-26
1038Russia2025-10-05
1039Argentina2025-10-10
1040Italy2025-10-04
1041Spain2025-09-26
1042India2025-10-02
1043Canada2025-09-29
1044Brazil2025-09-25
1045Brazil2025-10-01
1046Spain2025-09-16
1047Canada2025-09-22
1048United Kingdom2025-09-25
1049United Kingdom2025-09-29

On-Demand Data

NameIdCountryDate
Chavez U Kusko1000Japan2025-09-14
Arvin R Caudy1001Italy2025-09-26
Mujtaba P Albares1002Italy2025-09-18
Ricardo T Nestle1003Japan2025-10-09
Murillo V Nicka1004Germany2025-09-22
Aruna E Venere1005Italy2025-10-12
Chavez N Nestle1006Russia2025-09-26
Kadeem F Stockham1007Italy2025-09-26
Alejandro G Glick1008Germany2025-09-25
Sinclair D Paprocki1009Australia2025-09-13
Faith E Paprocki1010Japan2025-09-22
Munro N Ruta1011Russia2025-10-02
Ivar F Inouye1012India2025-09-21
Juan I Schemmer1013United Kingdom2025-09-21
Aditya S Vocelka1014India2025-09-15
Cody X Bowley1015Germany2025-09-23
Munro W Vocelka1016Canada2025-10-04
Jeanfrancois J Glick1017Australia2025-10-11
James W Figeroa1018Spain2025-09-18
Tony M Bowley1019India2025-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel D StockhamGermanyStephen Shaw NEW
Claire B FerenczBrazilIvan Magalhaes UNQUALIFIED
Wickens T PerinItalyIoni Bowcher NEGOTIATION
Francesco L OldroydRussiaAnna Fali UNQUALIFIED
Isabel X FollerUnited KingdomAmy Elsner PROPOSAL
Francesco H MaletGermanyAmy Elsner UNQUALIFIED
Claire W RutaGermanyIoni Bowcher QUALIFIED
Silvio S AlbaresCanadaIoni Bowcher NEGOTIATION
Stacey S KuskoAustraliaElwin Sharvill RENEWAL
Jennifer R VocelkaArgentinaOnyama Limba PROPOSAL
Arvin I ButtFranceElwin Sharvill NEGOTIATION
Ashley L VenereAustraliaStephen Shaw NEGOTIATION
Clifford O FollerJapanIvan Magalhaes NEGOTIATION
Clifford D MaletSpainAnna Fali UNQUALIFIED
Francesco A BologniaItalyElwin Sharvill QUALIFIED
Octavia V StensethBrazilXuxue Feng NEW
Chavez C WieserItalyIoni Bowcher QUALIFIED
Aika S PoquetteBrazilBernardo Dominic NEGOTIATION
Leon I FerenczRussiaBernardo Dominic NEGOTIATION
Claire Z AlbaresCanadaAmy Elsner PROPOSAL
Ashley V PerinFranceAsiya Javayant PROPOSAL
Murillo Z DarakjyCanadaIvan Magalhaes NEW
Sinclair N StockhamItalyOnyama Limba UNQUALIFIED
Jennifer U NestleSpainXuxue Feng UNQUALIFIED
Jefferson P ChuiBrazilBernardo Dominic NEGOTIATION
Mayumi L RutaAustraliaElwin Sharvill PROPOSAL
Claire D NickaAustraliaStephen Shaw RENEWAL
David Q WieserUnited KingdomAnna Fali QUALIFIED
Julie T AlbaresArgentinaAnna Fali NEW
Jones I MacleadIndiaIoni Bowcher UNQUALIFIED
Francesco Y IturbideCanadaAsiya Javayant UNQUALIFIED
Jennifer E CaldareraArgentinaAmy Elsner RENEWAL
Murillo F WaycottItalyAmy Elsner NEGOTIATION
Mujtaba L FollerSpainOnyama Limba NEW
Antonio S DarakjyCanadaStephen Shaw RENEWAL
Emily V MacleadGermanyOnyama Limba QUALIFIED
Chavez C ShinkoFranceAnna Fali UNQUALIFIED
Ivar O SaylorsUnited KingdomIoni Bowcher RENEWAL
Jones Y StockhamArgentinaAmy Elsner QUALIFIED
Chavez C BriddickJapanOnyama Limba 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>