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
Claire H FigeroaFranceOnyama Limba PROPOSAL
Silvio E DilliardGermanyStephen Shaw PROPOSAL
Tony I RutaRussiaElwin Sharvill RENEWAL
Ivar T RoysterRussiaAmy Elsner RENEWAL
Leja Z ChuiBrazilElwin Sharvill PROPOSAL
Aika C MorascaItalyStephen Shaw NEW
Sinclair K GlickGermanyBernardo Dominic NEGOTIATION
Jefferson O MaletSpainXuxue Feng QUALIFIED
Leon K FigeroaAustraliaAnna Fali UNQUALIFIED
Izzy S TollnerGermanyStephen Shaw QUALIFIED
Costa K RimBrazilAmy Elsner RENEWAL
Julie P MaletJapanStephen Shaw QUALIFIED
Aditya R PoquetteItalyOnyama Limba NEGOTIATION
Misaki F SlusarskiCanadaIoni Bowcher NEGOTIATION
Faith V BowleyFranceIoni Bowcher NEW
Kadeem Z GauchoAustraliaOnyama Limba QUALIFIED
Arvin M StensethCanadaXuxue Feng QUALIFIED
Emily W StockhamBrazilIoni Bowcher UNQUALIFIED
Darci T NickaItalyAsiya Javayant NEW
Darci X InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Juan M OstroskyArgentinaAmy Elsner RENEWAL
Leja L RulapaughItalyBernardo Dominic UNQUALIFIED
Kadeem H MaletItalyAmy Elsner RENEWAL
James G CaldareraJapanAnna Fali QUALIFIED
Emily X ChuiJapanIvan Magalhaes NEGOTIATION
Cody R PerinRussiaElwin Sharvill NEGOTIATION
Juan X TollnerGermanyIvan Magalhaes NEGOTIATION
Izzy N GauchoItalyBernardo Dominic PROPOSAL
Francesco H PaprockiJapanStephen Shaw PROPOSAL
Alejandro A FlosiSpainStephen Shaw RENEWAL
Mayumi P PoquetteFranceAmy Elsner NEGOTIATION
Julie D RimSpainAmy Elsner QUALIFIED
David H InouyeSpainElwin Sharvill PROPOSAL
Kaitlin W RulapaughIndiaAsiya Javayant PROPOSAL
Aika F MaletIndiaStephen Shaw PROPOSAL
Tony H RutaSpainIvan Magalhaes UNQUALIFIED
Aruna U CaldareraArgentinaIoni Bowcher UNQUALIFIED
Isabel Z PoquetteCanadaOnyama Limba NEW
Octavia R GillianRussiaAnna Fali RENEWAL
Mayumi U SchemmerItalyAsiya Javayant QUALIFIED
Murillo L RulapaughBrazilBernardo Dominic PROPOSAL
Silvio C PoquetteAustraliaAnna Fali NEGOTIATION
Tony F VenereRussiaOnyama Limba RENEWAL
Octavia A PaprockiFranceBernardo Dominic RENEWAL
Kaitlin N StockhamAustraliaElwin Sharvill RENEWAL
Chavez C GlickSpainAsiya Javayant RENEWAL
Murillo O CaldareraArgentinaStephen Shaw RENEWAL
Smith J FerenczSpainStephen Shaw UNQUALIFIED
Maisha J NestleBrazilIoni Bowcher UNQUALIFIED
Aika B BowleyGermanyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson H SergiFranceStephen Shaw RENEWAL
Deepesh X StensethSpainStephen Shaw RENEWAL
Rodrigues B PaprockiIndiaAmy Elsner PROPOSAL
Antonio S FerenczJapanIoni Bowcher NEGOTIATION
Jennifer P RulapaughIndiaAsiya Javayant RENEWAL
Smith U CampainRussiaXuxue Feng RENEWAL
Munro A DarakjyJapanBernardo Dominic NEW
Emily J MacleadItalyXuxue Feng NEW
Johnson H FollerRussiaElwin Sharvill NEW
Ashley X RoysterAustraliaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David B VenereRussia2025-09-20Printing Dimensions PROPOSAL96Amy Elsner
1001Smith G PerinGermany2025-10-04Feltz Printing Service RENEWAL43Xuxue Feng
1002James S IturbideUnited Kingdom2025-09-27Rangoni Of Florence PROPOSAL66Ivan Magalhaes
1003Jones K WieserGermany2025-10-11Chapman, Ross E Esq PROPOSAL62Onyama Limba
1004Jennifer W SaylorsFrance2025-09-25Chemel, James L Cpa PROPOSAL26Bernardo Dominic
1005Alejandro F GlickAustralia2025-09-30Benton, John B Jr NEGOTIATION68Asiya Javayant
1006Murillo E DoeUnited Kingdom2025-10-13Chemel, James L Cpa NEGOTIATION72Bernardo Dominic
1007Isabel I FlosiAustralia2025-09-30Benton, John B Jr NEGOTIATION15Ioni Bowcher
1008Faith G StockhamAustralia2025-10-15Printing Dimensions NEGOTIATION8Onyama Limba
1009Ricardo X SergiGermany2025-10-17Chanay, Jeffrey A Esq NEW27Elwin Sharvill
1010Octavia Y FerenczArgentina2025-10-15Benton, John B Jr UNQUALIFIED97Onyama Limba
1011Claire L MacleadAustralia2025-10-15Chanay, Jeffrey A Esq NEGOTIATION67Onyama Limba
1012Jennifer V MaletJapan2025-10-17Benton, John B Jr PROPOSAL63Elwin Sharvill
1013Leon H SaylorsRussia2025-10-13Chemel, James L Cpa RENEWAL94Amy Elsner
1014Misaki Z PerinItaly2025-10-15Buckley Miller Wright UNQUALIFIED86Anna Fali
1015Wickens R ShinkoItaly2025-09-21Feiner Bros UNQUALIFIED97Bernardo Dominic
1016Izzy L VocelkaBrazil2025-10-02Chanay, Jeffrey A Esq NEGOTIATION11Onyama Limba
1017Rodrigues Z RimArgentina2025-09-22Chanay, Jeffrey A Esq RENEWAL66Bernardo Dominic
1018Aika D WieserGermany2025-10-18Feltz Printing Service RENEWAL90Ioni Bowcher
1019Juan L StockhamRussia2025-09-20Benton, John B Jr RENEWAL59Amy Elsner
1020Leja I AmigonSpain2025-10-19Commercial Press QUALIFIED53Ioni Bowcher
1021Cody U WaycottIndia2025-09-26Buckley Miller Wright QUALIFIED39Bernardo Dominic
1022Emily K VocelkaItaly2025-10-16Benton, John B Jr NEGOTIATION71Xuxue Feng
1023Greenwood S ButtFrance2025-10-02Feiner Bros NEW33Asiya Javayant
1024Tony U SlusarskiGermany2025-10-06Printing Dimensions NEW63Asiya Javayant
1025Jeanfrancois T CampainSpain2025-09-25Chemel, James L Cpa UNQUALIFIED71Ioni Bowcher
1026Deepesh W CaldareraGermany2025-10-11Morlong Associates UNQUALIFIED93Bernardo Dominic
1027Silvio W FigeroaUnited Kingdom2025-10-15Rousseaux, Michael Esq UNQUALIFIED73Ioni Bowcher
1028Jefferson C PoquetteGermany2025-10-07Printing Dimensions RENEWAL5Ioni Bowcher
1029Kaitlin L KuskoJapan2025-09-29Buckley Miller Wright PROPOSAL77Stephen Shaw
1030Izzy V FerenczJapan2025-09-20King, Christopher A Esq RENEWAL87Onyama Limba
1031Izzy Y FlosiJapan2025-09-29Chanay, Jeffrey A Esq PROPOSAL69Asiya Javayant
1032Mayumi F PaprockiAustralia2025-09-22Printing Dimensions NEW51Ivan Magalhaes
1033Jeanfrancois U GlickSpain2025-10-14Dorl, James J Esq NEGOTIATION2Stephen Shaw
1034Stacey D CaldareraArgentina2025-09-26Printing Dimensions QUALIFIED81Ioni Bowcher
1035Nicolas D SlusarskiFrance2025-09-24Chemel, James L Cpa QUALIFIED30Ioni Bowcher
1036Stacey I ShinkoCanada2025-10-05Benton, John B Jr NEW85Ivan Magalhaes
1037Jefferson H TollnerIndia2025-10-02Chapman, Ross E Esq NEGOTIATION96Asiya Javayant
1038Salvatore H CaudyJapan2025-09-28Morlong Associates NEGOTIATION96Amy Elsner
1039Kaitlin J GlickAustralia2025-10-15Printing Dimensions NEGOTIATION59Onyama Limba
1040Jennifer O MacleadArgentina2025-10-07Chemel, James L Cpa QUALIFIED59Elwin Sharvill
1041Smith L MorascaIndia2025-09-28Chapman, Ross E Esq QUALIFIED46Xuxue Feng
1042Cody J FigeroaGermany2025-10-04Dorl, James J Esq PROPOSAL60Ivan Magalhaes
1043Misaki W AlbaresBrazil2025-10-04Buckley Miller Wright NEGOTIATION97Onyama Limba
1044Ricardo P MarrierIndia2025-10-07Chemel, James L Cpa RENEWAL99Asiya Javayant
1045Jeanfrancois H RoysterUnited Kingdom2025-10-03Buckley Miller Wright UNQUALIFIED95Onyama Limba
1046Salvatore Y StensethSpain2025-10-15Feiner Bros QUALIFIED50Asiya Javayant
1047Jones R StensethCanada2025-09-30Feltz Printing Service RENEWAL58Ivan Magalhaes
1048Faith F BowleyItaly2025-10-10Chemel, James L Cpa PROPOSAL81Ivan Magalhaes
1049Stacey K FollerIndia2025-09-30King, Christopher A Esq NEGOTIATION16Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford Y SergiCanadaStephen Shaw NEGOTIATION
Maisha O NestleCanadaAmy Elsner NEGOTIATION
Claire W WaycottSpainStephen Shaw NEW
Emily P ChuiFranceStephen Shaw NEGOTIATION
Darci L MarrierJapanIvan Magalhaes PROPOSAL
Costa W BologniaRussiaXuxue Feng RENEWAL
Smith K BriddickAustraliaStephen Shaw RENEWAL
Jones Q DilliardArgentinaXuxue Feng RENEWAL
Maisha E KuskoArgentinaAnna Fali RENEWAL
Chavez D GarufiAustraliaStephen Shaw RENEWAL
Sinclair A ButtGermanyXuxue Feng RENEWAL
Sinclair T BowleyIndiaAmy Elsner QUALIFIED
Silvio Y RimSpainAnna Fali QUALIFIED
Francesco B OldroydCanadaXuxue Feng PROPOSAL
Greenwood T MarrierGermanyAsiya Javayant NEW
Jones S VenereAustraliaAsiya Javayant RENEWAL
Ashley P DoeItalyBernardo Dominic UNQUALIFIED
Mujtaba T RulapaughJapanOnyama Limba UNQUALIFIED
Smith T BologniaFranceStephen Shaw QUALIFIED
Arvin J ChuiItalyElwin Sharvill NEW
Faith L RoysterItalyIoni Bowcher PROPOSAL
Greenwood J RoysterSpainAnna Fali RENEWAL
Julie Y PoquetteFranceAmy Elsner RENEWAL
Jeanfrancois J CampainBrazilStephen Shaw PROPOSAL
Kaitlin Q StockhamUnited KingdomBernardo Dominic NEGOTIATION
Wickens B MaletRussiaAsiya Javayant PROPOSAL
Emily O AmigonItalyXuxue Feng RENEWAL
Francesco A SlusarskiRussiaStephen Shaw NEGOTIATION
Chavez M MaletSpainStephen Shaw PROPOSAL
Faith B CampainRussiaBernardo Dominic RENEWAL
Salvatore T RimBrazilXuxue Feng UNQUALIFIED
Jeanfrancois J MarrierRussiaIoni Bowcher NEW
Ivar B CaudyUnited KingdomElwin Sharvill QUALIFIED
Sinclair D SlusarskiIndiaAmy Elsner PROPOSAL
Leja Z RoysterBrazilBernardo Dominic PROPOSAL
Jones D FerenczRussiaAnna Fali QUALIFIED
Costa V OldroydArgentinaAsiya Javayant UNQUALIFIED
Morrow R ShinkoRussiaIoni Bowcher NEW
James C GauchoRussiaAnna Fali QUALIFIED
Julie Q WhobreySpainOnyama Limba PROPOSAL
Julie L FlosiUnited KingdomIoni Bowcher NEGOTIATION
Arvin M ButtSpainElwin Sharvill RENEWAL
Isabel A MaletJapanXuxue Feng NEGOTIATION
Morrow N DilliardGermanyXuxue Feng NEW
Sinclair W GlickAustraliaXuxue Feng UNQUALIFIED
Aruna Z MaletFranceOnyama Limba NEGOTIATION
Adams U DoeIndiaOnyama Limba PROPOSAL
Deepesh T SchemmerIndiaStephen Shaw PROPOSAL
Francesco O RoysterJapanXuxue Feng UNQUALIFIED
Morrow W MorascaAustraliaIoni Bowcher PROPOSAL
Frozen Columns
Name
Francesco R Doe
Kaitlin Z Nestle
Isabel R Shinko
Tony M Iturbide
Misaki C Oldroyd
Kadeem C Doe
Johnson O Caudy
Greenwood U Ferencz
Clifford B Marrier
Munro N Marrier
Claire B Nestle
Claire O Paprocki
Stacey P Paprocki
Stacey J Saylors
Chavez U Oldroyd
Morrow W Maclead
Costa C Perin
Kaitlin L Marrier
Isabel G Bowley
Munro L Ferencz
Octavia W Gaucho
Emily K Tollner
Mayumi V Ruta
Darci O Rulapaugh
Stacey Z Vocelka
Clifford Z Rulapaugh
Costa J Malet
Chavez H Bolognia
Isabel E Malet
Alejandro M Kolmetz
James R Bolognia
Emily U Marrier
Leon M Doe
Mayumi R Perin
Clifford F Inouye
Cody U Bowley
Murillo I Garufi
Munro G Foller
Sinclair D Morasca
Aruna P Marrier
Arvin D Wieser
Arvin Q Perin
Clifford U Stockham
Chavez R Morasca
Greenwood P Glick
Jones T Tollner
Maria O Rim
Maria Y Venere
Chavez E Inouye
Darci P Briddick
IdCountryDate
1000India2025-10-07
1001Brazil2025-10-17
1002India2025-10-06
1003Argentina2025-10-15
1004Argentina2025-10-02
1005India2025-10-07
1006Canada2025-09-21
1007Brazil2025-10-11
1008Australia2025-10-14
1009Australia2025-10-05
1010Russia2025-09-29
1011Russia2025-10-13
1012Brazil2025-10-10
1013Japan2025-09-20
1014Italy2025-09-28
1015Australia2025-10-03
1016India2025-10-02
1017Argentina2025-10-16
1018France2025-10-04
1019Canada2025-09-20
1020Australia2025-10-08
1021Spain2025-09-23
1022Canada2025-10-19
1023Japan2025-09-27
1024India2025-10-04
1025Australia2025-10-04
1026France2025-10-12
1027Germany2025-09-27
1028Italy2025-10-17
1029Japan2025-10-05
1030Russia2025-10-10
1031India2025-09-20
1032Germany2025-09-21
1033Australia2025-10-02
1034Argentina2025-10-12
1035Italy2025-10-15
1036Japan2025-10-16
1037Russia2025-10-06
1038Australia2025-10-13
1039Russia2025-10-11
1040Germany2025-09-29
1041France2025-09-20
1042Australia2025-09-23
1043Brazil2025-10-18
1044France2025-10-01
1045Argentina2025-09-29
1046Australia2025-09-30
1047Argentina2025-10-11
1048Russia2025-10-19
1049Spain2025-09-22

On-Demand Data

NameIdCountryDate
Faith M Slusarski1000Spain2025-09-21
Greenwood Q Saylors1001India2025-10-10
Leja O Waycott1002France2025-10-06
Darci D Garufi1003Australia2025-10-19
Sinclair C Sergi1004Italy2025-10-04
Maria X Doe1005Canada2025-10-12
Alejandro I Campain1006Brazil2025-10-09
Adams C Garufi1007Australia2025-10-01
Ashley I Venere1008United Kingdom2025-09-28
Morrow J Oldroyd1009Russia2025-10-09
Isabel U Royster1010Russia2025-10-15
Stacey D Kusko1011France2025-09-24
Aruna F Butt1012United Kingdom2025-09-28
Mujtaba S Nestle1013Russia2025-09-22
Cody P Waycott1014Germany2025-09-20
Costa K Garufi1015Argentina2025-09-24
Mayumi B Wieser1016Italy2025-10-03
Darci I Gaucho1017Russia2025-10-10
Antonio P Morasca1018Brazil2025-10-12
Greenwood J Tollner1019United Kingdom2025-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford H GauchoAustraliaOnyama Limba RENEWAL
Ricardo A RimBrazilElwin Sharvill QUALIFIED
James A MaletAustraliaAnna Fali QUALIFIED
Darci P GlickAustraliaIoni Bowcher NEW
Munro C PerinFranceAsiya Javayant NEGOTIATION
Kadeem W IturbideArgentinaBernardo Dominic UNQUALIFIED
Johnson A MorascaIndiaStephen Shaw NEW
Nicolas M FerenczJapanAmy Elsner QUALIFIED
Clifford Z GauchoGermanyAnna Fali RENEWAL
Silvio O NestleFranceAnna Fali PROPOSAL
Octavia C PaprockiCanadaIvan Magalhaes NEW
Alejandro P BriddickIndiaAnna Fali NEGOTIATION
Mujtaba K IturbideIndiaBernardo Dominic QUALIFIED
Aditya Q AlbaresSpainStephen Shaw NEGOTIATION
Wickens O RimArgentinaIvan Magalhaes QUALIFIED
Jefferson X SergiRussiaStephen Shaw QUALIFIED
Smith N WhobreyUnited KingdomElwin Sharvill RENEWAL
Nicolas S DilliardCanadaOnyama Limba RENEWAL
Nicolas C OldroydRussiaOnyama Limba NEW
Costa N PaprockiArgentinaStephen Shaw UNQUALIFIED
Smith G SergiGermanyXuxue Feng PROPOSAL
Jefferson Z NestleSpainIvan Magalhaes NEGOTIATION
Jeanfrancois D NickaArgentinaElwin Sharvill RENEWAL
Octavia A VenereFranceXuxue Feng NEGOTIATION
Smith Y OstroskySpainXuxue Feng QUALIFIED
Ricardo A CaldareraSpainXuxue Feng QUALIFIED
Wickens X RulapaughCanadaAsiya Javayant PROPOSAL
Alejandro G MaletBrazilIoni Bowcher PROPOSAL
Arvin T ButtArgentinaBernardo Dominic RENEWAL
Rodrigues D GlickJapanElwin Sharvill UNQUALIFIED
Izzy W WhobreyItalyBernardo Dominic NEW
Aika J WaycottJapanAnna Fali RENEWAL
Emily D SaylorsArgentinaAsiya Javayant QUALIFIED
Adams B DarakjyUnited KingdomAnna Fali QUALIFIED
Francesco U FollerSpainOnyama Limba RENEWAL
Juan Y GlickJapanAsiya Javayant UNQUALIFIED
Clifford O VocelkaFranceAmy Elsner QUALIFIED
Aruna C ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Alejandro D MarrierUnited KingdomIoni Bowcher QUALIFIED
Jones W CaudyItalyIvan Magalhaes 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>