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
Salvatore B IturbideArgentinaXuxue Feng PROPOSAL
Chavez V NickaItalyAsiya Javayant QUALIFIED
Costa U BologniaGermanyElwin Sharvill RENEWAL
Munro J IturbideRussiaBernardo Dominic NEW
Leja T WhobreyAustraliaXuxue Feng NEGOTIATION
Munro M FerenczIndiaOnyama Limba RENEWAL
Jefferson J WhobreyItalyOnyama Limba NEGOTIATION
Faith O MarrierGermanyAnna Fali NEGOTIATION
Isabel U GillianGermanyIvan Magalhaes NEGOTIATION
Johnson Z PaprockiItalyIvan Magalhaes NEW
Sinclair G FerenczIndiaAnna Fali PROPOSAL
Morrow U RoysterAustraliaIoni Bowcher NEGOTIATION
Stacey L StensethIndiaXuxue Feng NEGOTIATION
Deepesh C VocelkaBrazilAnna Fali QUALIFIED
Juan K DarakjyGermanyAmy Elsner RENEWAL
Ricardo S PerinCanadaAmy Elsner NEW
Claire J VenereAustraliaStephen Shaw RENEWAL
Aika X BriddickItalyIvan Magalhaes UNQUALIFIED
Clifford O SchemmerItalyIvan Magalhaes QUALIFIED
Stacey P CaldareraAustraliaIvan Magalhaes QUALIFIED
Jones W ButtGermanyIvan Magalhaes NEGOTIATION
Faith E RimIndiaAsiya Javayant NEW
Ashley Q FlosiIndiaStephen Shaw PROPOSAL
Ivar L NickaRussiaAmy Elsner NEGOTIATION
Costa P WhobreyBrazilXuxue Feng PROPOSAL
Isabel T DoeCanadaAnna Fali QUALIFIED
Darci X KuskoArgentinaOnyama Limba NEGOTIATION
Maisha T MorascaArgentinaAmy Elsner NEGOTIATION
Ashley U PerinJapanAmy Elsner RENEWAL
Aditya X GauchoCanadaAnna Fali PROPOSAL
Aika Z FigeroaCanadaOnyama Limba RENEWAL
Deepesh R NestleCanadaIvan Magalhaes PROPOSAL
Alejandro S SergiBrazilOnyama Limba RENEWAL
Chavez U KuskoGermanyXuxue Feng UNQUALIFIED
Faith G BowleyBrazilOnyama Limba RENEWAL
Clifford C CaldareraJapanXuxue Feng UNQUALIFIED
Silvio Q OldroydBrazilOnyama Limba QUALIFIED
Clifford B RulapaughBrazilBernardo Dominic PROPOSAL
Rodrigues K BowleyFranceIvan Magalhaes RENEWAL
Jefferson Z IturbideAustraliaXuxue Feng NEW
Costa U GarufiItalyElwin Sharvill RENEWAL
Greenwood Z KolmetzGermanyIvan Magalhaes RENEWAL
Adams S OldroydItalyIvan Magalhaes PROPOSAL
Nicolas X IturbideCanadaStephen Shaw UNQUALIFIED
Darci J RimCanadaBernardo Dominic NEW
Maria Y StockhamSpainStephen Shaw QUALIFIED
Antonio K DilliardIndiaAmy Elsner NEW
Aruna U ButtRussiaStephen Shaw RENEWAL
Salvatore M MaletArgentinaAmy Elsner UNQUALIFIED
Jeanfrancois A WhobreyIndiaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo K CaudyItalyXuxue Feng NEW
Munro B FlosiSpainIoni Bowcher RENEWAL
James K VenereJapanAnna Fali PROPOSAL
Jeanfrancois Y KuskoItalyIvan Magalhaes PROPOSAL
Izzy D CampainBrazilXuxue Feng RENEWAL
Johnson U RutaAustraliaElwin Sharvill NEW
Leon T RutaJapanBernardo Dominic UNQUALIFIED
James C RutaUnited KingdomOnyama Limba NEW
Aruna T SchemmerCanadaAmy Elsner NEW
Cody L RulapaughSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David J KuskoSpain2025-10-15Feltz Printing Service NEW94Ioni Bowcher
1001Faith Q StockhamItaly2025-09-26Rousseaux, Michael Esq RENEWAL75Asiya Javayant
1002Izzy E BriddickUnited Kingdom2025-09-25Rousseaux, Michael Esq PROPOSAL70Elwin Sharvill
1003Johnson N ShinkoGermany2025-09-27Feiner Bros RENEWAL96Onyama Limba
1004Ivar K NestleRussia2025-10-04Rangoni Of Florence QUALIFIED51Anna Fali
1005Adams T RutaJapan2025-09-26Chanay, Jeffrey A Esq NEW32Bernardo Dominic
1006Rodrigues Z FerenczAustralia2025-09-22King, Christopher A Esq RENEWAL30Ivan Magalhaes
1007Rodrigues M KolmetzJapan2025-09-21Rousseaux, Michael Esq NEGOTIATION43Bernardo Dominic
1008Costa T StockhamRussia2025-10-10Rousseaux, Michael Esq QUALIFIED18Amy Elsner
1009Munro D MorascaIndia2025-09-21Commercial Press RENEWAL84Onyama Limba
1010Munro T AmigonBrazil2025-10-08Dorl, James J Esq RENEWAL48Bernardo Dominic
1011Morrow R VenereAustralia2025-10-04Printing Dimensions NEGOTIATION92Stephen Shaw
1012Adams R KuskoBrazil2025-09-24Dorl, James J Esq NEGOTIATION30Ivan Magalhaes
1013Johnson I GarufiBrazil2025-09-22Rousseaux, Michael Esq QUALIFIED41Amy Elsner
1014Antonio X StockhamSpain2025-09-20Printing Dimensions QUALIFIED45Stephen Shaw
1015Mayumi K RoysterBrazil2025-10-07Dorl, James J Esq NEGOTIATION5Xuxue Feng
1016Izzy K BowleyArgentina2025-09-26Printing Dimensions PROPOSAL95Elwin Sharvill
1017Sinclair D WieserIndia2025-09-23Commercial Press RENEWAL59Stephen Shaw
1018Mujtaba K KolmetzAustralia2025-10-15Chanay, Jeffrey A Esq UNQUALIFIED60Asiya Javayant
1019Juan I FollerRussia2025-10-12Buckley Miller Wright RENEWAL22Xuxue Feng
1020Darci J GarufiItaly2025-10-17Truhlar And Truhlar Attys NEW18Elwin Sharvill
1021Mayumi K WhobreyBrazil2025-10-19Chapman, Ross E Esq RENEWAL50Anna Fali
1022Claire G MacleadGermany2025-10-14King, Christopher A Esq NEGOTIATION43Ivan Magalhaes
1023James I StensethArgentina2025-10-10Morlong Associates NEGOTIATION44Stephen Shaw
1024Aika X SchemmerAustralia2025-10-13Dorl, James J Esq PROPOSAL6Ioni Bowcher
1025Juan T FollerJapan2025-09-25Commercial Press RENEWAL18Bernardo Dominic
1026Costa Z FollerJapan2025-09-21Commercial Press NEGOTIATION0Xuxue Feng
1027Arvin D PerinJapan2025-09-22King, Christopher A Esq UNQUALIFIED13Xuxue Feng
1028Jennifer D KuskoJapan2025-10-11Dorl, James J Esq RENEWAL7Bernardo Dominic
1029Ricardo I OldroydIndia2025-09-24Truhlar And Truhlar Attys RENEWAL5Onyama Limba
1030Octavia R IturbideFrance2025-10-06Rousseaux, Michael Esq NEW65Asiya Javayant
1031Jefferson N BriddickBrazil2025-09-24Buckley Miller Wright NEGOTIATION30Elwin Sharvill
1032Jefferson T MaletFrance2025-10-16Truhlar And Truhlar Attys QUALIFIED44Onyama Limba
1033Antonio V MarrierJapan2025-09-29Dorl, James J Esq QUALIFIED89Onyama Limba
1034Isabel V GillianIndia2025-09-22Feiner Bros UNQUALIFIED32Ivan Magalhaes
1035Maisha O MarrierAustralia2025-10-17King, Christopher A Esq NEW3Onyama Limba
1036Arvin S FollerGermany2025-09-25Commercial Press RENEWAL33Ivan Magalhaes
1037Morrow S BologniaUnited Kingdom2025-10-07Morlong Associates PROPOSAL85Xuxue Feng
1038Jefferson F InouyeItaly2025-10-01King, Christopher A Esq NEW30Bernardo Dominic
1039Deepesh Q OstroskyUnited Kingdom2025-10-05Benton, John B Jr PROPOSAL31Bernardo Dominic
1040Rodrigues A BologniaIndia2025-10-09Rangoni Of Florence RENEWAL90Xuxue Feng
1041Francesco P BowleyFrance2025-10-02Dorl, James J Esq UNQUALIFIED64Stephen Shaw
1042Deepesh O RoysterFrance2025-10-13Benton, John B Jr UNQUALIFIED74Asiya Javayant
1043Chavez M OstroskyCanada2025-10-12Buckley Miller Wright NEW80Ivan Magalhaes
1044Emily P CaudyArgentina2025-10-09Chanay, Jeffrey A Esq NEGOTIATION31Xuxue Feng
1045Darci I MaletBrazil2025-09-30Chanay, Jeffrey A Esq NEGOTIATION75Ivan Magalhaes
1046Cody N KuskoCanada2025-10-08Benton, John B Jr PROPOSAL74Bernardo Dominic
1047Jones J InouyeItaly2025-09-28Chemel, James L Cpa NEW25Bernardo Dominic
1048Kadeem H OldroydGermany2025-10-19Morlong Associates UNQUALIFIED1Xuxue Feng
1049Faith E ShinkoGermany2025-10-03Feiner Bros NEW15Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Tony I FigeroaJapanBernardo Dominic QUALIFIED
Morrow B DilliardItalyAnna Fali NEGOTIATION
Aika Q IturbideUnited KingdomAnna Fali RENEWAL
Jefferson F OstroskySpainAnna Fali NEW
Silvio E DarakjyJapanIoni Bowcher NEW
Isabel X GlickGermanyAnna Fali RENEWAL
Stacey M AlbaresIndiaBernardo Dominic NEGOTIATION
Jefferson E MaletCanadaElwin Sharvill RENEWAL
Jeanfrancois L KuskoIndiaBernardo Dominic UNQUALIFIED
Aruna V SlusarskiBrazilIoni Bowcher UNQUALIFIED
Antonio U DoeJapanStephen Shaw UNQUALIFIED
Smith Q GarufiGermanyAsiya Javayant UNQUALIFIED
Misaki V RutaGermanyStephen Shaw QUALIFIED
Kaitlin D StensethFranceAmy Elsner PROPOSAL
Kadeem Z KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Ivar Z SlusarskiFranceIoni Bowcher NEGOTIATION
Costa S GauchoUnited KingdomIoni Bowcher PROPOSAL
Mujtaba M WhobreyArgentinaAmy Elsner RENEWAL
Salvatore R ShinkoUnited KingdomIoni Bowcher PROPOSAL
Chavez L StockhamItalyAsiya Javayant QUALIFIED
Leja X NickaCanadaOnyama Limba QUALIFIED
Jefferson K NickaSpainStephen Shaw QUALIFIED
Kadeem W GlickFranceIoni Bowcher RENEWAL
Ivar S WaycottBrazilAsiya Javayant UNQUALIFIED
Adams E AlbaresRussiaOnyama Limba NEGOTIATION
Emily V SlusarskiJapanBernardo Dominic NEGOTIATION
Adams O NestleArgentinaAsiya Javayant RENEWAL
Ashley R NickaFranceIvan Magalhaes RENEWAL
Aditya T TollnerRussiaIoni Bowcher QUALIFIED
Claire D NestleUnited KingdomIvan Magalhaes QUALIFIED
Antonio X FollerGermanyStephen Shaw NEW
Aditya H PoquetteCanadaOnyama Limba QUALIFIED
Clifford H FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Arvin A PerinRussiaStephen Shaw RENEWAL
Costa B SchemmerJapanXuxue Feng RENEWAL
Emily N MaletGermanyIoni Bowcher QUALIFIED
Ricardo N CaudyJapanStephen Shaw NEW
Ivar J PoquetteJapanOnyama Limba RENEWAL
Salvatore P SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin I DilliardItalyElwin Sharvill UNQUALIFIED
Kaitlin S ButtBrazilIvan Magalhaes NEW
Munro D BowleyRussiaElwin Sharvill UNQUALIFIED
Mujtaba B CampainBrazilBernardo Dominic NEGOTIATION
Leon I OstroskyItalyAmy Elsner NEW
Munro G CampainRussiaAsiya Javayant UNQUALIFIED
Smith Z MacleadBrazilIoni Bowcher NEGOTIATION
Chavez R AmigonJapanIvan Magalhaes PROPOSAL
James A AlbaresIndiaXuxue Feng UNQUALIFIED
Cody W StockhamFranceAsiya Javayant PROPOSAL
Misaki A BologniaIndiaStephen Shaw NEW
Frozen Columns
Name
Jones Q Vocelka
Kadeem O Flosi
Kaitlin I Waycott
Jones E Slusarski
Misaki X Malet
Ricardo K Schemmer
Munro L Flosi
Wickens E Dilliard
Nicolas K Rulapaugh
Jeanfrancois B Paprocki
Munro E Campain
Alejandro D Perin
Johnson C Tollner
Jefferson B Sergi
Maisha M Rim
Chavez H Gillian
Ivar U Foller
Arvin X Slusarski
Octavia H Bowley
Francesco J Doe
Ricardo I Shinko
Morrow U Schemmer
Salvatore W Gillian
Darci H Garufi
Claire F Amigon
Clifford Y Slusarski
Smith R Morasca
Silvio X Rulapaugh
Morrow L Amigon
Nicolas U Gillian
Adams Z Ruta
Mayumi L Maclead
Jennifer O Paprocki
Mujtaba U Rim
Aditya F Waycott
Munro S Kolmetz
Nicolas H Malet
Ivar A Wieser
Wickens E Morasca
Jones N Schemmer
Rodrigues R Stenseth
Ivar C Gillian
Emily J Darakjy
Darci P Gillian
Jones P Poquette
Francesco S Shinko
Isabel L Venere
Mujtaba S Royster
Cody R Maclead
Octavia C Caldarera
IdCountryDate
1000Argentina2025-09-24
1001Russia2025-10-04
1002Italy2025-10-19
1003Germany2025-09-23
1004Japan2025-10-04
1005France2025-10-06
1006India2025-10-06
1007Germany2025-10-11
1008Japan2025-09-28
1009India2025-10-05
1010Japan2025-10-12
1011Italy2025-10-13
1012United Kingdom2025-09-28
1013Brazil2025-09-29
1014Spain2025-09-27
1015France2025-10-17
1016Argentina2025-09-28
1017Spain2025-10-01
1018United Kingdom2025-09-21
1019Canada2025-10-02
1020Spain2025-09-30
1021Australia2025-10-13
1022Italy2025-09-23
1023Japan2025-09-27
1024Japan2025-10-17
1025Argentina2025-10-05
1026Australia2025-09-23
1027Germany2025-10-15
1028Russia2025-09-30
1029France2025-10-08
1030Russia2025-10-03
1031India2025-10-07
1032Italy2025-09-23
1033Brazil2025-10-09
1034India2025-09-26
1035Brazil2025-10-04
1036France2025-10-09
1037Russia2025-10-08
1038Australia2025-10-05
1039Brazil2025-10-01
1040Japan2025-10-16
1041Argentina2025-10-07
1042France2025-09-20
1043Australia2025-10-06
1044United Kingdom2025-10-19
1045Argentina2025-10-01
1046Russia2025-10-16
1047India2025-10-05
1048Italy2025-09-22
1049Germany2025-10-19

On-Demand Data

NameIdCountryDate
Munro Q Ferencz1000Japan2025-09-26
Maisha R Nestle1001United Kingdom2025-10-13
Leon C Darakjy1002United Kingdom2025-10-18
Maria M Figeroa1003Russia2025-10-04
Kaitlin X Sergi1004Brazil2025-10-14
Juan U Venere1005Canada2025-10-01
Greenwood K Rim1006France2025-10-06
Juan I Nestle1007France2025-09-24
Ricardo D Whobrey1008India2025-10-16
Kaitlin I Malet1009Brazil2025-10-19
Juan B Chui1010Argentina2025-10-07
Chavez D Shinko1011Spain2025-09-25
Jennifer Q Stockham1012Spain2025-10-17
James D Saylors1013Spain2025-09-26
Izzy L Marrier1014Argentina2025-09-27
Munro L Stockham1015Canada2025-10-04
Tony S Saylors1016Spain2025-10-13
Leon I Kolmetz1017India2025-10-14
Leja L Morasca1018Canada2025-10-17
Aika X Sergi1019United Kingdom2025-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody J MarrierIndiaXuxue Feng UNQUALIFIED
Juan Q FigeroaRussiaElwin Sharvill NEW
Jennifer B SaylorsItalyOnyama Limba UNQUALIFIED
Jennifer K BowleyCanadaAmy Elsner NEGOTIATION
Faith T StensethItalyOnyama Limba PROPOSAL
Adams Y FigeroaIndiaAnna Fali NEGOTIATION
Leon D MorascaArgentinaStephen Shaw NEGOTIATION
Salvatore Q DilliardUnited KingdomIoni Bowcher NEW
Nicolas J SlusarskiUnited KingdomElwin Sharvill NEW
Mujtaba A MorascaCanadaBernardo Dominic UNQUALIFIED
Deepesh V FigeroaRussiaElwin Sharvill RENEWAL
Juan R SlusarskiBrazilElwin Sharvill UNQUALIFIED
Stacey H WhobreyIndiaBernardo Dominic NEW
Kadeem T KolmetzIndiaIvan Magalhaes RENEWAL
Kaitlin K WieserAustraliaXuxue Feng NEW
Deepesh L StensethItalyBernardo Dominic UNQUALIFIED
Murillo X InouyeIndiaElwin Sharvill UNQUALIFIED
Smith G SchemmerArgentinaXuxue Feng RENEWAL
Morrow P SaylorsFranceBernardo Dominic QUALIFIED
Adams C RoysterRussiaAmy Elsner RENEWAL
Costa V MorascaBrazilIvan Magalhaes RENEWAL
Cody F VenereJapanStephen Shaw NEW
Octavia B GlickUnited KingdomIvan Magalhaes NEW
Clifford H BologniaUnited KingdomAnna Fali UNQUALIFIED
Juan C PerinIndiaIoni Bowcher QUALIFIED
Jefferson N IturbideGermanyAmy Elsner PROPOSAL
Maria S IturbideArgentinaAsiya Javayant RENEWAL
Claire W GauchoJapanIoni Bowcher UNQUALIFIED
Mayumi B VenereGermanyXuxue Feng NEGOTIATION
Juan V SaylorsCanadaAnna Fali NEW
Francesco O MaletIndiaAnna Fali UNQUALIFIED
Greenwood T MacleadItalyIvan Magalhaes PROPOSAL
Kaitlin N TollnerFranceAmy Elsner NEW
Jeanfrancois T RimCanadaOnyama Limba UNQUALIFIED
Murillo R ButtFranceIoni Bowcher NEGOTIATION
Antonio V ShinkoBrazilIoni Bowcher QUALIFIED
Adams W WieserFranceOnyama Limba RENEWAL
Greenwood L OldroydFranceAmy Elsner QUALIFIED
Alejandro X ShinkoRussiaElwin Sharvill NEW
Salvatore A InouyeSpainIoni Bowcher 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>