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
Aditya H PerinAustraliaAnna Fali UNQUALIFIED
Arvin K RimItalyOnyama Limba UNQUALIFIED
Smith Y CampainItalyIoni Bowcher QUALIFIED
Francesco J MacleadRussiaAnna Fali QUALIFIED
Ricardo C TollnerSpainAnna Fali RENEWAL
Wickens U MaletAustraliaAmy Elsner NEGOTIATION
Maisha X FerenczAustraliaAmy Elsner NEW
Murillo Q StockhamUnited KingdomAnna Fali UNQUALIFIED
Silvio N OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem U VenereAustraliaBernardo Dominic NEGOTIATION
Maisha E WieserItalyAmy Elsner RENEWAL
Jennifer P InouyeGermanyOnyama Limba UNQUALIFIED
Darci A PerinAustraliaOnyama Limba NEW
Johnson Y IturbideFranceStephen Shaw PROPOSAL
Rodrigues G FerenczGermanyElwin Sharvill RENEWAL
Aditya C CaudyItalyXuxue Feng NEW
Izzy G CaudyRussiaBernardo Dominic RENEWAL
Nicolas F TollnerAustraliaBernardo Dominic QUALIFIED
Juan M GauchoFranceAnna Fali QUALIFIED
Alejandro N DarakjyAustraliaIoni Bowcher UNQUALIFIED
Alejandro P NestleUnited KingdomAsiya Javayant NEW
Aditya L WieserFranceBernardo Dominic PROPOSAL
Cody J RutaFranceStephen Shaw QUALIFIED
Isabel I WaycottAustraliaStephen Shaw NEGOTIATION
Wickens P GarufiArgentinaAmy Elsner UNQUALIFIED
Antonio R SaylorsFranceBernardo Dominic NEW
Faith Q KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Ashley C SlusarskiGermanyIvan Magalhaes NEW
Chavez D InouyeItalyIvan Magalhaes UNQUALIFIED
Stacey I DoeFranceAnna Fali RENEWAL
Johnson M NickaItalyBernardo Dominic RENEWAL
Clifford M WieserIndiaAmy Elsner QUALIFIED
Alejandro C FigeroaAustraliaElwin Sharvill NEW
Morrow I IturbideAustraliaAnna Fali NEGOTIATION
Arvin I RutaGermanyIoni Bowcher QUALIFIED
Ashley G PoquetteAustraliaAmy Elsner UNQUALIFIED
Octavia R RutaSpainXuxue Feng RENEWAL
Misaki Q StensethGermanyOnyama Limba RENEWAL
Nicolas Y VenereRussiaElwin Sharvill UNQUALIFIED
Antonio R CaldareraCanadaAnna Fali NEW
Jones E BologniaItalyIvan Magalhaes QUALIFIED
Aruna V SchemmerAustraliaOnyama Limba PROPOSAL
Julie B MaletAustraliaXuxue Feng UNQUALIFIED
Juan S IturbideIndiaIoni Bowcher NEGOTIATION
Ricardo Q StockhamArgentinaIoni Bowcher RENEWAL
Silvio S WieserGermanyAsiya Javayant NEW
Aruna G NickaRussiaIvan Magalhaes UNQUALIFIED
Aditya Q BologniaRussiaAnna Fali QUALIFIED
Aika O SlusarskiBrazilBernardo Dominic NEGOTIATION
Smith Q VocelkaGermanyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David N VocelkaItalyElwin Sharvill NEGOTIATION
Silvio R DilliardAustraliaIoni Bowcher NEGOTIATION
Mayumi Q StockhamRussiaBernardo Dominic QUALIFIED
Mayumi P WaycottIndiaOnyama Limba NEGOTIATION
Sinclair A RoysterArgentinaAnna Fali UNQUALIFIED
Misaki J VocelkaFranceAmy Elsner UNQUALIFIED
Ashley S VocelkaUnited KingdomStephen Shaw QUALIFIED
Sinclair P NickaAustraliaElwin Sharvill UNQUALIFIED
Leon O MacleadCanadaElwin Sharvill QUALIFIED
Wickens M FlosiUnited KingdomAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki F FlosiAustralia2025-10-01Rousseaux, Michael Esq UNQUALIFIED94Asiya Javayant
1001Cody I SlusarskiAustralia2025-09-30Commercial Press NEW86Elwin Sharvill
1002Aika H MaletFrance2025-09-21Buckley Miller Wright UNQUALIFIED74Ivan Magalhaes
1003Silvio P FlosiGermany2025-10-07Printing Dimensions QUALIFIED98Anna Fali
1004Julie G GauchoJapan2025-09-26Chanay, Jeffrey A Esq NEGOTIATION38Elwin Sharvill
1005Leon G CaudyRussia2025-09-10Chanay, Jeffrey A Esq NEW80Elwin Sharvill
1006Cody B PoquetteAustralia2025-09-17Feiner Bros QUALIFIED14Stephen Shaw
1007Salvatore J KuskoJapan2025-09-24Benton, John B Jr NEGOTIATION42Anna Fali
1008James H VenereAustralia2025-09-25Morlong Associates UNQUALIFIED27Elwin Sharvill
1009Silvio R MacleadAustralia2025-09-26Chemel, James L Cpa UNQUALIFIED64Amy Elsner
1010Jennifer N OstroskySpain2025-09-24Rousseaux, Michael Esq NEW21Ivan Magalhaes
1011Cody F WaycottAustralia2025-09-08Chanay, Jeffrey A Esq NEW73Ioni Bowcher
1012Wickens A StockhamGermany2025-09-27Rangoni Of Florence RENEWAL25Onyama Limba
1013Aika B BriddickIndia2025-09-11Dorl, James J Esq QUALIFIED83Bernardo Dominic
1014Morrow W SchemmerAustralia2025-09-10Benton, John B Jr QUALIFIED82Anna Fali
1015Antonio A DarakjyItaly2025-10-04Printing Dimensions NEGOTIATION57Onyama Limba
1016Maisha R NickaRussia2025-10-03King, Christopher A Esq NEGOTIATION25Asiya Javayant
1017Tony F WieserUnited Kingdom2025-10-06King, Christopher A Esq NEGOTIATION31Onyama Limba
1018Octavia L SergiFrance2025-09-19King, Christopher A Esq RENEWAL88Onyama Limba
1019Francesco B RulapaughBrazil2025-09-11Rangoni Of Florence RENEWAL43Xuxue Feng
1020Tony A KolmetzRussia2025-09-24Printing Dimensions NEGOTIATION35Ioni Bowcher
1021Antonio N BowleyJapan2025-09-24Morlong Associates PROPOSAL72Ioni Bowcher
1022Aruna E RoysterUnited Kingdom2025-09-28Feltz Printing Service QUALIFIED19Onyama Limba
1023Tony T BologniaUnited Kingdom2025-09-15Buckley Miller Wright NEGOTIATION79Stephen Shaw
1024Maria Q DoeRussia2025-09-09Dorl, James J Esq UNQUALIFIED79Stephen Shaw
1025Jones T MaletGermany2025-09-26Benton, John B Jr PROPOSAL95Asiya Javayant
1026Jones S OstroskyIndia2025-10-07Chapman, Ross E Esq PROPOSAL23Stephen Shaw
1027Stacey U GillianGermany2025-09-14King, Christopher A Esq PROPOSAL72Asiya Javayant
1028Jefferson M SergiJapan2025-09-09Rangoni Of Florence QUALIFIED20Stephen Shaw
1029Kaitlin P DilliardGermany2025-09-12Chemel, James L Cpa PROPOSAL81Xuxue Feng
1030Silvio S CaudyRussia2025-09-23Dorl, James J Esq PROPOSAL84Bernardo Dominic
1031Leja M MarrierJapan2025-10-04Printing Dimensions RENEWAL88Elwin Sharvill
1032Julie E RulapaughAustralia2025-10-04Printing Dimensions PROPOSAL98Stephen Shaw
1033Ashley B TollnerIndia2025-09-24Buckley Miller Wright QUALIFIED11Onyama Limba
1034Morrow E FlosiRussia2025-09-27Feiner Bros PROPOSAL81Ioni Bowcher
1035Greenwood C NickaArgentina2025-10-05Chanay, Jeffrey A Esq PROPOSAL24Onyama Limba
1036Ivar W OstroskySpain2025-09-18Rangoni Of Florence NEW70Xuxue Feng
1037Nicolas T IturbideFrance2025-10-04Commercial Press UNQUALIFIED51Elwin Sharvill
1038Ivar N DarakjyRussia2025-09-11Truhlar And Truhlar Attys NEGOTIATION9Ioni Bowcher
1039Munro U CampainRussia2025-09-20Commercial Press NEGOTIATION63Elwin Sharvill
1040Maisha E OstroskyItaly2025-09-10Dorl, James J Esq UNQUALIFIED53Amy Elsner
1041Misaki W RoysterCanada2025-09-20Rangoni Of Florence PROPOSAL23Asiya Javayant
1042Tony L MaletAustralia2025-09-22Dorl, James J Esq NEW89Anna Fali
1043Smith D PerinRussia2025-09-27Rangoni Of Florence NEGOTIATION56Elwin Sharvill
1044Kaitlin N CaudyBrazil2025-09-30Rousseaux, Michael Esq RENEWAL0Amy Elsner
1045Faith V NickaArgentina2025-09-19Printing Dimensions NEW53Anna Fali
1046Greenwood O DoeCanada2025-10-07Buckley Miller Wright RENEWAL79Asiya Javayant
1047Costa P RoysterSpain2025-09-28Chemel, James L Cpa PROPOSAL81Anna Fali
1048Jennifer S KolmetzArgentina2025-10-02Chapman, Ross E Esq QUALIFIED45Onyama Limba
1049Silvio S PerinUnited Kingdom2025-09-16Rangoni Of Florence NEGOTIATION60Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Stacey C AmigonCanadaIoni Bowcher UNQUALIFIED
Claire O VenereSpainBernardo Dominic NEW
Octavia Z CampainFranceStephen Shaw PROPOSAL
Rodrigues C SlusarskiAustraliaIvan Magalhaes QUALIFIED
Kadeem A PerinGermanyAmy Elsner UNQUALIFIED
Jennifer S NickaBrazilAsiya Javayant UNQUALIFIED
Smith T AlbaresCanadaElwin Sharvill PROPOSAL
Tony G GarufiBrazilAsiya Javayant RENEWAL
Mujtaba J GlickItalyStephen Shaw PROPOSAL
Aika V AmigonFranceXuxue Feng QUALIFIED
Silvio D BowleyRussiaOnyama Limba NEW
Kadeem N BriddickGermanyXuxue Feng NEW
Greenwood N DilliardRussiaXuxue Feng QUALIFIED
Aditya G GauchoItalyBernardo Dominic NEW
Murillo X RoysterBrazilIvan Magalhaes RENEWAL
Aditya R BriddickArgentinaAnna Fali NEGOTIATION
Antonio X GillianJapanElwin Sharvill PROPOSAL
Ricardo L GauchoUnited KingdomStephen Shaw NEW
Murillo B SergiItalyOnyama Limba NEW
Emily O OldroydJapanIvan Magalhaes PROPOSAL
Kadeem S FollerRussiaIvan Magalhaes NEGOTIATION
Misaki O KolmetzIndiaBernardo Dominic PROPOSAL
Stacey A PerinFranceIoni Bowcher NEGOTIATION
Mayumi N FollerIndiaIvan Magalhaes NEGOTIATION
Faith C CampainRussiaIoni Bowcher NEGOTIATION
Jeanfrancois N WaycottItalyAmy Elsner UNQUALIFIED
Cody C KolmetzUnited KingdomStephen Shaw NEGOTIATION
Sinclair T GarufiUnited KingdomIvan Magalhaes NEW
Isabel Q AlbaresAustraliaAnna Fali UNQUALIFIED
Arvin A WieserFranceBernardo Dominic NEW
Francesco H WieserIndiaStephen Shaw UNQUALIFIED
Alejandro N StockhamBrazilXuxue Feng RENEWAL
Kadeem H TollnerItalyXuxue Feng UNQUALIFIED
Smith R IturbideItalyIoni Bowcher QUALIFIED
Munro N OstroskyItalyOnyama Limba NEW
Alejandro I FlosiRussiaIvan Magalhaes PROPOSAL
Murillo C ShinkoBrazilStephen Shaw RENEWAL
Sinclair M GarufiAustraliaAnna Fali NEW
Nicolas D GlickUnited KingdomStephen Shaw PROPOSAL
Munro Y SlusarskiSpainOnyama Limba QUALIFIED
Ricardo S KolmetzArgentinaAmy Elsner RENEWAL
Stacey Y ChuiJapanIoni Bowcher QUALIFIED
Kaitlin R CaudyUnited KingdomAnna Fali QUALIFIED
Leja D SchemmerBrazilBernardo Dominic RENEWAL
Costa F RoysterSpainAsiya Javayant PROPOSAL
Maisha L DilliardRussiaOnyama Limba NEW
Izzy Q InouyeUnited KingdomStephen Shaw UNQUALIFIED
Aruna E SaylorsSpainStephen Shaw PROPOSAL
Jennifer V BologniaGermanyAnna Fali PROPOSAL
Tony S GarufiIndiaXuxue Feng QUALIFIED
Frozen Columns
Name
Aruna R Vocelka
Morrow P Vocelka
Chavez P Nicka
Salvatore K Darakjy
Faith X Chui
Cody W Figeroa
Kaitlin Q Caldarera
Silvio D Malet
Alejandro B Sergi
Antonio N Malet
Misaki Y Briddick
Chavez E Morasca
Wickens L Kolmetz
Faith Y Tollner
Smith I Doe
Octavia P Stenseth
Alejandro I Poquette
Chavez I Bowley
Smith W Paprocki
David G Schemmer
Morrow I Ferencz
James L Doe
Smith S Glick
Sinclair O Bowley
Munro Q Dilliard
Ivar V Ruta
Jones P Kusko
Aditya U Schemmer
Antonio J Vocelka
Kadeem S Inouye
Francesco X Stockham
Misaki R Caudy
Faith X Doe
Costa A Bowley
Murillo C Kusko
Julie L Amigon
Stacey X Caudy
Izzy Y Amigon
Kaitlin G Campain
Ricardo F Gillian
Jones T Ostrosky
Arvin Q Stockham
Misaki E Briddick
Faith X Malet
Kadeem F Marrier
Adams S Morasca
Darci I Caudy
Jefferson Q Bowley
Octavia F Albares
Claire W Dilliard
IdCountryDate
1000Argentina2025-10-05
1001Germany2025-10-01
1002Argentina2025-09-26
1003India2025-09-09
1004Germany2025-09-22
1005Spain2025-09-29
1006Germany2025-09-28
1007Brazil2025-09-08
1008Germany2025-09-25
1009France2025-10-01
1010United Kingdom2025-09-29
1011Canada2025-09-10
1012Australia2025-09-18
1013Russia2025-09-23
1014Italy2025-09-08
1015Italy2025-09-24
1016Germany2025-09-27
1017Germany2025-10-02
1018Canada2025-09-24
1019Australia2025-10-04
1020India2025-09-11
1021Spain2025-09-08
1022India2025-10-06
1023Canada2025-09-30
1024Spain2025-10-02
1025United Kingdom2025-09-09
1026Canada2025-09-08
1027Japan2025-09-26
1028Italy2025-09-15
1029France2025-09-29
1030Japan2025-09-23
1031India2025-10-02
1032United Kingdom2025-09-12
1033Argentina2025-09-29
1034France2025-09-20
1035Russia2025-09-17
1036Russia2025-09-28
1037France2025-09-19
1038France2025-09-16
1039Spain2025-10-06
1040Germany2025-10-05
1041Argentina2025-09-12
1042India2025-10-06
1043Canada2025-10-07
1044Canada2025-09-20
1045India2025-10-05
1046Canada2025-10-01
1047Brazil2025-09-23
1048Canada2025-09-25
1049Japan2025-10-06

On-Demand Data

NameIdCountryDate
Kaitlin T Foller1000France2025-09-22
Maria K Schemmer1001Japan2025-09-28
Adams R Stenseth1002Italy2025-09-13
Cody M Paprocki1003Japan2025-09-26
Salvatore Q Slusarski1004Canada2025-09-21
Arvin R Nestle1005France2025-10-01
Jennifer Q Chui1006Japan2025-09-21
Maria F Saylors1007Italy2025-09-27
Leon A Nestle1008Brazil2025-09-28
Silvio C Stenseth1009Russia2025-09-13
Julie M Campain1010Canada2025-09-17
Leon W Rim1011United Kingdom2025-09-17
Deepesh J Flosi1012United Kingdom2025-09-13
Mayumi N Ferencz1013Australia2025-09-27
Wickens U Albares1014Germany2025-09-15
Leja B Waycott1015Canada2025-09-09
Juan H Paprocki1016Argentina2025-09-11
Leon Q Glick1017Germany2025-09-12
Emily U Royster1018Australia2025-09-29
Jennifer D Caudy1019India2025-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio F SergiGermanyIoni Bowcher PROPOSAL
Murillo M RulapaughArgentinaXuxue Feng RENEWAL
Antonio T AlbaresIndiaStephen Shaw UNQUALIFIED
Johnson H SlusarskiAustraliaOnyama Limba NEW
Jeanfrancois N BowleySpainAsiya Javayant QUALIFIED
Sinclair C DilliardJapanElwin Sharvill NEGOTIATION
Kadeem U DarakjyAustraliaIvan Magalhaes QUALIFIED
Ashley L DilliardFranceBernardo Dominic QUALIFIED
Aika I SlusarskiGermanyXuxue Feng PROPOSAL
Cody R BriddickArgentinaIvan Magalhaes QUALIFIED
Claire U ButtJapanBernardo Dominic NEGOTIATION
Jefferson H AlbaresBrazilIoni Bowcher PROPOSAL
Isabel A NickaIndiaBernardo Dominic RENEWAL
Ivar Q ButtCanadaIvan Magalhaes NEGOTIATION
Ricardo U SergiFranceOnyama Limba NEGOTIATION
David D ShinkoRussiaStephen Shaw PROPOSAL
Cody N SlusarskiIndiaXuxue Feng UNQUALIFIED
Aruna U RutaFranceAnna Fali RENEWAL
Clifford M SaylorsRussiaBernardo Dominic NEGOTIATION
Maria L FollerBrazilBernardo Dominic RENEWAL
Isabel Q VenereUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro Q SergiRussiaBernardo Dominic RENEWAL
Julie W NickaItalyAsiya Javayant NEGOTIATION
Nicolas B RimFranceIoni Bowcher UNQUALIFIED
Julie F DilliardItalyIoni Bowcher QUALIFIED
Silvio H BriddickGermanyXuxue Feng NEGOTIATION
Deepesh F MorascaGermanyIoni Bowcher NEGOTIATION
Arvin P MarrierArgentinaAmy Elsner RENEWAL
Maria M GlickBrazilAnna Fali PROPOSAL
Silvio G SergiJapanAsiya Javayant NEW
Mujtaba R StensethArgentinaXuxue Feng PROPOSAL
Munro X VocelkaArgentinaBernardo Dominic NEGOTIATION
Adams H WhobreyGermanyIoni Bowcher UNQUALIFIED
Francesco T BriddickAustraliaXuxue Feng NEGOTIATION
Aditya I AmigonSpainOnyama Limba NEW
Jennifer V DarakjyRussiaXuxue Feng NEGOTIATION
Alejandro R AmigonBrazilIoni Bowcher QUALIFIED
Smith Y CaldareraFranceAsiya Javayant NEW
Tony P FerenczArgentinaElwin Sharvill QUALIFIED
Sinclair A GlickRussiaAsiya Javayant UNQUALIFIED

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