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
Murillo S SaylorsJapanIoni Bowcher UNQUALIFIED
Rodrigues C BowleyItalyIvan Magalhaes PROPOSAL
Aika G KuskoCanadaIoni Bowcher UNQUALIFIED
Cody Z MorascaAustraliaXuxue Feng QUALIFIED
Chavez I WaycottJapanOnyama Limba QUALIFIED
Claire C NickaSpainElwin Sharvill QUALIFIED
Francesco K IturbideGermanyXuxue Feng NEW
Francesco X GlickArgentinaOnyama Limba NEGOTIATION
Jefferson S DarakjyItalyOnyama Limba NEGOTIATION
Kaitlin Q SchemmerIndiaIvan Magalhaes RENEWAL
Arvin B SlusarskiItalyBernardo Dominic PROPOSAL
Isabel H VenereRussiaIoni Bowcher QUALIFIED
Jefferson I KolmetzCanadaStephen Shaw RENEWAL
Sinclair Q MacleadCanadaIvan Magalhaes PROPOSAL
Faith W SchemmerAustraliaElwin Sharvill NEW
Aruna T KuskoJapanXuxue Feng UNQUALIFIED
Emily W StensethSpainBernardo Dominic QUALIFIED
Deepesh Y BriddickGermanyAnna Fali UNQUALIFIED
Tony X MacleadItalyAsiya Javayant PROPOSAL
Adams X PerinCanadaAsiya Javayant RENEWAL
Aditya E FerenczBrazilOnyama Limba QUALIFIED
Adams V MorascaItalyAsiya Javayant NEW
Silvio S RoysterItalyAmy Elsner NEGOTIATION
James E SaylorsRussiaXuxue Feng NEW
Kadeem D DilliardIndiaIoni Bowcher UNQUALIFIED
Claire P KuskoGermanyAmy Elsner QUALIFIED
Ricardo Q MorascaSpainAsiya Javayant QUALIFIED
Julie G OldroydSpainStephen Shaw NEGOTIATION
Greenwood D BologniaUnited KingdomElwin Sharvill QUALIFIED
Silvio U SlusarskiRussiaXuxue Feng UNQUALIFIED
Stacey A RulapaughItalyIoni Bowcher NEW
Ricardo N InouyeBrazilBernardo Dominic NEW
James W MaletFranceOnyama Limba NEGOTIATION
Jeanfrancois C DarakjyUnited KingdomIoni Bowcher RENEWAL
Darci Q VenereArgentinaXuxue Feng RENEWAL
Costa T FollerGermanyStephen Shaw NEW
Smith W BologniaUnited KingdomElwin Sharvill QUALIFIED
Izzy J PaprockiCanadaBernardo Dominic UNQUALIFIED
Jones R GauchoAustraliaAmy Elsner RENEWAL
Izzy Y CaudyArgentinaIoni Bowcher RENEWAL
Murillo V PoquetteFranceOnyama Limba QUALIFIED
Darci X CaudyArgentinaOnyama Limba NEW
Darci N RulapaughBrazilBernardo Dominic RENEWAL
Francesco D SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Misaki G CampainItalyIoni Bowcher QUALIFIED
Claire H GlickIndiaAnna Fali QUALIFIED
Cody N BologniaFranceXuxue Feng UNQUALIFIED
Aditya F DilliardRussiaAsiya Javayant UNQUALIFIED
Emily F GarufiFranceIvan Magalhaes QUALIFIED
David E AmigonFranceAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David Z SchemmerUnited KingdomXuxue Feng NEGOTIATION
Aruna M ButtBrazilIvan Magalhaes RENEWAL
Isabel D InouyeGermanyAmy Elsner UNQUALIFIED
Ivar W StockhamBrazilElwin Sharvill UNQUALIFIED
James A StensethFranceElwin Sharvill NEW
Ashley I WieserCanadaIoni Bowcher PROPOSAL
Wickens R OldroydItalyXuxue Feng PROPOSAL
Ashley W GlickCanadaOnyama Limba PROPOSAL
Sinclair Z SaylorsBrazilAmy Elsner UNQUALIFIED
Maisha D CaldareraItalyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson X NickaArgentina2026-09-22Dorl, James J Esq NEW55Stephen Shaw
1001Smith V DarakjyArgentina2026-09-27Feiner Bros RENEWAL70Ioni Bowcher
1002Kaitlin Z DoeAustralia2026-09-20Morlong Associates QUALIFIED56Bernardo Dominic
1003Clifford B RutaRussia2026-10-08Chapman, Ross E Esq NEGOTIATION95Stephen Shaw
1004Morrow A DilliardBrazil2026-10-14Morlong Associates PROPOSAL62Stephen Shaw
1005Jones X OldroydFrance2026-09-27Chemel, James L Cpa PROPOSAL4Ioni Bowcher
1006Nicolas X FerenczGermany2026-10-10Buckley Miller Wright RENEWAL70Amy Elsner
1007Jefferson D DarakjyUnited Kingdom2026-10-14King, Christopher A Esq NEGOTIATION35Xuxue Feng
1008Aika D SergiGermany2026-10-19Commercial Press NEW37Asiya Javayant
1009Misaki A RulapaughUnited Kingdom2026-10-19Truhlar And Truhlar Attys PROPOSAL56Asiya Javayant
1010Salvatore H NickaRussia2026-10-15Commercial Press NEGOTIATION28Bernardo Dominic
1011Tony D PaprockiFrance2026-10-03Morlong Associates NEGOTIATION50Ivan Magalhaes
1012Aruna X PoquetteIndia2026-10-14Chanay, Jeffrey A Esq NEW56Stephen Shaw
1013Claire O ChuiItaly2026-10-04Feltz Printing Service PROPOSAL88Ioni Bowcher
1014Jefferson Z VenereBrazil2026-10-10Feiner Bros UNQUALIFIED65Ioni Bowcher
1015Kadeem Z NickaJapan2026-10-17King, Christopher A Esq NEW71Stephen Shaw
1016Ricardo T VenereSpain2026-10-10Printing Dimensions PROPOSAL30Xuxue Feng
1017Jefferson U WaycottJapan2026-10-13Chemel, James L Cpa NEGOTIATION29Stephen Shaw
1018Izzy R RoysterFrance2026-09-24Benton, John B Jr UNQUALIFIED82Onyama Limba
1019Ashley I SaylorsJapan2026-10-01Rousseaux, Michael Esq QUALIFIED22Amy Elsner
1020Clifford R BologniaBrazil2026-09-24Rousseaux, Michael Esq UNQUALIFIED21Bernardo Dominic
1021Faith V MarrierSpain2026-09-23Truhlar And Truhlar Attys QUALIFIED35Onyama Limba
1022Chavez I DoeRussia2026-09-25Rangoni Of Florence NEW73Elwin Sharvill
1023Ivar F FerenczBrazil2026-10-19Rousseaux, Michael Esq QUALIFIED14Xuxue Feng
1024Stacey Z KuskoCanada2026-09-30King, Christopher A Esq QUALIFIED48Stephen Shaw
1025James I MarrierBrazil2026-09-28Feiner Bros RENEWAL65Amy Elsner
1026Ricardo J RoysterArgentina2026-10-16Chemel, James L Cpa NEGOTIATION9Anna Fali
1027Isabel Q FollerAustralia2026-10-09Feiner Bros NEW48Elwin Sharvill
1028Smith D PerinAustralia2026-10-04Buckley Miller Wright QUALIFIED14Bernardo Dominic
1029Ashley S RutaAustralia2026-09-29Feiner Bros NEW16Stephen Shaw
1030Silvio W GauchoUnited Kingdom2026-10-13Buckley Miller Wright QUALIFIED56Elwin Sharvill
1031Alejandro U SchemmerRussia2026-10-07Chapman, Ross E Esq NEGOTIATION15Amy Elsner
1032Greenwood G AmigonUnited Kingdom2026-10-08Commercial Press UNQUALIFIED48Stephen Shaw
1033Mayumi V DarakjyAustralia2026-10-08Benton, John B Jr UNQUALIFIED26Anna Fali
1034Ashley M CaldareraBrazil2026-10-12Rousseaux, Michael Esq NEW92Onyama Limba
1035Alejandro E OstroskyItaly2026-09-20Morlong Associates RENEWAL53Onyama Limba
1036Juan G MaletAustralia2026-10-09Chemel, James L Cpa UNQUALIFIED84Xuxue Feng
1037Leja R ChuiArgentina2026-09-20Printing Dimensions UNQUALIFIED66Asiya Javayant
1038Chavez W ShinkoSpain2026-10-07Morlong Associates UNQUALIFIED15Ivan Magalhaes
1039Jennifer O BologniaAustralia2026-10-01Printing Dimensions RENEWAL49Stephen Shaw
1040Misaki F VocelkaFrance2026-09-22Benton, John B Jr UNQUALIFIED58Xuxue Feng
1041Smith R WieserIndia2026-10-09Chanay, Jeffrey A Esq RENEWAL14Bernardo Dominic
1042Cody K BriddickItaly2026-10-16Rangoni Of Florence NEW22Ioni Bowcher
1043Wickens P BriddickCanada2026-10-16Buckley Miller Wright RENEWAL52Bernardo Dominic
1044Jones H BriddickSpain2026-09-22Chapman, Ross E Esq PROPOSAL2Xuxue Feng
1045Leja H MacleadFrance2026-10-04Chemel, James L Cpa NEW85Stephen Shaw
1046Costa Z GlickArgentina2026-10-13Rousseaux, Michael Esq UNQUALIFIED14Anna Fali
1047James R BologniaCanada2026-10-03Feltz Printing Service UNQUALIFIED6Bernardo Dominic
1048Morrow U ButtAustralia2026-09-20Morlong Associates NEW0Elwin Sharvill
1049Costa Y FerenczRussia2026-10-16Dorl, James J Esq QUALIFIED85Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Morrow Y RulapaughSpainAmy Elsner NEGOTIATION
Aditya R GauchoRussiaIvan Magalhaes RENEWAL
Wickens J ButtIndiaAmy Elsner NEW
Chavez E VenereRussiaAsiya Javayant NEGOTIATION
Clifford Y VenereBrazilAsiya Javayant RENEWAL
Ashley A PoquetteRussiaAmy Elsner PROPOSAL
Adams A GillianJapanBernardo Dominic UNQUALIFIED
Tony D CaudySpainStephen Shaw PROPOSAL
Aditya Y VenereIndiaAnna Fali QUALIFIED
Leon X FigeroaGermanyOnyama Limba QUALIFIED
Mujtaba V NickaUnited KingdomAmy Elsner UNQUALIFIED
Kadeem H StensethGermanyStephen Shaw PROPOSAL
Misaki Q ChuiCanadaXuxue Feng NEW
Munro Y MarrierAustraliaStephen Shaw RENEWAL
Tony A DilliardCanadaStephen Shaw NEGOTIATION
Nicolas W PoquetteGermanyAnna Fali NEW
Johnson E WieserFranceAsiya Javayant UNQUALIFIED
Aruna V GauchoBrazilAnna Fali NEGOTIATION
Alejandro V WhobreyIndiaIvan Magalhaes QUALIFIED
Faith V StensethUnited KingdomIoni Bowcher QUALIFIED
Leja I VenereSpainIvan Magalhaes QUALIFIED
Nicolas W MarrierBrazilAsiya Javayant RENEWAL
Aruna D GarufiGermanyBernardo Dominic NEGOTIATION
Antonio F OstroskyArgentinaAmy Elsner QUALIFIED
Leja K SlusarskiBrazilStephen Shaw PROPOSAL
Kadeem Y RoysterAustraliaIvan Magalhaes NEGOTIATION
Cody B BologniaItalyStephen Shaw NEW
Tony Z CaldareraBrazilAsiya Javayant NEGOTIATION
Misaki Y PoquetteJapanStephen Shaw QUALIFIED
Kaitlin H RulapaughBrazilAnna Fali QUALIFIED
Faith A GlickIndiaXuxue Feng PROPOSAL
Greenwood O VocelkaArgentinaIoni Bowcher PROPOSAL
Smith N FigeroaAustraliaElwin Sharvill NEW
Johnson W GlickGermanyAmy Elsner PROPOSAL
Salvatore I DarakjyIndiaAnna Fali RENEWAL
Sinclair C WaycottAustraliaXuxue Feng NEGOTIATION
Smith R StockhamFranceXuxue Feng QUALIFIED
Rodrigues X PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Stacey W DilliardArgentinaIoni Bowcher RENEWAL
Clifford H OldroydUnited KingdomBernardo Dominic RENEWAL
Smith W SergiItalyIvan Magalhaes QUALIFIED
Alejandro L BologniaFranceAmy Elsner PROPOSAL
Deepesh S VenereUnited KingdomBernardo Dominic RENEWAL
Kadeem H CaldareraItalyElwin Sharvill PROPOSAL
Jones I SaylorsBrazilAsiya Javayant NEGOTIATION
David S BologniaRussiaElwin Sharvill UNQUALIFIED
Maisha V WhobreyCanadaXuxue Feng UNQUALIFIED
Emily L ButtUnited KingdomStephen Shaw NEW
Francesco G WaycottIndiaAnna Fali PROPOSAL
Ivar J StockhamGermanyIoni Bowcher PROPOSAL
Frozen Columns
Name
Chavez U Schemmer
Adams B Vocelka
Aruna Z Nestle
Smith C Amigon
Mujtaba R Foller
Leon X Darakjy
Arvin J Dilliard
Alejandro A Kusko
Adams O Schemmer
Juan Y Royster
David A Waycott
Clifford L Poquette
Maria Q Vocelka
Silvio J Perin
Claire M Figeroa
Clifford A Iturbide
Mujtaba R Malet
James Q Caldarera
Antonio Y Venere
Alejandro X Wieser
Ivar B Sergi
Leja I Ostrosky
Aditya K Nestle
Stacey S Whobrey
Faith P Rim
Munro A Vocelka
Kadeem P Figeroa
Adams S Kolmetz
Nicolas Z Bowley
Leon V Briddick
Kadeem P Marrier
Mayumi S Gillian
Jennifer T Garufi
Leon S Malet
Arvin H Malet
Antonio U Royster
Greenwood R Sergi
Tony R Marrier
Mujtaba Q Nicka
Darci B Slusarski
Murillo D Iturbide
Misaki P Morasca
Julie U Stockham
Rodrigues G Doe
Aditya B Poquette
Jeanfrancois K Malet
Rodrigues R Shinko
Alejandro Y Rulapaugh
Nicolas A Perin
David A Inouye
IdCountryDate
1000India2026-10-08
1001India2026-09-22
1002Italy2026-10-14
1003India2026-10-15
1004Canada2026-10-18
1005Italy2026-10-08
1006Brazil2026-10-01
1007Brazil2026-10-16
1008Canada2026-09-22
1009Argentina2026-09-21
1010Japan2026-10-19
1011Germany2026-10-03
1012Brazil2026-10-17
1013Argentina2026-09-30
1014Germany2026-10-16
1015France2026-09-20
1016Australia2026-09-22
1017Japan2026-10-11
1018Russia2026-10-10
1019Canada2026-10-06
1020India2026-10-17
1021Brazil2026-09-26
1022Australia2026-09-21
1023Italy2026-09-22
1024Canada2026-09-23
1025Spain2026-09-24
1026Italy2026-10-19
1027Argentina2026-10-19
1028France2026-10-17
1029France2026-10-03
1030Argentina2026-10-04
1031France2026-10-13
1032India2026-09-23
1033Italy2026-10-14
1034Canada2026-10-09
1035Spain2026-10-15
1036Spain2026-10-18
1037United Kingdom2026-10-07
1038Japan2026-10-05
1039India2026-10-04
1040Brazil2026-10-06
1041Japan2026-10-12
1042Germany2026-10-08
1043India2026-09-24
1044Argentina2026-09-23
1045Argentina2026-10-05
1046Spain2026-09-24
1047Spain2026-09-23
1048Germany2026-10-07
1049Brazil2026-10-11

On-Demand Data

NameIdCountryDate
Murillo H Maclead1000Spain2026-10-05
Maisha Y Poquette1001Spain2026-09-27
Cody S Poquette1002Germany2026-10-02
Claire V Slusarski1003Russia2026-10-04
Chavez X Rulapaugh1004Brazil2026-10-05
Alejandro W Shinko1005France2026-10-19
Darci E Garufi1006Spain2026-10-17
Wickens F Venere1007Japan2026-10-15
Claire I Waycott1008Russia2026-10-08
Adams S Whobrey1009France2026-09-25
Maria V Waycott1010Germany2026-10-06
Jeanfrancois O Foller1011France2026-10-10
Cody X Nestle1012Japan2026-10-11
Julie E Doe1013Spain2026-10-08
Johnson S Gillian1014United Kingdom2026-10-08
Misaki I Vocelka1015Brazil2026-10-09
Silvio F Darakjy1016United Kingdom2026-10-10
Rodrigues P Butt1017Russia2026-10-10
Jeanfrancois B Iturbide1018Japan2026-10-17
Juan Y Butt1019Germany2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson T WieserSpainIoni Bowcher PROPOSAL
Claire N SergiJapanOnyama Limba RENEWAL
Sinclair S GillianArgentinaElwin Sharvill RENEWAL
Julie S BologniaUnited KingdomIoni Bowcher PROPOSAL
James Y GlickItalyAsiya Javayant NEGOTIATION
Chavez Z WaycottRussiaAsiya Javayant QUALIFIED
Salvatore W PoquetteBrazilStephen Shaw PROPOSAL
Francesco W WieserIndiaIoni Bowcher QUALIFIED
Murillo K RutaRussiaIoni Bowcher RENEWAL
Aruna P RutaGermanyStephen Shaw PROPOSAL
Faith J RutaJapanIoni Bowcher QUALIFIED
Alejandro I CaudySpainElwin Sharvill NEW
Johnson O DarakjyRussiaAsiya Javayant UNQUALIFIED
Cody I DoeIndiaAmy Elsner QUALIFIED
Wickens H NickaUnited KingdomXuxue Feng NEGOTIATION
Maria E RulapaughGermanyIoni Bowcher QUALIFIED
Jefferson Q MaletGermanyOnyama Limba NEW
Costa B BologniaCanadaIoni Bowcher RENEWAL
Darci Q WaycottJapanAsiya Javayant NEW
Misaki I StensethIndiaOnyama Limba QUALIFIED
Greenwood O FollerRussiaAnna Fali UNQUALIFIED
Wickens W IturbideCanadaElwin Sharvill PROPOSAL
Wickens R MorascaItalyOnyama Limba UNQUALIFIED
Ivar G VocelkaArgentinaAsiya Javayant QUALIFIED
Arvin G RulapaughIndiaOnyama Limba RENEWAL
Ricardo E VocelkaIndiaAsiya Javayant QUALIFIED
Tony S MorascaGermanyXuxue Feng UNQUALIFIED
Sinclair T InouyeSpainXuxue Feng NEW
Rodrigues X PoquetteSpainAmy Elsner NEW
Stacey N ChuiCanadaXuxue Feng NEGOTIATION
Mayumi B CaldareraUnited KingdomXuxue Feng PROPOSAL
Deepesh G RutaCanadaElwin Sharvill UNQUALIFIED
Johnson V VenereSpainOnyama Limba QUALIFIED
Antonio L WaycottBrazilIvan Magalhaes NEW
Nicolas F DoeSpainAnna Fali UNQUALIFIED
Chavez V OldroydFranceXuxue Feng QUALIFIED
Mayumi L InouyeGermanyOnyama Limba UNQUALIFIED
Costa U VenereUnited KingdomStephen Shaw QUALIFIED
Adams X SaylorsAustraliaXuxue Feng UNQUALIFIED
Julie R WaycottAustraliaOnyama Limba 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>