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
Ivar Y StockhamArgentinaAnna Fali RENEWAL
Misaki N ShinkoArgentinaElwin Sharvill QUALIFIED
Silvio B MorascaBrazilElwin Sharvill RENEWAL
Mujtaba M ChuiRussiaStephen Shaw NEW
Nicolas U SchemmerGermanyAnna Fali PROPOSAL
Mujtaba A ChuiArgentinaAsiya Javayant NEGOTIATION
Octavia C StensethFranceIvan Magalhaes NEW
Aditya J AlbaresUnited KingdomXuxue Feng QUALIFIED
Costa I RutaSpainAsiya Javayant UNQUALIFIED
Costa F CaudyRussiaOnyama Limba NEGOTIATION
Murillo N GillianJapanAsiya Javayant NEW
Mujtaba Z FollerAustraliaElwin Sharvill UNQUALIFIED
Salvatore Y WaycottSpainXuxue Feng RENEWAL
Octavia L FollerSpainOnyama Limba QUALIFIED
Isabel T SchemmerRussiaBernardo Dominic QUALIFIED
Jefferson V NickaSpainIvan Magalhaes PROPOSAL
James C IturbideArgentinaOnyama Limba NEW
Murillo Y CaudyArgentinaIvan Magalhaes RENEWAL
Francesco V MacleadUnited KingdomAsiya Javayant NEW
Nicolas Q BologniaJapanStephen Shaw QUALIFIED
Antonio T VenereRussiaAsiya Javayant PROPOSAL
Smith W VenereIndiaBernardo Dominic QUALIFIED
Salvatore R CaldareraRussiaElwin Sharvill UNQUALIFIED
Costa K OldroydSpainElwin Sharvill QUALIFIED
Morrow E MorascaAustraliaBernardo Dominic UNQUALIFIED
Leon P WaycottSpainXuxue Feng PROPOSAL
Antonio N SergiSpainStephen Shaw QUALIFIED
Izzy B FollerJapanElwin Sharvill PROPOSAL
Alejandro H MaletSpainOnyama Limba NEW
Deepesh I AlbaresAustraliaIvan Magalhaes NEW
Maria O SlusarskiItalyAnna Fali UNQUALIFIED
Greenwood T KuskoSpainAmy Elsner NEGOTIATION
Isabel P GlickUnited KingdomElwin Sharvill NEGOTIATION
Francesco J AmigonCanadaStephen Shaw PROPOSAL
Ivar S ChuiAustraliaIoni Bowcher PROPOSAL
Adams M TollnerGermanyIvan Magalhaes PROPOSAL
Munro Z GillianSpainXuxue Feng NEGOTIATION
Maisha L DarakjyIndiaAnna Fali RENEWAL
Isabel Y VenereUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi G FerenczGermanyBernardo Dominic PROPOSAL
Costa B WhobreySpainBernardo Dominic QUALIFIED
Darci H SaylorsSpainAsiya Javayant PROPOSAL
Ricardo I PoquetteRussiaStephen Shaw UNQUALIFIED
Leon G TollnerBrazilBernardo Dominic NEGOTIATION
Nicolas H WieserGermanyAnna Fali UNQUALIFIED
Leon J MaletArgentinaIvan Magalhaes QUALIFIED
Faith H ChuiUnited KingdomAsiya Javayant NEGOTIATION
Jennifer Z GauchoIndiaXuxue Feng NEGOTIATION
Salvatore M GillianIndiaIoni Bowcher PROPOSAL
Tony R ChuiUnited KingdomAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson W NickaFranceBernardo Dominic UNQUALIFIED
Ricardo H AlbaresGermanyIoni Bowcher NEW
Faith N VocelkaJapanAnna Fali PROPOSAL
Wickens W PerinSpainStephen Shaw UNQUALIFIED
Izzy Q RoysterUnited KingdomStephen Shaw PROPOSAL
Claire F DilliardArgentinaElwin Sharvill NEGOTIATION
Darci H PaprockiJapanAnna Fali PROPOSAL
Kaitlin P MorascaItalyBernardo Dominic PROPOSAL
Chavez B WieserSpainStephen Shaw PROPOSAL
Johnson S PerinFranceIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony F GillianJapan2026-11-02Dorl, James J Esq RENEWAL43Ioni Bowcher
1001Antonio T SchemmerGermany2026-10-28Printing Dimensions QUALIFIED1Amy Elsner
1002Leon V GillianUnited Kingdom2026-10-11King, Christopher A Esq NEGOTIATION75Anna Fali
1003Smith M FigeroaItaly2026-10-22Chanay, Jeffrey A Esq NEW91Anna Fali
1004Munro H GauchoItaly2026-10-31King, Christopher A Esq NEGOTIATION23Amy Elsner
1005James L IturbideFrance2026-10-28Commercial Press UNQUALIFIED27Onyama Limba
1006Salvatore J CaudyGermany2026-10-10Benton, John B Jr NEW77Amy Elsner
1007Greenwood P SchemmerFrance2026-10-20Chemel, James L Cpa NEGOTIATION33Onyama Limba
1008Jefferson A DoeBrazil2026-10-14Printing Dimensions NEGOTIATION80Elwin Sharvill
1009Kadeem R FollerGermany2026-10-24Chapman, Ross E Esq NEGOTIATION25Ivan Magalhaes
1010Deepesh Z WieserSpain2026-10-09Morlong Associates NEW9Onyama Limba
1011Aika L FigeroaFrance2026-10-18Benton, John B Jr NEGOTIATION50Ioni Bowcher
1012Antonio T OldroydUnited Kingdom2026-10-27Buckley Miller Wright NEW39Amy Elsner
1013Wickens T NestleCanada2026-11-06Feiner Bros NEGOTIATION69Amy Elsner
1014Rodrigues L DilliardRussia2026-10-11Dorl, James J Esq RENEWAL46Stephen Shaw
1015Misaki F BriddickBrazil2026-10-08Morlong Associates PROPOSAL8Anna Fali
1016Julie U RulapaughFrance2026-11-05Rousseaux, Michael Esq NEGOTIATION92Xuxue Feng
1017Kaitlin G SergiItaly2026-11-06Truhlar And Truhlar Attys NEW96Onyama Limba
1018Jefferson Y InouyeIndia2026-10-27King, Christopher A Esq PROPOSAL10Onyama Limba
1019Johnson K FollerAustralia2026-10-08Feltz Printing Service QUALIFIED77Bernardo Dominic
1020Murillo T PerinUnited Kingdom2026-10-13Rangoni Of Florence QUALIFIED86Onyama Limba
1021Faith M IturbideFrance2026-10-10Printing Dimensions QUALIFIED80Elwin Sharvill
1022Clifford G AlbaresRussia2026-10-23Rousseaux, Michael Esq NEW98Xuxue Feng
1023Aika F RulapaughBrazil2026-10-25Dorl, James J Esq NEGOTIATION11Xuxue Feng
1024Nicolas S KolmetzGermany2026-10-14Dorl, James J Esq QUALIFIED23Onyama Limba
1025Morrow S SergiGermany2026-10-13Chemel, James L Cpa NEW64Amy Elsner
1026Julie F VenereIndia2026-10-09Rangoni Of Florence UNQUALIFIED94Xuxue Feng
1027Jennifer H GauchoCanada2026-11-01Rousseaux, Michael Esq QUALIFIED59Bernardo Dominic
1028Chavez L OstroskyFrance2026-10-10Feltz Printing Service PROPOSAL11Anna Fali
1029Leja G InouyeArgentina2026-10-29Rousseaux, Michael Esq RENEWAL97Amy Elsner
1030Tony V CaldareraGermany2026-10-18Commercial Press NEGOTIATION61Asiya Javayant
1031Ricardo Z ButtArgentina2026-10-19Benton, John B Jr PROPOSAL41Ioni Bowcher
1032Aruna Y GlickFrance2026-10-30Commercial Press RENEWAL41Ivan Magalhaes
1033Maisha C OldroydSpain2026-11-05Printing Dimensions QUALIFIED49Asiya Javayant
1034Morrow D CaudyCanada2026-10-13Rangoni Of Florence RENEWAL55Anna Fali
1035Greenwood X RoysterItaly2026-11-02Chemel, James L Cpa RENEWAL11Ivan Magalhaes
1036Misaki Y PerinBrazil2026-10-20Truhlar And Truhlar Attys RENEWAL34Onyama Limba
1037Kaitlin N RoysterJapan2026-10-24Dorl, James J Esq NEW39Xuxue Feng
1038Maria J StockhamIndia2026-11-01Chanay, Jeffrey A Esq QUALIFIED1Bernardo Dominic
1039Leja O NestleItaly2026-10-10Dorl, James J Esq NEGOTIATION72Asiya Javayant
1040Octavia I AlbaresSpain2026-10-26Rangoni Of Florence QUALIFIED93Ivan Magalhaes
1041Claire S OldroydCanada2026-10-10Printing Dimensions QUALIFIED81Asiya Javayant
1042Emily C ChuiJapan2026-10-08Chapman, Ross E Esq UNQUALIFIED35Anna Fali
1043David A FerenczSpain2026-10-25Buckley Miller Wright NEGOTIATION20Asiya Javayant
1044Mujtaba X MarrierGermany2026-10-28Chanay, Jeffrey A Esq PROPOSAL34Asiya Javayant
1045Adams P FigeroaGermany2026-10-24Rangoni Of Florence RENEWAL88Ioni Bowcher
1046Morrow G PaprockiGermany2026-10-10Printing Dimensions RENEWAL79Stephen Shaw
1047Mayumi C CaldareraIndia2026-11-04Rousseaux, Michael Esq PROPOSAL51Elwin Sharvill
1048Nicolas Z PaprockiGermany2026-10-18Dorl, James J Esq NEW64Stephen Shaw
1049Jones A ChuiItaly2026-10-17Feltz Printing Service UNQUALIFIED35Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Nicolas U MaletRussiaOnyama Limba RENEWAL
Smith D BologniaCanadaOnyama Limba UNQUALIFIED
Silvio I TollnerArgentinaAnna Fali NEW
Francesco E ChuiFranceElwin Sharvill RENEWAL
Adams J GlickUnited KingdomXuxue Feng RENEWAL
Clifford A PoquetteGermanyElwin Sharvill QUALIFIED
Johnson T ShinkoArgentinaStephen Shaw NEGOTIATION
Murillo C CaudyUnited KingdomStephen Shaw RENEWAL
Jeanfrancois E SchemmerGermanyAsiya Javayant PROPOSAL
Octavia F MaletSpainXuxue Feng RENEWAL
Francesco G MorascaSpainBernardo Dominic UNQUALIFIED
Smith W PerinRussiaXuxue Feng QUALIFIED
Silvio C PoquetteAustraliaIoni Bowcher UNQUALIFIED
Arvin E StockhamJapanElwin Sharvill NEW
Mayumi Z MaletAustraliaAnna Fali RENEWAL
Octavia A WaycottFranceStephen Shaw PROPOSAL
Izzy R StensethFranceElwin Sharvill NEGOTIATION
Salvatore Z CampainJapanIvan Magalhaes PROPOSAL
Julie T MaletUnited KingdomElwin Sharvill RENEWAL
Smith M BriddickIndiaOnyama Limba NEGOTIATION
Alejandro Y IturbideFranceStephen Shaw UNQUALIFIED
Greenwood T VocelkaArgentinaXuxue Feng QUALIFIED
Isabel O RulapaughCanadaAsiya Javayant RENEWAL
Kaitlin F RoysterJapanOnyama Limba UNQUALIFIED
Jeanfrancois Q FigeroaSpainOnyama Limba QUALIFIED
Misaki I FigeroaFranceOnyama Limba NEGOTIATION
Izzy S VocelkaIndiaAsiya Javayant QUALIFIED
Claire I BologniaGermanyAsiya Javayant NEGOTIATION
Adams J PoquetteUnited KingdomAnna Fali PROPOSAL
Emily X VenereUnited KingdomAmy Elsner RENEWAL
Mujtaba B MarrierGermanyIvan Magalhaes RENEWAL
Julie R MaletIndiaStephen Shaw NEGOTIATION
Leja B FerenczCanadaBernardo Dominic NEGOTIATION
Arvin Q NickaItalyOnyama Limba NEGOTIATION
Clifford E AlbaresIndiaAsiya Javayant RENEWAL
Tony Z GlickGermanyOnyama Limba PROPOSAL
Leon E MaletIndiaAsiya Javayant NEGOTIATION
Costa Q GlickArgentinaAnna Fali UNQUALIFIED
Chavez H RoysterUnited KingdomXuxue Feng QUALIFIED
Morrow S RulapaughAustraliaOnyama Limba NEW
Chavez N DoeGermanyStephen Shaw NEW
James A BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Wickens N GlickBrazilAmy Elsner RENEWAL
Tony K SlusarskiUnited KingdomElwin Sharvill RENEWAL
Alejandro W GarufiItalyAnna Fali UNQUALIFIED
Maisha X BowleyFranceStephen Shaw RENEWAL
Claire A BologniaCanadaIoni Bowcher NEGOTIATION
Claire L StensethJapanAsiya Javayant NEGOTIATION
James M CampainAustraliaOnyama Limba QUALIFIED
Antonio Y FerenczFranceAmy Elsner NEGOTIATION
Frozen Columns
Name
Alejandro Y Briddick
Clifford Q Bowley
Claire X Doe
Salvatore J Kusko
Greenwood L Maclead
Johnson S Amigon
Costa A Marrier
Munro I Paprocki
Aika I Kolmetz
David V Perin
Nicolas G Kusko
Isabel K Kusko
Rodrigues X Campain
Johnson Q Dilliard
Faith X Nicka
Kadeem V Marrier
Maisha A Briddick
Aika M Foller
Munro B Rulapaugh
Leja E Wieser
Ashley W Amigon
Maisha Y Doe
Octavia C Figeroa
Francesco E Dilliard
Juan P Paprocki
Mujtaba L Ferencz
Kadeem X Schemmer
Maisha N Bowley
Izzy D Garufi
Adams A Stenseth
Emily M Gaucho
Aika H Kolmetz
Murillo P Sergi
Leon B Darakjy
Misaki U Perin
Jefferson T Ruta
Antonio I Chui
Silvio D Amigon
Morrow X Maclead
Jeanfrancois C Nicka
Morrow X Wieser
Jones W Rim
Faith O Kusko
Ricardo M Glick
Munro V Saylors
Ricardo U Maclead
Jefferson P Saylors
Rodrigues Q Caudy
Johnson Q Schemmer
Ashley B Chui
IdCountryDate
1000Japan2026-11-03
1001India2026-11-01
1002Australia2026-10-19
1003Germany2026-10-17
1004Germany2026-10-17
1005Argentina2026-10-24
1006France2026-10-12
1007Russia2026-10-19
1008Germany2026-11-05
1009France2026-10-27
1010Spain2026-10-21
1011Germany2026-10-21
1012Canada2026-10-31
1013Canada2026-11-05
1014Japan2026-10-31
1015Japan2026-11-01
1016Italy2026-10-19
1017India2026-10-13
1018Italy2026-10-25
1019Spain2026-11-06
1020Argentina2026-10-27
1021Argentina2026-10-24
1022India2026-10-19
1023Canada2026-10-28
1024Canada2026-10-30
1025Australia2026-10-24
1026Brazil2026-11-05
1027Italy2026-10-20
1028France2026-10-12
1029France2026-10-21
1030Germany2026-10-21
1031Japan2026-10-08
1032France2026-10-11
1033United Kingdom2026-10-23
1034Canada2026-10-17
1035Italy2026-10-20
1036India2026-10-08
1037Italy2026-10-18
1038Russia2026-10-20
1039Australia2026-10-23
1040Canada2026-11-01
1041Japan2026-11-02
1042Germany2026-11-01
1043Brazil2026-10-25
1044Australia2026-10-23
1045Germany2026-10-22
1046France2026-10-26
1047Russia2026-11-03
1048Russia2026-10-12
1049Russia2026-10-19

On-Demand Data

NameIdCountryDate
Aruna T Stenseth1000Spain2026-10-24
Francesco A Doe1001United Kingdom2026-10-20
Aditya F Shinko1002Canada2026-11-02
Clifford X Shinko1003France2026-10-22
Claire F Malet1004Russia2026-10-08
Juan I Doe1005Brazil2026-10-23
Emily G Briddick1006Spain2026-10-13
Ivar D Garufi1007Italy2026-11-04
Maisha Z Darakjy1008India2026-10-08
Murillo C Gillian1009Canada2026-10-16
Maria R Bolognia1010Canada2026-10-10
Ivar Q Garufi1011Germany2026-10-23
Aruna Q Tollner1012Japan2026-11-01
Jefferson S Foller1013Canada2026-10-25
Greenwood E Ferencz1014Canada2026-11-04
Wickens W Wieser1015Russia2026-10-10
Aika W Ostrosky1016United Kingdom2026-10-11
Maisha R Wieser1017Japan2026-10-09
Kaitlin M Figeroa1018Russia2026-10-24
Kaitlin X Dilliard1019Australia2026-11-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco L GarufiFranceOnyama Limba QUALIFIED
Darci L GlickSpainIvan Magalhaes PROPOSAL
Jennifer R MaletItalyAnna Fali QUALIFIED
Johnson U VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Murillo U WhobreyItalyIoni Bowcher PROPOSAL
Kadeem T DoeRussiaAmy Elsner QUALIFIED
Juan U ShinkoRussiaOnyama Limba NEW
Maria A WieserGermanyBernardo Dominic NEGOTIATION
Silvio E ButtJapanIoni Bowcher RENEWAL
Jefferson K CaudyCanadaIoni Bowcher RENEWAL
Wickens Q KolmetzBrazilAmy Elsner NEGOTIATION
Sinclair B NickaArgentinaAsiya Javayant NEW
Costa Q WaycottItalyBernardo Dominic RENEWAL
Leja H VenereSpainIoni Bowcher NEW
Stacey W BologniaCanadaStephen Shaw RENEWAL
Julie D KuskoSpainAnna Fali QUALIFIED
Arvin B CampainBrazilIoni Bowcher NEW
Kaitlin Y OstroskyBrazilOnyama Limba NEW
Cody V GauchoFranceIoni Bowcher PROPOSAL
Smith T GauchoGermanyStephen Shaw RENEWAL
Stacey C FigeroaJapanAmy Elsner NEGOTIATION
Adams B DilliardCanadaAnna Fali QUALIFIED
Maisha E OldroydUnited KingdomIoni Bowcher NEGOTIATION
Faith Z AlbaresFranceXuxue Feng PROPOSAL
Leja L GarufiArgentinaAmy Elsner UNQUALIFIED
Isabel Y ChuiBrazilIoni Bowcher NEW
Leja J InouyeBrazilAnna Fali RENEWAL
Isabel P FlosiBrazilIvan Magalhaes UNQUALIFIED
Deepesh G ButtUnited KingdomBernardo Dominic NEW
Kadeem O KuskoArgentinaIoni Bowcher NEW
Arvin O CaldareraCanadaIvan Magalhaes NEW
Mujtaba V SaylorsIndiaBernardo Dominic NEW
Cody J DilliardArgentinaBernardo Dominic NEW
Mayumi L DarakjyArgentinaAmy Elsner RENEWAL
Stacey K WieserGermanyStephen Shaw UNQUALIFIED
Ricardo N ButtCanadaElwin Sharvill UNQUALIFIED
Misaki K DilliardJapanStephen Shaw RENEWAL
Jefferson Q GillianIndiaXuxue Feng NEW
Rodrigues T PerinRussiaIoni Bowcher NEGOTIATION
Maria F NestleAustraliaIvan Magalhaes 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>