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
Claire E GillianUnited KingdomIoni Bowcher PROPOSAL
Maria O SchemmerUnited KingdomAnna Fali PROPOSAL
Chavez L AlbaresFranceIvan Magalhaes NEGOTIATION
Cody R MacleadItalyAsiya Javayant RENEWAL
Aditya Y SaylorsArgentinaIvan Magalhaes QUALIFIED
Adams C RoysterIndiaBernardo Dominic NEW
Wickens K KuskoIndiaOnyama Limba QUALIFIED
Antonio W ButtJapanBernardo Dominic RENEWAL
Deepesh A RutaJapanOnyama Limba RENEWAL
Arvin D DoeArgentinaIvan Magalhaes NEGOTIATION
Murillo A KuskoFranceAnna Fali RENEWAL
Izzy S RimUnited KingdomIvan Magalhaes QUALIFIED
Nicolas Q DilliardItalyAmy Elsner QUALIFIED
Munro O CaldareraCanadaAsiya Javayant PROPOSAL
Salvatore Q PerinFranceBernardo Dominic NEW
Sinclair U CampainBrazilAsiya Javayant PROPOSAL
Mujtaba W AmigonIndiaElwin Sharvill UNQUALIFIED
Greenwood A RulapaughUnited KingdomOnyama Limba NEGOTIATION
Nicolas U CaudyJapanAnna Fali RENEWAL
Tony P BriddickItalyAmy Elsner RENEWAL
Antonio S GlickIndiaIoni Bowcher NEGOTIATION
Stacey C SlusarskiAustraliaXuxue Feng QUALIFIED
Leja J MacleadBrazilStephen Shaw QUALIFIED
Ashley R OldroydBrazilOnyama Limba RENEWAL
Tony J SchemmerSpainAsiya Javayant PROPOSAL
Morrow F CampainFranceOnyama Limba NEGOTIATION
Mayumi S GarufiFranceAsiya Javayant RENEWAL
Sinclair D RulapaughFranceXuxue Feng RENEWAL
Juan X BowleyArgentinaIoni Bowcher RENEWAL
Emily G DilliardAustraliaBernardo Dominic PROPOSAL
Mujtaba Y CampainIndiaStephen Shaw RENEWAL
Ivar D TollnerFranceAnna Fali QUALIFIED
Maisha R NickaUnited KingdomXuxue Feng NEW
Tony D DarakjyItalyStephen Shaw NEW
Morrow R GauchoIndiaIoni Bowcher NEGOTIATION
Wickens R InouyeFranceXuxue Feng UNQUALIFIED
Emily S GillianItalyAnna Fali NEW
Julie N SchemmerGermanyAnna Fali QUALIFIED
Stacey N OldroydArgentinaAmy Elsner QUALIFIED
Tony P PaprockiGermanyIvan Magalhaes RENEWAL
David Y MaletAustraliaStephen Shaw QUALIFIED
Rodrigues S FerenczItalyAsiya Javayant RENEWAL
Deepesh U SchemmerArgentinaAnna Fali NEGOTIATION
Mayumi E CampainBrazilXuxue Feng PROPOSAL
Francesco D WhobreyCanadaIoni Bowcher NEW
Nicolas W FollerIndiaOnyama Limba NEW
Sinclair I CaldareraJapanAmy Elsner RENEWAL
Adams T PoquetteUnited KingdomAsiya Javayant PROPOSAL
Mayumi V TollnerRussiaOnyama Limba RENEWAL
Mujtaba F MaletArgentinaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Costa E GarufiCanadaIoni Bowcher NEW
Ivar E OldroydRussiaElwin Sharvill NEGOTIATION
Isabel I WieserAustraliaXuxue Feng PROPOSAL
Stacey R NestleItalyBernardo Dominic PROPOSAL
Aruna L PoquetteRussiaOnyama Limba PROPOSAL
Johnson U WaycottSpainIvan Magalhaes NEW
Mayumi K KuskoCanadaAmy Elsner UNQUALIFIED
Leon K GarufiJapanAmy Elsner UNQUALIFIED
Chavez J SaylorsItalyOnyama Limba NEW
Silvio N GarufiIndiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro M WieserFrance2026-10-31Dorl, James J Esq PROPOSAL33Anna Fali
1001Julie L WhobreyFrance2026-10-14Printing Dimensions NEGOTIATION79Asiya Javayant
1002Leja B StockhamCanada2026-11-07Benton, John B Jr UNQUALIFIED31Xuxue Feng
1003Johnson O SlusarskiFrance2026-11-09Benton, John B Jr NEGOTIATION33Amy Elsner
1004Jones V IturbideBrazil2026-11-08Chanay, Jeffrey A Esq NEGOTIATION95Bernardo Dominic
1005Johnson H AmigonArgentina2026-11-03Commercial Press UNQUALIFIED16Stephen Shaw
1006Darci I InouyeUnited Kingdom2026-10-26King, Christopher A Esq NEGOTIATION44Elwin Sharvill
1007Mujtaba H IturbideBrazil2026-11-01Dorl, James J Esq NEGOTIATION89Amy Elsner
1008Wickens J ChuiAustralia2026-11-02Rousseaux, Michael Esq NEGOTIATION91Ioni Bowcher
1009Sinclair T RutaFrance2026-10-28Dorl, James J Esq NEW55Ioni Bowcher
1010Cody K FigeroaItaly2026-10-28Rousseaux, Michael Esq NEW91Xuxue Feng
1011Clifford X OldroydBrazil2026-11-07Rousseaux, Michael Esq RENEWAL61Ioni Bowcher
1012Kadeem M BologniaSpain2026-11-08Rousseaux, Michael Esq RENEWAL10Ioni Bowcher
1013Alejandro I MorascaSpain2026-10-28Chapman, Ross E Esq NEW68Ioni Bowcher
1014Jefferson D DoeCanada2026-10-30Feltz Printing Service NEGOTIATION58Onyama Limba
1015Mujtaba V AlbaresGermany2026-10-25Rousseaux, Michael Esq NEGOTIATION84Onyama Limba
1016Silvio A DoeItaly2026-10-16Morlong Associates PROPOSAL0Elwin Sharvill
1017Claire G SaylorsJapan2026-10-14Commercial Press UNQUALIFIED1Asiya Javayant
1018Ricardo I MarrierFrance2026-10-27Morlong Associates NEGOTIATION4Elwin Sharvill
1019David L BologniaItaly2026-11-08Buckley Miller Wright UNQUALIFIED90Ioni Bowcher
1020Kaitlin L OldroydCanada2026-10-21Buckley Miller Wright UNQUALIFIED30Stephen Shaw
1021Izzy A CaudyJapan2026-10-15Commercial Press UNQUALIFIED3Onyama Limba
1022Smith V OldroydJapan2026-10-14Feltz Printing Service RENEWAL2Amy Elsner
1023David D PoquetteFrance2026-10-13Benton, John B Jr NEGOTIATION32Bernardo Dominic
1024Cody Q KolmetzArgentina2026-11-06Feiner Bros RENEWAL20Ioni Bowcher
1025Mujtaba S FerenczUnited Kingdom2026-11-05Rangoni Of Florence PROPOSAL22Ioni Bowcher
1026Faith R FollerFrance2026-10-30Rangoni Of Florence NEGOTIATION17Ioni Bowcher
1027Deepesh D BriddickAustralia2026-10-13Chanay, Jeffrey A Esq NEW40Amy Elsner
1028Smith W RoysterGermany2026-11-01Chapman, Ross E Esq QUALIFIED29Stephen Shaw
1029Kadeem Y StensethCanada2026-10-16Rangoni Of Florence QUALIFIED31Ivan Magalhaes
1030Izzy O OldroydBrazil2026-10-26Rangoni Of Florence RENEWAL16Ioni Bowcher
1031Clifford L AmigonCanada2026-10-22Morlong Associates RENEWAL48Ioni Bowcher
1032Kadeem U AmigonUnited Kingdom2026-11-09Rangoni Of Florence QUALIFIED13Anna Fali
1033Silvio B ButtBrazil2026-11-08Benton, John B Jr UNQUALIFIED83Ivan Magalhaes
1034Wickens E DoeItaly2026-10-13Benton, John B Jr UNQUALIFIED79Stephen Shaw
1035Chavez X CaudyGermany2026-10-24Buckley Miller Wright UNQUALIFIED69Ioni Bowcher
1036Silvio A SlusarskiItaly2026-11-02King, Christopher A Esq QUALIFIED95Onyama Limba
1037Tony A NestleFrance2026-10-28Chemel, James L Cpa PROPOSAL74Ivan Magalhaes
1038Johnson S BologniaArgentina2026-10-12Feiner Bros QUALIFIED76Ivan Magalhaes
1039Nicolas L CaldareraArgentina2026-10-15Rangoni Of Florence QUALIFIED41Bernardo Dominic
1040Faith E RutaAustralia2026-11-01Benton, John B Jr NEW68Ivan Magalhaes
1041David G ChuiArgentina2026-10-15Chapman, Ross E Esq QUALIFIED37Anna Fali
1042James Y InouyeBrazil2026-10-31Chapman, Ross E Esq RENEWAL16Anna Fali
1043Murillo F FollerBrazil2026-10-11Printing Dimensions QUALIFIED62Asiya Javayant
1044Ashley T StensethAustralia2026-10-11Chanay, Jeffrey A Esq PROPOSAL63Bernardo Dominic
1045Nicolas Q MarrierGermany2026-10-17Commercial Press NEGOTIATION26Anna Fali
1046Maisha N GarufiSpain2026-10-15Dorl, James J Esq RENEWAL4Xuxue Feng
1047Aruna A OldroydRussia2026-10-21Morlong Associates UNQUALIFIED91Ivan Magalhaes
1048Johnson W RimBrazil2026-10-11King, Christopher A Esq QUALIFIED44Xuxue Feng
1049Juan P FigeroaRussia2026-10-26Dorl, James J Esq QUALIFIED33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson P ChuiFranceStephen Shaw UNQUALIFIED
Salvatore C BowleyJapanBernardo Dominic PROPOSAL
Izzy D WhobreyJapanIvan Magalhaes PROPOSAL
Wickens E WieserSpainStephen Shaw UNQUALIFIED
Jefferson L BriddickSpainOnyama Limba NEW
Stacey W DoeUnited KingdomXuxue Feng QUALIFIED
Octavia E GillianRussiaIoni Bowcher PROPOSAL
Aditya Z GillianSpainAmy Elsner RENEWAL
Leon S FollerIndiaAnna Fali NEGOTIATION
Emily W MacleadArgentinaIoni Bowcher QUALIFIED
Jennifer L SchemmerGermanyElwin Sharvill PROPOSAL
Jones L OstroskyRussiaStephen Shaw PROPOSAL
Salvatore C TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Aika H IturbideRussiaBernardo Dominic NEGOTIATION
Costa N NestleIndiaStephen Shaw PROPOSAL
Arvin I ChuiIndiaAnna Fali NEW
Nicolas U SergiCanadaOnyama Limba QUALIFIED
Claire F KolmetzArgentinaXuxue Feng PROPOSAL
Chavez O MacleadRussiaStephen Shaw NEW
Sinclair S AmigonArgentinaStephen Shaw QUALIFIED
Maisha Y BriddickItalyIoni Bowcher QUALIFIED
Rodrigues Z AlbaresFranceBernardo Dominic QUALIFIED
Faith Y SchemmerIndiaAnna Fali RENEWAL
Nicolas X NestleSpainXuxue Feng UNQUALIFIED
Murillo R OstroskyGermanyAnna Fali PROPOSAL
Isabel K SergiArgentinaElwin Sharvill NEW
Arvin Q SchemmerUnited KingdomBernardo Dominic QUALIFIED
Ashley I SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Salvatore X TollnerJapanStephen Shaw PROPOSAL
Kadeem N VenereSpainIvan Magalhaes UNQUALIFIED
Munro X BowleyIndiaStephen Shaw NEGOTIATION
Kadeem Q MorascaGermanyAsiya Javayant UNQUALIFIED
Jennifer D WaycottBrazilElwin Sharvill PROPOSAL
Alejandro M MorascaRussiaAmy Elsner UNQUALIFIED
Johnson F RulapaughAustraliaAnna Fali NEW
Aditya L DilliardFranceAmy Elsner PROPOSAL
Rodrigues T FerenczRussiaBernardo Dominic NEGOTIATION
Claire D DarakjyJapanAsiya Javayant QUALIFIED
Emily W ButtJapanStephen Shaw RENEWAL
Salvatore S AlbaresFranceOnyama Limba RENEWAL
Nicolas X CampainSpainIoni Bowcher RENEWAL
James M FigeroaRussiaStephen Shaw QUALIFIED
Ricardo K WieserAustraliaElwin Sharvill RENEWAL
Kadeem Z KuskoJapanElwin Sharvill UNQUALIFIED
Izzy J MacleadSpainAmy Elsner UNQUALIFIED
Sinclair Z StockhamArgentinaXuxue Feng NEGOTIATION
Salvatore E PerinUnited KingdomAnna Fali NEGOTIATION
Leon B WieserFranceIvan Magalhaes QUALIFIED
Rodrigues O NickaJapanStephen Shaw QUALIFIED
Emily H CaudyArgentinaBernardo Dominic QUALIFIED
Frozen Columns
Name
Sinclair A Paprocki
James D Chui
Ricardo Y Nicka
Julie Q Glick
Juan B Figeroa
Emily K Foller
Izzy E Bowley
Cody P Gillian
Wickens N Butt
Morrow C Slusarski
Adams E Venere
Juan O Rim
Mujtaba W Gillian
Wickens P Rulapaugh
Costa W Stenseth
Julie F Gillian
Sinclair H Waycott
Claire K Saylors
Smith Y Stenseth
Kaitlin O Ostrosky
Isabel U Inouye
Jefferson N Dilliard
Kadeem M Chui
Ivar T Rim
Claire Q Garufi
Chavez X Ostrosky
Wickens C Ruta
Antonio U Kusko
Juan T Gillian
James D Campain
Sinclair U Tollner
Maria K Inouye
Leon V Inouye
Faith R Rim
Faith L Whobrey
Chavez C Malet
Johnson T Rim
Rodrigues I Caudy
Faith R Maclead
Francesco M Oldroyd
Aruna L Wieser
Antonio H Morasca
Chavez T Doe
Misaki R Marrier
Morrow G Foller
James P Stockham
Izzy U Sergi
Stacey S Sergi
Misaki T Butt
Maisha J Oldroyd
IdCountryDate
1000Spain2026-10-18
1001Australia2026-10-17
1002United Kingdom2026-11-07
1003Japan2026-11-05
1004Brazil2026-10-11
1005Canada2026-10-29
1006Japan2026-11-02
1007Brazil2026-10-30
1008Russia2026-10-21
1009Germany2026-10-11
1010Canada2026-10-27
1011Australia2026-11-05
1012Germany2026-10-26
1013Canada2026-11-07
1014France2026-11-06
1015Japan2026-10-11
1016Canada2026-10-15
1017Brazil2026-11-05
1018France2026-10-29
1019Germany2026-10-23
1020United Kingdom2026-11-02
1021Spain2026-10-21
1022Russia2026-10-24
1023Japan2026-10-31
1024Australia2026-11-06
1025Canada2026-10-18
1026Canada2026-10-16
1027Germany2026-10-31
1028Germany2026-10-26
1029Australia2026-11-07
1030Australia2026-10-20
1031Spain2026-10-11
1032Australia2026-10-28
1033Japan2026-11-09
1034Canada2026-11-04
1035Italy2026-11-05
1036Japan2026-10-25
1037Canada2026-10-20
1038France2026-10-31
1039United Kingdom2026-10-11
1040Argentina2026-11-03
1041Japan2026-10-17
1042United Kingdom2026-10-28
1043Spain2026-10-23
1044Canada2026-11-07
1045Brazil2026-10-16
1046United Kingdom2026-10-16
1047France2026-11-09
1048India2026-11-07
1049Canada2026-10-31

On-Demand Data

NameIdCountryDate
Alejandro J Slusarski1000Spain2026-10-20
Jones C Morasca1001Australia2026-10-21
Leja R Ruta1002Russia2026-10-31
Wickens B Iturbide1003United Kingdom2026-10-20
Cody A Doe1004Spain2026-10-27
Cody X Rim1005Brazil2026-10-28
Salvatore A Poquette1006Australia2026-11-09
Munro F Briddick1007France2026-10-23
Sinclair M Caldarera1008Italy2026-11-08
Maisha Q Schemmer1009India2026-10-16
Francesco U Saylors1010France2026-10-16
Jeanfrancois N Iturbide1011Spain2026-10-30
Arvin J Kusko1012Russia2026-10-19
Costa E Nestle1013Argentina2026-10-17
Murillo K Perin1014Spain2026-10-22
Jones E Rim1015Spain2026-10-29
Antonio M Butt1016Brazil2026-10-12
David F Kusko1017Argentina2026-11-07
Greenwood X Poquette1018Japan2026-10-18
Misaki M Inouye1019Australia2026-11-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire Q GillianJapanOnyama Limba RENEWAL
Chavez R NestleBrazilStephen Shaw QUALIFIED
Leon M NestleGermanyAmy Elsner NEGOTIATION
Octavia M RoysterItalyAnna Fali NEW
Aika V StensethCanadaXuxue Feng PROPOSAL
Wickens V NestleItalyElwin Sharvill PROPOSAL
Faith Y BologniaJapanAmy Elsner UNQUALIFIED
Morrow T KolmetzSpainOnyama Limba NEW
Adams Z DilliardRussiaIvan Magalhaes NEW
Jefferson B VenereBrazilAmy Elsner NEW
Chavez P WhobreyBrazilXuxue Feng NEGOTIATION
Silvio R VenereAustraliaElwin Sharvill UNQUALIFIED
Juan A GauchoArgentinaXuxue Feng NEW
Kaitlin O CaudyBrazilOnyama Limba NEW
Jennifer C VocelkaArgentinaBernardo Dominic RENEWAL
Mujtaba O PoquetteUnited KingdomStephen Shaw QUALIFIED
Kaitlin Z AmigonAustraliaBernardo Dominic RENEWAL
Julie J RoysterItalyIvan Magalhaes NEGOTIATION
James C RutaGermanyIvan Magalhaes NEGOTIATION
Stacey C AlbaresFranceAsiya Javayant UNQUALIFIED
Juan E VenereGermanyElwin Sharvill RENEWAL
Murillo L BologniaUnited KingdomAsiya Javayant QUALIFIED
Aditya L ShinkoIndiaBernardo Dominic NEGOTIATION
Salvatore Y ShinkoFranceStephen Shaw PROPOSAL
Maria I KuskoIndiaElwin Sharvill QUALIFIED
Faith R BologniaUnited KingdomBernardo Dominic PROPOSAL
Clifford C SaylorsRussiaXuxue Feng QUALIFIED
Ricardo A OstroskyJapanAnna Fali RENEWAL
Cody S DarakjyUnited KingdomAnna Fali RENEWAL
Chavez R DilliardCanadaStephen Shaw QUALIFIED
Nicolas N ChuiRussiaIvan Magalhaes RENEWAL
Kaitlin Z AlbaresArgentinaElwin Sharvill NEW
James T MaletArgentinaAmy Elsner QUALIFIED
Faith J RoysterArgentinaBernardo Dominic QUALIFIED
Darci Q InouyeFranceIvan Magalhaes RENEWAL
Munro L PoquetteCanadaAsiya Javayant NEW
Costa J AlbaresAustraliaElwin Sharvill RENEWAL
Johnson T IturbideIndiaOnyama Limba PROPOSAL
Izzy C MaletUnited KingdomElwin Sharvill NEGOTIATION
Costa R VocelkaBrazilAsiya Javayant RENEWAL

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