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
Leja T InouyeJapanBernardo Dominic NEGOTIATION
Aika S GlickArgentinaIoni Bowcher QUALIFIED
Misaki Z CampainUnited KingdomIoni Bowcher RENEWAL
Ivar Q VocelkaJapanBernardo Dominic NEW
Salvatore S WhobreyAustraliaElwin Sharvill NEGOTIATION
Arvin B DarakjyItalyBernardo Dominic QUALIFIED
Ashley R PaprockiFranceIoni Bowcher NEW
Jeanfrancois D KolmetzAustraliaAnna Fali PROPOSAL
Alejandro A MaletUnited KingdomAmy Elsner NEW
Isabel E MaletFranceAnna Fali UNQUALIFIED
Francesco V ShinkoCanadaBernardo Dominic UNQUALIFIED
Juan N RimIndiaIvan Magalhaes UNQUALIFIED
Chavez R ChuiAustraliaElwin Sharvill RENEWAL
Jones Q MorascaIndiaElwin Sharvill NEGOTIATION
Tony O MacleadArgentinaStephen Shaw QUALIFIED
Sinclair Z AmigonAustraliaAmy Elsner RENEWAL
David V BologniaAustraliaElwin Sharvill QUALIFIED
Alejandro D PerinUnited KingdomAsiya Javayant UNQUALIFIED
Emily L ShinkoFranceAmy Elsner UNQUALIFIED
Stacey Y MaletIndiaAnna Fali RENEWAL
Ricardo B WieserFranceAnna Fali PROPOSAL
Tony E SchemmerBrazilElwin Sharvill NEW
Mujtaba T PoquetteFranceIoni Bowcher PROPOSAL
Emily K WhobreyJapanIvan Magalhaes NEGOTIATION
Arvin X TollnerAustraliaIoni Bowcher NEW
Alejandro E FollerItalyElwin Sharvill QUALIFIED
Adams G InouyeSpainIvan Magalhaes QUALIFIED
Nicolas T SergiUnited KingdomStephen Shaw QUALIFIED
Silvio A DarakjyJapanIoni Bowcher RENEWAL
Kaitlin E TollnerItalyStephen Shaw NEGOTIATION
Mayumi C GillianJapanAmy Elsner NEGOTIATION
Johnson J CaldareraJapanElwin Sharvill UNQUALIFIED
Arvin E CaldareraRussiaOnyama Limba RENEWAL
Aruna G StensethSpainIoni Bowcher PROPOSAL
Cody A RimFranceStephen Shaw UNQUALIFIED
Costa I InouyeItalyIvan Magalhaes NEW
Francesco O VocelkaJapanElwin Sharvill PROPOSAL
Greenwood F BriddickRussiaElwin Sharvill NEGOTIATION
Adams M KuskoJapanOnyama Limba NEGOTIATION
Deepesh E AlbaresJapanStephen Shaw NEGOTIATION
Ivar K FigeroaArgentinaStephen Shaw NEGOTIATION
Antonio Z KuskoFranceXuxue Feng NEW
Darci B FlosiRussiaStephen Shaw RENEWAL
Murillo U KolmetzIndiaIoni Bowcher UNQUALIFIED
Darci A ButtJapanXuxue Feng NEGOTIATION
Murillo H AlbaresSpainOnyama Limba RENEWAL
Leja M FerenczArgentinaAmy Elsner PROPOSAL
Aditya S DoeRussiaOnyama Limba RENEWAL
Munro Y SergiGermanyIoni Bowcher NEGOTIATION
Costa N FollerSpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Ashley E StockhamGermanyBernardo Dominic UNQUALIFIED
Sinclair P MacleadIndiaXuxue Feng PROPOSAL
Alejandro S CampainCanadaElwin Sharvill RENEWAL
Wickens Z BowleyFranceAsiya Javayant PROPOSAL
Jefferson I WhobreyCanadaAmy Elsner NEGOTIATION
Deepesh I BowleyItalyElwin Sharvill NEGOTIATION
Darci D KuskoItalyBernardo Dominic QUALIFIED
Jennifer N WieserFranceOnyama Limba NEW
Morrow O RoysterCanadaAmy Elsner PROPOSAL
Mayumi O MacleadAustraliaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo Y InouyeIndia2026-11-09Chapman, Ross E Esq NEW53Anna Fali
1001Deepesh G InouyeSpain2026-10-24Chemel, James L Cpa PROPOSAL45Amy Elsner
1002Salvatore E PaprockiItaly2026-10-22Chemel, James L Cpa UNQUALIFIED93Stephen Shaw
1003Jones M OldroydJapan2026-10-27Buckley Miller Wright NEW30Xuxue Feng
1004Faith G NestleSpain2026-11-03Feiner Bros NEGOTIATION81Ivan Magalhaes
1005Aika E FollerItaly2026-10-17Feiner Bros PROPOSAL81Asiya Javayant
1006Maisha G ShinkoArgentina2026-10-31Rangoni Of Florence PROPOSAL57Amy Elsner
1007Jennifer G CaldareraUnited Kingdom2026-10-26Feltz Printing Service NEW50Ioni Bowcher
1008Munro N WieserFrance2026-10-23King, Christopher A Esq RENEWAL1Ivan Magalhaes
1009Faith H BowleyItaly2026-10-21Commercial Press NEW56Stephen Shaw
1010Deepesh J GillianJapan2026-11-01Chapman, Ross E Esq PROPOSAL3Anna Fali
1011Aika Q WaycottJapan2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED3Anna Fali
1012Jefferson A CaudyIndia2026-10-31Rousseaux, Michael Esq QUALIFIED85Ioni Bowcher
1013Octavia Z SlusarskiIndia2026-10-30Feiner Bros NEGOTIATION28Elwin Sharvill
1014Juan L BologniaJapan2026-10-31Chemel, James L Cpa PROPOSAL67Ivan Magalhaes
1015Julie J FerenczSpain2026-11-03Chapman, Ross E Esq NEGOTIATION33Amy Elsner
1016Maisha Q KuskoArgentina2026-11-07Chanay, Jeffrey A Esq PROPOSAL34Anna Fali
1017Smith U CaudyGermany2026-11-03Feiner Bros RENEWAL59Amy Elsner
1018Chavez B CaudyIndia2026-10-19Rangoni Of Florence PROPOSAL74Asiya Javayant
1019Mayumi Y DarakjyUnited Kingdom2026-10-21Commercial Press NEGOTIATION16Anna Fali
1020Sinclair L PaprockiFrance2026-10-27Feiner Bros RENEWAL52Bernardo Dominic
1021Izzy A RutaItaly2026-11-14King, Christopher A Esq QUALIFIED10Bernardo Dominic
1022Wickens U ButtItaly2026-11-05Chanay, Jeffrey A Esq NEGOTIATION84Elwin Sharvill
1023Clifford F PaprockiCanada2026-10-26Benton, John B Jr PROPOSAL0Ioni Bowcher
1024Francesco X ButtRussia2026-10-30Printing Dimensions UNQUALIFIED47Elwin Sharvill
1025Sinclair G GillianArgentina2026-10-22Benton, John B Jr NEGOTIATION41Bernardo Dominic
1026Octavia P FlosiGermany2026-11-09Dorl, James J Esq PROPOSAL12Bernardo Dominic
1027Claire N RimBrazil2026-10-30King, Christopher A Esq RENEWAL5Asiya Javayant
1028Jones W PerinSpain2026-10-29Buckley Miller Wright PROPOSAL33Asiya Javayant
1029Silvio W InouyeUnited Kingdom2026-10-25Chemel, James L Cpa RENEWAL47Anna Fali
1030Francesco J DilliardGermany2026-11-06Feiner Bros PROPOSAL85Amy Elsner
1031Kaitlin E DoeAustralia2026-10-23King, Christopher A Esq NEGOTIATION9Anna Fali
1032Mayumi V RimItaly2026-10-22King, Christopher A Esq NEGOTIATION16Amy Elsner
1033Salvatore P KuskoJapan2026-11-14Buckley Miller Wright RENEWAL12Stephen Shaw
1034Johnson F MaletJapan2026-11-08Truhlar And Truhlar Attys PROPOSAL51Ioni Bowcher
1035Mujtaba P RimBrazil2026-10-23Morlong Associates PROPOSAL6Onyama Limba
1036James X ShinkoArgentina2026-10-27Feltz Printing Service NEW28Bernardo Dominic
1037Aditya D PerinRussia2026-11-07Chanay, Jeffrey A Esq NEW49Elwin Sharvill
1038Ivar F VenereFrance2026-10-21Rangoni Of Florence NEW8Bernardo Dominic
1039Emily D GauchoSpain2026-10-22Morlong Associates UNQUALIFIED66Elwin Sharvill
1040David Y DoeRussia2026-11-12Chapman, Ross E Esq UNQUALIFIED14Xuxue Feng
1041Octavia X PaprockiBrazil2026-11-09Buckley Miller Wright QUALIFIED0Bernardo Dominic
1042Maisha F BowleyRussia2026-10-27Chemel, James L Cpa UNQUALIFIED16Xuxue Feng
1043Jennifer F FlosiItaly2026-10-31Feiner Bros RENEWAL20Xuxue Feng
1044Juan S CampainAustralia2026-11-05King, Christopher A Esq UNQUALIFIED80Xuxue Feng
1045Jones G TollnerFrance2026-10-21Feiner Bros NEGOTIATION57Ioni Bowcher
1046Wickens N ChuiGermany2026-10-23King, Christopher A Esq RENEWAL40Ioni Bowcher
1047Antonio Y MorascaRussia2026-11-12Feiner Bros RENEWAL35Onyama Limba
1048James V SergiItaly2026-10-21Rangoni Of Florence PROPOSAL55Ioni Bowcher
1049Nicolas V VenereRussia2026-10-19Truhlar And Truhlar Attys RENEWAL18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Munro H CaudySpainOnyama Limba QUALIFIED
Johnson D FlosiBrazilIvan Magalhaes UNQUALIFIED
Alejandro O BowleyGermanyIvan Magalhaes QUALIFIED
Kadeem C KuskoJapanOnyama Limba RENEWAL
Wickens D GauchoItalyAmy Elsner UNQUALIFIED
Darci O SlusarskiCanadaBernardo Dominic QUALIFIED
Leja U KuskoSpainBernardo Dominic QUALIFIED
Smith W GlickCanadaIoni Bowcher RENEWAL
Izzy D RimUnited KingdomAnna Fali UNQUALIFIED
Jennifer C MaletFranceStephen Shaw QUALIFIED
Isabel A ButtRussiaAmy Elsner QUALIFIED
Emily Z GauchoArgentinaBernardo Dominic NEGOTIATION
Misaki R GarufiJapanOnyama Limba RENEWAL
Smith P IturbideFranceElwin Sharvill RENEWAL
Juan F OldroydIndiaXuxue Feng QUALIFIED
Jefferson W VenereGermanyBernardo Dominic UNQUALIFIED
Adams Y AlbaresCanadaStephen Shaw NEGOTIATION
Claire H InouyeIndiaAsiya Javayant UNQUALIFIED
Smith Y FigeroaArgentinaAnna Fali QUALIFIED
Claire I BriddickArgentinaXuxue Feng PROPOSAL
Wickens K SchemmerArgentinaAnna Fali NEW
Clifford C WaycottItalyOnyama Limba PROPOSAL
Adams A SchemmerBrazilStephen Shaw NEW
Sinclair L GauchoItalyAnna Fali RENEWAL
James H WhobreyArgentinaElwin Sharvill NEGOTIATION
James K CaldareraItalyBernardo Dominic RENEWAL
Emily M DoeSpainIvan Magalhaes NEW
Ivar U MacleadCanadaIvan Magalhaes NEW
Murillo X SchemmerAustraliaXuxue Feng RENEWAL
Jennifer J IturbideJapanIoni Bowcher QUALIFIED
Deepesh I DarakjyCanadaBernardo Dominic RENEWAL
Chavez U TollnerSpainXuxue Feng NEW
Jefferson N InouyeItalyElwin Sharvill PROPOSAL
Misaki T NickaItalyAnna Fali PROPOSAL
Octavia I MacleadGermanyXuxue Feng NEW
Jones M OstroskyArgentinaIoni Bowcher QUALIFIED
Cody Z PaprockiBrazilXuxue Feng NEW
Mujtaba M MacleadRussiaElwin Sharvill NEGOTIATION
Murillo W NestleArgentinaStephen Shaw RENEWAL
Izzy X NickaItalyElwin Sharvill NEGOTIATION
Silvio A MarrierRussiaBernardo Dominic NEGOTIATION
David V KuskoSpainXuxue Feng UNQUALIFIED
Jefferson D StensethRussiaOnyama Limba UNQUALIFIED
Stacey C SlusarskiItalyOnyama Limba PROPOSAL
Deepesh H OldroydBrazilXuxue Feng PROPOSAL
Adams S RoysterSpainXuxue Feng PROPOSAL
Leon Y DilliardSpainElwin Sharvill QUALIFIED
Silvio S MarrierFranceXuxue Feng NEGOTIATION
Aditya F StockhamSpainAnna Fali RENEWAL
Izzy P MarrierFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Claire P Maclead
Jones E Malet
Ivar W Nestle
Faith I Wieser
Costa I Oldroyd
Maria O Ostrosky
Octavia H Figeroa
Kadeem T Shinko
Leja Y Glick
Deepesh G Stenseth
Jennifer L Poquette
Munro C Slusarski
Silvio I Maclead
Ashley A Venere
Mayumi K Ruta
Wickens L Caudy
Ricardo H Bolognia
Mayumi H Venere
Leja R Shinko
Octavia F Royster
Jones B Ferencz
Chavez V Nestle
Jeanfrancois V Tollner
Arvin H Figeroa
Octavia Q Darakjy
Stacey I Sergi
Octavia R Whobrey
Clifford E Ostrosky
Juan C Marrier
Kaitlin U Stockham
Munro M Iturbide
Tony K Bolognia
Costa R Garufi
Munro N Foller
Johnson T Slusarski
Adams F Ruta
Ricardo Z Perin
Aruna T Iturbide
Chavez D Nestle
David R Rulapaugh
Chavez J Amigon
Darci G Wieser
Aditya B Gaucho
Morrow Q Rulapaugh
Murillo W Campain
Salvatore W Malet
Juan M Figeroa
Nicolas Q Darakjy
Alejandro Q Caudy
Adams X Bowley
IdCountryDate
1000Argentina2026-11-14
1001Japan2026-10-27
1002Australia2026-11-01
1003India2026-10-18
1004Japan2026-11-14
1005India2026-10-25
1006Spain2026-10-23
1007United Kingdom2026-11-03
1008India2026-10-19
1009Brazil2026-11-14
1010Russia2026-10-16
1011Italy2026-11-04
1012Canada2026-10-26
1013Australia2026-10-21
1014Canada2026-10-20
1015Japan2026-11-04
1016Italy2026-11-04
1017United Kingdom2026-11-03
1018Spain2026-10-27
1019Russia2026-10-19
1020Spain2026-10-21
1021Brazil2026-10-31
1022Canada2026-11-06
1023Argentina2026-10-20
1024Japan2026-11-11
1025Italy2026-10-16
1026Argentina2026-11-08
1027India2026-10-17
1028India2026-10-16
1029Japan2026-11-04
1030India2026-11-09
1031Australia2026-10-21
1032Canada2026-11-03
1033Argentina2026-10-30
1034Germany2026-10-21
1035Russia2026-10-22
1036Spain2026-10-20
1037France2026-10-28
1038India2026-10-20
1039Germany2026-11-06
1040Argentina2026-10-25
1041Germany2026-10-19
1042Australia2026-10-30
1043Argentina2026-11-05
1044Canada2026-11-05
1045France2026-11-14
1046Italy2026-10-20
1047Australia2026-10-21
1048Italy2026-10-30
1049India2026-11-14

On-Demand Data

NameIdCountryDate
Faith E Nicka1000Australia2026-10-19
Morrow C Amigon1001United Kingdom2026-10-25
Silvio D Royster1002France2026-10-24
Sinclair V Sergi1003Australia2026-11-10
Mayumi E Kolmetz1004Australia2026-10-24
Antonio A Malet1005India2026-10-18
Murillo D Waycott1006Japan2026-10-19
Faith A Waycott1007Australia2026-11-04
Arvin N Campain1008Australia2026-10-26
Leja E Nicka1009Germany2026-10-18
Maisha U Stenseth1010Russia2026-10-22
Darci A Dilliard1011Brazil2026-10-27
Adams C Maclead1012India2026-10-24
Maisha B Campain1013Australia2026-11-08
Jennifer C Darakjy1014India2026-11-01
Mayumi D Malet1015Canada2026-11-01
Munro Q Kolmetz1016Japan2026-10-30
Silvio M Slusarski1017United Kingdom2026-10-25
Johnson F Dilliard1018Italy2026-10-20
Sinclair C Oldroyd1019Japan2026-11-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna O RulapaughArgentinaAsiya Javayant NEW
Wickens X MorascaBrazilAnna Fali RENEWAL
Chavez Q NestleFranceAmy Elsner NEW
Maisha L AlbaresItalyOnyama Limba PROPOSAL
Sinclair Z BowleyCanadaAnna Fali NEW
Jefferson Y SlusarskiAustraliaOnyama Limba QUALIFIED
Cody B ChuiAustraliaAnna Fali UNQUALIFIED
Ashley R CaudyCanadaXuxue Feng QUALIFIED
Octavia K OldroydBrazilStephen Shaw UNQUALIFIED
Jones B FlosiAustraliaAsiya Javayant QUALIFIED
Leon W FollerGermanyIoni Bowcher RENEWAL
Julie J MaletCanadaElwin Sharvill UNQUALIFIED
Antonio N MaletCanadaStephen Shaw QUALIFIED
Wickens H SergiGermanyStephen Shaw RENEWAL
Izzy R NickaSpainElwin Sharvill RENEWAL
Jeanfrancois N GauchoItalyAnna Fali PROPOSAL
Leja I FlosiAustraliaAsiya Javayant UNQUALIFIED
Antonio A OldroydRussiaAsiya Javayant QUALIFIED
Arvin P FerenczBrazilStephen Shaw UNQUALIFIED
Ivar J CaldareraAustraliaAsiya Javayant QUALIFIED
Sinclair M FollerFranceAmy Elsner NEGOTIATION
Aika I MorascaGermanyBernardo Dominic RENEWAL
Jennifer J KuskoBrazilIoni Bowcher UNQUALIFIED
Mayumi P KuskoJapanElwin Sharvill NEW
Stacey J FollerIndiaElwin Sharvill PROPOSAL
Greenwood X FollerCanadaStephen Shaw QUALIFIED
Aika F MaletBrazilOnyama Limba UNQUALIFIED
Mujtaba R CaudyFranceStephen Shaw UNQUALIFIED
Claire E GarufiCanadaIoni Bowcher PROPOSAL
Francesco J InouyeBrazilOnyama Limba NEGOTIATION
Tony H BowleyFranceElwin Sharvill NEGOTIATION
Nicolas B PoquetteArgentinaBernardo Dominic RENEWAL
Misaki C KuskoUnited KingdomAsiya Javayant NEW
Ricardo I AlbaresAustraliaBernardo Dominic NEGOTIATION
Greenwood I TollnerItalyIoni Bowcher NEGOTIATION
Misaki H FigeroaSpainAmy Elsner PROPOSAL
Stacey G GlickUnited KingdomIoni Bowcher RENEWAL
Jennifer Y SaylorsCanadaAsiya Javayant UNQUALIFIED
Juan N SergiFranceBernardo Dominic NEW
Mayumi L AlbaresUnited KingdomAmy Elsner 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>