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
Jones B ChuiArgentinaStephen Shaw RENEWAL
Tony Z DilliardCanadaElwin Sharvill UNQUALIFIED
Leon F RulapaughBrazilAsiya Javayant UNQUALIFIED
Julie E MorascaAustraliaOnyama Limba PROPOSAL
Sinclair R SergiJapanOnyama Limba QUALIFIED
Aruna B PaprockiRussiaAnna Fali NEW
Aika F GauchoItalyAnna Fali NEGOTIATION
Ivar Z MarrierFranceStephen Shaw PROPOSAL
Tony X BologniaCanadaAsiya Javayant PROPOSAL
Izzy W BologniaSpainElwin Sharvill NEGOTIATION
Jennifer R RulapaughGermanyOnyama Limba UNQUALIFIED
Aditya G NickaBrazilXuxue Feng UNQUALIFIED
Jones B PerinCanadaStephen Shaw UNQUALIFIED
Aruna H GlickIndiaOnyama Limba QUALIFIED
Tony W MacleadFranceIvan Magalhaes NEGOTIATION
Greenwood T WieserArgentinaBernardo Dominic UNQUALIFIED
Salvatore S FigeroaGermanyAmy Elsner UNQUALIFIED
Jennifer N NestleJapanIvan Magalhaes NEGOTIATION
Kaitlin K PaprockiIndiaOnyama Limba NEW
Jeanfrancois V FerenczCanadaStephen Shaw PROPOSAL
Jeanfrancois H ButtFranceOnyama Limba NEW
Kadeem R SchemmerBrazilIoni Bowcher RENEWAL
David P RutaGermanyIvan Magalhaes NEW
Alejandro X TollnerGermanyAsiya Javayant RENEWAL
Kadeem V SaylorsRussiaAnna Fali RENEWAL
David K MarrierCanadaAnna Fali PROPOSAL
Ivar E FlosiBrazilIoni Bowcher NEW
Sinclair J MaletUnited KingdomAnna Fali PROPOSAL
Octavia J ButtArgentinaIvan Magalhaes QUALIFIED
Octavia V SaylorsIndiaOnyama Limba RENEWAL
James G OldroydIndiaAnna Fali UNQUALIFIED
Antonio T VocelkaArgentinaXuxue Feng NEGOTIATION
Alejandro D DarakjyUnited KingdomElwin Sharvill PROPOSAL
Costa N MaletArgentinaOnyama Limba NEGOTIATION
Cody T GarufiSpainElwin Sharvill PROPOSAL
Ashley G FigeroaRussiaBernardo Dominic NEW
Kaitlin Q AlbaresGermanyIoni Bowcher NEGOTIATION
Nicolas E MorascaIndiaIoni Bowcher NEW
Munro I BologniaItalyAsiya Javayant NEGOTIATION
Nicolas A VocelkaSpainAsiya Javayant PROPOSAL
Aruna Q StockhamCanadaIvan Magalhaes NEW
Maisha V GillianAustraliaStephen Shaw NEW
Jeanfrancois G SchemmerCanadaXuxue Feng RENEWAL
Chavez T FlosiBrazilOnyama Limba QUALIFIED
Johnson L PaprockiCanadaXuxue Feng UNQUALIFIED
Smith Q RimArgentinaBernardo Dominic UNQUALIFIED
James A NestleJapanAmy Elsner PROPOSAL
Greenwood S BriddickArgentinaBernardo Dominic NEGOTIATION
Kaitlin N CaudyRussiaXuxue Feng NEGOTIATION
Silvio O MacleadJapanBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Rodrigues H DoeArgentinaStephen Shaw RENEWAL
Jefferson O KuskoAustraliaBernardo Dominic UNQUALIFIED
Jones A GillianSpainIoni Bowcher PROPOSAL
Leja J WieserSpainIoni Bowcher RENEWAL
Jennifer M WieserItalyXuxue Feng NEW
Antonio Q ButtBrazilOnyama Limba RENEWAL
Jones L OstroskySpainAmy Elsner UNQUALIFIED
Adams L WhobreyArgentinaIoni Bowcher NEW
Cody R WieserGermanyAsiya Javayant NEGOTIATION
Ivar O DilliardGermanyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore P SaylorsAustralia2025-07-30Rangoni Of Florence PROPOSAL52Ioni Bowcher
1001Rodrigues Y MacleadBrazil2025-07-17Commercial Press QUALIFIED52Elwin Sharvill
1002Adams F StensethRussia2025-08-02Rousseaux, Michael Esq NEGOTIATION30Anna Fali
1003Arvin R MorascaUnited Kingdom2025-08-02King, Christopher A Esq UNQUALIFIED17Elwin Sharvill
1004Cody M FollerJapan2025-07-28Chapman, Ross E Esq RENEWAL15Amy Elsner
1005Mujtaba W FerenczCanada2025-07-29Benton, John B Jr RENEWAL89Amy Elsner
1006Kaitlin R MacleadGermany2025-07-27Benton, John B Jr NEGOTIATION23Asiya Javayant
1007Adams S MaletBrazil2025-08-10Commercial Press RENEWAL76Amy Elsner
1008Darci F DarakjyArgentina2025-07-18Dorl, James J Esq QUALIFIED72Amy Elsner
1009Chavez I BriddickFrance2025-08-01Morlong Associates UNQUALIFIED86Asiya Javayant
1010David R OldroydItaly2025-07-25Feltz Printing Service NEGOTIATION70Anna Fali
1011Johnson O FlosiJapan2025-07-23Printing Dimensions NEW16Asiya Javayant
1012Antonio K AlbaresCanada2025-08-10Feltz Printing Service RENEWAL93Ivan Magalhaes
1013Izzy X WhobreyJapan2025-07-21Printing Dimensions QUALIFIED20Xuxue Feng
1014Francesco Z CampainItaly2025-07-28Printing Dimensions QUALIFIED98Ioni Bowcher
1015Leon T KuskoFrance2025-08-02Commercial Press RENEWAL56Anna Fali
1016Munro R GarufiCanada2025-08-08Rousseaux, Michael Esq NEGOTIATION99Asiya Javayant
1017Mujtaba Q VocelkaJapan2025-07-31Benton, John B Jr NEGOTIATION9Onyama Limba
1018Misaki V FigeroaRussia2025-08-10Buckley Miller Wright NEGOTIATION13Stephen Shaw
1019Salvatore E TollnerItaly2025-07-19Benton, John B Jr NEW76Bernardo Dominic
1020Leja D PerinUnited Kingdom2025-08-03Buckley Miller Wright NEGOTIATION2Elwin Sharvill
1021Wickens J RulapaughGermany2025-08-07Chanay, Jeffrey A Esq UNQUALIFIED72Onyama Limba
1022Jones Z TollnerRussia2025-07-19Chemel, James L Cpa QUALIFIED16Xuxue Feng
1023Murillo G SlusarskiUnited Kingdom2025-07-18Chapman, Ross E Esq UNQUALIFIED88Ioni Bowcher
1024Adams P GarufiFrance2025-07-22Rangoni Of Florence PROPOSAL8Amy Elsner
1025Darci W MorascaRussia2025-08-04Feiner Bros NEW97Elwin Sharvill
1026Smith Y GlickUnited Kingdom2025-08-03King, Christopher A Esq UNQUALIFIED59Stephen Shaw
1027Costa B KuskoSpain2025-07-31King, Christopher A Esq RENEWAL80Anna Fali
1028Jennifer X RoysterSpain2025-08-05Chemel, James L Cpa RENEWAL16Elwin Sharvill
1029Greenwood A IturbideItaly2025-08-10Chapman, Ross E Esq PROPOSAL25Anna Fali
1030Smith U WaycottItaly2025-08-13Truhlar And Truhlar Attys UNQUALIFIED30Bernardo Dominic
1031Jones Y MaletRussia2025-07-24Chapman, Ross E Esq NEGOTIATION23Xuxue Feng
1032Aika O WieserIndia2025-07-28Chanay, Jeffrey A Esq NEGOTIATION72Bernardo Dominic
1033Ricardo O OldroydJapan2025-08-08Dorl, James J Esq RENEWAL82Amy Elsner
1034Antonio X GillianCanada2025-07-25Buckley Miller Wright QUALIFIED30Elwin Sharvill
1035Leja F CaudyUnited Kingdom2025-08-01Chemel, James L Cpa NEW16Ioni Bowcher
1036Mujtaba B WaycottCanada2025-07-16Rangoni Of Florence NEW5Ivan Magalhaes
1037Claire P CaudyArgentina2025-07-15Buckley Miller Wright PROPOSAL80Ivan Magalhaes
1038Murillo O MorascaIndia2025-08-06Benton, John B Jr UNQUALIFIED52Amy Elsner
1039Jones C ButtRussia2025-08-11Printing Dimensions PROPOSAL67Amy Elsner
1040Nicolas T SlusarskiFrance2025-07-25Rousseaux, Michael Esq UNQUALIFIED39Bernardo Dominic
1041Darci P AmigonAustralia2025-08-10Rangoni Of Florence NEW63Onyama Limba
1042Tony U WhobreyGermany2025-07-26Dorl, James J Esq PROPOSAL95Elwin Sharvill
1043Tony B MacleadRussia2025-08-01Benton, John B Jr QUALIFIED48Anna Fali
1044Jennifer S BriddickSpain2025-07-24Morlong Associates PROPOSAL83Bernardo Dominic
1045Clifford K RimFrance2025-07-17Rousseaux, Michael Esq UNQUALIFIED54Stephen Shaw
1046Leon Y MarrierItaly2025-07-25Feltz Printing Service NEGOTIATION11Bernardo Dominic
1047Kadeem L SaylorsJapan2025-07-16Commercial Press UNQUALIFIED97Onyama Limba
1048Maisha X AlbaresIndia2025-07-18Morlong Associates NEW46Ioni Bowcher
1049Nicolas V CaudyRussia2025-08-11Rousseaux, Michael Esq QUALIFIED30Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aditya X MorascaJapanBernardo Dominic NEW
Costa Q SergiBrazilAsiya Javayant NEGOTIATION
Mayumi I SaylorsJapanStephen Shaw NEGOTIATION
Claire I NickaUnited KingdomElwin Sharvill NEW
Mayumi Z GauchoRussiaStephen Shaw NEGOTIATION
Nicolas T NickaBrazilIoni Bowcher NEGOTIATION
Ricardo X VocelkaAustraliaIvan Magalhaes NEGOTIATION
David D GarufiCanadaStephen Shaw PROPOSAL
Stacey P DoeRussiaXuxue Feng NEW
Alejandro L FollerGermanyAsiya Javayant NEW
Adams Y BowleyGermanyStephen Shaw QUALIFIED
Morrow X ButtSpainBernardo Dominic NEGOTIATION
Octavia Y KuskoCanadaXuxue Feng NEW
Mujtaba O SchemmerJapanAsiya Javayant RENEWAL
Deepesh R MarrierItalyBernardo Dominic NEGOTIATION
Mayumi E KolmetzFranceElwin Sharvill PROPOSAL
Mujtaba Y WaycottSpainElwin Sharvill RENEWAL
Deepesh Y GlickSpainIvan Magalhaes NEGOTIATION
Munro G MaletArgentinaBernardo Dominic RENEWAL
David E SlusarskiCanadaAnna Fali RENEWAL
Aruna X StockhamRussiaOnyama Limba UNQUALIFIED
Nicolas E KolmetzArgentinaBernardo Dominic PROPOSAL
Izzy O SlusarskiSpainAmy Elsner NEGOTIATION
Greenwood L OstroskyJapanAmy Elsner RENEWAL
Adams U DilliardFranceBernardo Dominic NEW
Johnson B GlickGermanyElwin Sharvill PROPOSAL
Mayumi S FlosiItalyIoni Bowcher RENEWAL
Leja H CampainRussiaXuxue Feng PROPOSAL
Greenwood D DoeFranceOnyama Limba PROPOSAL
Mayumi X VocelkaRussiaIvan Magalhaes UNQUALIFIED
Antonio Q GarufiGermanyElwin Sharvill PROPOSAL
Clifford G StensethSpainAnna Fali QUALIFIED
Ricardo Z PoquetteFranceStephen Shaw QUALIFIED
Emily J SergiJapanOnyama Limba UNQUALIFIED
Greenwood Z CampainGermanyAmy Elsner UNQUALIFIED
Jeanfrancois N FigeroaJapanAsiya Javayant NEGOTIATION
Maria E FlosiRussiaIoni Bowcher NEGOTIATION
Emily C InouyeItalyIvan Magalhaes RENEWAL
Leja Q CaldareraArgentinaXuxue Feng UNQUALIFIED
Aruna D MacleadBrazilAmy Elsner PROPOSAL
Kadeem K PerinJapanIvan Magalhaes RENEWAL
Francesco K NickaUnited KingdomIvan Magalhaes NEGOTIATION
Morrow G RulapaughBrazilAsiya Javayant RENEWAL
Costa A MacleadFranceAsiya Javayant QUALIFIED
Leon F InouyeUnited KingdomAmy Elsner NEW
Arvin Z MaletItalyAmy Elsner NEW
Silvio G FigeroaItalyXuxue Feng PROPOSAL
Murillo T SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Emily Y IturbideJapanStephen Shaw PROPOSAL
Maria I BologniaItalyIoni Bowcher NEW
Frozen Columns
Name
Jeanfrancois R Inouye
Darci S Flosi
Costa O Paprocki
Darci B Rulapaugh
Juan X Vocelka
Mujtaba O Shinko
Murillo R Flosi
Deepesh G Inouye
Adams J Gaucho
Aruna Z Briddick
Morrow C Vocelka
Julie T Bowley
Izzy C Briddick
Aruna P Doe
Rodrigues J Chui
Sinclair L Caudy
Jefferson V Slusarski
Arvin B Morasca
David T Garufi
Tony Z Briddick
Arvin X Slusarski
Costa N Bolognia
James N Marrier
Rodrigues X Wieser
Nicolas A Albares
Morrow O Ostrosky
Tony A Nestle
Clifford F Amigon
Faith Y Malet
Tony S Gaucho
Octavia A Oldroyd
Adams J Malet
James Y Kolmetz
Silvio A Waycott
Mayumi P Inouye
Misaki U Butt
Maisha J Kolmetz
Claire W Marrier
Kadeem Z Glick
Ricardo U Butt
Chavez M Kolmetz
Johnson S Saylors
Julie H Schemmer
Antonio F Ruta
Salvatore A Nicka
Greenwood P Foller
Aika Y Paprocki
Faith E Waycott
Francesco X Whobrey
Izzy D Stenseth
IdCountryDate
1000Canada2025-07-23
1001Australia2025-07-24
1002Italy2025-08-11
1003Japan2025-07-24
1004Canada2025-07-16
1005Brazil2025-08-03
1006Australia2025-07-16
1007Spain2025-07-25
1008Argentina2025-07-30
1009United Kingdom2025-08-07
1010Brazil2025-08-10
1011Australia2025-08-10
1012India2025-08-13
1013Argentina2025-07-16
1014Canada2025-07-30
1015United Kingdom2025-07-28
1016Brazil2025-08-02
1017Italy2025-08-10
1018Italy2025-08-05
1019Argentina2025-07-25
1020Argentina2025-08-01
1021Argentina2025-07-26
1022Germany2025-07-17
1023Canada2025-07-18
1024Australia2025-07-22
1025Japan2025-08-01
1026Australia2025-08-06
1027Japan2025-07-18
1028United Kingdom2025-07-21
1029Spain2025-07-18
1030Japan2025-08-02
1031India2025-07-26
1032Australia2025-07-31
1033Argentina2025-08-11
1034Brazil2025-07-18
1035Germany2025-07-20
1036Japan2025-07-23
1037Japan2025-08-02
1038Germany2025-07-30
1039Italy2025-07-17
1040Spain2025-08-02
1041Brazil2025-07-18
1042Russia2025-08-02
1043Spain2025-07-24
1044United Kingdom2025-08-09
1045Germany2025-07-19
1046Italy2025-07-24
1047Argentina2025-07-18
1048Canada2025-07-24
1049Canada2025-07-16

On-Demand Data

NameIdCountryDate
Darci Y Iturbide1000Argentina2025-07-19
Rodrigues M Briddick1001Brazil2025-07-31
Darci D Glick1002Brazil2025-07-18
Izzy O Inouye1003Canada2025-07-25
Antonio A Caudy1004Germany2025-07-31
Octavia G Rulapaugh1005Japan2025-08-08
Emily L Doe1006India2025-07-24
Antonio K Campain1007Argentina2025-07-16
Murillo F Saylors1008Canada2025-07-17
Johnson I Malet1009Spain2025-08-07
Octavia Y Bowley1010Australia2025-08-03
Murillo W Morasca1011Germany2025-07-28
Leja E Maclead1012Japan2025-07-18
Emily C Vocelka1013Russia2025-07-28
James X Malet1014France2025-07-28
Leja G Kusko1015Spain2025-07-28
Morrow Y Flosi1016Brazil2025-08-02
Silvio D Morasca1017Italy2025-07-25
Ashley S Morasca1018Canada2025-07-24
Leon B Kolmetz1019United Kingdom2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin W StensethRussiaStephen Shaw PROPOSAL
Maria V ChuiAustraliaElwin Sharvill RENEWAL
Octavia J VenereArgentinaAnna Fali NEW
Aika N CaudyRussiaElwin Sharvill PROPOSAL
James C SlusarskiUnited KingdomElwin Sharvill NEW
Tony R OstroskyAustraliaAsiya Javayant NEW
Emily Y TollnerJapanBernardo Dominic QUALIFIED
Cody Y AmigonIndiaElwin Sharvill NEW
Julie Q PaprockiCanadaOnyama Limba QUALIFIED
Francesco S KuskoIndiaIoni Bowcher QUALIFIED
David I OldroydCanadaIoni Bowcher UNQUALIFIED
Jones W CaudyGermanyOnyama Limba QUALIFIED
Sinclair A BriddickAustraliaAnna Fali NEGOTIATION
Ashley U SchemmerCanadaIvan Magalhaes NEW
Clifford J FerenczSpainAsiya Javayant RENEWAL
Misaki P NickaArgentinaAnna Fali QUALIFIED
Murillo K ChuiCanadaAmy Elsner NEW
James A NestleIndiaAmy Elsner RENEWAL
Isabel T RutaIndiaStephen Shaw RENEWAL
Faith W NestleSpainBernardo Dominic RENEWAL
Aruna L WaycottBrazilIvan Magalhaes QUALIFIED
Tony K VocelkaSpainOnyama Limba NEW
Nicolas V CaudyBrazilAmy Elsner RENEWAL
Alejandro J RulapaughGermanyBernardo Dominic QUALIFIED
Greenwood M BologniaUnited KingdomIoni Bowcher PROPOSAL
Rodrigues O StensethBrazilBernardo Dominic PROPOSAL
Claire V NestleItalyBernardo Dominic RENEWAL
Stacey R FigeroaUnited KingdomStephen Shaw NEGOTIATION
Kaitlin V RulapaughBrazilStephen Shaw NEW
James E MorascaItalyIvan Magalhaes QUALIFIED
Kaitlin P GlickFranceXuxue Feng PROPOSAL
Mujtaba E BriddickRussiaIoni Bowcher PROPOSAL
Chavez F IturbideFranceBernardo Dominic PROPOSAL
Alejandro G GillianGermanyIvan Magalhaes PROPOSAL
Clifford G MaletItalyOnyama Limba QUALIFIED
Jennifer R GauchoAustraliaBernardo Dominic NEW
Ricardo A SchemmerIndiaOnyama Limba QUALIFIED
Cody S CaldareraCanadaBernardo Dominic NEGOTIATION
Kadeem V KolmetzUnited KingdomAnna Fali NEGOTIATION
Munro I MacleadFranceOnyama Limba QUALIFIED

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