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
Maisha B CaldareraIndiaElwin Sharvill QUALIFIED
Wickens X SchemmerUnited KingdomElwin Sharvill NEW
Emily U AmigonUnited KingdomAnna Fali QUALIFIED
Maria C StockhamGermanyOnyama Limba PROPOSAL
Faith O SchemmerBrazilElwin Sharvill PROPOSAL
James R CaudyRussiaXuxue Feng RENEWAL
Maisha Q OstroskyCanadaAmy Elsner QUALIFIED
Maria H BriddickFranceElwin Sharvill NEGOTIATION
Kadeem E BriddickUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois L SaylorsAustraliaElwin Sharvill RENEWAL
Smith K BologniaGermanyAsiya Javayant QUALIFIED
Greenwood F SaylorsGermanyStephen Shaw QUALIFIED
Stacey R RoysterFranceIoni Bowcher QUALIFIED
Jeanfrancois V VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Costa U CaudyAustraliaBernardo Dominic PROPOSAL
Maria W ShinkoCanadaAmy Elsner RENEWAL
Chavez P KolmetzGermanyElwin Sharvill QUALIFIED
Ricardo G SlusarskiRussiaAnna Fali RENEWAL
Nicolas M MaletGermanyAsiya Javayant NEW
Aruna N NestleUnited KingdomAsiya Javayant RENEWAL
Kaitlin E MarrierArgentinaAmy Elsner UNQUALIFIED
Maisha Q OstroskyGermanyIvan Magalhaes UNQUALIFIED
Jefferson D GauchoAustraliaAnna Fali RENEWAL
Faith D PoquetteGermanyIoni Bowcher PROPOSAL
Juan M GarufiJapanAnna Fali PROPOSAL
Jennifer B AmigonArgentinaOnyama Limba UNQUALIFIED
Salvatore V MorascaArgentinaIvan Magalhaes UNQUALIFIED
Chavez H WaycottAustraliaIvan Magalhaes UNQUALIFIED
Aditya I RutaGermanyElwin Sharvill RENEWAL
Emily A MacleadFranceOnyama Limba QUALIFIED
Antonio I BowleyUnited KingdomAmy Elsner QUALIFIED
Maisha N GlickCanadaIoni Bowcher RENEWAL
Izzy R StockhamArgentinaXuxue Feng NEW
Alejandro D InouyeRussiaAnna Fali PROPOSAL
Ivar F ShinkoArgentinaIvan Magalhaes NEGOTIATION
Maria P NickaJapanAsiya Javayant NEGOTIATION
Isabel N RutaJapanElwin Sharvill NEW
Isabel F MaletBrazilElwin Sharvill PROPOSAL
Darci A MarrierItalyXuxue Feng UNQUALIFIED
Kaitlin O PoquetteFranceAnna Fali RENEWAL
Faith L ButtBrazilXuxue Feng NEGOTIATION
Aditya E MorascaRussiaAsiya Javayant QUALIFIED
Mayumi U AmigonArgentinaOnyama Limba UNQUALIFIED
Stacey K RoysterItalyAsiya Javayant NEGOTIATION
Francesco L PaprockiArgentinaOnyama Limba PROPOSAL
Jones S FlosiArgentinaBernardo Dominic PROPOSAL
Morrow U WhobreyGermanyElwin Sharvill QUALIFIED
Antonio F OstroskyIndiaAsiya Javayant QUALIFIED
Faith U AlbaresFranceStephen Shaw NEGOTIATION
Jeanfrancois P DoeRussiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo D PaprockiIndiaStephen Shaw QUALIFIED
Jennifer B BologniaIndiaOnyama Limba NEW
Aditya K NestleSpainAsiya Javayant NEGOTIATION
Rodrigues G BowleyUnited KingdomIvan Magalhaes QUALIFIED
Ashley V BologniaFranceAsiya Javayant QUALIFIED
Maria U KolmetzJapanStephen Shaw QUALIFIED
Salvatore N NickaUnited KingdomIvan Magalhaes NEGOTIATION
James W FlosiItalyStephen Shaw NEGOTIATION
Jones I WhobreyAustraliaStephen Shaw QUALIFIED
Jeanfrancois B TollnerAustraliaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa O ShinkoFrance2025-09-16Rousseaux, Michael Esq UNQUALIFIED62Bernardo Dominic
1001Faith E WaycottUnited Kingdom2025-09-17Printing Dimensions UNQUALIFIED59Xuxue Feng
1002Aditya I CaldareraCanada2025-10-01Chapman, Ross E Esq RENEWAL7Xuxue Feng
1003Stacey J MacleadGermany2025-10-10King, Christopher A Esq PROPOSAL43Stephen Shaw
1004Antonio M BriddickRussia2025-10-12Feiner Bros PROPOSAL89Asiya Javayant
1005Greenwood N FollerFrance2025-10-12Chemel, James L Cpa UNQUALIFIED32Stephen Shaw
1006Deepesh M SlusarskiFrance2025-10-12Rangoni Of Florence NEGOTIATION84Elwin Sharvill
1007Rodrigues B BowleyRussia2025-10-07Feiner Bros NEW11Xuxue Feng
1008Chavez F SergiGermany2025-10-08Printing Dimensions PROPOSAL65Ioni Bowcher
1009James R AmigonCanada2025-09-25Truhlar And Truhlar Attys PROPOSAL82Asiya Javayant
1010Antonio Q WaycottUnited Kingdom2025-10-08Rousseaux, Michael Esq RENEWAL15Ivan Magalhaes
1011Murillo F VocelkaUnited Kingdom2025-09-27Commercial Press RENEWAL59Bernardo Dominic
1012Leja P PerinItaly2025-09-18Printing Dimensions RENEWAL18Bernardo Dominic
1013Julie E CaldareraUnited Kingdom2025-09-21Feltz Printing Service UNQUALIFIED12Asiya Javayant
1014Faith B MacleadRussia2025-10-12Chapman, Ross E Esq UNQUALIFIED65Asiya Javayant
1015Silvio I WaycottArgentina2025-09-18Printing Dimensions NEW69Onyama Limba
1016Maria D VenereGermany2025-10-10Rousseaux, Michael Esq NEGOTIATION20Bernardo Dominic
1017Jennifer L AlbaresSpain2025-10-12Feltz Printing Service QUALIFIED64Amy Elsner
1018Murillo D VocelkaArgentina2025-09-18Chanay, Jeffrey A Esq UNQUALIFIED70Anna Fali
1019Jeanfrancois M StockhamBrazil2025-09-14Printing Dimensions RENEWAL44Ioni Bowcher
1020Misaki D SchemmerJapan2025-09-16Feiner Bros QUALIFIED91Bernardo Dominic
1021Kaitlin J MacleadGermany2025-09-19Truhlar And Truhlar Attys NEGOTIATION92Ioni Bowcher
1022Claire E GillianRussia2025-10-09Morlong Associates NEW80Stephen Shaw
1023Kaitlin F WaycottItaly2025-09-20Commercial Press QUALIFIED69Ioni Bowcher
1024Jennifer L FlosiBrazil2025-10-09Chemel, James L Cpa RENEWAL74Asiya Javayant
1025Isabel Q VocelkaCanada2025-10-01Printing Dimensions NEGOTIATION28Asiya Javayant
1026Aika T InouyeRussia2025-09-25Dorl, James J Esq RENEWAL49Ivan Magalhaes
1027Arvin D RoysterCanada2025-09-27Feltz Printing Service RENEWAL60Asiya Javayant
1028Julie K SlusarskiRussia2025-09-20Benton, John B Jr NEGOTIATION15Onyama Limba
1029Isabel O StensethItaly2025-10-04Rousseaux, Michael Esq NEW26Amy Elsner
1030Francesco C ShinkoJapan2025-10-11Morlong Associates QUALIFIED78Bernardo Dominic
1031Clifford F DoeUnited Kingdom2025-09-20Printing Dimensions QUALIFIED70Onyama Limba
1032Silvio B GillianAustralia2025-10-10Rangoni Of Florence NEW31Elwin Sharvill
1033Kaitlin L TollnerCanada2025-09-13Rangoni Of Florence UNQUALIFIED69Onyama Limba
1034Arvin S SchemmerUnited Kingdom2025-10-08Dorl, James J Esq PROPOSAL62Asiya Javayant
1035Rodrigues E KolmetzUnited Kingdom2025-10-01Commercial Press RENEWAL14Ivan Magalhaes
1036Stacey P OstroskyBrazil2025-10-03Dorl, James J Esq UNQUALIFIED30Anna Fali
1037Faith T PoquetteArgentina2025-10-06Buckley Miller Wright RENEWAL77Elwin Sharvill
1038David Y FigeroaSpain2025-09-27Commercial Press QUALIFIED47Xuxue Feng
1039Morrow L KuskoItaly2025-10-04Printing Dimensions UNQUALIFIED98Stephen Shaw
1040Cody K FigeroaJapan2025-10-09Benton, John B Jr UNQUALIFIED69Elwin Sharvill
1041Jones X WhobreyItaly2025-09-24Rousseaux, Michael Esq QUALIFIED52Xuxue Feng
1042Ashley P OstroskyCanada2025-09-14Commercial Press NEGOTIATION22Bernardo Dominic
1043Munro Q PaprockiBrazil2025-10-03Feltz Printing Service NEW14Anna Fali
1044Octavia S StockhamItaly2025-10-04Chemel, James L Cpa QUALIFIED41Ivan Magalhaes
1045Leja N RutaFrance2025-09-27Morlong Associates QUALIFIED83Stephen Shaw
1046Jones Q SergiSpain2025-09-18Dorl, James J Esq QUALIFIED19Ioni Bowcher
1047Leja S NickaSpain2025-10-07Commercial Press NEGOTIATION32Amy Elsner
1048Jones V KuskoIndia2025-10-05Truhlar And Truhlar Attys NEW99Asiya Javayant
1049Clifford J OstroskyItaly2025-09-14Rangoni Of Florence NEGOTIATION70Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba L RimArgentinaAmy Elsner QUALIFIED
Jones E RulapaughCanadaAmy Elsner NEW
Antonio E AlbaresIndiaAnna Fali UNQUALIFIED
Ricardo D BologniaIndiaOnyama Limba NEGOTIATION
Mayumi P NickaArgentinaElwin Sharvill UNQUALIFIED
Aditya F FollerAustraliaBernardo Dominic NEGOTIATION
Jones J SlusarskiSpainIoni Bowcher PROPOSAL
Cody O GillianUnited KingdomOnyama Limba QUALIFIED
David L ShinkoItalyAmy Elsner PROPOSAL
Misaki S ShinkoCanadaXuxue Feng UNQUALIFIED
Aruna D RutaRussiaBernardo Dominic NEW
Ivar A BriddickGermanyStephen Shaw NEGOTIATION
Emily Y AlbaresArgentinaIoni Bowcher PROPOSAL
Nicolas H CaudyFranceAmy Elsner RENEWAL
David I AmigonArgentinaAnna Fali PROPOSAL
Julie G WaycottJapanElwin Sharvill RENEWAL
Aika A StockhamSpainBernardo Dominic PROPOSAL
Maria A MacleadAustraliaBernardo Dominic UNQUALIFIED
Misaki W IturbideCanadaAsiya Javayant QUALIFIED
Deepesh C SchemmerFranceIvan Magalhaes NEGOTIATION
Smith K BriddickGermanyElwin Sharvill UNQUALIFIED
Emily U WieserJapanAmy Elsner QUALIFIED
Jeanfrancois K FollerCanadaOnyama Limba NEW
Adams Z ButtJapanIvan Magalhaes QUALIFIED
Jennifer Z MorascaJapanIoni Bowcher UNQUALIFIED
Sinclair A ButtAustraliaElwin Sharvill PROPOSAL
Ricardo Q BowleyIndiaAnna Fali PROPOSAL
Jones Z VenereSpainAsiya Javayant NEW
Izzy K IturbideGermanyElwin Sharvill UNQUALIFIED
Juan H GauchoBrazilBernardo Dominic PROPOSAL
Mujtaba W SaylorsCanadaIoni Bowcher RENEWAL
Jennifer S FerenczItalyBernardo Dominic NEGOTIATION
Leja Q WaycottAustraliaAnna Fali NEGOTIATION
Leon F FigeroaBrazilAsiya Javayant PROPOSAL
Misaki D RimAustraliaIoni Bowcher QUALIFIED
Kaitlin N CaldareraIndiaIoni Bowcher UNQUALIFIED
Misaki S BowleyCanadaOnyama Limba NEGOTIATION
Leja U ShinkoArgentinaXuxue Feng NEGOTIATION
Costa N MaletBrazilIoni Bowcher NEW
Faith A StockhamArgentinaOnyama Limba NEW
David P FerenczItalyAsiya Javayant RENEWAL
Maria Y BriddickBrazilIvan Magalhaes RENEWAL
Aditya F WieserAustraliaAmy Elsner UNQUALIFIED
Munro B SchemmerJapanAnna Fali QUALIFIED
Francesco S PaprockiArgentinaIoni Bowcher RENEWAL
Juan F MarrierGermanyBernardo Dominic RENEWAL
Cody W ChuiSpainBernardo Dominic UNQUALIFIED
Murillo Q WhobreyGermanyStephen Shaw QUALIFIED
Sinclair F SlusarskiArgentinaAmy Elsner QUALIFIED
Izzy V ChuiBrazilBernardo Dominic PROPOSAL
Frozen Columns
Name
Jennifer W Waycott
Misaki O Bolognia
Cody F Marrier
Darci E Butt
Kadeem S Rim
Jones Y Kusko
Morrow Z Stockham
Morrow P Garufi
Maria H Kolmetz
Emily W Dilliard
Salvatore I Bowley
Aditya Z Caudy
James J Wieser
Nicolas N Figeroa
Ivar R Glick
Stacey C Rim
Darci B Paprocki
Sinclair O Bolognia
Tony X Slusarski
Kaitlin A Darakjy
Kaitlin W Rulapaugh
Faith O Waycott
Izzy I Perin
James D Perin
Antonio B Royster
Izzy N Iturbide
Mujtaba I Ostrosky
Cody B Rulapaugh
Mujtaba W Sergi
Jefferson U Paprocki
Leja L Butt
Aika F Caldarera
Jennifer P Gillian
Rodrigues L Butt
Ashley A Gaucho
Julie N Inouye
Faith G Waycott
Emily G Caudy
Faith Y Stenseth
Kadeem O Royster
James P Briddick
Izzy K Malet
David E Nicka
Jefferson C Albares
Jones F Campain
Rodrigues L Butt
Munro Y Perin
Morrow B Slusarski
Isabel V Royster
Stacey P Flosi
IdCountryDate
1000Germany2025-09-18
1001Australia2025-09-18
1002Germany2025-10-06
1003Canada2025-09-18
1004Russia2025-09-22
1005Italy2025-09-29
1006India2025-09-30
1007Spain2025-09-23
1008India2025-10-02
1009Australia2025-09-16
1010Argentina2025-10-12
1011India2025-09-26
1012India2025-09-20
1013Argentina2025-09-13
1014Japan2025-10-06
1015Australia2025-09-25
1016Germany2025-10-11
1017Italy2025-10-04
1018Spain2025-09-23
1019Brazil2025-09-17
1020Italy2025-09-13
1021Brazil2025-10-11
1022Australia2025-09-22
1023Russia2025-10-03
1024Italy2025-09-18
1025India2025-10-04
1026Russia2025-10-09
1027Australia2025-09-16
1028Japan2025-09-14
1029India2025-09-15
1030Brazil2025-10-10
1031Russia2025-10-02
1032Spain2025-10-09
1033Italy2025-10-11
1034Brazil2025-09-13
1035France2025-10-04
1036Australia2025-09-19
1037France2025-09-27
1038France2025-09-21
1039Brazil2025-09-23
1040Germany2025-10-07
1041Japan2025-10-01
1042France2025-10-09
1043Brazil2025-10-09
1044Argentina2025-09-19
1045India2025-09-26
1046Spain2025-10-09
1047Italy2025-09-14
1048Russia2025-10-02
1049Russia2025-09-22

On-Demand Data

NameIdCountryDate
Isabel L Rulapaugh1000Argentina2025-09-20
Aruna W Rulapaugh1001Italy2025-10-06
Tony D Kolmetz1002France2025-09-26
Kaitlin B Stockham1003Italy2025-09-22
Greenwood N Garufi1004Brazil2025-09-25
Kaitlin T Whobrey1005Italy2025-09-19
Aditya O Bowley1006India2025-09-16
Adams Y Butt1007India2025-10-04
Francesco U Doe1008Spain2025-09-29
Salvatore Z Flosi1009Spain2025-09-15
Chavez K Caudy1010Japan2025-09-24
Ashley E Schemmer1011Australia2025-09-19
James A Ruta1012Argentina2025-09-14
Julie Y Flosi1013Japan2025-09-27
Misaki S Nicka1014Russia2025-09-30
Greenwood R Chui1015Spain2025-10-09
Jeanfrancois Y Shinko1016Brazil2025-09-13
David H Butt1017Germany2025-09-20
Sinclair H Ruta1018Japan2025-10-03
Leon I Darakjy1019India2025-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez P ShinkoGermanyOnyama Limba UNQUALIFIED
Chavez I ChuiGermanyIoni Bowcher NEGOTIATION
Misaki F BowleyUnited KingdomXuxue Feng NEW
Jefferson Y SergiJapanIvan Magalhaes PROPOSAL
Nicolas W MaletArgentinaAsiya Javayant PROPOSAL
Clifford G PaprockiAustraliaAmy Elsner NEGOTIATION
Cody Q WhobreySpainAsiya Javayant QUALIFIED
Leja N BriddickGermanyIvan Magalhaes NEW
Ashley W CaldareraBrazilElwin Sharvill NEGOTIATION
Tony C StensethIndiaBernardo Dominic NEW
Jefferson K IturbideItalyIoni Bowcher QUALIFIED
Munro T RulapaughGermanyIvan Magalhaes QUALIFIED
Isabel U SlusarskiItalyIvan Magalhaes NEW
Jones Q FlosiGermanyElwin Sharvill NEGOTIATION
Darci A CampainBrazilStephen Shaw RENEWAL
Leon H RimGermanyOnyama Limba NEGOTIATION
Wickens R AlbaresIndiaAsiya Javayant QUALIFIED
Aditya U MorascaJapanAsiya Javayant NEW
Smith L GlickAustraliaElwin Sharvill NEGOTIATION
Clifford R MorascaItalyAnna Fali RENEWAL
Jefferson U SlusarskiSpainAnna Fali UNQUALIFIED
Johnson L NickaBrazilIvan Magalhaes NEGOTIATION
Maisha L NestleGermanyAnna Fali RENEWAL
Emily F IturbideCanadaIoni Bowcher NEW
Adams B WieserIndiaStephen Shaw UNQUALIFIED
Arvin C InouyeGermanyElwin Sharvill QUALIFIED
Greenwood V VocelkaItalyXuxue Feng PROPOSAL
Stacey O NickaFranceElwin Sharvill RENEWAL
Antonio H KuskoFranceIoni Bowcher RENEWAL
Antonio S GillianBrazilIoni Bowcher QUALIFIED
Maria N GlickUnited KingdomIvan Magalhaes NEGOTIATION
Leja Y DarakjyIndiaAsiya Javayant UNQUALIFIED
Juan O PaprockiRussiaElwin Sharvill RENEWAL
Ricardo L RutaFranceOnyama Limba RENEWAL
Maisha A GlickSpainAmy Elsner NEGOTIATION
Jefferson V AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Munro G FerenczBrazilBernardo Dominic QUALIFIED
Julie V WieserIndiaXuxue Feng RENEWAL
Nicolas Y NestleArgentinaAsiya Javayant NEW
Aruna T InouyeRussiaElwin Sharvill UNQUALIFIED

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