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 J KolmetzIndiaStephen Shaw UNQUALIFIED
Deepesh M KolmetzRussiaIoni Bowcher PROPOSAL
James L StockhamArgentinaAmy Elsner NEW
Ivar L InouyeIndiaAnna Fali PROPOSAL
Deepesh F FollerItalyIoni Bowcher QUALIFIED
Chavez S WhobreyCanadaOnyama Limba NEW
Misaki E MaletRussiaStephen Shaw UNQUALIFIED
Wickens M StensethBrazilIvan Magalhaes NEGOTIATION
Morrow W PoquetteArgentinaAmy Elsner NEGOTIATION
Darci B KolmetzRussiaAsiya Javayant PROPOSAL
Misaki C KuskoIndiaBernardo Dominic QUALIFIED
Clifford O SaylorsArgentinaOnyama Limba PROPOSAL
Smith V NickaCanadaAmy Elsner QUALIFIED
Jeanfrancois B PaprockiIndiaStephen Shaw UNQUALIFIED
Faith T MarrierUnited KingdomOnyama Limba UNQUALIFIED
Deepesh Y RulapaughFranceOnyama Limba UNQUALIFIED
Mujtaba Q OldroydItalyAnna Fali UNQUALIFIED
Nicolas D ButtFranceXuxue Feng NEW
Stacey O FigeroaUnited KingdomAsiya Javayant PROPOSAL
Johnson J KuskoBrazilAmy Elsner QUALIFIED
Murillo Z RutaBrazilOnyama Limba NEW
Cody Y StockhamAustraliaAnna Fali QUALIFIED
Alejandro C SlusarskiArgentinaStephen Shaw UNQUALIFIED
Claire D CampainIndiaAmy Elsner QUALIFIED
Ricardo X WhobreyGermanyAsiya Javayant PROPOSAL
Aditya R GarufiRussiaBernardo Dominic QUALIFIED
Jeanfrancois R SergiItalyBernardo Dominic PROPOSAL
Smith I RulapaughGermanyIvan Magalhaes PROPOSAL
Jones D GarufiSpainAsiya Javayant NEW
Izzy M FlosiUnited KingdomIvan Magalhaes QUALIFIED
Morrow I FigeroaBrazilIvan Magalhaes UNQUALIFIED
Silvio N RulapaughItalyElwin Sharvill PROPOSAL
Kaitlin W BriddickRussiaStephen Shaw NEW
Arvin J NickaItalyAsiya Javayant NEGOTIATION
Jennifer K BologniaFranceAnna Fali PROPOSAL
Rodrigues L NestleIndiaXuxue Feng NEW
Misaki S DoeFranceBernardo Dominic NEW
Alejandro A StensethAustraliaOnyama Limba UNQUALIFIED
Leja K GlickBrazilBernardo Dominic UNQUALIFIED
Kadeem W PoquetteUnited KingdomBernardo Dominic RENEWAL
Tony C DarakjyCanadaAsiya Javayant QUALIFIED
Smith O InouyeItalyBernardo Dominic RENEWAL
Smith Z FlosiBrazilAmy Elsner RENEWAL
Munro O StensethBrazilOnyama Limba RENEWAL
Leja B FerenczAustraliaXuxue Feng RENEWAL
Stacey R DilliardIndiaOnyama Limba QUALIFIED
Ricardo B StensethAustraliaStephen Shaw NEGOTIATION
Kadeem T StensethFranceAmy Elsner QUALIFIED
Emily L GarufiCanadaElwin Sharvill NEW
Salvatore M SaylorsItalyIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel G StockhamSpainElwin Sharvill NEW
Kaitlin G NickaAustraliaIvan Magalhaes PROPOSAL
David T RutaSpainBernardo Dominic UNQUALIFIED
James X FigeroaAustraliaAmy Elsner PROPOSAL
James M ChuiSpainElwin Sharvill UNQUALIFIED
Julie X BriddickAustraliaAmy Elsner PROPOSAL
Aditya Y IturbideRussiaBernardo Dominic UNQUALIFIED
Clifford W RulapaughArgentinaIoni Bowcher RENEWAL
Deepesh B GillianArgentinaAsiya Javayant QUALIFIED
Maria K CaudyRussiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer L AmigonBrazil2025-08-06Rangoni Of Florence NEW60Amy Elsner
1001Faith D OstroskyBrazil2025-07-25Morlong Associates QUALIFIED71Onyama Limba
1002Darci I IturbideBrazil2025-08-04Chemel, James L Cpa NEGOTIATION96Xuxue Feng
1003Maisha Q GlickRussia2025-07-29Chemel, James L Cpa UNQUALIFIED96Ioni Bowcher
1004Ricardo I MarrierFrance2025-08-01Feiner Bros RENEWAL81Ioni Bowcher
1005Alejandro O DilliardFrance2025-07-24King, Christopher A Esq PROPOSAL46Xuxue Feng
1006Aika V PerinJapan2025-08-09Chanay, Jeffrey A Esq PROPOSAL33Amy Elsner
1007Wickens O MacleadIndia2025-08-03Dorl, James J Esq UNQUALIFIED89Onyama Limba
1008Ricardo T DarakjyArgentina2025-07-28Feiner Bros RENEWAL79Bernardo Dominic
1009Nicolas K KolmetzJapan2025-08-09Buckley Miller Wright NEW87Onyama Limba
1010Leja B MacleadSpain2025-07-25Commercial Press NEGOTIATION89Onyama Limba
1011Kadeem J GillianItaly2025-08-03Buckley Miller Wright UNQUALIFIED94Anna Fali
1012Aika X NickaItaly2025-08-05Morlong Associates NEW92Ioni Bowcher
1013Octavia S NestleArgentina2025-07-23Morlong Associates NEGOTIATION51Ivan Magalhaes
1014Sinclair H WhobreyBrazil2025-07-21Feiner Bros UNQUALIFIED74Asiya Javayant
1015Isabel K ShinkoItaly2025-08-06King, Christopher A Esq NEGOTIATION15Stephen Shaw
1016Sinclair U PoquetteUnited Kingdom2025-07-30Truhlar And Truhlar Attys RENEWAL66Amy Elsner
1017Silvio N AmigonArgentina2025-07-15Feiner Bros NEW55Asiya Javayant
1018Mujtaba O VocelkaAustralia2025-07-20Rangoni Of Florence QUALIFIED87Onyama Limba
1019Misaki D WieserUnited Kingdom2025-08-11Printing Dimensions RENEWAL55Onyama Limba
1020Murillo R GillianGermany2025-08-10Chemel, James L Cpa RENEWAL65Ivan Magalhaes
1021Maria O GillianGermany2025-07-27Rousseaux, Michael Esq PROPOSAL28Asiya Javayant
1022James P KolmetzIndia2025-08-02Chemel, James L Cpa UNQUALIFIED73Xuxue Feng
1023Kadeem G WieserFrance2025-08-07King, Christopher A Esq NEGOTIATION50Xuxue Feng
1024Jefferson G PoquetteIndia2025-08-09Chapman, Ross E Esq PROPOSAL45Asiya Javayant
1025Silvio J GarufiIndia2025-08-03Rousseaux, Michael Esq UNQUALIFIED31Amy Elsner
1026Darci R ShinkoUnited Kingdom2025-07-26Feiner Bros PROPOSAL6Elwin Sharvill
1027Sinclair Y WaycottBrazil2025-07-28Feltz Printing Service QUALIFIED40Asiya Javayant
1028Arvin H SaylorsItaly2025-08-09King, Christopher A Esq PROPOSAL7Xuxue Feng
1029Faith F WieserUnited Kingdom2025-07-23Buckley Miller Wright NEGOTIATION24Onyama Limba
1030Clifford S StockhamIndia2025-07-28Rangoni Of Florence NEW12Ivan Magalhaes
1031Clifford J DilliardUnited Kingdom2025-08-10Chanay, Jeffrey A Esq UNQUALIFIED6Onyama Limba
1032Jones N SergiRussia2025-07-27Benton, John B Jr NEW90Onyama Limba
1033Jefferson K StensethJapan2025-08-05Rousseaux, Michael Esq NEW87Xuxue Feng
1034Leja T BowleyBrazil2025-07-31Rangoni Of Florence NEGOTIATION11Xuxue Feng
1035Jones C StensethArgentina2025-07-17Chanay, Jeffrey A Esq RENEWAL11Onyama Limba
1036Munro J RutaCanada2025-08-08Truhlar And Truhlar Attys NEW26Asiya Javayant
1037Stacey B WhobreyJapan2025-08-09Truhlar And Truhlar Attys NEW17Asiya Javayant
1038Murillo Z KuskoGermany2025-07-16Chanay, Jeffrey A Esq QUALIFIED17Amy Elsner
1039Sinclair Z GauchoGermany2025-07-20Benton, John B Jr QUALIFIED51Bernardo Dominic
1040Ricardo J MorascaJapan2025-07-27Chapman, Ross E Esq NEGOTIATION78Onyama Limba
1041Kaitlin X FollerBrazil2025-08-02Benton, John B Jr QUALIFIED66Onyama Limba
1042Isabel M RoysterJapan2025-07-27Commercial Press QUALIFIED68Asiya Javayant
1043Chavez E IturbideArgentina2025-07-22Commercial Press UNQUALIFIED34Ivan Magalhaes
1044Rodrigues J AmigonUnited Kingdom2025-07-26King, Christopher A Esq NEW45Amy Elsner
1045Ricardo C CampainAustralia2025-07-26Chemel, James L Cpa NEW74Amy Elsner
1046Sinclair U AlbaresUnited Kingdom2025-07-20King, Christopher A Esq UNQUALIFIED97Xuxue Feng
1047Maisha N StockhamArgentina2025-08-03Benton, John B Jr NEW20Stephen Shaw
1048Aditya E VocelkaFrance2025-07-17Dorl, James J Esq RENEWAL12Ivan Magalhaes
1049Juan L DilliardBrazil2025-08-06Dorl, James J Esq PROPOSAL47Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
David Y FerenczArgentinaIoni Bowcher QUALIFIED
Jones K MorascaRussiaBernardo Dominic NEW
Salvatore P MorascaAustraliaElwin Sharvill PROPOSAL
Aditya L SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Ashley A VenereGermanyOnyama Limba NEW
James D StockhamJapanAmy Elsner PROPOSAL
Costa P SchemmerUnited KingdomIoni Bowcher PROPOSAL
Clifford Q RimAustraliaStephen Shaw NEW
Izzy C NestleBrazilAnna Fali PROPOSAL
Kaitlin D PoquetteArgentinaAmy Elsner RENEWAL
Julie X CampainIndiaAsiya Javayant QUALIFIED
Faith L RoysterIndiaAsiya Javayant NEGOTIATION
Jennifer C OldroydArgentinaAmy Elsner PROPOSAL
Ashley F MarrierSpainIvan Magalhaes RENEWAL
Mujtaba L AmigonRussiaElwin Sharvill PROPOSAL
Greenwood J WhobreyBrazilBernardo Dominic RENEWAL
James K DarakjyFranceAsiya Javayant PROPOSAL
Claire X VocelkaIndiaOnyama Limba UNQUALIFIED
Francesco S RutaRussiaXuxue Feng RENEWAL
Costa W WhobreyJapanStephen Shaw PROPOSAL
Smith Z KolmetzArgentinaXuxue Feng NEW
Munro K RimIndiaAsiya Javayant QUALIFIED
Kaitlin C AlbaresItalyIvan Magalhaes QUALIFIED
Aditya X CampainArgentinaIvan Magalhaes RENEWAL
Leja O OldroydFranceElwin Sharvill QUALIFIED
Johnson M DoeAustraliaAsiya Javayant NEW
Rodrigues L GillianAustraliaOnyama Limba PROPOSAL
Rodrigues O VocelkaGermanyBernardo Dominic PROPOSAL
Cody Z MorascaRussiaAnna Fali RENEWAL
Maisha N WaycottItalyBernardo Dominic NEGOTIATION
Greenwood J BowleyGermanyAsiya Javayant NEGOTIATION
Adams R TollnerUnited KingdomIoni Bowcher QUALIFIED
Claire K PerinItalyIvan Magalhaes PROPOSAL
Misaki Q RimJapanXuxue Feng RENEWAL
Leja O CaldareraBrazilIoni Bowcher PROPOSAL
Morrow V VenereFranceAmy Elsner UNQUALIFIED
Alejandro S PerinFranceOnyama Limba NEW
Costa R ButtBrazilIvan Magalhaes UNQUALIFIED
Octavia E PerinIndiaOnyama Limba PROPOSAL
Johnson C DoeBrazilXuxue Feng QUALIFIED
Maria V ButtIndiaIvan Magalhaes QUALIFIED
Jeanfrancois G FollerBrazilIvan Magalhaes NEGOTIATION
Aruna F FollerRussiaAnna Fali UNQUALIFIED
Julie D FlosiRussiaAnna Fali NEW
Aruna T PaprockiIndiaStephen Shaw NEW
Juan S MarrierBrazilBernardo Dominic NEW
Murillo N AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Silvio C InouyeJapanAnna Fali RENEWAL
Ashley T MacleadIndiaAsiya Javayant RENEWAL
Aruna C BowleyArgentinaAnna Fali PROPOSAL
Frozen Columns
Name
Alejandro N Inouye
Izzy W Malet
Mujtaba Q Ostrosky
Johnson Y Venere
Claire L Darakjy
Deepesh G Ostrosky
Mayumi G Flosi
Deepesh S Schemmer
Clifford C Perin
Jennifer W Whobrey
Leja S Stenseth
Sinclair V Campain
Maria Y Stockham
Murillo X Morasca
David R Gaucho
Deepesh T Garufi
Ashley G Caldarera
Juan S Vocelka
Silvio W Rulapaugh
Stacey X Doe
Rodrigues V Rulapaugh
Aruna Z Saylors
Wickens Y Poquette
Izzy H Paprocki
Johnson S Darakjy
Francesco V Figeroa
Greenwood V Perin
Faith A Stenseth
Misaki C Rulapaugh
Isabel Y Malet
Smith P Schemmer
Claire R Garufi
Clifford H Bolognia
Smith G Waycott
Greenwood R Ruta
Juan A Kolmetz
Misaki U Poquette
Arvin D Ruta
Morrow D Flosi
Leja U Perin
Deepesh B Chui
Kadeem Z Gaucho
Chavez V Royster
Maria C Albares
Jeanfrancois J Marrier
Antonio Q Whobrey
Kaitlin G Ruta
Deepesh Y Albares
Munro P Slusarski
Wickens A Iturbide
IdCountryDate
1000France2025-07-31
1001Argentina2025-08-09
1002France2025-08-02
1003Canada2025-07-22
1004Argentina2025-07-22
1005India2025-07-18
1006India2025-07-23
1007Brazil2025-08-07
1008Germany2025-08-04
1009Spain2025-07-23
1010United Kingdom2025-07-22
1011France2025-08-01
1012Italy2025-07-23
1013Australia2025-08-07
1014Italy2025-07-20
1015France2025-08-04
1016Argentina2025-08-03
1017Japan2025-07-25
1018Argentina2025-08-13
1019Australia2025-07-15
1020Italy2025-08-11
1021Spain2025-07-24
1022Japan2025-08-13
1023Italy2025-08-12
1024Argentina2025-08-04
1025United Kingdom2025-08-05
1026Argentina2025-08-09
1027Japan2025-08-07
1028France2025-08-13
1029Argentina2025-08-04
1030Argentina2025-08-12
1031Brazil2025-08-07
1032United Kingdom2025-08-07
1033Spain2025-08-08
1034United Kingdom2025-08-07
1035United Kingdom2025-07-26
1036Spain2025-08-06
1037Argentina2025-07-26
1038Spain2025-07-22
1039Australia2025-08-06
1040India2025-07-22
1041United Kingdom2025-08-09
1042France2025-08-06
1043Japan2025-08-05
1044Australia2025-08-01
1045Argentina2025-07-30
1046Germany2025-08-08
1047Spain2025-08-09
1048Australia2025-08-13
1049Spain2025-07-18

On-Demand Data

NameIdCountryDate
Salvatore W Bolognia1000Canada2025-08-03
Isabel W Paprocki1001Spain2025-07-22
Mayumi O Vocelka1002Argentina2025-07-23
Juan U Garufi1003Russia2025-07-24
Octavia Z Tollner1004Argentina2025-08-13
Jones V Kusko1005Spain2025-08-12
Leon N Sergi1006Spain2025-07-31
Ricardo K Oldroyd1007Australia2025-08-06
Aika S Kusko1008Japan2025-08-10
Deepesh T Tollner1009Brazil2025-07-20
Emily N Garufi1010Japan2025-08-03
Greenwood X Butt1011India2025-07-20
James M Shinko1012Australia2025-08-02
Clifford I Morasca1013Canada2025-08-08
Jeanfrancois G Foller1014India2025-07-22
Morrow F Saylors1015Australia2025-07-24
Tony P Albares1016France2025-07-20
Morrow M Waycott1017Japan2025-08-10
Kadeem T Bolognia1018Russia2025-07-15
Ivar P Bolognia1019India2025-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin H DoeBrazilXuxue Feng QUALIFIED
Izzy B PaprockiCanadaXuxue Feng UNQUALIFIED
Leja S RoysterGermanyAsiya Javayant NEGOTIATION
Greenwood C WhobreyBrazilIoni Bowcher NEW
Jeanfrancois Y ButtSpainIvan Magalhaes NEW
Octavia F PaprockiIndiaAmy Elsner RENEWAL
Jeanfrancois A GillianFranceAsiya Javayant NEGOTIATION
Clifford T KuskoGermanyIoni Bowcher NEW
Ricardo V WaycottItalyElwin Sharvill NEW
Chavez W MaletSpainIoni Bowcher RENEWAL
Maria I GauchoCanadaAnna Fali NEGOTIATION
David I FollerUnited KingdomXuxue Feng UNQUALIFIED
Chavez H VenereAustraliaAmy Elsner PROPOSAL
Mujtaba J FerenczAustraliaXuxue Feng RENEWAL
Julie N StensethRussiaAnna Fali PROPOSAL
Chavez W NestleItalyAsiya Javayant UNQUALIFIED
Izzy W SlusarskiItalyIoni Bowcher UNQUALIFIED
Salvatore B RulapaughJapanStephen Shaw NEGOTIATION
Leon A AmigonJapanStephen Shaw QUALIFIED
David I CaldareraItalyStephen Shaw UNQUALIFIED
Mujtaba F OstroskyAustraliaStephen Shaw NEW
Clifford D IturbideCanadaAsiya Javayant NEGOTIATION
Emily B RoysterGermanyElwin Sharvill RENEWAL
Nicolas R SchemmerRussiaStephen Shaw QUALIFIED
Morrow P SlusarskiRussiaIoni Bowcher PROPOSAL
Tony M IturbideJapanAsiya Javayant NEW
Misaki O WaycottArgentinaBernardo Dominic RENEWAL
Misaki D MaletArgentinaIoni Bowcher PROPOSAL
Kadeem Y MaletIndiaXuxue Feng RENEWAL
David Y SaylorsFranceStephen Shaw RENEWAL
Julie M ButtIndiaIvan Magalhaes NEW
Stacey D OstroskyGermanyElwin Sharvill QUALIFIED
Misaki G SlusarskiCanadaIvan Magalhaes QUALIFIED
Ricardo J ShinkoFranceAmy Elsner QUALIFIED
Munro B ShinkoItalyOnyama Limba RENEWAL
Mujtaba G IturbideBrazilStephen Shaw NEW
Silvio Z MaletGermanyIvan Magalhaes NEW
Ashley E ChuiItalyIvan Magalhaes PROPOSAL
Antonio B DoeCanadaStephen Shaw NEW
Mayumi Q RimCanadaIoni Bowcher UNQUALIFIED

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