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
Francesco R PoquetteArgentinaOnyama Limba NEGOTIATION
Rodrigues R VocelkaJapanIvan Magalhaes UNQUALIFIED
Claire Z KuskoItalyAnna Fali RENEWAL
Julie N DilliardRussiaAsiya Javayant RENEWAL
Darci H ButtUnited KingdomAnna Fali QUALIFIED
Darci O DilliardIndiaBernardo Dominic RENEWAL
Wickens U VocelkaSpainElwin Sharvill PROPOSAL
Jefferson W CaldareraGermanyXuxue Feng NEGOTIATION
Greenwood P WaycottItalyOnyama Limba QUALIFIED
Faith L NickaAustraliaAmy Elsner RENEWAL
Francesco H NickaIndiaElwin Sharvill NEW
Emily P PaprockiCanadaAsiya Javayant UNQUALIFIED
Juan E MorascaJapanElwin Sharvill NEGOTIATION
David J CaldareraUnited KingdomOnyama Limba QUALIFIED
Izzy H RoysterItalyOnyama Limba UNQUALIFIED
Aditya F SlusarskiFranceAnna Fali RENEWAL
David Y WaycottCanadaAnna Fali NEW
James T PerinAustraliaIvan Magalhaes RENEWAL
Murillo U ChuiGermanyBernardo Dominic NEGOTIATION
Maisha E ShinkoItalyXuxue Feng UNQUALIFIED
Silvio L KuskoItalyIvan Magalhaes NEW
Aditya T RutaGermanyXuxue Feng NEW
Jeanfrancois L FigeroaUnited KingdomIoni Bowcher NEW
Morrow N RutaItalyAmy Elsner RENEWAL
Rodrigues B FerenczBrazilXuxue Feng QUALIFIED
Wickens P WieserCanadaAsiya Javayant PROPOSAL
Salvatore U RoysterIndiaIoni Bowcher RENEWAL
Leon Q OstroskySpainIvan Magalhaes RENEWAL
Adams N KuskoFranceAsiya Javayant RENEWAL
Silvio C CaldareraJapanAsiya Javayant NEW
Johnson S PerinUnited KingdomIvan Magalhaes QUALIFIED
Tony O StockhamFranceBernardo Dominic NEGOTIATION
Isabel C BologniaArgentinaElwin Sharvill UNQUALIFIED
David I KolmetzUnited KingdomBernardo Dominic RENEWAL
Francesco N CampainUnited KingdomXuxue Feng PROPOSAL
Chavez I PoquetteSpainOnyama Limba PROPOSAL
Tony Z CampainUnited KingdomIoni Bowcher RENEWAL
Aika Q GauchoRussiaAnna Fali NEW
Aditya S SergiJapanAsiya Javayant NEGOTIATION
Wickens C GarufiAustraliaOnyama Limba PROPOSAL
Emily O FigeroaUnited KingdomIoni Bowcher RENEWAL
Misaki M StensethFranceStephen Shaw PROPOSAL
James S KuskoFranceIoni Bowcher NEW
Adams Z KolmetzIndiaXuxue Feng UNQUALIFIED
James U RutaAustraliaAnna Fali UNQUALIFIED
Leon V RutaSpainAsiya Javayant QUALIFIED
Johnson S NestleUnited KingdomBernardo Dominic NEGOTIATION
Francesco A SlusarskiArgentinaElwin Sharvill QUALIFIED
Adams E DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues Q StensethGermanyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones C GlickFranceOnyama Limba UNQUALIFIED
Aika O SlusarskiIndiaIoni Bowcher QUALIFIED
Jennifer L RoysterRussiaAsiya Javayant QUALIFIED
Mujtaba N PerinGermanyIoni Bowcher NEW
Mayumi S FerenczAustraliaAmy Elsner RENEWAL
Tony M StensethAustraliaAsiya Javayant UNQUALIFIED
Aika F WhobreyIndiaAmy Elsner RENEWAL
Kadeem W PerinGermanyAsiya Javayant RENEWAL
Nicolas J CaldareraFranceIoni Bowcher UNQUALIFIED
Jennifer L KolmetzSpainStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan J DilliardIndia2025-07-16Rangoni Of Florence QUALIFIED26Onyama Limba
1001Kadeem P StensethUnited Kingdom2025-07-05Benton, John B Jr NEW41Elwin Sharvill
1002Ricardo R WaycottUnited Kingdom2025-07-28Feltz Printing Service NEW51Amy Elsner
1003Silvio G OstroskyUnited Kingdom2025-07-16Feltz Printing Service NEGOTIATION89Asiya Javayant
1004Jennifer K MaletFrance2025-07-19Rousseaux, Michael Esq NEGOTIATION92Onyama Limba
1005Darci A WaycottBrazil2025-07-19Truhlar And Truhlar Attys NEGOTIATION36Anna Fali
1006Kadeem K PaprockiItaly2025-07-18Chanay, Jeffrey A Esq QUALIFIED87Elwin Sharvill
1007Octavia N VenereRussia2025-07-15Buckley Miller Wright QUALIFIED55Anna Fali
1008Munro A BriddickJapan2025-07-06Printing Dimensions NEGOTIATION22Amy Elsner
1009Mayumi A CampainArgentina2025-07-21Rangoni Of Florence UNQUALIFIED94Xuxue Feng
1010Clifford Z ShinkoFrance2025-07-10Printing Dimensions PROPOSAL85Ioni Bowcher
1011Claire N GarufiArgentina2025-08-03Buckley Miller Wright RENEWAL60Onyama Limba
1012Adams L FollerUnited Kingdom2025-07-13Chapman, Ross E Esq NEW61Anna Fali
1013Maria W SergiCanada2025-08-03Rangoni Of Florence RENEWAL59Ivan Magalhaes
1014Aika F SergiItaly2025-07-07Buckley Miller Wright QUALIFIED49Onyama Limba
1015Leon G SchemmerGermany2025-07-30Commercial Press QUALIFIED8Bernardo Dominic
1016Rodrigues I RutaCanada2025-07-05Morlong Associates UNQUALIFIED34Elwin Sharvill
1017Darci L DilliardRussia2025-07-17King, Christopher A Esq NEW34Bernardo Dominic
1018Isabel G VenereGermany2025-07-19Morlong Associates UNQUALIFIED33Amy Elsner
1019Misaki Z AmigonBrazil2025-07-06King, Christopher A Esq RENEWAL41Anna Fali
1020Morrow E RimGermany2025-07-23Rousseaux, Michael Esq NEGOTIATION35Xuxue Feng
1021Ivar P WhobreyFrance2025-07-05Chemel, James L Cpa NEW87Ioni Bowcher
1022David K MorascaCanada2025-07-10Rousseaux, Michael Esq QUALIFIED19Elwin Sharvill
1023Morrow M NestleCanada2025-07-17King, Christopher A Esq PROPOSAL70Asiya Javayant
1024Munro A MarrierSpain2025-07-21Feltz Printing Service RENEWAL39Stephen Shaw
1025Misaki Q FlosiGermany2025-07-07Feltz Printing Service NEGOTIATION50Elwin Sharvill
1026Ricardo V OldroydItaly2025-07-10Morlong Associates NEGOTIATION84Anna Fali
1027Deepesh U PerinAustralia2025-07-11Commercial Press QUALIFIED1Stephen Shaw
1028James L BologniaBrazil2025-07-30Rangoni Of Florence QUALIFIED62Bernardo Dominic
1029Faith H BowleyAustralia2025-08-02Rousseaux, Michael Esq NEW25Ivan Magalhaes
1030Jefferson L WieserAustralia2025-08-02Dorl, James J Esq NEW97Onyama Limba
1031Emily A ButtAustralia2025-07-11Printing Dimensions NEGOTIATION51Stephen Shaw
1032Faith X PoquetteFrance2025-07-29Feltz Printing Service NEW88Xuxue Feng
1033Leja I SchemmerAustralia2025-07-15Chapman, Ross E Esq NEGOTIATION25Stephen Shaw
1034Ricardo V OstroskyFrance2025-07-24Chemel, James L Cpa NEGOTIATION18Elwin Sharvill
1035Jones W ButtBrazil2025-08-02Chapman, Ross E Esq NEGOTIATION63Ioni Bowcher
1036Sinclair A KolmetzAustralia2025-07-19Buckley Miller Wright NEGOTIATION23Xuxue Feng
1037Rodrigues C DilliardCanada2025-07-09Chemel, James L Cpa NEW0Ivan Magalhaes
1038Chavez S CaudyItaly2025-07-12Buckley Miller Wright RENEWAL16Xuxue Feng
1039Tony O DarakjyJapan2025-07-18King, Christopher A Esq RENEWAL91Elwin Sharvill
1040David D RutaSpain2025-07-30Chapman, Ross E Esq RENEWAL90Asiya Javayant
1041Maisha D SchemmerItaly2025-07-10Truhlar And Truhlar Attys NEGOTIATION5Ioni Bowcher
1042Jones E OstroskyIndia2025-07-15Printing Dimensions RENEWAL17Asiya Javayant
1043Chavez Y ShinkoRussia2025-07-21Chemel, James L Cpa RENEWAL8Elwin Sharvill
1044Maisha N KolmetzUnited Kingdom2025-07-08Truhlar And Truhlar Attys PROPOSAL35Ivan Magalhaes
1045Deepesh L PaprockiAustralia2025-07-20Chapman, Ross E Esq RENEWAL82Elwin Sharvill
1046Adams A SaylorsFrance2025-08-01Morlong Associates RENEWAL57Ioni Bowcher
1047David A RutaUnited Kingdom2025-07-15Chapman, Ross E Esq UNQUALIFIED49Onyama Limba
1048Juan I BowleyItaly2025-07-29Dorl, James J Esq UNQUALIFIED94Stephen Shaw
1049Juan I AmigonUnited Kingdom2025-07-23Rousseaux, Michael Esq UNQUALIFIED49Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh I MorascaRussiaAsiya Javayant UNQUALIFIED
Maisha S ButtIndiaAsiya Javayant NEW
Octavia I FigeroaAustraliaAsiya Javayant PROPOSAL
Jeanfrancois W ChuiIndiaStephen Shaw UNQUALIFIED
Aditya I GauchoSpainBernardo Dominic UNQUALIFIED
Izzy C WhobreySpainStephen Shaw UNQUALIFIED
Deepesh I StensethRussiaOnyama Limba UNQUALIFIED
Munro W GauchoIndiaOnyama Limba QUALIFIED
Tony L VocelkaJapanOnyama Limba NEW
Salvatore V FigeroaJapanOnyama Limba NEW
Adams R RulapaughGermanyOnyama Limba QUALIFIED
Murillo V GarufiAustraliaIvan Magalhaes NEGOTIATION
Francesco C FlosiIndiaAmy Elsner NEW
Izzy A CaudyAustraliaElwin Sharvill NEGOTIATION
Mujtaba T RoysterGermanyAsiya Javayant NEGOTIATION
Jennifer B ChuiArgentinaAmy Elsner QUALIFIED
Jones O RoysterRussiaAnna Fali QUALIFIED
Stacey M ChuiUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba M MarrierFranceIvan Magalhaes RENEWAL
Emily V MorascaItalyOnyama Limba QUALIFIED
Ricardo K KolmetzAustraliaStephen Shaw NEW
Aruna G SaylorsSpainBernardo Dominic QUALIFIED
Munro L KolmetzIndiaOnyama Limba PROPOSAL
Cody T GauchoBrazilAmy Elsner QUALIFIED
James D WaycottJapanIvan Magalhaes PROPOSAL
Leja R DoeItalyIvan Magalhaes UNQUALIFIED
Cody W GarufiBrazilOnyama Limba NEGOTIATION
Johnson Q RoysterSpainXuxue Feng RENEWAL
Jeanfrancois X RutaItalyAsiya Javayant UNQUALIFIED
Ashley L RoysterAustraliaIoni Bowcher QUALIFIED
Mayumi B AlbaresSpainIoni Bowcher QUALIFIED
Mujtaba Y VocelkaJapanBernardo Dominic QUALIFIED
Leja R PoquetteIndiaElwin Sharvill PROPOSAL
Morrow V VocelkaIndiaStephen Shaw PROPOSAL
Kaitlin F GlickArgentinaAmy Elsner RENEWAL
Clifford Y NickaAustraliaAmy Elsner NEGOTIATION
Misaki P KuskoUnited KingdomBernardo Dominic NEGOTIATION
Smith T FollerUnited KingdomIoni Bowcher RENEWAL
Deepesh H DarakjyRussiaAmy Elsner NEW
David S GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Jones T SergiGermanyAsiya Javayant RENEWAL
Ashley H StockhamCanadaAnna Fali QUALIFIED
Munro O IturbideAustraliaIvan Magalhaes UNQUALIFIED
Julie N GauchoCanadaAmy Elsner NEGOTIATION
Smith L KolmetzIndiaAnna Fali NEGOTIATION
Costa S GarufiIndiaAsiya Javayant NEW
Maisha E GauchoRussiaIoni Bowcher UNQUALIFIED
Smith P FlosiGermanyAsiya Javayant QUALIFIED
Costa D MaletArgentinaIvan Magalhaes PROPOSAL
Wickens W PoquetteGermanyXuxue Feng NEW
Frozen Columns
Name
Francesco Z Stenseth
Aika I Paprocki
Adams T Nestle
Adams A Iturbide
Greenwood Z Nicka
Claire P Perin
Mujtaba B Campain
Maria D Caldarera
Munro N Nestle
Tony C Maclead
Chavez N Doe
Isabel J Saylors
Jefferson I Iturbide
Juan A Kusko
Salvatore A Iturbide
Mujtaba M Iturbide
Ricardo P Ostrosky
Mayumi T Malet
Jeanfrancois C Gaucho
Isabel W Gaucho
Aditya Z Kusko
Antonio I Flosi
Aika X Wieser
Julie F Bowley
Clifford A Campain
Arvin X Ostrosky
Munro O Maclead
Silvio U Darakjy
Darci S Sergi
Aika S Bolognia
Costa A Rulapaugh
Claire I Paprocki
Clifford M Gillian
Francesco I Slusarski
Clifford T Poquette
Arvin B Whobrey
Claire F Glick
David P Waycott
James X Foller
Sinclair M Inouye
Aika S Sergi
Adams E Slusarski
Alejandro V Inouye
Chavez C Ferencz
Claire U Tollner
Jefferson Y Venere
Sinclair M Schemmer
Ricardo G Saylors
Kaitlin B Malet
Kaitlin E Flosi
IdCountryDate
1000Brazil2025-07-19
1001Japan2025-07-26
1002Argentina2025-07-25
1003France2025-07-08
1004Argentina2025-07-19
1005Australia2025-08-03
1006Japan2025-07-24
1007Spain2025-07-10
1008Canada2025-07-25
1009Argentina2025-07-16
1010Argentina2025-07-10
1011Australia2025-07-10
1012Japan2025-07-14
1013Brazil2025-07-28
1014Brazil2025-08-03
1015France2025-07-16
1016Australia2025-07-13
1017Canada2025-07-07
1018United Kingdom2025-08-01
1019Spain2025-07-06
1020Argentina2025-07-10
1021Canada2025-07-09
1022Brazil2025-07-07
1023Canada2025-08-02
1024Japan2025-07-17
1025Spain2025-07-08
1026Spain2025-07-31
1027Japan2025-07-14
1028France2025-07-20
1029Germany2025-07-17
1030Italy2025-07-13
1031Brazil2025-08-03
1032Argentina2025-08-01
1033Brazil2025-08-01
1034Argentina2025-07-06
1035Argentina2025-07-21
1036Germany2025-07-24
1037Russia2025-07-26
1038Spain2025-07-24
1039Japan2025-07-13
1040Australia2025-07-05
1041Germany2025-07-11
1042Spain2025-07-27
1043Argentina2025-07-15
1044Germany2025-07-17
1045United Kingdom2025-07-28
1046France2025-07-20
1047Japan2025-07-07
1048Canada2025-07-31
1049Japan2025-07-30

On-Demand Data

NameIdCountryDate
Kadeem S Darakjy1000Australia2025-07-08
David A Briddick1001Italy2025-07-19
Darci Z Morasca1002Japan2025-07-09
Alejandro D Rulapaugh1003Australia2025-07-20
Claire H Whobrey1004Spain2025-07-26
Cody N Albares1005Germany2025-07-05
Ashley Y Figeroa1006France2025-07-19
Tony T Maclead1007Russia2025-07-14
Morrow A Maclead1008Japan2025-07-28
Francesco E Doe1009Canada2025-07-13
Julie H Foller1010Spain2025-07-28
Adams B Glick1011India2025-07-29
Leon O Royster1012India2025-07-30
Ricardo J Gaucho1013India2025-07-14
Octavia R Inouye1014Brazil2025-07-11
Leon V Royster1015India2025-07-28
Ricardo R Royster1016Canada2025-07-15
Leja K Slusarski1017Germany2025-07-30
David J Malet1018India2025-07-23
Cody H Tollner1019France2025-07-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki X KuskoAustraliaStephen Shaw UNQUALIFIED
Mujtaba L PerinJapanAmy Elsner NEW
Izzy X FlosiIndiaBernardo Dominic NEW
Johnson U AmigonAustraliaAnna Fali NEGOTIATION
Munro S ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Octavia Z NickaFranceBernardo Dominic NEGOTIATION
Emily D TollnerItalyElwin Sharvill QUALIFIED
Maria S TollnerUnited KingdomXuxue Feng UNQUALIFIED
Sinclair S NickaCanadaXuxue Feng RENEWAL
Salvatore O SlusarskiCanadaIoni Bowcher NEW
Misaki Q MaletBrazilAsiya Javayant QUALIFIED
Clifford X RulapaughIndiaXuxue Feng NEW
Jones F GlickItalyAnna Fali QUALIFIED
Silvio Z VenereSpainOnyama Limba NEGOTIATION
Deepesh O WieserIndiaOnyama Limba PROPOSAL
Clifford V SergiJapanAmy Elsner UNQUALIFIED
Aruna C KolmetzAustraliaXuxue Feng PROPOSAL
David F MorascaCanadaXuxue Feng NEW
Jeanfrancois Y GillianArgentinaAnna Fali UNQUALIFIED
Aika F PaprockiItalyAnna Fali PROPOSAL
Sinclair I OstroskySpainXuxue Feng UNQUALIFIED
Johnson D KolmetzBrazilStephen Shaw UNQUALIFIED
Johnson B GillianFranceIoni Bowcher NEW
Darci G AlbaresCanadaAnna Fali PROPOSAL
James B IturbideJapanElwin Sharvill UNQUALIFIED
Faith O StensethBrazilXuxue Feng PROPOSAL
Ashley K MaletBrazilAmy Elsner QUALIFIED
Adams W KuskoGermanyAsiya Javayant QUALIFIED
Wickens M TollnerIndiaStephen Shaw NEGOTIATION
Izzy G GarufiUnited KingdomAmy Elsner NEW
Silvio E GauchoArgentinaAnna Fali NEGOTIATION
Darci G MarrierIndiaAmy Elsner UNQUALIFIED
Wickens Q StensethGermanyXuxue Feng NEW
Aruna H KuskoFranceXuxue Feng RENEWAL
Kadeem V DoeAustraliaXuxue Feng RENEWAL
Leja N MorascaItalyAmy Elsner NEGOTIATION
Faith S MaletSpainIvan Magalhaes PROPOSAL
Aruna D DoeIndiaOnyama Limba NEGOTIATION
Arvin I RulapaughJapanAnna Fali NEGOTIATION
Munro L MacleadAustraliaBernardo Dominic 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>