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
Clifford K MarrierSpainIvan Magalhaes UNQUALIFIED
James M FigeroaItalyBernardo Dominic NEW
Rodrigues K FerenczBrazilBernardo Dominic UNQUALIFIED
Emily G RulapaughItalyAnna Fali NEW
Silvio E GarufiBrazilBernardo Dominic PROPOSAL
Alejandro F RimBrazilBernardo Dominic NEGOTIATION
Francesco T MaletJapanXuxue Feng QUALIFIED
Costa G MarrierArgentinaAnna Fali QUALIFIED
Leon F DoeCanadaAsiya Javayant RENEWAL
Misaki R WieserJapanAmy Elsner UNQUALIFIED
Rodrigues V FerenczUnited KingdomIoni Bowcher PROPOSAL
Aditya Y RoysterArgentinaElwin Sharvill NEW
James K FerenczSpainIvan Magalhaes NEGOTIATION
Murillo C MarrierIndiaOnyama Limba PROPOSAL
Rodrigues B DilliardSpainIvan Magalhaes NEW
Nicolas N GillianIndiaAnna Fali RENEWAL
Emily T ChuiIndiaOnyama Limba RENEWAL
Alejandro C DilliardIndiaXuxue Feng NEW
Kadeem R GlickRussiaAmy Elsner RENEWAL
Ashley Y BowleyGermanyAmy Elsner PROPOSAL
Greenwood X InouyeUnited KingdomAmy Elsner UNQUALIFIED
Deepesh Z PoquetteAustraliaBernardo Dominic NEGOTIATION
Aditya S DarakjyBrazilXuxue Feng NEW
Chavez I NickaJapanXuxue Feng QUALIFIED
Salvatore O CaldareraArgentinaAmy Elsner RENEWAL
Maria U GauchoUnited KingdomOnyama Limba NEW
Mujtaba B MaletCanadaBernardo Dominic UNQUALIFIED
Sinclair N WhobreyItalyIoni Bowcher NEW
Mujtaba Q WaycottUnited KingdomXuxue Feng RENEWAL
Leon V ChuiItalyIvan Magalhaes NEW
Maisha P RutaCanadaAmy Elsner QUALIFIED
David H KuskoUnited KingdomElwin Sharvill NEGOTIATION
Ivar I GauchoSpainIvan Magalhaes PROPOSAL
Greenwood W ShinkoGermanyElwin Sharvill RENEWAL
Leon W OldroydJapanOnyama Limba NEGOTIATION
Jennifer W OldroydItalyElwin Sharvill NEGOTIATION
Mujtaba Z TollnerUnited KingdomElwin Sharvill PROPOSAL
Costa N GillianGermanyElwin Sharvill NEGOTIATION
Ivar X TollnerGermanyIvan Magalhaes UNQUALIFIED
Alejandro R VenereRussiaBernardo Dominic NEW
Tony I BologniaUnited KingdomBernardo Dominic RENEWAL
Murillo U GlickFranceXuxue Feng PROPOSAL
Jefferson F VenereFranceElwin Sharvill QUALIFIED
Isabel P FigeroaIndiaElwin Sharvill PROPOSAL
Faith S DoeItalyOnyama Limba RENEWAL
Juan M AmigonItalyStephen Shaw PROPOSAL
Isabel N PerinCanadaStephen Shaw UNQUALIFIED
Ricardo U RutaArgentinaAnna Fali UNQUALIFIED
Jeanfrancois R MacleadArgentinaAsiya Javayant UNQUALIFIED
Juan W RutaUnited KingdomIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Maisha O GillianCanadaXuxue Feng RENEWAL
Tony Y MaletIndiaBernardo Dominic NEGOTIATION
Kaitlin X BologniaGermanyElwin Sharvill NEW
Alejandro Q OstroskyJapanXuxue Feng PROPOSAL
Chavez O SchemmerGermanyElwin Sharvill PROPOSAL
Sinclair B OstroskyArgentinaAsiya Javayant NEGOTIATION
Maisha H SaylorsGermanyAsiya Javayant QUALIFIED
Aika C WieserAustraliaOnyama Limba UNQUALIFIED
James M RimSpainAmy Elsner NEW
Jefferson Z MaletUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie Z PerinJapan2026-09-16Feiner Bros RENEWAL48Onyama Limba
1001Clifford O RoysterJapan2026-09-08King, Christopher A Esq NEW3Xuxue Feng
1002Aika N FlosiArgentina2026-09-03Rousseaux, Michael Esq RENEWAL17Bernardo Dominic
1003Mayumi A RutaFrance2026-09-09Rousseaux, Michael Esq NEGOTIATION86Bernardo Dominic
1004Mayumi K GillianArgentina2026-08-28Rangoni Of Florence NEW0Onyama Limba
1005Aruna P IturbideGermany2026-09-07Dorl, James J Esq NEW21Anna Fali
1006Salvatore A GauchoArgentina2026-09-15Rousseaux, Michael Esq QUALIFIED44Ivan Magalhaes
1007Jones Q MacleadSpain2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED71Stephen Shaw
1008Isabel S GarufiCanada2026-09-08Rousseaux, Michael Esq RENEWAL3Amy Elsner
1009Alejandro Y PerinCanada2026-09-17King, Christopher A Esq QUALIFIED13Bernardo Dominic
1010Rodrigues P MorascaFrance2026-09-10Rousseaux, Michael Esq QUALIFIED43Stephen Shaw
1011Salvatore R MorascaAustralia2026-08-30Morlong Associates NEGOTIATION95Elwin Sharvill
1012Ivar X ChuiJapan2026-09-06Chemel, James L Cpa PROPOSAL9Bernardo Dominic
1013Silvio P CaudyUnited Kingdom2026-08-21Feltz Printing Service RENEWAL11Asiya Javayant
1014Alejandro O IturbideAustralia2026-09-17Feiner Bros NEW79Stephen Shaw
1015Claire Z CaldareraGermany2026-08-20Chanay, Jeffrey A Esq QUALIFIED36Stephen Shaw
1016Adams D SaylorsRussia2026-09-01Feltz Printing Service UNQUALIFIED19Stephen Shaw
1017Smith T SergiFrance2026-08-23Chanay, Jeffrey A Esq PROPOSAL94Stephen Shaw
1018Clifford F StensethRussia2026-09-04Feltz Printing Service NEW29Anna Fali
1019Faith X OldroydBrazil2026-09-10King, Christopher A Esq NEW49Ioni Bowcher
1020Claire R BowleySpain2026-08-26Dorl, James J Esq UNQUALIFIED56Stephen Shaw
1021Salvatore E ChuiItaly2026-09-15Buckley Miller Wright UNQUALIFIED13Elwin Sharvill
1022Johnson V InouyeGermany2026-08-28Chanay, Jeffrey A Esq QUALIFIED93Stephen Shaw
1023Munro M RoysterIndia2026-08-19Chanay, Jeffrey A Esq NEGOTIATION72Asiya Javayant
1024Smith K WieserGermany2026-09-06King, Christopher A Esq UNQUALIFIED37Amy Elsner
1025Emily X MarrierAustralia2026-09-15Feiner Bros NEW95Asiya Javayant
1026Kaitlin S AmigonAustralia2026-09-14Feiner Bros NEW24Elwin Sharvill
1027Salvatore Y WaycottItaly2026-09-01Feltz Printing Service NEW77Bernardo Dominic
1028Jeanfrancois U StensethFrance2026-08-28Chanay, Jeffrey A Esq NEW84Anna Fali
1029Jefferson N StensethFrance2026-08-24Rangoni Of Florence NEGOTIATION23Onyama Limba
1030James G AmigonSpain2026-09-09Rousseaux, Michael Esq RENEWAL45Asiya Javayant
1031Ivar A StensethFrance2026-08-25Rangoni Of Florence PROPOSAL28Anna Fali
1032Silvio Q StockhamArgentina2026-08-27Dorl, James J Esq RENEWAL9Xuxue Feng
1033James I SchemmerUnited Kingdom2026-09-02Rangoni Of Florence NEW79Anna Fali
1034Jefferson T GauchoAustralia2026-09-07Dorl, James J Esq UNQUALIFIED71Stephen Shaw
1035Claire W FigeroaFrance2026-09-05King, Christopher A Esq UNQUALIFIED48Stephen Shaw
1036Octavia Z DoeUnited Kingdom2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED31Asiya Javayant
1037Octavia R PoquetteFrance2026-08-19Chemel, James L Cpa NEW56Bernardo Dominic
1038Sinclair Z TollnerGermany2026-08-27Morlong Associates RENEWAL44Ivan Magalhaes
1039Juan J SaylorsArgentina2026-09-08King, Christopher A Esq RENEWAL65Stephen Shaw
1040Ashley T RimJapan2026-09-08Chemel, James L Cpa PROPOSAL92Bernardo Dominic
1041Ashley N DarakjyFrance2026-09-02Rousseaux, Michael Esq RENEWAL39Ioni Bowcher
1042Kadeem X SlusarskiUnited Kingdom2026-08-23Chemel, James L Cpa RENEWAL73Onyama Limba
1043Costa I TollnerArgentina2026-09-12Chapman, Ross E Esq NEW15Anna Fali
1044Morrow S FigeroaFrance2026-08-29Chanay, Jeffrey A Esq PROPOSAL68Bernardo Dominic
1045Tony A PerinUnited Kingdom2026-09-06Chemel, James L Cpa UNQUALIFIED10Amy Elsner
1046Arvin I DarakjyBrazil2026-09-16Feltz Printing Service NEW45Onyama Limba
1047Claire Y RimArgentina2026-09-15Printing Dimensions RENEWAL1Ioni Bowcher
1048Murillo I CaldareraIndia2026-09-03Chapman, Ross E Esq RENEWAL32Stephen Shaw
1049Mayumi P SaylorsRussia2026-09-04Benton, John B Jr RENEWAL59Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Greenwood I BologniaIndiaAnna Fali RENEWAL
Jones U SchemmerItalyElwin Sharvill PROPOSAL
Maisha U NestleAustraliaAsiya Javayant NEW
Alejandro X SergiUnited KingdomAnna Fali PROPOSAL
Johnson C OldroydFranceBernardo Dominic NEGOTIATION
Izzy L SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Arvin W PerinCanadaOnyama Limba QUALIFIED
Leon L DilliardIndiaAsiya Javayant RENEWAL
Nicolas U FigeroaSpainElwin Sharvill RENEWAL
Juan N ButtBrazilOnyama Limba PROPOSAL
Isabel Z MarrierFranceStephen Shaw PROPOSAL
Sinclair J FigeroaUnited KingdomXuxue Feng PROPOSAL
Murillo G BologniaUnited KingdomIoni Bowcher NEW
Smith N FlosiUnited KingdomBernardo Dominic PROPOSAL
Greenwood T CampainFranceBernardo Dominic UNQUALIFIED
Jefferson Y WaycottJapanBernardo Dominic UNQUALIFIED
Smith W SchemmerItalyAnna Fali NEW
Cody I NickaUnited KingdomXuxue Feng NEGOTIATION
Jefferson Q RutaJapanAsiya Javayant NEW
Adams S KolmetzBrazilOnyama Limba UNQUALIFIED
Darci P KolmetzGermanyBernardo Dominic QUALIFIED
Isabel T VocelkaUnited KingdomAsiya Javayant QUALIFIED
Jefferson S KolmetzItalyIoni Bowcher UNQUALIFIED
Mayumi D BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Antonio H StensethUnited KingdomStephen Shaw UNQUALIFIED
Smith K RutaRussiaAnna Fali PROPOSAL
Morrow S BriddickSpainAsiya Javayant QUALIFIED
Mujtaba D FerenczArgentinaIvan Magalhaes NEW
Jeanfrancois W PoquetteBrazilAnna Fali NEW
Salvatore J ShinkoAustraliaXuxue Feng UNQUALIFIED
Ivar J FollerUnited KingdomElwin Sharvill QUALIFIED
Claire J VocelkaItalyIvan Magalhaes QUALIFIED
Izzy D DilliardArgentinaAmy Elsner NEGOTIATION
Ashley N FerenczJapanBernardo Dominic NEW
Ricardo D ShinkoCanadaElwin Sharvill RENEWAL
Mujtaba A BologniaItalyAnna Fali PROPOSAL
Cody T KolmetzItalyIvan Magalhaes QUALIFIED
Francesco G RimGermanyXuxue Feng UNQUALIFIED
Misaki B MaletSpainXuxue Feng RENEWAL
Costa X OldroydIndiaAnna Fali UNQUALIFIED
Stacey J MorascaBrazilElwin Sharvill RENEWAL
Johnson C FigeroaItalyBernardo Dominic NEGOTIATION
Kadeem L CampainArgentinaIvan Magalhaes NEW
Silvio B KolmetzArgentinaOnyama Limba UNQUALIFIED
Ashley F GillianSpainAnna Fali QUALIFIED
Clifford B PerinUnited KingdomBernardo Dominic NEW
Jeanfrancois C PoquetteCanadaIoni Bowcher NEGOTIATION
Mujtaba E RoysterUnited KingdomStephen Shaw NEW
Kaitlin I SlusarskiBrazilIoni Bowcher NEGOTIATION
Aditya N OldroydAustraliaIvan Magalhaes RENEWAL
Frozen Columns
Name
Deepesh R Tollner
Jones E Darakjy
Francesco F Rim
Munro F Wieser
Claire Z Poquette
Greenwood T Wieser
Smith Q Ferencz
Clifford P Albares
Jefferson O Kolmetz
Julie V Schemmer
Juan S Amigon
Claire M Sergi
Misaki T Maclead
Costa R Bowley
Octavia U Bowley
Ricardo S Shinko
Ricardo C Saylors
Smith L Oldroyd
Isabel O Morasca
Kaitlin O Nestle
Mayumi B Amigon
Mujtaba V Foller
Jones U Inouye
Stacey Y Darakjy
Sinclair S Campain
Morrow R Venere
Maisha S Wieser
Tony K Iturbide
Smith A Glick
Octavia P Venere
David G Waycott
Rodrigues F Malet
James F Wieser
Wickens F Schemmer
Izzy I Rim
Jefferson I Schemmer
Costa G Garufi
Salvatore N Ferencz
David I Briddick
Octavia Q Schemmer
Aditya M Tollner
Sinclair K Dilliard
Johnson S Malet
Alejandro J Rim
Aruna W Foller
Sinclair Y Malet
Stacey M Rim
Costa B Waycott
Maria I Amigon
Deepesh U Sergi
IdCountryDate
1000Brazil2026-08-23
1001Italy2026-08-24
1002United Kingdom2026-09-02
1003Germany2026-08-30
1004Argentina2026-08-21
1005United Kingdom2026-08-21
1006Italy2026-08-31
1007Canada2026-09-08
1008Spain2026-09-11
1009Spain2026-08-28
1010United Kingdom2026-09-08
1011Russia2026-09-17
1012Australia2026-08-27
1013India2026-09-04
1014Japan2026-09-11
1015India2026-08-25
1016Japan2026-09-08
1017Italy2026-09-11
1018United Kingdom2026-08-25
1019France2026-08-19
1020Spain2026-09-03
1021Brazil2026-08-24
1022India2026-09-04
1023Germany2026-09-12
1024Argentina2026-08-20
1025Australia2026-08-23
1026Australia2026-08-26
1027Australia2026-09-15
1028Australia2026-08-19
1029Russia2026-08-20
1030Russia2026-08-23
1031France2026-09-08
1032Argentina2026-09-08
1033Japan2026-09-14
1034India2026-09-13
1035Germany2026-08-19
1036Argentina2026-08-30
1037Argentina2026-08-23
1038Spain2026-09-11
1039Japan2026-09-07
1040Russia2026-08-20
1041Russia2026-09-03
1042Canada2026-08-29
1043Australia2026-09-12
1044France2026-09-09
1045Russia2026-09-05
1046Brazil2026-09-02
1047India2026-08-28
1048India2026-08-26
1049Spain2026-08-19

On-Demand Data

NameIdCountryDate
Johnson C Albares1000Japan2026-08-25
Chavez B Flosi1001Australia2026-08-19
Arvin X Saylors1002Brazil2026-09-09
Chavez U Foller1003Argentina2026-09-11
Antonio U Shinko1004Italy2026-09-06
Cody G Rulapaugh1005Argentina2026-08-24
Morrow Z Stockham1006Japan2026-08-24
Aika C Figeroa1007United Kingdom2026-08-24
Isabel R Schemmer1008Canada2026-09-07
Kadeem R Whobrey1009Spain2026-09-13
Kadeem P Garufi1010France2026-08-25
Smith W Gaucho1011Japan2026-08-24
Stacey G Maclead1012United Kingdom2026-08-20
Smith G Venere1013Germany2026-09-13
Misaki L Caudy1014Germany2026-08-29
Morrow E Malet1015France2026-08-30
Mayumi H Stenseth1016United Kingdom2026-08-24
Stacey Y Dilliard1017Japan2026-08-20
Alejandro S Foller1018Italy2026-08-30
Kadeem E Butt1019Germany2026-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair U DarakjyRussiaAnna Fali QUALIFIED
David D KolmetzJapanAsiya Javayant PROPOSAL
Deepesh C PerinFranceAnna Fali NEGOTIATION
Juan S GillianIndiaAsiya Javayant NEGOTIATION
Ivar B StockhamGermanyAsiya Javayant UNQUALIFIED
Antonio M MacleadSpainStephen Shaw UNQUALIFIED
James E WieserJapanElwin Sharvill UNQUALIFIED
Stacey J StensethItalyIvan Magalhaes QUALIFIED
Claire C GarufiCanadaElwin Sharvill UNQUALIFIED
Aruna Q CaudyUnited KingdomIvan Magalhaes RENEWAL
Ricardo W NestleFranceAsiya Javayant UNQUALIFIED
Juan T KolmetzArgentinaIvan Magalhaes PROPOSAL
Antonio F StockhamArgentinaStephen Shaw NEW
Tony R FollerBrazilOnyama Limba RENEWAL
Izzy C WhobreyArgentinaXuxue Feng PROPOSAL
Mujtaba V FollerCanadaAnna Fali NEW
Murillo O DilliardRussiaIoni Bowcher RENEWAL
Salvatore T ShinkoBrazilIvan Magalhaes QUALIFIED
Ivar I ShinkoItalyIvan Magalhaes QUALIFIED
Claire D RutaRussiaXuxue Feng NEW
Kadeem I MaletItalyElwin Sharvill UNQUALIFIED
Johnson J RutaCanadaBernardo Dominic RENEWAL
Jeanfrancois P MacleadAustraliaAmy Elsner QUALIFIED
Jones X FerenczIndiaIvan Magalhaes UNQUALIFIED
Mujtaba O InouyeCanadaIoni Bowcher RENEWAL
Silvio L CampainGermanyOnyama Limba NEW
Isabel O CaudyUnited KingdomAnna Fali UNQUALIFIED
Chavez I BowleyGermanyIvan Magalhaes RENEWAL
Sinclair S GarufiSpainXuxue Feng PROPOSAL
Aditya A OstroskyFranceStephen Shaw QUALIFIED
Aruna Z FigeroaAustraliaAsiya Javayant NEW
Stacey H StockhamJapanXuxue Feng RENEWAL
Leon G ShinkoSpainXuxue Feng QUALIFIED
Kaitlin X AlbaresRussiaAsiya Javayant RENEWAL
Wickens L VocelkaCanadaBernardo Dominic NEW
Leon H RutaIndiaIvan Magalhaes QUALIFIED
David N BologniaSpainIvan Magalhaes NEW
Darci Y SlusarskiCanadaAnna Fali PROPOSAL
Smith N RoysterGermanyOnyama Limba UNQUALIFIED
Alejandro A WhobreyRussiaOnyama Limba 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>