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
Smith F WieserArgentinaIvan Magalhaes NEW
Aika H FerenczIndiaIvan Magalhaes UNQUALIFIED
Greenwood W StensethUnited KingdomOnyama Limba RENEWAL
Maisha B StockhamIndiaIoni Bowcher RENEWAL
Chavez L KolmetzSpainElwin Sharvill NEGOTIATION
Mayumi I VenereFranceOnyama Limba QUALIFIED
Izzy P RoysterAustraliaAmy Elsner QUALIFIED
Mayumi A RimRussiaStephen Shaw PROPOSAL
Aruna W PerinItalyOnyama Limba NEGOTIATION
Leon W AmigonCanadaAsiya Javayant NEGOTIATION
Julie X MarrierBrazilBernardo Dominic NEW
Arvin Z SlusarskiAustraliaElwin Sharvill RENEWAL
Sinclair G RulapaughArgentinaAsiya Javayant UNQUALIFIED
Ashley Y BologniaFranceAsiya Javayant UNQUALIFIED
Sinclair M FollerJapanAnna Fali QUALIFIED
Kaitlin H SlusarskiIndiaStephen Shaw RENEWAL
Wickens I PoquetteItalyBernardo Dominic UNQUALIFIED
Maria B DoeItalyIoni Bowcher PROPOSAL
Salvatore X PoquetteBrazilAmy Elsner PROPOSAL
Antonio Y ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Chavez Y VocelkaItalyIvan Magalhaes NEW
Sinclair T FollerBrazilIvan Magalhaes NEW
Aruna U SchemmerUnited KingdomOnyama Limba RENEWAL
Aruna S SaylorsGermanyIoni Bowcher NEW
Rodrigues B SlusarskiUnited KingdomAnna Fali QUALIFIED
Silvio P AlbaresFranceIvan Magalhaes UNQUALIFIED
Jones H SlusarskiBrazilElwin Sharvill RENEWAL
Mayumi A MaletFranceAnna Fali NEGOTIATION
Morrow I SergiIndiaIoni Bowcher UNQUALIFIED
Stacey L DoeAustraliaAnna Fali NEW
Jones D DarakjyGermanyXuxue Feng RENEWAL
David U MaletAustraliaAnna Fali NEGOTIATION
Wickens D ChuiUnited KingdomBernardo Dominic RENEWAL
Jones K GauchoGermanyBernardo Dominic PROPOSAL
Tony I SaylorsCanadaAnna Fali NEGOTIATION
Munro X PaprockiRussiaXuxue Feng NEGOTIATION
Kadeem N AmigonArgentinaIvan Magalhaes NEGOTIATION
David U CampainJapanAmy Elsner QUALIFIED
Mujtaba M RutaAustraliaIoni Bowcher NEGOTIATION
Emily I FollerGermanyXuxue Feng PROPOSAL
Adams I OstroskyIndiaIoni Bowcher PROPOSAL
Leja N VenereItalyAmy Elsner NEGOTIATION
Mujtaba B WieserAustraliaBernardo Dominic QUALIFIED
Nicolas L RimArgentinaAmy Elsner UNQUALIFIED
Nicolas O FlosiSpainAnna Fali UNQUALIFIED
Alejandro W ButtSpainBernardo Dominic UNQUALIFIED
Deepesh U VocelkaUnited KingdomStephen Shaw PROPOSAL
Murillo O SergiSpainIoni Bowcher QUALIFIED
James C OldroydSpainElwin Sharvill QUALIFIED
Morrow B DoeJapanAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair R AmigonCanadaAsiya Javayant UNQUALIFIED
Clifford F DarakjyArgentinaStephen Shaw RENEWAL
Francesco N CaudyUnited KingdomXuxue Feng QUALIFIED
Leon H SaylorsJapanBernardo Dominic RENEWAL
Mayumi I FollerGermanyBernardo Dominic NEW
Julie B CaldareraIndiaIvan Magalhaes QUALIFIED
Murillo F TollnerRussiaAsiya Javayant RENEWAL
Faith Y WaycottCanadaAnna Fali NEW
Deepesh D AlbaresArgentinaXuxue Feng NEGOTIATION
Jones N FerenczRussiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin R MaletBrazil2025-07-27Dorl, James J Esq NEW93Bernardo Dominic
1001Nicolas O WaycottSpain2025-08-01Dorl, James J Esq NEW20Xuxue Feng
1002Jones K NickaAustralia2025-07-22Buckley Miller Wright RENEWAL63Onyama Limba
1003Arvin P NestleSpain2025-08-07Commercial Press UNQUALIFIED74Xuxue Feng
1004Aika U RimIndia2025-08-12Feiner Bros RENEWAL62Ivan Magalhaes
1005Murillo B BologniaRussia2025-08-02King, Christopher A Esq QUALIFIED25Amy Elsner
1006Ricardo D WaycottIndia2025-07-23King, Christopher A Esq NEW95Ioni Bowcher
1007Johnson E BowleyRussia2025-08-02Dorl, James J Esq NEGOTIATION46Ivan Magalhaes
1008Aika H FigeroaItaly2025-08-02Chanay, Jeffrey A Esq QUALIFIED5Asiya Javayant
1009Ivar A InouyeSpain2025-07-25King, Christopher A Esq RENEWAL13Ioni Bowcher
1010Tony S NickaJapan2025-07-27Chemel, James L Cpa RENEWAL64Stephen Shaw
1011Octavia M IturbideGermany2025-07-20Dorl, James J Esq NEGOTIATION81Onyama Limba
1012Salvatore M KolmetzIndia2025-07-22Feltz Printing Service PROPOSAL55Xuxue Feng
1013Smith C MaletJapan2025-08-01Benton, John B Jr UNQUALIFIED13Ivan Magalhaes
1014Kaitlin Z MaletUnited Kingdom2025-07-30Rousseaux, Michael Esq UNQUALIFIED99Ivan Magalhaes
1015Jones K DoeCanada2025-07-30Printing Dimensions NEGOTIATION29Amy Elsner
1016Nicolas V WhobreyUnited Kingdom2025-07-17Buckley Miller Wright UNQUALIFIED42Amy Elsner
1017Chavez B KolmetzJapan2025-07-28Commercial Press QUALIFIED73Asiya Javayant
1018Julie D PoquetteAustralia2025-08-08Chanay, Jeffrey A Esq NEGOTIATION23Anna Fali
1019Maria U MacleadRussia2025-08-08Morlong Associates UNQUALIFIED81Ioni Bowcher
1020Tony U CaldareraArgentina2025-08-03King, Christopher A Esq NEW0Stephen Shaw
1021Arvin D GarufiArgentina2025-07-20Printing Dimensions PROPOSAL52Anna Fali
1022Aruna Y SlusarskiGermany2025-08-12Truhlar And Truhlar Attys QUALIFIED58Xuxue Feng
1023Clifford J WhobreyIndia2025-08-02Feltz Printing Service NEGOTIATION63Onyama Limba
1024Murillo E BriddickIndia2025-07-29Chemel, James L Cpa UNQUALIFIED17Onyama Limba
1025Aditya M MacleadGermany2025-07-31Chemel, James L Cpa UNQUALIFIED6Bernardo Dominic
1026Jennifer Q KuskoRussia2025-08-12Chemel, James L Cpa QUALIFIED95Asiya Javayant
1027Isabel G VocelkaAustralia2025-07-21Benton, John B Jr RENEWAL50Asiya Javayant
1028Leja B InouyeIndia2025-07-17Morlong Associates NEGOTIATION35Onyama Limba
1029Mayumi H BowleyCanada2025-08-04Feltz Printing Service PROPOSAL84Asiya Javayant
1030Alejandro J ChuiArgentina2025-07-17Dorl, James J Esq RENEWAL70Bernardo Dominic
1031Darci F AlbaresJapan2025-08-07Benton, John B Jr UNQUALIFIED40Stephen Shaw
1032Greenwood R BowleyBrazil2025-07-28Commercial Press UNQUALIFIED82Bernardo Dominic
1033Leja W WieserIndia2025-07-22Commercial Press NEW95Anna Fali
1034Misaki J RulapaughCanada2025-07-19Benton, John B Jr PROPOSAL15Asiya Javayant
1035Tony C RimIndia2025-07-31Commercial Press NEGOTIATION1Bernardo Dominic
1036Misaki I ChuiCanada2025-07-21Chanay, Jeffrey A Esq PROPOSAL43Ivan Magalhaes
1037Maisha A SaylorsBrazil2025-07-17Rangoni Of Florence RENEWAL99Amy Elsner
1038Kadeem M VocelkaAustralia2025-07-22Dorl, James J Esq RENEWAL18Anna Fali
1039Ivar M TollnerArgentina2025-07-25Dorl, James J Esq PROPOSAL21Amy Elsner
1040Octavia M NickaAustralia2025-07-18Dorl, James J Esq NEW45Xuxue Feng
1041Wickens Q MarrierBrazil2025-08-12Chanay, Jeffrey A Esq NEW85Ivan Magalhaes
1042Ashley O FerenczAustralia2025-07-16Commercial Press NEGOTIATION91Ioni Bowcher
1043Ashley B RimFrance2025-07-24Morlong Associates PROPOSAL28Anna Fali
1044Mujtaba O BologniaUnited Kingdom2025-07-24Chanay, Jeffrey A Esq UNQUALIFIED61Anna Fali
1045Greenwood E TollnerSpain2025-08-11Benton, John B Jr NEGOTIATION9Ivan Magalhaes
1046Jennifer A StockhamSpain2025-07-19Feiner Bros RENEWAL90Ioni Bowcher
1047Smith U RulapaughItaly2025-07-24Dorl, James J Esq NEW88Asiya Javayant
1048James M RulapaughAustralia2025-07-31Chapman, Ross E Esq NEGOTIATION32Anna Fali
1049Stacey K VenereBrazil2025-07-26Feltz Printing Service PROPOSAL22Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Greenwood R MaletCanadaAmy Elsner UNQUALIFIED
Clifford N DoeRussiaXuxue Feng UNQUALIFIED
Salvatore S VocelkaGermanyOnyama Limba NEW
Emily Q RimUnited KingdomIvan Magalhaes QUALIFIED
Clifford X VocelkaRussiaBernardo Dominic PROPOSAL
Juan I DilliardItalyIoni Bowcher NEW
Leja V InouyeCanadaAmy Elsner UNQUALIFIED
Kadeem G SaylorsIndiaIoni Bowcher PROPOSAL
Ashley X FerenczGermanyStephen Shaw PROPOSAL
Misaki Q NestleBrazilElwin Sharvill RENEWAL
Emily C GillianJapanStephen Shaw NEGOTIATION
Chavez Q GauchoAustraliaAnna Fali NEW
Ricardo J RulapaughItalyElwin Sharvill RENEWAL
David W AlbaresUnited KingdomStephen Shaw RENEWAL
David D ButtArgentinaAsiya Javayant PROPOSAL
Kaitlin V RulapaughGermanyAnna Fali PROPOSAL
Morrow O BologniaJapanBernardo Dominic UNQUALIFIED
Maisha C RimItalyXuxue Feng PROPOSAL
Silvio I ShinkoRussiaAsiya Javayant NEW
Cody X SaylorsArgentinaBernardo Dominic QUALIFIED
Costa T BologniaIndiaAnna Fali PROPOSAL
Maisha D DarakjyRussiaStephen Shaw UNQUALIFIED
Jefferson B IturbideGermanyElwin Sharvill RENEWAL
Adams G GillianUnited KingdomIvan Magalhaes NEW
Emily W MacleadFranceAsiya Javayant UNQUALIFIED
Maisha S NickaBrazilAmy Elsner QUALIFIED
Murillo T WieserSpainIoni Bowcher UNQUALIFIED
Greenwood N KolmetzBrazilStephen Shaw RENEWAL
Stacey A OstroskyIndiaElwin Sharvill UNQUALIFIED
Antonio R KuskoSpainOnyama Limba NEW
Tony W RimGermanyAsiya Javayant PROPOSAL
Jeanfrancois Q SaylorsIndiaAsiya Javayant UNQUALIFIED
Nicolas W VocelkaJapanAmy Elsner UNQUALIFIED
Maisha P KuskoCanadaIvan Magalhaes UNQUALIFIED
Ashley L FollerUnited KingdomOnyama Limba NEGOTIATION
Ivar X GlickGermanyIvan Magalhaes RENEWAL
Salvatore Q BologniaSpainXuxue Feng NEW
Cody G RoysterArgentinaXuxue Feng UNQUALIFIED
Ricardo E BriddickJapanElwin Sharvill RENEWAL
Jeanfrancois Z OldroydAustraliaIvan Magalhaes UNQUALIFIED
Adams B PerinFranceStephen Shaw NEGOTIATION
Wickens H OldroydGermanyAmy Elsner QUALIFIED
Silvio I SlusarskiItalyXuxue Feng NEGOTIATION
Ricardo Q SchemmerCanadaBernardo Dominic UNQUALIFIED
Isabel J MaletFranceStephen Shaw RENEWAL
Silvio E IturbideFranceElwin Sharvill RENEWAL
Ashley D RulapaughGermanyStephen Shaw UNQUALIFIED
Alejandro O BologniaBrazilAmy Elsner QUALIFIED
Cody U ButtGermanyBernardo Dominic NEGOTIATION
Ricardo G WaycottBrazilOnyama Limba NEGOTIATION
Frozen Columns
Name
Wickens H Gaucho
Leja C Glick
Rodrigues S Malet
Aruna U Darakjy
Johnson Y Amigon
Stacey E Waycott
Adams Q Saylors
Francesco F Perin
Leon A Rulapaugh
Chavez M Doe
Johnson Z Bolognia
Juan S Ferencz
Claire L Kolmetz
Jefferson C Paprocki
Juan C Shinko
Johnson O Albares
Jeanfrancois Y Rim
Morrow Y Perin
Misaki V Whobrey
Izzy Y Nestle
Clifford A Campain
Isabel V Gaucho
David T Stockham
Jones C Stenseth
Greenwood I Sergi
Jones G Bowley
Smith R Iturbide
Jeanfrancois B Darakjy
Stacey G Ostrosky
Jeanfrancois V Foller
Maisha R Figeroa
Francesco T Darakjy
Murillo R Flosi
Ivar A Kusko
Jefferson P Nicka
Mujtaba O Morasca
Munro Z Sergi
Aika Z Caudy
Jones C Albares
Aruna O Venere
Maria F Malet
Clifford F Oldroyd
Julie M Kusko
Jefferson K Schemmer
Wickens G Poquette
Clifford Q Foller
Jones N Gillian
Murillo C Morasca
Faith U Caldarera
Munro V Nicka
IdCountryDate
1000Italy2025-07-25
1001Italy2025-07-18
1002Spain2025-07-31
1003Germany2025-07-26
1004Canada2025-08-09
1005Argentina2025-07-30
1006Australia2025-08-03
1007Italy2025-07-27
1008Russia2025-07-22
1009France2025-08-01
1010India2025-07-29
1011Canada2025-07-31
1012Argentina2025-07-30
1013Germany2025-07-19
1014Argentina2025-07-31
1015Italy2025-08-09
1016Canada2025-08-04
1017Germany2025-08-12
1018Spain2025-08-03
1019Japan2025-08-04
1020Italy2025-08-02
1021Brazil2025-07-24
1022Russia2025-07-22
1023India2025-07-27
1024Spain2025-07-17
1025Australia2025-07-29
1026India2025-07-18
1027Germany2025-07-22
1028Germany2025-07-25
1029Spain2025-07-27
1030Argentina2025-08-08
1031Italy2025-08-10
1032France2025-07-26
1033Germany2025-07-16
1034India2025-07-31
1035France2025-08-06
1036Canada2025-07-15
1037Spain2025-07-22
1038Brazil2025-07-23
1039Australia2025-07-22
1040Canada2025-07-22
1041Japan2025-07-16
1042Italy2025-07-29
1043Germany2025-08-10
1044Australia2025-07-21
1045Brazil2025-07-24
1046Russia2025-07-17
1047Japan2025-07-30
1048Russia2025-08-11
1049Canada2025-08-01

On-Demand Data

NameIdCountryDate
Juan T Figeroa1000Italy2025-07-30
Munro P Morasca1001India2025-07-29
Sinclair U Malet1002Italy2025-08-04
Cody B Dilliard1003Germany2025-08-09
Faith H Waycott1004Australia2025-07-26
Jefferson Z Sergi1005United Kingdom2025-08-02
Isabel R Tollner1006Italy2025-07-17
Sinclair N Caldarera1007France2025-07-16
Ricardo H Malet1008France2025-07-31
Jones I Caudy1009Germany2025-08-06
Kadeem N Stenseth1010United Kingdom2025-07-23
Leja W Garufi1011Germany2025-08-13
Mujtaba Q Oldroyd1012Australia2025-07-25
Clifford I Kolmetz1013Germany2025-08-06
Leon N Garufi1014France2025-08-08
Faith S Albares1015Canada2025-07-23
Wickens S Ruta1016Spain2025-07-16
Smith I Saylors1017France2025-08-07
Kaitlin C Nestle1018Germany2025-07-21
Francesco O Sergi1019France2025-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens U SergiIndiaAsiya Javayant NEGOTIATION
Aika Z FollerIndiaBernardo Dominic NEW
Munro Z CampainJapanAsiya Javayant UNQUALIFIED
Munro V CaldareraArgentinaAmy Elsner NEGOTIATION
Clifford T SaylorsSpainIvan Magalhaes NEW
Antonio C ChuiJapanAnna Fali UNQUALIFIED
Mujtaba C WieserAustraliaAmy Elsner NEW
Jeanfrancois F KolmetzRussiaAsiya Javayant RENEWAL
Tony F DarakjyGermanyOnyama Limba QUALIFIED
Julie Y MaletItalyElwin Sharvill UNQUALIFIED
James T RoysterItalyXuxue Feng QUALIFIED
Ashley I WaycottBrazilOnyama Limba UNQUALIFIED
Jones X GlickArgentinaBernardo Dominic QUALIFIED
Tony O BriddickItalyAmy Elsner NEGOTIATION
Murillo K IturbideBrazilElwin Sharvill QUALIFIED
Faith T RoysterIndiaAmy Elsner NEGOTIATION
Costa D AmigonSpainXuxue Feng NEGOTIATION
Antonio N StockhamIndiaOnyama Limba QUALIFIED
Stacey A CampainCanadaIoni Bowcher PROPOSAL
Aruna T KolmetzSpainIvan Magalhaes NEW
Octavia L BriddickFranceStephen Shaw RENEWAL
David S AlbaresSpainBernardo Dominic UNQUALIFIED
Jeanfrancois N GlickSpainAsiya Javayant RENEWAL
Kaitlin T NickaBrazilIvan Magalhaes NEGOTIATION
Sinclair G OldroydFranceXuxue Feng PROPOSAL
Alejandro T PaprockiAustraliaIoni Bowcher RENEWAL
Silvio D InouyeGermanyXuxue Feng NEGOTIATION
Deepesh H GarufiUnited KingdomAnna Fali RENEWAL
Adams V AlbaresSpainAnna Fali NEW
Wickens F KuskoSpainBernardo Dominic QUALIFIED
Aruna F SergiGermanyIoni Bowcher PROPOSAL
Octavia Z GlickUnited KingdomIoni Bowcher NEW
Aika U MarrierIndiaStephen Shaw NEW
Emily T IturbideJapanAnna Fali RENEWAL
Mayumi E PerinIndiaStephen Shaw UNQUALIFIED
Juan E FollerGermanyIoni Bowcher NEW
Salvatore X KolmetzSpainBernardo Dominic NEW
Alejandro F CaudyItalyBernardo Dominic UNQUALIFIED
Aditya N NickaUnited KingdomBernardo Dominic NEW
Ivar Z OldroydArgentinaStephen Shaw QUALIFIED

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