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
Aditya C CampainJapanAmy Elsner NEW
Munro H MorascaSpainAnna Fali NEW
Misaki E OldroydArgentinaOnyama Limba RENEWAL
Chavez L RimGermanyIoni Bowcher RENEWAL
Salvatore N AmigonRussiaBernardo Dominic RENEWAL
Leon M FollerJapanIvan Magalhaes QUALIFIED
Aditya V StockhamGermanyAsiya Javayant PROPOSAL
Rodrigues R DarakjyIndiaAmy Elsner RENEWAL
Emily U RoysterUnited KingdomAsiya Javayant NEGOTIATION
Munro D MaletAustraliaIvan Magalhaes QUALIFIED
Leja C AlbaresRussiaBernardo Dominic PROPOSAL
Mujtaba F MaletItalyIvan Magalhaes RENEWAL
Isabel S RutaJapanIvan Magalhaes UNQUALIFIED
Nicolas U PoquetteItalyXuxue Feng NEGOTIATION
Isabel C SlusarskiJapanOnyama Limba UNQUALIFIED
Mujtaba J SlusarskiIndiaXuxue Feng QUALIFIED
Silvio S CaldareraCanadaElwin Sharvill PROPOSAL
Isabel V BologniaBrazilBernardo Dominic UNQUALIFIED
Juan X SchemmerJapanAsiya Javayant NEGOTIATION
Greenwood P SlusarskiSpainXuxue Feng UNQUALIFIED
Stacey A FigeroaIndiaAmy Elsner UNQUALIFIED
Mayumi Y StockhamCanadaXuxue Feng NEW
Cody N CaudyGermanyAmy Elsner PROPOSAL
Jefferson R WieserBrazilAnna Fali QUALIFIED
Leja N MaletUnited KingdomIvan Magalhaes RENEWAL
Francesco L CaudyJapanXuxue Feng UNQUALIFIED
Morrow R BriddickArgentinaStephen Shaw RENEWAL
Murillo J GlickGermanyBernardo Dominic NEGOTIATION
Johnson J GillianItalyBernardo Dominic UNQUALIFIED
Wickens Z DoeJapanOnyama Limba RENEWAL
Kaitlin B CampainArgentinaAmy Elsner RENEWAL
Maisha O VenereArgentinaAsiya Javayant QUALIFIED
Rodrigues Q KolmetzFranceElwin Sharvill UNQUALIFIED
Emily W StensethGermanyIvan Magalhaes NEW
Rodrigues A OldroydCanadaStephen Shaw NEW
David E SaylorsSpainElwin Sharvill UNQUALIFIED
Aruna B FollerBrazilOnyama Limba NEW
James D MaletFranceIvan Magalhaes NEW
Silvio L PaprockiItalyStephen Shaw RENEWAL
Misaki H BologniaRussiaXuxue Feng QUALIFIED
Aika Z BowleyCanadaBernardo Dominic UNQUALIFIED
Ricardo A MarrierGermanyAnna Fali NEW
Emily S WhobreyBrazilBernardo Dominic NEW
Francesco Q MorascaSpainBernardo Dominic UNQUALIFIED
Salvatore T TollnerRussiaStephen Shaw PROPOSAL
Smith Z ButtBrazilAnna Fali QUALIFIED
Smith V WaycottItalyAmy Elsner UNQUALIFIED
Misaki Z SaylorsIndiaIoni Bowcher PROPOSAL
Greenwood V AlbaresGermanyIoni Bowcher QUALIFIED
Faith X SaylorsJapanOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy J CaudyCanadaStephen Shaw QUALIFIED
Smith O GlickSpainStephen Shaw QUALIFIED
Emily W RulapaughItalyIoni Bowcher RENEWAL
Ivar D MacleadArgentinaStephen Shaw PROPOSAL
Julie A WieserFranceBernardo Dominic PROPOSAL
Ivar X DarakjyArgentinaXuxue Feng PROPOSAL
Emily O PerinArgentinaBernardo Dominic NEGOTIATION
Francesco B FigeroaIndiaElwin Sharvill NEW
Isabel Q GarufiUnited KingdomOnyama Limba NEGOTIATION
Kaitlin E SergiSpainAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily W GauchoArgentina2025-08-01Commercial Press UNQUALIFIED29Ioni Bowcher
1001Greenwood S KuskoItaly2025-07-28Buckley Miller Wright PROPOSAL91Bernardo Dominic
1002Munro D RoysterGermany2025-07-28Chemel, James L Cpa UNQUALIFIED64Xuxue Feng
1003Darci T RimGermany2025-07-26Chapman, Ross E Esq NEGOTIATION96Amy Elsner
1004Jennifer J KolmetzAustralia2025-07-17Chemel, James L Cpa PROPOSAL22Ioni Bowcher
1005Ivar W StensethUnited Kingdom2025-07-26Truhlar And Truhlar Attys RENEWAL47Bernardo Dominic
1006Munro S VenereItaly2025-08-01Feltz Printing Service RENEWAL50Onyama Limba
1007Jennifer R AlbaresSpain2025-07-11Feltz Printing Service QUALIFIED65Bernardo Dominic
1008Isabel Y FollerSpain2025-07-15Buckley Miller Wright NEGOTIATION68Elwin Sharvill
1009Claire S CampainSpain2025-07-30Feltz Printing Service UNQUALIFIED70Asiya Javayant
1010Kadeem P GlickFrance2025-07-06Rousseaux, Michael Esq RENEWAL27Onyama Limba
1011Nicolas K OstroskySpain2025-07-29Chanay, Jeffrey A Esq RENEWAL89Anna Fali
1012Julie I MarrierCanada2025-07-05Buckley Miller Wright NEGOTIATION94Stephen Shaw
1013Ashley P SlusarskiJapan2025-07-26Chanay, Jeffrey A Esq PROPOSAL4Xuxue Feng
1014Juan K MacleadGermany2025-07-07Rangoni Of Florence NEGOTIATION45Ioni Bowcher
1015Francesco L NickaAustralia2025-07-17Rousseaux, Michael Esq NEW60Asiya Javayant
1016Aika A AlbaresUnited Kingdom2025-07-30Rangoni Of Florence NEW56Amy Elsner
1017Kaitlin P BowleyBrazil2025-07-17Benton, John B Jr PROPOSAL32Asiya Javayant
1018Ivar A WhobreyAustralia2025-07-19Benton, John B Jr PROPOSAL24Amy Elsner
1019Misaki V MaletJapan2025-07-17Chanay, Jeffrey A Esq NEW54Xuxue Feng
1020Johnson R BowleyCanada2025-07-24Dorl, James J Esq UNQUALIFIED71Anna Fali
1021Antonio N SaylorsRussia2025-07-17Commercial Press NEGOTIATION35Bernardo Dominic
1022Aditya W StockhamItaly2025-07-09Truhlar And Truhlar Attys RENEWAL60Xuxue Feng
1023Nicolas M ButtCanada2025-08-02Feiner Bros UNQUALIFIED73Ioni Bowcher
1024Rodrigues N GillianItaly2025-07-17Rangoni Of Florence NEW33Xuxue Feng
1025Aika K MarrierRussia2025-07-22King, Christopher A Esq RENEWAL66Elwin Sharvill
1026Chavez B OstroskyArgentina2025-07-23Chapman, Ross E Esq NEW56Bernardo Dominic
1027Misaki B PoquetteJapan2025-07-23Chanay, Jeffrey A Esq NEGOTIATION80Onyama Limba
1028Mayumi W DoeAustralia2025-08-02Rousseaux, Michael Esq QUALIFIED70Anna Fali
1029Maria I NickaAustralia2025-07-08Chemel, James L Cpa QUALIFIED75Bernardo Dominic
1030Salvatore F CaldareraSpain2025-07-17Commercial Press NEW45Elwin Sharvill
1031Costa J WhobreyIndia2025-07-07Chemel, James L Cpa QUALIFIED16Anna Fali
1032Sinclair L BowleyCanada2025-07-29Commercial Press UNQUALIFIED50Elwin Sharvill
1033Greenwood Q CaudyRussia2025-07-31Benton, John B Jr NEW54Bernardo Dominic
1034Jeanfrancois F AlbaresAustralia2025-07-07Commercial Press NEGOTIATION71Ioni Bowcher
1035Murillo I MorascaAustralia2025-07-12Commercial Press RENEWAL68Ivan Magalhaes
1036Octavia D MacleadFrance2025-07-29King, Christopher A Esq PROPOSAL58Anna Fali
1037Jennifer N RoysterGermany2025-07-13King, Christopher A Esq PROPOSAL17Ivan Magalhaes
1038Jennifer P GarufiUnited Kingdom2025-07-12Buckley Miller Wright PROPOSAL45Ioni Bowcher
1039Maria N ButtIndia2025-07-30Printing Dimensions RENEWAL3Stephen Shaw
1040Deepesh C IturbideAustralia2025-08-02Morlong Associates QUALIFIED4Asiya Javayant
1041Wickens D GillianUnited Kingdom2025-08-03Feiner Bros NEW8Elwin Sharvill
1042Ivar W MaletIndia2025-07-26Feltz Printing Service RENEWAL69Asiya Javayant
1043Chavez U StockhamCanada2025-07-13Dorl, James J Esq UNQUALIFIED42Stephen Shaw
1044Adams P PaprockiItaly2025-07-13Rousseaux, Michael Esq QUALIFIED84Anna Fali
1045Adams H RutaSpain2025-08-01Commercial Press QUALIFIED76Xuxue Feng
1046Salvatore H VenereGermany2025-07-05Morlong Associates NEW67Ivan Magalhaes
1047Chavez N PaprockiJapan2025-07-20Morlong Associates UNQUALIFIED70Ivan Magalhaes
1048Maisha H PaprockiAustralia2025-07-29Morlong Associates RENEWAL14Bernardo Dominic
1049Wickens Y IturbideSpain2025-07-29King, Christopher A Esq QUALIFIED61Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa X ButtFranceIoni Bowcher QUALIFIED
Kaitlin K StockhamJapanIoni Bowcher RENEWAL
Francesco P StensethGermanyXuxue Feng RENEWAL
David Q AmigonGermanyXuxue Feng NEW
Kaitlin I AlbaresGermanyOnyama Limba UNQUALIFIED
Wickens T GarufiCanadaAsiya Javayant NEGOTIATION
Tony F TollnerCanadaIvan Magalhaes UNQUALIFIED
Jefferson O AmigonSpainAsiya Javayant NEW
Chavez L ButtIndiaBernardo Dominic RENEWAL
Ivar W AmigonFranceIvan Magalhaes RENEWAL
Tony X GlickItalyAmy Elsner NEW
Morrow I GlickJapanOnyama Limba NEGOTIATION
Sinclair L BowleyUnited KingdomXuxue Feng NEGOTIATION
Munro H StockhamItalyAnna Fali QUALIFIED
Wickens C DilliardRussiaXuxue Feng NEW
Sinclair A CampainIndiaStephen Shaw QUALIFIED
Wickens V RimItalyAsiya Javayant QUALIFIED
Isabel I MarrierJapanElwin Sharvill QUALIFIED
Jeanfrancois G VocelkaRussiaStephen Shaw UNQUALIFIED
Deepesh J BowleyRussiaStephen Shaw NEGOTIATION
Francesco K OldroydSpainIvan Magalhaes QUALIFIED
Greenwood H SchemmerSpainXuxue Feng UNQUALIFIED
Emily E ShinkoRussiaAmy Elsner RENEWAL
Smith U BologniaCanadaAmy Elsner QUALIFIED
Salvatore W CaldareraArgentinaAmy Elsner UNQUALIFIED
Arvin K ButtBrazilAsiya Javayant RENEWAL
Arvin I RimCanadaIoni Bowcher QUALIFIED
Clifford C BriddickJapanAsiya Javayant RENEWAL
Mujtaba I KolmetzIndiaStephen Shaw UNQUALIFIED
Kaitlin E VenereFranceAnna Fali NEGOTIATION
Leja E SlusarskiArgentinaBernardo Dominic QUALIFIED
Jennifer K RulapaughCanadaBernardo Dominic RENEWAL
Mayumi V AmigonItalyIoni Bowcher QUALIFIED
Silvio J SchemmerAustraliaIoni Bowcher RENEWAL
Kadeem O FigeroaItalyElwin Sharvill PROPOSAL
Clifford S InouyeItalyElwin Sharvill RENEWAL
Ivar P PoquetteBrazilStephen Shaw NEGOTIATION
Izzy I AlbaresGermanyIvan Magalhaes UNQUALIFIED
Darci C VocelkaFranceIvan Magalhaes PROPOSAL
Kadeem J ChuiIndiaIoni Bowcher NEGOTIATION
Murillo S AmigonSpainAsiya Javayant PROPOSAL
Sinclair C CaudyBrazilAmy Elsner UNQUALIFIED
Murillo A NestleItalyIoni Bowcher NEGOTIATION
Misaki K WieserJapanAsiya Javayant RENEWAL
Alejandro S OstroskySpainIoni Bowcher PROPOSAL
Stacey A DilliardUnited KingdomIoni Bowcher NEW
Kadeem S InouyeBrazilElwin Sharvill UNQUALIFIED
Jones G MarrierIndiaIoni Bowcher PROPOSAL
Leja F RulapaughItalyAmy Elsner NEGOTIATION
Chavez A StensethUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Johnson F Amigon
Morrow K Rulapaugh
Francesco E Wieser
Jones Q Foller
Faith O Briddick
Francesco U Shinko
Ashley Y Figeroa
James D Saylors
Isabel H Stockham
Murillo C Kusko
Aika B Foller
Jones S Stockham
Ashley W Caudy
Morrow M Figeroa
Antonio R Darakjy
Stacey A Ruta
Leja J Rulapaugh
Kadeem F Waycott
Ricardo P Rim
Sinclair C Bolognia
Kaitlin X Bowley
Adams M Stockham
Julie D Rim
Izzy U Gillian
Johnson A Briddick
Greenwood T Wieser
Aruna V Malet
Jeanfrancois K Wieser
Deepesh W Bolognia
Misaki W Bolognia
Izzy N Glick
Jefferson A Perin
Tony B Bowley
Mayumi T Marrier
Cody Q Whobrey
Chavez Z Flosi
Ashley L Venere
Aika O Sergi
Salvatore S Glick
Emily V Bolognia
Francesco Q Doe
Greenwood R Shinko
Francesco L Inouye
Morrow F Whobrey
Izzy D Royster
Claire N Rim
Darci O Gillian
Claire X Perin
Murillo L Schemmer
Octavia C Caldarera
IdCountryDate
1000Canada2025-07-26
1001India2025-07-13
1002France2025-07-24
1003Germany2025-07-11
1004India2025-07-24
1005Germany2025-07-13
1006Canada2025-08-03
1007Germany2025-07-31
1008Spain2025-07-08
1009Australia2025-07-30
1010Brazil2025-07-30
1011Argentina2025-07-20
1012Canada2025-07-17
1013Germany2025-07-11
1014Germany2025-07-14
1015Australia2025-07-27
1016Argentina2025-07-23
1017France2025-07-12
1018India2025-08-02
1019Brazil2025-07-22
1020Spain2025-07-13
1021Italy2025-08-03
1022Italy2025-07-22
1023Argentina2025-08-01
1024Canada2025-07-29
1025France2025-07-15
1026Japan2025-07-11
1027India2025-07-26
1028Brazil2025-07-18
1029Brazil2025-08-01
1030Australia2025-07-16
1031United Kingdom2025-07-24
1032Brazil2025-07-20
1033United Kingdom2025-07-29
1034Russia2025-07-28
1035Japan2025-07-09
1036Russia2025-07-24
1037Russia2025-07-06
1038Italy2025-07-21
1039Japan2025-07-28
1040Japan2025-07-30
1041Canada2025-08-02
1042Australia2025-07-21
1043Germany2025-07-07
1044Spain2025-07-08
1045Australia2025-07-21
1046Brazil2025-07-07
1047Canada2025-07-12
1048Brazil2025-07-08
1049Italy2025-07-20

On-Demand Data

NameIdCountryDate
Faith X Malet1000France2025-07-26
Isabel W Malet1001India2025-07-14
Leon A Campain1002United Kingdom2025-07-16
Misaki G Maclead1003Australia2025-07-07
Aika D Ferencz1004Spain2025-07-13
Kaitlin S Sergi1005Argentina2025-07-21
Arvin X Poquette1006Brazil2025-07-21
Aditya C Saylors1007Russia2025-07-24
Jennifer V Saylors1008Russia2025-07-05
Nicolas W Oldroyd1009Australia2025-07-18
Nicolas W Stenseth1010Australia2025-07-24
Arvin Z Butt1011India2025-07-24
Izzy K Campain1012Argentina2025-07-12
Emily G Figeroa1013United Kingdom2025-07-16
Sinclair N Ferencz1014France2025-08-01
Faith M Morasca1015Italy2025-08-03
Mayumi D Inouye1016Australia2025-07-19
Sinclair C Dilliard1017United Kingdom2025-07-21
Cody J Maclead1018Brazil2025-07-14
Julie K Foller1019Spain2025-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas S BologniaGermanyOnyama Limba PROPOSAL
James U MacleadSpainElwin Sharvill NEGOTIATION
Julie H IturbideFranceIvan Magalhaes NEGOTIATION
Chavez G WaycottUnited KingdomAsiya Javayant QUALIFIED
Isabel H MacleadArgentinaOnyama Limba NEW
Sinclair H CaudyCanadaIoni Bowcher UNQUALIFIED
Aditya Q BriddickJapanXuxue Feng PROPOSAL
Silvio K BriddickCanadaIvan Magalhaes UNQUALIFIED
Darci B CampainArgentinaOnyama Limba NEW
Nicolas K SergiIndiaElwin Sharvill NEW
Faith C KuskoItalyBernardo Dominic UNQUALIFIED
Kaitlin W BologniaArgentinaElwin Sharvill QUALIFIED
Kaitlin M DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Ashley G DoeCanadaXuxue Feng NEGOTIATION
Ashley R RimGermanyIvan Magalhaes NEW
Silvio M CaldareraAustraliaXuxue Feng RENEWAL
Johnson E MorascaFranceElwin Sharvill RENEWAL
Deepesh K StockhamItalyAsiya Javayant NEGOTIATION
Mayumi Q TollnerItalyAmy Elsner NEGOTIATION
Maisha M BologniaBrazilAnna Fali PROPOSAL
Darci D GlickArgentinaStephen Shaw PROPOSAL
Izzy M ButtCanadaIoni Bowcher NEW
Mujtaba I VocelkaRussiaBernardo Dominic QUALIFIED
Isabel D FigeroaJapanElwin Sharvill RENEWAL
Ricardo K PerinSpainElwin Sharvill QUALIFIED
Claire Q CaldareraBrazilIoni Bowcher UNQUALIFIED
Isabel I MaletSpainIvan Magalhaes NEGOTIATION
Kadeem G IturbideGermanyAsiya Javayant RENEWAL
Maria M TollnerCanadaStephen Shaw PROPOSAL
Chavez Z AmigonSpainAmy Elsner UNQUALIFIED
Maisha Y BriddickUnited KingdomBernardo Dominic PROPOSAL
Kadeem I SergiGermanyIoni Bowcher QUALIFIED
Mujtaba X BologniaFranceIoni Bowcher QUALIFIED
Aruna T PerinGermanyStephen Shaw UNQUALIFIED
Ivar J WhobreyUnited KingdomOnyama Limba NEW
Aika Y MorascaIndiaAnna Fali QUALIFIED
Octavia B MarrierRussiaIvan Magalhaes PROPOSAL
Smith L AlbaresCanadaIoni Bowcher NEGOTIATION
Aruna I DilliardFranceXuxue Feng QUALIFIED
Morrow F MorascaJapanIvan Magalhaes NEGOTIATION

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