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 S RutaRussiaAmy Elsner NEW
Alejandro K RulapaughRussiaIoni Bowcher PROPOSAL
Misaki F OstroskySpainIvan Magalhaes PROPOSAL
Salvatore H SaylorsAustraliaOnyama Limba NEGOTIATION
Salvatore K KuskoBrazilIvan Magalhaes QUALIFIED
Adams T MorascaAustraliaAmy Elsner RENEWAL
Emily Y InouyeIndiaAsiya Javayant RENEWAL
Aditya E WhobreyCanadaAnna Fali QUALIFIED
Jennifer B PoquetteAustraliaAmy Elsner UNQUALIFIED
Chavez A NestleCanadaOnyama Limba QUALIFIED
Claire E PaprockiUnited KingdomAnna Fali PROPOSAL
Izzy D VenereGermanyOnyama Limba RENEWAL
Sinclair O CampainJapanIvan Magalhaes RENEWAL
Aika E GillianRussiaAnna Fali UNQUALIFIED
Aditya B IturbideUnited KingdomIoni Bowcher QUALIFIED
Alejandro X SchemmerRussiaIvan Magalhaes RENEWAL
Julie U PoquetteBrazilIoni Bowcher QUALIFIED
Salvatore A SchemmerCanadaAsiya Javayant NEW
Claire I RimItalyIoni Bowcher PROPOSAL
Jones B FollerAustraliaAmy Elsner PROPOSAL
Wickens G MaletGermanyIvan Magalhaes NEW
Jefferson A FigeroaUnited KingdomIoni Bowcher PROPOSAL
Julie N MarrierJapanAsiya Javayant NEGOTIATION
Antonio R StockhamUnited KingdomStephen Shaw UNQUALIFIED
Smith E BologniaItalyAsiya Javayant NEW
Julie J TollnerFranceOnyama Limba RENEWAL
Chavez R DarakjyRussiaOnyama Limba UNQUALIFIED
Leon Y MorascaUnited KingdomBernardo Dominic NEW
Rodrigues Q MarrierArgentinaElwin Sharvill PROPOSAL
Leon N CampainGermanyOnyama Limba UNQUALIFIED
Morrow F GlickArgentinaXuxue Feng NEW
Ashley X GlickBrazilXuxue Feng QUALIFIED
Leon K PerinRussiaOnyama Limba RENEWAL
Aditya H SlusarskiGermanyIvan Magalhaes NEGOTIATION
Chavez T VenereIndiaStephen Shaw NEW
Maria C CampainFranceIvan Magalhaes NEGOTIATION
Leon B RutaFranceXuxue Feng NEGOTIATION
Arvin L ButtRussiaAnna Fali PROPOSAL
Jefferson Z DoeBrazilXuxue Feng NEGOTIATION
Izzy X NestleItalyIvan Magalhaes RENEWAL
Francesco M VocelkaArgentinaStephen Shaw PROPOSAL
Leon I MaletSpainElwin Sharvill QUALIFIED
Clifford L FigeroaArgentinaXuxue Feng NEGOTIATION
Deepesh K WieserGermanyBernardo Dominic NEGOTIATION
Chavez C FigeroaGermanyXuxue Feng RENEWAL
Jefferson C StensethItalyAsiya Javayant QUALIFIED
Deepesh K WaycottBrazilAnna Fali RENEWAL
Jefferson M RulapaughSpainIoni Bowcher NEW
Adams R GillianCanadaAmy Elsner NEW
Jefferson A KolmetzJapanOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Silvio K MaletJapanAsiya Javayant NEW
Leja Q DarakjyAustraliaAmy Elsner QUALIFIED
Silvio H FerenczItalyStephen Shaw UNQUALIFIED
Kadeem Y ChuiFranceElwin Sharvill QUALIFIED
Francesco W BologniaCanadaIoni Bowcher QUALIFIED
Kaitlin U RulapaughAustraliaIoni Bowcher NEGOTIATION
Greenwood G ChuiSpainAsiya Javayant NEW
Francesco W VenereGermanyBernardo Dominic QUALIFIED
Adams F DilliardUnited KingdomIvan Magalhaes PROPOSAL
Jones M MacleadRussiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro H RoysterGermany2026-08-30Commercial Press NEW39Ioni Bowcher
1001Mujtaba P GarufiUnited Kingdom2026-09-01Benton, John B Jr QUALIFIED90Amy Elsner
1002Octavia Q FollerFrance2026-08-28Truhlar And Truhlar Attys RENEWAL97Bernardo Dominic
1003Stacey K ChuiCanada2026-09-16King, Christopher A Esq UNQUALIFIED97Ivan Magalhaes
1004Leja P FollerGermany2026-09-11Commercial Press NEW81Asiya Javayant
1005Antonio O StockhamBrazil2026-09-04Feltz Printing Service PROPOSAL12Ivan Magalhaes
1006Tony S WieserIndia2026-09-06Benton, John B Jr NEW7Ioni Bowcher
1007Francesco P VenereUnited Kingdom2026-08-26Chemel, James L Cpa RENEWAL90Ivan Magalhaes
1008Octavia A WieserAustralia2026-09-15Rousseaux, Michael Esq NEGOTIATION27Ivan Magalhaes
1009Tony H CaudyUnited Kingdom2026-09-18Rangoni Of Florence NEGOTIATION17Asiya Javayant
1010Chavez G FerenczFrance2026-09-23Truhlar And Truhlar Attys PROPOSAL14Ioni Bowcher
1011Ricardo E RoysterGermany2026-09-14Feltz Printing Service NEGOTIATION95Stephen Shaw
1012Chavez B MaletAustralia2026-09-02Dorl, James J Esq UNQUALIFIED99Stephen Shaw
1013Murillo W KuskoRussia2026-09-05Chemel, James L Cpa QUALIFIED43Xuxue Feng
1014Maria G RulapaughJapan2026-08-25Chemel, James L Cpa NEW19Ivan Magalhaes
1015Emily I RulapaughFrance2026-09-07Buckley Miller Wright PROPOSAL68Amy Elsner
1016Chavez E WhobreySpain2026-09-15Dorl, James J Esq UNQUALIFIED90Anna Fali
1017Greenwood S FollerIndia2026-09-11Chanay, Jeffrey A Esq NEW63Xuxue Feng
1018Jefferson B WaycottArgentina2026-09-03Buckley Miller Wright QUALIFIED52Amy Elsner
1019Morrow G GlickAustralia2026-09-07Benton, John B Jr PROPOSAL11Ioni Bowcher
1020Cody Q RimBrazil2026-09-14Benton, John B Jr NEGOTIATION19Ioni Bowcher
1021Juan Q FerenczUnited Kingdom2026-09-03Chanay, Jeffrey A Esq UNQUALIFIED93Ioni Bowcher
1022Tony F VocelkaCanada2026-08-26Chemel, James L Cpa PROPOSAL51Xuxue Feng
1023Tony Y StockhamBrazil2026-09-12Benton, John B Jr PROPOSAL0Xuxue Feng
1024Ivar V WaycottAustralia2026-09-17Feltz Printing Service UNQUALIFIED38Stephen Shaw
1025Wickens F VenereCanada2026-09-20Commercial Press RENEWAL34Amy Elsner
1026Leja B NickaBrazil2026-09-01Rousseaux, Michael Esq UNQUALIFIED64Stephen Shaw
1027James U BriddickFrance2026-09-19Feiner Bros PROPOSAL33Elwin Sharvill
1028Rodrigues Z MaletRussia2026-09-23Commercial Press UNQUALIFIED94Ivan Magalhaes
1029Nicolas G InouyeBrazil2026-09-18Feiner Bros QUALIFIED50Ivan Magalhaes
1030Chavez Z FlosiJapan2026-09-11Truhlar And Truhlar Attys RENEWAL89Stephen Shaw
1031Leon C IturbideCanada2026-09-15Truhlar And Truhlar Attys PROPOSAL72Xuxue Feng
1032Wickens P GlickGermany2026-09-04Feiner Bros NEW3Bernardo Dominic
1033Stacey K OldroydAustralia2026-08-31Feltz Printing Service PROPOSAL86Ivan Magalhaes
1034Aika M CaldareraIndia2026-09-09Benton, John B Jr RENEWAL48Onyama Limba
1035Maisha M WaycottBrazil2026-08-29Commercial Press NEGOTIATION55Stephen Shaw
1036Antonio H DoeCanada2026-08-30Morlong Associates UNQUALIFIED60Xuxue Feng
1037Greenwood H BriddickIndia2026-09-04King, Christopher A Esq RENEWAL42Elwin Sharvill
1038Jennifer G RutaUnited Kingdom2026-08-28Buckley Miller Wright NEW18Ioni Bowcher
1039Maria K AlbaresJapan2026-09-23King, Christopher A Esq NEGOTIATION89Xuxue Feng
1040Maria P PaprockiJapan2026-09-14Benton, John B Jr QUALIFIED28Ivan Magalhaes
1041Aika L OstroskyAustralia2026-09-11Feltz Printing Service QUALIFIED52Anna Fali
1042Clifford D SlusarskiAustralia2026-09-01Truhlar And Truhlar Attys NEGOTIATION37Ivan Magalhaes
1043Tony I PerinBrazil2026-09-07Morlong Associates PROPOSAL9Bernardo Dominic
1044Tony V ButtJapan2026-09-18Rangoni Of Florence QUALIFIED68Stephen Shaw
1045Izzy R BologniaArgentina2026-09-07Truhlar And Truhlar Attys NEW80Elwin Sharvill
1046Aditya S GlickArgentina2026-09-12Feiner Bros PROPOSAL69Onyama Limba
1047Antonio W StockhamRussia2026-08-26Buckley Miller Wright RENEWAL22Elwin Sharvill
1048Isabel F RulapaughCanada2026-09-08Feiner Bros NEW4Onyama Limba
1049Jennifer N MaletCanada2026-08-30Truhlar And Truhlar Attys UNQUALIFIED5Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Juan U NickaIndiaXuxue Feng RENEWAL
Emily G SlusarskiItalyBernardo Dominic QUALIFIED
Murillo F TollnerGermanyAnna Fali QUALIFIED
Murillo A GarufiBrazilAmy Elsner PROPOSAL
Jennifer D StockhamRussiaXuxue Feng UNQUALIFIED
Alejandro D FollerAustraliaAsiya Javayant UNQUALIFIED
Aruna A BriddickRussiaAsiya Javayant NEW
Isabel T WhobreyJapanAsiya Javayant RENEWAL
Mayumi Q BowleyUnited KingdomOnyama Limba RENEWAL
Leon Y WieserArgentinaIoni Bowcher QUALIFIED
Salvatore Z TollnerSpainXuxue Feng PROPOSAL
James X NickaUnited KingdomStephen Shaw QUALIFIED
Misaki D StockhamFranceAnna Fali RENEWAL
Juan K MarrierJapanXuxue Feng RENEWAL
Kaitlin L GauchoCanadaAmy Elsner NEW
Munro N KolmetzGermanyXuxue Feng NEGOTIATION
Julie G IturbideFranceOnyama Limba PROPOSAL
Misaki H WieserSpainIvan Magalhaes QUALIFIED
Ricardo F StockhamJapanElwin Sharvill QUALIFIED
Ivar S StockhamArgentinaIoni Bowcher NEW
Aditya E FlosiFranceXuxue Feng NEGOTIATION
Salvatore U DarakjySpainOnyama Limba PROPOSAL
Arvin I DilliardRussiaIvan Magalhaes UNQUALIFIED
Maisha C RimGermanyXuxue Feng NEW
Stacey E FerenczBrazilAnna Fali RENEWAL
James Z BologniaAustraliaElwin Sharvill UNQUALIFIED
Leja T OldroydJapanXuxue Feng QUALIFIED
Maria N ButtSpainIvan Magalhaes RENEWAL
Chavez E GauchoSpainIoni Bowcher PROPOSAL
Aika L SchemmerUnited KingdomOnyama Limba PROPOSAL
Salvatore C FlosiBrazilAsiya Javayant NEGOTIATION
Mujtaba S CaldareraFranceAsiya Javayant NEW
Costa G IturbideIndiaAnna Fali QUALIFIED
Julie T IturbideFranceIvan Magalhaes QUALIFIED
Cody N DilliardArgentinaElwin Sharvill RENEWAL
Ivar G WieserAustraliaIoni Bowcher PROPOSAL
Ivar F MaletUnited KingdomIoni Bowcher RENEWAL
Cody S MaletGermanyXuxue Feng RENEWAL
Mayumi D CaudyItalyIvan Magalhaes RENEWAL
Mayumi Z GauchoBrazilBernardo Dominic NEW
Misaki Q WhobreyCanadaAsiya Javayant NEGOTIATION
James Q NickaGermanyOnyama Limba UNQUALIFIED
Aruna R SaylorsIndiaStephen Shaw NEGOTIATION
Maisha G WieserArgentinaXuxue Feng NEW
Sinclair R SchemmerItalyElwin Sharvill NEGOTIATION
Mujtaba V KolmetzCanadaXuxue Feng NEW
Alejandro P ButtUnited KingdomAsiya Javayant RENEWAL
Rodrigues K SchemmerBrazilOnyama Limba UNQUALIFIED
Jennifer L RimSpainAsiya Javayant RENEWAL
Jennifer C WaycottGermanyAmy Elsner NEGOTIATION
Frozen Columns
Name
Silvio W Flosi
Silvio J Malet
Wickens P Perin
Rodrigues R Tollner
Wickens P Shinko
Smith D Malet
Antonio H Dilliard
Deepesh H Stenseth
Emily X Amigon
Darci R Sergi
Costa S Bowley
Jennifer E Briddick
Aika V Bowley
James F Schemmer
Kadeem Q Nestle
Aika D Bowley
Salvatore V Flosi
Emily X Garufi
Kadeem D Slusarski
Costa Z Paprocki
Deepesh M Bowley
Claire G Ostrosky
Johnson Z Glick
Ricardo J Dilliard
Nicolas P Caudy
Tony Z Malet
Emily L Caudy
Salvatore X Bolognia
Kaitlin R Chui
Ricardo R Darakjy
Julie W Bowley
Deepesh I Shinko
Clifford L Ferencz
Izzy Y Darakjy
Ashley A Malet
Stacey A Gaucho
Costa O Stockham
Leon E Gaucho
Maria J Whobrey
Antonio S Bolognia
Julie F Malet
Sinclair P Rulapaugh
Isabel G Malet
Juan X Caldarera
Deepesh K Garufi
Chavez N Rim
Aditya L Butt
Smith V Gaucho
Aditya W Briddick
Stacey X Briddick
IdCountryDate
1000Argentina2026-09-15
1001Japan2026-08-27
1002France2026-09-04
1003Germany2026-08-29
1004United Kingdom2026-09-15
1005Japan2026-09-04
1006Canada2026-08-27
1007Italy2026-08-27
1008Japan2026-09-01
1009Argentina2026-09-08
1010Italy2026-08-29
1011India2026-09-18
1012United Kingdom2026-09-08
1013Brazil2026-09-09
1014Russia2026-09-23
1015Brazil2026-09-23
1016Italy2026-09-01
1017Canada2026-09-16
1018Japan2026-09-05
1019Japan2026-09-23
1020Japan2026-09-22
1021United Kingdom2026-08-25
1022Canada2026-09-20
1023Brazil2026-09-16
1024Spain2026-09-08
1025Canada2026-09-14
1026Australia2026-08-25
1027Brazil2026-09-05
1028Argentina2026-09-22
1029Spain2026-08-29
1030United Kingdom2026-09-19
1031United Kingdom2026-09-18
1032India2026-09-07
1033United Kingdom2026-09-09
1034Japan2026-08-26
1035Germany2026-09-14
1036Russia2026-09-16
1037Argentina2026-09-23
1038France2026-09-12
1039Spain2026-09-10
1040Australia2026-08-31
1041Spain2026-09-06
1042Argentina2026-09-21
1043Spain2026-09-20
1044Brazil2026-09-12
1045United Kingdom2026-09-06
1046Italy2026-08-25
1047France2026-09-20
1048Argentina2026-09-07
1049Australia2026-08-28

On-Demand Data

NameIdCountryDate
Rodrigues M Maclead1000Japan2026-09-17
Kadeem K Sergi1001India2026-08-29
Salvatore I Kolmetz1002Argentina2026-09-18
Leon G Rim1003India2026-09-10
Isabel U Flosi1004Spain2026-09-14
Juan N Stockham1005Germany2026-09-17
Maisha O Kolmetz1006Germany2026-09-12
Juan T Bowley1007India2026-09-22
Ashley C Ruta1008Brazil2026-08-27
Aditya Z Iturbide1009Russia2026-09-02
Jeanfrancois Y Malet1010Germany2026-09-20
Greenwood R Maclead1011Japan2026-09-23
Izzy M Foller1012Spain2026-09-06
Deepesh Y Chui1013Brazil2026-09-13
Cody C Tollner1014Argentina2026-09-22
Clifford I Dilliard1015Germany2026-09-23
Tony U Flosi1016Japan2026-08-27
Morrow Q Nicka1017Brazil2026-09-17
Nicolas W Briddick1018Brazil2026-09-17
Munro H Chui1019Brazil2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Y FollerRussiaStephen Shaw RENEWAL
Faith T DilliardBrazilOnyama Limba RENEWAL
Rodrigues H MaletFranceStephen Shaw UNQUALIFIED
Faith T RoysterUnited KingdomElwin Sharvill NEW
Greenwood Y AmigonBrazilAsiya Javayant QUALIFIED
Jones P FlosiIndiaXuxue Feng QUALIFIED
Antonio B WaycottIndiaIoni Bowcher QUALIFIED
Wickens D KolmetzArgentinaBernardo Dominic QUALIFIED
Murillo V MorascaArgentinaBernardo Dominic RENEWAL
Jennifer C BologniaAustraliaAnna Fali QUALIFIED
Izzy E GauchoBrazilIvan Magalhaes NEW
Darci Z PoquetteSpainStephen Shaw NEGOTIATION
Jefferson E RoysterIndiaAmy Elsner UNQUALIFIED
Johnson Q MacleadJapanStephen Shaw NEW
Faith F ButtCanadaXuxue Feng RENEWAL
Clifford B DilliardUnited KingdomBernardo Dominic PROPOSAL
Murillo A FollerItalyOnyama Limba RENEWAL
Misaki E BowleySpainOnyama Limba NEW
Leja J FerenczJapanAnna Fali NEGOTIATION
Francesco F RoysterBrazilOnyama Limba UNQUALIFIED
Kadeem G WieserSpainAmy Elsner NEGOTIATION
Morrow I MorascaRussiaAmy Elsner UNQUALIFIED
Rodrigues N SchemmerCanadaAnna Fali NEW
Johnson O BowleyArgentinaBernardo Dominic PROPOSAL
Jennifer W FigeroaCanadaOnyama Limba RENEWAL
Deepesh X OldroydSpainAsiya Javayant RENEWAL
Claire S CaudyItalyIvan Magalhaes UNQUALIFIED
David L OldroydGermanyBernardo Dominic UNQUALIFIED
Claire N RulapaughFranceElwin Sharvill RENEWAL
Darci U SergiUnited KingdomAmy Elsner NEGOTIATION
Claire M WhobreyUnited KingdomAsiya Javayant NEW
Leon D CampainFranceAsiya Javayant NEW
Adams R BowleyItalyOnyama Limba NEW
Maisha D SaylorsSpainIvan Magalhaes QUALIFIED
Julie J RutaItalyXuxue Feng NEW
Mayumi U VenereFranceStephen Shaw RENEWAL
Misaki D FigeroaIndiaElwin Sharvill RENEWAL
Munro E AlbaresIndiaOnyama Limba PROPOSAL
Greenwood J NickaAustraliaIvan Magalhaes NEGOTIATION
Wickens F RoysterUnited KingdomBernardo Dominic 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>