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 I DoeJapanBernardo Dominic PROPOSAL
Misaki N StensethCanadaStephen Shaw QUALIFIED
Alejandro W DarakjySpainAnna Fali UNQUALIFIED
Morrow O StensethArgentinaIvan Magalhaes UNQUALIFIED
Salvatore Q RulapaughJapanOnyama Limba QUALIFIED
Leon B DilliardGermanyAnna Fali QUALIFIED
Mujtaba U OldroydItalyBernardo Dominic NEW
Greenwood U DoeCanadaAnna Fali NEGOTIATION
Adams X FollerIndiaAsiya Javayant UNQUALIFIED
Claire E KolmetzBrazilAnna Fali NEGOTIATION
Munro C GillianUnited KingdomElwin Sharvill NEW
Aditya W CampainJapanAnna Fali UNQUALIFIED
Claire Z FlosiGermanyAnna Fali RENEWAL
Chavez I FollerArgentinaOnyama Limba RENEWAL
Isabel V SaylorsJapanAmy Elsner NEW
Tony D AmigonItalyStephen Shaw UNQUALIFIED
Ashley M MaletUnited KingdomAmy Elsner UNQUALIFIED
Leon M SergiArgentinaElwin Sharvill RENEWAL
Greenwood X GauchoUnited KingdomIoni Bowcher PROPOSAL
Munro U DoeJapanBernardo Dominic UNQUALIFIED
Smith A VocelkaFranceElwin Sharvill UNQUALIFIED
Isabel A GarufiGermanyBernardo Dominic NEW
Antonio R RulapaughSpainXuxue Feng NEW
Jennifer Y CampainAustraliaXuxue Feng NEW
Smith B DoeBrazilStephen Shaw QUALIFIED
Munro G StockhamJapanAsiya Javayant NEGOTIATION
Stacey N PerinFranceIoni Bowcher UNQUALIFIED
Francesco O GauchoAustraliaStephen Shaw RENEWAL
James N PerinArgentinaElwin Sharvill RENEWAL
Leon G GarufiRussiaAmy Elsner UNQUALIFIED
Isabel H SlusarskiGermanyElwin Sharvill NEGOTIATION
James L BriddickAustraliaIoni Bowcher NEGOTIATION
Aika J RoysterSpainIvan Magalhaes NEGOTIATION
Smith P PoquetteRussiaIvan Magalhaes RENEWAL
Mayumi I VenereFranceXuxue Feng NEGOTIATION
Jennifer Z ButtUnited KingdomAsiya Javayant NEGOTIATION
Murillo G StockhamItalyXuxue Feng RENEWAL
Misaki J InouyeRussiaAsiya Javayant RENEWAL
Smith S AmigonArgentinaAnna Fali PROPOSAL
Leon O SchemmerBrazilAnna Fali NEGOTIATION
Octavia G NickaArgentinaElwin Sharvill PROPOSAL
Jennifer K IturbideCanadaAsiya Javayant NEGOTIATION
Chavez Q SergiIndiaBernardo Dominic UNQUALIFIED
Wickens A WhobreyGermanyAsiya Javayant UNQUALIFIED
Tony S OstroskyJapanBernardo Dominic NEGOTIATION
Ivar T CaudyRussiaElwin Sharvill NEGOTIATION
Jefferson O PoquetteArgentinaAmy Elsner QUALIFIED
Adams X AmigonArgentinaBernardo Dominic PROPOSAL
David A ChuiIndiaAnna Fali NEW
Salvatore I GlickAustraliaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria W ChuiGermanyAsiya Javayant NEGOTIATION
Adams B FigeroaSpainAmy Elsner RENEWAL
Munro C NickaFranceAsiya Javayant RENEWAL
Ashley G IturbideIndiaElwin Sharvill RENEWAL
Cody Y WhobreyBrazilIoni Bowcher NEGOTIATION
Aruna V NestleArgentinaBernardo Dominic UNQUALIFIED
Mayumi C VenereGermanyXuxue Feng NEW
Darci F FollerGermanyAnna Fali UNQUALIFIED
Francesco P KuskoSpainAmy Elsner UNQUALIFIED
Ashley B BriddickBrazilAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar C GillianAustralia2025-07-26Rangoni Of Florence QUALIFIED70Anna Fali
1001Maisha N KolmetzJapan2025-08-16Truhlar And Truhlar Attys NEGOTIATION92Asiya Javayant
1002Darci O MaletFrance2025-07-29King, Christopher A Esq NEGOTIATION5Stephen Shaw
1003Rodrigues B ChuiJapan2025-08-19Morlong Associates UNQUALIFIED10Amy Elsner
1004Jeanfrancois O TollnerCanada2025-08-19Printing Dimensions QUALIFIED57Ioni Bowcher
1005Clifford M MorascaFrance2025-08-11Chapman, Ross E Esq NEGOTIATION24Asiya Javayant
1006Izzy K FigeroaUnited Kingdom2025-08-14King, Christopher A Esq RENEWAL6Bernardo Dominic
1007Arvin U MacleadUnited Kingdom2025-08-22Chanay, Jeffrey A Esq QUALIFIED18Stephen Shaw
1008Juan M IturbideRussia2025-08-10Truhlar And Truhlar Attys NEW10Ioni Bowcher
1009Jones H DarakjyGermany2025-08-03King, Christopher A Esq NEW87Anna Fali
1010Johnson S RoysterRussia2025-08-07Feiner Bros UNQUALIFIED31Bernardo Dominic
1011Jones I RimIndia2025-08-13Benton, John B Jr PROPOSAL64Ivan Magalhaes
1012Jefferson L MaletUnited Kingdom2025-08-13Rousseaux, Michael Esq NEW67Bernardo Dominic
1013Julie Y GarufiIndia2025-08-02Chanay, Jeffrey A Esq NEW34Bernardo Dominic
1014Francesco Y GauchoJapan2025-08-03Feltz Printing Service QUALIFIED45Bernardo Dominic
1015Misaki A NickaRussia2025-07-30Commercial Press QUALIFIED53Bernardo Dominic
1016Misaki Z GauchoAustralia2025-08-21Truhlar And Truhlar Attys NEGOTIATION55Onyama Limba
1017Mayumi I FollerIndia2025-07-29Benton, John B Jr RENEWAL40Ivan Magalhaes
1018Wickens F InouyeFrance2025-08-09Commercial Press RENEWAL19Onyama Limba
1019Nicolas O StensethUnited Kingdom2025-08-23Printing Dimensions NEGOTIATION65Xuxue Feng
1020Jones T GauchoFrance2025-07-31Printing Dimensions PROPOSAL35Ioni Bowcher
1021Maria O DilliardGermany2025-07-29Chanay, Jeffrey A Esq NEGOTIATION74Ioni Bowcher
1022Adams J VocelkaFrance2025-07-25Dorl, James J Esq QUALIFIED15Amy Elsner
1023Arvin M MaletUnited Kingdom2025-08-08Benton, John B Jr UNQUALIFIED9Asiya Javayant
1024Jennifer B TollnerIndia2025-07-27Rangoni Of Florence QUALIFIED33Amy Elsner
1025Chavez I MaletItaly2025-07-26Benton, John B Jr QUALIFIED78Ivan Magalhaes
1026Rodrigues N GlickAustralia2025-07-28Truhlar And Truhlar Attys NEGOTIATION23Stephen Shaw
1027Silvio L FlosiJapan2025-08-22Feiner Bros UNQUALIFIED1Stephen Shaw
1028Julie W MaletItaly2025-08-02Commercial Press NEGOTIATION11Bernardo Dominic
1029Aditya T NestleFrance2025-08-07Dorl, James J Esq QUALIFIED89Amy Elsner
1030Tony Z OstroskyCanada2025-08-14Rousseaux, Michael Esq UNQUALIFIED58Anna Fali
1031Juan M ChuiBrazil2025-07-29Feltz Printing Service UNQUALIFIED42Anna Fali
1032Maisha U RimCanada2025-08-03Benton, John B Jr QUALIFIED10Stephen Shaw
1033Alejandro R RimAustralia2025-08-16Feltz Printing Service RENEWAL20Amy Elsner
1034Arvin P SchemmerBrazil2025-08-03Chapman, Ross E Esq QUALIFIED81Elwin Sharvill
1035Nicolas G SaylorsBrazil2025-08-06Chemel, James L Cpa PROPOSAL88Elwin Sharvill
1036Emily B SchemmerFrance2025-08-07Morlong Associates PROPOSAL58Asiya Javayant
1037Silvio H CaudyIndia2025-08-10Dorl, James J Esq NEGOTIATION83Elwin Sharvill
1038Sinclair T AlbaresCanada2025-08-10Feltz Printing Service PROPOSAL66Xuxue Feng
1039Jeanfrancois C StockhamItaly2025-07-26Chemel, James L Cpa UNQUALIFIED65Anna Fali
1040Claire Q FerenczCanada2025-08-21Chanay, Jeffrey A Esq NEW78Xuxue Feng
1041Cody B GarufiArgentina2025-08-18Buckley Miller Wright NEW51Ioni Bowcher
1042Salvatore E VenereAustralia2025-08-11Buckley Miller Wright NEW38Onyama Limba
1043Izzy J CaldareraIndia2025-07-28King, Christopher A Esq NEGOTIATION13Asiya Javayant
1044Maria M OldroydUnited Kingdom2025-08-23Chapman, Ross E Esq NEW38Anna Fali
1045Costa L OstroskyBrazil2025-08-09Feiner Bros NEGOTIATION49Ioni Bowcher
1046Maisha B KuskoFrance2025-07-29Morlong Associates NEW95Asiya Javayant
1047Costa Z FlosiCanada2025-08-17Feltz Printing Service NEW82Asiya Javayant
1048Octavia B AlbaresRussia2025-08-17Printing Dimensions NEW31Onyama Limba
1049Aika P DilliardIndia2025-08-15Feltz Printing Service RENEWAL67Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna J FlosiCanadaAsiya Javayant NEW
Kaitlin Z OstroskyItalyIoni Bowcher QUALIFIED
Leja Y GlickBrazilOnyama Limba RENEWAL
Rodrigues Q KolmetzCanadaBernardo Dominic NEGOTIATION
Leja B DarakjyUnited KingdomBernardo Dominic NEW
Morrow R GlickIndiaBernardo Dominic NEW
Aika N TollnerRussiaOnyama Limba UNQUALIFIED
Jones Z SergiJapanXuxue Feng RENEWAL
Costa V BowleyAustraliaElwin Sharvill QUALIFIED
Leja N NestleJapanStephen Shaw NEW
Misaki I NickaUnited KingdomElwin Sharvill PROPOSAL
Juan B VenereJapanXuxue Feng UNQUALIFIED
Ivar N DoeCanadaStephen Shaw NEW
Ricardo A GillianBrazilIoni Bowcher PROPOSAL
Jennifer N InouyeRussiaBernardo Dominic PROPOSAL
Ricardo E RoysterIndiaStephen Shaw RENEWAL
Maisha P SergiRussiaAsiya Javayant QUALIFIED
Ashley W FollerRussiaIvan Magalhaes NEW
Stacey P TollnerJapanElwin Sharvill NEW
Misaki B DoeArgentinaIoni Bowcher PROPOSAL
Jones W VenereSpainAsiya Javayant QUALIFIED
Arvin O RoysterJapanBernardo Dominic RENEWAL
Salvatore T VocelkaBrazilStephen Shaw RENEWAL
Claire K DilliardSpainXuxue Feng NEW
Leon D SergiItalyIvan Magalhaes RENEWAL
Murillo A CaldareraUnited KingdomBernardo Dominic PROPOSAL
Silvio H GillianCanadaOnyama Limba RENEWAL
Smith L KolmetzArgentinaXuxue Feng UNQUALIFIED
Emily T ChuiSpainOnyama Limba NEGOTIATION
Clifford P MaletItalyAsiya Javayant UNQUALIFIED
Antonio J PerinJapanAsiya Javayant PROPOSAL
Mujtaba H NestleJapanElwin Sharvill NEGOTIATION
Ivar P RulapaughUnited KingdomElwin Sharvill PROPOSAL
Kadeem Q MaletGermanyElwin Sharvill PROPOSAL
Kadeem Z PoquetteJapanIvan Magalhaes QUALIFIED
Morrow A RimArgentinaIoni Bowcher QUALIFIED
Jefferson P SaylorsIndiaBernardo Dominic NEGOTIATION
Munro F MarrierRussiaStephen Shaw NEGOTIATION
Deepesh S DoeFranceElwin Sharvill NEW
Izzy S MorascaCanadaElwin Sharvill NEGOTIATION
Salvatore F KolmetzArgentinaOnyama Limba NEW
Juan W WhobreyIndiaIvan Magalhaes RENEWAL
Ashley S InouyeUnited KingdomElwin Sharvill QUALIFIED
Antonio I BriddickItalyAmy Elsner UNQUALIFIED
Cody N BowleyGermanyElwin Sharvill PROPOSAL
Mayumi C FigeroaCanadaXuxue Feng NEW
Aditya F MarrierArgentinaXuxue Feng QUALIFIED
Deepesh I DarakjyArgentinaElwin Sharvill NEW
Arvin P RutaUnited KingdomStephen Shaw PROPOSAL
Chavez L VocelkaSpainIoni Bowcher NEGOTIATION
Frozen Columns
Name
Arvin T Gaucho
David S Dilliard
Faith U Marrier
Isabel C Venere
Jeanfrancois N Iturbide
Claire R Poquette
Morrow W Sergi
Ivar U Kusko
Aika F Perin
Jennifer J Marrier
Izzy C Morasca
Octavia Q Malet
Ashley V Nicka
Juan T Oldroyd
Jones U Schemmer
Leon E Wieser
Claire F Waycott
David Z Vocelka
James W Inouye
Chavez R Tollner
Morrow B Stockham
Darci J Stockham
Maria S Whobrey
Deepesh O Paprocki
Leon O Darakjy
Cody E Marrier
Nicolas N Albares
Adams B Paprocki
Nicolas X Perin
Murillo O Gaucho
Jefferson S Slusarski
Aika H Stenseth
Alejandro T Slusarski
Octavia E Shinko
James L Chui
Emily U Poquette
Munro Q Dilliard
Morrow O Saylors
Octavia H Maclead
Antonio H Wieser
Sinclair K Bowley
Maria F Ostrosky
Stacey I Doe
Smith E Dilliard
Silvio W Figeroa
Salvatore N Stenseth
Mujtaba X Caudy
Clifford C Kolmetz
Clifford U Rulapaugh
Smith T Dilliard
IdCountryDate
1000Australia2025-08-04
1001India2025-07-29
1002India2025-08-18
1003Argentina2025-08-04
1004United Kingdom2025-08-02
1005Brazil2025-08-12
1006France2025-08-01
1007Russia2025-08-22
1008Japan2025-08-15
1009Italy2025-07-26
1010United Kingdom2025-07-31
1011France2025-08-17
1012France2025-08-07
1013India2025-08-16
1014Japan2025-07-28
1015Germany2025-07-29
1016Spain2025-07-25
1017Russia2025-08-17
1018Russia2025-08-21
1019France2025-08-16
1020United Kingdom2025-08-21
1021United Kingdom2025-08-07
1022Germany2025-07-26
1023Argentina2025-08-07
1024United Kingdom2025-08-09
1025Brazil2025-07-29
1026Australia2025-07-31
1027Spain2025-08-05
1028Brazil2025-08-18
1029France2025-08-21
1030Italy2025-07-26
1031Japan2025-07-27
1032France2025-08-19
1033Argentina2025-07-26
1034Canada2025-08-03
1035United Kingdom2025-08-08
1036Brazil2025-08-06
1037France2025-07-26
1038Spain2025-08-20
1039Spain2025-08-08
1040France2025-08-08
1041Brazil2025-08-23
1042France2025-08-01
1043Argentina2025-08-10
1044India2025-08-06
1045France2025-08-17
1046Canada2025-08-21
1047Canada2025-08-04
1048France2025-08-03
1049Brazil2025-08-10

On-Demand Data

NameIdCountryDate
Rodrigues H Schemmer1000Spain2025-08-20
Maria G Poquette1001Canada2025-07-27
Murillo F Malet1002Spain2025-07-30
Chavez V Ferencz1003Brazil2025-08-07
Francesco I Garufi1004United Kingdom2025-08-06
Faith R Bowley1005Brazil2025-07-25
Rodrigues D Stockham1006France2025-08-05
Darci C Ferencz1007Canada2025-07-29
Aditya Q Oldroyd1008India2025-08-07
Munro K Gillian1009Italy2025-07-27
Munro V Slusarski1010France2025-08-02
Sinclair T Bowley1011Russia2025-07-27
Murillo C Rim1012Canada2025-07-29
Salvatore U Sergi1013Italy2025-08-09
Francesco F Nestle1014India2025-08-01
Costa R Rulapaugh1015Australia2025-08-02
Mujtaba I Morasca1016Brazil2025-08-17
Julie E Albares1017Italy2025-08-12
Leon Y Paprocki1018France2025-08-19
Kaitlin Y Glick1019Japan2025-08-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin W PaprockiIndiaIvan Magalhaes NEGOTIATION
Wickens C StockhamGermanyElwin Sharvill NEGOTIATION
Tony T GarufiAustraliaAmy Elsner NEW
Tony E GillianSpainOnyama Limba NEW
Nicolas V BowleyJapanElwin Sharvill NEGOTIATION
Cody V VocelkaArgentinaIvan Magalhaes QUALIFIED
Julie D ButtAustraliaAnna Fali QUALIFIED
Arvin C GauchoUnited KingdomAnna Fali NEW
Ashley O NestleFranceStephen Shaw QUALIFIED
Francesco W AmigonCanadaStephen Shaw NEW
Leon I CaudyFranceIoni Bowcher RENEWAL
Mayumi Z ChuiJapanIvan Magalhaes PROPOSAL
Tony J NestleBrazilStephen Shaw PROPOSAL
Julie B BriddickUnited KingdomAmy Elsner PROPOSAL
Morrow J AmigonBrazilStephen Shaw PROPOSAL
Nicolas J KuskoGermanyElwin Sharvill RENEWAL
Aditya W WaycottCanadaStephen Shaw NEGOTIATION
David H ShinkoIndiaStephen Shaw UNQUALIFIED
Silvio O PoquetteRussiaAmy Elsner NEW
Silvio U MaletBrazilIvan Magalhaes NEGOTIATION
Tony F TollnerFranceIvan Magalhaes NEW
Jones G NickaGermanyStephen Shaw PROPOSAL
Jennifer J OstroskyJapanBernardo Dominic UNQUALIFIED
Ivar R ShinkoArgentinaElwin Sharvill RENEWAL
James Z FlosiBrazilAsiya Javayant QUALIFIED
Claire N StockhamSpainElwin Sharvill QUALIFIED
Johnson B KolmetzCanadaXuxue Feng QUALIFIED
Isabel L VocelkaArgentinaAmy Elsner RENEWAL
Greenwood O DilliardGermanyElwin Sharvill PROPOSAL
Octavia L SergiFranceXuxue Feng NEW
Mujtaba P InouyeFranceIoni Bowcher PROPOSAL
Misaki D RoysterArgentinaAnna Fali QUALIFIED
Stacey O SergiSpainIvan Magalhaes NEGOTIATION
Ricardo F FerenczIndiaIoni Bowcher RENEWAL
Munro E PoquetteAustraliaOnyama Limba PROPOSAL
Faith J VenereItalyXuxue Feng NEW
Ricardo L BologniaIndiaAnna Fali QUALIFIED
Francesco P MacleadIndiaAmy Elsner NEW
Morrow A PerinFranceIvan Magalhaes UNQUALIFIED
Jennifer W MorascaBrazilAnna Fali 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>