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
Morrow O BologniaAustraliaIoni Bowcher NEGOTIATION
Alejandro Q TollnerArgentinaAsiya Javayant PROPOSAL
Claire U OstroskyGermanyAsiya Javayant RENEWAL
Clifford P CaldareraIndiaBernardo Dominic QUALIFIED
Claire I PoquetteUnited KingdomXuxue Feng QUALIFIED
Deepesh K OstroskyIndiaBernardo Dominic RENEWAL
Octavia R PerinAustraliaAnna Fali PROPOSAL
Faith B MorascaJapanBernardo Dominic QUALIFIED
Costa O ChuiItalyElwin Sharvill NEW
Maria E GauchoBrazilAsiya Javayant RENEWAL
Sinclair E MaletItalyAnna Fali NEGOTIATION
Jennifer R BowleySpainAsiya Javayant UNQUALIFIED
Antonio F FerenczFranceElwin Sharvill UNQUALIFIED
Rodrigues R FlosiBrazilBernardo Dominic UNQUALIFIED
Cody O GarufiItalyBernardo Dominic NEW
Johnson Q MarrierBrazilAmy Elsner RENEWAL
Misaki H FollerItalyElwin Sharvill QUALIFIED
David N CaudyFranceAnna Fali QUALIFIED
Nicolas C FigeroaArgentinaOnyama Limba QUALIFIED
Nicolas Z MarrierGermanyStephen Shaw NEW
Munro P DoeAustraliaAmy Elsner NEGOTIATION
Silvio U FerenczRussiaStephen Shaw NEGOTIATION
Jennifer Y SchemmerArgentinaStephen Shaw UNQUALIFIED
Stacey C CampainItalyIvan Magalhaes UNQUALIFIED
Rodrigues D VocelkaAustraliaOnyama Limba UNQUALIFIED
Aditya N CaldareraArgentinaAnna Fali NEW
Aditya X StockhamFranceAsiya Javayant UNQUALIFIED
Aika B VenereArgentinaOnyama Limba UNQUALIFIED
Sinclair Z ShinkoIndiaIvan Magalhaes RENEWAL
Murillo S CampainFranceBernardo Dominic UNQUALIFIED
Clifford Z MarrierArgentinaXuxue Feng PROPOSAL
Isabel K MacleadJapanIvan Magalhaes RENEWAL
Mujtaba Y TollnerIndiaXuxue Feng RENEWAL
Leon V ChuiGermanyElwin Sharvill UNQUALIFIED
Kadeem A PaprockiAustraliaStephen Shaw UNQUALIFIED
Isabel O DoeIndiaBernardo Dominic RENEWAL
Leja G VocelkaRussiaElwin Sharvill QUALIFIED
Claire O CaldareraAustraliaAnna Fali PROPOSAL
Smith D FerenczRussiaAnna Fali NEW
Jones Z PaprockiCanadaIoni Bowcher UNQUALIFIED
Isabel R ButtArgentinaAsiya Javayant NEGOTIATION
Francesco X CampainFranceIoni Bowcher NEW
Jefferson Q OldroydFranceElwin Sharvill NEGOTIATION
Kadeem Y RimSpainIvan Magalhaes QUALIFIED
Isabel K CampainGermanyAmy Elsner NEGOTIATION
Aika A RimItalyAsiya Javayant PROPOSAL
Nicolas P WhobreyBrazilAnna Fali NEW
Morrow D WieserCanadaStephen Shaw UNQUALIFIED
Chavez B RimBrazilAnna Fali NEW
Julie X VocelkaSpainBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya A GlickIndiaElwin Sharvill NEW
Mayumi A OldroydBrazilElwin Sharvill UNQUALIFIED
Aditya A BologniaSpainElwin Sharvill PROPOSAL
Ricardo W CampainGermanyXuxue Feng NEGOTIATION
Rodrigues L KuskoRussiaOnyama Limba NEW
Rodrigues J AmigonSpainIvan Magalhaes RENEWAL
Faith O FerenczGermanyOnyama Limba QUALIFIED
Morrow Z GillianItalyIoni Bowcher PROPOSAL
David H BowleyAustraliaIoni Bowcher NEW
Wickens X DarakjyUnited KingdomAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez B FlosiCanada2025-07-26Buckley Miller Wright PROPOSAL57Bernardo Dominic
1001Claire Z PaprockiAustralia2025-08-08Feiner Bros QUALIFIED59Bernardo Dominic
1002Faith S ShinkoAustralia2025-07-24Rangoni Of Florence NEW95Ivan Magalhaes
1003Izzy T FigeroaFrance2025-07-26Chapman, Ross E Esq UNQUALIFIED51Stephen Shaw
1004Ivar L SaylorsItaly2025-07-21Commercial Press UNQUALIFIED48Amy Elsner
1005Salvatore H OstroskyJapan2025-08-08Morlong Associates NEGOTIATION59Stephen Shaw
1006David U FerenczArgentina2025-07-16Dorl, James J Esq RENEWAL34Asiya Javayant
1007Jennifer X RoysterGermany2025-08-01Rousseaux, Michael Esq QUALIFIED42Stephen Shaw
1008Faith A ShinkoRussia2025-07-19Morlong Associates UNQUALIFIED79Anna Fali
1009Leja U GillianGermany2025-07-17Feltz Printing Service QUALIFIED36Xuxue Feng
1010Salvatore X AmigonItaly2025-07-21Feiner Bros PROPOSAL41Elwin Sharvill
1011Juan X GlickFrance2025-08-05Benton, John B Jr NEW79Anna Fali
1012Smith A ChuiBrazil2025-07-27Benton, John B Jr QUALIFIED92Amy Elsner
1013Greenwood V StockhamBrazil2025-07-26Feiner Bros NEGOTIATION5Onyama Limba
1014Isabel E BriddickBrazil2025-07-18Dorl, James J Esq NEW77Elwin Sharvill
1015Smith Q FlosiAustralia2025-08-02Truhlar And Truhlar Attys RENEWAL86Asiya Javayant
1016Alejandro G FigeroaItaly2025-07-20Morlong Associates UNQUALIFIED89Elwin Sharvill
1017Deepesh C StockhamAustralia2025-07-22Benton, John B Jr PROPOSAL94Bernardo Dominic
1018Octavia S GarufiCanada2025-08-02Truhlar And Truhlar Attys PROPOSAL69Ioni Bowcher
1019Ivar L ChuiArgentina2025-07-19Chapman, Ross E Esq NEW64Ioni Bowcher
1020Stacey W FigeroaUnited Kingdom2025-08-02Commercial Press NEGOTIATION80Ioni Bowcher
1021Maisha L MacleadFrance2025-08-05Buckley Miller Wright RENEWAL78Bernardo Dominic
1022Clifford V OstroskyCanada2025-07-17Morlong Associates NEW55Anna Fali
1023Misaki M FerenczFrance2025-07-18Truhlar And Truhlar Attys NEW66Ioni Bowcher
1024Clifford A RulapaughUnited Kingdom2025-07-27Chemel, James L Cpa UNQUALIFIED8Amy Elsner
1025Silvio I StensethJapan2025-07-19Benton, John B Jr UNQUALIFIED86Bernardo Dominic
1026Munro P RulapaughJapan2025-07-21King, Christopher A Esq PROPOSAL93Bernardo Dominic
1027Leja M SlusarskiCanada2025-08-11Feiner Bros RENEWAL89Asiya Javayant
1028Salvatore N NickaUnited Kingdom2025-07-28King, Christopher A Esq NEGOTIATION32Xuxue Feng
1029Ivar V GlickIndia2025-08-13Feltz Printing Service NEW51Elwin Sharvill
1030Alejandro F KolmetzArgentina2025-07-25Benton, John B Jr PROPOSAL40Ioni Bowcher
1031Clifford C ShinkoRussia2025-07-31Chemel, James L Cpa UNQUALIFIED60Asiya Javayant
1032Izzy N DoeAustralia2025-08-08Feiner Bros UNQUALIFIED25Amy Elsner
1033Cody U MacleadArgentina2025-07-16Benton, John B Jr RENEWAL95Elwin Sharvill
1034Antonio X FerenczIndia2025-07-24Morlong Associates NEW64Elwin Sharvill
1035Maria F VenereSpain2025-08-06Benton, John B Jr UNQUALIFIED17Bernardo Dominic
1036Chavez S FollerAustralia2025-07-26Dorl, James J Esq NEGOTIATION82Ioni Bowcher
1037Kadeem G InouyeJapan2025-07-17Truhlar And Truhlar Attys QUALIFIED31Bernardo Dominic
1038Leon K IturbideSpain2025-08-09Dorl, James J Esq PROPOSAL86Xuxue Feng
1039Kadeem C SaylorsUnited Kingdom2025-08-07Chapman, Ross E Esq NEGOTIATION76Anna Fali
1040James E TollnerIndia2025-07-18Buckley Miller Wright PROPOSAL41Xuxue Feng
1041Cody N MaletJapan2025-07-19Buckley Miller Wright NEGOTIATION79Ivan Magalhaes
1042Greenwood D GarufiBrazil2025-07-19Buckley Miller Wright QUALIFIED1Ioni Bowcher
1043Claire Z GlickArgentina2025-08-09Rousseaux, Michael Esq NEW81Elwin Sharvill
1044Sinclair V VenereUnited Kingdom2025-08-05Chemel, James L Cpa PROPOSAL59Elwin Sharvill
1045Murillo Y CampainSpain2025-07-31Commercial Press UNQUALIFIED95Anna Fali
1046Chavez D DilliardArgentina2025-08-13Feiner Bros RENEWAL36Elwin Sharvill
1047Greenwood Q RoysterSpain2025-07-29Feltz Printing Service NEW95Anna Fali
1048James O PoquetteFrance2025-08-08Commercial Press PROPOSAL55Onyama Limba
1049Stacey Z DoeJapan2025-07-26Chapman, Ross E Esq QUALIFIED85Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Arvin P SlusarskiArgentinaStephen Shaw QUALIFIED
Mayumi C CaudyArgentinaElwin Sharvill QUALIFIED
Cody L AlbaresBrazilXuxue Feng UNQUALIFIED
Juan H MorascaAustraliaStephen Shaw PROPOSAL
Smith R RimArgentinaStephen Shaw QUALIFIED
Ashley L DoeCanadaIvan Magalhaes NEGOTIATION
Sinclair F PoquetteCanadaIvan Magalhaes NEW
Aruna L StensethArgentinaOnyama Limba NEGOTIATION
Francesco K WaycottBrazilXuxue Feng RENEWAL
Costa G StockhamCanadaStephen Shaw NEW
Darci P ShinkoSpainElwin Sharvill QUALIFIED
Mujtaba T GillianCanadaXuxue Feng NEGOTIATION
Munro Y RutaItalyAsiya Javayant NEW
Johnson Q AlbaresBrazilIoni Bowcher RENEWAL
Claire G GlickItalyAsiya Javayant QUALIFIED
Julie N MaletBrazilElwin Sharvill PROPOSAL
Murillo S ButtGermanyIvan Magalhaes UNQUALIFIED
Ivar N PaprockiArgentinaXuxue Feng PROPOSAL
Murillo V NestleItalyBernardo Dominic RENEWAL
Ricardo H MaletFranceOnyama Limba RENEWAL
Leon A SergiBrazilBernardo Dominic UNQUALIFIED
Misaki G RulapaughGermanyBernardo Dominic UNQUALIFIED
Munro W FollerCanadaXuxue Feng PROPOSAL
Maisha A WieserArgentinaIvan Magalhaes NEGOTIATION
Jennifer D PoquetteFranceXuxue Feng UNQUALIFIED
Emily N RulapaughJapanOnyama Limba NEW
Jeanfrancois B DoeSpainAnna Fali NEW
Ashley L ShinkoIndiaAmy Elsner QUALIFIED
Aruna C KolmetzGermanyIvan Magalhaes UNQUALIFIED
Jennifer N RimArgentinaXuxue Feng RENEWAL
Clifford N ChuiGermanyAmy Elsner NEW
Maisha E NickaIndiaAmy Elsner NEGOTIATION
Rodrigues T DilliardGermanyAnna Fali QUALIFIED
Clifford A RulapaughSpainStephen Shaw PROPOSAL
Mayumi K CaldareraJapanStephen Shaw QUALIFIED
Alejandro C ButtRussiaAmy Elsner RENEWAL
Jennifer R WieserFranceXuxue Feng UNQUALIFIED
Costa W FerenczSpainBernardo Dominic RENEWAL
Octavia U GauchoItalyOnyama Limba NEGOTIATION
Arvin Q MarrierUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois I KuskoBrazilElwin Sharvill NEGOTIATION
Costa L OstroskyCanadaAnna Fali UNQUALIFIED
Chavez C GillianSpainAnna Fali UNQUALIFIED
Jennifer T ButtArgentinaXuxue Feng UNQUALIFIED
Jennifer P PoquetteAustraliaElwin Sharvill NEGOTIATION
Jefferson A NestleRussiaElwin Sharvill NEW
Juan O RutaFranceIvan Magalhaes RENEWAL
Chavez T CaudyBrazilXuxue Feng RENEWAL
Sinclair O BologniaUnited KingdomIoni Bowcher NEGOTIATION
Antonio C DarakjyAustraliaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Arvin J Tollner
Jones V Saylors
Maisha M Malet
Jennifer O Rulapaugh
Aruna P Perin
Rodrigues Q Nicka
Mayumi N Iturbide
Izzy M Kolmetz
Sinclair R Rim
Jeanfrancois Y Slusarski
Jefferson S Garufi
Johnson F Rulapaugh
Nicolas I Bolognia
Johnson D Ruta
Salvatore Q Ostrosky
Cody H Whobrey
Morrow Q Maclead
Greenwood P Stockham
Kaitlin Y Malet
Kadeem P Briddick
Octavia L Poquette
Ashley P Oldroyd
Aditya K Malet
Faith T Royster
Greenwood N Nestle
Jeanfrancois X Malet
Stacey E Malet
Aika I Royster
Julie C Nestle
Emily M Oldroyd
Aruna S Rulapaugh
Darci H Albares
Aruna J Ruta
Salvatore O Slusarski
Izzy X Poquette
Greenwood A Rim
Octavia P Albares
Leja Y Nicka
Ivar A Royster
Ivar K Slusarski
Silvio F Dilliard
Octavia H Darakjy
Octavia L Poquette
Clifford T Figeroa
Claire G Paprocki
Murillo G Schemmer
Kadeem T Maclead
Faith I Rim
James Q Maclead
David Y Morasca
IdCountryDate
1000Japan2025-08-04
1001Argentina2025-08-09
1002France2025-07-26
1003Canada2025-08-13
1004Spain2025-07-21
1005Australia2025-08-10
1006United Kingdom2025-07-26
1007Japan2025-07-17
1008India2025-07-15
1009Argentina2025-08-06
1010France2025-08-11
1011France2025-08-10
1012Australia2025-07-20
1013Spain2025-07-15
1014Canada2025-07-29
1015Argentina2025-08-02
1016Australia2025-07-24
1017Spain2025-07-24
1018Australia2025-08-06
1019Australia2025-07-18
1020Russia2025-08-09
1021Argentina2025-07-29
1022Japan2025-07-15
1023Australia2025-08-04
1024India2025-07-18
1025Australia2025-07-24
1026Japan2025-07-28
1027United Kingdom2025-08-01
1028Argentina2025-08-12
1029Brazil2025-08-12
1030Spain2025-08-01
1031France2025-07-29
1032United Kingdom2025-08-07
1033Germany2025-08-12
1034Germany2025-07-19
1035Italy2025-07-29
1036Spain2025-07-20
1037Japan2025-07-28
1038Brazil2025-07-15
1039India2025-08-10
1040Italy2025-07-24
1041United Kingdom2025-08-10
1042Japan2025-07-20
1043Australia2025-07-29
1044Spain2025-07-23
1045India2025-07-19
1046Japan2025-08-08
1047Australia2025-07-18
1048Canada2025-07-22
1049United Kingdom2025-08-10

On-Demand Data

NameIdCountryDate
Julie P Doe1000Australia2025-08-04
Misaki F Poquette1001Italy2025-07-31
Jones A Ostrosky1002Australia2025-08-04
Munro D Butt1003Australia2025-07-28
Kadeem E Inouye1004Japan2025-08-08
Aika D Vocelka1005France2025-07-31
Salvatore V Rim1006Australia2025-07-26
Antonio Y Wieser1007United Kingdom2025-08-03
Costa Y Kusko1008Germany2025-07-17
Maisha T Kusko1009Japan2025-07-31
Tony D Caldarera1010Italy2025-08-10
Wickens X Oldroyd1011Canada2025-07-29
Maisha J Slusarski1012Australia2025-07-26
Izzy C Nestle1013Australia2025-07-30
Wickens P Briddick1014Russia2025-07-24
Kadeem O Butt1015France2025-08-08
Salvatore M Rulapaugh1016Spain2025-07-30
Greenwood L Venere1017Germany2025-07-15
Nicolas T Venere1018France2025-07-17
Ivar R Foller1019Spain2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley P AlbaresUnited KingdomOnyama Limba PROPOSAL
Misaki B MaletFranceStephen Shaw RENEWAL
Jennifer P VenereIndiaIoni Bowcher NEW
Munro U VocelkaGermanyStephen Shaw RENEWAL
Chavez D KuskoBrazilAnna Fali QUALIFIED
Mujtaba L RutaJapanIvan Magalhaes UNQUALIFIED
Stacey L BologniaBrazilElwin Sharvill PROPOSAL
Kadeem Z PoquetteCanadaAnna Fali NEGOTIATION
Mujtaba N CampainRussiaAmy Elsner NEGOTIATION
Stacey N ShinkoSpainAnna Fali RENEWAL
Salvatore N StensethAustraliaElwin Sharvill RENEWAL
Ashley Z MorascaIndiaIvan Magalhaes QUALIFIED
Maisha I RoysterUnited KingdomAnna Fali UNQUALIFIED
Wickens U PaprockiArgentinaAsiya Javayant NEW
Morrow J MaletSpainStephen Shaw NEW
Emily O MorascaRussiaOnyama Limba NEW
Smith T DilliardArgentinaStephen Shaw NEW
James W NestleCanadaAsiya Javayant NEGOTIATION
Ivar Q StensethBrazilXuxue Feng UNQUALIFIED
Costa K BowleyBrazilElwin Sharvill NEGOTIATION
Ashley Z PaprockiCanadaIvan Magalhaes UNQUALIFIED
Claire O BologniaSpainAnna Fali NEW
Kaitlin A WieserSpainIoni Bowcher NEW
Faith Q FlosiAustraliaAmy Elsner NEW
Morrow W DarakjyIndiaAsiya Javayant RENEWAL
Deepesh F CampainFranceOnyama Limba NEW
Kaitlin O TollnerAustraliaOnyama Limba NEGOTIATION
Silvio L MacleadCanadaElwin Sharvill NEGOTIATION
Munro Q CaldareraUnited KingdomIvan Magalhaes PROPOSAL
David C WieserArgentinaOnyama Limba NEGOTIATION
Munro Z GillianItalyAmy Elsner NEW
Aika V SaylorsCanadaIoni Bowcher UNQUALIFIED
Aditya H GarufiBrazilAmy Elsner UNQUALIFIED
Maria G StensethCanadaAmy Elsner NEGOTIATION
Leon O VenereJapanOnyama Limba UNQUALIFIED
Claire K VenereSpainOnyama Limba QUALIFIED
Maisha B IturbideGermanyXuxue Feng UNQUALIFIED
Juan C FigeroaArgentinaElwin Sharvill UNQUALIFIED
Johnson N RoysterUnited KingdomOnyama Limba RENEWAL
Murillo V FerenczSpainAsiya Javayant 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>