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
Aruna U InouyeCanadaIoni Bowcher RENEWAL
Johnson Y BriddickItalyIoni Bowcher PROPOSAL
Silvio L MacleadSpainIoni Bowcher UNQUALIFIED
Maisha S FollerGermanyIvan Magalhaes UNQUALIFIED
Julie S WieserSpainXuxue Feng NEGOTIATION
Johnson T RimBrazilStephen Shaw QUALIFIED
Silvio X SlusarskiBrazilStephen Shaw PROPOSAL
Rodrigues J GauchoArgentinaElwin Sharvill QUALIFIED
Arvin F RoysterUnited KingdomBernardo Dominic RENEWAL
Wickens G VocelkaSpainXuxue Feng UNQUALIFIED
Kaitlin F FollerGermanyXuxue Feng PROPOSAL
Salvatore C RimJapanAnna Fali RENEWAL
Nicolas U DarakjyArgentinaOnyama Limba UNQUALIFIED
Maria T PerinFranceIvan Magalhaes NEGOTIATION
Ivar D GlickRussiaAmy Elsner NEW
Leon Y BowleyIndiaIvan Magalhaes PROPOSAL
Stacey A ShinkoJapanIvan Magalhaes NEGOTIATION
Greenwood C RulapaughAustraliaOnyama Limba NEW
Greenwood F ShinkoIndiaAmy Elsner NEGOTIATION
Jefferson F VocelkaSpainAmy Elsner RENEWAL
Jones M CaldareraBrazilAsiya Javayant RENEWAL
Izzy H GauchoSpainAnna Fali RENEWAL
Ashley P BowleyArgentinaAsiya Javayant QUALIFIED
Chavez B FollerCanadaBernardo Dominic QUALIFIED
Faith G WhobreyArgentinaIoni Bowcher QUALIFIED
Claire K ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Munro X MaletAustraliaAmy Elsner NEW
Silvio R SergiUnited KingdomElwin Sharvill NEW
Munro W CaudyGermanyAnna Fali QUALIFIED
Kadeem B ChuiSpainAsiya Javayant QUALIFIED
Stacey Q AlbaresIndiaAnna Fali PROPOSAL
Deepesh B PaprockiBrazilAnna Fali NEW
Clifford A StockhamJapanAmy Elsner QUALIFIED
Salvatore S MaletAustraliaAmy Elsner PROPOSAL
Murillo C GauchoIndiaAnna Fali NEW
Deepesh G PoquetteGermanyStephen Shaw NEW
Sinclair U ChuiIndiaAsiya Javayant RENEWAL
Adams W KuskoFranceAsiya Javayant PROPOSAL
Aruna A PerinAustraliaElwin Sharvill RENEWAL
Johnson O RutaItalyAnna Fali PROPOSAL
Ricardo G VenereCanadaAnna Fali NEGOTIATION
Antonio W SchemmerBrazilElwin Sharvill RENEWAL
Tony P DarakjyFranceOnyama Limba QUALIFIED
Adams P RutaItalyAnna Fali QUALIFIED
Octavia T MaletGermanyAsiya Javayant QUALIFIED
Maria H FlosiAustraliaStephen Shaw UNQUALIFIED
Claire N ButtCanadaXuxue Feng NEW
Kaitlin V GillianFranceBernardo Dominic NEW
Adams F FlosiCanadaElwin Sharvill RENEWAL
Jeanfrancois Y ChuiJapanAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Octavia I AlbaresFranceBernardo Dominic QUALIFIED
Rodrigues V ChuiArgentinaStephen Shaw RENEWAL
Ricardo K FerenczJapanAnna Fali QUALIFIED
Johnson A PoquetteJapanAmy Elsner UNQUALIFIED
Ricardo J GauchoFranceStephen Shaw NEGOTIATION
Tony H WhobreyJapanXuxue Feng PROPOSAL
Claire Z PerinArgentinaBernardo Dominic QUALIFIED
Mujtaba W FerenczUnited KingdomStephen Shaw NEGOTIATION
Mayumi Z FigeroaGermanyOnyama Limba RENEWAL
Sinclair K AlbaresBrazilAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas Z PoquetteUnited Kingdom2025-07-15Rangoni Of Florence NEW29Asiya Javayant
1001Maria K CampainItaly2025-07-23Morlong Associates UNQUALIFIED46Asiya Javayant
1002Morrow M GarufiFrance2025-07-17Dorl, James J Esq NEGOTIATION37Ioni Bowcher
1003Aruna F RulapaughUnited Kingdom2025-07-21Chapman, Ross E Esq QUALIFIED73Asiya Javayant
1004Morrow G AlbaresIndia2025-07-09Buckley Miller Wright NEW35Ioni Bowcher
1005Antonio G MacleadCanada2025-07-25Benton, John B Jr NEW64Xuxue Feng
1006Ricardo M PaprockiJapan2025-07-20Truhlar And Truhlar Attys RENEWAL27Anna Fali
1007Aditya T VenereFrance2025-07-18Dorl, James J Esq PROPOSAL94Anna Fali
1008Smith W CaudyItaly2025-07-27Printing Dimensions UNQUALIFIED41Bernardo Dominic
1009Jones W AlbaresFrance2025-07-10Truhlar And Truhlar Attys UNQUALIFIED73Bernardo Dominic
1010Alejandro V NickaSpain2025-07-15Rangoni Of Florence NEW61Ioni Bowcher
1011Adams N InouyeUnited Kingdom2025-07-17Feltz Printing Service PROPOSAL27Asiya Javayant
1012Johnson H ButtItaly2025-07-31King, Christopher A Esq RENEWAL31Elwin Sharvill
1013Jennifer Z StockhamUnited Kingdom2025-07-30Printing Dimensions RENEWAL87Anna Fali
1014Nicolas Y RutaBrazil2025-07-09Feltz Printing Service NEW81Asiya Javayant
1015Mayumi B RutaAustralia2025-07-23Truhlar And Truhlar Attys NEW18Ivan Magalhaes
1016Stacey W PerinSpain2025-07-18King, Christopher A Esq QUALIFIED77Onyama Limba
1017Francesco W RulapaughIndia2025-07-07Benton, John B Jr QUALIFIED40Asiya Javayant
1018Octavia K GauchoArgentina2025-07-09Buckley Miller Wright QUALIFIED26Bernardo Dominic
1019Julie Q SlusarskiArgentina2025-07-13Benton, John B Jr QUALIFIED87Ioni Bowcher
1020Aruna I DoeCanada2025-07-07Truhlar And Truhlar Attys NEW80Amy Elsner
1021Jones K IturbideBrazil2025-07-12Rousseaux, Michael Esq PROPOSAL85Elwin Sharvill
1022Juan I CaldareraAustralia2025-08-02Chemel, James L Cpa UNQUALIFIED79Asiya Javayant
1023Chavez N GillianFrance2025-07-16Chemel, James L Cpa UNQUALIFIED89Xuxue Feng
1024Ivar V AmigonJapan2025-07-14Dorl, James J Esq QUALIFIED62Stephen Shaw
1025Misaki Y ButtBrazil2025-07-24King, Christopher A Esq QUALIFIED93Xuxue Feng
1026Morrow B MacleadRussia2025-07-10Feiner Bros PROPOSAL29Onyama Limba
1027Tony M CaudyAustralia2025-07-15Chanay, Jeffrey A Esq QUALIFIED98Ivan Magalhaes
1028Sinclair C SchemmerCanada2025-07-30Chanay, Jeffrey A Esq QUALIFIED90Xuxue Feng
1029Salvatore L IturbideArgentina2025-07-22Commercial Press UNQUALIFIED24Asiya Javayant
1030Jennifer A GauchoSpain2025-07-25Chemel, James L Cpa NEW84Anna Fali
1031Deepesh U BriddickGermany2025-07-11Chapman, Ross E Esq PROPOSAL64Xuxue Feng
1032Cody U AlbaresAustralia2025-07-30Morlong Associates UNQUALIFIED41Anna Fali
1033Maisha W PoquetteJapan2025-08-01Dorl, James J Esq PROPOSAL10Ioni Bowcher
1034Costa H KuskoGermany2025-07-29Benton, John B Jr RENEWAL66Elwin Sharvill
1035Claire H FigeroaFrance2025-07-08Benton, John B Jr NEW31Ivan Magalhaes
1036Jeanfrancois A RoysterArgentina2025-07-18Truhlar And Truhlar Attys PROPOSAL8Ivan Magalhaes
1037Kaitlin M OstroskyGermany2025-08-03Dorl, James J Esq UNQUALIFIED55Anna Fali
1038Murillo W FlosiIndia2025-08-03Rangoni Of Florence QUALIFIED85Xuxue Feng
1039Ricardo W StockhamRussia2025-07-21Feiner Bros PROPOSAL5Amy Elsner
1040Jennifer C RimRussia2025-07-26Chemel, James L Cpa NEGOTIATION73Xuxue Feng
1041Mayumi V ButtCanada2025-07-24Buckley Miller Wright QUALIFIED58Xuxue Feng
1042Jones F DoeIndia2025-07-20Dorl, James J Esq UNQUALIFIED21Ivan Magalhaes
1043Antonio B WieserIndia2025-07-08Truhlar And Truhlar Attys NEW25Amy Elsner
1044David R AlbaresItaly2025-07-25Commercial Press UNQUALIFIED78Bernardo Dominic
1045Leja O AmigonUnited Kingdom2025-07-10Commercial Press UNQUALIFIED47Anna Fali
1046Mayumi D FerenczJapan2025-07-31Buckley Miller Wright RENEWAL26Bernardo Dominic
1047Greenwood I CampainFrance2025-07-30Chanay, Jeffrey A Esq NEGOTIATION16Ioni Bowcher
1048Ivar G PoquetteGermany2025-07-30Morlong Associates NEGOTIATION70Bernardo Dominic
1049Aditya X OldroydArgentina2025-07-16Chapman, Ross E Esq RENEWAL86Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jefferson P SlusarskiItalyIvan Magalhaes NEW
Aika T FigeroaRussiaBernardo Dominic QUALIFIED
Sinclair Z TollnerItalyAmy Elsner NEW
Julie B BriddickGermanyAmy Elsner QUALIFIED
Jefferson Q PaprockiFranceAnna Fali UNQUALIFIED
Izzy E MaletAustraliaOnyama Limba PROPOSAL
Munro T SergiUnited KingdomIoni Bowcher RENEWAL
Jefferson M GarufiSpainStephen Shaw QUALIFIED
Isabel W WhobreyItalyIvan Magalhaes UNQUALIFIED
Morrow Z MorascaFranceOnyama Limba PROPOSAL
Stacey O MarrierAustraliaAmy Elsner NEGOTIATION
Mayumi B CaudyGermanyIoni Bowcher QUALIFIED
Rodrigues F PaprockiBrazilOnyama Limba UNQUALIFIED
Jeanfrancois A MaletRussiaElwin Sharvill NEW
Greenwood O GillianCanadaOnyama Limba NEGOTIATION
Claire J BowleyRussiaAmy Elsner RENEWAL
Claire T ShinkoItalyOnyama Limba UNQUALIFIED
Francesco J InouyeCanadaIvan Magalhaes RENEWAL
Morrow X PaprockiRussiaIvan Magalhaes PROPOSAL
Silvio I WhobreyAustraliaAsiya Javayant UNQUALIFIED
Isabel O SchemmerCanadaAnna Fali NEW
Ashley G SaylorsGermanyOnyama Limba UNQUALIFIED
Costa X WaycottGermanyXuxue Feng UNQUALIFIED
Aruna K WaycottJapanXuxue Feng NEGOTIATION
Julie I MacleadFranceAsiya Javayant NEGOTIATION
Wickens E RimGermanyXuxue Feng NEW
Aditya W SaylorsSpainStephen Shaw NEW
Nicolas X NickaItalyXuxue Feng NEGOTIATION
Costa X FerenczItalyAmy Elsner QUALIFIED
Jennifer L VocelkaBrazilAmy Elsner NEW
Isabel X TollnerItalyXuxue Feng NEGOTIATION
Silvio B CampainFranceOnyama Limba NEW
Jeanfrancois W IturbideCanadaAmy Elsner NEW
Isabel G OstroskyCanadaOnyama Limba PROPOSAL
Wickens D AmigonArgentinaOnyama Limba PROPOSAL
Leon H InouyeRussiaAsiya Javayant NEGOTIATION
Clifford V NickaRussiaIoni Bowcher UNQUALIFIED
Ricardo W PerinBrazilStephen Shaw PROPOSAL
Leja I OldroydIndiaAsiya Javayant NEW
Aditya E BriddickSpainOnyama Limba QUALIFIED
Alejandro Q ShinkoJapanElwin Sharvill RENEWAL
Morrow R KolmetzJapanOnyama Limba PROPOSAL
Clifford R GauchoRussiaElwin Sharvill NEW
Wickens I DarakjyItalyBernardo Dominic RENEWAL
Maisha L TollnerItalyStephen Shaw NEGOTIATION
Jennifer G IturbideIndiaIvan Magalhaes RENEWAL
Kaitlin A PerinItalyIvan Magalhaes PROPOSAL
Aruna Q GillianBrazilBernardo Dominic PROPOSAL
Jennifer I RutaFranceBernardo Dominic QUALIFIED
Jeanfrancois O WieserArgentinaAmy Elsner QUALIFIED
Frozen Columns
Name
Cody B Caudy
Mujtaba H Iturbide
Julie W Doe
Faith I Sergi
Leon F Caldarera
Leon P Gaucho
Faith Y Butt
Munro Q Saylors
Smith Z Butt
Munro A Kolmetz
Tony A Figeroa
Ashley J Butt
Maria T Rulapaugh
Leon G Dilliard
Mujtaba D Kusko
Ivar R Inouye
Aika F Saylors
Chavez W Flosi
Aika L Venere
Leja N Butt
Leon S Waycott
Leja O Maclead
Munro L Figeroa
Leja L Schemmer
Izzy L Schemmer
Johnson C Inouye
Rodrigues U Caudy
Aditya T Venere
Ricardo X Dilliard
Deepesh I Caldarera
Julie M Glick
Mujtaba Y Paprocki
Johnson R Saylors
Antonio E Garufi
Jeanfrancois D Slusarski
Rodrigues V Garufi
Ashley I Rim
Julie K Nestle
Arvin T Albares
Octavia I Saylors
Leon Q Foller
Arvin G Poquette
Murillo K Briddick
Jones H Waycott
Salvatore Y Caldarera
Ashley K Ruta
Jefferson F Foller
Murillo N Garufi
Isabel T Nicka
Ivar X Slusarski
IdCountryDate
1000Australia2025-08-03
1001India2025-07-25
1002Germany2025-07-26
1003France2025-08-04
1004Argentina2025-07-22
1005United Kingdom2025-07-15
1006Japan2025-08-02
1007United Kingdom2025-07-14
1008Argentina2025-08-02
1009Russia2025-07-14
1010Italy2025-07-31
1011Canada2025-08-01
1012Russia2025-08-02
1013Australia2025-07-17
1014Italy2025-07-11
1015Spain2025-07-20
1016Australia2025-07-27
1017United Kingdom2025-07-11
1018United Kingdom2025-07-09
1019Spain2025-07-10
1020Italy2025-07-13
1021France2025-08-03
1022Italy2025-07-13
1023Germany2025-07-28
1024Australia2025-07-06
1025Italy2025-07-08
1026Australia2025-07-21
1027Germany2025-08-04
1028Australia2025-08-03
1029Japan2025-08-04
1030Japan2025-07-30
1031Spain2025-07-30
1032Spain2025-07-18
1033Japan2025-07-19
1034Italy2025-07-26
1035Canada2025-07-08
1036Japan2025-07-30
1037France2025-08-02
1038India2025-07-11
1039Australia2025-07-16
1040Russia2025-07-14
1041France2025-07-17
1042Japan2025-07-15
1043Brazil2025-07-07
1044Canada2025-07-30
1045Japan2025-07-26
1046Italy2025-07-20
1047France2025-08-03
1048Brazil2025-07-27
1049Japan2025-07-18

On-Demand Data

NameIdCountryDate
Smith S Nestle1000Germany2025-08-02
Murillo V Darakjy1001Russia2025-07-28
Jones Z Maclead1002Australia2025-07-08
Isabel A Tollner1003Japan2025-07-25
Rodrigues H Nestle1004Brazil2025-07-26
Jones W Slusarski1005Italy2025-08-04
Costa B Vocelka1006Spain2025-07-12
Octavia L Caudy1007Italy2025-08-04
Johnson G Amigon1008Russia2025-07-25
Clifford L Amigon1009Germany2025-07-30
Salvatore S Malet1010Canada2025-07-17
Jeanfrancois G Paprocki1011Brazil2025-07-22
Costa R Shinko1012Japan2025-07-16
Emily T Maclead1013Japan2025-07-15
Rodrigues R Wieser1014Spain2025-07-27
Maisha A Albares1015Canada2025-07-21
Leon C Garufi1016France2025-07-23
Kadeem Y Campain1017Argentina2025-07-26
Leja H Schemmer1018United Kingdom2025-07-17
Johnson G Perin1019Argentina2025-07-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy W RoysterIndiaAsiya Javayant UNQUALIFIED
Julie J RulapaughBrazilAsiya Javayant UNQUALIFIED
Munro R SchemmerSpainAnna Fali UNQUALIFIED
Mayumi H DarakjyIndiaAnna Fali NEW
Murillo L DarakjyGermanyOnyama Limba QUALIFIED
Aruna D ShinkoUnited KingdomIoni Bowcher NEW
Claire X ShinkoJapanIvan Magalhaes UNQUALIFIED
Murillo Y VocelkaFranceElwin Sharvill PROPOSAL
Francesco V CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Mayumi A RulapaughSpainIoni Bowcher QUALIFIED
Smith P GarufiSpainAsiya Javayant UNQUALIFIED
Chavez L SchemmerJapanAmy Elsner NEGOTIATION
Jones T VocelkaCanadaAmy Elsner PROPOSAL
Kaitlin L GauchoAustraliaIoni Bowcher RENEWAL
Francesco D FigeroaFranceElwin Sharvill UNQUALIFIED
Johnson S OldroydArgentinaOnyama Limba RENEWAL
Izzy K AlbaresSpainIoni Bowcher NEW
Murillo B DoeAustraliaIvan Magalhaes RENEWAL
Ashley F GlickAustraliaXuxue Feng PROPOSAL
Ivar Q GlickUnited KingdomIoni Bowcher NEGOTIATION
Claire P WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Arvin P RoysterJapanAnna Fali UNQUALIFIED
Rodrigues B DilliardFranceAnna Fali NEW
Leja P FollerCanadaIoni Bowcher QUALIFIED
Leon G GlickUnited KingdomAnna Fali NEW
Chavez Q SaylorsIndiaStephen Shaw PROPOSAL
Emily U CaudyCanadaIvan Magalhaes QUALIFIED
Darci X ChuiAustraliaStephen Shaw NEW
Jones S AlbaresGermanyAsiya Javayant PROPOSAL
Nicolas U DilliardFranceOnyama Limba PROPOSAL
Jeanfrancois J FlosiUnited KingdomStephen Shaw RENEWAL
Maisha S FigeroaBrazilAnna Fali NEW
Costa Y ShinkoFranceIoni Bowcher NEGOTIATION
Wickens V CaudyBrazilXuxue Feng QUALIFIED
Arvin L PaprockiItalyIvan Magalhaes RENEWAL
Rodrigues Q FlosiItalyAsiya Javayant QUALIFIED
Izzy H MacleadJapanAnna Fali NEGOTIATION
Claire I BowleyFranceOnyama Limba UNQUALIFIED
Ivar X ShinkoAustraliaElwin Sharvill QUALIFIED
Deepesh Q AlbaresCanadaBernardo Dominic NEW

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