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
Smith X PoquetteAustraliaElwin Sharvill PROPOSAL
Octavia E NestleJapanXuxue Feng PROPOSAL
Aika I NestleAustraliaBernardo Dominic UNQUALIFIED
Alejandro N MarrierSpainIoni Bowcher RENEWAL
Darci I DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Jones B FigeroaRussiaIvan Magalhaes RENEWAL
Sinclair C InouyeUnited KingdomAsiya Javayant RENEWAL
Tony B GillianArgentinaAmy Elsner RENEWAL
Salvatore P MarrierArgentinaIoni Bowcher RENEWAL
Izzy E KuskoIndiaElwin Sharvill RENEWAL
Misaki Y RimSpainElwin Sharvill NEW
Murillo S BowleyIndiaAsiya Javayant NEGOTIATION
Salvatore B WhobreyFranceAsiya Javayant NEW
Ashley P InouyeArgentinaStephen Shaw PROPOSAL
Stacey F SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Leon Z ButtGermanyBernardo Dominic PROPOSAL
Aruna B MarrierAustraliaIvan Magalhaes PROPOSAL
Smith G MorascaCanadaElwin Sharvill PROPOSAL
Maria W BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh O WieserItalyBernardo Dominic PROPOSAL
Ivar U CaldareraGermanyOnyama Limba NEW
Jeanfrancois S BowleyGermanyOnyama Limba QUALIFIED
Murillo G RutaBrazilXuxue Feng NEW
Silvio M BologniaSpainElwin Sharvill NEGOTIATION
Tony X TollnerArgentinaXuxue Feng QUALIFIED
Jefferson I OstroskyCanadaStephen Shaw NEGOTIATION
Kadeem G StensethGermanyAnna Fali UNQUALIFIED
Leon T WieserJapanAnna Fali RENEWAL
Costa X MorascaUnited KingdomStephen Shaw PROPOSAL
Mujtaba K StensethUnited KingdomAsiya Javayant NEGOTIATION
Ricardo T MarrierRussiaBernardo Dominic UNQUALIFIED
Cody J MarrierSpainXuxue Feng PROPOSAL
Julie Z NestleArgentinaAnna Fali RENEWAL
Ashley D AmigonFranceOnyama Limba RENEWAL
Julie O MaletSpainAmy Elsner RENEWAL
Greenwood S FigeroaBrazilOnyama Limba RENEWAL
Francesco M FlosiRussiaAmy Elsner PROPOSAL
Francesco D PerinRussiaBernardo Dominic NEW
Leon Q AlbaresRussiaAnna Fali NEW
Mayumi T DoeUnited KingdomStephen Shaw NEGOTIATION
Kaitlin U GlickItalyAsiya Javayant PROPOSAL
Jefferson E SlusarskiAustraliaBernardo Dominic NEW
Ricardo N ChuiJapanAnna Fali UNQUALIFIED
Claire X RulapaughFranceStephen Shaw PROPOSAL
Faith G GlickIndiaElwin Sharvill RENEWAL
Greenwood S ButtAustraliaBernardo Dominic QUALIFIED
Aika E FigeroaCanadaOnyama Limba NEW
Maria M ShinkoSpainBernardo Dominic QUALIFIED
Julie O AlbaresArgentinaOnyama Limba QUALIFIED
Jones C StensethJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo W MacleadItalyElwin Sharvill UNQUALIFIED
James J ButtRussiaIvan Magalhaes RENEWAL
Ivar I SergiFranceAmy Elsner PROPOSAL
Maisha Z PaprockiCanadaIvan Magalhaes NEGOTIATION
Maria B RimIndiaAmy Elsner PROPOSAL
Maisha P ShinkoGermanyBernardo Dominic PROPOSAL
Smith B NestleAustraliaAmy Elsner PROPOSAL
Smith K CaudyAustraliaStephen Shaw QUALIFIED
Kadeem M ChuiUnited KingdomStephen Shaw RENEWAL
Nicolas S VenereCanadaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood W ButtSpain2025-08-23Dorl, James J Esq NEW7Ioni Bowcher
1001Smith M TollnerRussia2025-08-31Commercial Press PROPOSAL97Elwin Sharvill
1002Ivar G RulapaughIndia2025-08-11Rousseaux, Michael Esq PROPOSAL73Amy Elsner
1003Silvio O MaletSpain2025-08-29Buckley Miller Wright UNQUALIFIED82Bernardo Dominic
1004Leja J NestleGermany2025-08-14King, Christopher A Esq UNQUALIFIED67Ivan Magalhaes
1005Cody E AlbaresRussia2025-08-12Chemel, James L Cpa RENEWAL15Anna Fali
1006Clifford A FigeroaCanada2025-08-27Printing Dimensions NEW17Elwin Sharvill
1007Leja F BowleyJapan2025-08-17Dorl, James J Esq NEGOTIATION21Ivan Magalhaes
1008Silvio F CampainArgentina2025-08-15Chanay, Jeffrey A Esq NEGOTIATION24Elwin Sharvill
1009Ricardo V FollerGermany2025-08-29Buckley Miller Wright QUALIFIED14Elwin Sharvill
1010Rodrigues J CampainUnited Kingdom2025-08-23Feltz Printing Service PROPOSAL65Amy Elsner
1011Sinclair V StockhamJapan2025-08-30Benton, John B Jr NEW39Bernardo Dominic
1012Juan P InouyeSpain2025-09-01Commercial Press RENEWAL66Amy Elsner
1013Maria H InouyeRussia2025-08-20Chanay, Jeffrey A Esq RENEWAL53Elwin Sharvill
1014Faith G FerenczJapan2025-09-05Feltz Printing Service QUALIFIED21Bernardo Dominic
1015Murillo C PaprockiFrance2025-08-18Dorl, James J Esq RENEWAL83Ioni Bowcher
1016Arvin R SchemmerUnited Kingdom2025-09-05Rousseaux, Michael Esq UNQUALIFIED52Elwin Sharvill
1017Silvio J WhobreyCanada2025-09-07King, Christopher A Esq NEW82Asiya Javayant
1018Jennifer S ShinkoIndia2025-09-08Rousseaux, Michael Esq RENEWAL27Asiya Javayant
1019Octavia G RulapaughFrance2025-09-04Rousseaux, Michael Esq NEW39Asiya Javayant
1020Alejandro M FigeroaGermany2025-09-06Printing Dimensions RENEWAL25Ioni Bowcher
1021Maisha V BowleyArgentina2025-08-29Benton, John B Jr NEGOTIATION24Onyama Limba
1022Alejandro B BologniaFrance2025-08-12Rangoni Of Florence RENEWAL22Ivan Magalhaes
1023Leja F OldroydRussia2025-08-22Rangoni Of Florence NEGOTIATION58Onyama Limba
1024Chavez W WhobreyArgentina2025-09-02Benton, John B Jr NEGOTIATION66Bernardo Dominic
1025Tony D CaldareraFrance2025-09-09Morlong Associates NEGOTIATION92Onyama Limba
1026Kaitlin E MarrierItaly2025-08-14Printing Dimensions NEW4Stephen Shaw
1027Jeanfrancois O NickaAustralia2025-08-14Rangoni Of Florence NEW70Ioni Bowcher
1028Aruna G CampainAustralia2025-08-17Truhlar And Truhlar Attys UNQUALIFIED83Ivan Magalhaes
1029Leon B MacleadCanada2025-08-14Morlong Associates UNQUALIFIED82Onyama Limba
1030Deepesh K GlickCanada2025-08-18Benton, John B Jr NEW27Xuxue Feng
1031David I SergiSpain2025-08-13Commercial Press UNQUALIFIED47Xuxue Feng
1032Sinclair K PaprockiCanada2025-09-08Buckley Miller Wright NEW94Asiya Javayant
1033Greenwood Y ChuiJapan2025-08-11King, Christopher A Esq NEW6Ioni Bowcher
1034Stacey B StockhamBrazil2025-09-01Rousseaux, Michael Esq UNQUALIFIED41Onyama Limba
1035Morrow P IturbideArgentina2025-09-03Rousseaux, Michael Esq NEW64Onyama Limba
1036Octavia I WieserRussia2025-09-05Feiner Bros NEW29Xuxue Feng
1037Adams B VenereCanada2025-08-24Chemel, James L Cpa RENEWAL47Xuxue Feng
1038Murillo L TollnerFrance2025-08-23Morlong Associates QUALIFIED53Xuxue Feng
1039Jeanfrancois Y OstroskyRussia2025-08-11Chemel, James L Cpa QUALIFIED50Asiya Javayant
1040Ricardo F BriddickFrance2025-08-28King, Christopher A Esq NEW75Stephen Shaw
1041Ivar H SchemmerGermany2025-09-06Commercial Press RENEWAL95Asiya Javayant
1042Claire F StensethAustralia2025-08-11Benton, John B Jr PROPOSAL75Anna Fali
1043Rodrigues T GarufiGermany2025-08-15Chanay, Jeffrey A Esq RENEWAL92Elwin Sharvill
1044Deepesh R RutaIndia2025-08-22Feltz Printing Service NEW85Anna Fali
1045Aditya X BowleyArgentina2025-08-16Morlong Associates UNQUALIFIED62Anna Fali
1046Maria L GarufiRussia2025-09-05King, Christopher A Esq NEW58Onyama Limba
1047Rodrigues G DoeUnited Kingdom2025-08-21Chanay, Jeffrey A Esq UNQUALIFIED40Onyama Limba
1048Salvatore C KolmetzArgentina2025-09-09Dorl, James J Esq PROPOSAL30Onyama Limba
1049Francesco W MacleadFrance2025-08-23King, Christopher A Esq UNQUALIFIED25Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Isabel F IturbideJapanOnyama Limba NEW
Izzy N GillianJapanStephen Shaw UNQUALIFIED
Faith T BriddickFranceElwin Sharvill PROPOSAL
David J VocelkaBrazilElwin Sharvill RENEWAL
James D VocelkaBrazilAsiya Javayant QUALIFIED
Costa R ChuiBrazilAmy Elsner RENEWAL
Emily F RimJapanOnyama Limba NEW
Murillo L MaletArgentinaIoni Bowcher UNQUALIFIED
Rodrigues N ButtArgentinaAmy Elsner QUALIFIED
Isabel F ChuiJapanIvan Magalhaes NEW
Misaki M GillianSpainXuxue Feng NEW
Rodrigues T KuskoFranceBernardo Dominic QUALIFIED
Cody T FerenczAustraliaStephen Shaw RENEWAL
Emily V DoeRussiaBernardo Dominic PROPOSAL
Wickens L SlusarskiFranceOnyama Limba NEW
Chavez O MaletCanadaStephen Shaw QUALIFIED
Arvin Q GlickFranceAnna Fali UNQUALIFIED
Jefferson X PerinIndiaAnna Fali NEGOTIATION
Rodrigues W InouyeRussiaAsiya Javayant NEGOTIATION
Costa U RutaBrazilAnna Fali NEW
Jones M CampainRussiaAsiya Javayant PROPOSAL
Mayumi D NickaArgentinaAsiya Javayant PROPOSAL
Arvin J PaprockiGermanyAmy Elsner NEGOTIATION
Jeanfrancois Y DarakjyGermanyXuxue Feng UNQUALIFIED
Maisha W GauchoAustraliaElwin Sharvill NEGOTIATION
Misaki V CampainCanadaIoni Bowcher NEW
Ricardo B RoysterRussiaOnyama Limba QUALIFIED
Wickens V CampainItalyIoni Bowcher QUALIFIED
Deepesh M WhobreyJapanXuxue Feng RENEWAL
Juan V GauchoCanadaAsiya Javayant RENEWAL
Munro U NickaGermanyIvan Magalhaes UNQUALIFIED
Leon O IturbideIndiaStephen Shaw RENEWAL
Sinclair Z OldroydGermanyAmy Elsner QUALIFIED
Izzy U MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Johnson P SaylorsUnited KingdomOnyama Limba NEGOTIATION
Salvatore X FlosiGermanyOnyama Limba NEW
Smith N FerenczCanadaOnyama Limba PROPOSAL
David C PoquetteRussiaAmy Elsner NEGOTIATION
Stacey R NestleArgentinaXuxue Feng QUALIFIED
Cody E NestleAustraliaBernardo Dominic QUALIFIED
Kaitlin B RulapaughUnited KingdomOnyama Limba QUALIFIED
Francesco I PoquetteBrazilIvan Magalhaes NEGOTIATION
Antonio Y ChuiBrazilElwin Sharvill NEGOTIATION
Arvin W WaycottAustraliaElwin Sharvill NEGOTIATION
Cody I WaycottFranceAnna Fali NEW
Deepesh S PerinAustraliaElwin Sharvill QUALIFIED
Jones H PoquetteSpainStephen Shaw QUALIFIED
Leon V CaudyAustraliaXuxue Feng UNQUALIFIED
Izzy W PaprockiGermanyAsiya Javayant QUALIFIED
Misaki O AmigonFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
Maisha D Malet
Greenwood L Ruta
Kadeem D Nestle
Francesco C Vocelka
Darci H Briddick
Silvio L Bowley
Johnson H Amigon
Silvio T Paprocki
Francesco G Morasca
Morrow N Doe
Aruna U Schemmer
Sinclair Z Morasca
Claire Z Nestle
Munro Z Venere
Aruna A Albares
Aika X Garufi
Francesco I Sergi
Aruna E Venere
David K Marrier
Tony I Foller
Munro Z Figeroa
Smith A Butt
Antonio P Iturbide
Tony E Nicka
Kaitlin T Bowley
Tony T Maclead
Octavia J Rulapaugh
Octavia K Waycott
Jennifer J Campain
Salvatore H Vocelka
Aditya C Malet
Emily X Stenseth
James Z Waycott
Tony X Figeroa
Salvatore G Oldroyd
Mayumi G Campain
Julie B Butt
Misaki B Vocelka
Darci W Nestle
Ashley U Gillian
Murillo I Wieser
Aika N Slusarski
Wickens N Kusko
Sinclair Y Chui
Darci T Kusko
Cody K Darakjy
Misaki W Inouye
Darci C Gillian
Arvin Q Ferencz
Mujtaba F Stockham
IdCountryDate
1000India2025-09-04
1001Australia2025-09-05
1002Japan2025-08-14
1003Russia2025-08-13
1004Russia2025-09-01
1005Argentina2025-08-27
1006Italy2025-08-25
1007United Kingdom2025-08-11
1008Argentina2025-08-12
1009India2025-08-16
1010India2025-08-20
1011France2025-09-09
1012Spain2025-08-21
1013France2025-08-13
1014Canada2025-08-25
1015United Kingdom2025-09-08
1016Australia2025-08-31
1017Russia2025-08-11
1018Germany2025-08-15
1019Australia2025-08-22
1020Russia2025-08-28
1021United Kingdom2025-08-25
1022Brazil2025-08-29
1023United Kingdom2025-08-29
1024Russia2025-09-07
1025India2025-08-17
1026Canada2025-08-23
1027Spain2025-08-17
1028Japan2025-09-07
1029Argentina2025-08-15
1030Brazil2025-08-30
1031Italy2025-08-26
1032France2025-08-24
1033Australia2025-08-13
1034Argentina2025-08-15
1035Japan2025-09-05
1036Canada2025-08-30
1037Russia2025-08-29
1038Russia2025-08-18
1039Canada2025-08-19
1040Japan2025-08-15
1041Spain2025-08-13
1042France2025-09-07
1043India2025-08-31
1044Russia2025-08-12
1045Italy2025-09-07
1046India2025-09-08
1047Germany2025-08-16
1048France2025-08-13
1049Russia2025-08-19

On-Demand Data

NameIdCountryDate
Kaitlin H Paprocki1000France2025-08-27
Salvatore V Figeroa1001Italy2025-09-02
Mayumi R Oldroyd1002France2025-08-22
Rodrigues Q Ferencz1003Brazil2025-09-07
Kadeem E Malet1004Brazil2025-09-08
Leja D Poquette1005Australia2025-08-23
Ashley K Bowley1006Japan2025-08-15
Adams V Shinko1007Italy2025-09-03
Wickens E Iturbide1008Brazil2025-08-12
Morrow X Malet1009United Kingdom2025-08-14
Julie R Ferencz1010France2025-09-02
Wickens X Kolmetz1011Brazil2025-09-09
Octavia I Morasca1012Australia2025-08-24
Jeanfrancois D Shinko1013Germany2025-08-25
Octavia Y Flosi1014Germany2025-08-17
Maria O Whobrey1015United Kingdom2025-09-06
Antonio B Saylors1016Spain2025-08-23
Aruna L Briddick1017Spain2025-09-04
Sinclair R Doe1018Brazil2025-08-20
Francesco Z Garufi1019Spain2025-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro K ButtArgentinaBernardo Dominic QUALIFIED
Salvatore V AlbaresArgentinaElwin Sharvill NEW
Wickens M MorascaCanadaAsiya Javayant RENEWAL
Juan C OstroskyRussiaAnna Fali NEGOTIATION
Ivar W PoquetteAustraliaIoni Bowcher RENEWAL
Ivar U OstroskyCanadaOnyama Limba PROPOSAL
Claire E GlickUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro Z BriddickSpainIvan Magalhaes NEW
Ivar B BriddickSpainAsiya Javayant NEGOTIATION
Adams Z MacleadGermanyIvan Magalhaes UNQUALIFIED
Kadeem S StockhamSpainStephen Shaw RENEWAL
Emily B OldroydCanadaElwin Sharvill NEGOTIATION
Darci N RulapaughAustraliaAnna Fali NEW
Ashley Z AmigonGermanyIoni Bowcher RENEWAL
Cody U MaletUnited KingdomElwin Sharvill NEGOTIATION
Munro B DilliardFranceAmy Elsner RENEWAL
Rodrigues P WhobreyFranceAnna Fali NEW
Antonio Q SlusarskiArgentinaOnyama Limba PROPOSAL
Stacey L SergiUnited KingdomStephen Shaw QUALIFIED
Jeanfrancois P RulapaughJapanAsiya Javayant NEW
Mujtaba Q IturbideRussiaOnyama Limba NEW
Mujtaba F GlickJapanElwin Sharvill RENEWAL
Arvin J MaletGermanyIoni Bowcher QUALIFIED
Antonio V GlickRussiaElwin Sharvill QUALIFIED
Mujtaba L PerinJapanIvan Magalhaes RENEWAL
Adams S SlusarskiJapanElwin Sharvill NEW
Mujtaba E SlusarskiArgentinaAnna Fali UNQUALIFIED
Claire K StockhamAustraliaOnyama Limba NEGOTIATION
Octavia K InouyeUnited KingdomIvan Magalhaes QUALIFIED
Morrow L FollerArgentinaIvan Magalhaes QUALIFIED
Juan X AlbaresArgentinaIvan Magalhaes NEGOTIATION
Leja Y RimSpainElwin Sharvill QUALIFIED
Jeanfrancois N AmigonGermanyStephen Shaw NEW
James K MacleadJapanAsiya Javayant RENEWAL
Cody M CaldareraRussiaXuxue Feng PROPOSAL
Francesco S AmigonGermanyBernardo Dominic NEGOTIATION
Johnson V RutaGermanyXuxue Feng NEGOTIATION
Jones T StensethBrazilAsiya Javayant UNQUALIFIED
Juan J MaletAustraliaAmy Elsner NEGOTIATION
Rodrigues P FollerIndiaBernardo Dominic 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>