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 E PerinUnited KingdomElwin Sharvill UNQUALIFIED
Chavez Y GauchoSpainAsiya Javayant NEW
Francesco U KolmetzFranceOnyama Limba NEGOTIATION
Morrow B MacleadJapanIoni Bowcher NEW
Isabel H GillianJapanOnyama Limba QUALIFIED
Morrow W SchemmerJapanIvan Magalhaes UNQUALIFIED
Clifford C WaycottAustraliaAsiya Javayant NEGOTIATION
Mujtaba B BriddickCanadaIoni Bowcher RENEWAL
Maria N KuskoAustraliaAnna Fali UNQUALIFIED
Cody X FigeroaBrazilAnna Fali NEW
Smith G BologniaCanadaAsiya Javayant QUALIFIED
James N DarakjyItalyAnna Fali NEGOTIATION
Stacey F GauchoItalyAnna Fali UNQUALIFIED
Misaki T MaletRussiaIoni Bowcher UNQUALIFIED
Faith C TollnerIndiaAmy Elsner NEGOTIATION
Costa F FigeroaAustraliaAsiya Javayant UNQUALIFIED
David S ChuiBrazilElwin Sharvill QUALIFIED
Adams Q KolmetzArgentinaIoni Bowcher QUALIFIED
Salvatore E FerenczIndiaStephen Shaw PROPOSAL
Darci M PoquetteRussiaOnyama Limba QUALIFIED
Munro B RutaJapanIvan Magalhaes NEW
Jones P VocelkaIndiaElwin Sharvill UNQUALIFIED
Emily H IturbideUnited KingdomStephen Shaw NEW
Kaitlin A WieserUnited KingdomElwin Sharvill PROPOSAL
Mayumi Z ChuiCanadaAmy Elsner UNQUALIFIED
Julie S DoeCanadaBernardo Dominic RENEWAL
Antonio I CaldareraJapanAsiya Javayant NEW
Stacey G MaletSpainIvan Magalhaes NEW
Jeanfrancois K ButtArgentinaAsiya Javayant UNQUALIFIED
Emily D MaletJapanAsiya Javayant QUALIFIED
Maisha Y KuskoRussiaAsiya Javayant RENEWAL
Maisha N SlusarskiRussiaElwin Sharvill UNQUALIFIED
Adams R FlosiUnited KingdomAmy Elsner NEGOTIATION
Nicolas C StockhamArgentinaAnna Fali NEGOTIATION
Greenwood X MaletRussiaAsiya Javayant RENEWAL
Maisha W KuskoArgentinaIvan Magalhaes UNQUALIFIED
Johnson U NestleCanadaBernardo Dominic NEW
Adams R ShinkoItalyBernardo Dominic QUALIFIED
Francesco O RutaItalyAnna Fali NEGOTIATION
James D GauchoSpainXuxue Feng RENEWAL
Alejandro O ShinkoCanadaAsiya Javayant NEGOTIATION
Aruna M RutaItalyOnyama Limba PROPOSAL
David M SchemmerUnited KingdomOnyama Limba RENEWAL
Greenwood M CampainAustraliaIoni Bowcher QUALIFIED
Aruna O FerenczCanadaBernardo Dominic PROPOSAL
Adams B WieserCanadaElwin Sharvill RENEWAL
Darci E MaletSpainElwin Sharvill UNQUALIFIED
Alejandro A MorascaIndiaAmy Elsner UNQUALIFIED
Rodrigues L KuskoItalyAmy Elsner NEW
Nicolas V BologniaArgentinaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Francesco J KuskoRussiaBernardo Dominic QUALIFIED
Jefferson D DilliardIndiaBernardo Dominic NEGOTIATION
Alejandro H IturbideGermanyAnna Fali RENEWAL
Sinclair V StockhamCanadaAmy Elsner PROPOSAL
Isabel X FollerAustraliaAsiya Javayant NEW
Stacey Y SergiArgentinaElwin Sharvill QUALIFIED
Jefferson D BowleyFranceAnna Fali PROPOSAL
Silvio A DilliardBrazilElwin Sharvill NEW
Jennifer I PerinUnited KingdomIoni Bowcher RENEWAL
Isabel B CampainCanadaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire O SaylorsJapan2026-11-13Commercial Press NEW71Bernardo Dominic
1001Stacey P PerinUnited Kingdom2026-10-20Truhlar And Truhlar Attys UNQUALIFIED9Elwin Sharvill
1002Stacey H NestleBrazil2026-11-10Benton, John B Jr NEGOTIATION5Elwin Sharvill
1003Juan H GauchoAustralia2026-10-24Printing Dimensions UNQUALIFIED2Amy Elsner
1004Mayumi L GlickCanada2026-10-28Chapman, Ross E Esq QUALIFIED95Ioni Bowcher
1005Morrow L GarufiJapan2026-10-22Chapman, Ross E Esq NEGOTIATION99Elwin Sharvill
1006Ashley Z RutaCanada2026-11-06Rousseaux, Michael Esq QUALIFIED35Xuxue Feng
1007Misaki P MaletJapan2026-10-27Dorl, James J Esq PROPOSAL40Elwin Sharvill
1008Mayumi Z OldroydIndia2026-11-09Feltz Printing Service QUALIFIED94Elwin Sharvill
1009Aruna F RutaSpain2026-10-19Truhlar And Truhlar Attys UNQUALIFIED37Bernardo Dominic
1010Izzy J PoquetteBrazil2026-11-06Commercial Press NEGOTIATION51Xuxue Feng
1011Leon O GarufiSpain2026-11-13Rangoni Of Florence NEW44Stephen Shaw
1012Kaitlin Y NestleCanada2026-10-17Benton, John B Jr NEW64Amy Elsner
1013Silvio L WaycottAustralia2026-10-18Rangoni Of Florence RENEWAL1Amy Elsner
1014Maisha X BologniaSpain2026-10-20Truhlar And Truhlar Attys RENEWAL80Ivan Magalhaes
1015Tony T MarrierItaly2026-10-31Chemel, James L Cpa PROPOSAL21Ioni Bowcher
1016Jeanfrancois A ButtRussia2026-10-15Benton, John B Jr UNQUALIFIED32Elwin Sharvill
1017Francesco C DilliardJapan2026-10-23King, Christopher A Esq NEGOTIATION75Anna Fali
1018Clifford Z OstroskyRussia2026-10-20Benton, John B Jr RENEWAL90Xuxue Feng
1019Darci C BowleyAustralia2026-10-30Dorl, James J Esq UNQUALIFIED40Elwin Sharvill
1020Jennifer G GauchoSpain2026-11-10Chemel, James L Cpa RENEWAL74Ivan Magalhaes
1021Leja A CampainIndia2026-11-05King, Christopher A Esq NEW6Stephen Shaw
1022Julie P RimSpain2026-10-24Morlong Associates NEGOTIATION21Ivan Magalhaes
1023Tony C WieserGermany2026-10-23Chanay, Jeffrey A Esq QUALIFIED56Ivan Magalhaes
1024Stacey M CaldareraRussia2026-11-02King, Christopher A Esq NEGOTIATION85Xuxue Feng
1025Morrow K StensethAustralia2026-10-29Buckley Miller Wright PROPOSAL30Ivan Magalhaes
1026Sinclair P VenereArgentina2026-10-30King, Christopher A Esq PROPOSAL78Bernardo Dominic
1027Leja A FigeroaRussia2026-10-28Truhlar And Truhlar Attys PROPOSAL75Ioni Bowcher
1028Murillo I RimBrazil2026-11-07Rangoni Of Florence PROPOSAL0Elwin Sharvill
1029Salvatore H DarakjyIndia2026-10-24Buckley Miller Wright RENEWAL10Ioni Bowcher
1030Cody L ButtSpain2026-10-24Dorl, James J Esq RENEWAL18Ioni Bowcher
1031Deepesh P BowleyUnited Kingdom2026-11-02Feltz Printing Service RENEWAL33Anna Fali
1032Emily K FerenczUnited Kingdom2026-10-27Rousseaux, Michael Esq NEGOTIATION22Anna Fali
1033Maria U MacleadRussia2026-10-20Feiner Bros RENEWAL79Anna Fali
1034Smith I RoysterCanada2026-11-09Feltz Printing Service PROPOSAL18Elwin Sharvill
1035Alejandro O ChuiBrazil2026-11-05King, Christopher A Esq RENEWAL13Stephen Shaw
1036Arvin S GillianRussia2026-10-24Buckley Miller Wright UNQUALIFIED66Bernardo Dominic
1037Kaitlin W KuskoSpain2026-10-15Commercial Press UNQUALIFIED38Elwin Sharvill
1038Kadeem Y FerenczCanada2026-10-29Chemel, James L Cpa NEW82Asiya Javayant
1039Jeanfrancois E GillianSpain2026-11-07Dorl, James J Esq PROPOSAL34Ioni Bowcher
1040Francesco W AlbaresItaly2026-10-24Printing Dimensions PROPOSAL87Amy Elsner
1041Mujtaba D PaprockiJapan2026-10-30Morlong Associates NEW24Bernardo Dominic
1042Aditya M VenereSpain2026-10-23Printing Dimensions NEW60Asiya Javayant
1043Maria F DoeFrance2026-11-02Printing Dimensions NEW99Onyama Limba
1044Kadeem Z WieserFrance2026-11-01Buckley Miller Wright NEGOTIATION45Anna Fali
1045Octavia H InouyeSpain2026-10-30King, Christopher A Esq QUALIFIED99Anna Fali
1046Adams M FigeroaAustralia2026-10-16Chemel, James L Cpa QUALIFIED65Asiya Javayant
1047Aruna H KuskoArgentina2026-10-21Morlong Associates RENEWAL52Onyama Limba
1048Nicolas M RoysterIndia2026-11-12King, Christopher A Esq UNQUALIFIED14Anna Fali
1049Johnson Y FigeroaGermany2026-11-05Commercial Press RENEWAL39Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan I PaprockiFranceIvan Magalhaes RENEWAL
Clifford L GarufiItalyIvan Magalhaes NEGOTIATION
Leon R FigeroaArgentinaIoni Bowcher NEW
Cody Q RoysterSpainAmy Elsner PROPOSAL
Jeanfrancois L MaletSpainOnyama Limba NEW
Wickens H BowleyJapanIvan Magalhaes QUALIFIED
Ricardo X SlusarskiArgentinaStephen Shaw RENEWAL
Deepesh I StockhamGermanyIoni Bowcher UNQUALIFIED
Costa T PaprockiArgentinaIvan Magalhaes RENEWAL
Chavez M PaprockiGermanyOnyama Limba PROPOSAL
Julie C InouyeArgentinaAmy Elsner NEW
Maisha U WieserSpainIoni Bowcher QUALIFIED
Aruna T WieserArgentinaIvan Magalhaes NEW
Ivar V IturbideIndiaAsiya Javayant PROPOSAL
Aditya W CampainIndiaAsiya Javayant UNQUALIFIED
Kadeem I FigeroaIndiaElwin Sharvill NEGOTIATION
Misaki Z OstroskyJapanAmy Elsner RENEWAL
Kadeem X SchemmerSpainAnna Fali QUALIFIED
Juan N MaletSpainAsiya Javayant NEGOTIATION
Jennifer K PaprockiBrazilXuxue Feng PROPOSAL
Salvatore C PaprockiAustraliaOnyama Limba NEGOTIATION
Clifford B CaldareraSpainBernardo Dominic NEGOTIATION
Maria Y BologniaArgentinaAnna Fali RENEWAL
Ashley F NickaSpainAmy Elsner RENEWAL
Kaitlin M RulapaughGermanyStephen Shaw RENEWAL
Kadeem V SaylorsRussiaAnna Fali NEW
Tony Y MorascaBrazilAmy Elsner UNQUALIFIED
Ashley U PerinFranceAnna Fali NEW
Emily P CampainFranceAmy Elsner RENEWAL
Chavez Q SlusarskiJapanBernardo Dominic NEW
Arvin V MorascaFranceAsiya Javayant NEGOTIATION
Stacey S TollnerSpainIoni Bowcher QUALIFIED
Murillo H RoysterSpainElwin Sharvill UNQUALIFIED
Julie H BriddickSpainStephen Shaw NEW
Cody O RutaIndiaOnyama Limba RENEWAL
Salvatore I KuskoSpainIvan Magalhaes NEGOTIATION
Jeanfrancois D KolmetzArgentinaOnyama Limba NEGOTIATION
Clifford A GarufiCanadaAmy Elsner PROPOSAL
Maisha A ButtItalyAnna Fali NEW
Mujtaba J BowleyItalyXuxue Feng NEGOTIATION
Antonio V ButtGermanyAnna Fali UNQUALIFIED
Faith E RoysterSpainAmy Elsner QUALIFIED
Kadeem N MaletBrazilAsiya Javayant PROPOSAL
Leon U CaldareraGermanyStephen Shaw NEGOTIATION
Jennifer X CampainBrazilXuxue Feng NEGOTIATION
Juan X BriddickGermanyAsiya Javayant UNQUALIFIED
Leja A KolmetzAustraliaStephen Shaw NEGOTIATION
Leja O OstroskyArgentinaIoni Bowcher UNQUALIFIED
Isabel A PaprockiCanadaIoni Bowcher RENEWAL
Smith O PoquetteRussiaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Clifford O Albares
Murillo U Briddick
Costa K Caudy
Mayumi S Bowley
Rodrigues S Poquette
Sinclair U Poquette
Rodrigues U Doe
Jennifer A Rim
Ricardo Q Schemmer
Antonio X Stockham
Antonio V Rim
Deepesh Z Royster
Ivar T Sergi
Deepesh J Caldarera
Juan E Morasca
Ivar N Whobrey
Costa X Caudy
Maisha F Gaucho
Wickens U Schemmer
Alejandro W Stenseth
Stacey O Caldarera
Octavia I Gillian
Rodrigues M Gillian
Morrow K Caudy
Aruna M Saylors
Cody P Chui
Alejandro B Ferencz
Kadeem P Garufi
Salvatore G Flosi
Alejandro Z Foller
Aruna N Dilliard
Francesco J Albares
Juan Q Gaucho
Mayumi G Darakjy
Julie M Campain
Adams D Chui
Clifford U Marrier
Maisha Y Inouye
Emily N Doe
David R Amigon
Adams O Albares
Sinclair T Oldroyd
Smith A Morasca
Isabel W Albares
Ashley I Perin
Arvin Z Glick
Silvio Q Gaucho
Greenwood V Vocelka
Izzy G Flosi
Claire M Shinko
IdCountryDate
1000India2026-10-26
1001India2026-11-09
1002France2026-11-05
1003United Kingdom2026-10-15
1004Spain2026-10-31
1005Argentina2026-11-12
1006Germany2026-11-09
1007Japan2026-10-29
1008France2026-10-26
1009Italy2026-11-12
1010Japan2026-11-05
1011Japan2026-11-08
1012Canada2026-10-27
1013Argentina2026-11-04
1014India2026-10-15
1015Italy2026-11-06
1016France2026-10-18
1017Brazil2026-10-30
1018Spain2026-11-11
1019Brazil2026-10-31
1020Brazil2026-10-20
1021Japan2026-10-26
1022Argentina2026-10-16
1023Canada2026-10-24
1024Australia2026-10-24
1025Australia2026-11-09
1026Germany2026-10-21
1027Canada2026-10-29
1028France2026-10-26
1029United Kingdom2026-10-17
1030Russia2026-11-01
1031United Kingdom2026-10-16
1032Germany2026-11-04
1033Japan2026-10-22
1034Germany2026-10-24
1035Australia2026-11-05
1036Brazil2026-11-08
1037Spain2026-10-27
1038Russia2026-10-31
1039Russia2026-11-05
1040Germany2026-10-22
1041Russia2026-10-31
1042Argentina2026-11-04
1043Russia2026-10-24
1044Japan2026-10-16
1045Germany2026-10-28
1046Italy2026-10-23
1047Russia2026-10-26
1048Canada2026-10-27
1049Italy2026-11-09

On-Demand Data

NameIdCountryDate
Leja F Malet1000Russia2026-11-09
Kaitlin H Morasca1001Russia2026-11-09
Claire R Chui1002Spain2026-10-25
Stacey G Shinko1003Japan2026-10-27
Rodrigues Q Chui1004Brazil2026-10-29
Misaki E Chui1005Germany2026-10-20
Costa P Ostrosky1006Russia2026-11-09
Ashley T Kusko1007Argentina2026-11-05
Leja V Maclead1008Russia2026-10-15
Maria D Vocelka1009Japan2026-11-10
Costa Y Venere1010Australia2026-10-26
Claire W Marrier1011Spain2026-11-11
Julie Z Rulapaugh1012Canada2026-11-05
Ashley X Briddick1013Brazil2026-10-28
Maria U Slusarski1014France2026-10-24
Deepesh K Briddick1015Argentina2026-10-26
Ivar K Venere1016Germany2026-11-01
Mayumi K Saylors1017Australia2026-11-01
Wickens J Royster1018Australia2026-11-13
Deepesh R Amigon1019Italy2026-11-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar B VocelkaGermanyStephen Shaw RENEWAL
Smith L PerinRussiaOnyama Limba PROPOSAL
Jennifer D SaylorsCanadaElwin Sharvill NEW
Sinclair Y KolmetzArgentinaXuxue Feng QUALIFIED
Maisha S PaprockiJapanAnna Fali NEGOTIATION
Munro I OstroskyArgentinaStephen Shaw QUALIFIED
Jennifer S NickaRussiaOnyama Limba NEGOTIATION
Ashley O KolmetzCanadaAmy Elsner NEW
Mayumi A WaycottCanadaIvan Magalhaes UNQUALIFIED
Clifford G PerinArgentinaOnyama Limba PROPOSAL
James X RimIndiaStephen Shaw NEW
Salvatore Q PerinAustraliaAsiya Javayant NEGOTIATION
Juan F GarufiIndiaStephen Shaw NEW
Aruna Y MorascaUnited KingdomBernardo Dominic QUALIFIED
Izzy N StockhamIndiaOnyama Limba NEW
Sinclair Q PaprockiAustraliaIvan Magalhaes NEW
Aditya O StensethAustraliaElwin Sharvill NEW
Chavez S PoquetteJapanElwin Sharvill QUALIFIED
Faith N MaletItalyAnna Fali NEGOTIATION
James M MacleadBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois J MacleadSpainIvan Magalhaes RENEWAL
Silvio I SergiSpainAmy Elsner QUALIFIED
Ricardo B CaudyCanadaStephen Shaw QUALIFIED
Tony K ChuiArgentinaAmy Elsner NEGOTIATION
Juan X PaprockiIndiaAnna Fali PROPOSAL
Munro L FlosiAustraliaAnna Fali NEGOTIATION
Adams O WieserBrazilIvan Magalhaes RENEWAL
Deepesh A MorascaArgentinaIoni Bowcher NEGOTIATION
Mujtaba A FollerUnited KingdomAnna Fali PROPOSAL
Adams Y OldroydCanadaOnyama Limba NEW
Chavez S CaudyIndiaAsiya Javayant QUALIFIED
Aditya K IturbideAustraliaIvan Magalhaes NEGOTIATION
Aika L SchemmerAustraliaElwin Sharvill QUALIFIED
Jeanfrancois V NickaFranceIvan Magalhaes NEW
Faith Q CaldareraIndiaBernardo Dominic PROPOSAL
James Q MacleadRussiaAmy Elsner NEGOTIATION
Aika T AmigonFranceAsiya Javayant UNQUALIFIED
Jennifer N FerenczItalyAnna Fali PROPOSAL
Leja B VenereSpainAsiya Javayant NEGOTIATION
Arvin C RutaAustraliaElwin Sharvill PROPOSAL

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