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
Faith H TollnerSpainStephen Shaw UNQUALIFIED
Octavia S AmigonUnited KingdomAnna Fali PROPOSAL
James Y VocelkaUnited KingdomIvan Magalhaes NEW
Smith C IturbideBrazilBernardo Dominic QUALIFIED
Leon U WhobreyUnited KingdomAsiya Javayant QUALIFIED
Johnson L StensethBrazilBernardo Dominic NEW
Faith O SlusarskiJapanBernardo Dominic NEW
Jefferson R MaletItalyAmy Elsner UNQUALIFIED
Maria Z BologniaGermanyXuxue Feng NEW
Greenwood P ShinkoItalyIoni Bowcher NEGOTIATION
Kadeem R ButtFranceOnyama Limba UNQUALIFIED
Maisha J GauchoCanadaAsiya Javayant QUALIFIED
Chavez F CampainRussiaOnyama Limba PROPOSAL
Aruna Y TollnerItalyAnna Fali NEGOTIATION
Nicolas G FerenczCanadaXuxue Feng NEW
Morrow V OldroydJapanIvan Magalhaes RENEWAL
Ricardo H DoeIndiaOnyama Limba NEW
Munro L GillianFranceElwin Sharvill NEGOTIATION
Costa W AmigonIndiaIoni Bowcher NEW
Alejandro G SchemmerAustraliaStephen Shaw NEGOTIATION
Isabel P StensethFranceIvan Magalhaes NEW
Deepesh L KolmetzUnited KingdomAnna Fali NEGOTIATION
Wickens M BologniaSpainElwin Sharvill NEW
Misaki T AlbaresUnited KingdomIoni Bowcher PROPOSAL
Clifford G MaletRussiaBernardo Dominic UNQUALIFIED
Morrow L NestleCanadaAnna Fali NEGOTIATION
Silvio V ButtSpainStephen Shaw UNQUALIFIED
Nicolas C InouyeCanadaStephen Shaw QUALIFIED
Ricardo S SlusarskiItalyStephen Shaw UNQUALIFIED
Kaitlin B StockhamAustraliaElwin Sharvill UNQUALIFIED
Antonio Q SchemmerArgentinaOnyama Limba RENEWAL
Clifford J InouyeAustraliaAsiya Javayant NEGOTIATION
Munro Q RimRussiaIvan Magalhaes NEW
Greenwood S GillianFranceBernardo Dominic QUALIFIED
Emily Z RoysterSpainOnyama Limba RENEWAL
Salvatore K GillianFranceAnna Fali PROPOSAL
Morrow C KuskoCanadaOnyama Limba UNQUALIFIED
Francesco C MaletAustraliaOnyama Limba QUALIFIED
Ricardo Q KuskoJapanAnna Fali NEW
Arvin H ChuiFranceElwin Sharvill UNQUALIFIED
Alejandro B SchemmerBrazilAnna Fali RENEWAL
Silvio W BologniaAustraliaAnna Fali NEW
Aditya G NickaAustraliaXuxue Feng PROPOSAL
Wickens Q KolmetzAustraliaAnna Fali UNQUALIFIED
Stacey P WieserJapanIoni Bowcher UNQUALIFIED
Claire Z PoquetteCanadaXuxue Feng PROPOSAL
Smith F TollnerBrazilStephen Shaw RENEWAL
Salvatore M DilliardItalyIoni Bowcher UNQUALIFIED
James L MarrierSpainIoni Bowcher NEW
David O CaldareraRussiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar O SergiItalyXuxue Feng UNQUALIFIED
Maria U VenereJapanXuxue Feng NEW
Rodrigues P InouyeGermanyOnyama Limba QUALIFIED
Maria X SchemmerCanadaStephen Shaw NEGOTIATION
Jones X NickaCanadaAnna Fali PROPOSAL
Smith Z WhobreyArgentinaStephen Shaw NEW
Ivar Q MorascaJapanOnyama Limba PROPOSAL
Rodrigues J BologniaBrazilBernardo Dominic PROPOSAL
Faith N RulapaughBrazilIvan Magalhaes NEGOTIATION
Isabel A SchemmerItalyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues S TollnerJapan2026-10-10Printing Dimensions NEGOTIATION4Asiya Javayant
1001Leon F VocelkaAustralia2026-11-02King, Christopher A Esq PROPOSAL10Anna Fali
1002Francesco M KolmetzRussia2026-10-31Rousseaux, Michael Esq RENEWAL53Asiya Javayant
1003Jennifer X CaldareraIndia2026-11-02Rousseaux, Michael Esq RENEWAL73Onyama Limba
1004Murillo G PaprockiRussia2026-11-03King, Christopher A Esq PROPOSAL24Xuxue Feng
1005Mujtaba E OldroydIndia2026-10-16Feltz Printing Service QUALIFIED18Ioni Bowcher
1006Salvatore W FlosiIndia2026-11-03Buckley Miller Wright NEW29Amy Elsner
1007Antonio A GlickUnited Kingdom2026-10-30Commercial Press NEW98Bernardo Dominic
1008Morrow J NestleIndia2026-11-02Benton, John B Jr NEGOTIATION53Stephen Shaw
1009Salvatore B KolmetzItaly2026-10-08Feiner Bros NEW85Anna Fali
1010Kaitlin S StensethFrance2026-10-28Chanay, Jeffrey A Esq UNQUALIFIED90Asiya Javayant
1011Claire P ButtGermany2026-11-05Rangoni Of Florence QUALIFIED63Ioni Bowcher
1012Misaki F IturbideItaly2026-10-23Morlong Associates PROPOSAL27Anna Fali
1013Greenwood X MaletRussia2026-10-22Commercial Press UNQUALIFIED1Ioni Bowcher
1014Clifford U KuskoIndia2026-10-08Commercial Press NEGOTIATION91Anna Fali
1015Francesco J FlosiUnited Kingdom2026-11-05Printing Dimensions UNQUALIFIED20Bernardo Dominic
1016Nicolas M KuskoSpain2026-10-30Feltz Printing Service NEGOTIATION78Elwin Sharvill
1017Octavia Y ButtJapan2026-11-01Truhlar And Truhlar Attys RENEWAL56Xuxue Feng
1018Deepesh L NestleJapan2026-10-31Morlong Associates NEW33Ioni Bowcher
1019Deepesh B MacleadArgentina2026-10-18King, Christopher A Esq PROPOSAL92Elwin Sharvill
1020Johnson L FigeroaJapan2026-10-13King, Christopher A Esq RENEWAL52Asiya Javayant
1021Darci Q SaylorsGermany2026-10-15Feiner Bros UNQUALIFIED92Amy Elsner
1022Stacey M DarakjyJapan2026-11-02Truhlar And Truhlar Attys UNQUALIFIED14Anna Fali
1023Jennifer B DarakjyAustralia2026-10-31Dorl, James J Esq UNQUALIFIED10Onyama Limba
1024Darci S WhobreySpain2026-10-07Dorl, James J Esq UNQUALIFIED53Ivan Magalhaes
1025Stacey Z KolmetzItaly2026-10-30Chemel, James L Cpa UNQUALIFIED87Ioni Bowcher
1026Isabel B MaletRussia2026-10-18Feltz Printing Service QUALIFIED98Ioni Bowcher
1027Jennifer M OldroydGermany2026-10-14King, Christopher A Esq NEW71Stephen Shaw
1028Emily F OldroydRussia2026-10-30Chanay, Jeffrey A Esq UNQUALIFIED61Onyama Limba
1029Adams B GlickItaly2026-10-17Rangoni Of Florence NEGOTIATION45Ioni Bowcher
1030Jefferson X NickaArgentina2026-10-18Buckley Miller Wright PROPOSAL32Stephen Shaw
1031Tony K ShinkoJapan2026-11-05Chemel, James L Cpa NEGOTIATION8Anna Fali
1032Kadeem X PerinFrance2026-10-29Chanay, Jeffrey A Esq NEW64Elwin Sharvill
1033Antonio U GauchoRussia2026-11-03Chapman, Ross E Esq PROPOSAL38Bernardo Dominic
1034Izzy J AlbaresSpain2026-10-12King, Christopher A Esq RENEWAL99Ivan Magalhaes
1035James F SlusarskiJapan2026-10-08Feiner Bros QUALIFIED51Onyama Limba
1036Jefferson V GarufiSpain2026-10-31Commercial Press NEW0Ivan Magalhaes
1037Rodrigues N SaylorsGermany2026-10-12Chemel, James L Cpa RENEWAL44Ioni Bowcher
1038Antonio H TollnerSpain2026-10-19Chemel, James L Cpa QUALIFIED90Stephen Shaw
1039Julie R RulapaughItaly2026-10-17Commercial Press NEGOTIATION53Xuxue Feng
1040Wickens I DoeFrance2026-10-21Benton, John B Jr QUALIFIED44Elwin Sharvill
1041Murillo R BriddickJapan2026-10-27Printing Dimensions NEW94Bernardo Dominic
1042Salvatore T FerenczAustralia2026-10-30Dorl, James J Esq UNQUALIFIED35Elwin Sharvill
1043Ashley H RoysterGermany2026-10-17Feltz Printing Service NEW85Bernardo Dominic
1044Emily B ButtItaly2026-10-17Feltz Printing Service NEGOTIATION50Ioni Bowcher
1045Octavia S MorascaUnited Kingdom2026-10-20King, Christopher A Esq QUALIFIED55Amy Elsner
1046Leon N BowleyFrance2026-10-07Rousseaux, Michael Esq QUALIFIED82Anna Fali
1047Leja V CaldareraBrazil2026-11-03Benton, John B Jr RENEWAL29Stephen Shaw
1048Cody T WieserCanada2026-10-21Feiner Bros NEW16Anna Fali
1049Jennifer M PoquetteItaly2026-10-17Truhlar And Truhlar Attys RENEWAL53Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maria M GauchoSpainBernardo Dominic NEW
Aruna L SergiSpainAnna Fali NEGOTIATION
Arvin H TollnerAustraliaBernardo Dominic RENEWAL
Arvin R MaletArgentinaXuxue Feng NEW
Mayumi Z ButtBrazilXuxue Feng UNQUALIFIED
Stacey V RutaAustraliaAsiya Javayant NEW
Cody V VocelkaGermanyIoni Bowcher RENEWAL
Ashley G CaudyRussiaElwin Sharvill RENEWAL
Silvio C SaylorsFranceBernardo Dominic QUALIFIED
Adams J WieserRussiaOnyama Limba QUALIFIED
Silvio N RutaCanadaBernardo Dominic NEW
Aditya E MaletIndiaIoni Bowcher PROPOSAL
Francesco P TollnerSpainElwin Sharvill NEGOTIATION
Rodrigues N NestleGermanyBernardo Dominic RENEWAL
Faith B ShinkoIndiaIoni Bowcher NEGOTIATION
Leon U MarrierBrazilBernardo Dominic UNQUALIFIED
Kaitlin E SlusarskiArgentinaAnna Fali QUALIFIED
Alejandro I RimBrazilIvan Magalhaes PROPOSAL
Aruna I FlosiFranceOnyama Limba NEGOTIATION
Leon G FlosiArgentinaIvan Magalhaes RENEWAL
Murillo I NestleUnited KingdomXuxue Feng QUALIFIED
Clifford F SergiBrazilStephen Shaw RENEWAL
Tony B VocelkaJapanOnyama Limba UNQUALIFIED
Leon N WieserCanadaIvan Magalhaes NEGOTIATION
Adams B WhobreyItalyOnyama Limba QUALIFIED
Maria H PoquetteJapanAnna Fali QUALIFIED
Sinclair Z CaudyFranceAmy Elsner NEGOTIATION
Antonio V MorascaSpainIvan Magalhaes NEGOTIATION
Ivar Y OldroydCanadaBernardo Dominic RENEWAL
Salvatore S FerenczArgentinaIvan Magalhaes RENEWAL
Aika R ShinkoRussiaXuxue Feng UNQUALIFIED
Kaitlin J SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel G VocelkaJapanAnna Fali PROPOSAL
Antonio U WieserRussiaOnyama Limba NEW
Alejandro C DilliardCanadaXuxue Feng NEW
Jones R DoeAustraliaBernardo Dominic UNQUALIFIED
Maisha K RoysterJapanXuxue Feng NEW
Adams C RimRussiaAnna Fali UNQUALIFIED
Isabel K WhobreyRussiaIvan Magalhaes RENEWAL
Arvin B SchemmerArgentinaElwin Sharvill PROPOSAL
Julie E SlusarskiJapanXuxue Feng PROPOSAL
Mujtaba W NickaItalyIvan Magalhaes NEW
Faith E ButtIndiaStephen Shaw PROPOSAL
Greenwood L GlickGermanyAmy Elsner NEW
Emily K GillianBrazilBernardo Dominic QUALIFIED
Aditya N FlosiArgentinaIvan Magalhaes UNQUALIFIED
Isabel A KuskoArgentinaXuxue Feng UNQUALIFIED
Leja S CaldareraRussiaOnyama Limba NEGOTIATION
Mayumi R ShinkoJapanIvan Magalhaes QUALIFIED
Kadeem R VocelkaArgentinaStephen Shaw RENEWAL
Frozen Columns
Name
Kaitlin J Ferencz
Kadeem D Garufi
Faith K Nestle
Murillo X Stenseth
Kadeem T Butt
Misaki D Stockham
Jones F Garufi
Morrow J Royster
Ivar J Morasca
Antonio E Briddick
Leja F Butt
Adams Y Nestle
Aika D Wieser
Kadeem H Perin
Morrow L Oldroyd
Ivar M Vocelka
Wickens J Inouye
Mujtaba H Slusarski
Wickens M Shinko
Nicolas C Bowley
Adams N Caldarera
Jefferson T Whobrey
Deepesh J Chui
Jefferson V Ruta
Darci M Schemmer
Sinclair W Slusarski
Johnson T Rulapaugh
Murillo H Campain
Misaki M Paprocki
Mujtaba G Slusarski
Maria R Rulapaugh
Jefferson U Nestle
Clifford C Sergi
Alejandro N Shinko
Francesco J Shinko
Aruna G Amigon
Munro Q Caldarera
Aruna X Wieser
Alejandro B Campain
Tony Z Ostrosky
Kaitlin F Sergi
Kaitlin L Iturbide
James F Vocelka
Sinclair U Bowley
James E Kolmetz
Darci R Campain
James F Slusarski
Maisha U Nicka
Aditya K Malet
Aditya Y Bolognia
IdCountryDate
1000Italy2026-10-07
1001Italy2026-10-07
1002India2026-10-14
1003Italy2026-10-22
1004Australia2026-11-02
1005Germany2026-10-26
1006Argentina2026-10-08
1007Australia2026-11-04
1008United Kingdom2026-10-10
1009Spain2026-10-19
1010Brazil2026-10-23
1011Australia2026-10-25
1012Spain2026-10-15
1013Spain2026-10-26
1014Japan2026-10-29
1015Australia2026-11-03
1016France2026-10-16
1017Brazil2026-10-26
1018Spain2026-10-20
1019United Kingdom2026-10-24
1020Australia2026-10-18
1021Italy2026-11-01
1022Argentina2026-10-30
1023Australia2026-10-22
1024Canada2026-10-26
1025France2026-10-11
1026United Kingdom2026-10-13
1027France2026-10-13
1028Russia2026-10-09
1029United Kingdom2026-10-07
1030Canada2026-11-02
1031Australia2026-10-08
1032Germany2026-10-23
1033Japan2026-10-18
1034France2026-10-15
1035United Kingdom2026-10-27
1036United Kingdom2026-10-18
1037Argentina2026-11-05
1038India2026-10-27
1039Canada2026-10-24
1040Japan2026-10-27
1041Canada2026-10-14
1042Japan2026-10-08
1043India2026-10-24
1044Australia2026-10-15
1045United Kingdom2026-10-07
1046Germany2026-10-26
1047United Kingdom2026-10-12
1048India2026-10-25
1049Australia2026-10-10

On-Demand Data

NameIdCountryDate
Ricardo M Inouye1000India2026-10-21
Jefferson K Wieser1001Germany2026-10-10
David H Caudy1002Japan2026-11-01
Johnson V Ruta1003Russia2026-10-07
Faith F Marrier1004Australia2026-10-27
Mujtaba V Poquette1005Australia2026-10-10
Munro R Butt1006Spain2026-10-11
David W Sergi1007Spain2026-11-04
Misaki Y Flosi1008Spain2026-10-10
Faith W Vocelka1009United Kingdom2026-11-03
Misaki F Malet1010United Kingdom2026-10-08
David B Oldroyd1011Australia2026-10-15
Aditya W Maclead1012Australia2026-10-23
Costa K Whobrey1013Brazil2026-10-31
David Z Amigon1014Japan2026-10-07
Leja P Iturbide1015Japan2026-10-27
Aditya M Schemmer1016Canada2026-11-04
Rodrigues E Malet1017Australia2026-10-10
Leja N Darakjy1018Germany2026-11-01
Jones B Schemmer1019Italy2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Q MaletItalyElwin Sharvill QUALIFIED
Silvio F ShinkoArgentinaAnna Fali NEGOTIATION
Smith R RulapaughIndiaAsiya Javayant NEW
Jefferson Q SergiGermanyIvan Magalhaes QUALIFIED
Alejandro N MaletGermanyIvan Magalhaes NEGOTIATION
Izzy Y BologniaArgentinaAsiya Javayant RENEWAL
Misaki E StockhamArgentinaElwin Sharvill RENEWAL
James R StockhamUnited KingdomStephen Shaw RENEWAL
Ivar Z GarufiBrazilIvan Magalhaes NEGOTIATION
Ashley O RulapaughAustraliaStephen Shaw NEW
Rodrigues K DarakjyGermanyOnyama Limba RENEWAL
Stacey X DilliardItalyAmy Elsner UNQUALIFIED
Claire R BriddickCanadaIvan Magalhaes PROPOSAL
Aruna X DilliardAustraliaIvan Magalhaes RENEWAL
Munro P GarufiUnited KingdomIvan Magalhaes RENEWAL
Johnson I OstroskyCanadaXuxue Feng NEGOTIATION
Claire J CampainGermanyXuxue Feng UNQUALIFIED
Wickens X MarrierJapanXuxue Feng QUALIFIED
Cody D FerenczBrazilIoni Bowcher RENEWAL
Tony F OldroydIndiaStephen Shaw PROPOSAL
Leja Y ChuiAustraliaIoni Bowcher NEW
Maria C DarakjyCanadaBernardo Dominic QUALIFIED
Ivar J StockhamFranceAsiya Javayant UNQUALIFIED
Adams A OstroskySpainAsiya Javayant UNQUALIFIED
Salvatore G RoysterJapanIvan Magalhaes RENEWAL
Faith V SlusarskiCanadaAsiya Javayant RENEWAL
Aruna G IturbideBrazilBernardo Dominic QUALIFIED
Munro X AmigonRussiaIvan Magalhaes NEW
Deepesh O NestleAustraliaAmy Elsner NEW
Francesco J ButtSpainOnyama Limba NEW
Julie J CampainArgentinaXuxue Feng RENEWAL
David T BologniaRussiaAnna Fali NEW
Johnson N BriddickGermanyStephen Shaw UNQUALIFIED
Munro J WaycottRussiaAmy Elsner UNQUALIFIED
Francesco K NestleBrazilXuxue Feng UNQUALIFIED
Arvin L StockhamRussiaElwin Sharvill QUALIFIED
Mujtaba D MacleadItalyAsiya Javayant RENEWAL
Maria O DoeCanadaAsiya Javayant NEW
Mujtaba P SlusarskiCanadaElwin Sharvill NEGOTIATION
Arvin R GarufiSpainElwin Sharvill NEW

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