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
Stacey B NickaCanadaIoni Bowcher UNQUALIFIED
David H FlosiItalyXuxue Feng NEW
Aruna S ChuiGermanyAsiya Javayant UNQUALIFIED
Sinclair F RutaJapanIoni Bowcher QUALIFIED
Darci F FerenczJapanIoni Bowcher NEW
Murillo F AmigonSpainIoni Bowcher NEW
Rodrigues I IturbideSpainIvan Magalhaes NEW
Jones U StensethFranceBernardo Dominic UNQUALIFIED
Misaki B NickaBrazilIvan Magalhaes NEGOTIATION
David Q KolmetzItalyAsiya Javayant PROPOSAL
Morrow I ButtAustraliaXuxue Feng QUALIFIED
Francesco A AlbaresItalyElwin Sharvill NEW
Salvatore R RulapaughRussiaAsiya Javayant NEW
Jennifer Q VenereCanadaAmy Elsner UNQUALIFIED
Costa L VocelkaRussiaXuxue Feng QUALIFIED
Tony Z FerenczIndiaXuxue Feng NEW
Rodrigues K FollerIndiaStephen Shaw QUALIFIED
Juan W AlbaresFranceAsiya Javayant NEW
Greenwood R IturbideIndiaOnyama Limba RENEWAL
Izzy N RoysterIndiaStephen Shaw NEGOTIATION
Aruna W GauchoArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois V GarufiCanadaIvan Magalhaes QUALIFIED
Rodrigues T StensethGermanyIvan Magalhaes NEGOTIATION
Arvin P SchemmerBrazilStephen Shaw RENEWAL
David A MaletUnited KingdomAnna Fali NEW
Jefferson E NestleJapanIoni Bowcher PROPOSAL
Jefferson C GarufiJapanXuxue Feng QUALIFIED
Alejandro Z IturbideCanadaElwin Sharvill UNQUALIFIED
Emily X WieserAustraliaIvan Magalhaes NEW
Johnson Q FollerFranceOnyama Limba NEW
Aika A GillianArgentinaBernardo Dominic NEW
Adams F ShinkoGermanyAmy Elsner NEW
Arvin O PerinArgentinaAmy Elsner QUALIFIED
Octavia M CampainArgentinaStephen Shaw NEW
Octavia R RimRussiaStephen Shaw PROPOSAL
Isabel J CampainArgentinaIoni Bowcher UNQUALIFIED
Greenwood K WhobreyCanadaIvan Magalhaes PROPOSAL
Silvio Y MarrierSpainAmy Elsner RENEWAL
Mayumi J WieserCanadaBernardo Dominic NEW
Julie C BriddickGermanyIvan Magalhaes NEGOTIATION
Isabel I ButtUnited KingdomOnyama Limba RENEWAL
Isabel S PerinRussiaAmy Elsner PROPOSAL
Ivar U KuskoGermanyStephen Shaw NEW
Kaitlin T OstroskyBrazilAsiya Javayant NEW
Antonio V StockhamBrazilStephen Shaw NEW
Maisha Z GillianJapanStephen Shaw PROPOSAL
Julie U InouyeGermanyAsiya Javayant NEGOTIATION
Izzy L AlbaresArgentinaElwin Sharvill UNQUALIFIED
Claire R AlbaresRussiaOnyama Limba NEW
Alejandro F RutaSpainIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith F CampainIndiaOnyama Limba RENEWAL
Mujtaba D FlosiBrazilOnyama Limba NEGOTIATION
Sinclair C KolmetzUnited KingdomOnyama Limba RENEWAL
Izzy H FollerFranceAsiya Javayant RENEWAL
David A AmigonUnited KingdomAsiya Javayant PROPOSAL
Julie C GillianRussiaElwin Sharvill QUALIFIED
Maisha H PerinIndiaIvan Magalhaes QUALIFIED
Misaki U WhobreyBrazilAmy Elsner RENEWAL
Jennifer U WhobreyCanadaElwin Sharvill UNQUALIFIED
Nicolas U CaudyIndiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair K PoquetteJapan2026-08-26Morlong Associates NEW33Ioni Bowcher
1001Juan T GarufiAustralia2026-08-31Chapman, Ross E Esq NEGOTIATION68Amy Elsner
1002Murillo N CampainSpain2026-09-12Chanay, Jeffrey A Esq NEGOTIATION41Stephen Shaw
1003Morrow R GillianJapan2026-08-30Chemel, James L Cpa NEW41Ioni Bowcher
1004Costa E SergiGermany2026-09-10Chemel, James L Cpa QUALIFIED29Asiya Javayant
1005Clifford P BologniaBrazil2026-09-18Dorl, James J Esq RENEWAL19Stephen Shaw
1006Emily U WaycottArgentina2026-09-06Buckley Miller Wright UNQUALIFIED32Onyama Limba
1007David C SaylorsArgentina2026-09-16Benton, John B Jr PROPOSAL24Bernardo Dominic
1008Ivar D VocelkaFrance2026-09-14Feiner Bros NEGOTIATION83Anna Fali
1009Arvin Z GauchoArgentina2026-09-16Morlong Associates QUALIFIED26Anna Fali
1010Claire Y CaudySpain2026-09-11Commercial Press NEGOTIATION54Ioni Bowcher
1011Leon N SergiIndia2026-09-17Benton, John B Jr NEW32Bernardo Dominic
1012Isabel C KuskoUnited Kingdom2026-09-15Chemel, James L Cpa NEW7Ioni Bowcher
1013Izzy O AlbaresRussia2026-09-08Rangoni Of Florence UNQUALIFIED62Amy Elsner
1014Jennifer E PaprockiAustralia2026-08-25Truhlar And Truhlar Attys NEW26Xuxue Feng
1015Munro J CaldareraIndia2026-08-31Rousseaux, Michael Esq QUALIFIED18Onyama Limba
1016Arvin M BowleyGermany2026-09-05Chemel, James L Cpa NEGOTIATION86Onyama Limba
1017Julie W MarrierCanada2026-09-15King, Christopher A Esq PROPOSAL91Amy Elsner
1018Faith C MarrierArgentina2026-09-04Feiner Bros RENEWAL76Onyama Limba
1019James K StensethUnited Kingdom2026-08-29Benton, John B Jr QUALIFIED74Ioni Bowcher
1020Darci G FerenczGermany2026-09-17Truhlar And Truhlar Attys UNQUALIFIED75Xuxue Feng
1021Stacey N AlbaresGermany2026-09-09Morlong Associates UNQUALIFIED34Xuxue Feng
1022Isabel K PoquetteIndia2026-09-12Morlong Associates UNQUALIFIED76Elwin Sharvill
1023Greenwood O WaycottUnited Kingdom2026-08-22Truhlar And Truhlar Attys QUALIFIED77Anna Fali
1024Nicolas J MaletRussia2026-09-06King, Christopher A Esq RENEWAL81Anna Fali
1025Morrow A GillianBrazil2026-08-29Buckley Miller Wright RENEWAL70Xuxue Feng
1026Ricardo C RutaGermany2026-08-26Chemel, James L Cpa RENEWAL25Ioni Bowcher
1027Ashley I CaudyGermany2026-09-14Truhlar And Truhlar Attys RENEWAL62Bernardo Dominic
1028Aruna Q ChuiUnited Kingdom2026-09-11Morlong Associates NEW90Elwin Sharvill
1029Ashley G BologniaRussia2026-08-25Truhlar And Truhlar Attys PROPOSAL38Ioni Bowcher
1030Ashley A BriddickAustralia2026-09-02Commercial Press RENEWAL78Asiya Javayant
1031Adams O WaycottFrance2026-09-08Benton, John B Jr PROPOSAL80Amy Elsner
1032Munro P OstroskyIndia2026-08-21Truhlar And Truhlar Attys QUALIFIED33Bernardo Dominic
1033Misaki J BowleyItaly2026-09-05Chemel, James L Cpa RENEWAL96Onyama Limba
1034Silvio F FigeroaIndia2026-09-16Commercial Press NEW20Stephen Shaw
1035Wickens G WhobreyUnited Kingdom2026-09-02Buckley Miller Wright NEGOTIATION15Bernardo Dominic
1036Jefferson C WhobreyArgentina2026-08-26Morlong Associates UNQUALIFIED22Stephen Shaw
1037Chavez B CampainUnited Kingdom2026-08-24Printing Dimensions RENEWAL51Stephen Shaw
1038Nicolas A DilliardBrazil2026-09-08Printing Dimensions NEGOTIATION49Amy Elsner
1039Kadeem H PoquetteAustralia2026-08-31Chanay, Jeffrey A Esq NEGOTIATION50Elwin Sharvill
1040Tony L RoysterIndia2026-09-16Truhlar And Truhlar Attys RENEWAL6Ioni Bowcher
1041Tony C OstroskyCanada2026-09-01Rousseaux, Michael Esq NEW0Ioni Bowcher
1042Leja S VocelkaRussia2026-08-28Benton, John B Jr QUALIFIED84Ivan Magalhaes
1043Mayumi K InouyeCanada2026-09-05King, Christopher A Esq NEGOTIATION66Xuxue Feng
1044Kadeem R OldroydGermany2026-08-21Commercial Press UNQUALIFIED43Stephen Shaw
1045Jennifer E CaldareraSpain2026-08-24Truhlar And Truhlar Attys RENEWAL38Onyama Limba
1046Darci S PoquetteRussia2026-09-05Rousseaux, Michael Esq PROPOSAL68Ioni Bowcher
1047Jones C RimBrazil2026-09-16Buckley Miller Wright NEGOTIATION63Stephen Shaw
1048Kaitlin F SchemmerSpain2026-09-13Chanay, Jeffrey A Esq UNQUALIFIED17Onyama Limba
1049Murillo G SaylorsFrance2026-08-23Dorl, James J Esq QUALIFIED34Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones F TollnerBrazilIoni Bowcher UNQUALIFIED
Faith Y WieserJapanOnyama Limba RENEWAL
Murillo H PaprockiSpainAnna Fali NEGOTIATION
Emily P ShinkoSpainOnyama Limba RENEWAL
Stacey T SergiUnited KingdomAnna Fali NEGOTIATION
Wickens O MaletAustraliaIoni Bowcher UNQUALIFIED
Maisha U SaylorsAustraliaXuxue Feng PROPOSAL
Emily V WieserSpainIoni Bowcher NEGOTIATION
Chavez A SergiItalyXuxue Feng RENEWAL
Mayumi G FlosiJapanIvan Magalhaes RENEWAL
Mayumi E FerenczCanadaAnna Fali QUALIFIED
Murillo I SaylorsJapanAnna Fali QUALIFIED
Jeanfrancois L VenereItalyElwin Sharvill QUALIFIED
Johnson F OldroydIndiaBernardo Dominic UNQUALIFIED
Mayumi Q FollerFranceXuxue Feng QUALIFIED
Jennifer L VenereAustraliaStephen Shaw UNQUALIFIED
Emily B GillianBrazilElwin Sharvill NEW
Greenwood G TollnerItalyOnyama Limba QUALIFIED
Arvin Y IturbideFranceAnna Fali NEGOTIATION
Aditya C BowleyArgentinaAmy Elsner PROPOSAL
Ivar Z RutaCanadaElwin Sharvill QUALIFIED
Munro T KolmetzArgentinaAnna Fali NEGOTIATION
Ivar B IturbideBrazilOnyama Limba PROPOSAL
Ivar D KolmetzArgentinaElwin Sharvill NEGOTIATION
Ashley Q PerinFranceBernardo Dominic PROPOSAL
Julie O DilliardSpainXuxue Feng PROPOSAL
Greenwood A FlosiRussiaAmy Elsner NEGOTIATION
Kadeem M MaletFranceAmy Elsner NEW
Maisha Y RutaArgentinaElwin Sharvill PROPOSAL
Arvin Q DilliardUnited KingdomStephen Shaw RENEWAL
Wickens E CaudyGermanyIvan Magalhaes QUALIFIED
Cody S VenereGermanyXuxue Feng NEW
Antonio P BologniaGermanyElwin Sharvill NEGOTIATION
Leja L GarufiUnited KingdomAsiya Javayant RENEWAL
Arvin R RutaSpainStephen Shaw RENEWAL
Aruna E AmigonRussiaOnyama Limba PROPOSAL
Alejandro C ShinkoIndiaIoni Bowcher RENEWAL
Leja V VenereUnited KingdomBernardo Dominic RENEWAL
Ashley F GauchoUnited KingdomAnna Fali UNQUALIFIED
Salvatore N OldroydCanadaAsiya Javayant NEGOTIATION
Alejandro A RulapaughJapanBernardo Dominic PROPOSAL
Kaitlin L IturbideFranceElwin Sharvill NEW
Smith M OstroskyRussiaAnna Fali NEGOTIATION
Emily K SergiArgentinaStephen Shaw QUALIFIED
Costa N ButtGermanyStephen Shaw NEGOTIATION
Juan O DilliardFranceBernardo Dominic QUALIFIED
Stacey C SaylorsIndiaBernardo Dominic PROPOSAL
Kadeem L PerinFranceAnna Fali NEGOTIATION
Smith V WaycottGermanyStephen Shaw QUALIFIED
Costa K AlbaresUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Murillo X Chui
Wickens V Bowley
Jones X Caudy
Cody K Darakjy
Misaki S Briddick
Francesco O Stenseth
Alejandro A Malet
Wickens T Flosi
Johnson O Garufi
Murillo C Figeroa
Isabel I Maclead
Faith B Paprocki
Antonio Z Kolmetz
Nicolas H Vocelka
Jennifer K Paprocki
Leon J Schemmer
Munro L Morasca
Morrow D Campain
Aruna O Venere
Aika B Tollner
Cody L Briddick
Murillo Q Ostrosky
Morrow Y Ferencz
Chavez E Shinko
Kadeem K Darakjy
Aika C Iturbide
Kadeem H Caldarera
Sinclair F Morasca
David F Bolognia
Aditya D Amigon
Jefferson I Gillian
Darci Q Briddick
Ashley S Perin
Nicolas M Doe
Izzy N Gaucho
Alejandro I Rulapaugh
Johnson C Sergi
Leja Y Poquette
Kaitlin E Butt
Jeanfrancois Q Rim
Jones K Stenseth
Stacey Y Slusarski
Greenwood Y Kusko
Ricardo Q Garufi
Aditya M Figeroa
Costa J Malet
Silvio V Albares
Johnson F Ostrosky
Julie S Nestle
Salvatore K Vocelka
IdCountryDate
1000France2026-09-19
1001Italy2026-08-27
1002India2026-09-06
1003Japan2026-08-26
1004Germany2026-09-15
1005United Kingdom2026-09-13
1006India2026-08-24
1007United Kingdom2026-09-17
1008Italy2026-09-13
1009Italy2026-09-08
1010Brazil2026-09-10
1011Spain2026-08-22
1012Germany2026-09-09
1013Argentina2026-09-18
1014Brazil2026-08-25
1015Argentina2026-09-02
1016Brazil2026-08-21
1017Argentina2026-09-04
1018Australia2026-09-05
1019France2026-09-15
1020France2026-09-03
1021Argentina2026-09-04
1022Japan2026-08-24
1023Germany2026-08-21
1024Australia2026-08-24
1025Brazil2026-09-10
1026Russia2026-09-16
1027India2026-09-04
1028Italy2026-09-09
1029India2026-09-06
1030Spain2026-09-14
1031Germany2026-09-05
1032Argentina2026-08-21
1033Russia2026-08-26
1034Japan2026-09-04
1035Germany2026-09-16
1036France2026-09-02
1037Spain2026-09-17
1038Germany2026-09-01
1039Japan2026-09-05
1040Germany2026-09-11
1041Germany2026-09-03
1042India2026-09-05
1043India2026-08-22
1044Spain2026-09-15
1045Germany2026-09-02
1046Germany2026-09-01
1047Russia2026-09-17
1048Brazil2026-09-03
1049Argentina2026-08-22

On-Demand Data

NameIdCountryDate
Smith R Bowley1000Germany2026-09-16
Kaitlin F Schemmer1001Canada2026-09-10
David D Glick1002Spain2026-08-26
Leja O Bolognia1003Argentina2026-09-13
Aditya E Nestle1004Italy2026-09-01
Leja U Rulapaugh1005Germany2026-09-03
James H Ruta1006Japan2026-08-27
Jeanfrancois J Sergi1007Italy2026-08-23
Silvio A Schemmer1008Canada2026-09-02
Sinclair Y Sergi1009Spain2026-08-29
Aruna D Ferencz1010United Kingdom2026-08-22
Johnson B Rulapaugh1011United Kingdom2026-09-04
Aditya Q Rim1012Canada2026-09-13
Sinclair U Slusarski1013Brazil2026-09-17
Smith R Rulapaugh1014Argentina2026-09-08
Ashley U Stenseth1015Italy2026-09-09
Maisha F Oldroyd1016India2026-09-06
Misaki K Stenseth1017Russia2026-09-07
Clifford Q Chui1018Argentina2026-09-13
Mujtaba O Slusarski1019Italy2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem S WieserGermanyAmy Elsner NEGOTIATION
Murillo M CaudyRussiaXuxue Feng RENEWAL
Jennifer C SlusarskiFranceAmy Elsner RENEWAL
Salvatore R SchemmerItalyBernardo Dominic PROPOSAL
Aruna Y DilliardFranceBernardo Dominic NEGOTIATION
Antonio J FollerJapanBernardo Dominic UNQUALIFIED
James L SergiJapanElwin Sharvill PROPOSAL
Kadeem D GarufiAustraliaIvan Magalhaes RENEWAL
Darci Q CaldareraArgentinaXuxue Feng RENEWAL
Leja U RimAustraliaAnna Fali UNQUALIFIED
Johnson C WaycottRussiaAmy Elsner QUALIFIED
Aditya L GauchoGermanyAsiya Javayant NEW
Ricardo E StockhamJapanElwin Sharvill UNQUALIFIED
Munro B NickaItalyOnyama Limba RENEWAL
Salvatore S OldroydGermanyAnna Fali QUALIFIED
Stacey M GlickGermanyXuxue Feng QUALIFIED
Ivar S PaprockiJapanBernardo Dominic NEW
Juan D OldroydUnited KingdomElwin Sharvill NEW
Juan X CaudySpainAmy Elsner QUALIFIED
Misaki K WieserAustraliaOnyama Limba RENEWAL
James Z MaletRussiaXuxue Feng NEW
Deepesh S MorascaCanadaAmy Elsner UNQUALIFIED
Silvio G GarufiItalyAnna Fali NEGOTIATION
Silvio W KuskoAustraliaElwin Sharvill RENEWAL
Juan D FollerRussiaIvan Magalhaes QUALIFIED
James N RimJapanIvan Magalhaes RENEWAL
Murillo O WieserFranceIvan Magalhaes UNQUALIFIED
Isabel G ShinkoJapanOnyama Limba NEW
Antonio L NickaSpainAsiya Javayant RENEWAL
Silvio K SaylorsRussiaElwin Sharvill UNQUALIFIED
Aruna M WieserBrazilAmy Elsner RENEWAL
Jones M MaletIndiaOnyama Limba UNQUALIFIED
Antonio O RutaJapanIoni Bowcher NEW
Kaitlin T DoeRussiaIvan Magalhaes NEW
Smith R PoquetteItalyOnyama Limba PROPOSAL
Izzy K WieserBrazilAnna Fali QUALIFIED
Clifford P AlbaresUnited KingdomBernardo Dominic PROPOSAL
Smith D InouyeItalyAsiya Javayant NEGOTIATION
Ashley A MaletUnited KingdomAsiya Javayant RENEWAL
Aditya F NestleAustraliaStephen Shaw 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>