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
Salvatore U DilliardRussiaBernardo Dominic NEW
Aika E StockhamAustraliaXuxue Feng UNQUALIFIED
Jefferson P FigeroaAustraliaBernardo Dominic RENEWAL
Maisha P GauchoItalyBernardo Dominic NEGOTIATION
Jones C SaylorsJapanIvan Magalhaes PROPOSAL
Francesco K ShinkoBrazilIoni Bowcher QUALIFIED
Mujtaba F CaudyRussiaOnyama Limba RENEWAL
Aditya S StensethJapanStephen Shaw NEW
Emily X GlickIndiaBernardo Dominic NEGOTIATION
Johnson E ChuiArgentinaIoni Bowcher QUALIFIED
Francesco D BriddickGermanyAnna Fali QUALIFIED
Alejandro Q DilliardCanadaIvan Magalhaes PROPOSAL
Juan F BowleyFranceBernardo Dominic QUALIFIED
Jefferson G KolmetzJapanStephen Shaw PROPOSAL
Mayumi N FollerSpainStephen Shaw QUALIFIED
Greenwood K GarufiFranceBernardo Dominic PROPOSAL
Izzy D GlickArgentinaOnyama Limba NEGOTIATION
Arvin F NestleSpainStephen Shaw UNQUALIFIED
Aika G BriddickBrazilIvan Magalhaes NEGOTIATION
Kadeem W DilliardAustraliaAnna Fali UNQUALIFIED
Adams W GarufiItalyStephen Shaw RENEWAL
Aditya S FigeroaFranceIvan Magalhaes PROPOSAL
David G SlusarskiRussiaAnna Fali NEGOTIATION
Leon F CaldareraArgentinaOnyama Limba UNQUALIFIED
Sinclair K TollnerItalyBernardo Dominic UNQUALIFIED
Emily J PerinCanadaElwin Sharvill NEW
Alejandro Z OldroydCanadaIoni Bowcher PROPOSAL
Ivar I WhobreyUnited KingdomStephen Shaw RENEWAL
Antonio S RutaSpainXuxue Feng RENEWAL
Sinclair E OldroydIndiaElwin Sharvill PROPOSAL
Maisha W SergiIndiaBernardo Dominic PROPOSAL
Munro Q GarufiCanadaStephen Shaw NEW
Aditya T DarakjyGermanyElwin Sharvill PROPOSAL
Wickens M FlosiRussiaXuxue Feng NEW
Arvin R ShinkoItalyIoni Bowcher QUALIFIED
Aditya X RimJapanStephen Shaw QUALIFIED
Smith W PaprockiItalyOnyama Limba UNQUALIFIED
Mujtaba M CaldareraSpainAsiya Javayant PROPOSAL
James O KuskoJapanBernardo Dominic NEGOTIATION
Emily Q FerenczArgentinaIvan Magalhaes NEGOTIATION
Johnson F SaylorsGermanyElwin Sharvill NEW
James D GarufiCanadaElwin Sharvill RENEWAL
Misaki K MacleadArgentinaStephen Shaw NEW
Munro E OldroydCanadaIoni Bowcher QUALIFIED
Smith U MacleadUnited KingdomXuxue Feng RENEWAL
Murillo X OldroydRussiaXuxue Feng QUALIFIED
Misaki E OstroskyJapanBernardo Dominic UNQUALIFIED
Johnson Z FerenczJapanAsiya Javayant RENEWAL
Morrow G DilliardJapanBernardo Dominic UNQUALIFIED
Morrow H FerenczSpainElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Misaki U GillianBrazilIvan Magalhaes RENEWAL
Ivar J IturbideRussiaAsiya Javayant QUALIFIED
Silvio K MorascaItalyAsiya Javayant PROPOSAL
Smith I KuskoItalyAmy Elsner NEW
Ricardo A BowleySpainElwin Sharvill QUALIFIED
Jennifer V RulapaughArgentinaIoni Bowcher PROPOSAL
Salvatore K GarufiJapanStephen Shaw RENEWAL
Alejandro J SaylorsJapanAsiya Javayant QUALIFIED
Francesco Y BologniaRussiaAmy Elsner PROPOSAL
Kaitlin B VocelkaArgentinaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones V GlickGermany2026-09-23King, Christopher A Esq NEGOTIATION93Stephen Shaw
1001Jones I VenereItaly2026-09-11Chemel, James L Cpa UNQUALIFIED30Elwin Sharvill
1002Maria V RulapaughAustralia2026-09-04Chemel, James L Cpa PROPOSAL16Onyama Limba
1003James C IturbideJapan2026-09-22Truhlar And Truhlar Attys RENEWAL70Amy Elsner
1004Aruna U FigeroaIndia2026-09-11King, Christopher A Esq PROPOSAL33Elwin Sharvill
1005Isabel Y PerinAustralia2026-08-31Feltz Printing Service QUALIFIED53Anna Fali
1006Francesco L BologniaAustralia2026-09-08Commercial Press RENEWAL11Ivan Magalhaes
1007Aika Q BriddickAustralia2026-09-22Buckley Miller Wright RENEWAL1Amy Elsner
1008Jones S CaudyAustralia2026-09-13Dorl, James J Esq NEW12Onyama Limba
1009Alejandro A PoquetteArgentina2026-09-19Rousseaux, Michael Esq RENEWAL69Anna Fali
1010Munro U NestleGermany2026-09-24Benton, John B Jr PROPOSAL63Asiya Javayant
1011Clifford D AlbaresGermany2026-09-22Morlong Associates NEGOTIATION56Stephen Shaw
1012Deepesh U PaprockiJapan2026-09-16Rangoni Of Florence NEGOTIATION52Ioni Bowcher
1013Rodrigues H AlbaresAustralia2026-09-15Dorl, James J Esq PROPOSAL80Xuxue Feng
1014Adams C MaletGermany2026-09-19Rangoni Of Florence QUALIFIED90Elwin Sharvill
1015Morrow E GarufiUnited Kingdom2026-09-22Truhlar And Truhlar Attys QUALIFIED24Onyama Limba
1016Morrow X GlickAustralia2026-09-03Dorl, James J Esq NEGOTIATION36Amy Elsner
1017Mujtaba W KolmetzBrazil2026-09-15Truhlar And Truhlar Attys PROPOSAL86Ioni Bowcher
1018Ashley H GillianCanada2026-09-15Chemel, James L Cpa RENEWAL78Ioni Bowcher
1019Jones D PerinSpain2026-09-11Rousseaux, Michael Esq QUALIFIED57Xuxue Feng
1020David B DarakjyAustralia2026-09-24Rousseaux, Michael Esq NEW18Ivan Magalhaes
1021Kadeem H InouyeAustralia2026-09-11King, Christopher A Esq QUALIFIED85Bernardo Dominic
1022Emily L CaldareraItaly2026-09-13King, Christopher A Esq RENEWAL82Asiya Javayant
1023Cody N GarufiArgentina2026-09-17Rangoni Of Florence UNQUALIFIED76Amy Elsner
1024Juan G IturbideJapan2026-08-31Commercial Press NEGOTIATION38Stephen Shaw
1025Nicolas U GauchoSpain2026-08-31Feltz Printing Service PROPOSAL38Asiya Javayant
1026Munro E IturbideGermany2026-09-13Feltz Printing Service NEW96Amy Elsner
1027Jennifer L GillianIndia2026-09-20Chanay, Jeffrey A Esq UNQUALIFIED21Ioni Bowcher
1028David U GarufiRussia2026-09-21Truhlar And Truhlar Attys QUALIFIED54Bernardo Dominic
1029Maria R VenereGermany2026-09-06Rangoni Of Florence NEGOTIATION19Amy Elsner
1030Smith B RutaArgentina2026-09-07Benton, John B Jr NEGOTIATION94Ivan Magalhaes
1031Ricardo K PaprockiCanada2026-09-11Chemel, James L Cpa NEGOTIATION62Ioni Bowcher
1032Stacey A IturbideUnited Kingdom2026-09-23Dorl, James J Esq PROPOSAL42Bernardo Dominic
1033Alejandro K MarrierUnited Kingdom2026-09-24Rangoni Of Florence UNQUALIFIED61Onyama Limba
1034Kaitlin E IturbideFrance2026-08-29Dorl, James J Esq PROPOSAL46Stephen Shaw
1035Costa N SaylorsGermany2026-09-16Buckley Miller Wright QUALIFIED25Onyama Limba
1036Deepesh I AmigonJapan2026-08-30Dorl, James J Esq NEGOTIATION23Onyama Limba
1037Jefferson N AlbaresFrance2026-09-22Chanay, Jeffrey A Esq QUALIFIED98Elwin Sharvill
1038Jefferson N TollnerIndia2026-09-21Buckley Miller Wright PROPOSAL82Ioni Bowcher
1039Mujtaba G RutaArgentina2026-09-21Morlong Associates UNQUALIFIED35Onyama Limba
1040Jefferson N BriddickFrance2026-09-26Benton, John B Jr NEW16Anna Fali
1041Antonio R VenereUnited Kingdom2026-09-16Feltz Printing Service RENEWAL17Amy Elsner
1042Ashley X WieserBrazil2026-09-17Chanay, Jeffrey A Esq RENEWAL40Elwin Sharvill
1043Munro X VocelkaIndia2026-08-28Rousseaux, Michael Esq UNQUALIFIED81Anna Fali
1044Greenwood I NickaUnited Kingdom2026-09-26Benton, John B Jr QUALIFIED80Ioni Bowcher
1045Ricardo Q FerenczUnited Kingdom2026-09-06Feltz Printing Service RENEWAL58Amy Elsner
1046Ricardo E IturbideItaly2026-09-17Commercial Press PROPOSAL92Bernardo Dominic
1047Octavia F GillianFrance2026-09-18Buckley Miller Wright PROPOSAL18Ioni Bowcher
1048Aika N BowleyRussia2026-09-25Rangoni Of Florence NEW68Stephen Shaw
1049James F WaycottSpain2026-09-15King, Christopher A Esq NEGOTIATION39Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maisha D BowleyIndiaIoni Bowcher QUALIFIED
Octavia C InouyeArgentinaAmy Elsner NEW
Salvatore V VenereSpainElwin Sharvill PROPOSAL
Ricardo O FigeroaGermanyOnyama Limba QUALIFIED
Munro V BologniaJapanBernardo Dominic RENEWAL
Alejandro B CaldareraArgentinaAsiya Javayant NEW
Claire V MorascaCanadaIoni Bowcher UNQUALIFIED
Adams Q MorascaGermanyIvan Magalhaes UNQUALIFIED
Smith T StensethFranceOnyama Limba RENEWAL
Stacey V CaldareraItalyAmy Elsner QUALIFIED
Jeanfrancois G BologniaUnited KingdomIvan Magalhaes UNQUALIFIED
Adams J FerenczSpainAmy Elsner PROPOSAL
Jeanfrancois Q MarrierJapanXuxue Feng QUALIFIED
Misaki Z NickaSpainIvan Magalhaes RENEWAL
Aika C NickaArgentinaOnyama Limba UNQUALIFIED
Julie D DoeIndiaIoni Bowcher PROPOSAL
Leja D FerenczArgentinaAmy Elsner RENEWAL
Mujtaba C IturbideCanadaBernardo Dominic UNQUALIFIED
Ricardo Y FollerAustraliaXuxue Feng UNQUALIFIED
Greenwood H DoeBrazilXuxue Feng PROPOSAL
Silvio S SchemmerBrazilAsiya Javayant RENEWAL
Darci N FigeroaGermanyAmy Elsner QUALIFIED
Arvin O KolmetzSpainStephen Shaw UNQUALIFIED
Jeanfrancois D BriddickItalyAnna Fali QUALIFIED
Deepesh Y AlbaresFranceOnyama Limba NEW
Julie X PaprockiGermanyAnna Fali RENEWAL
Jeanfrancois P MaletCanadaStephen Shaw RENEWAL
Sinclair J BriddickBrazilIoni Bowcher NEW
Francesco C AlbaresIndiaXuxue Feng NEGOTIATION
Maria O KolmetzSpainStephen Shaw UNQUALIFIED
Tony T NestleItalyIoni Bowcher PROPOSAL
Sinclair K PoquetteCanadaAmy Elsner QUALIFIED
Izzy R IturbideAustraliaIvan Magalhaes NEGOTIATION
Leja I BowleyBrazilElwin Sharvill UNQUALIFIED
Adams M ShinkoBrazilXuxue Feng UNQUALIFIED
Cody O GarufiSpainXuxue Feng QUALIFIED
Isabel Z RutaAustraliaElwin Sharvill PROPOSAL
Jones X AmigonFranceStephen Shaw NEGOTIATION
Morrow I FollerSpainAnna Fali QUALIFIED
Jones M MarrierSpainAmy Elsner PROPOSAL
Alejandro I MacleadGermanyOnyama Limba NEW
Smith G FollerBrazilAmy Elsner RENEWAL
Smith W SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Isabel W RimCanadaIoni Bowcher RENEWAL
Deepesh F FlosiJapanXuxue Feng RENEWAL
Kaitlin X RutaItalyAnna Fali NEGOTIATION
Cody N TollnerUnited KingdomElwin Sharvill RENEWAL
Kaitlin N ChuiJapanAsiya Javayant UNQUALIFIED
Julie E StockhamRussiaOnyama Limba NEGOTIATION
Arvin X VocelkaAustraliaElwin Sharvill RENEWAL
Frozen Columns
Name
Kaitlin G Venere
Wickens Q Albares
Leon O Wieser
Salvatore L Saylors
Costa U Tollner
Mujtaba R Amigon
Jennifer Z Tollner
Clifford D Garufi
Johnson U Tollner
Aika K Sergi
Emily F Caudy
Francesco T Kolmetz
Mujtaba F Malet
Mayumi O Caudy
Kadeem S Oldroyd
Ricardo Y Nestle
Darci J Chui
Jones Z Doe
Maisha J Royster
Nicolas A Ferencz
Deepesh L Amigon
Izzy Y Tollner
Jefferson R Campain
Aditya T Dilliard
Ashley T Ostrosky
Rodrigues M Inouye
Costa O Nicka
Kadeem M Doe
Aditya H Perin
Ricardo P Albares
Isabel X Oldroyd
Francesco P Oldroyd
Stacey A Paprocki
Maisha O Darakjy
Kadeem I Marrier
Deepesh P Gaucho
Aruna M Bolognia
Jeanfrancois J Royster
Leon U Malet
Jefferson P Ostrosky
Cody M Maclead
Darci W Kolmetz
Francesco K Flosi
Antonio D Briddick
Jeanfrancois Q Marrier
Jennifer A Venere
Sinclair G Glick
Nicolas Q Stenseth
Mayumi B Ruta
Mujtaba L Foller
IdCountryDate
1000Canada2026-09-12
1001Japan2026-09-09
1002Spain2026-09-22
1003United Kingdom2026-09-03
1004Italy2026-09-05
1005Germany2026-09-02
1006Spain2026-09-04
1007Germany2026-09-05
1008Canada2026-09-04
1009Italy2026-09-17
1010Germany2026-09-01
1011Japan2026-09-04
1012India2026-09-13
1013Canada2026-08-31
1014Japan2026-09-07
1015Japan2026-09-15
1016France2026-08-28
1017Italy2026-09-06
1018France2026-09-03
1019Italy2026-09-23
1020Russia2026-09-15
1021Russia2026-09-12
1022Spain2026-09-03
1023Japan2026-08-28
1024Italy2026-09-14
1025Argentina2026-09-25
1026Germany2026-09-07
1027Japan2026-09-19
1028Australia2026-09-17
1029Japan2026-09-14
1030France2026-09-01
1031United Kingdom2026-09-06
1032Australia2026-08-30
1033Brazil2026-09-02
1034India2026-09-18
1035Argentina2026-09-21
1036France2026-09-11
1037Argentina2026-09-25
1038Germany2026-09-07
1039Canada2026-09-01
1040Argentina2026-09-06
1041Russia2026-09-09
1042Canada2026-09-24
1043India2026-08-30
1044Russia2026-09-15
1045Russia2026-09-13
1046United Kingdom2026-09-13
1047Australia2026-09-20
1048Australia2026-09-13
1049Spain2026-09-08

On-Demand Data

NameIdCountryDate
Murillo T Saylors1000Brazil2026-09-04
Adams O Flosi1001Russia2026-09-11
Aditya I Schemmer1002Germany2026-09-04
Leon X Butt1003India2026-09-14
Misaki X Rulapaugh1004France2026-09-07
Cody L Maclead1005United Kingdom2026-09-17
Jeanfrancois N Whobrey1006Germany2026-08-31
Wickens E Ferencz1007Canada2026-09-26
Murillo W Tollner1008France2026-08-30
Johnson E Paprocki1009Australia2026-09-05
Munro A Malet1010Italy2026-09-18
Francesco A Royster1011Brazil2026-09-25
Ivar H Dilliard1012Australia2026-09-10
Munro T Dilliard1013Germany2026-09-05
Jones K Tollner1014Brazil2026-09-04
Juan X Inouye1015Italy2026-09-03
Claire W Marrier1016United Kingdom2026-09-12
Jones R Schemmer1017Argentina2026-09-14
Misaki L Darakjy1018Brazil2026-09-26
Ricardo U Morasca1019Australia2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria S SaylorsFranceAsiya Javayant RENEWAL
Murillo K StensethJapanOnyama Limba PROPOSAL
David T AlbaresItalyBernardo Dominic NEGOTIATION
Mayumi W PerinJapanOnyama Limba UNQUALIFIED
Mayumi G TollnerCanadaXuxue Feng QUALIFIED
Mujtaba P CaudyRussiaAmy Elsner RENEWAL
Jeanfrancois E AlbaresAustraliaOnyama Limba QUALIFIED
Tony O FerenczUnited KingdomStephen Shaw NEW
Juan C AmigonIndiaAnna Fali PROPOSAL
Ivar T BowleyBrazilAmy Elsner RENEWAL
Leja G WhobreyGermanyXuxue Feng NEW
Alejandro Q WaycottCanadaBernardo Dominic NEW
Alejandro G SaylorsRussiaAnna Fali PROPOSAL
Stacey I MaletFranceAmy Elsner NEGOTIATION
Leon H ShinkoIndiaIvan Magalhaes RENEWAL
Salvatore V MaletBrazilBernardo Dominic PROPOSAL
Nicolas D StockhamArgentinaElwin Sharvill NEW
Emily T SaylorsBrazilIvan Magalhaes RENEWAL
Jones Q TollnerItalyIvan Magalhaes QUALIFIED
Aruna N DarakjyCanadaIoni Bowcher UNQUALIFIED
Izzy V PerinGermanyElwin Sharvill RENEWAL
Morrow P TollnerArgentinaBernardo Dominic UNQUALIFIED
Kaitlin C MacleadIndiaAsiya Javayant NEW
Clifford F CaldareraFranceElwin Sharvill QUALIFIED
Emily R OstroskySpainIoni Bowcher UNQUALIFIED
Morrow Q FollerArgentinaXuxue Feng RENEWAL
Francesco J PerinSpainStephen Shaw NEW
Johnson W SergiIndiaAmy Elsner RENEWAL
Nicolas Z StockhamJapanBernardo Dominic PROPOSAL
James J StensethUnited KingdomIoni Bowcher RENEWAL
Ashley C MorascaIndiaAsiya Javayant UNQUALIFIED
Chavez O DoeSpainXuxue Feng NEW
Rodrigues T AlbaresAustraliaBernardo Dominic NEW
Alejandro P VocelkaCanadaXuxue Feng RENEWAL
Morrow D CaldareraFranceElwin Sharvill QUALIFIED
Aditya B ChuiJapanStephen Shaw NEW
Francesco M IturbideFranceOnyama Limba QUALIFIED
Clifford P SergiRussiaAmy Elsner RENEWAL
Stacey U PoquetteGermanyAmy Elsner NEW
Salvatore N WhobreyUnited KingdomOnyama Limba 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>