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
Antonio Q OstroskyBrazilOnyama Limba NEGOTIATION
Morrow C FlosiItalyStephen Shaw NEGOTIATION
Faith K FigeroaBrazilAnna Fali NEW
James E RimSpainAsiya Javayant UNQUALIFIED
Francesco A MarrierSpainIvan Magalhaes QUALIFIED
Sinclair I RimGermanyXuxue Feng RENEWAL
Greenwood X BowleyArgentinaAmy Elsner NEW
Nicolas T WaycottSpainIoni Bowcher NEW
Greenwood B RoysterSpainIvan Magalhaes NEW
Maria S FollerAustraliaAnna Fali NEW
Alejandro Z AmigonJapanAmy Elsner NEGOTIATION
Munro Q GarufiIndiaAsiya Javayant PROPOSAL
Leon M NickaIndiaIoni Bowcher NEGOTIATION
Silvio J MaletAustraliaIoni Bowcher UNQUALIFIED
Leja K BologniaBrazilAmy Elsner UNQUALIFIED
Kadeem D DarakjyIndiaElwin Sharvill NEW
Sinclair B VenereAustraliaStephen Shaw NEGOTIATION
Smith J MarrierAustraliaStephen Shaw NEW
David I FigeroaJapanIoni Bowcher PROPOSAL
Rodrigues N SergiUnited KingdomIvan Magalhaes RENEWAL
Munro L BologniaArgentinaBernardo Dominic NEW
Deepesh E InouyeIndiaOnyama Limba NEW
Jefferson C GlickAustraliaAmy Elsner NEGOTIATION
Sinclair G BowleyRussiaAsiya Javayant NEGOTIATION
Mayumi E MacleadAustraliaStephen Shaw NEGOTIATION
Silvio C GlickBrazilAsiya Javayant QUALIFIED
Rodrigues M KuskoArgentinaAmy Elsner NEGOTIATION
Juan C PaprockiAustraliaOnyama Limba NEGOTIATION
Claire B WieserBrazilAnna Fali NEW
Rodrigues F WhobreyItalyAnna Fali QUALIFIED
Tony Q SchemmerCanadaStephen Shaw PROPOSAL
Johnson Y InouyeJapanIvan Magalhaes UNQUALIFIED
Murillo J IturbideGermanyElwin Sharvill UNQUALIFIED
Murillo Z CaldareraSpainOnyama Limba RENEWAL
Jones V ButtJapanIoni Bowcher PROPOSAL
Sinclair Y MorascaFranceBernardo Dominic QUALIFIED
Darci N RimItalyAnna Fali NEGOTIATION
Leon M ChuiItalyBernardo Dominic NEGOTIATION
Rodrigues K KuskoSpainXuxue Feng QUALIFIED
Wickens X RulapaughIndiaIvan Magalhaes UNQUALIFIED
Darci I ShinkoJapanStephen Shaw NEGOTIATION
Juan T WhobreyIndiaIoni Bowcher QUALIFIED
James Y FerenczUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin F FigeroaJapanBernardo Dominic RENEWAL
Stacey G PaprockiArgentinaBernardo Dominic PROPOSAL
Maria Z DarakjyItalyStephen Shaw PROPOSAL
Costa O SergiItalyIvan Magalhaes UNQUALIFIED
Leon P AmigonRussiaBernardo Dominic RENEWAL
Rodrigues T BriddickFranceBernardo Dominic QUALIFIED
Jefferson J KolmetzBrazilAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas P CampainAustraliaBernardo Dominic PROPOSAL
James Q GlickCanadaIvan Magalhaes NEW
Claire O MaletArgentinaAmy Elsner QUALIFIED
Maisha I TollnerBrazilStephen Shaw NEW
Murillo B FollerArgentinaOnyama Limba NEW
Antonio Z IturbideItalyAnna Fali RENEWAL
Salvatore J GarufiSpainElwin Sharvill NEW
Julie R ShinkoIndiaIoni Bowcher RENEWAL
Darci G DoeCanadaXuxue Feng QUALIFIED
Nicolas O WieserGermanyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja T RulapaughRussia2025-08-19Printing Dimensions UNQUALIFIED73Elwin Sharvill
1001Julie E NestleFrance2025-08-07King, Christopher A Esq QUALIFIED4Ioni Bowcher
1002Nicolas B WieserGermany2025-07-28Buckley Miller Wright NEW56Bernardo Dominic
1003Adams T DoeAustralia2025-07-30King, Christopher A Esq QUALIFIED16Xuxue Feng
1004Tony V BologniaArgentina2025-08-24Buckley Miller Wright PROPOSAL59Amy Elsner
1005Maria T OstroskyArgentina2025-07-30Chemel, James L Cpa RENEWAL85Asiya Javayant
1006Mayumi D GauchoCanada2025-07-31Feltz Printing Service UNQUALIFIED67Asiya Javayant
1007Leja I KolmetzFrance2025-07-31Buckley Miller Wright QUALIFIED54Onyama Limba
1008Salvatore O BriddickGermany2025-07-28Feltz Printing Service UNQUALIFIED61Ivan Magalhaes
1009Leon K CaudyFrance2025-07-26Commercial Press NEGOTIATION58Anna Fali
1010Emily E ButtArgentina2025-08-09Printing Dimensions UNQUALIFIED50Anna Fali
1011Julie T DoeRussia2025-08-20Rangoni Of Florence QUALIFIED9Ivan Magalhaes
1012Aika D ChuiRussia2025-08-23Rousseaux, Michael Esq UNQUALIFIED58Ioni Bowcher
1013Nicolas G DoeFrance2025-08-05Buckley Miller Wright UNQUALIFIED66Stephen Shaw
1014Arvin O PaprockiUnited Kingdom2025-08-08Dorl, James J Esq NEW42Anna Fali
1015Aika Z MaletIndia2025-08-08Dorl, James J Esq NEW24Asiya Javayant
1016Mayumi W GlickCanada2025-08-02Printing Dimensions PROPOSAL0Onyama Limba
1017James Z PerinSpain2025-08-09Feltz Printing Service NEW9Bernardo Dominic
1018Leja Z AlbaresIndia2025-08-04Dorl, James J Esq QUALIFIED51Ioni Bowcher
1019Claire Z SaylorsUnited Kingdom2025-08-15Rangoni Of Florence UNQUALIFIED41Elwin Sharvill
1020Leon C NickaRussia2025-08-01Chanay, Jeffrey A Esq PROPOSAL26Elwin Sharvill
1021Jefferson T StockhamJapan2025-08-06Benton, John B Jr NEW43Amy Elsner
1022Morrow L DoeFrance2025-08-14Buckley Miller Wright PROPOSAL24Elwin Sharvill
1023Greenwood O DoeFrance2025-08-03Chapman, Ross E Esq PROPOSAL3Elwin Sharvill
1024Ricardo H ChuiBrazil2025-08-03King, Christopher A Esq NEGOTIATION48Amy Elsner
1025Leja Y InouyeFrance2025-08-07Morlong Associates PROPOSAL14Stephen Shaw
1026Aditya C CampainIndia2025-08-16Rangoni Of Florence QUALIFIED55Bernardo Dominic
1027Misaki C RimIndia2025-08-18Dorl, James J Esq PROPOSAL72Stephen Shaw
1028Tony A BriddickAustralia2025-07-27Feiner Bros QUALIFIED26Anna Fali
1029Darci P FlosiFrance2025-08-04Chanay, Jeffrey A Esq RENEWAL43Elwin Sharvill
1030Murillo U StensethRussia2025-08-15King, Christopher A Esq NEW89Xuxue Feng
1031Morrow J BologniaCanada2025-08-02Benton, John B Jr NEW61Elwin Sharvill
1032Antonio T WhobreyIndia2025-08-15King, Christopher A Esq NEGOTIATION87Ioni Bowcher
1033Aruna V MarrierJapan2025-08-17Dorl, James J Esq PROPOSAL92Ioni Bowcher
1034Greenwood A PoquetteSpain2025-08-12Printing Dimensions PROPOSAL82Bernardo Dominic
1035Munro Y VenereSpain2025-08-08Feiner Bros NEW7Stephen Shaw
1036Leja I CampainArgentina2025-08-19Benton, John B Jr UNQUALIFIED0Amy Elsner
1037Misaki U BologniaIndia2025-08-15Dorl, James J Esq RENEWAL11Onyama Limba
1038Claire D RoysterItaly2025-08-10Chanay, Jeffrey A Esq NEGOTIATION68Anna Fali
1039Misaki C MaletRussia2025-08-03Buckley Miller Wright NEW47Stephen Shaw
1040Faith M MorascaGermany2025-08-23Chapman, Ross E Esq PROPOSAL22Ioni Bowcher
1041Aruna W FlosiAustralia2025-08-08Buckley Miller Wright PROPOSAL72Stephen Shaw
1042Mujtaba X NickaUnited Kingdom2025-08-06Feltz Printing Service PROPOSAL36Stephen Shaw
1043Octavia P ShinkoArgentina2025-08-22Benton, John B Jr UNQUALIFIED8Onyama Limba
1044Johnson I PoquetteRussia2025-08-11Rangoni Of Florence UNQUALIFIED97Xuxue Feng
1045Julie X VocelkaIndia2025-08-08Buckley Miller Wright UNQUALIFIED14Ivan Magalhaes
1046Darci H CaudyAustralia2025-08-03Printing Dimensions QUALIFIED85Asiya Javayant
1047Morrow L ButtCanada2025-08-19Printing Dimensions PROPOSAL77Bernardo Dominic
1048Julie D SlusarskiRussia2025-08-10Chanay, Jeffrey A Esq PROPOSAL45Xuxue Feng
1049Munro J GlickArgentina2025-08-15King, Christopher A Esq NEW69Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Costa Y TollnerArgentinaStephen Shaw UNQUALIFIED
David V RulapaughRussiaElwin Sharvill NEGOTIATION
Emily F KolmetzRussiaElwin Sharvill NEGOTIATION
Antonio K RutaFranceIvan Magalhaes PROPOSAL
David Q SlusarskiFranceAsiya Javayant NEW
Kaitlin S ShinkoSpainXuxue Feng NEW
Mujtaba H DoeAustraliaOnyama Limba NEGOTIATION
Salvatore W KolmetzGermanyXuxue Feng RENEWAL
Izzy U MaletGermanyAsiya Javayant NEW
Aruna E MacleadBrazilAnna Fali NEW
David O CampainItalyBernardo Dominic NEGOTIATION
Chavez G TollnerItalyStephen Shaw NEW
Stacey G FerenczGermanyXuxue Feng PROPOSAL
Salvatore T GillianFranceElwin Sharvill UNQUALIFIED
Stacey X CaldareraUnited KingdomOnyama Limba RENEWAL
Deepesh L DoeSpainElwin Sharvill QUALIFIED
Izzy A StensethIndiaIvan Magalhaes UNQUALIFIED
Clifford Y GillianCanadaIoni Bowcher PROPOSAL
Murillo A RoysterJapanIvan Magalhaes RENEWAL
Deepesh X VenereGermanyIvan Magalhaes UNQUALIFIED
Antonio P MarrierBrazilIoni Bowcher QUALIFIED
Octavia Z AlbaresUnited KingdomAmy Elsner NEW
Munro H WhobreyAustraliaOnyama Limba RENEWAL
Maria D VenereIndiaAnna Fali NEW
Maria D RutaFranceXuxue Feng RENEWAL
Wickens O TollnerUnited KingdomStephen Shaw QUALIFIED
James E SlusarskiAustraliaAmy Elsner NEW
Munro D ShinkoSpainAsiya Javayant QUALIFIED
Murillo K StockhamItalyIoni Bowcher QUALIFIED
Kaitlin P VocelkaSpainIvan Magalhaes NEGOTIATION
Sinclair Z ButtArgentinaStephen Shaw NEW
Ricardo Z FigeroaArgentinaAnna Fali QUALIFIED
Morrow K RulapaughSpainIoni Bowcher PROPOSAL
Rodrigues R TollnerIndiaIoni Bowcher QUALIFIED
Jefferson O ChuiArgentinaElwin Sharvill QUALIFIED
David N SchemmerItalyStephen Shaw NEGOTIATION
Rodrigues V SchemmerIndiaXuxue Feng NEGOTIATION
Deepesh X StockhamArgentinaAnna Fali NEGOTIATION
Faith S WhobreyBrazilXuxue Feng PROPOSAL
Antonio N ChuiGermanyOnyama Limba UNQUALIFIED
Kaitlin V VenereBrazilAmy Elsner RENEWAL
Johnson K KolmetzCanadaXuxue Feng QUALIFIED
Rodrigues Y InouyeUnited KingdomAnna Fali PROPOSAL
Greenwood S NickaArgentinaElwin Sharvill QUALIFIED
Smith S RulapaughItalyIvan Magalhaes UNQUALIFIED
Maisha Y RoysterBrazilElwin Sharvill RENEWAL
Murillo T GillianRussiaOnyama Limba NEW
Misaki R FigeroaIndiaXuxue Feng RENEWAL
Emily P WhobreyJapanBernardo Dominic NEGOTIATION
Aditya M IturbideSpainBernardo Dominic PROPOSAL
Frozen Columns
Name
Sinclair F Albares
Maria H Butt
Ashley W Flosi
Maisha C Morasca
Salvatore W Ruta
Stacey V Tollner
Chavez Q Darakjy
Isabel L Poquette
Stacey F Darakjy
Jefferson Y Ferencz
Izzy E Stockham
Faith B Bolognia
Aika B Morasca
Emily D Stockham
Aika A Perin
Leja Y Iturbide
David S Inouye
Costa V Stenseth
James B Tollner
Aruna K Darakjy
Clifford H Ruta
James F Caudy
James K Glick
Kaitlin H Tollner
Maria Z Rim
Jefferson S Glick
Aruna O Rulapaugh
Mujtaba A Oldroyd
Stacey F Briddick
Alejandro J Chui
Silvio D Stenseth
Darci D Doe
Greenwood S Oldroyd
Kaitlin R Venere
Aika J Bowley
Misaki N Wieser
Maisha Z Iturbide
Smith R Albares
Adams U Iturbide
Juan M Poquette
Aditya H Saylors
Emily X Oldroyd
Sinclair X Royster
Claire M Briddick
Smith G Dilliard
Silvio M Venere
Kadeem W Glick
Adams F Doe
David M Kusko
Aika J Sergi
IdCountryDate
1000Italy2025-08-19
1001United Kingdom2025-08-04
1002Italy2025-08-04
1003Japan2025-07-29
1004France2025-08-09
1005Russia2025-08-23
1006Australia2025-08-06
1007United Kingdom2025-08-06
1008Australia2025-07-30
1009France2025-08-13
1010Italy2025-08-01
1011Russia2025-08-02
1012Japan2025-07-26
1013Brazil2025-08-16
1014United Kingdom2025-08-05
1015Italy2025-07-27
1016Brazil2025-08-20
1017France2025-08-22
1018Japan2025-07-31
1019Spain2025-08-05
1020Italy2025-08-19
1021Argentina2025-08-17
1022United Kingdom2025-08-24
1023Italy2025-08-08
1024Russia2025-08-23
1025India2025-08-20
1026India2025-08-07
1027United Kingdom2025-08-11
1028Argentina2025-08-12
1029Spain2025-07-27
1030Australia2025-07-30
1031France2025-08-12
1032Spain2025-08-13
1033Italy2025-08-15
1034Russia2025-08-13
1035Germany2025-08-15
1036India2025-08-20
1037Japan2025-08-24
1038Germany2025-08-05
1039Australia2025-08-11
1040United Kingdom2025-08-20
1041Italy2025-08-24
1042Brazil2025-08-07
1043Brazil2025-08-11
1044Russia2025-08-15
1045Canada2025-07-29
1046Italy2025-08-11
1047Argentina2025-08-02
1048Russia2025-08-20
1049Australia2025-08-22

On-Demand Data

NameIdCountryDate
Costa D Maclead1000Germany2025-08-08
Clifford W Briddick1001Brazil2025-08-16
Aika Q Kolmetz1002Italy2025-08-15
Mayumi R Darakjy1003United Kingdom2025-07-26
Smith E Vocelka1004Argentina2025-08-11
Misaki V Kolmetz1005Spain2025-08-14
Misaki W Whobrey1006United Kingdom2025-08-08
Aika D Malet1007Canada2025-08-01
Jones L Caldarera1008Japan2025-08-08
Adams O Ruta1009Germany2025-08-16
Claire X Foller1010Italy2025-07-26
Costa O Sergi1011Italy2025-08-03
Maisha G Poquette1012Canada2025-07-30
Nicolas O Figeroa1013Brazil2025-07-26
Salvatore K Malet1014Spain2025-08-10
Misaki A Foller1015Japan2025-08-20
Chavez E Ruta1016Spain2025-08-15
Morrow E Stenseth1017Argentina2025-08-17
Murillo E Campain1018Germany2025-08-02
Mayumi U Morasca1019Russia2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan A CampainIndiaElwin Sharvill QUALIFIED
Darci K GarufiItalyIoni Bowcher NEGOTIATION
Salvatore F IturbideIndiaElwin Sharvill PROPOSAL
Munro L DoeFranceOnyama Limba PROPOSAL
Johnson H FlosiRussiaBernardo Dominic RENEWAL
Leon W PaprockiRussiaIoni Bowcher NEGOTIATION
Jeanfrancois Y BriddickSpainAnna Fali NEGOTIATION
Morrow S NestleArgentinaAmy Elsner NEGOTIATION
Aika E CampainIndiaStephen Shaw NEGOTIATION
Claire F RoysterJapanOnyama Limba QUALIFIED
Nicolas S BowleySpainXuxue Feng QUALIFIED
Greenwood R AlbaresGermanyAmy Elsner UNQUALIFIED
Jones F PerinFranceStephen Shaw PROPOSAL
Izzy S BologniaFranceElwin Sharvill RENEWAL
Alejandro T NestleItalyStephen Shaw RENEWAL
Jennifer B InouyeSpainIvan Magalhaes PROPOSAL
Sinclair K OldroydGermanyIoni Bowcher PROPOSAL
Leon J MorascaBrazilStephen Shaw RENEWAL
Wickens Q SchemmerUnited KingdomElwin Sharvill NEW
Chavez E NickaGermanyIvan Magalhaes NEGOTIATION
Clifford V MaletIndiaElwin Sharvill UNQUALIFIED
Johnson J FerenczCanadaStephen Shaw PROPOSAL
Jeanfrancois I DilliardSpainIoni Bowcher NEW
Jones F MorascaGermanyAmy Elsner NEGOTIATION
Mujtaba Z RutaSpainAmy Elsner QUALIFIED
Chavez H PaprockiAustraliaBernardo Dominic NEW
Ashley Q PaprockiFranceIoni Bowcher NEW
Morrow H SlusarskiIndiaBernardo Dominic NEW
Smith Q SlusarskiSpainIoni Bowcher NEW
Clifford V CampainAustraliaElwin Sharvill PROPOSAL
Clifford M PerinRussiaElwin Sharvill NEGOTIATION
Ashley P FollerBrazilAnna Fali RENEWAL
Stacey M SlusarskiItalyStephen Shaw QUALIFIED
Maisha L IturbideJapanOnyama Limba NEGOTIATION
Jefferson U SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Ivar E GauchoUnited KingdomXuxue Feng PROPOSAL
Jeanfrancois U BologniaJapanXuxue Feng QUALIFIED
Munro I StensethArgentinaOnyama Limba UNQUALIFIED
Salvatore A FerenczSpainAsiya Javayant RENEWAL
Juan W PaprockiGermanyXuxue Feng NEGOTIATION

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