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
Darci H RutaArgentinaAsiya Javayant UNQUALIFIED
Clifford T InouyeUnited KingdomXuxue Feng RENEWAL
Jennifer Z PaprockiIndiaIvan Magalhaes RENEWAL
Morrow E CaudyGermanyStephen Shaw QUALIFIED
Costa T AmigonJapanIvan Magalhaes RENEWAL
Claire W PaprockiAustraliaElwin Sharvill NEGOTIATION
Claire K AlbaresSpainAnna Fali PROPOSAL
Stacey K AmigonGermanyBernardo Dominic UNQUALIFIED
Ashley E KolmetzAustraliaIvan Magalhaes NEGOTIATION
David B VocelkaAustraliaOnyama Limba RENEWAL
Maisha Y VenereBrazilBernardo Dominic NEGOTIATION
Cody L BriddickCanadaAnna Fali NEW
Isabel W CaldareraJapanAnna Fali RENEWAL
Claire Z FlosiCanadaBernardo Dominic NEGOTIATION
Mayumi C KolmetzBrazilBernardo Dominic UNQUALIFIED
Jones L GarufiSpainAmy Elsner UNQUALIFIED
David V FigeroaJapanAmy Elsner UNQUALIFIED
Leon Y DoeCanadaOnyama Limba PROPOSAL
Salvatore U VocelkaAustraliaElwin Sharvill UNQUALIFIED
David N DarakjyUnited KingdomXuxue Feng NEW
Alejandro D WhobreyRussiaElwin Sharvill NEW
Kaitlin G MorascaItalyXuxue Feng QUALIFIED
Jefferson C RulapaughArgentinaOnyama Limba UNQUALIFIED
Clifford T SlusarskiSpainElwin Sharvill NEW
Aruna K GillianSpainBernardo Dominic NEW
Murillo D TollnerFranceStephen Shaw PROPOSAL
Faith J MaletItalyBernardo Dominic NEW
Octavia C BologniaFranceIoni Bowcher NEW
Salvatore V FlosiUnited KingdomAmy Elsner PROPOSAL
Francesco E KuskoUnited KingdomIvan Magalhaes QUALIFIED
Munro C VocelkaUnited KingdomXuxue Feng QUALIFIED
Tony E FerenczSpainOnyama Limba NEW
Cody V RoysterBrazilStephen Shaw PROPOSAL
Ivar Q NickaIndiaAnna Fali NEGOTIATION
Salvatore F GarufiBrazilOnyama Limba RENEWAL
Sinclair Q RimArgentinaStephen Shaw NEGOTIATION
Leon Y OldroydFranceXuxue Feng PROPOSAL
Isabel Y PoquetteBrazilAsiya Javayant QUALIFIED
Francesco V MorascaRussiaElwin Sharvill PROPOSAL
Murillo W MacleadBrazilElwin Sharvill NEGOTIATION
Adams V TollnerSpainOnyama Limba UNQUALIFIED
Smith Y GlickArgentinaIvan Magalhaes NEGOTIATION
Rodrigues K DoeGermanyIvan Magalhaes NEGOTIATION
Antonio J MacleadBrazilOnyama Limba NEW
Antonio J VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Greenwood L NestleCanadaAnna Fali QUALIFIED
James C RoysterRussiaIvan Magalhaes PROPOSAL
Ashley U GillianUnited KingdomIoni Bowcher NEGOTIATION
Greenwood C InouyeFranceElwin Sharvill UNQUALIFIED
Silvio Q StockhamUnited KingdomAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois C WhobreyUnited KingdomIoni Bowcher NEW
Sinclair K WieserCanadaAnna Fali RENEWAL
Murillo P WaycottArgentinaOnyama Limba QUALIFIED
Julie O AmigonBrazilOnyama Limba NEGOTIATION
Antonio Y BriddickCanadaElwin Sharvill UNQUALIFIED
Rodrigues W SchemmerFranceXuxue Feng RENEWAL
Rodrigues F MarrierJapanStephen Shaw UNQUALIFIED
Leon Q WieserIndiaAmy Elsner QUALIFIED
Rodrigues F WhobreyGermanyAsiya Javayant PROPOSAL
David K NestleItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh G SergiCanada2025-09-13Dorl, James J Esq QUALIFIED53Bernardo Dominic
1001Emily G ChuiBrazil2025-09-12Dorl, James J Esq PROPOSAL53Ivan Magalhaes
1002Deepesh F WhobreyItaly2025-09-29Dorl, James J Esq PROPOSAL78Bernardo Dominic
1003Antonio F DarakjyBrazil2025-09-28Feiner Bros NEW5Stephen Shaw
1004Morrow J DilliardAustralia2025-10-05Buckley Miller Wright RENEWAL47Elwin Sharvill
1005Wickens J MaletArgentina2025-09-19Dorl, James J Esq UNQUALIFIED16Anna Fali
1006Smith I AmigonSpain2025-09-21Rousseaux, Michael Esq RENEWAL35Xuxue Feng
1007Morrow M MacleadArgentina2025-09-26Printing Dimensions QUALIFIED4Xuxue Feng
1008Maria V MarrierSpain2025-09-29Feltz Printing Service PROPOSAL21Stephen Shaw
1009Aditya T ShinkoBrazil2025-09-25Feltz Printing Service RENEWAL81Ioni Bowcher
1010Arvin E PerinItaly2025-09-27Commercial Press UNQUALIFIED85Ivan Magalhaes
1011Sinclair E NickaItaly2025-10-04Rangoni Of Florence NEW13Anna Fali
1012Cody O AmigonAustralia2025-10-10Dorl, James J Esq NEGOTIATION0Anna Fali
1013Murillo H RoysterGermany2025-09-20Buckley Miller Wright PROPOSAL48Elwin Sharvill
1014Murillo B MaletAustralia2025-10-02Chapman, Ross E Esq PROPOSAL89Stephen Shaw
1015Salvatore H RutaGermany2025-09-15Morlong Associates RENEWAL10Amy Elsner
1016Murillo S WhobreyCanada2025-09-18Truhlar And Truhlar Attys PROPOSAL57Ioni Bowcher
1017Cody K FigeroaAustralia2025-09-12Printing Dimensions UNQUALIFIED11Asiya Javayant
1018Salvatore I BowleyBrazil2025-10-06Rousseaux, Michael Esq QUALIFIED38Anna Fali
1019Mayumi G DarakjyArgentina2025-09-18Commercial Press UNQUALIFIED60Ioni Bowcher
1020Maria F KuskoGermany2025-09-19Chemel, James L Cpa NEGOTIATION70Elwin Sharvill
1021Emily Z NickaRussia2025-09-15King, Christopher A Esq RENEWAL55Onyama Limba
1022Munro D OldroydAustralia2025-10-07Feiner Bros RENEWAL75Anna Fali
1023Kadeem S OldroydIndia2025-10-07Feiner Bros QUALIFIED39Asiya Javayant
1024Misaki O CaldareraRussia2025-10-04Buckley Miller Wright QUALIFIED82Ioni Bowcher
1025Jennifer C CaudyArgentina2025-10-09Buckley Miller Wright PROPOSAL51Elwin Sharvill
1026Izzy L GauchoJapan2025-09-30Buckley Miller Wright RENEWAL14Asiya Javayant
1027Julie L MacleadItaly2025-09-22Truhlar And Truhlar Attys RENEWAL69Amy Elsner
1028Stacey V CaldareraBrazil2025-09-24Commercial Press UNQUALIFIED36Ioni Bowcher
1029Deepesh C AlbaresCanada2025-09-21Chapman, Ross E Esq UNQUALIFIED70Ivan Magalhaes
1030Adams Y NestleFrance2025-09-15Dorl, James J Esq UNQUALIFIED31Elwin Sharvill
1031Misaki C StensethCanada2025-10-02Chemel, James L Cpa UNQUALIFIED69Onyama Limba
1032Claire Y PoquetteUnited Kingdom2025-09-28Truhlar And Truhlar Attys NEW75Xuxue Feng
1033Emily W FigeroaCanada2025-09-13Chanay, Jeffrey A Esq NEGOTIATION82Bernardo Dominic
1034Costa D SlusarskiArgentina2025-10-02Truhlar And Truhlar Attys NEW90Ivan Magalhaes
1035Darci S PaprockiAustralia2025-09-16Printing Dimensions NEGOTIATION16Anna Fali
1036Wickens D VocelkaRussia2025-10-10Dorl, James J Esq QUALIFIED20Ioni Bowcher
1037Stacey H MorascaAustralia2025-09-30Feiner Bros PROPOSAL66Bernardo Dominic
1038Jones Z RulapaughGermany2025-10-07Feiner Bros NEW57Xuxue Feng
1039Nicolas O DoeItaly2025-09-28Truhlar And Truhlar Attys QUALIFIED48Onyama Limba
1040Rodrigues Z AmigonArgentina2025-09-24Feiner Bros PROPOSAL18Bernardo Dominic
1041Smith E DarakjyFrance2025-09-17Feltz Printing Service RENEWAL63Stephen Shaw
1042Mujtaba L ButtAustralia2025-10-03Rangoni Of Florence PROPOSAL92Onyama Limba
1043Kadeem D RulapaughRussia2025-10-06Commercial Press RENEWAL80Asiya Javayant
1044Tony A RutaBrazil2025-09-13King, Christopher A Esq PROPOSAL70Ioni Bowcher
1045Jeanfrancois V WhobreyJapan2025-09-30Benton, John B Jr UNQUALIFIED54Ioni Bowcher
1046Emily S AmigonBrazil2025-09-16Printing Dimensions RENEWAL19Stephen Shaw
1047Johnson H StensethArgentina2025-09-17Printing Dimensions NEW17Anna Fali
1048Octavia C MarrierSpain2025-09-21Chapman, Ross E Esq NEGOTIATION3Ioni Bowcher
1049Leon L WhobreyJapan2025-09-25Truhlar And Truhlar Attys QUALIFIED69Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jennifer H RulapaughItalyElwin Sharvill UNQUALIFIED
Aika W DilliardFranceBernardo Dominic PROPOSAL
Octavia N RoysterJapanBernardo Dominic RENEWAL
Greenwood Y VenereBrazilIoni Bowcher PROPOSAL
Aditya I CaudySpainXuxue Feng PROPOSAL
Ricardo X BologniaBrazilAsiya Javayant NEGOTIATION
Francesco N WaycottUnited KingdomXuxue Feng RENEWAL
Tony W BologniaGermanyStephen Shaw NEW
Antonio M GarufiAustraliaAnna Fali NEGOTIATION
Faith C SlusarskiJapanAnna Fali NEW
Salvatore O SchemmerRussiaAsiya Javayant NEW
Juan E MarrierFranceXuxue Feng RENEWAL
Ricardo J CaldareraFranceAnna Fali QUALIFIED
Misaki I GlickCanadaBernardo Dominic NEW
Costa V MacleadFranceXuxue Feng RENEWAL
Rodrigues D VenereSpainAnna Fali UNQUALIFIED
Octavia G NickaBrazilAnna Fali QUALIFIED
Mayumi I FollerArgentinaAsiya Javayant NEW
Aditya T OldroydFranceAsiya Javayant QUALIFIED
Costa H OldroydArgentinaElwin Sharvill RENEWAL
Cody H ButtCanadaAsiya Javayant NEGOTIATION
Salvatore D CampainSpainAsiya Javayant UNQUALIFIED
Maisha W StensethGermanyBernardo Dominic NEW
Silvio O OstroskyFranceAmy Elsner QUALIFIED
Leon D AmigonFranceAnna Fali NEGOTIATION
Antonio J TollnerRussiaAnna Fali NEGOTIATION
Jennifer C MorascaRussiaOnyama Limba NEGOTIATION
Munro R GillianArgentinaStephen Shaw PROPOSAL
Silvio N MaletSpainStephen Shaw QUALIFIED
Alejandro B InouyeFranceAsiya Javayant NEGOTIATION
Cody L BologniaJapanStephen Shaw QUALIFIED
Ivar B KolmetzIndiaStephen Shaw RENEWAL
Mujtaba T CaudyFranceStephen Shaw PROPOSAL
Cody T SergiSpainElwin Sharvill QUALIFIED
Aditya L CaldareraArgentinaAsiya Javayant UNQUALIFIED
Maria G OldroydUnited KingdomAmy Elsner NEW
Stacey G KolmetzItalyElwin Sharvill PROPOSAL
Jones W WaycottUnited KingdomAmy Elsner UNQUALIFIED
Cody W IturbideAustraliaXuxue Feng PROPOSAL
Darci L SlusarskiItalyXuxue Feng NEW
Claire S DoeUnited KingdomBernardo Dominic NEW
Antonio C FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Juan P ButtRussiaAnna Fali NEW
Sinclair I RutaFranceXuxue Feng PROPOSAL
Stacey D StensethSpainBernardo Dominic RENEWAL
Leja I SlusarskiIndiaAsiya Javayant NEW
Julie C GillianUnited KingdomAnna Fali NEGOTIATION
Julie W RimIndiaAnna Fali NEW
Darci H NestleJapanOnyama Limba UNQUALIFIED
Sinclair S ShinkoFranceElwin Sharvill NEW
Frozen Columns
Name
Misaki H Albares
Stacey A Caldarera
Emily H Garufi
Mujtaba D Stenseth
Wickens Q Rulapaugh
Francesco X Ruta
Maisha C Shinko
Mujtaba Q Rim
Faith M Maclead
Sinclair U Nestle
Murillo I Slusarski
Misaki M Maclead
Munro P Foller
Jennifer E Royster
Johnson K Inouye
Ricardo J Ferencz
Sinclair P Poquette
Adams T Malet
Isabel R Figeroa
Claire W Garufi
Murillo T Ferencz
Arvin Q Doe
Kaitlin H Morasca
Ashley P Waycott
Munro Z Glick
Leja Z Slusarski
Julie C Kusko
Kadeem A Foller
Ashley X Rim
Morrow U Shinko
Rodrigues U Inouye
Kadeem U Amigon
Francesco Z Caudy
Adams T Shinko
Leja Y Rim
Wickens Q Stockham
Ivar V Garufi
Jeanfrancois E Ruta
Leja K Caldarera
Maisha I Paprocki
Aditya P Bowley
Misaki M Royster
Jefferson U Darakjy
Jeanfrancois X Slusarski
Chavez D Morasca
Cody M Butt
Greenwood S Bowley
Salvatore Y Maclead
Antonio J Bowley
James N Butt
IdCountryDate
1000Canada2025-10-03
1001Spain2025-09-17
1002India2025-09-28
1003Germany2025-09-29
1004Canada2025-09-14
1005Canada2025-09-15
1006India2025-09-18
1007Argentina2025-10-08
1008Russia2025-10-04
1009France2025-10-03
1010Japan2025-09-14
1011Russia2025-09-15
1012Italy2025-09-26
1013Russia2025-09-28
1014Russia2025-09-15
1015Russia2025-10-11
1016Germany2025-09-18
1017Brazil2025-09-27
1018Russia2025-09-13
1019Brazil2025-10-06
1020Brazil2025-10-11
1021Argentina2025-09-13
1022Australia2025-10-08
1023Australia2025-09-19
1024Brazil2025-09-28
1025Argentina2025-10-04
1026Argentina2025-09-25
1027France2025-09-19
1028India2025-10-09
1029Italy2025-09-25
1030Germany2025-09-16
1031India2025-09-22
1032France2025-09-28
1033Germany2025-09-25
1034Canada2025-09-22
1035Germany2025-09-23
1036Brazil2025-10-06
1037Italy2025-10-06
1038Brazil2025-09-20
1039Russia2025-09-14
1040Germany2025-09-22
1041Australia2025-10-07
1042Italy2025-09-26
1043Argentina2025-09-16
1044India2025-09-28
1045Italy2025-10-11
1046Italy2025-09-17
1047Germany2025-10-11
1048India2025-09-27
1049Australia2025-10-07

On-Demand Data

NameIdCountryDate
James V Morasca1000Australia2025-09-22
Salvatore N Figeroa1001Italy2025-09-17
Alejandro T Malet1002Argentina2025-10-06
Leon F Garufi1003Italy2025-09-17
Jones V Marrier1004Germany2025-09-28
Julie S Iturbide1005Spain2025-09-14
Stacey V Ostrosky1006Russia2025-09-18
Chavez I Maclead1007Russia2025-10-04
Maisha W Amigon1008Argentina2025-09-24
Tony S Stenseth1009Japan2025-09-20
Rodrigues Z Vocelka1010Argentina2025-10-04
Morrow G Flosi1011Germany2025-09-23
Isabel Y Caudy1012France2025-10-09
Tony O Malet1013Italy2025-09-23
Clifford T Tollner1014Italy2025-09-27
Maisha C Figeroa1015Canada2025-10-10
Jeanfrancois Q Albares1016Spain2025-10-06
Morrow S Butt1017Canada2025-09-21
Arvin A Nicka1018Brazil2025-10-08
Kaitlin U Royster1019Italy2025-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna F AmigonIndiaAmy Elsner NEW
Francesco W BowleyBrazilXuxue Feng RENEWAL
Nicolas B VocelkaBrazilXuxue Feng UNQUALIFIED
Darci L RulapaughAustraliaBernardo Dominic QUALIFIED
Nicolas T CampainAustraliaAnna Fali UNQUALIFIED
Faith N ButtItalyOnyama Limba NEW
Ivar U NestleIndiaAsiya Javayant NEGOTIATION
Rodrigues D RimFranceOnyama Limba NEGOTIATION
Deepesh T SlusarskiBrazilOnyama Limba QUALIFIED
Clifford E FollerAustraliaXuxue Feng NEGOTIATION
Francesco G StockhamBrazilXuxue Feng QUALIFIED
Munro D RoysterFranceXuxue Feng RENEWAL
Aika F GillianGermanyElwin Sharvill RENEWAL
Leon F RutaBrazilIvan Magalhaes QUALIFIED
Emily Q TollnerBrazilIoni Bowcher RENEWAL
Clifford G WhobreyGermanyAmy Elsner PROPOSAL
Jeanfrancois L ButtArgentinaAsiya Javayant QUALIFIED
Darci Z VenereIndiaAsiya Javayant PROPOSAL
Arvin R BowleyIndiaAmy Elsner UNQUALIFIED
Aruna O CaldareraGermanyAnna Fali QUALIFIED
James V CaudyBrazilOnyama Limba RENEWAL
Wickens X KolmetzFranceIoni Bowcher UNQUALIFIED
Aika R InouyeFranceXuxue Feng UNQUALIFIED
Johnson K RutaItalyStephen Shaw UNQUALIFIED
Cody R NickaRussiaElwin Sharvill NEW
Izzy K PoquetteItalyXuxue Feng RENEWAL
Juan B FerenczJapanElwin Sharvill UNQUALIFIED
Rodrigues L StockhamFranceXuxue Feng NEGOTIATION
Chavez G NickaRussiaAsiya Javayant NEGOTIATION
Mujtaba P FollerGermanyElwin Sharvill RENEWAL
Jennifer G PaprockiArgentinaElwin Sharvill RENEWAL
Munro Y FigeroaGermanyElwin Sharvill UNQUALIFIED
Julie X DarakjyGermanyElwin Sharvill RENEWAL
Mayumi D RoysterItalyIoni Bowcher NEW
Murillo K GauchoSpainAnna Fali QUALIFIED
Mujtaba M ButtJapanIvan Magalhaes PROPOSAL
Octavia X IturbideBrazilStephen Shaw RENEWAL
Stacey Y MacleadCanadaAmy Elsner UNQUALIFIED
Maisha W DarakjyFranceElwin Sharvill QUALIFIED
Claire G StockhamBrazilOnyama Limba QUALIFIED

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