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
Smith M BriddickSpainAnna Fali NEW
Isabel X FlosiGermanyXuxue Feng PROPOSAL
Maria P InouyeFranceBernardo Dominic NEGOTIATION
Ivar U AlbaresIndiaStephen Shaw NEGOTIATION
Chavez K CaudyBrazilBernardo Dominic QUALIFIED
Octavia J CaudySpainBernardo Dominic QUALIFIED
Chavez Q FollerBrazilStephen Shaw NEGOTIATION
Izzy S InouyeAustraliaIoni Bowcher PROPOSAL
Claire Q SchemmerItalyBernardo Dominic RENEWAL
Alejandro J KolmetzIndiaStephen Shaw UNQUALIFIED
Izzy K KuskoFranceAnna Fali NEGOTIATION
Aditya J GarufiAustraliaAsiya Javayant PROPOSAL
Julie E PoquetteItalyIoni Bowcher RENEWAL
Morrow X TollnerIndiaIvan Magalhaes RENEWAL
Octavia D GillianSpainStephen Shaw UNQUALIFIED
Ricardo H WieserSpainIvan Magalhaes NEGOTIATION
James D FollerAustraliaIvan Magalhaes PROPOSAL
Mujtaba L CampainItalyXuxue Feng PROPOSAL
Faith A BologniaGermanyStephen Shaw RENEWAL
Johnson U GarufiItalyAsiya Javayant NEW
Darci N CaudyFranceAsiya Javayant RENEWAL
Sinclair J GlickFranceBernardo Dominic PROPOSAL
Adams A WhobreyIndiaXuxue Feng RENEWAL
Salvatore O BowleyUnited KingdomAsiya Javayant QUALIFIED
Octavia U IturbideCanadaElwin Sharvill RENEWAL
Emily R MorascaAustraliaIvan Magalhaes RENEWAL
Maria O AmigonItalyBernardo Dominic UNQUALIFIED
Morrow X OldroydBrazilIvan Magalhaes RENEWAL
Aruna L TollnerFranceAsiya Javayant RENEWAL
Darci X RutaBrazilOnyama Limba QUALIFIED
Darci F RulapaughFranceStephen Shaw NEGOTIATION
Jefferson A MaletBrazilStephen Shaw NEGOTIATION
Nicolas Z TollnerSpainBernardo Dominic NEW
Misaki H IturbideArgentinaElwin Sharvill RENEWAL
Leja G WaycottIndiaAnna Fali NEW
Kadeem R BriddickUnited KingdomXuxue Feng PROPOSAL
Clifford R RimGermanyOnyama Limba NEW
Aika W SergiJapanBernardo Dominic QUALIFIED
Silvio U DilliardRussiaIvan Magalhaes NEW
Silvio K CaldareraItalyStephen Shaw QUALIFIED
Maria E GillianRussiaStephen Shaw QUALIFIED
Aditya N AmigonItalyBernardo Dominic PROPOSAL
Clifford Q FerenczFranceIvan Magalhaes NEW
Tony F SaylorsFranceIoni Bowcher QUALIFIED
Octavia I BriddickItalyIoni Bowcher NEGOTIATION
Misaki C WieserCanadaBernardo Dominic NEGOTIATION
Jefferson F VocelkaItalyIvan Magalhaes NEW
Jefferson Q CampainFranceIoni Bowcher PROPOSAL
Antonio L InouyeGermanyIoni Bowcher PROPOSAL
Smith J FigeroaIndiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson Z WhobreyJapanAsiya Javayant PROPOSAL
Costa V SchemmerGermanyIvan Magalhaes NEGOTIATION
Munro X FerenczGermanyAnna Fali QUALIFIED
Maria A CaudyJapanOnyama Limba RENEWAL
Juan R PoquetteFranceStephen Shaw PROPOSAL
Ivar E CampainAustraliaStephen Shaw RENEWAL
Sinclair W MaletUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba C DarakjyCanadaStephen Shaw UNQUALIFIED
Jennifer H MarrierCanadaStephen Shaw NEGOTIATION
Greenwood E BologniaItalyAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio C FigeroaSpain2025-09-01Commercial Press UNQUALIFIED80Asiya Javayant
1001Alejandro A GarufiSpain2025-09-20Dorl, James J Esq UNQUALIFIED27Stephen Shaw
1002Tony M VocelkaBrazil2025-09-05Chanay, Jeffrey A Esq PROPOSAL40Xuxue Feng
1003Cody T FigeroaGermany2025-09-26King, Christopher A Esq RENEWAL32Bernardo Dominic
1004Alejandro Y SlusarskiJapan2025-09-25Feiner Bros NEGOTIATION12Onyama Limba
1005Misaki Q KolmetzJapan2025-09-08Truhlar And Truhlar Attys PROPOSAL55Anna Fali
1006Kaitlin F IturbideJapan2025-09-18Printing Dimensions RENEWAL0Amy Elsner
1007Aruna C AmigonFrance2025-09-28Rangoni Of Florence NEGOTIATION5Elwin Sharvill
1008Munro T MaletArgentina2025-09-04Chemel, James L Cpa UNQUALIFIED28Ivan Magalhaes
1009Silvio G DoeGermany2025-09-11King, Christopher A Esq NEGOTIATION50Ioni Bowcher
1010Ivar M InouyeJapan2025-09-20Benton, John B Jr QUALIFIED66Anna Fali
1011Leon C AlbaresGermany2025-09-17Rousseaux, Michael Esq UNQUALIFIED67Ioni Bowcher
1012Greenwood M FlosiSpain2025-09-26Rangoni Of Florence UNQUALIFIED39Bernardo Dominic
1013Leja D OstroskySpain2025-09-13Rousseaux, Michael Esq RENEWAL76Elwin Sharvill
1014Cody W RutaGermany2025-09-28Chapman, Ross E Esq NEW33Onyama Limba
1015Aruna X KuskoAustralia2025-09-06Chapman, Ross E Esq NEW7Ivan Magalhaes
1016Emily L WaycottAustralia2025-09-28King, Christopher A Esq NEGOTIATION65Amy Elsner
1017Kadeem U MarrierUnited Kingdom2025-09-13Chanay, Jeffrey A Esq RENEWAL51Elwin Sharvill
1018Cody L SaylorsJapan2025-09-24Chemel, James L Cpa UNQUALIFIED28Anna Fali
1019Tony D PerinArgentina2025-09-23Rangoni Of Florence PROPOSAL55Elwin Sharvill
1020Kaitlin Z SlusarskiIndia2025-09-12Benton, John B Jr QUALIFIED39Amy Elsner
1021Ashley G ButtIndia2025-09-21Chapman, Ross E Esq RENEWAL15Onyama Limba
1022Kadeem D WhobreyCanada2025-09-01Truhlar And Truhlar Attys RENEWAL36Onyama Limba
1023Stacey P RulapaughJapan2025-09-19Dorl, James J Esq RENEWAL40Ivan Magalhaes
1024Ricardo G CaldareraCanada2025-09-12Chanay, Jeffrey A Esq NEW0Asiya Javayant
1025Jefferson A GlickIndia2025-09-10Feltz Printing Service UNQUALIFIED12Xuxue Feng
1026Adams K SergiItaly2025-09-16Feiner Bros QUALIFIED38Asiya Javayant
1027Deepesh G OstroskyGermany2025-09-03Rousseaux, Michael Esq UNQUALIFIED73Stephen Shaw
1028Leon B KuskoRussia2025-09-16Benton, John B Jr NEGOTIATION26Onyama Limba
1029Aruna R GauchoGermany2025-09-12Rousseaux, Michael Esq NEW44Ivan Magalhaes
1030Morrow Y RoysterArgentina2025-09-05Printing Dimensions RENEWAL5Ivan Magalhaes
1031Salvatore G SlusarskiRussia2025-09-20Commercial Press UNQUALIFIED48Bernardo Dominic
1032Kadeem O AlbaresIndia2025-09-01Buckley Miller Wright NEW37Xuxue Feng
1033Morrow B AmigonSpain2025-09-28Chanay, Jeffrey A Esq NEGOTIATION23Ioni Bowcher
1034David N CaudyAustralia2025-09-19Truhlar And Truhlar Attys NEW62Asiya Javayant
1035Cody P GauchoUnited Kingdom2025-09-19King, Christopher A Esq NEW43Elwin Sharvill
1036Cody H StensethGermany2025-09-30Printing Dimensions UNQUALIFIED36Xuxue Feng
1037Claire J MaletCanada2025-09-09Commercial Press QUALIFIED87Elwin Sharvill
1038Silvio Q MaletJapan2025-09-26Printing Dimensions NEGOTIATION93Ioni Bowcher
1039Isabel M BologniaArgentina2025-09-03Feiner Bros RENEWAL2Elwin Sharvill
1040Misaki D BriddickArgentina2025-09-01Commercial Press UNQUALIFIED54Anna Fali
1041Jennifer K FlosiJapan2025-09-19Morlong Associates UNQUALIFIED4Ioni Bowcher
1042Tony W PaprockiJapan2025-09-04Chemel, James L Cpa QUALIFIED29Asiya Javayant
1043Darci F ButtGermany2025-09-02Benton, John B Jr QUALIFIED39Ioni Bowcher
1044Ricardo S OldroydGermany2025-09-06Benton, John B Jr QUALIFIED99Stephen Shaw
1045Jeanfrancois B RoysterUnited Kingdom2025-09-30Chanay, Jeffrey A Esq NEW72Anna Fali
1046Jones P FigeroaCanada2025-09-04Rangoni Of Florence NEGOTIATION21Stephen Shaw
1047Adams B PaprockiIndia2025-09-17Printing Dimensions NEGOTIATION79Ivan Magalhaes
1048Stacey N KuskoIndia2025-09-23Rangoni Of Florence NEGOTIATION72Bernardo Dominic
1049Smith O AmigonFrance2025-09-11Chanay, Jeffrey A Esq PROPOSAL98Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Y MaletUnited KingdomIvan Magalhaes RENEWAL
Silvio U AmigonArgentinaAsiya Javayant UNQUALIFIED
Emily W FigeroaRussiaAnna Fali QUALIFIED
Deepesh Q DoeUnited KingdomAsiya Javayant NEW
Juan I SlusarskiCanadaAnna Fali PROPOSAL
Adams R CampainUnited KingdomOnyama Limba RENEWAL
Jones G OldroydGermanyIvan Magalhaes UNQUALIFIED
Jefferson D PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Misaki Y KolmetzCanadaIvan Magalhaes NEGOTIATION
Leja L NickaSpainOnyama Limba NEGOTIATION
Mujtaba T PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Chavez H KuskoFranceXuxue Feng NEW
Arvin H RimCanadaOnyama Limba NEGOTIATION
Juan D ButtJapanXuxue Feng NEW
James U BriddickFranceAnna Fali NEGOTIATION
Ricardo J KolmetzItalyAmy Elsner UNQUALIFIED
Ashley B RutaBrazilElwin Sharvill QUALIFIED
Emily A StensethIndiaAnna Fali NEGOTIATION
Smith C BowleyArgentinaIvan Magalhaes UNQUALIFIED
Morrow G MarrierItalyAnna Fali NEW
Rodrigues I StensethJapanXuxue Feng QUALIFIED
Jones O CampainIndiaIoni Bowcher PROPOSAL
Misaki G FlosiUnited KingdomAmy Elsner PROPOSAL
Antonio Q KuskoUnited KingdomIvan Magalhaes QUALIFIED
Julie K PoquetteIndiaStephen Shaw NEGOTIATION
Alejandro X MaletCanadaAmy Elsner PROPOSAL
Tony Q BologniaAustraliaXuxue Feng QUALIFIED
Jefferson J GarufiIndiaIvan Magalhaes RENEWAL
Morrow C CampainBrazilIvan Magalhaes RENEWAL
Chavez H CaldareraItalyAnna Fali NEW
Clifford G WieserGermanyIvan Magalhaes NEGOTIATION
Silvio T MarrierJapanAnna Fali NEGOTIATION
Jones X FigeroaSpainAmy Elsner PROPOSAL
Isabel T RimGermanyOnyama Limba NEGOTIATION
Wickens G MorascaArgentinaElwin Sharvill PROPOSAL
Jones O NickaIndiaAmy Elsner RENEWAL
Chavez Z StensethSpainIoni Bowcher QUALIFIED
Cody E ButtCanadaXuxue Feng NEGOTIATION
Jennifer N MaletUnited KingdomAmy Elsner QUALIFIED
Misaki V ButtArgentinaOnyama Limba NEGOTIATION
Maria S PoquetteFranceAsiya Javayant NEGOTIATION
David O ShinkoFranceBernardo Dominic UNQUALIFIED
Silvio Q NestleSpainAmy Elsner UNQUALIFIED
Octavia M OstroskyAustraliaIoni Bowcher PROPOSAL
Arvin V DoeBrazilStephen Shaw PROPOSAL
Mujtaba P FigeroaIndiaIvan Magalhaes NEW
Claire R KuskoAustraliaStephen Shaw RENEWAL
Misaki G GarufiRussiaAmy Elsner PROPOSAL
Smith A SlusarskiGermanyBernardo Dominic QUALIFIED
Emily C CaudyArgentinaAmy Elsner PROPOSAL
Frozen Columns
Name
Leon E Saylors
Ashley U Chui
Stacey D Bowley
Faith F Paprocki
Adams A Kusko
Adams L Butt
Aika T Gaucho
Nicolas H Venere
Mayumi G Stockham
Murillo H Caudy
Leja D Schemmer
Francesco S Paprocki
Sinclair L Darakjy
Costa T Nicka
Jones C Chui
Leon X Chui
Claire W Marrier
Kadeem W Doe
Aditya Q Glick
Clifford O Albares
Rodrigues P Schemmer
Maisha U Poquette
Faith E Shinko
Aditya A Paprocki
Clifford R Maclead
Deepesh T Nicka
David Q Campain
Deepesh W Iturbide
Sinclair M Flosi
Antonio E Paprocki
Aika D Butt
Clifford V Marrier
Greenwood E Amigon
Aruna H Paprocki
Emily Q Gillian
Deepesh V Caudy
Isabel P Kusko
Juan S Sergi
Salvatore F Ruta
Jefferson A Chui
Chavez R Gillian
Ricardo H Garufi
Misaki F Ruta
Jefferson X Malet
David I Amigon
Johnson H Gillian
Silvio J Caudy
Ivar P Inouye
Smith Q Royster
Alejandro Z Iturbide
IdCountryDate
1000Russia2025-09-24
1001India2025-09-19
1002Russia2025-09-14
1003Italy2025-09-20
1004Australia2025-09-12
1005Argentina2025-09-13
1006United Kingdom2025-09-29
1007India2025-09-30
1008France2025-09-04
1009Brazil2025-09-18
1010Spain2025-09-14
1011Italy2025-09-04
1012France2025-09-30
1013Spain2025-09-04
1014Brazil2025-09-20
1015Australia2025-09-03
1016Germany2025-09-29
1017Germany2025-09-07
1018France2025-09-13
1019Brazil2025-09-22
1020Australia2025-09-19
1021Canada2025-09-03
1022United Kingdom2025-09-27
1023Spain2025-09-05
1024Italy2025-09-26
1025United Kingdom2025-09-21
1026Australia2025-09-06
1027United Kingdom2025-09-16
1028Germany2025-09-09
1029Spain2025-09-16
1030Australia2025-09-20
1031Japan2025-09-26
1032Japan2025-09-18
1033India2025-09-16
1034India2025-09-27
1035Italy2025-09-20
1036Japan2025-09-22
1037Spain2025-09-13
1038Australia2025-09-23
1039Argentina2025-09-17
1040France2025-09-20
1041Japan2025-09-28
1042France2025-09-17
1043Spain2025-09-11
1044Japan2025-09-08
1045Australia2025-09-16
1046Argentina2025-09-18
1047Italy2025-09-08
1048Brazil2025-09-05
1049India2025-09-12

On-Demand Data

NameIdCountryDate
Maisha H Royster1000Argentina2025-09-16
Darci Y Nicka1001Japan2025-09-01
Cody C Stockham1002Italy2025-09-08
Rodrigues O Butt1003India2025-09-15
Faith N Oldroyd1004Spain2025-09-02
Ivar W Poquette1005Spain2025-09-06
Aruna A Waycott1006Argentina2025-09-28
Izzy F Briddick1007India2025-09-22
Costa Z Dilliard1008Spain2025-09-24
Kaitlin H Ostrosky1009Canada2025-09-08
James K Gillian1010Argentina2025-09-15
Murillo Y Doe1011Germany2025-09-21
Costa G Ruta1012Brazil2025-09-19
David V Ruta1013Argentina2025-09-10
Mayumi Y Doe1014Spain2025-09-20
Ivar C Stenseth1015Japan2025-09-26
Faith F Doe1016India2025-09-08
Clifford R Caldarera1017Spain2025-09-20
Kadeem H Marrier1018United Kingdom2025-09-05
Costa B Kolmetz1019United Kingdom2025-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues G MacleadBrazilIoni Bowcher NEW
Smith S WieserArgentinaStephen Shaw NEGOTIATION
Faith F CaldareraFranceXuxue Feng UNQUALIFIED
Ivar T NestleJapanOnyama Limba UNQUALIFIED
Maria A WaycottUnited KingdomElwin Sharvill NEGOTIATION
James R WhobreyArgentinaAnna Fali RENEWAL
Izzy C ButtUnited KingdomAnna Fali NEW
James H MarrierUnited KingdomAnna Fali UNQUALIFIED
Kaitlin A GauchoSpainOnyama Limba UNQUALIFIED
Stacey Y RutaFranceIoni Bowcher NEW
Maria G FlosiFranceAmy Elsner NEW
Julie N IturbideFranceXuxue Feng PROPOSAL
Murillo G GlickUnited KingdomElwin Sharvill NEW
Morrow J WieserGermanyBernardo Dominic NEW
Ivar C FollerFranceStephen Shaw QUALIFIED
Isabel L NickaBrazilAsiya Javayant NEGOTIATION
Kadeem L MorascaJapanAmy Elsner PROPOSAL
Aika Q BriddickJapanAnna Fali UNQUALIFIED
Emily L MacleadArgentinaOnyama Limba RENEWAL
Jeanfrancois Z MacleadRussiaOnyama Limba NEW
Cody Q DilliardGermanyStephen Shaw RENEWAL
Emily M SaylorsSpainXuxue Feng PROPOSAL
Wickens X OldroydAustraliaAsiya Javayant QUALIFIED
Johnson V CaudyCanadaXuxue Feng NEGOTIATION
Julie Z ButtJapanIoni Bowcher NEW
Ashley S FerenczAustraliaXuxue Feng QUALIFIED
Leon U CaldareraArgentinaStephen Shaw NEGOTIATION
Francesco Z TollnerGermanyIvan Magalhaes QUALIFIED
Nicolas H NestleRussiaIvan Magalhaes NEGOTIATION
Murillo C BowleyArgentinaStephen Shaw RENEWAL
Maria N MorascaRussiaElwin Sharvill RENEWAL
Nicolas O FollerCanadaXuxue Feng RENEWAL
Aruna O GauchoUnited KingdomXuxue Feng RENEWAL
Rodrigues I SergiSpainXuxue Feng NEW
Antonio K ChuiAustraliaAmy Elsner RENEWAL
Sinclair L GillianBrazilElwin Sharvill RENEWAL
Murillo V RimUnited KingdomXuxue Feng NEGOTIATION
Aditya V GarufiItalyAmy Elsner RENEWAL
Chavez V AmigonArgentinaAsiya Javayant NEGOTIATION
Deepesh R RulapaughBrazilAmy Elsner RENEWAL

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