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
Mujtaba Q ShinkoFranceBernardo Dominic UNQUALIFIED
Jefferson Z DarakjyGermanyIvan Magalhaes UNQUALIFIED
Sinclair Y VocelkaFranceAsiya Javayant RENEWAL
Murillo M IturbideItalyXuxue Feng QUALIFIED
Maisha F CaudyCanadaStephen Shaw RENEWAL
Munro M ButtJapanStephen Shaw UNQUALIFIED
Maisha P DilliardGermanyStephen Shaw RENEWAL
Nicolas O InouyeArgentinaXuxue Feng UNQUALIFIED
Aruna H CaudyIndiaStephen Shaw PROPOSAL
Juan H GlickArgentinaAnna Fali QUALIFIED
Mujtaba I FlosiBrazilAmy Elsner QUALIFIED
Darci F MaletFranceXuxue Feng NEW
Julie G DoeItalyIvan Magalhaes QUALIFIED
Ashley I GillianGermanyXuxue Feng NEW
Maisha O VocelkaSpainElwin Sharvill UNQUALIFIED
Francesco S MaletIndiaIoni Bowcher NEW
Mujtaba I CampainItalyAsiya Javayant RENEWAL
Juan Q CaudyIndiaIoni Bowcher RENEWAL
Isabel O WaycottItalyIoni Bowcher RENEWAL
Jeanfrancois B FigeroaGermanyIvan Magalhaes NEW
Stacey O KolmetzItalyBernardo Dominic RENEWAL
Ivar V DoeArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois J SlusarskiGermanyBernardo Dominic NEGOTIATION
Aruna E ButtFranceStephen Shaw RENEWAL
Cody U GlickGermanyIoni Bowcher PROPOSAL
Juan M WieserAustraliaStephen Shaw NEGOTIATION
David Z CaldareraItalyIoni Bowcher NEGOTIATION
Nicolas W SergiGermanyAnna Fali RENEWAL
Costa Y MaletRussiaAnna Fali PROPOSAL
Alejandro E KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Aika N AmigonUnited KingdomAnna Fali NEW
Silvio H MaletArgentinaOnyama Limba QUALIFIED
Leon L ShinkoArgentinaElwin Sharvill QUALIFIED
Greenwood K SlusarskiGermanyAnna Fali QUALIFIED
Munro R StockhamBrazilAsiya Javayant PROPOSAL
Munro L NickaUnited KingdomAnna Fali RENEWAL
Stacey P PaprockiItalyStephen Shaw NEGOTIATION
Faith S BologniaItalyStephen Shaw QUALIFIED
Jefferson M KolmetzSpainStephen Shaw RENEWAL
Emily I VocelkaBrazilIoni Bowcher UNQUALIFIED
Rodrigues R NestleSpainBernardo Dominic NEGOTIATION
Deepesh V BriddickBrazilElwin Sharvill NEW
Alejandro I WhobreyGermanyIvan Magalhaes PROPOSAL
Isabel J PaprockiIndiaXuxue Feng QUALIFIED
Deepesh N KolmetzRussiaOnyama Limba RENEWAL
Aika G CaudyAustraliaIvan Magalhaes NEW
Mayumi C CaudyUnited KingdomAmy Elsner PROPOSAL
Aruna L AmigonItalyIvan Magalhaes NEW
Deepesh I CaudyItalyAnna Fali RENEWAL
Tony C DoeItalyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Clifford J MarrierFranceBernardo Dominic NEW
Francesco N DoeBrazilBernardo Dominic NEW
Rodrigues P NickaAustraliaAnna Fali PROPOSAL
Deepesh D ChuiRussiaAsiya Javayant RENEWAL
Misaki V MarrierUnited KingdomIoni Bowcher NEW
Mujtaba V ChuiCanadaElwin Sharvill PROPOSAL
Chavez R FigeroaBrazilAnna Fali PROPOSAL
Tony O KolmetzUnited KingdomStephen Shaw QUALIFIED
Octavia I MaletGermanyXuxue Feng UNQUALIFIED
Mujtaba M FigeroaItalyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia T MorascaSpain2026-11-01Morlong Associates RENEWAL47Asiya Javayant
1001Aruna V ButtAustralia2026-10-31Chanay, Jeffrey A Esq UNQUALIFIED32Elwin Sharvill
1002Greenwood M DilliardUnited Kingdom2026-10-30Rangoni Of Florence NEW69Amy Elsner
1003Silvio G FollerGermany2026-10-20Buckley Miller Wright PROPOSAL96Xuxue Feng
1004Jones O NestleBrazil2026-10-30Morlong Associates UNQUALIFIED83Anna Fali
1005Jefferson H WhobreyAustralia2026-10-10Rousseaux, Michael Esq PROPOSAL75Stephen Shaw
1006Clifford V TollnerBrazil2026-10-19Feiner Bros UNQUALIFIED4Stephen Shaw
1007Alejandro D SchemmerJapan2026-10-12Buckley Miller Wright RENEWAL39Stephen Shaw
1008Claire I RulapaughCanada2026-10-10Rousseaux, Michael Esq PROPOSAL8Ioni Bowcher
1009Francesco T RulapaughGermany2026-10-17King, Christopher A Esq NEGOTIATION8Asiya Javayant
1010Cody B AmigonFrance2026-10-13Feiner Bros NEW71Xuxue Feng
1011Costa S CaldareraItaly2026-10-18Truhlar And Truhlar Attys QUALIFIED76Amy Elsner
1012Jeanfrancois L WhobreyRussia2026-10-17Dorl, James J Esq PROPOSAL47Bernardo Dominic
1013Sinclair T PerinFrance2026-11-03Dorl, James J Esq QUALIFIED24Xuxue Feng
1014Greenwood U KolmetzIndia2026-10-15King, Christopher A Esq PROPOSAL32Ioni Bowcher
1015Maisha F MaletAustralia2026-10-25Truhlar And Truhlar Attys PROPOSAL33Ivan Magalhaes
1016James F PaprockiGermany2026-10-25Rousseaux, Michael Esq PROPOSAL66Asiya Javayant
1017Munro B ShinkoGermany2026-10-13Dorl, James J Esq QUALIFIED51Ioni Bowcher
1018Aruna W PaprockiIndia2026-10-05Feltz Printing Service PROPOSAL23Xuxue Feng
1019Jefferson V RimCanada2026-11-01Rousseaux, Michael Esq RENEWAL97Amy Elsner
1020Morrow O GarufiItaly2026-10-08Dorl, James J Esq NEW92Stephen Shaw
1021Octavia M KuskoArgentina2026-10-05Dorl, James J Esq NEW98Asiya Javayant
1022Chavez Q DoeUnited Kingdom2026-10-26Benton, John B Jr RENEWAL99Onyama Limba
1023Mujtaba Q MacleadCanada2026-10-27Rangoni Of Florence RENEWAL40Amy Elsner
1024Isabel F SchemmerGermany2026-10-15Printing Dimensions PROPOSAL19Elwin Sharvill
1025Aditya K MaletJapan2026-10-05King, Christopher A Esq RENEWAL51Anna Fali
1026Leon Z MaletItaly2026-10-27Truhlar And Truhlar Attys NEGOTIATION88Anna Fali
1027Jefferson Q RimArgentina2026-10-14Feltz Printing Service PROPOSAL74Ioni Bowcher
1028Antonio T MaletBrazil2026-10-27Chapman, Ross E Esq PROPOSAL57Anna Fali
1029Claire V WhobreyArgentina2026-10-07Commercial Press NEGOTIATION38Onyama Limba
1030Smith N SlusarskiArgentina2026-10-22Rousseaux, Michael Esq PROPOSAL83Ioni Bowcher
1031Jennifer T AlbaresAustralia2026-10-23Chanay, Jeffrey A Esq RENEWAL32Elwin Sharvill
1032Costa B OstroskyIndia2026-11-03Dorl, James J Esq NEW18Elwin Sharvill
1033Greenwood I MorascaAustralia2026-10-24Feiner Bros RENEWAL86Xuxue Feng
1034Munro K DarakjyCanada2026-10-29Feltz Printing Service PROPOSAL74Elwin Sharvill
1035Costa K AmigonGermany2026-10-10Rousseaux, Michael Esq UNQUALIFIED79Xuxue Feng
1036Aika G WhobreyItaly2026-10-26Feiner Bros UNQUALIFIED55Xuxue Feng
1037Greenwood B DilliardItaly2026-10-26Chapman, Ross E Esq NEGOTIATION86Xuxue Feng
1038Rodrigues V WieserIndia2026-10-21Rangoni Of Florence UNQUALIFIED5Xuxue Feng
1039Jefferson S BowleyFrance2026-10-23Rousseaux, Michael Esq QUALIFIED53Xuxue Feng
1040Kadeem T NestleBrazil2026-10-22Buckley Miller Wright PROPOSAL56Elwin Sharvill
1041Sinclair Y RutaJapan2026-10-17Chapman, Ross E Esq NEW76Ioni Bowcher
1042Aika B OstroskyRussia2026-10-13Rangoni Of Florence NEGOTIATION67Ioni Bowcher
1043Clifford P ChuiBrazil2026-10-24Truhlar And Truhlar Attys RENEWAL41Elwin Sharvill
1044Antonio Y GlickFrance2026-10-28Rousseaux, Michael Esq QUALIFIED59Stephen Shaw
1045Leja V NickaUnited Kingdom2026-10-21Benton, John B Jr NEW40Ioni Bowcher
1046Claire L WieserAustralia2026-10-05Chanay, Jeffrey A Esq NEW79Stephen Shaw
1047Smith H BriddickJapan2026-10-29Dorl, James J Esq RENEWAL47Anna Fali
1048Clifford F MacleadIndia2026-10-24Benton, John B Jr QUALIFIED41Amy Elsner
1049Octavia M PaprockiJapan2026-10-10Rangoni Of Florence PROPOSAL40Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro J StockhamFranceElwin Sharvill NEW
Aditya Q PaprockiRussiaIvan Magalhaes PROPOSAL
Faith X StensethBrazilBernardo Dominic QUALIFIED
Leon K PoquetteRussiaIoni Bowcher QUALIFIED
Mayumi M GlickRussiaIvan Magalhaes NEGOTIATION
Isabel F StensethCanadaBernardo Dominic RENEWAL
Nicolas L DarakjyCanadaAsiya Javayant NEGOTIATION
Munro I SchemmerSpainAnna Fali UNQUALIFIED
Aditya X WhobreyCanadaStephen Shaw PROPOSAL
Maisha E PoquetteIndiaIoni Bowcher RENEWAL
Wickens F MaletArgentinaIoni Bowcher RENEWAL
Cody K SergiJapanAmy Elsner UNQUALIFIED
Adams G WieserJapanIoni Bowcher UNQUALIFIED
Octavia C NickaIndiaStephen Shaw UNQUALIFIED
Mujtaba G MorascaAustraliaStephen Shaw RENEWAL
Juan I SchemmerFranceBernardo Dominic QUALIFIED
Francesco X WieserRussiaIoni Bowcher NEGOTIATION
Tony C OstroskyGermanyIvan Magalhaes NEGOTIATION
Deepesh R GarufiRussiaAsiya Javayant RENEWAL
Emily D FollerArgentinaIoni Bowcher NEW
Claire V GauchoCanadaOnyama Limba RENEWAL
Aika A PerinIndiaStephen Shaw RENEWAL
Leon T RutaItalyStephen Shaw NEGOTIATION
Maisha M FollerAustraliaAmy Elsner RENEWAL
Alejandro W FlosiCanadaElwin Sharvill NEW
Murillo R CaudyIndiaStephen Shaw NEGOTIATION
Munro O KuskoCanadaAnna Fali RENEWAL
James Y PerinUnited KingdomStephen Shaw PROPOSAL
Izzy A SergiJapanAmy Elsner QUALIFIED
Leon I VocelkaUnited KingdomIoni Bowcher NEW
Aditya R GauchoAustraliaIvan Magalhaes UNQUALIFIED
Isabel L SaylorsAustraliaIvan Magalhaes NEGOTIATION
Alejandro I MorascaArgentinaAsiya Javayant NEGOTIATION
Jones F SchemmerAustraliaStephen Shaw QUALIFIED
Darci J BowleyItalyIvan Magalhaes NEGOTIATION
Munro H DilliardBrazilAnna Fali NEW
Deepesh G ButtGermanyStephen Shaw RENEWAL
Jeanfrancois K WhobreyArgentinaBernardo Dominic PROPOSAL
David L FigeroaIndiaIoni Bowcher NEGOTIATION
David Z MorascaCanadaElwin Sharvill NEW
Chavez L GauchoJapanOnyama Limba PROPOSAL
Cody L GlickJapanBernardo Dominic NEGOTIATION
Jeanfrancois O RulapaughCanadaOnyama Limba RENEWAL
Nicolas C NickaBrazilAnna Fali UNQUALIFIED
Alejandro P TollnerAustraliaAmy Elsner RENEWAL
Jennifer L DilliardCanadaBernardo Dominic NEW
Izzy R VenereBrazilAmy Elsner NEW
Ricardo G MorascaArgentinaOnyama Limba NEW
Aruna C MarrierJapanAnna Fali NEW
David P RoysterRussiaAmy Elsner NEW
Frozen Columns
Name
Arvin P Albares
Greenwood U Darakjy
Octavia B Vocelka
Jeanfrancois K Inouye
Leja Y Flosi
Ivar D Venere
David I Malet
Faith L Marrier
Deepesh K Wieser
Wickens V Glick
David M Nestle
Morrow C Garufi
Misaki W Garufi
Antonio V Albares
Aika R Bolognia
Costa P Briddick
James U Gillian
Nicolas C Waycott
Tony Q Rulapaugh
Stacey V Butt
Jones H Paprocki
Juan C Iturbide
Greenwood M Marrier
Johnson J Dilliard
Adams F Malet
Leon I Morasca
Jennifer I Garufi
Aruna H Doe
Costa T Caldarera
Clifford T Wieser
Aika U Rim
James N Kolmetz
Darci P Paprocki
Ricardo D Gaucho
Jeanfrancois G Bolognia
Jefferson N Flosi
Emily B Rulapaugh
Silvio M Nicka
Maria W Marrier
Cody V Sergi
Jones M Sergi
Deepesh X Slusarski
Emily J Glick
Murillo R Briddick
Maria L Foller
Munro K Tollner
Morrow I Nicka
Clifford G Rulapaugh
Munro K Darakjy
Murillo R Doe
IdCountryDate
1000France2026-10-21
1001Canada2026-11-02
1002Australia2026-10-30
1003Argentina2026-10-16
1004Canada2026-10-15
1005United Kingdom2026-10-31
1006Spain2026-10-14
1007Spain2026-10-18
1008France2026-10-31
1009Russia2026-10-12
1010Japan2026-10-16
1011Russia2026-10-26
1012Germany2026-10-27
1013India2026-10-19
1014United Kingdom2026-10-22
1015Spain2026-10-06
1016Japan2026-10-10
1017Australia2026-10-30
1018France2026-10-13
1019France2026-10-19
1020Japan2026-10-30
1021Italy2026-10-24
1022Italy2026-10-08
1023United Kingdom2026-10-17
1024Argentina2026-10-09
1025Canada2026-10-30
1026Argentina2026-11-02
1027Spain2026-10-07
1028Argentina2026-10-08
1029India2026-10-17
1030Russia2026-10-06
1031Canada2026-10-29
1032Brazil2026-10-06
1033Argentina2026-10-10
1034Canada2026-10-19
1035Italy2026-11-01
1036United Kingdom2026-10-28
1037Australia2026-10-24
1038Russia2026-10-19
1039Spain2026-10-11
1040Germany2026-10-20
1041Brazil2026-10-30
1042Germany2026-10-06
1043Australia2026-10-07
1044United Kingdom2026-10-16
1045Italy2026-10-14
1046Canada2026-11-03
1047Brazil2026-10-06
1048France2026-10-12
1049Argentina2026-11-03

On-Demand Data

NameIdCountryDate
Ricardo E Saylors1000Brazil2026-10-11
Aika G Paprocki1001United Kingdom2026-10-13
Leja G Royster1002Spain2026-10-26
Smith N Rim1003Argentina2026-10-24
Morrow G Kusko1004Russia2026-11-03
Greenwood J Bowley1005France2026-10-11
Ivar O Caldarera1006France2026-10-12
Octavia T Nestle1007Spain2026-10-31
Silvio H Bolognia1008Brazil2026-10-11
Kadeem N Amigon1009Canada2026-10-30
Maisha I Iturbide1010Japan2026-10-14
Ashley Q Nicka1011Russia2026-10-30
Chavez B Kusko1012Australia2026-10-25
Tony C Caldarera1013Russia2026-11-02
Arvin V Figeroa1014Spain2026-10-21
Stacey C Sergi1015United Kingdom2026-10-26
David B Royster1016France2026-10-18
Misaki N Caudy1017Japan2026-10-28
Octavia D Waycott1018Spain2026-10-09
Isabel N Poquette1019Canada2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro M ButtIndiaAmy Elsner UNQUALIFIED
Jennifer I RutaRussiaBernardo Dominic NEW
Aditya O BriddickBrazilAsiya Javayant UNQUALIFIED
Salvatore M ChuiAustraliaIvan Magalhaes NEW
Johnson T GillianGermanyIvan Magalhaes NEW
Aika K DilliardJapanAmy Elsner NEW
Jennifer D WhobreyUnited KingdomElwin Sharvill PROPOSAL
Aditya N KolmetzUnited KingdomAsiya Javayant QUALIFIED
Salvatore P IturbideBrazilAsiya Javayant UNQUALIFIED
Wickens O BriddickArgentinaElwin Sharvill QUALIFIED
Francesco M IturbideCanadaElwin Sharvill UNQUALIFIED
Morrow D BologniaBrazilIoni Bowcher QUALIFIED
Kadeem L WhobreyFranceAmy Elsner RENEWAL
Maisha W MaletItalyElwin Sharvill RENEWAL
Greenwood F CampainBrazilAmy Elsner PROPOSAL
Jennifer F DoeCanadaElwin Sharvill UNQUALIFIED
Juan K MaletCanadaOnyama Limba NEW
Greenwood Q RulapaughUnited KingdomAsiya Javayant RENEWAL
Darci U MorascaUnited KingdomAmy Elsner PROPOSAL
Mayumi Q InouyeBrazilAmy Elsner NEGOTIATION
Antonio P DilliardSpainElwin Sharvill PROPOSAL
Kadeem C ChuiAustraliaAmy Elsner RENEWAL
Claire E WhobreyAustraliaIoni Bowcher QUALIFIED
Aika T CaudySpainOnyama Limba UNQUALIFIED
Juan T ChuiFranceOnyama Limba PROPOSAL
Wickens L PaprockiFranceIoni Bowcher UNQUALIFIED
Stacey U DilliardUnited KingdomElwin Sharvill NEW
David U SaylorsCanadaAsiya Javayant NEW
Emily Y MaletBrazilAsiya Javayant PROPOSAL
Octavia X SergiJapanOnyama Limba PROPOSAL
Faith S WhobreyFranceXuxue Feng RENEWAL
Emily M StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Arvin C WaycottRussiaAnna Fali PROPOSAL
Juan S MaletCanadaAsiya Javayant NEGOTIATION
Costa S IturbideAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois J DarakjySpainAsiya Javayant NEGOTIATION
Salvatore A RutaCanadaOnyama Limba UNQUALIFIED
James Q MaletFranceAmy Elsner RENEWAL
Francesco T ButtJapanBernardo Dominic NEGOTIATION
Nicolas E TollnerJapanAnna Fali 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>