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
Isabel Q DilliardUnited KingdomAmy Elsner UNQUALIFIED
Morrow T DoeJapanAmy Elsner UNQUALIFIED
Kaitlin S ShinkoUnited KingdomIvan Magalhaes RENEWAL
James G FigeroaItalyIvan Magalhaes QUALIFIED
Johnson J AlbaresIndiaIoni Bowcher PROPOSAL
Kaitlin S FerenczItalyXuxue Feng PROPOSAL
Kadeem N GarufiUnited KingdomAnna Fali RENEWAL
Alejandro A VenereSpainIvan Magalhaes NEW
Tony T FlosiBrazilStephen Shaw RENEWAL
Ricardo M CaudyAustraliaOnyama Limba NEGOTIATION
Julie N AmigonAustraliaBernardo Dominic PROPOSAL
Stacey G StensethUnited KingdomStephen Shaw NEGOTIATION
Faith M DoeSpainIvan Magalhaes QUALIFIED
Jeanfrancois M FigeroaBrazilXuxue Feng UNQUALIFIED
Cody V TollnerRussiaIvan Magalhaes QUALIFIED
Tony A NestleSpainXuxue Feng RENEWAL
Wickens Z SaylorsJapanOnyama Limba UNQUALIFIED
Stacey E MaletRussiaXuxue Feng RENEWAL
Jefferson U FigeroaFranceOnyama Limba NEW
Chavez G SlusarskiRussiaAnna Fali RENEWAL
Stacey A FollerBrazilStephen Shaw QUALIFIED
Francesco E IturbideItalyAnna Fali QUALIFIED
Silvio R WaycottBrazilBernardo Dominic PROPOSAL
James G SlusarskiFranceElwin Sharvill RENEWAL
Ivar N GarufiGermanyAmy Elsner NEW
Izzy N RulapaughBrazilAnna Fali QUALIFIED
Johnson S PerinFranceXuxue Feng NEW
Jennifer N SchemmerSpainAsiya Javayant PROPOSAL
Munro Y PaprockiRussiaElwin Sharvill UNQUALIFIED
Aditya V CaldareraBrazilAnna Fali UNQUALIFIED
Chavez O SergiRussiaIoni Bowcher PROPOSAL
Maria V VocelkaGermanyXuxue Feng NEW
Jones X NestleCanadaIvan Magalhaes NEGOTIATION
Jefferson W RulapaughItalyBernardo Dominic UNQUALIFIED
Isabel Z ShinkoIndiaXuxue Feng NEW
Deepesh E VocelkaRussiaAsiya Javayant PROPOSAL
Maria O WieserIndiaBernardo Dominic RENEWAL
Tony Y CaldareraCanadaIvan Magalhaes RENEWAL
Kadeem U MorascaJapanAnna Fali RENEWAL
Kadeem B StockhamBrazilXuxue Feng NEW
Arvin N WaycottSpainAmy Elsner PROPOSAL
Darci X ShinkoRussiaAsiya Javayant NEGOTIATION
Silvio X RutaJapanAnna Fali NEGOTIATION
Ivar V InouyeUnited KingdomOnyama Limba NEGOTIATION
Ashley M SergiUnited KingdomAmy Elsner RENEWAL
James N VenereSpainBernardo Dominic QUALIFIED
Jones Q MacleadItalyAsiya Javayant RENEWAL
Leja O AmigonFranceAnna Fali UNQUALIFIED
Murillo T InouyeCanadaIoni Bowcher UNQUALIFIED
Faith B SlusarskiArgentinaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio L PaprockiAustraliaOnyama Limba QUALIFIED
Octavia M WaycottSpainIvan Magalhaes QUALIFIED
Salvatore Q RulapaughArgentinaAnna Fali QUALIFIED
Darci W ButtJapanIvan Magalhaes RENEWAL
Faith I SergiUnited KingdomXuxue Feng NEGOTIATION
Antonio N ChuiSpainBernardo Dominic PROPOSAL
Aika S SergiAustraliaElwin Sharvill PROPOSAL
Maria F ButtRussiaAmy Elsner RENEWAL
Julie M RoysterArgentinaXuxue Feng NEGOTIATION
Sinclair L RutaSpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya U FlosiFrance2026-10-21Feltz Printing Service RENEWAL66Amy Elsner
1001Deepesh Y GlickGermany2026-10-01Chemel, James L Cpa QUALIFIED92Bernardo Dominic
1002Murillo O DarakjyJapan2026-10-09Rousseaux, Michael Esq RENEWAL24Stephen Shaw
1003Faith I BriddickGermany2026-10-14Printing Dimensions RENEWAL57Anna Fali
1004Darci J CampainIndia2026-10-16King, Christopher A Esq QUALIFIED80Elwin Sharvill
1005Claire U RulapaughSpain2026-10-07Commercial Press RENEWAL98Asiya Javayant
1006Isabel U MacleadSpain2026-09-29Feltz Printing Service RENEWAL40Stephen Shaw
1007Ricardo S ShinkoItaly2026-10-08Chanay, Jeffrey A Esq UNQUALIFIED34Ioni Bowcher
1008Clifford I NickaJapan2026-10-11Printing Dimensions QUALIFIED40Asiya Javayant
1009James R GlickFrance2026-10-24Chemel, James L Cpa NEW41Asiya Javayant
1010Isabel X ShinkoFrance2026-10-07Buckley Miller Wright QUALIFIED74Bernardo Dominic
1011Mujtaba C DilliardAustralia2026-10-04Rangoni Of Florence UNQUALIFIED96Stephen Shaw
1012Greenwood I ButtIndia2026-09-29Commercial Press QUALIFIED51Bernardo Dominic
1013Kadeem H GarufiFrance2026-10-01Feltz Printing Service NEGOTIATION51Amy Elsner
1014Clifford H DoeArgentina2026-10-17Dorl, James J Esq UNQUALIFIED78Xuxue Feng
1015Munro X MacleadUnited Kingdom2026-10-13Rangoni Of Florence RENEWAL57Amy Elsner
1016Tony X KolmetzRussia2026-10-18Chanay, Jeffrey A Esq RENEWAL48Ivan Magalhaes
1017Maisha G CampainRussia2026-10-26Printing Dimensions UNQUALIFIED23Asiya Javayant
1018Munro M BriddickUnited Kingdom2026-10-27King, Christopher A Esq NEGOTIATION63Xuxue Feng
1019Johnson K ShinkoFrance2026-10-20Rangoni Of Florence UNQUALIFIED69Amy Elsner
1020Faith C NestleItaly2026-09-29Buckley Miller Wright NEW69Ioni Bowcher
1021Ashley Y GarufiIndia2026-10-18Chemel, James L Cpa UNQUALIFIED67Asiya Javayant
1022Misaki N GlickBrazil2026-10-27Morlong Associates PROPOSAL58Ivan Magalhaes
1023Julie P RulapaughRussia2026-10-28Rousseaux, Michael Esq RENEWAL3Onyama Limba
1024Clifford L AmigonItaly2026-10-01Commercial Press RENEWAL82Onyama Limba
1025Kaitlin J PoquetteGermany2026-10-05Morlong Associates UNQUALIFIED13Amy Elsner
1026David H RoysterItaly2026-10-15King, Christopher A Esq RENEWAL65Anna Fali
1027Darci O RutaArgentina2026-10-27Truhlar And Truhlar Attys PROPOSAL16Xuxue Feng
1028James H FlosiUnited Kingdom2026-10-28Commercial Press NEGOTIATION26Stephen Shaw
1029Jennifer X PerinJapan2026-10-09Feltz Printing Service UNQUALIFIED86Anna Fali
1030Jennifer F BowleyUnited Kingdom2026-10-03Feltz Printing Service PROPOSAL36Elwin Sharvill
1031Claire M MaletCanada2026-10-02Feltz Printing Service QUALIFIED95Stephen Shaw
1032Wickens P PoquetteGermany2026-10-16Feiner Bros NEGOTIATION12Onyama Limba
1033Maria J PaprockiAustralia2026-10-04Benton, John B Jr NEW26Onyama Limba
1034Octavia T DilliardArgentina2026-10-28Buckley Miller Wright RENEWAL28Elwin Sharvill
1035Sinclair I DilliardArgentina2026-09-30Chapman, Ross E Esq QUALIFIED88Bernardo Dominic
1036Morrow J RulapaughBrazil2026-10-15Printing Dimensions NEW89Anna Fali
1037Morrow D PoquetteAustralia2026-10-23King, Christopher A Esq RENEWAL58Asiya Javayant
1038Mujtaba M RoysterAustralia2026-10-12Feltz Printing Service NEGOTIATION78Stephen Shaw
1039Ashley I AmigonSpain2026-10-21Chemel, James L Cpa NEGOTIATION31Anna Fali
1040James V MaletBrazil2026-10-16Morlong Associates NEW45Elwin Sharvill
1041Wickens G SchemmerUnited Kingdom2026-09-29Benton, John B Jr PROPOSAL21Amy Elsner
1042Ashley Z FollerSpain2026-10-17Morlong Associates PROPOSAL20Xuxue Feng
1043James S ButtIndia2026-10-14Rousseaux, Michael Esq RENEWAL20Xuxue Feng
1044Izzy B PoquetteArgentina2026-10-08Rousseaux, Michael Esq RENEWAL20Xuxue Feng
1045Kadeem N NestleJapan2026-10-22Truhlar And Truhlar Attys NEW54Xuxue Feng
1046Jones Y PaprockiJapan2026-10-05Rousseaux, Michael Esq UNQUALIFIED29Ioni Bowcher
1047Kaitlin G GauchoUnited Kingdom2026-10-11King, Christopher A Esq RENEWAL19Ivan Magalhaes
1048Aditya Z BologniaFrance2026-10-10Chapman, Ross E Esq RENEWAL90Bernardo Dominic
1049Ashley H GarufiJapan2026-10-15Chanay, Jeffrey A Esq NEW24Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Faith M MorascaAustraliaIoni Bowcher NEGOTIATION
Ivar O WaycottFranceXuxue Feng NEGOTIATION
Aruna Y DilliardAustraliaXuxue Feng NEGOTIATION
Leja S NickaIndiaOnyama Limba PROPOSAL
Mayumi N DoeItalyStephen Shaw PROPOSAL
Kaitlin U CaudyRussiaAnna Fali RENEWAL
Munro R FerenczGermanyBernardo Dominic QUALIFIED
Munro K MaletRussiaXuxue Feng RENEWAL
Jennifer H BologniaGermanyXuxue Feng PROPOSAL
David I BologniaGermanyStephen Shaw RENEWAL
Isabel Q VenereItalyXuxue Feng PROPOSAL
Jeanfrancois N OstroskyIndiaAmy Elsner RENEWAL
Julie I ButtArgentinaStephen Shaw NEW
Juan V KuskoAustraliaStephen Shaw RENEWAL
Alejandro L WaycottBrazilXuxue Feng RENEWAL
Murillo D VenereCanadaIvan Magalhaes QUALIFIED
Morrow P RoysterGermanyXuxue Feng RENEWAL
Chavez Z VocelkaSpainAsiya Javayant PROPOSAL
Cody F SergiJapanAsiya Javayant QUALIFIED
Chavez T ChuiItalyBernardo Dominic RENEWAL
Claire O GlickRussiaIoni Bowcher PROPOSAL
Juan Z RulapaughBrazilStephen Shaw NEGOTIATION
Salvatore E KolmetzAustraliaBernardo Dominic QUALIFIED
Aika Y AlbaresRussiaBernardo Dominic UNQUALIFIED
Adams Q ShinkoJapanBernardo Dominic RENEWAL
Aditya O OldroydUnited KingdomStephen Shaw RENEWAL
Sinclair S GillianGermanyAsiya Javayant UNQUALIFIED
Antonio V PerinJapanIoni Bowcher PROPOSAL
David D OstroskySpainIvan Magalhaes QUALIFIED
Mujtaba G PaprockiSpainElwin Sharvill NEGOTIATION
Wickens D GlickArgentinaAmy Elsner NEW
Arvin N BologniaIndiaXuxue Feng UNQUALIFIED
Izzy L DarakjyItalyOnyama Limba QUALIFIED
Maria O BologniaUnited KingdomXuxue Feng NEW
Rodrigues P MaletUnited KingdomStephen Shaw RENEWAL
Smith P ShinkoIndiaAnna Fali QUALIFIED
Mujtaba H MaletArgentinaXuxue Feng QUALIFIED
Johnson B MaletCanadaStephen Shaw QUALIFIED
Morrow V ButtFranceIoni Bowcher UNQUALIFIED
Claire X KuskoCanadaAmy Elsner RENEWAL
Costa C PaprockiAustraliaAsiya Javayant QUALIFIED
Aditya J OstroskyAustraliaOnyama Limba RENEWAL
Morrow Q ShinkoRussiaXuxue Feng NEGOTIATION
Murillo P CaldareraAustraliaStephen Shaw NEW
Aruna H FerenczFranceIvan Magalhaes NEGOTIATION
Wickens W InouyeArgentinaIvan Magalhaes NEGOTIATION
Darci V NestleJapanOnyama Limba UNQUALIFIED
Chavez K FerenczAustraliaXuxue Feng RENEWAL
Aika W NestleUnited KingdomAmy Elsner NEW
Francesco N FlosiCanadaElwin Sharvill PROPOSAL
Frozen Columns
Name
Murillo L Vocelka
Izzy Y Gaucho
Salvatore Y Albares
Tony N Iturbide
Aika Q Butt
Cody W Marrier
Emily A Ferencz
Costa Z Foller
Ricardo U Gillian
Emily H Iturbide
Salvatore Q Ostrosky
Mayumi F Bowley
Clifford A Figeroa
Claire F Slusarski
Wickens E Nestle
Emily T Schemmer
Stacey T Ferencz
Jefferson K Bolognia
Isabel A Wieser
Adams E Shinko
Cody U Rim
James Q Tollner
Isabel O Stenseth
Juan A Ferencz
Darci B Nicka
Mujtaba J Waycott
Misaki A Inouye
Costa Y Maclead
James M Bowley
Aika O Ostrosky
Misaki W Kusko
Juan Y Malet
Isabel L Campain
Wickens U Schemmer
Clifford Q Glick
Leja R Ruta
Julie H Tollner
Salvatore X Caudy
Adams M Nestle
Jones F Nicka
Salvatore V Morasca
Julie E Inouye
Octavia I Nicka
Tony A Perin
Salvatore J Nestle
Arvin S Nicka
Maria D Oldroyd
Cody C Paprocki
Ricardo M Kolmetz
Morrow D Doe
IdCountryDate
1000Germany2026-10-27
1001Argentina2026-10-21
1002Spain2026-10-02
1003Brazil2026-10-03
1004Australia2026-10-11
1005Argentina2026-10-20
1006Russia2026-10-14
1007Japan2026-10-11
1008Brazil2026-10-09
1009Australia2026-10-17
1010Brazil2026-10-28
1011Canada2026-10-12
1012Italy2026-10-19
1013India2026-10-12
1014Russia2026-10-05
1015Canada2026-10-26
1016Japan2026-10-06
1017Australia2026-10-14
1018Brazil2026-10-11
1019Spain2026-10-04
1020Spain2026-10-02
1021United Kingdom2026-10-18
1022Italy2026-10-01
1023Argentina2026-10-16
1024India2026-10-03
1025Australia2026-09-29
1026United Kingdom2026-10-24
1027Germany2026-10-04
1028Brazil2026-10-01
1029Brazil2026-10-13
1030Australia2026-10-22
1031Japan2026-10-28
1032Italy2026-10-03
1033Spain2026-10-13
1034Argentina2026-10-20
1035Japan2026-10-13
1036Italy2026-10-04
1037France2026-10-06
1038Brazil2026-10-12
1039United Kingdom2026-10-07
1040Japan2026-10-15
1041United Kingdom2026-10-16
1042Canada2026-10-20
1043Spain2026-10-10
1044Brazil2026-10-12
1045Russia2026-10-12
1046United Kingdom2026-10-28
1047Spain2026-10-16
1048Spain2026-09-30
1049Australia2026-10-02

On-Demand Data

NameIdCountryDate
David F Ferencz1000India2026-10-28
Leja F Rulapaugh1001France2026-10-24
Leja F Oldroyd1002India2026-10-05
Francesco K Sergi1003Germany2026-10-02
Adams V Bowley1004Japan2026-10-08
Ivar S Kolmetz1005Australia2026-10-22
Aruna Z Dilliard1006Argentina2026-10-14
Tony T Slusarski1007Germany2026-10-28
Emily D Nestle1008Argentina2026-10-27
Emily E Poquette1009France2026-10-18
James O Garufi1010Australia2026-10-25
Sinclair W Caldarera1011Russia2026-10-27
Antonio T Poquette1012Argentina2026-10-21
Juan U Kolmetz1013Italy2026-10-12
Chavez J Saylors1014Brazil2026-10-24
James I Ferencz1015India2026-10-16
Munro X Oldroyd1016Australia2026-10-07
Costa N Garufi1017Argentina2026-10-02
Jennifer B Venere1018France2026-10-16
Darci C Malet1019Canada2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood T MacleadRussiaIoni Bowcher NEW
Leja U KuskoAustraliaElwin Sharvill UNQUALIFIED
Johnson P SergiSpainOnyama Limba NEW
Silvio K PaprockiItalyAnna Fali PROPOSAL
Isabel U SaylorsArgentinaAsiya Javayant NEW
David M OstroskySpainElwin Sharvill NEW
Ashley S AmigonBrazilStephen Shaw QUALIFIED
Munro X RulapaughArgentinaXuxue Feng NEGOTIATION
Leon G WhobreySpainElwin Sharvill NEGOTIATION
Ricardo C FerenczAustraliaOnyama Limba NEGOTIATION
Johnson P BowleyAustraliaAnna Fali QUALIFIED
Deepesh J GlickFranceAsiya Javayant RENEWAL
Tony L GarufiAustraliaXuxue Feng RENEWAL
James A NestleItalyAnna Fali RENEWAL
Nicolas B SlusarskiGermanyElwin Sharvill NEGOTIATION
Nicolas S SchemmerGermanyAmy Elsner PROPOSAL
Mujtaba U MaletItalyStephen Shaw PROPOSAL
Aditya N SergiJapanStephen Shaw UNQUALIFIED
Cody F SaylorsFranceElwin Sharvill NEGOTIATION
Nicolas Y VenereGermanyStephen Shaw RENEWAL
Ashley F AmigonItalyXuxue Feng PROPOSAL
Juan J WhobreyJapanAsiya Javayant PROPOSAL
Ivar F CaldareraBrazilElwin Sharvill QUALIFIED
Isabel R NestleRussiaIvan Magalhaes UNQUALIFIED
Chavez M AmigonJapanIoni Bowcher RENEWAL
Cody J GillianArgentinaElwin Sharvill RENEWAL
Stacey S StockhamSpainIoni Bowcher NEW
Maria J GlickCanadaOnyama Limba PROPOSAL
Alejandro Y KolmetzUnited KingdomElwin Sharvill NEW
Aruna M AmigonIndiaAsiya Javayant NEW
Salvatore F PerinRussiaAsiya Javayant UNQUALIFIED
Ashley A PoquetteItalyIvan Magalhaes NEW
Johnson G OstroskyUnited KingdomAnna Fali NEGOTIATION
Nicolas P PerinBrazilIvan Magalhaes RENEWAL
Juan R WaycottRussiaIoni Bowcher NEW
Aika B KuskoFranceElwin Sharvill NEW
Wickens O WhobreyFranceOnyama Limba NEGOTIATION
Tony P InouyeIndiaOnyama Limba NEW
Emily D FlosiRussiaIoni Bowcher NEGOTIATION
Juan P NestleIndiaIvan Magalhaes 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>