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
Sinclair L SchemmerItalyOnyama Limba PROPOSAL
Ricardo F NickaBrazilOnyama Limba NEGOTIATION
Kaitlin A KolmetzGermanyAnna Fali RENEWAL
Kadeem Q SlusarskiBrazilIvan Magalhaes RENEWAL
Aika C SaylorsJapanBernardo Dominic NEGOTIATION
Jones C VenereItalyStephen Shaw NEW
Johnson M SaylorsCanadaAsiya Javayant QUALIFIED
Smith C InouyeRussiaIoni Bowcher NEW
Ivar K FollerItalyStephen Shaw NEW
Johnson Z NickaIndiaBernardo Dominic NEW
Isabel Y WaycottCanadaStephen Shaw NEGOTIATION
Wickens W KuskoRussiaXuxue Feng PROPOSAL
Salvatore J FerenczRussiaElwin Sharvill PROPOSAL
Munro K KolmetzJapanAmy Elsner RENEWAL
Clifford Z RimJapanIvan Magalhaes RENEWAL
Clifford Q InouyeJapanIvan Magalhaes RENEWAL
Munro U FlosiAustraliaBernardo Dominic UNQUALIFIED
Arvin N MaletAustraliaAsiya Javayant QUALIFIED
Alejandro S BriddickAustraliaElwin Sharvill PROPOSAL
Darci U KolmetzAustraliaAsiya Javayant RENEWAL
Maisha I NickaRussiaStephen Shaw NEGOTIATION
Ricardo S CaudyItalyAnna Fali RENEWAL
Sinclair L SergiArgentinaElwin Sharvill UNQUALIFIED
Salvatore Q WhobreyFranceElwin Sharvill PROPOSAL
Misaki D OstroskyGermanyElwin Sharvill PROPOSAL
Kadeem H RulapaughSpainAnna Fali QUALIFIED
Jefferson P TollnerArgentinaIoni Bowcher UNQUALIFIED
Rodrigues O PerinItalyAsiya Javayant RENEWAL
Maria A WaycottItalyBernardo Dominic NEW
Izzy U BologniaFranceXuxue Feng NEGOTIATION
James G MorascaAustraliaIvan Magalhaes QUALIFIED
Jones Z GauchoBrazilXuxue Feng NEGOTIATION
Johnson B WieserItalyIoni Bowcher NEW
Smith S PerinArgentinaAsiya Javayant PROPOSAL
Ricardo N DilliardArgentinaAnna Fali RENEWAL
Julie J RimSpainBernardo Dominic RENEWAL
Johnson H VocelkaItalyOnyama Limba UNQUALIFIED
Silvio L ButtUnited KingdomStephen Shaw NEW
Aditya X RoysterCanadaIvan Magalhaes NEW
Arvin I MacleadIndiaAsiya Javayant NEGOTIATION
Maria W DoeArgentinaIvan Magalhaes NEW
Silvio Y DarakjyFranceAsiya Javayant NEGOTIATION
Octavia B VocelkaGermanyIoni Bowcher NEW
Maisha R FollerFranceAmy Elsner RENEWAL
Kadeem E RoysterIndiaBernardo Dominic QUALIFIED
Chavez R IturbideIndiaBernardo Dominic NEGOTIATION
Murillo J MaletAustraliaAnna Fali NEW
Silvio W FollerArgentinaAnna Fali NEW
Deepesh F MaletItalyAmy Elsner NEGOTIATION
Leja H GauchoRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Maisha E ShinkoArgentinaXuxue Feng QUALIFIED
Salvatore C CaudyGermanyIoni Bowcher UNQUALIFIED
Maisha Z PaprockiJapanAsiya Javayant NEW
Salvatore X MaletSpainXuxue Feng NEW
David C SaylorsSpainBernardo Dominic RENEWAL
Stacey J InouyeCanadaAsiya Javayant NEGOTIATION
Misaki A RulapaughIndiaElwin Sharvill UNQUALIFIED
David D RulapaughBrazilIoni Bowcher NEW
Maisha W PerinUnited KingdomAsiya Javayant QUALIFIED
Maisha O NickaRussiaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow U StensethCanada2026-09-17Truhlar And Truhlar Attys NEW64Onyama Limba
1001Wickens A BowleyJapan2026-09-11Morlong Associates RENEWAL55Anna Fali
1002Francesco L CaldareraSpain2026-09-02King, Christopher A Esq QUALIFIED83Amy Elsner
1003Julie C MorascaFrance2026-09-04Buckley Miller Wright UNQUALIFIED46Bernardo Dominic
1004Tony S DoeUnited Kingdom2026-09-21Chapman, Ross E Esq RENEWAL42Elwin Sharvill
1005Aruna V GlickItaly2026-09-13Truhlar And Truhlar Attys PROPOSAL0Amy Elsner
1006Maria I SergiJapan2026-08-30Chapman, Ross E Esq QUALIFIED46Anna Fali
1007Claire B MarrierIndia2026-09-14Truhlar And Truhlar Attys QUALIFIED16Ivan Magalhaes
1008Juan C SergiGermany2026-09-06Chemel, James L Cpa PROPOSAL31Asiya Javayant
1009Misaki P SlusarskiBrazil2026-09-03Benton, John B Jr QUALIFIED99Xuxue Feng
1010Stacey K OstroskyFrance2026-09-04Commercial Press NEW86Ivan Magalhaes
1011Maria Y MorascaAustralia2026-08-26Dorl, James J Esq UNQUALIFIED72Ioni Bowcher
1012Octavia T VocelkaBrazil2026-08-29Chemel, James L Cpa PROPOSAL71Stephen Shaw
1013Misaki Q ShinkoBrazil2026-09-10Buckley Miller Wright NEGOTIATION61Xuxue Feng
1014Misaki Y BologniaRussia2026-09-20Rangoni Of Florence RENEWAL43Anna Fali
1015Antonio M OldroydSpain2026-09-22Dorl, James J Esq NEGOTIATION41Ioni Bowcher
1016Deepesh R GarufiGermany2026-09-05Benton, John B Jr NEGOTIATION97Ioni Bowcher
1017Tony A InouyeSpain2026-09-16Dorl, James J Esq NEGOTIATION54Asiya Javayant
1018Antonio B FigeroaCanada2026-09-18Chapman, Ross E Esq UNQUALIFIED18Bernardo Dominic
1019Misaki X WhobreySpain2026-09-21Morlong Associates NEW96Bernardo Dominic
1020Alejandro R BriddickFrance2026-09-20Chemel, James L Cpa UNQUALIFIED81Elwin Sharvill
1021Julie E InouyeArgentina2026-09-03Rousseaux, Michael Esq RENEWAL93Anna Fali
1022James Z RutaArgentina2026-08-30Dorl, James J Esq UNQUALIFIED48Onyama Limba
1023Silvio V MaletSpain2026-09-05Printing Dimensions UNQUALIFIED26Ioni Bowcher
1024Sinclair I SaylorsUnited Kingdom2026-09-13Dorl, James J Esq UNQUALIFIED6Bernardo Dominic
1025Aruna U GillianBrazil2026-08-27King, Christopher A Esq NEGOTIATION6Xuxue Feng
1026Alejandro H BologniaSpain2026-09-10Feltz Printing Service NEW64Onyama Limba
1027Aika L AlbaresJapan2026-09-09King, Christopher A Esq QUALIFIED59Anna Fali
1028Aruna K BowleyJapan2026-08-25Chemel, James L Cpa NEGOTIATION81Bernardo Dominic
1029Adams C GauchoFrance2026-09-03Dorl, James J Esq RENEWAL67Onyama Limba
1030Francesco X KolmetzGermany2026-08-28Printing Dimensions QUALIFIED7Stephen Shaw
1031Jefferson U CampainSpain2026-09-13Rousseaux, Michael Esq NEGOTIATION21Onyama Limba
1032Faith K ChuiArgentina2026-09-17Chapman, Ross E Esq UNQUALIFIED12Bernardo Dominic
1033Isabel Y DilliardCanada2026-09-15Feltz Printing Service UNQUALIFIED96Bernardo Dominic
1034Stacey Z SergiUnited Kingdom2026-09-03Morlong Associates QUALIFIED28Onyama Limba
1035Cody T KuskoAustralia2026-09-05Benton, John B Jr PROPOSAL84Ivan Magalhaes
1036Adams I SaylorsAustralia2026-08-25Chanay, Jeffrey A Esq NEW31Elwin Sharvill
1037Stacey G TollnerRussia2026-09-22Commercial Press NEGOTIATION8Amy Elsner
1038Jeanfrancois Y SchemmerJapan2026-09-02Feiner Bros UNQUALIFIED45Bernardo Dominic
1039Aruna A GillianIndia2026-09-08Rousseaux, Michael Esq UNQUALIFIED71Ioni Bowcher
1040Wickens O SlusarskiSpain2026-09-23Chapman, Ross E Esq UNQUALIFIED70Elwin Sharvill
1041Isabel T GauchoArgentina2026-09-22Chanay, Jeffrey A Esq PROPOSAL77Asiya Javayant
1042Murillo W MarrierRussia2026-08-25King, Christopher A Esq UNQUALIFIED28Asiya Javayant
1043Tony O SergiFrance2026-09-05Feiner Bros QUALIFIED19Xuxue Feng
1044Juan B StockhamIndia2026-09-03Commercial Press NEGOTIATION56Anna Fali
1045Faith P CaldareraSpain2026-09-14Chanay, Jeffrey A Esq QUALIFIED68Asiya Javayant
1046Jennifer W ButtCanada2026-08-28Rousseaux, Michael Esq NEW72Ioni Bowcher
1047Stacey Z RoysterFrance2026-09-05King, Christopher A Esq RENEWAL47Elwin Sharvill
1048Tony C WaycottCanada2026-09-02Commercial Press UNQUALIFIED40Stephen Shaw
1049Octavia T BologniaAustralia2026-09-20Feiner Bros QUALIFIED0Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan O CaldareraJapanStephen Shaw QUALIFIED
Salvatore R InouyeCanadaIoni Bowcher NEW
Aruna N MorascaBrazilXuxue Feng QUALIFIED
Murillo D WaycottUnited KingdomAmy Elsner RENEWAL
Alejandro L RoysterFranceAnna Fali PROPOSAL
Aditya Y RimCanadaXuxue Feng NEGOTIATION
Faith G MorascaGermanyOnyama Limba NEW
Deepesh X RoysterJapanBernardo Dominic NEW
Izzy W NestleIndiaOnyama Limba UNQUALIFIED
Salvatore F PerinItalyAsiya Javayant UNQUALIFIED
Morrow X RimItalyIvan Magalhaes NEGOTIATION
Julie E RutaBrazilElwin Sharvill NEGOTIATION
Jeanfrancois X BriddickFranceOnyama Limba PROPOSAL
Antonio Z FlosiUnited KingdomElwin Sharvill QUALIFIED
Leon R TollnerBrazilIvan Magalhaes NEGOTIATION
Murillo E FigeroaFranceAsiya Javayant UNQUALIFIED
Mujtaba K PaprockiIndiaIvan Magalhaes UNQUALIFIED
Octavia D CaldareraItalyXuxue Feng NEW
Alejandro V DilliardItalyXuxue Feng RENEWAL
Aika W OldroydSpainOnyama Limba QUALIFIED
Stacey R RulapaughBrazilElwin Sharvill QUALIFIED
Maisha J NickaIndiaIvan Magalhaes PROPOSAL
Tony O GauchoBrazilAmy Elsner UNQUALIFIED
Misaki N SchemmerIndiaAnna Fali PROPOSAL
Stacey X MarrierSpainXuxue Feng NEW
Aditya F MorascaAustraliaIoni Bowcher PROPOSAL
Aruna W CaldareraItalyStephen Shaw NEW
Octavia H MaletRussiaOnyama Limba NEGOTIATION
Mayumi C MacleadJapanAmy Elsner QUALIFIED
Chavez X RutaIndiaIvan Magalhaes RENEWAL
Morrow E SchemmerRussiaAnna Fali NEW
Jones I ShinkoGermanyAsiya Javayant QUALIFIED
Alejandro E DarakjyJapanBernardo Dominic PROPOSAL
Claire I ButtItalyIvan Magalhaes UNQUALIFIED
Nicolas Q SchemmerAustraliaAnna Fali UNQUALIFIED
Chavez A ChuiGermanyOnyama Limba NEGOTIATION
Stacey S NickaJapanOnyama Limba RENEWAL
Jennifer P OldroydJapanElwin Sharvill PROPOSAL
Aika P PaprockiArgentinaBernardo Dominic RENEWAL
Rodrigues Z BologniaSpainAmy Elsner NEGOTIATION
Ivar X WhobreyGermanyBernardo Dominic NEW
Maisha K CaldareraSpainStephen Shaw QUALIFIED
Jefferson E GauchoGermanyStephen Shaw UNQUALIFIED
Maria K SaylorsArgentinaXuxue Feng UNQUALIFIED
Greenwood T KuskoArgentinaAsiya Javayant PROPOSAL
Claire X GillianItalyOnyama Limba UNQUALIFIED
Tony G DilliardIndiaIoni Bowcher NEW
Maisha G GlickRussiaIoni Bowcher QUALIFIED
Smith U FollerFranceOnyama Limba NEGOTIATION
Aika Z VocelkaUnited KingdomElwin Sharvill PROPOSAL
Frozen Columns
Name
Munro T Foller
Darci Y Nicka
Jeanfrancois K Shinko
Arvin V Tollner
Murillo S Maclead
Smith J Darakjy
Julie Q Darakjy
Juan Q Kusko
Sinclair C Ruta
Salvatore E Perin
Emily V Morasca
Francesco Y Darakjy
James Z Dilliard
Salvatore H Saylors
Mayumi S Rulapaugh
Mujtaba U Malet
Murillo Y Bolognia
Deepesh R Malet
Deepesh F Vocelka
Munro A Campain
Chavez S Gaucho
Jennifer R Garufi
Salvatore U Bowley
Aditya A Kusko
Morrow S Schemmer
Claire Y Perin
Francesco G Dilliard
Leon Z Poquette
Misaki P Butt
Adams Y Doe
Jefferson M Ruta
Mayumi O Ruta
Aruna K Garufi
Jefferson V Marrier
Isabel E Iturbide
Jones Z Campain
Ashley D Venere
Leja Y Kolmetz
Aditya H Oldroyd
Jeanfrancois K Chui
Salvatore I Vocelka
Nicolas S Malet
Arvin O Saylors
Wickens R Gaucho
Deepesh P Foller
Aika Z Ostrosky
James E Wieser
Nicolas M Ostrosky
Aditya H Poquette
Kadeem W Butt
IdCountryDate
1000Canada2026-08-31
1001Italy2026-09-15
1002Australia2026-09-17
1003Germany2026-09-23
1004Japan2026-09-13
1005Germany2026-09-18
1006India2026-08-31
1007Australia2026-09-03
1008Russia2026-08-27
1009Russia2026-09-08
1010Brazil2026-09-04
1011United Kingdom2026-09-19
1012Spain2026-08-26
1013Spain2026-09-19
1014Spain2026-08-25
1015Japan2026-09-18
1016France2026-09-02
1017Italy2026-09-18
1018Spain2026-08-29
1019France2026-08-27
1020Spain2026-09-21
1021France2026-09-18
1022United Kingdom2026-09-01
1023Japan2026-09-01
1024Canada2026-09-05
1025Brazil2026-09-12
1026India2026-09-07
1027Italy2026-09-12
1028Spain2026-09-13
1029Spain2026-08-28
1030Spain2026-09-01
1031India2026-09-06
1032Spain2026-08-31
1033Canada2026-09-06
1034Australia2026-09-20
1035France2026-09-09
1036India2026-08-26
1037France2026-09-18
1038Canada2026-09-10
1039Italy2026-09-21
1040Italy2026-08-25
1041Germany2026-09-07
1042Australia2026-09-19
1043Argentina2026-09-12
1044France2026-09-20
1045Germany2026-09-08
1046Canada2026-09-20
1047Russia2026-09-13
1048United Kingdom2026-09-15
1049India2026-09-01

On-Demand Data

NameIdCountryDate
Maria H Maclead1000Japan2026-09-14
Johnson G Flosi1001Germany2026-09-12
Jones G Perin1002Argentina2026-09-12
Maisha Q Maclead1003India2026-09-13
Isabel D Flosi1004Argentina2026-09-15
Costa U Malet1005Spain2026-09-10
Aika Z Iturbide1006Australia2026-08-27
Murillo B Gaucho1007France2026-09-14
Emily Q Bowley1008Germany2026-09-01
Aruna S Marrier1009France2026-09-20
Faith Y Stockham1010Brazil2026-09-03
Mayumi R Schemmer1011Argentina2026-09-06
Johnson R Gaucho1012Germany2026-09-09
Silvio E Sergi1013Canada2026-09-18
Jennifer D Amigon1014Argentina2026-09-19
Chavez H Rim1015Russia2026-08-27
Izzy F Campain1016India2026-09-05
Costa U Rulapaugh1017Australia2026-09-10
Jeanfrancois J Campain1018France2026-08-27
Claire X Perin1019Brazil2026-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey V StockhamGermanyXuxue Feng NEW
Munro R DarakjyCanadaAmy Elsner RENEWAL
Ashley I ShinkoItalyAmy Elsner PROPOSAL
Ashley G CaudyJapanAmy Elsner UNQUALIFIED
Claire X GauchoAustraliaAmy Elsner PROPOSAL
Wickens Z BologniaUnited KingdomAmy Elsner PROPOSAL
Isabel O ChuiSpainStephen Shaw NEGOTIATION
James G VenereCanadaAmy Elsner QUALIFIED
Leja F ChuiUnited KingdomAsiya Javayant NEW
Ashley N KuskoGermanyBernardo Dominic NEW
Darci O MaletJapanElwin Sharvill RENEWAL
Mujtaba X PaprockiFranceBernardo Dominic UNQUALIFIED
Sinclair R RimIndiaAnna Fali UNQUALIFIED
Ashley K SergiRussiaIoni Bowcher UNQUALIFIED
Nicolas T NestleUnited KingdomAnna Fali PROPOSAL
Jeanfrancois V MarrierIndiaAnna Fali NEW
Silvio G CaudyIndiaIvan Magalhaes UNQUALIFIED
Ricardo Q CaudyRussiaAmy Elsner UNQUALIFIED
Mujtaba P PerinArgentinaBernardo Dominic RENEWAL
Rodrigues F GauchoCanadaAnna Fali RENEWAL
Clifford A MaletGermanyXuxue Feng RENEWAL
Wickens V OldroydUnited KingdomXuxue Feng QUALIFIED
Costa C DoeItalyAnna Fali QUALIFIED
Ivar M WieserArgentinaAsiya Javayant QUALIFIED
Ivar P DilliardItalyIoni Bowcher NEGOTIATION
Juan G CaudyBrazilElwin Sharvill RENEWAL
James N ButtUnited KingdomIvan Magalhaes QUALIFIED
Leon N GauchoFranceAsiya Javayant QUALIFIED
Nicolas W OldroydArgentinaIvan Magalhaes QUALIFIED
Deepesh M IturbideArgentinaAsiya Javayant NEGOTIATION
Ricardo Z RulapaughAustraliaIvan Magalhaes QUALIFIED
Arvin M SlusarskiRussiaAsiya Javayant QUALIFIED
Murillo Y NickaCanadaXuxue Feng RENEWAL
Chavez L ChuiGermanyIvan Magalhaes NEW
Julie C GlickRussiaAmy Elsner NEGOTIATION
Francesco N WaycottArgentinaIoni Bowcher PROPOSAL
Maria Y StockhamArgentinaIvan Magalhaes NEGOTIATION
Ashley Q NestleFranceIoni Bowcher RENEWAL
Jefferson R AlbaresIndiaIvan Magalhaes RENEWAL
Izzy L PerinJapanAmy Elsner UNQUALIFIED

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