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
Aika Z VenereSpainStephen Shaw NEGOTIATION
James T DoeRussiaStephen Shaw NEW
Aditya C CampainGermanyBernardo Dominic UNQUALIFIED
Rodrigues X GarufiCanadaIvan Magalhaes QUALIFIED
Ricardo N CampainSpainStephen Shaw QUALIFIED
Jefferson N BologniaAustraliaOnyama Limba UNQUALIFIED
Julie X FollerFranceXuxue Feng UNQUALIFIED
Greenwood J CaldareraBrazilOnyama Limba RENEWAL
Deepesh G MaletItalyBernardo Dominic RENEWAL
Juan L FlosiCanadaOnyama Limba NEW
Juan U ButtItalyElwin Sharvill UNQUALIFIED
Munro T WieserCanadaAmy Elsner NEGOTIATION
Mujtaba E GillianAustraliaOnyama Limba PROPOSAL
Misaki O OldroydJapanIoni Bowcher NEGOTIATION
Ashley A MaletIndiaIoni Bowcher QUALIFIED
Aruna T GillianIndiaIvan Magalhaes QUALIFIED
Morrow T BowleyJapanAsiya Javayant NEW
Rodrigues X MorascaJapanStephen Shaw UNQUALIFIED
Julie K RimUnited KingdomAnna Fali UNQUALIFIED
Johnson E GillianUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem U DarakjyIndiaIoni Bowcher RENEWAL
Ricardo Z MacleadItalyAmy Elsner NEW
Isabel H CampainRussiaXuxue Feng QUALIFIED
Claire U OldroydArgentinaAsiya Javayant UNQUALIFIED
Adams H CaudySpainIoni Bowcher RENEWAL
Rodrigues D SlusarskiJapanIvan Magalhaes RENEWAL
Jones J SaylorsIndiaOnyama Limba RENEWAL
Aditya V SchemmerGermanyAsiya Javayant RENEWAL
Emily U WhobreyCanadaIvan Magalhaes QUALIFIED
Salvatore J GlickSpainIoni Bowcher NEW
Tony G AlbaresFranceXuxue Feng UNQUALIFIED
Arvin M OstroskyJapanOnyama Limba NEGOTIATION
Maria O StockhamJapanIvan Magalhaes RENEWAL
Jeanfrancois D InouyeSpainOnyama Limba UNQUALIFIED
Mayumi F GlickAustraliaBernardo Dominic NEW
Munro N GarufiSpainAnna Fali UNQUALIFIED
Ashley U RutaFranceElwin Sharvill UNQUALIFIED
Julie R RimIndiaAmy Elsner NEGOTIATION
Julie L CaudyBrazilBernardo Dominic NEW
Ivar V RulapaughCanadaIoni Bowcher PROPOSAL
Deepesh V OldroydAustraliaElwin Sharvill NEW
James K MarrierFranceStephen Shaw NEW
Sinclair R PoquetteItalyElwin Sharvill QUALIFIED
Morrow U FerenczItalyBernardo Dominic QUALIFIED
Aruna H SaylorsJapanIvan Magalhaes UNQUALIFIED
Nicolas Q PoquetteArgentinaAmy Elsner NEGOTIATION
Tony T MaletItalyAmy Elsner RENEWAL
Deepesh A PoquetteRussiaIvan Magalhaes PROPOSAL
Juan B MaletAustraliaXuxue Feng RENEWAL
Juan H WaycottRussiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Francesco L FlosiJapanStephen Shaw QUALIFIED
Alejandro V MacleadCanadaElwin Sharvill QUALIFIED
Darci Y CaudyFranceAsiya Javayant RENEWAL
Misaki Z GauchoUnited KingdomOnyama Limba NEW
Rodrigues K CaldareraItalyIvan Magalhaes QUALIFIED
Greenwood J PoquetteFranceStephen Shaw RENEWAL
Misaki V CaldareraIndiaBernardo Dominic QUALIFIED
Ricardo K DoeIndiaIvan Magalhaes QUALIFIED
Aika F RoysterArgentinaXuxue Feng UNQUALIFIED
Wickens B WhobreyUnited KingdomOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David D FigeroaItaly2026-09-22Chanay, Jeffrey A Esq NEGOTIATION34Xuxue Feng
1001James Z IturbideJapan2026-09-24Buckley Miller Wright RENEWAL52Ivan Magalhaes
1002Ashley F OldroydRussia2026-09-19Feiner Bros UNQUALIFIED43Onyama Limba
1003Silvio I KuskoArgentina2026-09-22Chemel, James L Cpa PROPOSAL80Amy Elsner
1004Francesco Y DarakjyGermany2026-10-10Morlong Associates PROPOSAL95Ioni Bowcher
1005Deepesh O RutaCanada2026-09-24King, Christopher A Esq UNQUALIFIED74Onyama Limba
1006Misaki K GillianRussia2026-09-25Rousseaux, Michael Esq UNQUALIFIED48Elwin Sharvill
1007Munro J DarakjyBrazil2026-10-07Benton, John B Jr UNQUALIFIED58Onyama Limba
1008Leja K KuskoJapan2026-09-22Printing Dimensions UNQUALIFIED52Xuxue Feng
1009Alejandro X GlickArgentina2026-09-22King, Christopher A Esq QUALIFIED79Asiya Javayant
1010Jones H DoeIndia2026-10-06King, Christopher A Esq QUALIFIED93Ivan Magalhaes
1011Kaitlin Y SaylorsAustralia2026-09-27Benton, John B Jr NEGOTIATION25Anna Fali
1012Cody H MaletArgentina2026-09-22Chemel, James L Cpa NEW64Elwin Sharvill
1013Antonio X PoquetteAustralia2026-09-15Chemel, James L Cpa NEW57Ioni Bowcher
1014Jennifer G WhobreyCanada2026-09-25Benton, John B Jr UNQUALIFIED59Asiya Javayant
1015Antonio O ShinkoItaly2026-10-02Truhlar And Truhlar Attys PROPOSAL85Ioni Bowcher
1016Leja B FollerCanada2026-09-30Buckley Miller Wright QUALIFIED45Elwin Sharvill
1017Tony Y KuskoRussia2026-09-26Chapman, Ross E Esq NEW24Stephen Shaw
1018Johnson K PerinItaly2026-10-11Truhlar And Truhlar Attys NEGOTIATION5Anna Fali
1019Wickens M ChuiFrance2026-10-11Commercial Press QUALIFIED56Amy Elsner
1020Morrow C ShinkoBrazil2026-10-04Dorl, James J Esq RENEWAL97Anna Fali
1021Emily Q GlickRussia2026-09-28Buckley Miller Wright PROPOSAL16Ivan Magalhaes
1022Murillo F RimJapan2026-10-13King, Christopher A Esq NEGOTIATION43Stephen Shaw
1023Sinclair K ButtArgentina2026-09-27Benton, John B Jr QUALIFIED49Asiya Javayant
1024Cody W FollerRussia2026-09-28Buckley Miller Wright QUALIFIED50Elwin Sharvill
1025Darci V FigeroaRussia2026-10-09Chapman, Ross E Esq QUALIFIED18Anna Fali
1026Maria X AmigonRussia2026-09-14Morlong Associates QUALIFIED93Anna Fali
1027Sinclair J DilliardBrazil2026-10-11Rangoni Of Florence NEGOTIATION58Ioni Bowcher
1028Clifford T DoeSpain2026-10-08Rousseaux, Michael Esq RENEWAL38Elwin Sharvill
1029Juan V WieserItaly2026-10-03Dorl, James J Esq NEGOTIATION43Elwin Sharvill
1030Alejandro O WieserBrazil2026-09-16Commercial Press UNQUALIFIED82Onyama Limba
1031Smith G MaletItaly2026-09-22Truhlar And Truhlar Attys RENEWAL87Elwin Sharvill
1032Kadeem Y GlickIndia2026-09-19Buckley Miller Wright PROPOSAL32Anna Fali
1033David W KuskoRussia2026-09-26Feiner Bros NEW45Ivan Magalhaes
1034David R CampainRussia2026-09-17Rangoni Of Florence RENEWAL83Ivan Magalhaes
1035Aditya T SaylorsIndia2026-09-28Printing Dimensions UNQUALIFIED67Bernardo Dominic
1036Jennifer W BowleyItaly2026-09-28Chanay, Jeffrey A Esq NEW9Ivan Magalhaes
1037Jefferson W GauchoFrance2026-09-25Feiner Bros RENEWAL85Onyama Limba
1038Costa H MaletSpain2026-09-23Benton, John B Jr QUALIFIED9Anna Fali
1039Morrow I WaycottUnited Kingdom2026-09-15Chanay, Jeffrey A Esq PROPOSAL11Ivan Magalhaes
1040Cody T CaldareraUnited Kingdom2026-09-21Buckley Miller Wright QUALIFIED52Elwin Sharvill
1041Faith K SergiIndia2026-09-15Chemel, James L Cpa NEGOTIATION85Ivan Magalhaes
1042Kadeem D SlusarskiItaly2026-10-08King, Christopher A Esq UNQUALIFIED91Amy Elsner
1043Aditya Q SaylorsBrazil2026-09-14Printing Dimensions PROPOSAL10Stephen Shaw
1044Ivar O FollerIndia2026-10-12Feltz Printing Service QUALIFIED80Elwin Sharvill
1045Greenwood V RutaRussia2026-10-03Dorl, James J Esq QUALIFIED36Bernardo Dominic
1046Tony M ButtSpain2026-09-19Truhlar And Truhlar Attys NEGOTIATION31Ivan Magalhaes
1047Juan L MaletGermany2026-10-04Dorl, James J Esq QUALIFIED85Ioni Bowcher
1048Aditya G DoeArgentina2026-10-13Feltz Printing Service UNQUALIFIED90Amy Elsner
1049Izzy Q GauchoSpain2026-09-29Buckley Miller Wright NEW76Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Silvio K ButtUnited KingdomIoni Bowcher RENEWAL
Alejandro Z TollnerJapanAsiya Javayant NEW
Faith I FollerArgentinaIvan Magalhaes RENEWAL
Octavia T FerenczCanadaAmy Elsner PROPOSAL
David J SaylorsArgentinaStephen Shaw QUALIFIED
Cody R NickaAustraliaBernardo Dominic PROPOSAL
Wickens Z FlosiFranceStephen Shaw UNQUALIFIED
Johnson D KuskoGermanyElwin Sharvill QUALIFIED
Jefferson X ChuiArgentinaIvan Magalhaes RENEWAL
Maisha F BologniaGermanyAmy Elsner PROPOSAL
Juan Y SaylorsRussiaAsiya Javayant UNQUALIFIED
Sinclair I StensethArgentinaAnna Fali PROPOSAL
Adams R MaletAustraliaXuxue Feng RENEWAL
Darci C BologniaAustraliaAnna Fali NEGOTIATION
Costa E IturbideJapanAmy Elsner QUALIFIED
Jeanfrancois Y BowleyFranceOnyama Limba NEW
Rodrigues Z InouyeSpainStephen Shaw QUALIFIED
Mujtaba J VenereAustraliaStephen Shaw NEW
Juan X TollnerCanadaAsiya Javayant PROPOSAL
Jennifer R CaldareraFranceBernardo Dominic RENEWAL
Costa E ShinkoCanadaAsiya Javayant NEW
Stacey T MorascaUnited KingdomIvan Magalhaes PROPOSAL
Ricardo W KolmetzFranceXuxue Feng RENEWAL
Smith L InouyeFranceBernardo Dominic PROPOSAL
Faith D OstroskyRussiaAmy Elsner UNQUALIFIED
Salvatore W GarufiJapanAmy Elsner PROPOSAL
Adams O SaylorsAustraliaElwin Sharvill PROPOSAL
Octavia V RutaItalyAnna Fali PROPOSAL
Maisha U WieserArgentinaXuxue Feng QUALIFIED
Juan T GauchoIndiaBernardo Dominic NEGOTIATION
Kaitlin T BowleyFranceAmy Elsner RENEWAL
James T NestleFranceIoni Bowcher RENEWAL
Aruna X GillianCanadaAsiya Javayant PROPOSAL
Alejandro F FlosiCanadaAmy Elsner RENEWAL
Adams Q KuskoArgentinaXuxue Feng QUALIFIED
Munro K GarufiSpainOnyama Limba RENEWAL
Stacey L AmigonIndiaAsiya Javayant RENEWAL
Juan R TollnerUnited KingdomBernardo Dominic NEGOTIATION
Aruna X CampainSpainStephen Shaw UNQUALIFIED
Francesco W ShinkoJapanAsiya Javayant UNQUALIFIED
Greenwood A GarufiRussiaXuxue Feng NEW
Rodrigues W StockhamJapanStephen Shaw NEW
Leja L VocelkaRussiaAnna Fali PROPOSAL
Leon H GauchoCanadaXuxue Feng RENEWAL
Ashley B BologniaRussiaAsiya Javayant QUALIFIED
Deepesh W AlbaresRussiaStephen Shaw NEGOTIATION
Munro N WieserGermanyBernardo Dominic NEGOTIATION
Alejandro T GarufiUnited KingdomOnyama Limba NEW
Wickens N FerenczSpainIvan Magalhaes NEW
Juan S TollnerArgentinaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Sinclair S Royster
Alejandro V Iturbide
Clifford C Saylors
Jennifer N Chui
Juan K Schemmer
Arvin T Caudy
Mayumi E Amigon
Ashley V Waycott
Nicolas U Vocelka
Stacey R Inouye
Emily T Nestle
Faith G Garufi
Salvatore R Glick
Jeanfrancois M Gillian
Octavia H Perin
Tony E Butt
Juan I Figeroa
Isabel G Whobrey
Aika R Darakjy
Stacey Y Tollner
Ivar Y Glick
Stacey U Stockham
Cody S Tollner
Chavez I Sergi
Jennifer H Campain
Emily Q Darakjy
Stacey F Oldroyd
Juan S Bolognia
Ivar U Amigon
Izzy Z Campain
Faith L Perin
Johnson K Kolmetz
Deepesh S Slusarski
Wickens H Rim
Johnson N Shinko
Arvin F Iturbide
Misaki I Maclead
Tony K Paprocki
Mujtaba I Flosi
Ivar J Foller
Jeanfrancois Z Caldarera
Francesco W Campain
Ricardo T Stockham
Silvio K Darakjy
Ivar B Rulapaugh
Aditya J Malet
Stacey A Paprocki
Munro O Maclead
Kadeem E Sergi
Jefferson E Venere
IdCountryDate
1000Australia2026-09-24
1001Germany2026-09-18
1002Japan2026-09-26
1003Italy2026-10-10
1004Australia2026-09-21
1005Germany2026-09-24
1006France2026-09-23
1007Canada2026-09-16
1008Canada2026-10-07
1009Italy2026-10-03
1010Spain2026-10-03
1011Spain2026-09-22
1012India2026-10-03
1013Australia2026-09-17
1014United Kingdom2026-10-12
1015United Kingdom2026-10-04
1016France2026-10-13
1017Argentina2026-09-26
1018Canada2026-09-19
1019Russia2026-10-11
1020Spain2026-10-04
1021Australia2026-09-20
1022Australia2026-09-21
1023Australia2026-09-25
1024Argentina2026-10-10
1025Brazil2026-09-17
1026Russia2026-09-24
1027India2026-09-18
1028Canada2026-09-22
1029Argentina2026-10-12
1030India2026-09-22
1031Spain2026-09-26
1032Argentina2026-10-03
1033Brazil2026-10-09
1034Spain2026-10-04
1035Argentina2026-09-24
1036India2026-09-30
1037Russia2026-09-26
1038Argentina2026-10-06
1039France2026-10-03
1040Russia2026-09-20
1041Spain2026-10-13
1042Germany2026-10-13
1043United Kingdom2026-10-05
1044Australia2026-10-07
1045Italy2026-09-27
1046India2026-10-13
1047Spain2026-09-18
1048Australia2026-09-23
1049Brazil2026-09-18

On-Demand Data

NameIdCountryDate
Smith K Nestle1000Brazil2026-09-28
Maria D Figeroa1001Spain2026-10-06
Jennifer Z Flosi1002Italy2026-10-07
Isabel F Nicka1003India2026-10-07
Claire D Inouye1004Canada2026-09-17
Costa P Flosi1005Russia2026-09-29
Faith S Ruta1006France2026-10-09
Jeanfrancois M Briddick1007Canada2026-10-10
Johnson B Stenseth1008Argentina2026-09-25
Aika E Oldroyd1009Argentina2026-09-20
Murillo L Inouye1010Germany2026-10-13
Morrow G Nestle1011Japan2026-09-16
Clifford D Nestle1012Brazil2026-10-02
Wickens Q Amigon1013United Kingdom2026-09-28
Faith J Figeroa1014Russia2026-10-05
Sinclair D Gillian1015Germany2026-10-12
Clifford S Ferencz1016Canada2026-09-23
Ricardo L Kolmetz1017Australia2026-10-12
Deepesh Z Garufi1018Spain2026-10-04
Deepesh E Maclead1019Canada2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair F ShinkoGermanyXuxue Feng PROPOSAL
Ricardo L WieserJapanIoni Bowcher RENEWAL
Ashley S GillianRussiaIvan Magalhaes QUALIFIED
Aika Q DoeAustraliaStephen Shaw RENEWAL
Greenwood D BowleySpainAnna Fali RENEWAL
Aika C VenereItalyIoni Bowcher NEGOTIATION
Deepesh D VenereSpainIvan Magalhaes NEGOTIATION
Francesco B SaylorsRussiaAnna Fali NEGOTIATION
Kadeem F CampainIndiaBernardo Dominic NEW
Adams W PerinItalyIoni Bowcher PROPOSAL
Ivar Y CaldareraCanadaIvan Magalhaes RENEWAL
Stacey P DoeBrazilAmy Elsner RENEWAL
Octavia B MacleadSpainBernardo Dominic NEGOTIATION
Salvatore H NestleGermanyStephen Shaw PROPOSAL
Kaitlin B KuskoGermanyXuxue Feng RENEWAL
Aruna F AlbaresRussiaIoni Bowcher UNQUALIFIED
Darci A MaletJapanOnyama Limba PROPOSAL
Rodrigues F CaudyGermanyIoni Bowcher QUALIFIED
Julie A ButtUnited KingdomStephen Shaw RENEWAL
Nicolas U SaylorsArgentinaAmy Elsner NEW
Octavia W NickaAustraliaStephen Shaw QUALIFIED
Ricardo S DarakjyFranceBernardo Dominic QUALIFIED
Julie Y AmigonFranceAsiya Javayant PROPOSAL
Nicolas H BowleyAustraliaBernardo Dominic RENEWAL
Costa B KolmetzBrazilIvan Magalhaes UNQUALIFIED
Deepesh L GillianUnited KingdomAnna Fali NEGOTIATION
Wickens I RoysterBrazilXuxue Feng RENEWAL
Isabel O SlusarskiAustraliaOnyama Limba NEGOTIATION
Cody F FollerRussiaIoni Bowcher NEGOTIATION
Salvatore G SchemmerBrazilAsiya Javayant RENEWAL
David M WieserBrazilIvan Magalhaes PROPOSAL
Silvio B GillianFranceElwin Sharvill NEW
Johnson I DoeCanadaIvan Magalhaes NEW
Silvio V KolmetzSpainXuxue Feng PROPOSAL
Adams N NickaAustraliaIvan Magalhaes NEW
Nicolas C StensethFranceBernardo Dominic PROPOSAL
Julie P RimItalyXuxue Feng PROPOSAL
Arvin K NickaCanadaBernardo Dominic QUALIFIED
Deepesh N MaletItalyIoni Bowcher NEW
Antonio Z KuskoBrazilAsiya Javayant UNQUALIFIED

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