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
Jones S CaudyGermanyIvan Magalhaes NEGOTIATION
Faith H VenereAustraliaElwin Sharvill PROPOSAL
Darci Q FlosiAustraliaOnyama Limba PROPOSAL
Cody S MaletBrazilOnyama Limba PROPOSAL
Izzy K PoquetteJapanXuxue Feng NEW
Maria Y BologniaSpainAsiya Javayant UNQUALIFIED
Nicolas S GlickArgentinaAsiya Javayant NEW
Leon X StensethIndiaIvan Magalhaes NEGOTIATION
Chavez P InouyeAustraliaAnna Fali NEGOTIATION
Darci Q PerinArgentinaIvan Magalhaes NEGOTIATION
Smith L StensethCanadaAnna Fali UNQUALIFIED
David Y InouyeFranceAsiya Javayant QUALIFIED
Stacey R ButtBrazilAmy Elsner PROPOSAL
Leon T VenereArgentinaBernardo Dominic PROPOSAL
Jeanfrancois C IturbideGermanyOnyama Limba NEW
Maria B ChuiCanadaAnna Fali PROPOSAL
Claire W FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Silvio P CaudyBrazilIvan Magalhaes NEGOTIATION
Emily Z MarrierAustraliaAnna Fali UNQUALIFIED
Jones H MarrierArgentinaAmy Elsner NEW
Jones Z ShinkoBrazilAsiya Javayant UNQUALIFIED
Claire Z IturbideGermanyStephen Shaw QUALIFIED
Jennifer L KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Maria M FollerBrazilAsiya Javayant PROPOSAL
Jeanfrancois E CaudyItalyXuxue Feng RENEWAL
Julie O AlbaresGermanyIvan Magalhaes NEGOTIATION
Murillo F MorascaIndiaAmy Elsner UNQUALIFIED
Arvin V RimItalyAsiya Javayant QUALIFIED
Greenwood L BriddickArgentinaAmy Elsner QUALIFIED
Kaitlin A TollnerBrazilAmy Elsner RENEWAL
Costa F TollnerUnited KingdomAnna Fali UNQUALIFIED
Ricardo K FerenczItalyXuxue Feng NEGOTIATION
Julie J VenereUnited KingdomElwin Sharvill NEGOTIATION
Maria K InouyeArgentinaXuxue Feng NEGOTIATION
Rodrigues B TollnerRussiaAsiya Javayant NEW
Salvatore M MorascaAustraliaIoni Bowcher UNQUALIFIED
Maria X WieserItalyElwin Sharvill RENEWAL
Tony Z SaylorsSpainElwin Sharvill RENEWAL
Misaki Z GauchoArgentinaIoni Bowcher NEW
Adams O OstroskyGermanyIoni Bowcher RENEWAL
Maisha M IturbideItalyIoni Bowcher NEGOTIATION
Chavez Z GauchoJapanOnyama Limba NEW
Mujtaba V GlickFranceXuxue Feng PROPOSAL
Jeanfrancois P GillianRussiaAmy Elsner RENEWAL
Isabel V SlusarskiArgentinaOnyama Limba NEGOTIATION
Isabel O StockhamCanadaOnyama Limba UNQUALIFIED
Isabel W PoquetteGermanyStephen Shaw NEW
Leon A FlosiUnited KingdomAmy Elsner QUALIFIED
Aditya F NickaRussiaStephen Shaw UNQUALIFIED
Maisha N ShinkoCanadaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer S BowleyFranceIvan Magalhaes NEGOTIATION
Johnson W SchemmerIndiaAnna Fali NEW
Emily P OstroskyAustraliaAsiya Javayant UNQUALIFIED
Salvatore X MorascaCanadaIvan Magalhaes NEW
Cody H StensethFranceAsiya Javayant NEGOTIATION
Greenwood H MaletAustraliaIoni Bowcher QUALIFIED
Ashley Q FollerArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois J BowleyFranceStephen Shaw RENEWAL
Misaki M CaldareraGermanyXuxue Feng QUALIFIED
Jeanfrancois Y WhobreyAustraliaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco L CaldareraFrance2026-09-25Truhlar And Truhlar Attys PROPOSAL38Onyama Limba
1001Johnson S SergiAustralia2026-09-14Feiner Bros UNQUALIFIED23Onyama Limba
1002Clifford S CaudyRussia2026-09-27Morlong Associates NEGOTIATION42Xuxue Feng
1003Izzy H PoquetteAustralia2026-09-17Truhlar And Truhlar Attys NEW97Anna Fali
1004Munro K KuskoSpain2026-09-18Commercial Press NEW12Xuxue Feng
1005Ivar W FigeroaBrazil2026-09-12Rousseaux, Michael Esq UNQUALIFIED24Ioni Bowcher
1006Ricardo Y CampainBrazil2026-09-15Chapman, Ross E Esq NEW65Anna Fali
1007Wickens V ShinkoSpain2026-09-14Feltz Printing Service QUALIFIED95Ivan Magalhaes
1008Isabel A TollnerItaly2026-09-13Printing Dimensions NEW82Stephen Shaw
1009Deepesh V MaletUnited Kingdom2026-10-03King, Christopher A Esq NEGOTIATION40Asiya Javayant
1010Ricardo Y SaylorsBrazil2026-09-15Truhlar And Truhlar Attys RENEWAL61Asiya Javayant
1011Deepesh H PaprockiRussia2026-10-02Chanay, Jeffrey A Esq NEGOTIATION50Asiya Javayant
1012Jefferson M BriddickBrazil2026-09-23Printing Dimensions UNQUALIFIED58Xuxue Feng
1013Silvio B ShinkoArgentina2026-09-11Rousseaux, Michael Esq UNQUALIFIED88Bernardo Dominic
1014Mujtaba R DilliardGermany2026-09-13King, Christopher A Esq NEGOTIATION36Onyama Limba
1015Cody E CaldareraUnited Kingdom2026-09-30Printing Dimensions UNQUALIFIED17Xuxue Feng
1016Smith M BologniaUnited Kingdom2026-10-01Printing Dimensions NEW63Bernardo Dominic
1017Munro B SlusarskiArgentina2026-09-27Chemel, James L Cpa PROPOSAL3Anna Fali
1018Ashley F WaycottItaly2026-09-13Benton, John B Jr PROPOSAL14Stephen Shaw
1019Claire X CaudyIndia2026-09-28Rousseaux, Michael Esq NEGOTIATION10Anna Fali
1020Silvio W RimAustralia2026-10-05Feiner Bros PROPOSAL37Ivan Magalhaes
1021Stacey W FollerSpain2026-09-29Benton, John B Jr RENEWAL81Xuxue Feng
1022Cody E BriddickCanada2026-09-28Commercial Press RENEWAL61Asiya Javayant
1023Chavez P ChuiItaly2026-10-03Truhlar And Truhlar Attys QUALIFIED46Elwin Sharvill
1024Murillo P RoysterRussia2026-09-14Truhlar And Truhlar Attys QUALIFIED25Ioni Bowcher
1025Darci T WaycottIndia2026-10-02Dorl, James J Esq PROPOSAL3Asiya Javayant
1026Maria V PaprockiCanada2026-10-03Printing Dimensions QUALIFIED73Bernardo Dominic
1027Murillo P MaletSpain2026-09-12Feiner Bros RENEWAL52Anna Fali
1028Costa F RoysterCanada2026-09-11Feltz Printing Service PROPOSAL37Ivan Magalhaes
1029Juan F TollnerSpain2026-09-10Printing Dimensions PROPOSAL98Asiya Javayant
1030Chavez N ChuiAustralia2026-09-28Morlong Associates NEW79Anna Fali
1031Kadeem Z KuskoSpain2026-09-10Chanay, Jeffrey A Esq PROPOSAL8Xuxue Feng
1032Antonio C GarufiJapan2026-09-14Dorl, James J Esq NEGOTIATION2Bernardo Dominic
1033Aditya Z DarakjyCanada2026-09-26Chanay, Jeffrey A Esq RENEWAL59Onyama Limba
1034Maria V BologniaItaly2026-09-23Commercial Press PROPOSAL14Ioni Bowcher
1035Julie H AmigonItaly2026-09-09King, Christopher A Esq NEW77Ivan Magalhaes
1036Johnson Q MacleadGermany2026-09-12Commercial Press PROPOSAL84Xuxue Feng
1037Jennifer W FerenczRussia2026-09-15Rangoni Of Florence NEGOTIATION40Onyama Limba
1038Maria T AlbaresUnited Kingdom2026-09-06Chanay, Jeffrey A Esq QUALIFIED83Ioni Bowcher
1039Kaitlin N NestleAustralia2026-09-15Chemel, James L Cpa NEGOTIATION69Bernardo Dominic
1040Munro W FollerIndia2026-09-10Buckley Miller Wright PROPOSAL30Ivan Magalhaes
1041Faith X BowleyGermany2026-09-08Chemel, James L Cpa PROPOSAL3Amy Elsner
1042Mayumi G BologniaJapan2026-09-17Feiner Bros QUALIFIED11Ioni Bowcher
1043Aditya W GarufiAustralia2026-09-13Chapman, Ross E Esq QUALIFIED33Ioni Bowcher
1044Julie F SaylorsRussia2026-10-03Chanay, Jeffrey A Esq PROPOSAL82Bernardo Dominic
1045David R ChuiAustralia2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED76Stephen Shaw
1046Octavia O WhobreyBrazil2026-09-17Truhlar And Truhlar Attys NEGOTIATION32Anna Fali
1047Claire P SergiItaly2026-10-05Chapman, Ross E Esq RENEWAL60Ioni Bowcher
1048Stacey S FlosiBrazil2026-10-02Feltz Printing Service QUALIFIED12Ivan Magalhaes
1049Ivar S AlbaresUnited Kingdom2026-09-15Feiner Bros RENEWAL82Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams D ShinkoSpainAsiya Javayant NEGOTIATION
Kadeem J StockhamBrazilStephen Shaw RENEWAL
Greenwood H GillianArgentinaAsiya Javayant UNQUALIFIED
Emily R GauchoItalyIoni Bowcher NEW
Silvio Y MorascaItalyElwin Sharvill UNQUALIFIED
Francesco S PerinFranceOnyama Limba NEW
Salvatore S StensethJapanStephen Shaw NEGOTIATION
Ashley I SergiGermanyAnna Fali NEGOTIATION
Leja I CampainBrazilAsiya Javayant UNQUALIFIED
Julie Z MaletIndiaStephen Shaw UNQUALIFIED
Tony Z WhobreyBrazilStephen Shaw NEW
Murillo Y RoysterFranceXuxue Feng NEW
Wickens T StockhamIndiaBernardo Dominic NEW
Tony D CaudyCanadaAmy Elsner NEW
Wickens A RulapaughRussiaElwin Sharvill QUALIFIED
Faith I KolmetzArgentinaElwin Sharvill NEW
Chavez W AlbaresCanadaAsiya Javayant PROPOSAL
Kadeem D DoeRussiaXuxue Feng UNQUALIFIED
Chavez H GillianItalyIoni Bowcher RENEWAL
Costa O PaprockiAustraliaIvan Magalhaes NEW
Cody Z MacleadJapanIoni Bowcher UNQUALIFIED
Darci D SergiAustraliaAsiya Javayant QUALIFIED
Deepesh Y MaletGermanyIoni Bowcher NEGOTIATION
Wickens B WaycottBrazilXuxue Feng QUALIFIED
Darci M DoeArgentinaBernardo Dominic NEGOTIATION
Mayumi F DilliardGermanyStephen Shaw UNQUALIFIED
Wickens H InouyeIndiaElwin Sharvill NEGOTIATION
David P FigeroaRussiaAsiya Javayant QUALIFIED
Misaki J OstroskyItalyIvan Magalhaes RENEWAL
Jefferson M GillianJapanElwin Sharvill NEGOTIATION
Mayumi J IturbideItalyAmy Elsner QUALIFIED
Kadeem X NickaUnited KingdomIvan Magalhaes NEGOTIATION
Maria Z VocelkaArgentinaAsiya Javayant PROPOSAL
Juan M SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Stacey M VenereCanadaIoni Bowcher QUALIFIED
James X FigeroaCanadaAsiya Javayant UNQUALIFIED
Juan Z FlosiSpainAmy Elsner NEGOTIATION
Julie F OldroydJapanStephen Shaw UNQUALIFIED
Jones P TollnerGermanyIvan Magalhaes UNQUALIFIED
Clifford S RutaFranceXuxue Feng QUALIFIED
Octavia R MaletItalyXuxue Feng UNQUALIFIED
Izzy Z IturbideItalyIoni Bowcher UNQUALIFIED
James W OstroskyGermanyXuxue Feng NEW
Silvio Z BowleyFranceBernardo Dominic RENEWAL
Murillo R RoysterJapanAsiya Javayant QUALIFIED
Faith Y GlickItalyOnyama Limba UNQUALIFIED
David M NickaRussiaElwin Sharvill PROPOSAL
David U SaylorsAustraliaIvan Magalhaes NEW
Salvatore P GarufiBrazilOnyama Limba PROPOSAL
Juan O PerinUnited KingdomIoni Bowcher PROPOSAL
Frozen Columns
Name
Juan F Kusko
Johnson J Venere
Francesco W Bolognia
Leon T Waycott
Jennifer Q Garufi
Jeanfrancois Z Bolognia
Johnson V Kusko
Misaki K Glick
Maisha K Darakjy
Emily C Schemmer
Tony U Figeroa
Ashley F Nicka
Alejandro C Paprocki
Ashley W Maclead
Octavia G Ostrosky
Jones U Venere
Jeanfrancois D Sergi
Claire D Venere
Antonio G Briddick
Ashley U Royster
Arvin N Saylors
Deepesh D Ostrosky
Jones M Albares
Deepesh C Doe
Octavia D Kusko
Murillo U Flosi
Juan P Figeroa
Francesco H Morasca
Juan V Albares
Clifford Q Wieser
Rodrigues Y Doe
Deepesh E Schemmer
Rodrigues F Amigon
Murillo V Morasca
Jeanfrancois X Malet
Jones S Foller
Maria K Gaucho
Darci H Chui
Jennifer V Kusko
Julie O Bowley
Jennifer Q Oldroyd
Nicolas G Perin
Salvatore T Kusko
Claire A Ferencz
Adams P Kolmetz
Jeanfrancois B Malet
Nicolas R Oldroyd
Clifford F Waycott
Rodrigues E Shinko
Salvatore I Venere
IdCountryDate
1000Japan2026-09-14
1001Australia2026-09-23
1002Canada2026-09-19
1003India2026-09-14
1004Germany2026-09-08
1005United Kingdom2026-09-11
1006Brazil2026-09-11
1007Spain2026-09-08
1008Brazil2026-09-12
1009Canada2026-10-04
1010India2026-09-11
1011Japan2026-09-25
1012Australia2026-09-28
1013Germany2026-09-13
1014Australia2026-10-02
1015Brazil2026-10-03
1016Canada2026-09-20
1017Japan2026-09-12
1018Spain2026-09-20
1019Spain2026-09-25
1020United Kingdom2026-09-19
1021Canada2026-09-10
1022Australia2026-09-20
1023Argentina2026-09-23
1024Spain2026-09-26
1025United Kingdom2026-09-17
1026United Kingdom2026-09-22
1027Australia2026-09-21
1028Russia2026-09-22
1029Spain2026-09-24
1030Italy2026-10-04
1031Germany2026-09-10
1032Brazil2026-09-28
1033Germany2026-10-03
1034Argentina2026-09-17
1035Japan2026-09-06
1036United Kingdom2026-09-28
1037Canada2026-09-15
1038Australia2026-09-09
1039United Kingdom2026-09-20
1040France2026-09-20
1041Argentina2026-09-17
1042Argentina2026-09-19
1043Canada2026-09-27
1044Spain2026-09-14
1045United Kingdom2026-09-17
1046Australia2026-09-24
1047Italy2026-09-13
1048Germany2026-09-25
1049Argentina2026-09-26

On-Demand Data

NameIdCountryDate
Deepesh Y Wieser1000India2026-09-14
Maria J Foller1001India2026-09-20
Maria K Waycott1002India2026-09-14
Smith N Nicka1003Canada2026-09-06
Arvin B Figeroa1004Australia2026-09-14
Maisha R Ruta1005Russia2026-09-25
Isabel L Shinko1006Argentina2026-09-27
Aditya I Morasca1007Italy2026-09-12
Ashley X Wieser1008Spain2026-09-12
Nicolas T Shinko1009Japan2026-10-04
Darci U Bowley1010France2026-09-24
Sinclair Z Glick1011United Kingdom2026-09-16
Kaitlin J Poquette1012Italy2026-09-08
Adams I Bowley1013Brazil2026-09-26
David J Bolognia1014United Kingdom2026-09-06
Tony U Kolmetz1015India2026-09-08
Maisha D Kolmetz1016Argentina2026-09-28
Johnson E Kolmetz1017Japan2026-10-01
Antonio J Poquette1018Argentina2026-10-02
James G Oldroyd1019Germany2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Z AlbaresSpainIvan Magalhaes QUALIFIED
Salvatore L RulapaughCanadaElwin Sharvill QUALIFIED
Jeanfrancois Y DoeSpainAnna Fali RENEWAL
Leon M PerinFranceAnna Fali RENEWAL
Leja L VenereUnited KingdomXuxue Feng RENEWAL
Kadeem L GlickJapanStephen Shaw PROPOSAL
Leon Z OldroydJapanIvan Magalhaes NEGOTIATION
Chavez H MarrierRussiaBernardo Dominic NEGOTIATION
David H SchemmerGermanyElwin Sharvill PROPOSAL
David K FigeroaJapanAsiya Javayant NEGOTIATION
Ricardo E MorascaGermanyStephen Shaw NEGOTIATION
Jones B StensethItalyAnna Fali NEW
Rodrigues Y FerenczCanadaIoni Bowcher QUALIFIED
Deepesh K StockhamAustraliaAmy Elsner NEW
Francesco Y MaletRussiaBernardo Dominic QUALIFIED
Morrow X MarrierRussiaAnna Fali PROPOSAL
Costa F FlosiArgentinaBernardo Dominic NEW
Faith S PerinIndiaStephen Shaw PROPOSAL
David G FerenczGermanyOnyama Limba NEW
Maisha M OstroskySpainAsiya Javayant RENEWAL
Chavez Q AlbaresSpainStephen Shaw RENEWAL
Ashley V InouyeIndiaAsiya Javayant PROPOSAL
Deepesh L IturbideBrazilAmy Elsner NEGOTIATION
Sinclair V CaldareraArgentinaAsiya Javayant RENEWAL
Costa P OldroydBrazilIvan Magalhaes NEW
Costa B CaldareraUnited KingdomElwin Sharvill QUALIFIED
Ricardo J PoquetteJapanAnna Fali NEGOTIATION
Silvio T FollerBrazilIoni Bowcher NEGOTIATION
Misaki C OldroydGermanyXuxue Feng NEGOTIATION
Faith K MaletArgentinaAnna Fali NEGOTIATION
Emily O ChuiSpainIvan Magalhaes PROPOSAL
Morrow D CaudyRussiaAsiya Javayant QUALIFIED
Ivar O RoysterJapanIvan Magalhaes PROPOSAL
Clifford S ShinkoJapanXuxue Feng QUALIFIED
Ivar J DilliardBrazilOnyama Limba RENEWAL
Maisha C WieserCanadaAmy Elsner PROPOSAL
Salvatore N DoeSpainAsiya Javayant RENEWAL
Sinclair T StensethRussiaAnna Fali QUALIFIED
Leon I OstroskyFranceOnyama Limba NEGOTIATION
Alejandro R ButtSpainStephen 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>