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
Sinclair N FigeroaJapanAmy Elsner NEGOTIATION
Leja V MacleadIndiaAmy Elsner NEW
Smith M AlbaresItalyStephen Shaw RENEWAL
Kadeem D AmigonItalyIvan Magalhaes NEW
Claire V OstroskyIndiaAmy Elsner NEGOTIATION
Cody B PerinUnited KingdomXuxue Feng RENEWAL
Mujtaba E RulapaughFranceOnyama Limba UNQUALIFIED
Arvin Y WaycottRussiaStephen Shaw UNQUALIFIED
Smith K AlbaresUnited KingdomIvan Magalhaes NEW
Izzy Z CampainJapanOnyama Limba PROPOSAL
Kaitlin P MaletArgentinaBernardo Dominic NEGOTIATION
Maria D NestleCanadaStephen Shaw QUALIFIED
Juan Y KuskoAustraliaIvan Magalhaes NEW
Morrow N VenereGermanyAsiya Javayant QUALIFIED
Alejandro G RulapaughAustraliaAsiya Javayant NEGOTIATION
Claire E TollnerJapanStephen Shaw RENEWAL
Octavia Y ButtItalyXuxue Feng NEGOTIATION
Julie M GlickGermanyIvan Magalhaes NEW
Silvio C SlusarskiItalyXuxue Feng NEGOTIATION
Aruna M RulapaughCanadaIoni Bowcher NEGOTIATION
Julie I SlusarskiArgentinaXuxue Feng NEGOTIATION
Aruna T WieserJapanIoni Bowcher QUALIFIED
Emily K StockhamCanadaIvan Magalhaes PROPOSAL
Darci W CaudyCanadaBernardo Dominic PROPOSAL
Deepesh H DoeAustraliaAsiya Javayant NEW
Smith L IturbideCanadaAnna Fali PROPOSAL
Ivar B KuskoUnited KingdomElwin Sharvill NEW
Leon O DoeRussiaStephen Shaw QUALIFIED
Ricardo Z SlusarskiIndiaElwin Sharvill UNQUALIFIED
Emily C KuskoCanadaIvan Magalhaes UNQUALIFIED
Salvatore Z MorascaFranceBernardo Dominic RENEWAL
Juan O MarrierJapanIoni Bowcher PROPOSAL
Greenwood G OldroydIndiaIvan Magalhaes NEW
Smith R DarakjyArgentinaBernardo Dominic QUALIFIED
Chavez N MorascaAustraliaBernardo Dominic NEGOTIATION
Costa J MarrierJapanIvan Magalhaes QUALIFIED
David E RoysterBrazilAmy Elsner UNQUALIFIED
Ricardo R RimFranceIvan Magalhaes RENEWAL
Smith F AlbaresIndiaOnyama Limba PROPOSAL
Munro E DilliardCanadaOnyama Limba QUALIFIED
Jefferson G MaletArgentinaXuxue Feng RENEWAL
Jones C WhobreyFranceXuxue Feng NEW
Maria H MaletFranceAmy Elsner UNQUALIFIED
Claire F AmigonArgentinaElwin Sharvill UNQUALIFIED
Chavez V MarrierRussiaElwin Sharvill NEGOTIATION
Silvio E BologniaJapanAnna Fali QUALIFIED
Costa F KolmetzRussiaStephen Shaw UNQUALIFIED
Faith V WaycottJapanXuxue Feng NEW
Ricardo D MaletBrazilBernardo Dominic QUALIFIED
Aditya A SergiRussiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow L SchemmerAustraliaElwin Sharvill NEGOTIATION
Jennifer O KuskoAustraliaStephen Shaw UNQUALIFIED
Jennifer V MacleadItalyXuxue Feng NEGOTIATION
Ivar A InouyeUnited KingdomAmy Elsner UNQUALIFIED
Arvin H CaudyFranceXuxue Feng PROPOSAL
Octavia I BowleyUnited KingdomBernardo Dominic RENEWAL
Ivar T FollerIndiaIoni Bowcher PROPOSAL
Stacey C BologniaIndiaAnna Fali RENEWAL
Emily F CampainFranceIvan Magalhaes RENEWAL
Kaitlin F CampainRussiaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez K DarakjyBrazil2025-08-20Chapman, Ross E Esq UNQUALIFIED26Stephen Shaw
1001Misaki A StockhamUnited Kingdom2025-08-04King, Christopher A Esq QUALIFIED98Bernardo Dominic
1002Mujtaba X KolmetzUnited Kingdom2025-08-02Dorl, James J Esq NEW11Amy Elsner
1003Jennifer H CaudyJapan2025-07-31Buckley Miller Wright RENEWAL62Elwin Sharvill
1004Isabel K WieserItaly2025-08-17Benton, John B Jr NEGOTIATION98Ioni Bowcher
1005Sinclair I WieserBrazil2025-08-12Chanay, Jeffrey A Esq QUALIFIED82Asiya Javayant
1006Claire D OldroydGermany2025-08-10Morlong Associates NEW27Onyama Limba
1007Faith Y DarakjySpain2025-08-15Benton, John B Jr NEW60Ioni Bowcher
1008Emily X BriddickUnited Kingdom2025-08-02Buckley Miller Wright UNQUALIFIED54Stephen Shaw
1009Kadeem C GlickGermany2025-08-05Feltz Printing Service NEW17Ioni Bowcher
1010Kadeem R WhobreyUnited Kingdom2025-08-16King, Christopher A Esq PROPOSAL49Ivan Magalhaes
1011Murillo R DarakjySpain2025-07-31Commercial Press UNQUALIFIED42Ivan Magalhaes
1012Claire C FlosiJapan2025-08-05Rousseaux, Michael Esq PROPOSAL10Amy Elsner
1013Aika U PaprockiCanada2025-08-28Benton, John B Jr NEGOTIATION83Ivan Magalhaes
1014Mujtaba H GauchoUnited Kingdom2025-08-13Morlong Associates RENEWAL27Onyama Limba
1015Munro P CampainFrance2025-08-27Commercial Press UNQUALIFIED73Anna Fali
1016Juan R DarakjyIndia2025-08-02Buckley Miller Wright PROPOSAL18Onyama Limba
1017Mayumi L DoeCanada2025-08-25Feltz Printing Service PROPOSAL64Asiya Javayant
1018Silvio A WaycottArgentina2025-08-10King, Christopher A Esq RENEWAL17Onyama Limba
1019Chavez D FlosiAustralia2025-08-28Dorl, James J Esq NEGOTIATION65Amy Elsner
1020Clifford U DilliardAustralia2025-08-24Chemel, James L Cpa PROPOSAL2Onyama Limba
1021Claire U AlbaresGermany2025-08-03Buckley Miller Wright QUALIFIED20Bernardo Dominic
1022Antonio N SlusarskiAustralia2025-08-24Chanay, Jeffrey A Esq RENEWAL47Stephen Shaw
1023Chavez U OstroskyUnited Kingdom2025-08-02Chapman, Ross E Esq NEW36Ioni Bowcher
1024Ivar C DarakjyGermany2025-08-13Rousseaux, Michael Esq PROPOSAL53Bernardo Dominic
1025Kadeem C RoysterArgentina2025-08-06Rousseaux, Michael Esq RENEWAL72Bernardo Dominic
1026Antonio Z CaldareraCanada2025-08-21Printing Dimensions QUALIFIED30Onyama Limba
1027Chavez P InouyeCanada2025-08-19Truhlar And Truhlar Attys UNQUALIFIED44Onyama Limba
1028Faith D OldroydUnited Kingdom2025-08-12Chapman, Ross E Esq RENEWAL81Ivan Magalhaes
1029Adams U PoquetteBrazil2025-08-26Buckley Miller Wright PROPOSAL48Stephen Shaw
1030Claire F VocelkaSpain2025-08-08Benton, John B Jr QUALIFIED60Anna Fali
1031Francesco H SchemmerCanada2025-08-20Feiner Bros RENEWAL50Elwin Sharvill
1032Leon G MacleadRussia2025-08-15Truhlar And Truhlar Attys UNQUALIFIED54Ioni Bowcher
1033Johnson Y MarrierAustralia2025-08-24Commercial Press RENEWAL11Asiya Javayant
1034Maria S SlusarskiGermany2025-08-02Rousseaux, Michael Esq RENEWAL47Ivan Magalhaes
1035Jeanfrancois Y RutaArgentina2025-08-21Chanay, Jeffrey A Esq NEW35Ioni Bowcher
1036Salvatore A RoysterAustralia2025-08-04Benton, John B Jr NEW45Amy Elsner
1037Clifford Q KuskoAustralia2025-08-09Truhlar And Truhlar Attys UNQUALIFIED19Asiya Javayant
1038Darci S NestleGermany2025-08-24Commercial Press RENEWAL9Stephen Shaw
1039Octavia U InouyeAustralia2025-08-11Morlong Associates QUALIFIED17Amy Elsner
1040Jeanfrancois E MarrierIndia2025-08-10Feiner Bros NEW16Anna Fali
1041Kaitlin G SaylorsArgentina2025-08-13Buckley Miller Wright NEGOTIATION78Stephen Shaw
1042Munro K DarakjyRussia2025-08-12King, Christopher A Esq UNQUALIFIED45Onyama Limba
1043Emily Z BologniaAustralia2025-08-19Buckley Miller Wright QUALIFIED25Xuxue Feng
1044Misaki X FerenczIndia2025-08-12Buckley Miller Wright QUALIFIED81Ioni Bowcher
1045Maisha P InouyeUnited Kingdom2025-08-27Printing Dimensions RENEWAL2Stephen Shaw
1046Arvin F PaprockiUnited Kingdom2025-08-15Commercial Press NEW98Ivan Magalhaes
1047Julie L RimJapan2025-08-04King, Christopher A Esq NEGOTIATION43Xuxue Feng
1048Chavez B BowleyIndia2025-08-15Dorl, James J Esq NEW96Onyama Limba
1049Aika G SchemmerRussia2025-08-05Printing Dimensions NEW4Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Deepesh D InouyeItalyIoni Bowcher UNQUALIFIED
Jefferson Q CaldareraSpainIvan Magalhaes UNQUALIFIED
Adams D TollnerArgentinaIvan Magalhaes NEGOTIATION
Mujtaba I StensethRussiaElwin Sharvill RENEWAL
Ivar H FigeroaGermanyStephen Shaw UNQUALIFIED
Ricardo I GauchoItalyAnna Fali UNQUALIFIED
Murillo G AmigonIndiaElwin Sharvill QUALIFIED
Leja B InouyeJapanStephen Shaw PROPOSAL
Misaki O RimItalyBernardo Dominic NEW
Kaitlin V RimCanadaAmy Elsner NEW
Morrow H GillianUnited KingdomXuxue Feng PROPOSAL
Antonio Z AmigonCanadaStephen Shaw PROPOSAL
Francesco O FerenczSpainBernardo Dominic UNQUALIFIED
Adams N StensethJapanBernardo Dominic NEGOTIATION
Leja U DarakjyBrazilIvan Magalhaes QUALIFIED
Izzy J StockhamCanadaAmy Elsner NEW
Murillo R FigeroaIndiaIoni Bowcher QUALIFIED
Johnson O RutaItalyElwin Sharvill RENEWAL
Faith V FlosiGermanyElwin Sharvill NEGOTIATION
Nicolas U OstroskyBrazilIvan Magalhaes NEW
Faith J WhobreyGermanyAnna Fali PROPOSAL
Clifford I GauchoSpainOnyama Limba QUALIFIED
Octavia N BologniaSpainElwin Sharvill UNQUALIFIED
Smith R StensethIndiaAsiya Javayant QUALIFIED
Stacey N VocelkaItalyAnna Fali QUALIFIED
Nicolas L GlickCanadaElwin Sharvill NEW
Cody I CaldareraCanadaIvan Magalhaes NEW
Maisha Y StockhamGermanyAnna Fali PROPOSAL
Isabel X ShinkoSpainXuxue Feng UNQUALIFIED
Johnson K KuskoArgentinaAsiya Javayant NEW
Johnson K SlusarskiAustraliaXuxue Feng PROPOSAL
Costa Y SchemmerSpainOnyama Limba UNQUALIFIED
Jennifer Z KuskoRussiaAsiya Javayant PROPOSAL
Cody R GillianUnited KingdomBernardo Dominic QUALIFIED
Nicolas F CampainBrazilAsiya Javayant NEGOTIATION
Tony A PoquetteUnited KingdomElwin Sharvill QUALIFIED
Tony E PaprockiUnited KingdomOnyama Limba RENEWAL
Emily P StockhamCanadaAmy Elsner NEGOTIATION
Nicolas H MaletArgentinaAmy Elsner UNQUALIFIED
Ivar U BologniaItalyIoni Bowcher NEW
Morrow N RulapaughFranceXuxue Feng NEGOTIATION
Jefferson O RulapaughJapanXuxue Feng RENEWAL
Maisha X StockhamRussiaIvan Magalhaes PROPOSAL
Morrow T CaudyIndiaIvan Magalhaes NEGOTIATION
Leja S OldroydAustraliaIvan Magalhaes NEGOTIATION
Ivar G VenereCanadaXuxue Feng NEW
James S FlosiGermanyAnna Fali RENEWAL
Juan E MorascaGermanyIoni Bowcher RENEWAL
James I NickaBrazilAsiya Javayant PROPOSAL
Ricardo I MaletFranceAnna Fali RENEWAL
Frozen Columns
Name
Maria J Darakjy
Morrow G Malet
Emily V Kolmetz
Julie E Nicka
Juan L Ruta
Misaki G Morasca
Chavez C Maclead
Maisha T Dilliard
Kadeem A Amigon
Maria A Iturbide
Juan K Venere
Emily G Paprocki
Misaki Q Figeroa
Octavia W Kolmetz
Mayumi Q Darakjy
Jones S Vocelka
Mujtaba B Inouye
Maria Q Bolognia
Kadeem R Tollner
Arvin I Gaucho
Leon D Campain
Kaitlin M Ruta
Faith D Flosi
Aruna O Flosi
Deepesh R Darakjy
Emily M Slusarski
Maisha Q Rim
Jeanfrancois R Venere
Octavia J Wieser
Leon M Gaucho
Costa C Briddick
Salvatore U Darakjy
Claire C Kolmetz
David C Perin
Silvio M Perin
Jennifer M Garufi
Murillo Q Vocelka
Arvin L Wieser
Emily M Iturbide
Chavez X Dilliard
Leon C Butt
Izzy O Figeroa
Francesco J Butt
Francesco R Campain
Smith S Maclead
Smith D Waycott
Ashley P Campain
Antonio J Chui
Maria A Nestle
Mujtaba A Tollner
IdCountryDate
1000Canada2025-08-03
1001France2025-07-31
1002Spain2025-08-28
1003Germany2025-08-02
1004France2025-07-31
1005Australia2025-08-12
1006Australia2025-08-15
1007Japan2025-08-23
1008Japan2025-08-09
1009India2025-08-21
1010Italy2025-08-19
1011Australia2025-08-06
1012Russia2025-08-22
1013Russia2025-08-28
1014France2025-07-30
1015Australia2025-07-30
1016Italy2025-08-09
1017Italy2025-08-27
1018Australia2025-08-16
1019India2025-08-22
1020Russia2025-08-11
1021France2025-08-27
1022Brazil2025-08-18
1023Argentina2025-08-25
1024Spain2025-08-16
1025Australia2025-08-19
1026Japan2025-08-08
1027Russia2025-08-08
1028United Kingdom2025-07-31
1029Australia2025-08-06
1030Brazil2025-08-10
1031Canada2025-08-25
1032Italy2025-07-30
1033Russia2025-08-12
1034United Kingdom2025-07-31
1035Argentina2025-08-03
1036Spain2025-08-24
1037Canada2025-08-24
1038United Kingdom2025-08-08
1039Germany2025-08-08
1040Japan2025-08-01
1041Spain2025-08-23
1042Russia2025-08-17
1043Italy2025-08-01
1044Spain2025-07-30
1045Spain2025-08-08
1046Japan2025-08-24
1047Spain2025-08-19
1048Canada2025-08-22
1049United Kingdom2025-08-16

On-Demand Data

NameIdCountryDate
Darci O Whobrey1000Italy2025-08-10
Wickens P Stenseth1001France2025-08-13
Salvatore M Poquette1002Canada2025-08-16
Juan O Venere1003Italy2025-08-15
Antonio B Kolmetz1004Russia2025-08-17
Johnson O Nestle1005Argentina2025-08-13
James L Marrier1006India2025-08-04
Kaitlin F Figeroa1007Spain2025-08-19
Maria D Marrier1008Italy2025-08-03
Jennifer P Kusko1009Brazil2025-08-18
Darci O Kusko1010Spain2025-08-23
Francesco V Morasca1011Italy2025-08-26
Maria G Glick1012India2025-08-17
Clifford M Waycott1013Germany2025-08-21
Sinclair K Nicka1014Argentina2025-08-04
Sinclair Z Ruta1015France2025-08-20
Chavez L Whobrey1016United Kingdom2025-08-26
Smith A Paprocki1017United Kingdom2025-08-18
Emily A Doe1018Russia2025-08-11
Jones P Wieser1019Brazil2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin X TollnerCanadaBernardo Dominic NEW
Izzy D InouyeUnited KingdomXuxue Feng NEW
Darci I IturbideBrazilAsiya Javayant NEW
Arvin F DilliardRussiaXuxue Feng UNQUALIFIED
Aditya G StockhamRussiaOnyama Limba QUALIFIED
Salvatore H CampainArgentinaElwin Sharvill RENEWAL
Cody H BologniaAustraliaElwin Sharvill NEGOTIATION
Arvin C KolmetzRussiaAnna Fali PROPOSAL
Johnson K SchemmerRussiaBernardo Dominic QUALIFIED
Izzy G RimCanadaStephen Shaw PROPOSAL
Clifford Y OstroskyItalyIoni Bowcher PROPOSAL
Tony G MaletJapanIoni Bowcher RENEWAL
Jones I InouyeCanadaIoni Bowcher RENEWAL
Stacey G GlickGermanyXuxue Feng QUALIFIED
Claire T NestleRussiaXuxue Feng NEW
Kaitlin D CaldareraUnited KingdomOnyama Limba PROPOSAL
Sinclair E GlickBrazilBernardo Dominic NEW
Aditya Q NickaCanadaAmy Elsner QUALIFIED
Munro U VenereBrazilIvan Magalhaes UNQUALIFIED
Maisha A GarufiArgentinaElwin Sharvill QUALIFIED
Ricardo E MaletRussiaStephen Shaw QUALIFIED
Leon O OstroskyArgentinaBernardo Dominic RENEWAL
Misaki M CaudyRussiaOnyama Limba PROPOSAL
Misaki K TollnerFranceBernardo Dominic UNQUALIFIED
Ashley K CaudyItalyStephen Shaw UNQUALIFIED
Tony B VocelkaCanadaXuxue Feng QUALIFIED
Johnson Q GauchoRussiaElwin Sharvill NEGOTIATION
Chavez T NickaCanadaStephen Shaw NEGOTIATION
Antonio I WhobreyRussiaElwin Sharvill RENEWAL
Smith C GauchoRussiaStephen Shaw RENEWAL
Darci H ShinkoArgentinaAnna Fali UNQUALIFIED
Julie U SaylorsArgentinaIoni Bowcher RENEWAL
Greenwood Q FlosiIndiaElwin Sharvill NEW
Chavez N RutaFranceAnna Fali UNQUALIFIED
Tony D GauchoAustraliaAmy Elsner NEW
Francesco Z StockhamCanadaAmy Elsner NEGOTIATION
Misaki X InouyeIndiaXuxue Feng QUALIFIED
Kadeem O GillianSpainXuxue Feng RENEWAL
Leon Z CaudyArgentinaBernardo Dominic QUALIFIED
Maria R TollnerArgentinaOnyama Limba 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>