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
Faith B SaylorsItalyAmy Elsner NEGOTIATION
Francesco I FerenczFranceStephen Shaw RENEWAL
Johnson C RutaItalyIvan Magalhaes UNQUALIFIED
David E MorascaGermanyOnyama Limba NEGOTIATION
Aruna W KuskoGermanyBernardo Dominic NEW
Octavia R StockhamFranceBernardo Dominic NEGOTIATION
Wickens N GillianUnited KingdomBernardo Dominic PROPOSAL
Silvio N CampainIndiaStephen Shaw QUALIFIED
Stacey W RoysterArgentinaBernardo Dominic QUALIFIED
Morrow C SchemmerAustraliaIoni Bowcher UNQUALIFIED
Wickens S GillianFranceOnyama Limba NEW
Costa B SergiRussiaIvan Magalhaes RENEWAL
James Q DarakjyArgentinaBernardo Dominic QUALIFIED
Alejandro U PerinGermanyAnna Fali QUALIFIED
Sinclair D RoysterSpainElwin Sharvill UNQUALIFIED
Sinclair Q KuskoCanadaIoni Bowcher PROPOSAL
Leon F CaldareraUnited KingdomXuxue Feng NEGOTIATION
Mujtaba V PoquetteAustraliaIvan Magalhaes PROPOSAL
Leon M WieserAustraliaOnyama Limba RENEWAL
Stacey W OstroskyBrazilIvan Magalhaes NEW
Ricardo W PaprockiBrazilAnna Fali PROPOSAL
Francesco D AlbaresCanadaElwin Sharvill UNQUALIFIED
Deepesh C VocelkaFranceAmy Elsner QUALIFIED
David D NickaArgentinaOnyama Limba QUALIFIED
Francesco I DoeRussiaOnyama Limba UNQUALIFIED
Mujtaba Q TollnerBrazilElwin Sharvill PROPOSAL
Darci C WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Aditya T RoysterAustraliaStephen Shaw PROPOSAL
Aditya D BologniaCanadaStephen Shaw NEGOTIATION
Mujtaba D VenereRussiaStephen Shaw NEW
Kadeem U BriddickBrazilElwin Sharvill RENEWAL
Ashley Q SlusarskiFranceAmy Elsner RENEWAL
Silvio F FlosiItalyXuxue Feng QUALIFIED
Chavez M PaprockiBrazilStephen Shaw RENEWAL
Chavez I PerinUnited KingdomStephen Shaw NEGOTIATION
Juan K FigeroaBrazilIoni Bowcher QUALIFIED
Aditya T AlbaresRussiaStephen Shaw NEW
Juan O WhobreyRussiaElwin Sharvill RENEWAL
Greenwood H DarakjyArgentinaIvan Magalhaes QUALIFIED
Kadeem R CampainJapanOnyama Limba RENEWAL
Alejandro O CaldareraGermanyIvan Magalhaes UNQUALIFIED
Julie R CaldareraSpainStephen Shaw NEGOTIATION
Sinclair P WhobreyAustraliaAmy Elsner PROPOSAL
Mayumi S SaylorsAustraliaStephen Shaw PROPOSAL
Salvatore O WhobreyAustraliaAsiya Javayant PROPOSAL
Cody E MarrierArgentinaIoni Bowcher QUALIFIED
Deepesh Z DoeGermanyAmy Elsner UNQUALIFIED
Ivar M StockhamSpainOnyama Limba PROPOSAL
Octavia E NickaCanadaIoni Bowcher QUALIFIED
Sinclair H KolmetzRussiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
David B NestleSpainAnna Fali NEW
Greenwood N AmigonJapanAsiya Javayant NEW
Leja C KolmetzCanadaBernardo Dominic NEGOTIATION
Alejandro H DarakjyItalyOnyama Limba NEW
Salvatore Y AmigonItalyAsiya Javayant NEGOTIATION
Kadeem F WieserBrazilIvan Magalhaes RENEWAL
Isabel Y MaletJapanStephen Shaw NEGOTIATION
Leon H MacleadRussiaBernardo Dominic QUALIFIED
David A ChuiBrazilAsiya Javayant NEGOTIATION
Juan Q PerinIndiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin I NestleIndia2025-10-18Rousseaux, Michael Esq PROPOSAL97Onyama Limba
1001Isabel Q GlickBrazil2025-10-03Chapman, Ross E Esq UNQUALIFIED46Amy Elsner
1002Clifford J StockhamArgentina2025-10-04Truhlar And Truhlar Attys UNQUALIFIED55Stephen Shaw
1003Ricardo O RutaSpain2025-10-17Buckley Miller Wright NEW69Asiya Javayant
1004Jennifer Y BologniaCanada2025-09-24Buckley Miller Wright NEGOTIATION91Ivan Magalhaes
1005Claire P NestleGermany2025-10-18Feiner Bros NEGOTIATION92Stephen Shaw
1006Ivar K BriddickSpain2025-10-06Benton, John B Jr NEW47Amy Elsner
1007Aditya J WieserRussia2025-10-17Printing Dimensions NEGOTIATION52Bernardo Dominic
1008David Z WhobreyCanada2025-10-09Chanay, Jeffrey A Esq UNQUALIFIED2Asiya Javayant
1009Johnson C StockhamSpain2025-09-24Truhlar And Truhlar Attys QUALIFIED73Bernardo Dominic
1010Johnson W GillianIndia2025-09-21Printing Dimensions UNQUALIFIED59Elwin Sharvill
1011Mujtaba B ButtIndia2025-09-27Buckley Miller Wright QUALIFIED64Ivan Magalhaes
1012Francesco G DilliardArgentina2025-10-04King, Christopher A Esq NEW0Ivan Magalhaes
1013Adams Z VenereJapan2025-09-30Chapman, Ross E Esq PROPOSAL11Elwin Sharvill
1014Mujtaba G FlosiAustralia2025-10-15Chemel, James L Cpa NEGOTIATION90Stephen Shaw
1015Juan R MaletFrance2025-09-28Commercial Press UNQUALIFIED77Ioni Bowcher
1016Ivar R CaudyGermany2025-10-18Dorl, James J Esq NEW85Onyama Limba
1017Maria V StensethJapan2025-10-02Rousseaux, Michael Esq RENEWAL28Anna Fali
1018Faith H GlickItaly2025-10-13Benton, John B Jr RENEWAL90Onyama Limba
1019Claire V RimFrance2025-10-01Commercial Press PROPOSAL49Ioni Bowcher
1020Murillo H FollerJapan2025-09-23Chanay, Jeffrey A Esq UNQUALIFIED86Onyama Limba
1021Deepesh Z MarrierRussia2025-10-05Commercial Press NEGOTIATION95Asiya Javayant
1022Francesco A CaldareraFrance2025-10-10Printing Dimensions RENEWAL71Ioni Bowcher
1023Sinclair P InouyeSpain2025-10-05Chapman, Ross E Esq NEGOTIATION79Anna Fali
1024David F SaylorsIndia2025-10-05Chanay, Jeffrey A Esq PROPOSAL54Ivan Magalhaes
1025Rodrigues N KolmetzItaly2025-09-19Benton, John B Jr RENEWAL50Stephen Shaw
1026Rodrigues X OldroydRussia2025-09-30King, Christopher A Esq NEGOTIATION31Ioni Bowcher
1027James U FigeroaArgentina2025-09-27Rousseaux, Michael Esq UNQUALIFIED17Stephen Shaw
1028Aika D WhobreyArgentina2025-10-06Commercial Press NEGOTIATION56Elwin Sharvill
1029Wickens N KolmetzArgentina2025-09-19Dorl, James J Esq NEW10Asiya Javayant
1030Kaitlin P PerinArgentina2025-09-22Dorl, James J Esq UNQUALIFIED68Bernardo Dominic
1031Salvatore X BowleyItaly2025-10-18Rangoni Of Florence NEGOTIATION66Elwin Sharvill
1032Claire N RoysterGermany2025-09-21Feiner Bros PROPOSAL91Elwin Sharvill
1033Adams H FerenczFrance2025-09-21Chemel, James L Cpa PROPOSAL40Bernardo Dominic
1034Chavez P CaudyGermany2025-10-02Printing Dimensions PROPOSAL86Bernardo Dominic
1035Jones D ButtItaly2025-10-12Truhlar And Truhlar Attys NEGOTIATION61Amy Elsner
1036Francesco M GauchoIndia2025-10-01Commercial Press PROPOSAL4Anna Fali
1037Julie X SlusarskiGermany2025-10-04Feiner Bros NEW87Onyama Limba
1038Kadeem C WhobreyItaly2025-10-12Chanay, Jeffrey A Esq RENEWAL75Amy Elsner
1039Chavez H NestleSpain2025-10-09Morlong Associates QUALIFIED3Amy Elsner
1040Maisha J TollnerGermany2025-10-17Truhlar And Truhlar Attys QUALIFIED22Onyama Limba
1041Deepesh Z DarakjyItaly2025-10-09Feiner Bros PROPOSAL83Onyama Limba
1042Izzy S GillianRussia2025-10-01Rangoni Of Florence PROPOSAL9Elwin Sharvill
1043Faith V DoeJapan2025-09-20Feiner Bros PROPOSAL75Asiya Javayant
1044Juan V GillianFrance2025-09-25Morlong Associates QUALIFIED24Stephen Shaw
1045Maria U SergiUnited Kingdom2025-09-27Printing Dimensions UNQUALIFIED73Stephen Shaw
1046Jennifer K SergiJapan2025-10-04Chapman, Ross E Esq UNQUALIFIED96Ioni Bowcher
1047James O BowleyCanada2025-10-17Commercial Press NEGOTIATION59Xuxue Feng
1048Ricardo Z VenereRussia2025-10-12Printing Dimensions NEW21Amy Elsner
1049Deepesh W VenereIndia2025-09-19Rangoni Of Florence PROPOSAL71Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson S MarrierBrazilXuxue Feng UNQUALIFIED
Leon P KolmetzItalyOnyama Limba NEGOTIATION
Sinclair F FlosiJapanAnna Fali NEW
Aruna T RimAustraliaAmy Elsner RENEWAL
Misaki X GillianItalyElwin Sharvill RENEWAL
Deepesh C WieserSpainStephen Shaw RENEWAL
Clifford Y FollerSpainAmy Elsner NEGOTIATION
Antonio O BologniaItalyIvan Magalhaes RENEWAL
Smith O NestleUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair K StensethUnited KingdomOnyama Limba NEW
Jennifer U MacleadGermanyIvan Magalhaes QUALIFIED
Aditya D WaycottUnited KingdomStephen Shaw QUALIFIED
Greenwood T OstroskyFranceOnyama Limba RENEWAL
Cody E DilliardGermanyElwin Sharvill NEGOTIATION
Izzy Z RulapaughJapanBernardo Dominic QUALIFIED
Jefferson K SchemmerItalyOnyama Limba RENEWAL
Rodrigues P RimItalyIvan Magalhaes NEW
Morrow H OstroskyAustraliaOnyama Limba NEW
Greenwood B CaldareraGermanyAnna Fali NEGOTIATION
Leja J VenereUnited KingdomStephen Shaw PROPOSAL
Mujtaba I RutaArgentinaBernardo Dominic PROPOSAL
Antonio C ChuiFranceAmy Elsner NEW
Leja H InouyeItalyIvan Magalhaes RENEWAL
Jefferson N DilliardAustraliaOnyama Limba NEGOTIATION
Jefferson S OstroskyItalyStephen Shaw QUALIFIED
Misaki U GauchoGermanyAmy Elsner UNQUALIFIED
Smith Q ShinkoRussiaElwin Sharvill UNQUALIFIED
Greenwood J SchemmerJapanAnna Fali RENEWAL
Jennifer O FlosiFranceAmy Elsner NEGOTIATION
Kaitlin U AmigonIndiaAnna Fali NEGOTIATION
Ivar E InouyeIndiaBernardo Dominic RENEWAL
Salvatore Z AmigonArgentinaIvan Magalhaes PROPOSAL
Julie V IturbideBrazilStephen Shaw RENEWAL
Deepesh T GarufiCanadaIoni Bowcher NEW
Aditya I AlbaresRussiaStephen Shaw NEW
Sinclair M NickaSpainElwin Sharvill UNQUALIFIED
Jones N BriddickJapanAsiya Javayant NEW
Alejandro L AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Jones K AlbaresGermanyIvan Magalhaes NEGOTIATION
Arvin W GlickRussiaIvan Magalhaes UNQUALIFIED
Johnson T StockhamItalyElwin Sharvill RENEWAL
David F WhobreyFranceAmy Elsner NEGOTIATION
Greenwood O WieserAustraliaAmy Elsner UNQUALIFIED
Deepesh R StensethUnited KingdomXuxue Feng PROPOSAL
Aika H BowleyIndiaBernardo Dominic RENEWAL
Deepesh S SlusarskiSpainIvan Magalhaes NEW
Mujtaba Z ChuiCanadaStephen Shaw UNQUALIFIED
Jeanfrancois M SergiArgentinaIoni Bowcher PROPOSAL
Aditya A SergiRussiaBernardo Dominic UNQUALIFIED
Maria Q PaprockiIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Stacey Y Briddick
Deepesh C Malet
Tony P Bowley
Kadeem K Stenseth
Kadeem V Whobrey
Francesco H Amigon
Kaitlin D Bolognia
Maria Z Oldroyd
Clifford G Caldarera
Leon U Stockham
Kaitlin Q Campain
Morrow S Rulapaugh
Antonio F Slusarski
Jeanfrancois Z Venere
Aditya D Darakjy
Jeanfrancois L Kolmetz
Stacey E Gaucho
Wickens S Foller
Izzy Z Kusko
Octavia F Waycott
Maria Q Nestle
Greenwood A Foller
James N Royster
Stacey V Bolognia
Darci N Darakjy
Kadeem F Figeroa
Silvio A Royster
Francesco G Albares
Silvio N Dilliard
Misaki W Stenseth
Ashley D Darakjy
Adams K Amigon
Adams W Paprocki
Jennifer M Caldarera
Aditya M Stenseth
Johnson O Kolmetz
Izzy C Ferencz
Ashley P Maclead
Aika P Sergi
Silvio X Figeroa
James A Waycott
Ricardo Z Caldarera
Ivar M Foller
Smith B Slusarski
Costa B Malet
Greenwood D Poquette
Adams H Gaucho
Costa W Rim
Adams Q Dilliard
Costa U Caudy
IdCountryDate
1000India2025-10-02
1001Brazil2025-09-29
1002Argentina2025-09-25
1003Argentina2025-09-25
1004Japan2025-09-29
1005Russia2025-10-17
1006France2025-09-22
1007Japan2025-09-22
1008France2025-10-15
1009Japan2025-09-26
1010France2025-10-12
1011India2025-10-10
1012Brazil2025-10-03
1013Italy2025-10-09
1014Australia2025-10-09
1015India2025-10-16
1016Canada2025-09-28
1017United Kingdom2025-09-23
1018Italy2025-10-10
1019Germany2025-10-11
1020Russia2025-09-24
1021Italy2025-09-25
1022Italy2025-10-02
1023Brazil2025-09-28
1024Canada2025-10-06
1025Italy2025-09-27
1026Germany2025-10-15
1027Spain2025-10-02
1028Japan2025-09-22
1029Spain2025-10-08
1030Spain2025-09-19
1031France2025-10-05
1032Italy2025-10-18
1033Brazil2025-09-22
1034Spain2025-09-29
1035Canada2025-09-30
1036Brazil2025-09-21
1037Australia2025-10-07
1038Germany2025-10-18
1039Argentina2025-09-21
1040Brazil2025-09-25
1041United Kingdom2025-10-09
1042Germany2025-10-12
1043Argentina2025-10-15
1044France2025-10-13
1045Australia2025-10-17
1046Australia2025-10-12
1047Canada2025-09-21
1048Australia2025-10-10
1049France2025-10-04

On-Demand Data

NameIdCountryDate
Greenwood R Chui1000India2025-10-11
Alejandro R Wieser1001Russia2025-10-16
Jennifer Z Nicka1002Germany2025-10-11
Juan V Malet1003Argentina2025-10-11
Munro S Ruta1004Canada2025-10-09
Greenwood E Kolmetz1005Australia2025-10-07
Aditya P Nestle1006Argentina2025-10-08
Leja V Venere1007Japan2025-10-18
Aika V Darakjy1008Germany2025-10-12
Antonio S Venere1009Brazil2025-09-22
Maisha P Stenseth1010United Kingdom2025-10-08
Munro T Rim1011Italy2025-09-27
Smith G Tollner1012Germany2025-10-06
Deepesh J Venere1013Brazil2025-09-29
Nicolas T Paprocki1014Japan2025-10-07
Johnson V Oldroyd1015Germany2025-10-18
Murillo P Dilliard1016Canada2025-10-13
David R Figeroa1017Spain2025-10-06
Aditya X Albares1018Spain2025-10-17
Aika N Saylors1019Argentina2025-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Z PerinArgentinaAnna Fali RENEWAL
Leja U CaudyAustraliaAsiya Javayant NEGOTIATION
Silvio C WaycottCanadaXuxue Feng PROPOSAL
Maria A PaprockiFranceIvan Magalhaes UNQUALIFIED
Ivar C MacleadGermanyElwin Sharvill NEW
Claire J BowleyItalyAnna Fali RENEWAL
Kadeem M WaycottItalyAnna Fali UNQUALIFIED
Aruna F WieserGermanyIoni Bowcher RENEWAL
Jefferson L IturbideIndiaIvan Magalhaes NEGOTIATION
Misaki K MarrierRussiaXuxue Feng RENEWAL
Ivar A OstroskyBrazilIoni Bowcher NEGOTIATION
Faith Y IturbideRussiaBernardo Dominic PROPOSAL
Nicolas M FollerIndiaOnyama Limba NEW
Wickens F VocelkaItalyElwin Sharvill NEW
Juan K AlbaresArgentinaElwin Sharvill NEW
Murillo Z CaldareraItalyAmy Elsner PROPOSAL
Octavia Z CampainIndiaElwin Sharvill QUALIFIED
Clifford H SchemmerSpainAsiya Javayant NEGOTIATION
Clifford N GlickAustraliaAmy Elsner RENEWAL
Cody E GillianBrazilStephen Shaw RENEWAL
Ivar P AmigonRussiaIvan Magalhaes NEGOTIATION
Maisha S SlusarskiGermanyIoni Bowcher NEGOTIATION
Smith R CaldareraSpainOnyama Limba NEW
Aditya Z MaletAustraliaElwin Sharvill RENEWAL
Mujtaba T KolmetzSpainAmy Elsner UNQUALIFIED
Isabel F BowleyGermanyXuxue Feng QUALIFIED
Adams C MarrierBrazilOnyama Limba PROPOSAL
Maria O ChuiJapanOnyama Limba NEGOTIATION
Adams E GarufiUnited KingdomIvan Magalhaes QUALIFIED
Chavez D KolmetzBrazilAnna Fali QUALIFIED
Alejandro Z FollerItalyIvan Magalhaes NEGOTIATION
Tony G SaylorsUnited KingdomAnna Fali RENEWAL
Murillo L GlickArgentinaAsiya Javayant NEW
Jennifer L FigeroaRussiaIvan Magalhaes RENEWAL
Maisha W AlbaresFranceOnyama Limba PROPOSAL
Maria R SaylorsCanadaBernardo Dominic PROPOSAL
Silvio F GauchoFranceAmy Elsner NEGOTIATION
Ivar U KuskoJapanAmy Elsner RENEWAL
Greenwood F GauchoItalyAmy Elsner NEW
Johnson N GauchoJapanAmy Elsner PROPOSAL

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