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 O BriddickGermanyAnna Fali NEW
Kadeem A BologniaRussiaAnna Fali PROPOSAL
Arvin J WhobreyCanadaAsiya Javayant QUALIFIED
Aika A WieserArgentinaIoni Bowcher RENEWAL
James O CampainUnited KingdomOnyama Limba PROPOSAL
Kadeem K WieserArgentinaBernardo Dominic NEW
Maisha Q PaprockiGermanyStephen Shaw RENEWAL
Aditya H CaudyIndiaElwin Sharvill NEW
Munro G CaldareraBrazilStephen Shaw NEW
Sinclair Z RutaGermanyAsiya Javayant PROPOSAL
Smith X RoysterSpainIvan Magalhaes QUALIFIED
Maisha A ChuiBrazilXuxue Feng QUALIFIED
James G ChuiSpainIvan Magalhaes RENEWAL
Aruna J ChuiCanadaStephen Shaw QUALIFIED
Salvatore V AmigonSpainOnyama Limba NEW
Cody W SchemmerItalyElwin Sharvill PROPOSAL
Claire Q FlosiAustraliaOnyama Limba RENEWAL
Murillo T SaylorsGermanyStephen Shaw NEW
Munro N StensethAustraliaXuxue Feng PROPOSAL
James A BologniaUnited KingdomAmy Elsner PROPOSAL
Arvin D PoquetteSpainXuxue Feng RENEWAL
Rodrigues R RutaSpainAnna Fali UNQUALIFIED
Sinclair E MarrierRussiaAnna Fali RENEWAL
Salvatore C AmigonIndiaAmy Elsner RENEWAL
Mayumi O AmigonCanadaElwin Sharvill UNQUALIFIED
Ricardo G CaudyIndiaBernardo Dominic QUALIFIED
Izzy B FlosiSpainAmy Elsner PROPOSAL
Izzy H WieserIndiaOnyama Limba NEGOTIATION
Francesco E RulapaughBrazilIvan Magalhaes RENEWAL
Ivar U AmigonSpainOnyama Limba QUALIFIED
Jennifer O RimItalyAmy Elsner QUALIFIED
Jennifer W FigeroaFranceIvan Magalhaes UNQUALIFIED
Faith D VenereJapanElwin Sharvill RENEWAL
Aika S StockhamSpainStephen Shaw RENEWAL
Leon Z FerenczAustraliaElwin Sharvill RENEWAL
Wickens X PoquetteCanadaBernardo Dominic PROPOSAL
Adams O SergiUnited KingdomStephen Shaw RENEWAL
Sinclair H FollerIndiaOnyama Limba NEW
Munro S OstroskyUnited KingdomXuxue Feng NEW
Darci E VocelkaArgentinaAmy Elsner QUALIFIED
Kadeem M TollnerRussiaIoni Bowcher RENEWAL
Rodrigues J FlosiFranceIvan Magalhaes PROPOSAL
Arvin M KuskoRussiaAnna Fali UNQUALIFIED
Isabel E PerinSpainElwin Sharvill RENEWAL
James M ButtUnited KingdomXuxue Feng UNQUALIFIED
Izzy D ButtSpainXuxue Feng NEW
Arvin A CaldareraCanadaIoni Bowcher UNQUALIFIED
Stacey V SaylorsUnited KingdomStephen Shaw NEW
Leon D ShinkoGermanyStephen Shaw RENEWAL
Murillo F CaldareraUnited KingdomXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ashley O StensethAustraliaAnna Fali UNQUALIFIED
Smith J AmigonCanadaBernardo Dominic NEW
Octavia P RimGermanyOnyama Limba NEW
David E MaletUnited KingdomAsiya Javayant PROPOSAL
Kaitlin H BriddickItalyElwin Sharvill NEW
Ashley T GillianItalyIvan Magalhaes NEW
Nicolas K NickaGermanyOnyama Limba QUALIFIED
Darci P VocelkaBrazilStephen Shaw RENEWAL
Cody J PerinRussiaStephen Shaw RENEWAL
Adams D KolmetzCanadaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Z WhobreyItaly2026-10-20Chanay, Jeffrey A Esq RENEWAL83Ioni Bowcher
1001Costa J TollnerIndia2026-10-18Rangoni Of Florence NEW77Anna Fali
1002Isabel J GarufiSpain2026-10-12Benton, John B Jr NEW71Anna Fali
1003Morrow T VenereRussia2026-10-25Dorl, James J Esq NEW0Ivan Magalhaes
1004Rodrigues M BriddickIndia2026-10-06Chapman, Ross E Esq QUALIFIED18Ioni Bowcher
1005Sinclair G InouyeGermany2026-10-05Chapman, Ross E Esq NEW79Elwin Sharvill
1006Jefferson L AlbaresCanada2026-10-31Truhlar And Truhlar Attys RENEWAL98Ivan Magalhaes
1007Chavez B GillianSpain2026-10-06Printing Dimensions PROPOSAL60Ivan Magalhaes
1008Sinclair A BowleyItaly2026-10-24Dorl, James J Esq PROPOSAL20Ioni Bowcher
1009James F StensethFrance2026-10-12Rangoni Of Florence NEGOTIATION61Xuxue Feng
1010Kadeem W CaldareraSpain2026-10-05Rousseaux, Michael Esq UNQUALIFIED91Xuxue Feng
1011Smith F MarrierUnited Kingdom2026-10-12Morlong Associates NEGOTIATION94Anna Fali
1012Francesco M PerinFrance2026-10-25King, Christopher A Esq NEGOTIATION14Elwin Sharvill
1013Faith S KolmetzItaly2026-10-15Chemel, James L Cpa RENEWAL2Asiya Javayant
1014Morrow E GlickJapan2026-10-17Rangoni Of Florence UNQUALIFIED13Xuxue Feng
1015Chavez K IturbideIndia2026-10-24Dorl, James J Esq NEGOTIATION36Stephen Shaw
1016Jeanfrancois O TollnerRussia2026-10-21Commercial Press UNQUALIFIED96Ivan Magalhaes
1017Arvin C WhobreyRussia2026-10-29Buckley Miller Wright NEGOTIATION44Bernardo Dominic
1018Kadeem D DarakjyArgentina2026-10-22Chemel, James L Cpa RENEWAL32Ioni Bowcher
1019Nicolas B SchemmerAustralia2026-10-31Feltz Printing Service QUALIFIED0Elwin Sharvill
1020Alejandro U ShinkoIndia2026-10-07Feltz Printing Service RENEWAL6Asiya Javayant
1021Greenwood O WhobreyUnited Kingdom2026-10-15Morlong Associates NEW87Anna Fali
1022Murillo G WhobreyBrazil2026-10-05Truhlar And Truhlar Attys QUALIFIED78Amy Elsner
1023Morrow C IturbideCanada2026-10-08Truhlar And Truhlar Attys QUALIFIED16Bernardo Dominic
1024Munro V GarufiRussia2026-11-03Printing Dimensions NEW53Bernardo Dominic
1025Nicolas W RulapaughRussia2026-10-06Benton, John B Jr NEGOTIATION55Anna Fali
1026Aditya A GillianRussia2026-10-09Rangoni Of Florence PROPOSAL72Onyama Limba
1027Maisha K FigeroaGermany2026-10-30Chapman, Ross E Esq QUALIFIED8Amy Elsner
1028Stacey Q CampainItaly2026-10-15Feiner Bros QUALIFIED29Anna Fali
1029Leon G PaprockiUnited Kingdom2026-10-22Chemel, James L Cpa QUALIFIED94Amy Elsner
1030Smith H NickaItaly2026-10-07Rangoni Of Florence PROPOSAL34Stephen Shaw
1031Octavia P BriddickFrance2026-10-30Chemel, James L Cpa QUALIFIED58Xuxue Feng
1032Smith B GarufiCanada2026-10-14Chemel, James L Cpa QUALIFIED13Asiya Javayant
1033Kaitlin M IturbideBrazil2026-10-08Chanay, Jeffrey A Esq UNQUALIFIED68Bernardo Dominic
1034Costa A InouyeItaly2026-10-25Chemel, James L Cpa NEW49Elwin Sharvill
1035Adams E CaldareraRussia2026-10-13Chanay, Jeffrey A Esq UNQUALIFIED63Ivan Magalhaes
1036James V KolmetzCanada2026-10-24Rangoni Of Florence QUALIFIED15Bernardo Dominic
1037Tony U SergiGermany2026-10-05Feiner Bros NEGOTIATION58Elwin Sharvill
1038Chavez Y ChuiJapan2026-10-22Rousseaux, Michael Esq PROPOSAL29Ioni Bowcher
1039Costa Z SergiUnited Kingdom2026-10-12Chanay, Jeffrey A Esq QUALIFIED14Amy Elsner
1040Julie M ShinkoArgentina2026-10-16Commercial Press RENEWAL86Elwin Sharvill
1041Darci P CampainSpain2026-10-28Feltz Printing Service NEW89Xuxue Feng
1042Jefferson R GarufiIndia2026-10-06Benton, John B Jr NEGOTIATION56Asiya Javayant
1043Darci N WhobreyIndia2026-10-26Rangoni Of Florence RENEWAL25Ioni Bowcher
1044Wickens W FerenczFrance2026-10-18Dorl, James J Esq NEGOTIATION46Onyama Limba
1045Faith L MaletIndia2026-10-11Truhlar And Truhlar Attys UNQUALIFIED10Ioni Bowcher
1046Nicolas Y PoquetteAustralia2026-10-06Feltz Printing Service QUALIFIED38Onyama Limba
1047Ricardo B FlosiSpain2026-10-17Commercial Press NEW32Anna Fali
1048Jennifer Q OldroydRussia2026-10-20Benton, John B Jr QUALIFIED49Elwin Sharvill
1049Rodrigues K BowleyCanada2026-10-27Benton, John B Jr NEGOTIATION87Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ricardo F SchemmerGermanyAnna Fali NEW
Leon Q BriddickJapanOnyama Limba UNQUALIFIED
Ivar R GarufiItalyIoni Bowcher NEGOTIATION
Aika V MaletJapanOnyama Limba PROPOSAL
Francesco O MarrierCanadaAsiya Javayant PROPOSAL
Juan B FlosiIndiaIoni Bowcher RENEWAL
Emily A SaylorsAustraliaOnyama Limba NEW
Ashley W SchemmerArgentinaOnyama Limba NEGOTIATION
Maria K DarakjyItalyXuxue Feng NEGOTIATION
Jeanfrancois F SchemmerJapanStephen Shaw RENEWAL
Arvin P KuskoSpainStephen Shaw UNQUALIFIED
Silvio A AlbaresIndiaXuxue Feng RENEWAL
Ivar U NestleUnited KingdomAmy Elsner NEW
Chavez G VocelkaGermanyElwin Sharvill NEGOTIATION
Wickens I CampainBrazilOnyama Limba PROPOSAL
Julie E StockhamBrazilAnna Fali RENEWAL
Wickens U KolmetzUnited KingdomElwin Sharvill NEW
Juan R MaletFranceAmy Elsner UNQUALIFIED
Morrow J CaldareraJapanElwin Sharvill RENEWAL
Jennifer K WaycottIndiaIoni Bowcher NEGOTIATION
Mayumi A ChuiGermanyStephen Shaw UNQUALIFIED
Aika N GillianIndiaAsiya Javayant NEW
Mayumi Q MacleadGermanyXuxue Feng NEW
Arvin K BriddickJapanAnna Fali QUALIFIED
Ashley S StensethBrazilStephen Shaw RENEWAL
Rodrigues I GauchoAustraliaAsiya Javayant NEW
Clifford U StockhamCanadaStephen Shaw PROPOSAL
Emily N ShinkoSpainXuxue Feng QUALIFIED
Leon K KuskoArgentinaAsiya Javayant NEW
Kadeem I StockhamSpainElwin Sharvill RENEWAL
Sinclair X WaycottUnited KingdomAmy Elsner NEW
Aika B RimArgentinaIvan Magalhaes RENEWAL
Murillo E MacleadJapanIoni Bowcher UNQUALIFIED
Aruna X FerenczArgentinaAmy Elsner PROPOSAL
Chavez T DoeGermanyBernardo Dominic QUALIFIED
Izzy U ChuiArgentinaAnna Fali PROPOSAL
Leon W MorascaAustraliaIoni Bowcher NEW
Nicolas G AmigonSpainStephen Shaw NEW
Julie W GlickCanadaIvan Magalhaes RENEWAL
Juan U BologniaItalyXuxue Feng UNQUALIFIED
Jeanfrancois T BowleyItalyAnna Fali UNQUALIFIED
Misaki F InouyeUnited KingdomElwin Sharvill QUALIFIED
Mujtaba O WaycottUnited KingdomAsiya Javayant NEW
Mujtaba D TollnerFranceElwin Sharvill RENEWAL
Leon O InouyeSpainXuxue Feng UNQUALIFIED
Johnson X WhobreyFranceAsiya Javayant UNQUALIFIED
Antonio X MaletUnited KingdomAmy Elsner NEW
Greenwood W NickaSpainStephen Shaw QUALIFIED
Jones T ButtItalyXuxue Feng NEGOTIATION
Jennifer P BologniaSpainAsiya Javayant PROPOSAL
Frozen Columns
Name
Emily Q Shinko
Julie F Venere
Aruna O Albares
Darci A Kusko
Tony Z Kusko
Ashley V Garufi
Arvin Z Figeroa
Ricardo E Paprocki
Misaki I Tollner
Emily N Doe
James W Figeroa
Morrow C Stenseth
Arvin G Rulapaugh
Aruna A Marrier
Ivar C Slusarski
Antonio U Oldroyd
Smith Q Glick
Aruna N Malet
Morrow P Venere
Costa V Caudy
Arvin V Dilliard
Francesco H Shinko
Leon O Maclead
Izzy X Schemmer
Jefferson K Saylors
Ashley R Amigon
Mayumi G Albares
Leja B Dilliard
Darci X Poquette
Munro H Darakjy
Smith F Inouye
Faith X Paprocki
Johnson W Sergi
Nicolas X Caudy
Maria V Iturbide
Johnson U Wieser
Clifford O Slusarski
Smith E Foller
Aika Z Perin
Nicolas D Butt
Rodrigues C Morasca
Murillo I Caudy
Wickens V Ferencz
Nicolas Q Briddick
Arvin I Nicka
Nicolas W Paprocki
Julie I Waycott
Mayumi X Butt
Ashley N Oldroyd
Ivar X Tollner
IdCountryDate
1000France2026-10-05
1001Australia2026-10-30
1002Australia2026-11-03
1003Germany2026-10-27
1004Australia2026-10-30
1005Australia2026-10-19
1006Brazil2026-10-26
1007Canada2026-11-01
1008United Kingdom2026-10-20
1009Spain2026-10-20
1010United Kingdom2026-10-30
1011Australia2026-10-28
1012India2026-10-29
1013United Kingdom2026-11-03
1014Canada2026-10-24
1015Russia2026-10-05
1016Canada2026-10-19
1017Russia2026-11-03
1018Russia2026-10-10
1019Argentina2026-10-13
1020Spain2026-11-01
1021Canada2026-10-29
1022Italy2026-10-21
1023Spain2026-10-20
1024Spain2026-10-06
1025Italy2026-11-03
1026Australia2026-10-16
1027India2026-10-06
1028India2026-10-12
1029Germany2026-11-03
1030Brazil2026-10-13
1031Canada2026-10-13
1032Spain2026-10-29
1033United Kingdom2026-10-14
1034United Kingdom2026-11-01
1035Brazil2026-10-31
1036India2026-11-03
1037Australia2026-10-14
1038Australia2026-10-24
1039India2026-10-23
1040Spain2026-11-02
1041India2026-10-13
1042France2026-10-19
1043United Kingdom2026-10-30
1044Argentina2026-10-17
1045India2026-10-14
1046India2026-10-09
1047Argentina2026-10-23
1048Russia2026-10-24
1049India2026-10-20

On-Demand Data

NameIdCountryDate
Maisha I Gillian1000Brazil2026-10-27
Ricardo A Briddick1001Australia2026-10-31
Leon X Marrier1002Argentina2026-10-25
Julie C Slusarski1003Italy2026-10-17
Kaitlin T Caldarera1004France2026-11-02
Antonio Z Ferencz1005Japan2026-10-14
Jeanfrancois V Shinko1006Brazil2026-10-10
Johnson K Inouye1007Japan2026-10-13
Jennifer Y Doe1008Spain2026-10-25
Misaki W Caldarera1009United Kingdom2026-10-21
Deepesh L Caldarera1010United Kingdom2026-10-27
Jones T Amigon1011Italy2026-11-02
Leon A Bowley1012Japan2026-10-13
Aditya W Rulapaugh1013Spain2026-10-12
Maisha S Wieser1014Russia2026-10-26
Aika L Glick1015Spain2026-10-09
Silvio D Foller1016United Kingdom2026-11-02
Chavez C Tollner1017Brazil2026-10-08
Kaitlin W Gaucho1018Russia2026-10-19
Misaki O Schemmer1019India2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith G CampainJapanAsiya Javayant NEGOTIATION
Claire P RulapaughUnited KingdomBernardo Dominic PROPOSAL
Ivar K FlosiBrazilAmy Elsner NEGOTIATION
Murillo B IturbideUnited KingdomAsiya Javayant NEGOTIATION
Izzy V DilliardIndiaAmy Elsner NEW
Rodrigues I NickaItalyXuxue Feng NEW
Emily X AmigonJapanBernardo Dominic NEW
Emily S AmigonBrazilAsiya Javayant QUALIFIED
Octavia K GarufiRussiaOnyama Limba RENEWAL
Maisha I SaylorsRussiaBernardo Dominic PROPOSAL
Maria L PaprockiFranceBernardo Dominic QUALIFIED
Costa P NickaGermanyAmy Elsner RENEWAL
Kadeem N StockhamFranceElwin Sharvill NEW
Ivar T GarufiJapanXuxue Feng UNQUALIFIED
Kadeem G BriddickItalyIoni Bowcher RENEWAL
Cody J RimIndiaAsiya Javayant QUALIFIED
Chavez Z StockhamSpainElwin Sharvill RENEWAL
Leon B TollnerCanadaAsiya Javayant UNQUALIFIED
Alejandro X IturbideArgentinaIoni Bowcher NEW
Antonio M MaletUnited KingdomAsiya Javayant NEGOTIATION
Misaki W IturbideFranceIvan Magalhaes PROPOSAL
Arvin U OldroydUnited KingdomOnyama Limba RENEWAL
Johnson A MacleadCanadaAmy Elsner QUALIFIED
Silvio S PoquetteAustraliaElwin Sharvill PROPOSAL
Cody O ChuiArgentinaIoni Bowcher UNQUALIFIED
Leon L OstroskyIndiaAmy Elsner PROPOSAL
Ricardo M RulapaughIndiaBernardo Dominic NEGOTIATION
Costa T BriddickGermanyBernardo Dominic QUALIFIED
Stacey O OldroydItalyAsiya Javayant RENEWAL
Aika E BowleyFranceAsiya Javayant UNQUALIFIED
Mayumi U FlosiAustraliaElwin Sharvill UNQUALIFIED
Rodrigues W WieserSpainBernardo Dominic PROPOSAL
Munro O PerinBrazilElwin Sharvill NEW
Smith F FollerUnited KingdomXuxue Feng UNQUALIFIED
Murillo M PaprockiRussiaStephen Shaw NEW
Aruna O FigeroaAustraliaAmy Elsner PROPOSAL
Murillo U WaycottBrazilAnna Fali NEW
Jeanfrancois N PaprockiCanadaOnyama Limba RENEWAL
Kaitlin A KuskoSpainIoni Bowcher RENEWAL
James E ButtJapanIvan Magalhaes 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>