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
Leon L FerenczItalyAsiya Javayant PROPOSAL
Salvatore V StensethGermanyIvan Magalhaes RENEWAL
Smith W FigeroaBrazilAmy Elsner NEW
Jeanfrancois F PerinJapanAsiya Javayant NEGOTIATION
Jefferson Q InouyeFranceAmy Elsner NEGOTIATION
Jeanfrancois I MaletFranceXuxue Feng RENEWAL
Munro J StensethFranceIoni Bowcher UNQUALIFIED
Darci P VenereCanadaElwin Sharvill UNQUALIFIED
Costa U GillianCanadaOnyama Limba NEW
Jennifer B RutaCanadaStephen Shaw NEW
Costa A FigeroaFranceIoni Bowcher NEGOTIATION
Adams W SaylorsRussiaAnna Fali PROPOSAL
Kaitlin R KolmetzGermanyAmy Elsner QUALIFIED
Ivar O MaletAustraliaOnyama Limba NEW
Ashley T BologniaItalyAmy Elsner RENEWAL
Murillo E FerenczSpainElwin Sharvill QUALIFIED
Aika Q SaylorsCanadaIvan Magalhaes PROPOSAL
Jones R BriddickJapanAsiya Javayant PROPOSAL
Morrow F ButtBrazilElwin Sharvill NEGOTIATION
Ivar Y AlbaresUnited KingdomXuxue Feng QUALIFIED
Misaki Z KolmetzAustraliaBernardo Dominic UNQUALIFIED
Ricardo V StockhamCanadaAsiya Javayant QUALIFIED
Misaki I MaletAustraliaIoni Bowcher QUALIFIED
Antonio L IturbideJapanIoni Bowcher PROPOSAL
Isabel Y StensethUnited KingdomBernardo Dominic RENEWAL
Antonio A WhobreyGermanyOnyama Limba QUALIFIED
Jefferson I FollerFranceIoni Bowcher PROPOSAL
Jefferson F KuskoAustraliaAnna Fali PROPOSAL
Jones Z GlickUnited KingdomStephen Shaw PROPOSAL
Jones H PerinJapanBernardo Dominic PROPOSAL
Aditya X GlickFranceBernardo Dominic QUALIFIED
Antonio E ShinkoUnited KingdomStephen Shaw RENEWAL
Salvatore A SlusarskiJapanAnna Fali PROPOSAL
Adams W BriddickSpainAsiya Javayant QUALIFIED
Adams H CaldareraItalyXuxue Feng PROPOSAL
Cody J CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio E MorascaUnited KingdomAsiya Javayant NEW
Mayumi F RutaFranceBernardo Dominic NEW
Izzy F GarufiIndiaBernardo Dominic NEGOTIATION
Juan D DoeAustraliaIvan Magalhaes PROPOSAL
Kaitlin H AlbaresUnited KingdomOnyama Limba QUALIFIED
Ricardo D FollerFranceAmy Elsner RENEWAL
Maria Q CaldareraCanadaIoni Bowcher QUALIFIED
Kadeem E IturbideArgentinaAnna Fali NEGOTIATION
Stacey L KolmetzAustraliaAsiya Javayant NEGOTIATION
Rodrigues R CampainFranceAnna Fali RENEWAL
Isabel V BriddickSpainXuxue Feng UNQUALIFIED
Julie Z SergiSpainXuxue Feng RENEWAL
Aika Z GarufiJapanBernardo Dominic NEGOTIATION
Arvin Z OldroydAustraliaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
James V FlosiIndiaIoni Bowcher PROPOSAL
Smith X GarufiSpainElwin Sharvill NEGOTIATION
Kadeem K ShinkoCanadaXuxue Feng PROPOSAL
Wickens E SchemmerJapanIoni Bowcher QUALIFIED
Chavez H DoeGermanyOnyama Limba QUALIFIED
Julie N PaprockiBrazilElwin Sharvill RENEWAL
Maisha H KolmetzJapanIvan Magalhaes NEGOTIATION
Cody I AlbaresIndiaElwin Sharvill NEGOTIATION
Munro U MaletBrazilAsiya Javayant QUALIFIED
Aditya Y GarufiIndiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro F InouyeJapan2026-10-07Benton, John B Jr PROPOSAL89Stephen Shaw
1001Smith Z OstroskyCanada2026-09-28Feltz Printing Service PROPOSAL35Anna Fali
1002Sinclair L CampainArgentina2026-10-04King, Christopher A Esq NEW12Elwin Sharvill
1003Julie I MaletCanada2026-10-07Benton, John B Jr RENEWAL51Stephen Shaw
1004Mujtaba L GarufiFrance2026-09-19Benton, John B Jr PROPOSAL50Asiya Javayant
1005Leon S OldroydCanada2026-10-03King, Christopher A Esq UNQUALIFIED5Anna Fali
1006Kadeem U MaletIndia2026-09-11Rangoni Of Florence NEGOTIATION58Amy Elsner
1007Izzy V GauchoGermany2026-09-29Feltz Printing Service UNQUALIFIED27Ivan Magalhaes
1008Ivar R WaycottAustralia2026-09-17King, Christopher A Esq QUALIFIED95Stephen Shaw
1009Aditya C StensethAustralia2026-09-29Rousseaux, Michael Esq RENEWAL55Amy Elsner
1010Ivar V SergiJapan2026-09-29Feiner Bros NEW45Ioni Bowcher
1011Arvin L MaletRussia2026-09-17King, Christopher A Esq NEGOTIATION76Onyama Limba
1012Mayumi S BologniaAustralia2026-10-04Rangoni Of Florence NEW20Onyama Limba
1013Johnson X RimSpain2026-09-24Chapman, Ross E Esq RENEWAL13Anna Fali
1014Costa R MarrierArgentina2026-09-13Chapman, Ross E Esq PROPOSAL39Xuxue Feng
1015Antonio P CampainFrance2026-09-17Feiner Bros RENEWAL20Stephen Shaw
1016David Y BowleyItaly2026-09-26Chanay, Jeffrey A Esq NEGOTIATION31Anna Fali
1017Jefferson U GillianIndia2026-09-21Commercial Press RENEWAL13Onyama Limba
1018Antonio L TollnerRussia2026-10-05Rousseaux, Michael Esq UNQUALIFIED43Amy Elsner
1019Misaki C ButtItaly2026-09-26Printing Dimensions NEW39Xuxue Feng
1020Salvatore B FlosiItaly2026-09-28Feiner Bros NEGOTIATION45Xuxue Feng
1021Salvatore C GillianGermany2026-09-13King, Christopher A Esq NEGOTIATION93Stephen Shaw
1022Izzy D AlbaresIndia2026-09-15Printing Dimensions NEGOTIATION63Elwin Sharvill
1023Salvatore F KolmetzUnited Kingdom2026-09-24Chemel, James L Cpa QUALIFIED79Stephen Shaw
1024Tony P PoquetteCanada2026-09-26Feiner Bros RENEWAL54Ivan Magalhaes
1025Murillo P MaletItaly2026-10-02Benton, John B Jr PROPOSAL2Bernardo Dominic
1026Leon C MaletRussia2026-09-12Rousseaux, Michael Esq UNQUALIFIED46Ioni Bowcher
1027Costa R ShinkoIndia2026-10-04Benton, John B Jr QUALIFIED33Bernardo Dominic
1028Claire C SchemmerGermany2026-09-23Printing Dimensions UNQUALIFIED1Ivan Magalhaes
1029Emily G BologniaItaly2026-09-14Feiner Bros PROPOSAL13Elwin Sharvill
1030Salvatore J IturbideIndia2026-09-29Chemel, James L Cpa NEW82Ioni Bowcher
1031Morrow P VocelkaFrance2026-09-11Buckley Miller Wright NEGOTIATION94Ivan Magalhaes
1032Deepesh A DilliardFrance2026-09-12Truhlar And Truhlar Attys RENEWAL47Elwin Sharvill
1033Jennifer G WaycottAustralia2026-09-10Truhlar And Truhlar Attys RENEWAL47Stephen Shaw
1034Stacey S SlusarskiRussia2026-10-05Rangoni Of Florence RENEWAL77Ioni Bowcher
1035Misaki D TollnerCanada2026-09-19Morlong Associates NEGOTIATION62Anna Fali
1036Salvatore R MacleadJapan2026-10-05Feltz Printing Service NEGOTIATION63Ioni Bowcher
1037Mayumi E OldroydAustralia2026-10-02Printing Dimensions QUALIFIED95Stephen Shaw
1038Jennifer Z PerinGermany2026-09-22Chanay, Jeffrey A Esq NEGOTIATION84Elwin Sharvill
1039Sinclair G GlickRussia2026-09-18Feiner Bros NEW74Ivan Magalhaes
1040Johnson B RulapaughSpain2026-09-22Morlong Associates UNQUALIFIED80Stephen Shaw
1041Johnson V TollnerItaly2026-10-05Commercial Press RENEWAL1Xuxue Feng
1042Jeanfrancois W GlickBrazil2026-09-25Buckley Miller Wright QUALIFIED75Bernardo Dominic
1043Chavez P GarufiAustralia2026-10-05Morlong Associates QUALIFIED54Stephen Shaw
1044Aruna E ButtCanada2026-09-23Rangoni Of Florence UNQUALIFIED74Xuxue Feng
1045Mujtaba Q GlickUnited Kingdom2026-09-29Truhlar And Truhlar Attys PROPOSAL91Bernardo Dominic
1046Kadeem J KolmetzCanada2026-10-03Morlong Associates NEGOTIATION38Ioni Bowcher
1047Silvio I OldroydBrazil2026-10-03Benton, John B Jr NEW38Asiya Javayant
1048Cody I IturbideRussia2026-09-13Truhlar And Truhlar Attys PROPOSAL86Asiya Javayant
1049Morrow U RulapaughBrazil2026-10-04King, Christopher A Esq NEGOTIATION9Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Murillo R CaudyArgentinaStephen Shaw NEGOTIATION
Murillo R AmigonUnited KingdomIoni Bowcher NEW
Johnson E AlbaresGermanyXuxue Feng UNQUALIFIED
Mujtaba R KolmetzIndiaOnyama Limba PROPOSAL
Wickens H CaudyAustraliaIoni Bowcher NEGOTIATION
Johnson E SchemmerIndiaAmy Elsner PROPOSAL
Maisha C GlickJapanIvan Magalhaes NEW
Nicolas I IturbideRussiaAsiya Javayant QUALIFIED
Murillo T OldroydCanadaAsiya Javayant RENEWAL
Alejandro E AlbaresCanadaElwin Sharvill NEW
Ivar E DilliardSpainIvan Magalhaes NEW
Clifford V PaprockiSpainAmy Elsner NEW
Leon W FlosiJapanAmy Elsner RENEWAL
Mujtaba K RimFranceAmy Elsner NEGOTIATION
Faith F StensethArgentinaBernardo Dominic QUALIFIED
Ashley A PerinRussiaElwin Sharvill RENEWAL
Mayumi R StockhamIndiaBernardo Dominic NEGOTIATION
Jones X AmigonJapanXuxue Feng NEW
Emily R DarakjySpainAnna Fali NEGOTIATION
Tony B FlosiAustraliaAsiya Javayant RENEWAL
Ivar N FigeroaUnited KingdomAmy Elsner NEGOTIATION
Emily U KolmetzSpainBernardo Dominic NEGOTIATION
Mujtaba X TollnerGermanyBernardo Dominic UNQUALIFIED
Cody M KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Jefferson C BologniaBrazilStephen Shaw RENEWAL
Francesco H CampainAustraliaAsiya Javayant UNQUALIFIED
Cody J ShinkoIndiaXuxue Feng PROPOSAL
Aditya V RimGermanyStephen Shaw NEGOTIATION
Aruna P WieserBrazilXuxue Feng PROPOSAL
Greenwood S WaycottUnited KingdomIvan Magalhaes RENEWAL
Julie V DoeCanadaAnna Fali NEGOTIATION
Antonio Z KolmetzJapanStephen Shaw NEGOTIATION
Jennifer J CaudyGermanyElwin Sharvill NEGOTIATION
Kadeem T ButtCanadaXuxue Feng RENEWAL
Octavia W RutaCanadaAsiya Javayant PROPOSAL
David I TollnerGermanyOnyama Limba QUALIFIED
Cody S ButtItalyAmy Elsner NEW
Aruna C KuskoBrazilElwin Sharvill NEGOTIATION
James E IturbideIndiaElwin Sharvill QUALIFIED
Ricardo K MorascaBrazilStephen Shaw NEGOTIATION
Kaitlin O FlosiBrazilAnna Fali NEGOTIATION
Juan X AmigonSpainElwin Sharvill UNQUALIFIED
Ashley M ButtRussiaAsiya Javayant PROPOSAL
Johnson C BowleyItalyOnyama Limba UNQUALIFIED
Antonio S WhobreySpainAmy Elsner RENEWAL
Isabel S ChuiFranceAsiya Javayant QUALIFIED
Aditya J GlickJapanBernardo Dominic RENEWAL
Mujtaba L DarakjyFranceAmy Elsner QUALIFIED
Mayumi U RutaFranceStephen Shaw NEGOTIATION
Izzy C AlbaresIndiaStephen Shaw NEGOTIATION
Frozen Columns
Name
Aika V Kolmetz
Smith B Waycott
Smith M Morasca
Ivar T Waycott
Octavia Z Slusarski
Maisha S Malet
Silvio T Dilliard
Stacey L Waycott
Kaitlin I Kusko
Maisha O Tollner
Jeanfrancois A Bolognia
Faith L Rim
Julie J Oldroyd
Julie L Saylors
Mayumi P Stenseth
Morrow N Ferencz
Leja Z Gaucho
Rodrigues W Royster
Tony Y Wieser
Rodrigues D Chui
Claire O Poquette
Juan A Whobrey
Octavia R Rim
Smith M Kolmetz
Deepesh R Iturbide
Arvin E Butt
Cody C Glick
Johnson B Glick
Cody W Nicka
Octavia D Rim
James O Oldroyd
Smith M Garufi
Kadeem C Paprocki
Tony J Briddick
Rodrigues Q Paprocki
Mayumi T Caldarera
Costa G Ferencz
Maisha T Glick
Francesco G Kolmetz
Aruna F Campain
Smith H Venere
Chavez Y Paprocki
James N Kolmetz
Murillo D Malet
Misaki E Schemmer
Sinclair F Ostrosky
Jennifer K Inouye
Ricardo I Flosi
Johnson T Oldroyd
Alejandro R Garufi
IdCountryDate
1000Canada2026-10-08
1001Germany2026-10-01
1002Italy2026-09-14
1003Australia2026-10-07
1004India2026-10-02
1005Italy2026-09-09
1006Australia2026-09-10
1007Germany2026-10-06
1008Germany2026-10-03
1009India2026-09-14
1010Japan2026-10-02
1011United Kingdom2026-09-12
1012Brazil2026-09-19
1013Canada2026-10-07
1014Spain2026-09-21
1015Russia2026-10-04
1016Japan2026-09-29
1017Germany2026-09-15
1018Germany2026-10-03
1019Argentina2026-09-19
1020Spain2026-09-15
1021Germany2026-09-25
1022Italy2026-09-27
1023France2026-09-20
1024Spain2026-09-26
1025Argentina2026-09-09
1026Russia2026-10-02
1027Italy2026-09-10
1028Italy2026-09-16
1029Germany2026-09-15
1030Argentina2026-09-26
1031United Kingdom2026-10-08
1032Japan2026-09-27
1033Argentina2026-09-11
1034Russia2026-09-28
1035Russia2026-10-01
1036United Kingdom2026-10-07
1037Canada2026-09-25
1038Germany2026-09-19
1039Italy2026-09-23
1040Argentina2026-09-09
1041Germany2026-09-14
1042Spain2026-09-26
1043Canada2026-10-08
1044Australia2026-09-29
1045United Kingdom2026-09-11
1046India2026-09-27
1047Canada2026-09-16
1048Italy2026-09-27
1049France2026-09-22

On-Demand Data

NameIdCountryDate
Nicolas R Morasca1000Canada2026-09-23
Alejandro B Stenseth1001Italy2026-09-17
Ricardo U Wieser1002France2026-10-04
Wickens Y Tollner1003Russia2026-09-13
Rodrigues B Nestle1004France2026-10-05
Izzy S Ferencz1005Argentina2026-09-26
Wickens L Ruta1006Brazil2026-09-26
Silvio M Kolmetz1007Canada2026-09-26
Misaki A Bolognia1008Canada2026-09-11
Octavia Z Chui1009United Kingdom2026-09-16
Izzy Z Amigon1010Italy2026-10-07
Kadeem Z Stenseth1011Argentina2026-09-12
Costa W Nicka1012Spain2026-09-12
James U Figeroa1013Italy2026-09-16
Arvin Z Iturbide1014France2026-10-07
Cody I Morasca1015Italy2026-09-30
Leja K Tollner1016Russia2026-09-22
Johnson C Stockham1017Russia2026-10-05
Aruna C Glick1018Brazil2026-09-23
Clifford J Caldarera1019United Kingdom2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair N KolmetzItalyAnna Fali UNQUALIFIED
Misaki T MorascaJapanXuxue Feng RENEWAL
Salvatore B MorascaItalyStephen Shaw NEGOTIATION
Octavia U PerinGermanyIvan Magalhaes QUALIFIED
Mayumi L AmigonJapanBernardo Dominic PROPOSAL
Ashley A GillianArgentinaIvan Magalhaes UNQUALIFIED
Jones V VenereArgentinaElwin Sharvill NEGOTIATION
Arvin O CaldareraGermanyAnna Fali PROPOSAL
Maria N ButtBrazilElwin Sharvill RENEWAL
David F SlusarskiAustraliaIvan Magalhaes PROPOSAL
Greenwood F BriddickUnited KingdomIoni Bowcher UNQUALIFIED
Johnson E MorascaCanadaBernardo Dominic NEW
James Z SlusarskiGermanyIoni Bowcher QUALIFIED
Jones K SchemmerAustraliaIoni Bowcher NEGOTIATION
Octavia I PaprockiBrazilOnyama Limba PROPOSAL
Munro S TollnerItalyIoni Bowcher QUALIFIED
Alejandro Q MorascaSpainIoni Bowcher NEW
Murillo V RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Misaki Y AlbaresItalyOnyama Limba RENEWAL
Leja F MarrierIndiaOnyama Limba RENEWAL
Nicolas L CampainAustraliaOnyama Limba NEGOTIATION
Ricardo Z GarufiCanadaStephen Shaw NEW
Clifford G WaycottJapanOnyama Limba PROPOSAL
Greenwood G BowleyCanadaStephen Shaw UNQUALIFIED
Leon X RutaRussiaXuxue Feng RENEWAL
Jennifer U GillianCanadaIoni Bowcher NEW
Silvio H FollerFranceElwin Sharvill NEW
Silvio H MaletCanadaAsiya Javayant RENEWAL
James V KuskoBrazilXuxue Feng NEW
Greenwood O CampainAustraliaIoni Bowcher UNQUALIFIED
Smith C MaletArgentinaXuxue Feng QUALIFIED
Emily Y OldroydSpainElwin Sharvill PROPOSAL
Alejandro L WieserRussiaXuxue Feng PROPOSAL
Sinclair X ChuiFranceAsiya Javayant UNQUALIFIED
Sinclair S GauchoJapanAmy Elsner NEW
Chavez F ButtRussiaElwin Sharvill UNQUALIFIED
Salvatore A PaprockiIndiaElwin Sharvill QUALIFIED
Adams Z DilliardJapanStephen Shaw NEGOTIATION
Adams E DarakjyUnited KingdomStephen Shaw NEW
Smith A MarrierFranceAmy Elsner PROPOSAL

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