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
Francesco R IturbideBrazilXuxue Feng QUALIFIED
Aditya K IturbideFranceAsiya Javayant PROPOSAL
Morrow H MorascaRussiaAsiya Javayant RENEWAL
Isabel D FollerRussiaOnyama Limba NEW
Aditya H DarakjyCanadaAmy Elsner NEW
Greenwood E WieserBrazilStephen Shaw PROPOSAL
Leja E StockhamRussiaAsiya Javayant QUALIFIED
Adams N OstroskyCanadaIoni Bowcher RENEWAL
Deepesh R CampainCanadaBernardo Dominic NEGOTIATION
Wickens H MacleadGermanyXuxue Feng PROPOSAL
Jennifer Q CaudyGermanyStephen Shaw RENEWAL
Kaitlin U GlickArgentinaIvan Magalhaes NEGOTIATION
Johnson E GlickItalyElwin Sharvill RENEWAL
Ashley L MacleadFranceElwin Sharvill UNQUALIFIED
Jefferson R MarrierItalyIoni Bowcher RENEWAL
Misaki Z MaletIndiaIoni Bowcher UNQUALIFIED
Emily B BologniaAustraliaIvan Magalhaes PROPOSAL
Izzy O WieserGermanyXuxue Feng NEGOTIATION
Darci Z CaudyGermanyOnyama Limba PROPOSAL
Silvio T SaylorsUnited KingdomAsiya Javayant PROPOSAL
Smith B KolmetzRussiaAnna Fali UNQUALIFIED
Leja L MorascaArgentinaOnyama Limba QUALIFIED
Mayumi G AmigonItalyXuxue Feng PROPOSAL
Johnson P GillianJapanElwin Sharvill NEGOTIATION
Maisha R BriddickArgentinaAnna Fali NEW
Darci A AlbaresRussiaOnyama Limba PROPOSAL
Silvio D ShinkoSpainElwin Sharvill QUALIFIED
Julie P SergiFranceOnyama Limba PROPOSAL
Francesco N NickaItalyElwin Sharvill UNQUALIFIED
Alejandro R ChuiArgentinaStephen Shaw QUALIFIED
Mayumi R StensethAustraliaAsiya Javayant RENEWAL
Emily B RoysterSpainStephen Shaw NEGOTIATION
David T ButtBrazilStephen Shaw RENEWAL
Octavia K CampainAustraliaAmy Elsner QUALIFIED
Salvatore U AmigonFranceIoni Bowcher NEW
Mayumi B OstroskyFranceStephen Shaw RENEWAL
Costa Y GlickAustraliaStephen Shaw PROPOSAL
Mujtaba G FlosiItalyAsiya Javayant QUALIFIED
Silvio W KolmetzUnited KingdomIoni Bowcher NEW
Costa R MarrierUnited KingdomBernardo Dominic QUALIFIED
Ivar Q OstroskyArgentinaStephen Shaw RENEWAL
Faith J MacleadJapanAmy Elsner NEGOTIATION
Aruna U RoysterItalyStephen Shaw RENEWAL
Claire K OstroskyFranceBernardo Dominic PROPOSAL
Adams Y AlbaresItalyAnna Fali RENEWAL
Morrow K FerenczGermanyAmy Elsner QUALIFIED
Misaki A SergiSpainBernardo Dominic QUALIFIED
Cody Z GillianBrazilAsiya Javayant RENEWAL
Johnson J RoysterItalyIoni Bowcher NEGOTIATION
Clifford A FlosiAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Costa X ButtSpainOnyama Limba RENEWAL
Johnson X ButtUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues L SergiArgentinaStephen Shaw QUALIFIED
Murillo E KuskoIndiaAnna Fali NEGOTIATION
Ricardo B SergiFranceXuxue Feng UNQUALIFIED
Costa E OstroskyJapanAsiya Javayant RENEWAL
Maria L RutaBrazilStephen Shaw PROPOSAL
Isabel V PerinRussiaAsiya Javayant NEW
James T StockhamArgentinaAnna Fali NEW
Maria B StockhamJapanStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio L FigeroaBrazil2025-08-05Truhlar And Truhlar Attys UNQUALIFIED88Onyama Limba
1001Costa O ShinkoFrance2025-08-22Chanay, Jeffrey A Esq RENEWAL26Xuxue Feng
1002Antonio A RoysterGermany2025-08-13Rousseaux, Michael Esq NEW21Anna Fali
1003Cody X WhobreyGermany2025-08-23Truhlar And Truhlar Attys NEGOTIATION37Stephen Shaw
1004Francesco J RoysterUnited Kingdom2025-08-17Printing Dimensions UNQUALIFIED37Ivan Magalhaes
1005Leon W RulapaughSpain2025-08-26Rousseaux, Michael Esq RENEWAL6Stephen Shaw
1006Jennifer S WhobreySpain2025-08-21Buckley Miller Wright UNQUALIFIED41Ioni Bowcher
1007Claire H FigeroaAustralia2025-08-24Dorl, James J Esq PROPOSAL35Xuxue Feng
1008Jefferson I CampainIndia2025-08-17Feiner Bros RENEWAL61Onyama Limba
1009Ricardo S NickaBrazil2025-08-10Rousseaux, Michael Esq PROPOSAL8Onyama Limba
1010Leja F SergiBrazil2025-08-09Commercial Press NEW86Stephen Shaw
1011Darci G AmigonUnited Kingdom2025-08-23Feltz Printing Service NEGOTIATION6Amy Elsner
1012Sinclair P InouyeJapan2025-08-20Chapman, Ross E Esq PROPOSAL35Amy Elsner
1013Rodrigues I KuskoJapan2025-08-19Feiner Bros RENEWAL28Asiya Javayant
1014Aditya Y NickaSpain2025-08-12Rousseaux, Michael Esq UNQUALIFIED20Onyama Limba
1015Salvatore G WieserGermany2025-08-25Rangoni Of Florence UNQUALIFIED49Stephen Shaw
1016Deepesh N OldroydSpain2025-08-08Chapman, Ross E Esq PROPOSAL0Anna Fali
1017Cody I StensethCanada2025-08-01Feiner Bros NEGOTIATION91Anna Fali
1018Johnson O DilliardAustralia2025-07-31Feltz Printing Service RENEWAL50Ivan Magalhaes
1019Silvio I WieserAustralia2025-08-19Chemel, James L Cpa UNQUALIFIED54Bernardo Dominic
1020Izzy H GarufiIndia2025-08-07Feiner Bros PROPOSAL14Asiya Javayant
1021Isabel F ShinkoUnited Kingdom2025-08-01Printing Dimensions UNQUALIFIED87Ivan Magalhaes
1022Julie C RimIndia2025-08-04Benton, John B Jr NEGOTIATION73Ivan Magalhaes
1023James S GillianUnited Kingdom2025-08-01Morlong Associates QUALIFIED84Stephen Shaw
1024Emily H KuskoJapan2025-08-03Chapman, Ross E Esq NEGOTIATION94Asiya Javayant
1025Maria F FerenczArgentina2025-08-11Dorl, James J Esq NEGOTIATION87Anna Fali
1026Nicolas I MaletItaly2025-08-12Morlong Associates UNQUALIFIED88Ioni Bowcher
1027Wickens X MaletFrance2025-08-04Chemel, James L Cpa QUALIFIED27Bernardo Dominic
1028Juan K DoeSpain2025-08-20Rousseaux, Michael Esq NEGOTIATION76Asiya Javayant
1029Clifford D FlosiAustralia2025-08-01Chapman, Ross E Esq QUALIFIED91Bernardo Dominic
1030Sinclair E NestleJapan2025-08-26Morlong Associates QUALIFIED91Xuxue Feng
1031Kaitlin X GlickArgentina2025-08-28Morlong Associates QUALIFIED5Ivan Magalhaes
1032Jefferson Z RutaIndia2025-08-22Benton, John B Jr RENEWAL68Amy Elsner
1033Sinclair Q CampainSpain2025-08-06Commercial Press QUALIFIED4Amy Elsner
1034Arvin T ChuiCanada2025-08-02Dorl, James J Esq RENEWAL60Onyama Limba
1035Darci G KolmetzUnited Kingdom2025-08-17Printing Dimensions PROPOSAL85Xuxue Feng
1036Morrow O FollerUnited Kingdom2025-08-28Chemel, James L Cpa NEW85Ivan Magalhaes
1037Aditya J ButtAustralia2025-08-10Benton, John B Jr RENEWAL84Onyama Limba
1038Francesco A GlickIndia2025-08-12Rangoni Of Florence QUALIFIED86Ivan Magalhaes
1039Aika A SchemmerCanada2025-08-02Truhlar And Truhlar Attys RENEWAL17Onyama Limba
1040Juan E MaletIndia2025-08-25Rousseaux, Michael Esq QUALIFIED43Bernardo Dominic
1041Adams P PoquetteCanada2025-08-01Commercial Press NEW64Asiya Javayant
1042Chavez N RoysterJapan2025-08-22Benton, John B Jr PROPOSAL48Amy Elsner
1043Tony C AmigonBrazil2025-08-03Chapman, Ross E Esq QUALIFIED42Ivan Magalhaes
1044Aika Z DarakjyItaly2025-08-02King, Christopher A Esq UNQUALIFIED93Bernardo Dominic
1045Johnson T VocelkaAustralia2025-08-06Chanay, Jeffrey A Esq QUALIFIED42Stephen Shaw
1046Greenwood X SaylorsBrazil2025-08-17Benton, John B Jr NEW80Asiya Javayant
1047Juan L MaletItaly2025-08-05Chapman, Ross E Esq NEGOTIATION99Onyama Limba
1048Costa H BriddickJapan2025-08-06Benton, John B Jr PROPOSAL30Onyama Limba
1049Johnson I RulapaughCanada2025-08-28Feiner Bros QUALIFIED14Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Wickens U ButtUnited KingdomXuxue Feng NEGOTIATION
Aditya B OstroskyUnited KingdomElwin Sharvill RENEWAL
Juan K BriddickIndiaIvan Magalhaes QUALIFIED
Jennifer S SchemmerItalyBernardo Dominic NEW
Chavez K MarrierSpainBernardo Dominic NEGOTIATION
Jeanfrancois T StockhamRussiaOnyama Limba RENEWAL
Chavez H CaldareraCanadaBernardo Dominic PROPOSAL
Kaitlin R FerenczSpainAmy Elsner RENEWAL
Ashley C SchemmerFranceBernardo Dominic QUALIFIED
Leon U SergiUnited KingdomIoni Bowcher NEGOTIATION
Alejandro F CampainBrazilAmy Elsner NEW
James P CampainBrazilXuxue Feng PROPOSAL
Jones P PoquetteGermanyAnna Fali RENEWAL
Ashley J SaylorsFranceBernardo Dominic RENEWAL
Murillo O RoysterArgentinaAsiya Javayant PROPOSAL
Jeanfrancois Q SergiIndiaBernardo Dominic NEW
Deepesh F NickaGermanyElwin Sharvill PROPOSAL
Tony L OstroskyAustraliaOnyama Limba NEGOTIATION
Darci R FerenczUnited KingdomStephen Shaw QUALIFIED
Jennifer D ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Leja E GauchoFranceElwin Sharvill NEGOTIATION
Arvin D WaycottItalyAnna Fali NEW
James C GauchoUnited KingdomStephen Shaw UNQUALIFIED
James S BriddickJapanAsiya Javayant UNQUALIFIED
Misaki D InouyeJapanIoni Bowcher RENEWAL
Rodrigues F DilliardItalyAnna Fali QUALIFIED
Jones Z BowleyIndiaAsiya Javayant PROPOSAL
Ashley P MacleadSpainStephen Shaw NEGOTIATION
Tony U CampainIndiaElwin Sharvill RENEWAL
Greenwood U ChuiBrazilBernardo Dominic RENEWAL
Jennifer K VocelkaSpainIoni Bowcher QUALIFIED
Maisha D StockhamIndiaXuxue Feng RENEWAL
Jennifer D StensethIndiaXuxue Feng PROPOSAL
Claire K ChuiArgentinaAmy Elsner UNQUALIFIED
Leon B KuskoRussiaAmy Elsner UNQUALIFIED
Wickens Z OldroydAustraliaAsiya Javayant PROPOSAL
Darci I CaldareraArgentinaBernardo Dominic RENEWAL
Salvatore O TollnerIndiaIvan Magalhaes RENEWAL
Munro F RulapaughItalyXuxue Feng NEW
Chavez D GillianItalyAmy Elsner QUALIFIED
Sinclair V GillianFranceAsiya Javayant NEW
Maria E OstroskySpainIoni Bowcher RENEWAL
Jones W DarakjySpainXuxue Feng UNQUALIFIED
Wickens Z ChuiJapanXuxue Feng NEW
Stacey S KolmetzFranceIoni Bowcher NEW
Wickens H AmigonIndiaIvan Magalhaes NEW
Maisha U KolmetzItalyAsiya Javayant QUALIFIED
Faith S AlbaresRussiaBernardo Dominic NEW
Leja U FigeroaGermanyAnna Fali PROPOSAL
Clifford X CaldareraIndiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Silvio T Perin
Isabel S Gaucho
Silvio Y Vocelka
Mujtaba Z Venere
Izzy S Caldarera
Stacey U Perin
Deepesh Q Waycott
David O Gillian
Rodrigues R Royster
Stacey N Glick
Jones K Bowley
Sinclair A Campain
Maisha M Paprocki
Clifford Z Malet
Mujtaba X Amigon
Wickens X Ostrosky
Leja I Ferencz
Munro A Venere
Rodrigues R Flosi
Rodrigues Q Vocelka
Arvin G Albares
Nicolas I Figeroa
Wickens C Morasca
James R Marrier
Sinclair W Whobrey
Chavez S Maclead
Greenwood Z Garufi
Mayumi K Butt
Chavez V Wieser
Murillo Q Caudy
Ricardo W Saylors
Aruna Q Nestle
Murillo D Rim
Rodrigues S Albares
Sinclair W Gillian
Silvio D Rim
Leon O Chui
Chavez E Perin
Darci U Darakjy
Smith O Morasca
Francesco P Figeroa
Ashley B Gillian
Costa V Poquette
Aruna K Briddick
Aditya V Sergi
Izzy T Foller
Nicolas C Paprocki
Faith Y Rim
David X Butt
Rodrigues N Poquette
IdCountryDate
1000Argentina2025-08-08
1001France2025-08-28
1002Australia2025-08-27
1003Brazil2025-08-15
1004Japan2025-08-10
1005Argentina2025-08-05
1006Brazil2025-08-21
1007France2025-08-08
1008Russia2025-08-27
1009Japan2025-08-28
1010Japan2025-08-01
1011France2025-08-20
1012India2025-08-28
1013Canada2025-08-10
1014Germany2025-08-13
1015India2025-08-05
1016Germany2025-08-04
1017Germany2025-08-20
1018Australia2025-08-01
1019Brazil2025-08-23
1020Brazil2025-08-18
1021Russia2025-08-21
1022Russia2025-08-07
1023Japan2025-08-28
1024Russia2025-08-03
1025Italy2025-08-26
1026Germany2025-08-08
1027Italy2025-08-23
1028France2025-08-12
1029Spain2025-08-19
1030United Kingdom2025-08-16
1031Russia2025-07-30
1032India2025-08-27
1033India2025-08-16
1034Australia2025-08-25
1035United Kingdom2025-08-10
1036Russia2025-08-27
1037Spain2025-08-13
1038Canada2025-08-13
1039France2025-08-14
1040Canada2025-08-10
1041Australia2025-08-01
1042France2025-08-03
1043Australia2025-08-19
1044France2025-08-24
1045Japan2025-08-17
1046Japan2025-08-05
1047Germany2025-08-14
1048Italy2025-07-31
1049India2025-08-12

On-Demand Data

NameIdCountryDate
Aruna A Flosi1000Canada2025-08-16
Francesco K Oldroyd1001Australia2025-08-19
Darci X Poquette1002United Kingdom2025-08-20
David L Caudy1003India2025-08-11
Faith U Whobrey1004Russia2025-08-13
Leon F Morasca1005Spain2025-08-16
Ricardo K Caldarera1006Australia2025-08-27
Aruna Z Rulapaugh1007India2025-08-09
Adams U Stockham1008Spain2025-08-04
Kaitlin W Shinko1009India2025-08-23
Sinclair H Malet1010United Kingdom2025-08-10
James N Stockham1011Canada2025-08-15
Maria P Oldroyd1012Italy2025-08-13
Nicolas B Gaucho1013Australia2025-08-25
Kadeem I Inouye1014Germany2025-08-03
Maisha S Iturbide1015United Kingdom2025-08-04
David M Ostrosky1016Australia2025-08-05
Maisha C Chui1017Italy2025-08-25
Jeanfrancois O Schemmer1018Australia2025-08-13
Aditya G Gillian1019Canada2025-08-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David S SchemmerJapanOnyama Limba RENEWAL
Antonio C FigeroaFranceElwin Sharvill NEW
Mujtaba B BologniaGermanyIoni Bowcher NEW
Mujtaba N IturbideItalyElwin Sharvill QUALIFIED
Johnson E FlosiUnited KingdomBernardo Dominic QUALIFIED
Salvatore U FlosiArgentinaIoni Bowcher RENEWAL
Kadeem F OstroskyRussiaIoni Bowcher QUALIFIED
Stacey Q GillianFranceIoni Bowcher NEW
Murillo D GarufiItalyIvan Magalhaes PROPOSAL
Ashley U FigeroaGermanyAsiya Javayant NEGOTIATION
Kadeem K AmigonGermanyXuxue Feng RENEWAL
Juan J RutaSpainOnyama Limba RENEWAL
Julie V CampainBrazilBernardo Dominic QUALIFIED
Francesco Z ShinkoSpainBernardo Dominic UNQUALIFIED
Costa Q SchemmerUnited KingdomAnna Fali RENEWAL
Smith E CaldareraSpainAsiya Javayant PROPOSAL
Silvio W PaprockiArgentinaAnna Fali NEW
Julie X WhobreyJapanElwin Sharvill NEW
Kadeem S BowleyRussiaAsiya Javayant NEGOTIATION
Ricardo R MacleadArgentinaBernardo Dominic PROPOSAL
David P MaletFranceElwin Sharvill NEGOTIATION
Greenwood C PoquetteFranceOnyama Limba UNQUALIFIED
Claire M RimIndiaBernardo Dominic NEW
Cody Q BriddickItalyAmy Elsner UNQUALIFIED
Deepesh Q BologniaGermanyAmy Elsner QUALIFIED
Francesco N RoysterBrazilOnyama Limba RENEWAL
Octavia S GauchoGermanyStephen Shaw PROPOSAL
Morrow C AmigonFranceIoni Bowcher RENEWAL
Jefferson G GillianArgentinaElwin Sharvill NEGOTIATION
Murillo P NickaItalyAsiya Javayant QUALIFIED
Izzy I SergiArgentinaOnyama Limba PROPOSAL
Ivar Q SaylorsAustraliaAmy Elsner NEGOTIATION
Smith N PaprockiGermanyXuxue Feng PROPOSAL
Misaki F SchemmerIndiaIoni Bowcher PROPOSAL
Mujtaba R GillianGermanyAmy Elsner PROPOSAL
Octavia O ButtUnited KingdomAsiya Javayant RENEWAL
Stacey I NickaIndiaIvan Magalhaes RENEWAL
Francesco A OstroskyBrazilAmy Elsner RENEWAL
Salvatore F GillianUnited KingdomAmy Elsner RENEWAL
Smith Y MaletJapanXuxue Feng PROPOSAL

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