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
Ricardo V SergiFranceIoni Bowcher UNQUALIFIED
Maria N RimAustraliaIvan Magalhaes QUALIFIED
Ricardo P KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Kadeem X CaldareraArgentinaIoni Bowcher PROPOSAL
Isabel F MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Murillo C GauchoBrazilAmy Elsner NEW
Aruna E PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Alejandro P GlickCanadaXuxue Feng QUALIFIED
Deepesh R StockhamUnited KingdomAsiya Javayant QUALIFIED
Kaitlin I ChuiJapanIvan Magalhaes NEW
Wickens D OstroskyRussiaBernardo Dominic PROPOSAL
Kadeem M FerenczItalyAsiya Javayant PROPOSAL
Misaki Z WaycottAustraliaElwin Sharvill RENEWAL
Salvatore U BologniaSpainIoni Bowcher NEW
Clifford D PoquetteCanadaOnyama Limba NEW
Juan X MarrierRussiaAmy Elsner RENEWAL
James M GarufiJapanOnyama Limba RENEWAL
Cody R MaletAustraliaAnna Fali NEGOTIATION
Clifford L MorascaAustraliaOnyama Limba NEGOTIATION
Maria U ChuiBrazilAmy Elsner NEW
Julie S FollerCanadaOnyama Limba NEGOTIATION
Greenwood Y BowleyItalyIvan Magalhaes PROPOSAL
Rodrigues C BriddickGermanyXuxue Feng PROPOSAL
Wickens A FerenczSpainIoni Bowcher NEGOTIATION
Tony X GauchoFranceIoni Bowcher PROPOSAL
Claire C NickaAustraliaAsiya Javayant QUALIFIED
Ivar F KolmetzAustraliaOnyama Limba RENEWAL
Leon M IturbideSpainAsiya Javayant PROPOSAL
Claire J MacleadSpainAsiya Javayant PROPOSAL
Kadeem M WaycottAustraliaAmy Elsner NEGOTIATION
Claire W OstroskyUnited KingdomAmy Elsner PROPOSAL
Mayumi D GarufiFranceIvan Magalhaes NEW
Jennifer C WhobreySpainBernardo Dominic UNQUALIFIED
Wickens A BriddickArgentinaIvan Magalhaes PROPOSAL
Jones H PaprockiRussiaIoni Bowcher RENEWAL
Darci H StockhamRussiaXuxue Feng QUALIFIED
Cody Y WhobreyAustraliaElwin Sharvill PROPOSAL
Chavez A FollerCanadaElwin Sharvill RENEWAL
Murillo R WhobreyBrazilElwin Sharvill UNQUALIFIED
Aika E MaletAustraliaAmy Elsner QUALIFIED
Antonio S PaprockiItalyBernardo Dominic UNQUALIFIED
Jeanfrancois F KuskoJapanAsiya Javayant QUALIFIED
Alejandro J KuskoFranceIvan Magalhaes NEGOTIATION
Tony H BowleyRussiaAnna Fali NEW
Jones V SergiAustraliaIoni Bowcher PROPOSAL
Rodrigues D DoeUnited KingdomIoni Bowcher NEGOTIATION
Aika G OldroydCanadaOnyama Limba NEW
Claire P SaylorsJapanBernardo Dominic NEW
Aika V SaylorsArgentinaStephen Shaw NEW
Ashley B GillianAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin W RulapaughItalyIoni Bowcher NEW
Chavez E SergiJapanAnna Fali PROPOSAL
Faith C InouyeJapanAsiya Javayant NEGOTIATION
Tony Z StockhamAustraliaOnyama Limba QUALIFIED
Antonio N DilliardJapanIvan Magalhaes UNQUALIFIED
Cody O PoquetteGermanyStephen Shaw UNQUALIFIED
Stacey Y WieserJapanAmy Elsner QUALIFIED
Costa Y PaprockiRussiaIvan Magalhaes PROPOSAL
Faith C AmigonItalyIvan Magalhaes RENEWAL
Ricardo H KolmetzIndiaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria D GarufiUnited Kingdom2025-09-19Rousseaux, Michael Esq PROPOSAL80Elwin Sharvill
1001Chavez G VenereItaly2025-09-14Feltz Printing Service NEGOTIATION55Xuxue Feng
1002Smith B SlusarskiAustralia2025-09-10Morlong Associates PROPOSAL22Amy Elsner
1003Mayumi T BowleyJapan2025-08-24Chapman, Ross E Esq QUALIFIED47Amy Elsner
1004Isabel J RulapaughFrance2025-09-19Buckley Miller Wright UNQUALIFIED14Ioni Bowcher
1005Deepesh L FlosiFrance2025-09-03Commercial Press UNQUALIFIED45Ioni Bowcher
1006Rodrigues F NickaCanada2025-08-23Benton, John B Jr PROPOSAL29Stephen Shaw
1007Nicolas I DilliardArgentina2025-09-15Chemel, James L Cpa RENEWAL84Onyama Limba
1008Johnson D MaletRussia2025-09-10Truhlar And Truhlar Attys RENEWAL87Anna Fali
1009Maisha Q VocelkaUnited Kingdom2025-09-04Chemel, James L Cpa NEGOTIATION17Bernardo Dominic
1010Greenwood M GauchoGermany2025-09-19Commercial Press NEW96Elwin Sharvill
1011Chavez C StensethCanada2025-09-01Dorl, James J Esq UNQUALIFIED81Ivan Magalhaes
1012James P WaycottJapan2025-08-31Rangoni Of Florence NEGOTIATION42Ivan Magalhaes
1013Kaitlin G VocelkaItaly2025-08-31Feltz Printing Service UNQUALIFIED30Ivan Magalhaes
1014Maria X InouyeJapan2025-09-11Dorl, James J Esq NEW37Elwin Sharvill
1015Ivar Q CaudyFrance2025-09-14Buckley Miller Wright UNQUALIFIED2Xuxue Feng
1016Mayumi U CampainCanada2025-09-17Feiner Bros NEGOTIATION78Xuxue Feng
1017Johnson G OstroskyRussia2025-08-30King, Christopher A Esq QUALIFIED21Anna Fali
1018Julie F RulapaughIndia2025-08-24Commercial Press QUALIFIED41Asiya Javayant
1019Ashley J ShinkoArgentina2025-09-03Dorl, James J Esq NEGOTIATION16Elwin Sharvill
1020Jeanfrancois T OstroskyCanada2025-09-10Feltz Printing Service RENEWAL81Xuxue Feng
1021Maisha X CaudyRussia2025-09-05Morlong Associates NEW66Amy Elsner
1022Jones C SergiIndia2025-09-13Rousseaux, Michael Esq PROPOSAL53Bernardo Dominic
1023Ashley W FlosiIndia2025-09-17Feiner Bros RENEWAL3Bernardo Dominic
1024Ashley K ButtItaly2025-09-19Truhlar And Truhlar Attys PROPOSAL18Anna Fali
1025Cody J ChuiGermany2025-09-10Dorl, James J Esq PROPOSAL27Xuxue Feng
1026Jennifer O OldroydSpain2025-08-30Rousseaux, Michael Esq PROPOSAL12Stephen Shaw
1027Leon C MarrierSpain2025-08-31Chapman, Ross E Esq QUALIFIED10Stephen Shaw
1028Kadeem Q WhobreyUnited Kingdom2025-09-17Rangoni Of Florence NEW56Elwin Sharvill
1029Rodrigues Z AlbaresFrance2025-09-19Rangoni Of Florence UNQUALIFIED98Ioni Bowcher
1030Murillo C MorascaCanada2025-09-12Morlong Associates PROPOSAL26Stephen Shaw
1031Cody D VenereIndia2025-09-15Rangoni Of Florence PROPOSAL30Elwin Sharvill
1032Leja L GarufiArgentina2025-08-23Truhlar And Truhlar Attys NEGOTIATION52Ivan Magalhaes
1033Jeanfrancois T VocelkaBrazil2025-08-24Commercial Press PROPOSAL35Xuxue Feng
1034Adams L BowleySpain2025-08-28Chemel, James L Cpa NEGOTIATION96Xuxue Feng
1035Johnson W CampainItaly2025-08-27Feltz Printing Service NEW96Bernardo Dominic
1036David O SaylorsUnited Kingdom2025-09-02Morlong Associates NEGOTIATION13Xuxue Feng
1037Misaki E OldroydRussia2025-09-14Rousseaux, Michael Esq RENEWAL42Stephen Shaw
1038Aika Y GlickItaly2025-08-24Dorl, James J Esq NEGOTIATION39Xuxue Feng
1039Aruna F CaldareraIndia2025-08-27Printing Dimensions QUALIFIED97Elwin Sharvill
1040Ashley H CaldareraAustralia2025-09-05Feltz Printing Service UNQUALIFIED2Amy Elsner
1041Chavez Z AmigonItaly2025-09-19Morlong Associates QUALIFIED84Asiya Javayant
1042Greenwood I StockhamGermany2025-08-30Benton, John B Jr PROPOSAL18Xuxue Feng
1043Juan I InouyeBrazil2025-08-22Feiner Bros QUALIFIED79Onyama Limba
1044Murillo Q ButtArgentina2025-09-04Buckley Miller Wright NEGOTIATION68Amy Elsner
1045Sinclair Z IturbideSpain2025-09-14Feltz Printing Service PROPOSAL75Elwin Sharvill
1046Aika V StensethJapan2025-09-11Chanay, Jeffrey A Esq UNQUALIFIED71Xuxue Feng
1047Kaitlin C SchemmerGermany2025-08-29Morlong Associates RENEWAL36Bernardo Dominic
1048Adams G FlosiItaly2025-08-28Feiner Bros PROPOSAL64Ivan Magalhaes
1049Chavez L IturbideRussia2025-08-22Dorl, James J Esq UNQUALIFIED82Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna G MacleadJapanBernardo Dominic PROPOSAL
Tony P FlosiCanadaIoni Bowcher UNQUALIFIED
Nicolas M KolmetzIndiaOnyama Limba NEGOTIATION
Emily P RulapaughFranceStephen Shaw UNQUALIFIED
Greenwood K BriddickAustraliaIoni Bowcher QUALIFIED
Faith U ShinkoFranceIvan Magalhaes NEW
Aruna G KolmetzIndiaXuxue Feng UNQUALIFIED
Nicolas M CaudyRussiaAnna Fali NEGOTIATION
Murillo K MarrierArgentinaBernardo Dominic NEW
Julie Q KolmetzJapanOnyama Limba NEGOTIATION
Darci R IturbideGermanyOnyama Limba QUALIFIED
Tony D WaycottGermanyStephen Shaw NEGOTIATION
Wickens X NestleCanadaOnyama Limba NEW
Jones J SchemmerGermanyOnyama Limba PROPOSAL
Ashley B DoeIndiaAnna Fali PROPOSAL
Maria Z ButtArgentinaAmy Elsner UNQUALIFIED
Antonio R InouyeJapanOnyama Limba PROPOSAL
Mayumi U TollnerCanadaOnyama Limba UNQUALIFIED
Deepesh B SlusarskiCanadaIoni Bowcher PROPOSAL
Deepesh R GarufiArgentinaAmy Elsner UNQUALIFIED
Murillo Y RutaAustraliaAsiya Javayant QUALIFIED
Juan S MarrierArgentinaAnna Fali RENEWAL
Smith L OldroydCanadaAsiya Javayant QUALIFIED
Leja F GarufiJapanBernardo Dominic QUALIFIED
Adams D DilliardFranceXuxue Feng PROPOSAL
Leja B SaylorsBrazilIoni Bowcher UNQUALIFIED
James A AmigonJapanElwin Sharvill NEW
Julie L WieserUnited KingdomAsiya Javayant PROPOSAL
Antonio N GarufiRussiaOnyama Limba RENEWAL
Misaki Z KuskoArgentinaAnna Fali RENEWAL
Octavia D CaudyItalyXuxue Feng PROPOSAL
Murillo T OstroskyFranceIoni Bowcher PROPOSAL
Nicolas O GarufiFranceIoni Bowcher RENEWAL
Francesco V BowleyArgentinaIoni Bowcher UNQUALIFIED
Nicolas W SlusarskiBrazilAnna Fali PROPOSAL
Mujtaba M StensethRussiaElwin Sharvill RENEWAL
Antonio U MorascaJapanBernardo Dominic UNQUALIFIED
Johnson N FigeroaRussiaIvan Magalhaes RENEWAL
Nicolas U KuskoItalyIvan Magalhaes NEW
Cody L WhobreyRussiaElwin Sharvill NEGOTIATION
Munro P WaycottFranceAmy Elsner QUALIFIED
Nicolas F ChuiFranceIoni Bowcher PROPOSAL
Jeanfrancois Y StensethAustraliaElwin Sharvill RENEWAL
Mayumi E DilliardUnited KingdomIvan Magalhaes PROPOSAL
Jones C KuskoRussiaIvan Magalhaes RENEWAL
Clifford R ShinkoItalyIoni Bowcher RENEWAL
Izzy W BowleyJapanIoni Bowcher UNQUALIFIED
Johnson L BriddickJapanStephen Shaw UNQUALIFIED
James R AmigonGermanyAmy Elsner NEW
Misaki W GauchoGermanyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Antonio F Figeroa
Greenwood O Kolmetz
Adams T Glick
Antonio U Malet
Ashley E Campain
Julie R Rim
James X Stockham
Emily C Marrier
Antonio Q Perin
Maisha D Tollner
Ashley N Garufi
Mayumi V Darakjy
James Q Bolognia
Leon M Venere
Emily D Perin
Wickens T Amigon
Antonio P Albares
Sinclair T Wieser
Octavia B Bolognia
Munro J Flosi
Salvatore Q Nicka
Isabel O Waycott
Clifford T Whobrey
Antonio G Caldarera
Leon E Glick
Munro Q Saylors
Chavez Y Sergi
Ashley M Kolmetz
Cody X Ruta
Cody O Bolognia
Darci L Rulapaugh
Aruna K Flosi
Adams L Maclead
Aika X Garufi
Juan X Sergi
Octavia V Poquette
Darci Y Amigon
Leja Q Doe
Ivar Q Stenseth
Claire U Sergi
Silvio Z Doe
Faith S Amigon
Antonio I Bowley
Octavia Y Paprocki
Darci I Iturbide
Maisha C Poquette
Octavia X Malet
Ricardo I Caudy
Antonio P Tollner
Sinclair T Sergi
IdCountryDate
1000Canada2025-08-21
1001Italy2025-09-01
1002Japan2025-08-27
1003Brazil2025-09-08
1004United Kingdom2025-09-01
1005Germany2025-09-09
1006Italy2025-09-13
1007Russia2025-08-24
1008Australia2025-09-05
1009United Kingdom2025-09-01
1010Italy2025-08-30
1011Australia2025-08-25
1012Australia2025-09-10
1013Spain2025-09-02
1014India2025-09-07
1015Germany2025-09-18
1016Argentina2025-09-13
1017Spain2025-08-21
1018Japan2025-09-14
1019Italy2025-08-27
1020France2025-09-11
1021United Kingdom2025-08-29
1022France2025-08-30
1023Germany2025-09-16
1024Canada2025-08-29
1025India2025-08-26
1026Australia2025-09-01
1027Germany2025-08-21
1028Japan2025-09-14
1029Germany2025-09-11
1030Italy2025-09-09
1031Italy2025-08-24
1032Australia2025-09-19
1033Russia2025-08-25
1034France2025-08-28
1035Spain2025-08-25
1036Japan2025-09-02
1037Japan2025-09-05
1038Australia2025-08-31
1039Germany2025-09-17
1040Australia2025-09-12
1041Argentina2025-08-27
1042Argentina2025-09-01
1043Australia2025-09-14
1044Germany2025-09-08
1045Germany2025-09-08
1046Argentina2025-08-24
1047Canada2025-09-03
1048United Kingdom2025-09-19
1049Spain2025-09-11

On-Demand Data

NameIdCountryDate
Rodrigues I Sergi1000Brazil2025-08-25
Johnson A Kusko1001Italy2025-09-16
Jeanfrancois W Bolognia1002Italy2025-08-27
Rodrigues W Paprocki1003United Kingdom2025-09-03
Munro B Oldroyd1004France2025-08-26
Mayumi K Flosi1005Brazil2025-09-04
Alejandro D Inouye1006Italy2025-09-06
Aditya P Stenseth1007Italy2025-09-11
Kaitlin Z Bolognia1008Argentina2025-08-26
Jeanfrancois Y Campain1009Spain2025-08-23
Kaitlin V Maclead1010Japan2025-08-26
Greenwood A Slusarski1011India2025-08-30
Adams Y Gaucho1012Argentina2025-08-31
Leon E Doe1013Brazil2025-09-07
Maria P Caudy1014United Kingdom2025-09-01
Chavez Z Rim1015Russia2025-08-25
Murillo L Schemmer1016Japan2025-09-11
Sinclair Z Marrier1017Spain2025-08-30
Cody F Darakjy1018Australia2025-09-10
Morrow W Nicka1019Brazil2025-09-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair S NestleItalyOnyama Limba RENEWAL
Jeanfrancois W CampainRussiaAnna Fali PROPOSAL
Clifford S ShinkoSpainOnyama Limba NEW
Francesco Q PoquetteRussiaAmy Elsner UNQUALIFIED
Ashley U AlbaresAustraliaStephen Shaw PROPOSAL
Tony I PoquetteArgentinaOnyama Limba NEW
Stacey O CampainRussiaIoni Bowcher QUALIFIED
Maria R FigeroaCanadaElwin Sharvill PROPOSAL
Kaitlin U SergiRussiaElwin Sharvill RENEWAL
Chavez W ButtGermanyElwin Sharvill NEW
Francesco Y BriddickSpainAmy Elsner UNQUALIFIED
Rodrigues F BowleyArgentinaIvan Magalhaes NEGOTIATION
Maria F RutaIndiaStephen Shaw RENEWAL
Francesco O FigeroaItalyOnyama Limba PROPOSAL
Greenwood C KolmetzItalyXuxue Feng NEGOTIATION
Jefferson Z VenereItalyStephen Shaw NEW
Octavia N KuskoIndiaAmy Elsner UNQUALIFIED
Leon Y MorascaCanadaXuxue Feng QUALIFIED
Jefferson Q MarrierIndiaAnna Fali NEW
Julie Y DilliardIndiaAnna Fali RENEWAL
Rodrigues I RimRussiaStephen Shaw UNQUALIFIED
Stacey O ShinkoGermanyBernardo Dominic NEW
Morrow Y OldroydCanadaAsiya Javayant NEGOTIATION
Jeanfrancois W NestleJapanBernardo Dominic QUALIFIED
Aruna L SaylorsRussiaElwin Sharvill RENEWAL
Mujtaba I CampainIndiaIvan Magalhaes UNQUALIFIED
Izzy G GauchoItalyElwin Sharvill QUALIFIED
Julie H DarakjySpainAmy Elsner PROPOSAL
Octavia S PoquetteRussiaIoni Bowcher NEW
Costa O GauchoSpainXuxue Feng NEW
Costa M MaletItalyIvan Magalhaes QUALIFIED
Arvin T MarrierBrazilElwin Sharvill UNQUALIFIED
Tony X CampainBrazilAmy Elsner UNQUALIFIED
Murillo E GlickSpainXuxue Feng RENEWAL
Costa Y IturbideGermanyIvan Magalhaes UNQUALIFIED
Kaitlin G KolmetzBrazilBernardo Dominic NEW
Silvio G VenereAustraliaStephen Shaw NEGOTIATION
Ashley C RulapaughJapanAsiya Javayant QUALIFIED
Izzy A SaylorsSpainIvan Magalhaes PROPOSAL
Maisha V BriddickIndiaStephen Shaw 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>