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
Izzy T BriddickSpainIvan Magalhaes UNQUALIFIED
Juan X MorascaRussiaAmy Elsner NEW
Octavia V SchemmerUnited KingdomAmy Elsner RENEWAL
Alejandro U CampainSpainAsiya Javayant NEW
Juan T MaletItalyOnyama Limba NEGOTIATION
Aika Q GillianAustraliaAmy Elsner PROPOSAL
Kadeem C BriddickJapanOnyama Limba NEW
Maisha F GarufiBrazilOnyama Limba NEW
Claire G GarufiIndiaIoni Bowcher NEGOTIATION
Leon Q InouyeAustraliaElwin Sharvill PROPOSAL
Maria M VenereBrazilBernardo Dominic PROPOSAL
Izzy A ButtGermanyAnna Fali QUALIFIED
Greenwood M KuskoCanadaStephen Shaw NEW
Aditya C PoquetteArgentinaXuxue Feng NEGOTIATION
Chavez T RimBrazilOnyama Limba RENEWAL
Octavia G KuskoIndiaAmy Elsner UNQUALIFIED
Aika C MaletRussiaAnna Fali NEGOTIATION
Johnson H VenereBrazilElwin Sharvill NEGOTIATION
Johnson T StensethUnited KingdomAmy Elsner UNQUALIFIED
Julie J TollnerArgentinaIvan Magalhaes NEW
Maisha B ShinkoCanadaBernardo Dominic UNQUALIFIED
Octavia E FlosiJapanBernardo Dominic PROPOSAL
Francesco Z InouyeIndiaOnyama Limba QUALIFIED
Rodrigues P OldroydUnited KingdomStephen Shaw UNQUALIFIED
Jefferson A BriddickFranceAsiya Javayant QUALIFIED
Misaki I RulapaughCanadaAnna Fali PROPOSAL
Maisha M DilliardUnited KingdomBernardo Dominic NEW
Juan D ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Deepesh P MarrierArgentinaOnyama Limba NEW
Jefferson P AmigonArgentinaOnyama Limba PROPOSAL
David H GillianAustraliaIvan Magalhaes UNQUALIFIED
Jefferson P IturbideArgentinaAnna Fali QUALIFIED
Murillo E NestleUnited KingdomOnyama Limba RENEWAL
Antonio F DilliardGermanyBernardo Dominic RENEWAL
Deepesh A SergiItalyStephen Shaw QUALIFIED
Kadeem R ShinkoJapanIvan Magalhaes RENEWAL
Silvio A GarufiArgentinaAmy Elsner NEGOTIATION
James G RulapaughItalyIoni Bowcher PROPOSAL
Jones Z TollnerRussiaOnyama Limba UNQUALIFIED
Jennifer E IturbideBrazilIvan Magalhaes NEW
Izzy I WaycottJapanAmy Elsner NEW
Ashley H MaletGermanyIvan Magalhaes QUALIFIED
Leon Q WaycottFranceAmy Elsner NEW
Mayumi X BowleyItalyAnna Fali PROPOSAL
Aditya V GarufiUnited KingdomBernardo Dominic RENEWAL
Cody B CaudyAustraliaElwin Sharvill QUALIFIED
Maisha M VocelkaIndiaAmy Elsner NEW
Francesco U WieserUnited KingdomAnna Fali PROPOSAL
Misaki Z BologniaArgentinaAmy Elsner NEGOTIATION
Murillo R WieserCanadaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna F RimRussiaBernardo Dominic UNQUALIFIED
Silvio N GillianJapanIoni Bowcher NEW
Rodrigues L CaudyCanadaIoni Bowcher PROPOSAL
Mayumi P WieserItalyElwin Sharvill RENEWAL
Murillo V CaldareraRussiaIoni Bowcher RENEWAL
Misaki S RimCanadaIoni Bowcher NEW
Costa S OldroydJapanAsiya Javayant UNQUALIFIED
Tony L DoeSpainElwin Sharvill NEW
Faith Y WaycottIndiaOnyama Limba PROPOSAL
Clifford U GillianAustraliaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco W DilliardCanada2025-09-30Chanay, Jeffrey A Esq UNQUALIFIED17Anna Fali
1001Juan N MorascaSpain2025-09-19Chapman, Ross E Esq RENEWAL14Ivan Magalhaes
1002Jennifer O CaudyUnited Kingdom2025-09-10Rousseaux, Michael Esq QUALIFIED71Xuxue Feng
1003Kadeem I FerenczRussia2025-09-21Morlong Associates PROPOSAL21Ivan Magalhaes
1004Stacey J GarufiItaly2025-09-30Feltz Printing Service NEGOTIATION96Onyama Limba
1005Claire F MaletUnited Kingdom2025-10-06Rangoni Of Florence QUALIFIED11Asiya Javayant
1006Silvio X MarrierCanada2025-09-20Benton, John B Jr RENEWAL33Onyama Limba
1007Octavia R GarufiArgentina2025-09-13Chapman, Ross E Esq NEW63Bernardo Dominic
1008Antonio H WhobreyCanada2025-09-13Dorl, James J Esq UNQUALIFIED53Onyama Limba
1009Antonio X PaprockiAustralia2025-10-01Dorl, James J Esq PROPOSAL93Asiya Javayant
1010Maisha F MaletGermany2025-09-09Rangoni Of Florence UNQUALIFIED98Onyama Limba
1011Emily P PerinRussia2025-09-22Benton, John B Jr QUALIFIED61Xuxue Feng
1012Ivar R StockhamItaly2025-09-28Printing Dimensions PROPOSAL87Asiya Javayant
1013Darci D OldroydRussia2025-09-10Buckley Miller Wright QUALIFIED45Stephen Shaw
1014Sinclair L CampainAustralia2025-09-27Benton, John B Jr QUALIFIED12Stephen Shaw
1015David E DilliardUnited Kingdom2025-09-22Rousseaux, Michael Esq RENEWAL73Ivan Magalhaes
1016Morrow O SlusarskiUnited Kingdom2025-09-11Morlong Associates PROPOSAL97Amy Elsner
1017Maria Q WieserBrazil2025-09-08Commercial Press QUALIFIED68Asiya Javayant
1018Aruna T WhobreyFrance2025-10-06Chanay, Jeffrey A Esq RENEWAL51Stephen Shaw
1019Maisha Y BriddickArgentina2025-09-19Feltz Printing Service RENEWAL56Bernardo Dominic
1020Emily O RoysterUnited Kingdom2025-10-07Truhlar And Truhlar Attys PROPOSAL95Anna Fali
1021Claire C RoysterItaly2025-09-20Commercial Press NEGOTIATION21Xuxue Feng
1022Jennifer O VocelkaBrazil2025-09-30Truhlar And Truhlar Attys NEGOTIATION93Anna Fali
1023Wickens U TollnerItaly2025-09-17Chapman, Ross E Esq NEW54Elwin Sharvill
1024Cody P DilliardItaly2025-09-25Feiner Bros PROPOSAL21Asiya Javayant
1025Kaitlin M NickaGermany2025-09-14Chanay, Jeffrey A Esq RENEWAL4Bernardo Dominic
1026Rodrigues E AlbaresRussia2025-09-22Truhlar And Truhlar Attys PROPOSAL18Onyama Limba
1027Misaki D SaylorsUnited Kingdom2025-09-21Rangoni Of Florence NEW81Anna Fali
1028Emily P WaycottIndia2025-09-12Truhlar And Truhlar Attys PROPOSAL46Elwin Sharvill
1029Wickens L MaletFrance2025-09-10King, Christopher A Esq UNQUALIFIED36Ioni Bowcher
1030Stacey U StensethCanada2025-09-21Truhlar And Truhlar Attys NEW66Asiya Javayant
1031Murillo P GauchoRussia2025-09-09Printing Dimensions PROPOSAL12Bernardo Dominic
1032Johnson W VenereFrance2025-10-06Chapman, Ross E Esq PROPOSAL91Bernardo Dominic
1033Greenwood Z NestleItaly2025-09-15Rousseaux, Michael Esq NEGOTIATION45Xuxue Feng
1034Aruna P ShinkoSpain2025-09-19Chemel, James L Cpa NEGOTIATION70Onyama Limba
1035Munro Z DilliardCanada2025-10-03Feiner Bros NEGOTIATION75Stephen Shaw
1036James X PoquetteGermany2025-10-04Chanay, Jeffrey A Esq NEW41Anna Fali
1037Jefferson O GauchoAustralia2025-09-23Feltz Printing Service NEW0Ivan Magalhaes
1038Jones W FlosiIndia2025-09-18Buckley Miller Wright NEGOTIATION11Asiya Javayant
1039Tony E SlusarskiCanada2025-10-01Chemel, James L Cpa QUALIFIED40Onyama Limba
1040Stacey J WieserJapan2025-10-04Printing Dimensions PROPOSAL11Bernardo Dominic
1041Leja C SaylorsUnited Kingdom2025-09-08Printing Dimensions UNQUALIFIED89Amy Elsner
1042Sinclair D PaprockiCanada2025-09-23Buckley Miller Wright UNQUALIFIED4Stephen Shaw
1043Wickens H StockhamFrance2025-09-22Chapman, Ross E Esq RENEWAL64Elwin Sharvill
1044James J ChuiAustralia2025-10-04Chanay, Jeffrey A Esq PROPOSAL36Elwin Sharvill
1045Claire A FerenczGermany2025-09-15Feltz Printing Service NEGOTIATION62Ioni Bowcher
1046James A IturbideArgentina2025-09-25Dorl, James J Esq QUALIFIED84Asiya Javayant
1047Leon K FerenczFrance2025-09-10Chemel, James L Cpa RENEWAL45Ioni Bowcher
1048Mayumi R InouyeArgentina2025-09-20Chapman, Ross E Esq RENEWAL59Ioni Bowcher
1049Isabel T CaldareraCanada2025-09-23Truhlar And Truhlar Attys UNQUALIFIED96Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson M WhobreyFranceElwin Sharvill PROPOSAL
Ivar K StensethGermanyOnyama Limba NEW
Aruna J GlickItalyAnna Fali QUALIFIED
Claire X InouyeJapanOnyama Limba QUALIFIED
Arvin G StensethAustraliaXuxue Feng NEGOTIATION
Alejandro Y NickaRussiaIvan Magalhaes NEGOTIATION
Aditya R SergiIndiaAmy Elsner NEW
Salvatore Z MorascaBrazilIoni Bowcher QUALIFIED
Kadeem U SchemmerBrazilElwin Sharvill NEGOTIATION
Chavez Q CaldareraUnited KingdomAmy Elsner RENEWAL
Smith H PoquetteFranceIoni Bowcher PROPOSAL
David U DarakjyUnited KingdomElwin Sharvill NEW
Claire D MaletArgentinaElwin Sharvill PROPOSAL
James Q BologniaGermanyStephen Shaw NEGOTIATION
Claire M VocelkaSpainIvan Magalhaes UNQUALIFIED
Aditya O WaycottBrazilAnna Fali NEW
Maria K GauchoGermanyAsiya Javayant NEW
Leja U GlickBrazilXuxue Feng QUALIFIED
Antonio M StensethFranceOnyama Limba NEW
Rodrigues L CampainIndiaAnna Fali PROPOSAL
Silvio H GauchoCanadaAsiya Javayant RENEWAL
Silvio I FerenczAustraliaAmy Elsner PROPOSAL
Jefferson Q AmigonCanadaAmy Elsner NEW
Claire L MaletIndiaIvan Magalhaes NEW
James H SlusarskiJapanAsiya Javayant QUALIFIED
Sinclair F RoysterIndiaIoni Bowcher NEW
Johnson E MaletUnited KingdomAnna Fali RENEWAL
Stacey W VocelkaAustraliaAmy Elsner RENEWAL
Chavez J NestleIndiaBernardo Dominic UNQUALIFIED
Costa U MacleadAustraliaIoni Bowcher QUALIFIED
Maisha G RimAustraliaXuxue Feng NEW
Munro Y GauchoArgentinaAmy Elsner QUALIFIED
Smith H DoeItalyIvan Magalhaes QUALIFIED
Johnson L InouyeItalyAnna Fali NEW
Adams W StensethFranceStephen Shaw NEW
Maisha U CaudyFranceIoni Bowcher QUALIFIED
Claire C MaletRussiaAmy Elsner NEGOTIATION
Morrow S PaprockiFranceStephen Shaw NEGOTIATION
Wickens C WaycottArgentinaOnyama Limba UNQUALIFIED
Greenwood A OldroydItalyAsiya Javayant PROPOSAL
Stacey C BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Emily C KuskoSpainAsiya Javayant UNQUALIFIED
Munro R VenereItalyOnyama Limba RENEWAL
Emily V MaletFranceIoni Bowcher PROPOSAL
Morrow E PoquetteItalyIoni Bowcher RENEWAL
Rodrigues D SaylorsBrazilOnyama Limba NEGOTIATION
Rodrigues G AlbaresIndiaStephen Shaw RENEWAL
Nicolas R SchemmerBrazilIoni Bowcher RENEWAL
Maria Q CaudyFranceXuxue Feng QUALIFIED
Francesco B NickaJapanBernardo Dominic PROPOSAL
Frozen Columns
Name
Francesco C Vocelka
Wickens N Ferencz
Mayumi Z Ruta
Cody N Butt
Chavez D Amigon
Izzy G Doe
Chavez I Slusarski
Wickens E Amigon
Greenwood S Caudy
Cody Y Bolognia
Nicolas F Nestle
Nicolas P Butt
Aditya Y Ostrosky
Morrow G Figeroa
Clifford D Tollner
Antonio P Saylors
Alejandro Q Stenseth
Maria D Stockham
Greenwood I Flosi
Stacey C Paprocki
Stacey C Saylors
Aruna Z Shinko
Kaitlin P Ruta
Munro H Schemmer
Julie L Figeroa
Julie U Dilliard
Maisha Z Schemmer
Chavez D Wieser
Ivar B Sergi
Kadeem L Nicka
Greenwood Z Tollner
Isabel Q Flosi
Maisha F Tollner
Nicolas Z Slusarski
Julie E Vocelka
Kaitlin K Bowley
Jones G Waycott
Murillo K Slusarski
Claire W Dilliard
Salvatore I Rulapaugh
Leon Y Kolmetz
Faith N Bowley
Leja K Caldarera
Misaki X Waycott
Mujtaba E Ruta
Wickens X Wieser
Kadeem T Darakjy
Clifford Q Ostrosky
Kaitlin W Maclead
Wickens W Stockham
IdCountryDate
1000Argentina2025-10-07
1001Italy2025-09-30
1002United Kingdom2025-10-05
1003India2025-09-27
1004Canada2025-09-13
1005Germany2025-09-25
1006France2025-09-21
1007United Kingdom2025-09-25
1008Australia2025-09-12
1009Russia2025-09-14
1010Italy2025-09-14
1011United Kingdom2025-10-02
1012Argentina2025-09-26
1013Brazil2025-09-14
1014Canada2025-09-24
1015Canada2025-09-12
1016United Kingdom2025-10-04
1017Spain2025-09-21
1018Germany2025-09-09
1019Spain2025-09-28
1020Italy2025-09-17
1021Japan2025-09-18
1022Germany2025-09-24
1023Australia2025-09-11
1024Italy2025-09-28
1025Italy2025-10-04
1026Russia2025-10-01
1027Brazil2025-09-27
1028Italy2025-09-14
1029Germany2025-09-19
1030Italy2025-09-13
1031Spain2025-09-18
1032France2025-09-18
1033Spain2025-09-17
1034Japan2025-09-09
1035Australia2025-09-14
1036Spain2025-10-06
1037India2025-10-01
1038Australia2025-09-26
1039United Kingdom2025-09-18
1040India2025-09-15
1041Spain2025-10-04
1042Australia2025-09-25
1043France2025-10-06
1044Canada2025-09-29
1045Spain2025-10-06
1046Spain2025-09-26
1047Australia2025-09-12
1048Germany2025-09-20
1049Spain2025-09-21

On-Demand Data

NameIdCountryDate
Izzy Y Maclead1000Italy2025-09-13
Faith C Ostrosky1001Russia2025-10-03
Leja R Rulapaugh1002Russia2025-09-17
Maria A Flosi1003Brazil2025-09-22
Aika L Morasca1004Russia2025-10-03
Rodrigues K Slusarski1005Argentina2025-09-29
Adams N Saylors1006Australia2025-10-03
Smith R Iturbide1007United Kingdom2025-10-06
Mujtaba I Ruta1008Australia2025-10-06
Ashley F Rulapaugh1009Brazil2025-09-30
Alejandro V Venere1010India2025-10-04
Nicolas Q Flosi1011Germany2025-09-29
Aruna L Tollner1012Australia2025-09-20
Alejandro G Dilliard1013United Kingdom2025-09-11
Jefferson O Tollner1014United Kingdom2025-09-27
Leon I Garufi1015Australia2025-09-26
Kaitlin F Whobrey1016Germany2025-09-14
Misaki F Malet1017United Kingdom2025-10-03
Chavez E Malet1018Germany2025-10-07
Juan D Kusko1019Brazil2025-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna C BriddickIndiaAnna Fali QUALIFIED
Izzy X PaprockiRussiaAsiya Javayant NEW
Alejandro Q AlbaresFranceAmy Elsner QUALIFIED
Rodrigues O BowleyGermanyIoni Bowcher PROPOSAL
Juan F MarrierJapanAmy Elsner QUALIFIED
Juan M GlickCanadaAmy Elsner QUALIFIED
Francesco G VocelkaRussiaXuxue Feng RENEWAL
Emily F VenereItalyBernardo Dominic QUALIFIED
Isabel F WhobreyItalyStephen Shaw NEW
Emily Y MaletIndiaAnna Fali QUALIFIED
Sinclair X StensethGermanyXuxue Feng NEGOTIATION
Kaitlin U CaldareraIndiaIoni Bowcher NEW
Octavia J DoeRussiaIvan Magalhaes RENEWAL
Kaitlin E PerinJapanAmy Elsner NEGOTIATION
Smith R MaletSpainIvan Magalhaes QUALIFIED
Maria N VenereSpainIoni Bowcher PROPOSAL
Sinclair B RoysterUnited KingdomStephen Shaw NEGOTIATION
Aditya S AmigonArgentinaIoni Bowcher UNQUALIFIED
Salvatore H KuskoFranceStephen Shaw NEW
Greenwood F MaletJapanAsiya Javayant RENEWAL
James E MarrierSpainElwin Sharvill NEW
Wickens K NickaGermanyOnyama Limba NEW
Morrow O GlickRussiaXuxue Feng RENEWAL
Cody T CaudyGermanyAsiya Javayant QUALIFIED
Juan T DilliardJapanStephen Shaw PROPOSAL
Ashley G AmigonFranceAsiya Javayant RENEWAL
Alejandro H IturbideArgentinaXuxue Feng QUALIFIED
Leja O IturbideArgentinaElwin Sharvill NEW
Leja C FigeroaAustraliaBernardo Dominic NEGOTIATION
Sinclair J ShinkoCanadaBernardo Dominic PROPOSAL
Kadeem W PoquetteSpainAsiya Javayant NEW
Murillo R AmigonJapanXuxue Feng NEW
Adams S TollnerBrazilAmy Elsner PROPOSAL
David Q GillianGermanyIvan Magalhaes NEGOTIATION
Rodrigues V BologniaArgentinaIvan Magalhaes NEGOTIATION
Leon Z MorascaUnited KingdomOnyama Limba QUALIFIED
Jones W CaudyArgentinaIoni Bowcher RENEWAL
Juan A VocelkaCanadaAmy Elsner NEW
Stacey W CampainGermanyElwin Sharvill QUALIFIED
Adams P PaprockiCanadaIvan Magalhaes 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>