November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Sinclair U SlusarskiFranceXuxue Feng NEW
Maria X BologniaBrazilAnna Fali PROPOSAL
Stacey F MaletSpainIoni Bowcher RENEWAL
Silvio X GauchoAustraliaIoni Bowcher NEW
Juan Z MorascaRussiaAmy Elsner NEGOTIATION
Leon E ShinkoSpainBernardo Dominic NEGOTIATION
Munro S OldroydCanadaXuxue Feng NEW
Kadeem W StensethUnited KingdomXuxue Feng UNQUALIFIED
Antonio A OstroskyGermanyElwin Sharvill UNQUALIFIED
Chavez F OstroskyAustraliaOnyama Limba RENEWAL
Adams Z IturbideCanadaBernardo Dominic NEGOTIATION
Antonio H RulapaughCanadaStephen Shaw QUALIFIED
Alejandro U SergiUnited KingdomOnyama Limba UNQUALIFIED
Jefferson W WieserSpainOnyama Limba RENEWAL
Jeanfrancois O BriddickBrazilXuxue Feng NEW
Jennifer D VocelkaUnited KingdomAnna Fali QUALIFIED
Ricardo P RutaRussiaAsiya Javayant NEW
Faith Y StensethCanadaOnyama Limba PROPOSAL
Cody E AmigonAustraliaAnna Fali NEW
Darci P GlickBrazilIoni Bowcher NEGOTIATION
Stacey R MorascaArgentinaIvan Magalhaes NEW
Antonio W NickaFranceXuxue Feng UNQUALIFIED
Murillo P BologniaCanadaIvan Magalhaes PROPOSAL
Leon R MaletRussiaBernardo Dominic NEW
Misaki Z WieserSpainIvan Magalhaes NEW
Jennifer S GlickJapanElwin Sharvill NEGOTIATION
Arvin I SaylorsJapanIvan Magalhaes UNQUALIFIED
Murillo B SlusarskiAustraliaIoni Bowcher NEGOTIATION
Kadeem K WhobreyRussiaElwin Sharvill RENEWAL
Tony F RoysterBrazilOnyama Limba PROPOSAL
Faith P MorascaRussiaIvan Magalhaes NEW
Isabel S BologniaUnited KingdomAnna Fali NEGOTIATION
Salvatore I CaudyIndiaAnna Fali NEGOTIATION
Juan J CaldareraItalyIvan Magalhaes QUALIFIED
Costa C VenereCanadaXuxue Feng UNQUALIFIED
Chavez J StockhamCanadaStephen Shaw UNQUALIFIED
Adams P SlusarskiBrazilAnna Fali QUALIFIED
Jennifer F DoeCanadaOnyama Limba RENEWAL
Adams K MaletIndiaIoni Bowcher PROPOSAL
Clifford S ButtSpainIoni Bowcher PROPOSAL
Leon C FlosiCanadaIoni Bowcher QUALIFIED
Smith T NestleFranceStephen Shaw PROPOSAL
Greenwood Z IturbideGermanyXuxue Feng QUALIFIED
Misaki R BologniaBrazilOnyama Limba UNQUALIFIED
Jeanfrancois Z PoquetteFranceBernardo Dominic PROPOSAL
Chavez U BologniaArgentinaIoni Bowcher PROPOSAL
Aruna S FlosiJapanOnyama Limba NEW
Stacey T RutaSpainAsiya Javayant UNQUALIFIED
Smith L PaprockiCanadaAsiya Javayant QUALIFIED
Salvatore M CaudyFranceIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily J MaletBrazilAnna Fali UNQUALIFIED
Tony X GillianItalyOnyama Limba NEW
Emily G CampainItalyIvan Magalhaes RENEWAL
Murillo F MarrierJapanAsiya Javayant UNQUALIFIED
Darci X RutaIndiaAmy Elsner UNQUALIFIED
Maria C ChuiArgentinaIoni Bowcher PROPOSAL
James Y CaldareraIndiaBernardo Dominic QUALIFIED
Maisha D WaycottCanadaXuxue Feng NEGOTIATION
Izzy L KolmetzAustraliaAmy Elsner PROPOSAL
Kadeem A BologniaItalyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa J FigeroaRussia2026-10-07King, Christopher A Esq NEW6Stephen Shaw
1001Cody V GauchoGermany2026-10-09Feltz Printing Service QUALIFIED70Elwin Sharvill
1002Adams D SergiCanada2026-09-25Feiner Bros RENEWAL42Bernardo Dominic
1003Jennifer K CaudyBrazil2026-10-03Chemel, James L Cpa NEGOTIATION57Amy Elsner
1004Ivar P IturbideIndia2026-09-19Printing Dimensions UNQUALIFIED50Amy Elsner
1005Mujtaba S SaylorsGermany2026-10-16Commercial Press QUALIFIED85Xuxue Feng
1006Johnson C MarrierFrance2026-09-26Commercial Press QUALIFIED68Stephen Shaw
1007Mayumi U NickaRussia2026-10-17Dorl, James J Esq PROPOSAL13Ivan Magalhaes
1008Sinclair R SchemmerBrazil2026-10-15Feiner Bros UNQUALIFIED25Elwin Sharvill
1009Rodrigues P FollerJapan2026-10-14Dorl, James J Esq RENEWAL58Elwin Sharvill
1010Jones U AlbaresJapan2026-10-14Feltz Printing Service NEGOTIATION28Bernardo Dominic
1011Silvio G RimBrazil2026-09-21Buckley Miller Wright NEW43Xuxue Feng
1012Aruna Q NickaJapan2026-09-25Morlong Associates QUALIFIED96Onyama Limba
1013Izzy R CaldareraGermany2026-09-19King, Christopher A Esq NEW94Stephen Shaw
1014Chavez Q StockhamCanada2026-10-05Printing Dimensions NEGOTIATION6Stephen Shaw
1015Jefferson E CampainCanada2026-09-19Chapman, Ross E Esq UNQUALIFIED34Stephen Shaw
1016Faith C KolmetzBrazil2026-09-28Rousseaux, Michael Esq NEW50Bernardo Dominic
1017Kadeem I OldroydGermany2026-10-14Chapman, Ross E Esq RENEWAL54Ivan Magalhaes
1018Octavia N BowleyIndia2026-09-21Rangoni Of Florence NEW38Asiya Javayant
1019Kaitlin P WaycottFrance2026-09-30Commercial Press RENEWAL45Amy Elsner
1020Smith H BologniaUnited Kingdom2026-10-01Chapman, Ross E Esq QUALIFIED86Amy Elsner
1021Silvio H FerenczRussia2026-10-08Truhlar And Truhlar Attys PROPOSAL43Bernardo Dominic
1022Aditya I PerinRussia2026-10-12Dorl, James J Esq RENEWAL8Anna Fali
1023Smith U MaletBrazil2026-10-08Printing Dimensions NEGOTIATION20Elwin Sharvill
1024Deepesh L ShinkoRussia2026-10-09Chapman, Ross E Esq QUALIFIED74Onyama Limba
1025Stacey R GarufiBrazil2026-10-02Dorl, James J Esq NEW15Bernardo Dominic
1026Darci J GlickBrazil2026-10-14Feltz Printing Service PROPOSAL51Xuxue Feng
1027Jennifer Q BowleyFrance2026-10-15Truhlar And Truhlar Attys RENEWAL95Bernardo Dominic
1028Alejandro M GarufiItaly2026-09-23Rousseaux, Michael Esq PROPOSAL45Xuxue Feng
1029Ashley F RutaIndia2026-10-03Feiner Bros PROPOSAL33Anna Fali
1030Kadeem Y GillianArgentina2026-09-22Dorl, James J Esq NEGOTIATION19Elwin Sharvill
1031David N PerinBrazil2026-09-30Printing Dimensions PROPOSAL89Elwin Sharvill
1032Murillo C MaletCanada2026-09-25Printing Dimensions UNQUALIFIED14Anna Fali
1033Nicolas M OldroydGermany2026-10-08Rousseaux, Michael Esq NEW27Asiya Javayant
1034Mayumi F GillianCanada2026-09-25Chanay, Jeffrey A Esq RENEWAL74Elwin Sharvill
1035Leja B CaldareraIndia2026-10-03Rousseaux, Michael Esq PROPOSAL3Onyama Limba
1036David B FlosiSpain2026-10-15Benton, John B Jr PROPOSAL42Asiya Javayant
1037Adams L MaletIndia2026-09-27Morlong Associates NEGOTIATION65Amy Elsner
1038Munro N DarakjyUnited Kingdom2026-10-17Morlong Associates UNQUALIFIED94Ioni Bowcher
1039Julie V BowleyIndia2026-09-30Chemel, James L Cpa NEGOTIATION30Bernardo Dominic
1040Antonio G InouyeBrazil2026-10-14Printing Dimensions NEGOTIATION74Stephen Shaw
1041Antonio F FigeroaJapan2026-10-04Rangoni Of Florence UNQUALIFIED66Bernardo Dominic
1042Francesco G BriddickFrance2026-09-18King, Christopher A Esq QUALIFIED9Xuxue Feng
1043Stacey Q NestleUnited Kingdom2026-10-06Benton, John B Jr RENEWAL96Anna Fali
1044Claire E PaprockiAustralia2026-09-23Feltz Printing Service RENEWAL35Anna Fali
1045Jeanfrancois E CaudyGermany2026-09-18Feiner Bros NEW86Onyama Limba
1046Jefferson H FigeroaRussia2026-10-13King, Christopher A Esq QUALIFIED12Stephen Shaw
1047Aruna S KuskoRussia2026-09-30Feltz Printing Service RENEWAL84Asiya Javayant
1048Deepesh B NickaUnited Kingdom2026-09-29Chanay, Jeffrey A Esq PROPOSAL19Stephen Shaw
1049Ivar C MaletBrazil2026-10-17Printing Dimensions UNQUALIFIED58Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair L KolmetzSpainXuxue Feng RENEWAL
Sinclair D GlickFranceXuxue Feng RENEWAL
Darci A FlosiCanadaBernardo Dominic QUALIFIED
Octavia T ChuiItalyStephen Shaw NEGOTIATION
Deepesh S CaudyJapanIvan Magalhaes NEGOTIATION
Mujtaba K CaudyJapanStephen Shaw NEW
Darci Q InouyeArgentinaOnyama Limba UNQUALIFIED
Adams J ChuiAustraliaStephen Shaw NEGOTIATION
Salvatore N CampainJapanAnna Fali NEGOTIATION
Arvin C StensethItalyIoni Bowcher UNQUALIFIED
Wickens C AmigonBrazilIvan Magalhaes PROPOSAL
Aika V BologniaCanadaAsiya Javayant UNQUALIFIED
Isabel L SchemmerBrazilXuxue Feng QUALIFIED
Adams Z WaycottSpainAmy Elsner QUALIFIED
Jennifer J FlosiCanadaXuxue Feng NEW
Jefferson Z SchemmerArgentinaAsiya Javayant NEGOTIATION
Cody E RutaFranceAsiya Javayant NEW
Ivar K FlosiCanadaStephen Shaw UNQUALIFIED
Ivar I FigeroaFranceXuxue Feng UNQUALIFIED
Wickens Q WieserCanadaOnyama Limba UNQUALIFIED
David O BriddickItalyElwin Sharvill UNQUALIFIED
Costa J DoeArgentinaBernardo Dominic NEW
Jeanfrancois H PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Silvio D CampainArgentinaOnyama Limba NEGOTIATION
Faith T VocelkaGermanyStephen Shaw QUALIFIED
Jefferson U KolmetzBrazilIvan Magalhaes RENEWAL
Salvatore V GauchoSpainStephen Shaw UNQUALIFIED
Smith I GarufiGermanyAnna Fali UNQUALIFIED
Aditya G StensethBrazilOnyama Limba NEGOTIATION
Johnson Y WhobreyAustraliaXuxue Feng UNQUALIFIED
Aruna L SchemmerSpainStephen Shaw NEW
Sinclair H FigeroaFranceAnna Fali RENEWAL
Deepesh I OldroydJapanElwin Sharvill NEGOTIATION
Juan Y GarufiIndiaAsiya Javayant UNQUALIFIED
Darci K WaycottBrazilXuxue Feng UNQUALIFIED
Jeanfrancois N TollnerRussiaBernardo Dominic QUALIFIED
Deepesh Y VocelkaFranceIvan Magalhaes PROPOSAL
Isabel I RulapaughIndiaIoni Bowcher RENEWAL
Emily E StockhamAustraliaXuxue Feng QUALIFIED
Mayumi H BriddickCanadaAsiya Javayant RENEWAL
Claire S SlusarskiIndiaOnyama Limba PROPOSAL
Isabel Z SaylorsRussiaAmy Elsner RENEWAL
Ashley V OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Jones X KuskoGermanyOnyama Limba NEGOTIATION
Emily F InouyeIndiaBernardo Dominic PROPOSAL
David M NestleSpainElwin Sharvill QUALIFIED
Leon R AlbaresGermanyAmy Elsner RENEWAL
Rodrigues E MaletAustraliaOnyama Limba NEGOTIATION
Jennifer X RulapaughJapanIvan Magalhaes UNQUALIFIED
Greenwood G ButtItalyAmy Elsner QUALIFIED
Frozen Columns
Name
Cody T Venere
Wickens K Dilliard
Smith A Campain
Silvio Y Bolognia
Rodrigues V Gillian
Murillo H Chui
Rodrigues T Paprocki
Mayumi R Morasca
Maisha B Vocelka
Alejandro N Royster
Ashley M Ruta
Nicolas M Stenseth
Greenwood X Rim
James P Shinko
Misaki M Bolognia
James Z Caudy
Octavia T Rulapaugh
Izzy Y Schemmer
Claire T Marrier
Deepesh H Perin
Wickens J Gaucho
Jones U Maclead
Deepesh H Foller
Jefferson G Bolognia
Juan H Gillian
Ivar H Inouye
Darci W Foller
Sinclair P Dilliard
Leja D Marrier
Silvio U Marrier
Morrow V Malet
Alejandro S Gaucho
Jennifer E Saylors
Tony A Paprocki
Ricardo O Bowley
Nicolas R Malet
Claire K Campain
David H Ruta
Cody R Glick
Morrow S Whobrey
Murillo L Caldarera
Maria T Ferencz
Misaki F Poquette
Maria N Foller
David S Bowley
Kadeem W Nestle
Stacey Q Butt
Mujtaba N Sergi
Claire Z Tollner
Emily F Rulapaugh
IdCountryDate
1000Australia2026-10-05
1001Germany2026-09-28
1002Argentina2026-09-28
1003Germany2026-09-18
1004Japan2026-10-11
1005France2026-09-25
1006Italy2026-10-12
1007India2026-10-08
1008Germany2026-09-21
1009Germany2026-10-16
1010Japan2026-09-27
1011Japan2026-09-21
1012Argentina2026-09-18
1013Argentina2026-10-10
1014Japan2026-10-09
1015Japan2026-10-05
1016Argentina2026-10-08
1017Canada2026-09-26
1018India2026-10-06
1019Canada2026-09-30
1020France2026-09-27
1021Japan2026-09-28
1022India2026-10-08
1023United Kingdom2026-09-23
1024Italy2026-10-09
1025Brazil2026-09-24
1026Russia2026-10-05
1027Canada2026-09-25
1028Russia2026-10-02
1029Spain2026-10-15
1030France2026-09-22
1031Italy2026-09-18
1032Japan2026-10-02
1033France2026-10-07
1034India2026-09-30
1035India2026-09-18
1036Italy2026-10-12
1037Canada2026-09-24
1038Brazil2026-09-25
1039Argentina2026-10-03
1040Canada2026-10-01
1041Argentina2026-10-11
1042United Kingdom2026-10-03
1043Australia2026-09-24
1044France2026-09-22
1045India2026-09-30
1046Canada2026-10-12
1047Germany2026-09-29
1048Germany2026-10-11
1049Argentina2026-10-13

On-Demand Data

NameIdCountryDate
Johnson Z Campain1000Australia2026-09-18
Aika K Ruta1001Argentina2026-09-22
Clifford H Nestle1002Canada2026-10-08
Morrow N Paprocki1003Russia2026-09-19
Ashley H Morasca1004Japan2026-09-21
James S Albares1005Australia2026-10-03
James W Foller1006Italy2026-10-04
Murillo W Gillian1007Argentina2026-09-18
Stacey Q Caudy1008India2026-10-08
Isabel T Slusarski1009Brazil2026-09-30
Isabel S Schemmer1010India2026-10-09
Aruna H Butt1011France2026-09-20
Juan G Butt1012Canada2026-10-13
Tony S Oldroyd1013Germany2026-09-26
Murillo H Butt1014Australia2026-10-09
Maisha B Dilliard1015France2026-10-07
Chavez R Whobrey1016Germany2026-10-06
David D Malet1017Russia2026-10-16
Mujtaba W Sergi1018Brazil2026-09-24
Emily D Butt1019France2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa C MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh Q OldroydGermanyAmy Elsner QUALIFIED
Kaitlin T FerenczFranceAsiya Javayant QUALIFIED
Ashley W KolmetzFranceStephen Shaw UNQUALIFIED
Johnson J RimRussiaAmy Elsner NEW
Murillo V BowleyUnited KingdomXuxue Feng NEGOTIATION
Jefferson I SchemmerArgentinaAmy Elsner PROPOSAL
Aika D RimAustraliaElwin Sharvill UNQUALIFIED
Chavez B GillianRussiaElwin Sharvill NEGOTIATION
Emily I WieserAustraliaOnyama Limba NEGOTIATION
Costa E SlusarskiCanadaAnna Fali NEGOTIATION
Ashley C GauchoAustraliaIoni Bowcher NEW
Sinclair N FlosiArgentinaAsiya Javayant QUALIFIED
Salvatore J OldroydCanadaXuxue Feng UNQUALIFIED
Kaitlin H SaylorsBrazilIvan Magalhaes NEW
Greenwood F SchemmerIndiaStephen Shaw NEW
Faith P MacleadRussiaStephen Shaw UNQUALIFIED
Maisha S AmigonArgentinaXuxue Feng UNQUALIFIED
Julie P WaycottSpainAnna Fali NEW
Clifford Q AlbaresCanadaAsiya Javayant NEGOTIATION
Morrow X FigeroaArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois L DilliardUnited KingdomBernardo Dominic RENEWAL
Misaki L WieserGermanyOnyama Limba PROPOSAL
Murillo Y KuskoItalyStephen Shaw NEW
Mayumi W OstroskyUnited KingdomElwin Sharvill PROPOSAL
Ashley U GillianSpainOnyama Limba QUALIFIED
Isabel I OstroskyBrazilOnyama Limba UNQUALIFIED
Silvio R DarakjyBrazilXuxue Feng NEGOTIATION
Claire G SaylorsItalyAmy Elsner RENEWAL
Misaki K KuskoBrazilAmy Elsner UNQUALIFIED
Ricardo M BriddickJapanAsiya Javayant RENEWAL
Aika C FlosiGermanyElwin Sharvill PROPOSAL
Kadeem P OldroydRussiaOnyama Limba QUALIFIED
Ashley J AmigonJapanOnyama Limba QUALIFIED
Chavez S AlbaresArgentinaXuxue Feng QUALIFIED
Leon Q RoysterGermanyElwin Sharvill NEGOTIATION
Morrow S OstroskyUnited KingdomXuxue Feng QUALIFIED
Darci S FigeroaFranceAmy Elsner PROPOSAL
James L BowleyFranceBernardo Dominic QUALIFIED
Salvatore N SlusarskiIndiaAmy Elsner RENEWAL

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