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
Deepesh S OldroydBrazilAmy Elsner PROPOSAL
Johnson S WaycottFranceAnna Fali RENEWAL
Jones F PoquetteRussiaIoni Bowcher RENEWAL
Darci C BologniaCanadaBernardo Dominic QUALIFIED
Francesco M ChuiFranceOnyama Limba UNQUALIFIED
Stacey F IturbideItalyAnna Fali PROPOSAL
Kaitlin S ChuiArgentinaOnyama Limba QUALIFIED
Chavez A DarakjyArgentinaIvan Magalhaes PROPOSAL
Wickens E FerenczJapanElwin Sharvill UNQUALIFIED
Maria H OldroydArgentinaXuxue Feng QUALIFIED
Francesco T DilliardRussiaAsiya Javayant NEW
Mujtaba N IturbideRussiaAnna Fali NEW
Jeanfrancois B SergiArgentinaAsiya Javayant NEGOTIATION
Mujtaba S OldroydRussiaAnna Fali NEW
James E FollerRussiaIvan Magalhaes NEW
Julie A CaldareraGermanyElwin Sharvill NEW
Tony J RoysterIndiaIoni Bowcher NEW
Claire E CaldareraIndiaIoni Bowcher QUALIFIED
Aditya C TollnerRussiaAmy Elsner NEW
Mayumi Q NickaBrazilAsiya Javayant NEW
Julie C MarrierRussiaIoni Bowcher QUALIFIED
Nicolas A ButtSpainAmy Elsner NEGOTIATION
Mayumi I SergiSpainElwin Sharvill NEW
Jefferson Q OstroskySpainIoni Bowcher NEGOTIATION
Arvin O OstroskyArgentinaAmy Elsner QUALIFIED
Maisha T DarakjySpainStephen Shaw NEW
Aika K NestleItalyOnyama Limba RENEWAL
Tony H DarakjyCanadaOnyama Limba QUALIFIED
Aika Z TollnerBrazilElwin Sharvill QUALIFIED
Chavez Q TollnerSpainIoni Bowcher NEGOTIATION
Julie V SlusarskiIndiaBernardo Dominic PROPOSAL
Kaitlin B KuskoItalyAmy Elsner NEW
Maisha I MaletIndiaBernardo Dominic PROPOSAL
Rodrigues P WieserRussiaAsiya Javayant QUALIFIED
Ashley G MaletArgentinaXuxue Feng RENEWAL
Claire P GauchoIndiaIvan Magalhaes QUALIFIED
Silvio V CampainSpainXuxue Feng QUALIFIED
Aika S VenereCanadaElwin Sharvill PROPOSAL
Leja Q DilliardFranceElwin Sharvill UNQUALIFIED
James M RoysterSpainXuxue Feng RENEWAL
Emily W TollnerCanadaAmy Elsner NEGOTIATION
Misaki V AmigonGermanyBernardo Dominic NEGOTIATION
Emily K InouyeSpainAsiya Javayant NEW
Alejandro O MarrierRussiaAnna Fali PROPOSAL
Deepesh T CampainItalyAmy Elsner NEW
Jennifer W CaudyItalyStephen Shaw NEW
Faith A MaletSpainIvan Magalhaes NEW
Aditya C ShinkoSpainStephen Shaw QUALIFIED
Salvatore W KuskoGermanyAmy Elsner QUALIFIED
Smith C BologniaJapanStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy D GarufiBrazilAmy Elsner NEW
Octavia R CaldareraAustraliaAmy Elsner NEGOTIATION
Murillo H MaletBrazilAmy Elsner QUALIFIED
Rodrigues I ChuiJapanElwin Sharvill QUALIFIED
Wickens G InouyeItalyAmy Elsner PROPOSAL
Faith Q PerinFranceBernardo Dominic PROPOSAL
Mayumi Z DoeJapanXuxue Feng UNQUALIFIED
Silvio W ChuiSpainStephen Shaw NEW
Greenwood R WaycottJapanBernardo Dominic NEGOTIATION
Aditya B PaprockiGermanyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo S IturbideCanada2026-10-08Feltz Printing Service NEGOTIATION53Ioni Bowcher
1001Mujtaba E PerinItaly2026-10-05King, Christopher A Esq PROPOSAL78Ioni Bowcher
1002Juan E CaldareraBrazil2026-09-15Benton, John B Jr RENEWAL20Bernardo Dominic
1003Wickens W MacleadArgentina2026-09-14Rousseaux, Michael Esq RENEWAL74Asiya Javayant
1004Tony O IturbideCanada2026-10-09Printing Dimensions NEGOTIATION47Stephen Shaw
1005Jones J RutaIndia2026-10-09King, Christopher A Esq UNQUALIFIED87Onyama Limba
1006Izzy K SlusarskiGermany2026-10-06Chanay, Jeffrey A Esq PROPOSAL84Ioni Bowcher
1007Chavez Z CaudyBrazil2026-10-11Benton, John B Jr UNQUALIFIED69Onyama Limba
1008Silvio H SchemmerSpain2026-09-19Buckley Miller Wright NEW95Ivan Magalhaes
1009Sinclair Y InouyeAustralia2026-10-06Benton, John B Jr PROPOSAL5Ivan Magalhaes
1010Munro J PoquetteItaly2026-10-04Benton, John B Jr RENEWAL89Amy Elsner
1011Kaitlin R BriddickBrazil2026-09-18Morlong Associates RENEWAL17Ioni Bowcher
1012Emily S SlusarskiUnited Kingdom2026-10-06Commercial Press NEGOTIATION2Stephen Shaw
1013Tony T SaylorsCanada2026-09-15Dorl, James J Esq NEGOTIATION98Amy Elsner
1014Sinclair T SlusarskiRussia2026-10-10Chemel, James L Cpa UNQUALIFIED49Asiya Javayant
1015Johnson R GlickRussia2026-10-13Feltz Printing Service QUALIFIED9Ivan Magalhaes
1016Smith C RulapaughRussia2026-10-07Chemel, James L Cpa NEW48Xuxue Feng
1017Octavia I ShinkoArgentina2026-09-22King, Christopher A Esq PROPOSAL68Xuxue Feng
1018Darci Y PaprockiFrance2026-10-05Feiner Bros UNQUALIFIED25Bernardo Dominic
1019Deepesh K NickaItaly2026-09-18King, Christopher A Esq PROPOSAL72Amy Elsner
1020Ivar O MaletUnited Kingdom2026-10-11Feltz Printing Service UNQUALIFIED61Ioni Bowcher
1021Smith C SergiCanada2026-09-30King, Christopher A Esq NEW9Xuxue Feng
1022Chavez M WhobreyItaly2026-09-23Feltz Printing Service NEGOTIATION43Ioni Bowcher
1023Jeanfrancois Y AmigonRussia2026-09-21Feltz Printing Service UNQUALIFIED73Asiya Javayant
1024Wickens N ButtGermany2026-10-04Dorl, James J Esq QUALIFIED69Ivan Magalhaes
1025Francesco A VenereArgentina2026-10-12Feltz Printing Service UNQUALIFIED6Ivan Magalhaes
1026Aruna H PerinUnited Kingdom2026-10-09King, Christopher A Esq NEW20Onyama Limba
1027Stacey M MacleadAustralia2026-10-10Feltz Printing Service UNQUALIFIED23Xuxue Feng
1028Rodrigues A GauchoArgentina2026-09-16Rousseaux, Michael Esq RENEWAL92Xuxue Feng
1029Faith P MaletFrance2026-09-18Feiner Bros PROPOSAL11Xuxue Feng
1030Sinclair H ButtGermany2026-09-18Benton, John B Jr NEW15Elwin Sharvill
1031Murillo Z ChuiUnited Kingdom2026-10-03Commercial Press PROPOSAL99Bernardo Dominic
1032Maisha C WaycottSpain2026-10-01Chemel, James L Cpa QUALIFIED77Bernardo Dominic
1033Smith D BowleyArgentina2026-09-25Truhlar And Truhlar Attys QUALIFIED78Ioni Bowcher
1034Francesco T PerinRussia2026-09-16Truhlar And Truhlar Attys QUALIFIED52Ivan Magalhaes
1035Jefferson N BologniaItaly2026-09-25Printing Dimensions NEGOTIATION1Ioni Bowcher
1036Cody Z VocelkaAustralia2026-10-10Buckley Miller Wright QUALIFIED73Asiya Javayant
1037Emily D VocelkaGermany2026-09-26Rangoni Of Florence PROPOSAL15Stephen Shaw
1038Aika O PerinGermany2026-09-28Rousseaux, Michael Esq RENEWAL9Anna Fali
1039James M RutaFrance2026-10-08Benton, John B Jr RENEWAL56Asiya Javayant
1040Nicolas Q StensethIndia2026-10-08Chanay, Jeffrey A Esq NEGOTIATION73Onyama Limba
1041Aruna P WhobreyIndia2026-09-26Commercial Press RENEWAL3Stephen Shaw
1042Greenwood E NickaJapan2026-10-09Chanay, Jeffrey A Esq NEW32Onyama Limba
1043Stacey E MacleadCanada2026-09-27Commercial Press QUALIFIED73Anna Fali
1044Darci O BowleyJapan2026-09-25Commercial Press QUALIFIED32Ioni Bowcher
1045Sinclair R RulapaughBrazil2026-09-21King, Christopher A Esq NEGOTIATION89Asiya Javayant
1046Ashley L SergiJapan2026-10-11Chemel, James L Cpa NEGOTIATION48Amy Elsner
1047Francesco X DilliardArgentina2026-10-12Chemel, James L Cpa UNQUALIFIED83Ioni Bowcher
1048Greenwood N AlbaresGermany2026-10-12Chanay, Jeffrey A Esq NEGOTIATION68Bernardo Dominic
1049Izzy R KuskoSpain2026-09-24King, Christopher A Esq NEGOTIATION33Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kadeem N PerinJapanStephen Shaw QUALIFIED
Darci Y FigeroaArgentinaAmy Elsner RENEWAL
Mayumi Y StockhamUnited KingdomOnyama Limba PROPOSAL
Maisha Y SergiBrazilXuxue Feng NEW
Juan Z InouyeRussiaStephen Shaw PROPOSAL
Jeanfrancois C RulapaughSpainIvan Magalhaes PROPOSAL
Faith N FigeroaAustraliaAmy Elsner RENEWAL
Kadeem R GauchoIndiaStephen Shaw UNQUALIFIED
Mujtaba L FlosiUnited KingdomAmy Elsner PROPOSAL
Arvin F DilliardArgentinaXuxue Feng PROPOSAL
Izzy H ChuiGermanyAsiya Javayant NEW
Misaki V IturbideUnited KingdomXuxue Feng QUALIFIED
Julie R CaldareraItalyXuxue Feng RENEWAL
Smith E DilliardFranceBernardo Dominic PROPOSAL
David G OldroydCanadaXuxue Feng UNQUALIFIED
Faith H GauchoCanadaXuxue Feng PROPOSAL
Tony K CaudyIndiaAnna Fali NEW
Greenwood Y RutaGermanyStephen Shaw UNQUALIFIED
Claire J BologniaBrazilElwin Sharvill NEGOTIATION
James W StockhamBrazilAmy Elsner PROPOSAL
Ricardo Z FlosiIndiaStephen Shaw QUALIFIED
Aika G FollerCanadaBernardo Dominic PROPOSAL
Jeanfrancois W NestleAustraliaAsiya Javayant PROPOSAL
Misaki R MorascaCanadaOnyama Limba RENEWAL
Stacey A BowleySpainStephen Shaw RENEWAL
Maria Y SlusarskiGermanyAnna Fali UNQUALIFIED
Ricardo L PerinUnited KingdomStephen Shaw RENEWAL
Jefferson S AlbaresCanadaBernardo Dominic QUALIFIED
Jones X ShinkoItalyOnyama Limba NEW
Jennifer D InouyeRussiaOnyama Limba NEW
Maria J AmigonSpainIoni Bowcher QUALIFIED
Deepesh K OldroydIndiaIvan Magalhaes NEW
Ricardo X FigeroaBrazilAmy Elsner UNQUALIFIED
Jones W InouyeUnited KingdomBernardo Dominic QUALIFIED
Aika V RimGermanyIoni Bowcher RENEWAL
Octavia C InouyeBrazilAnna Fali QUALIFIED
Adams D RoysterBrazilIoni Bowcher NEGOTIATION
James I BriddickJapanXuxue Feng NEW
Johnson M IturbideJapanBernardo Dominic QUALIFIED
Arvin J MorascaGermanyStephen Shaw QUALIFIED
Julie W GillianGermanyBernardo Dominic UNQUALIFIED
Izzy K SaylorsFranceIvan Magalhaes QUALIFIED
Ivar Y RimIndiaAnna Fali PROPOSAL
Julie E BowleyBrazilIvan Magalhaes QUALIFIED
Ricardo P FlosiJapanIoni Bowcher NEGOTIATION
Darci C BowleyBrazilBernardo Dominic NEGOTIATION
Cody W CaudyCanadaAsiya Javayant NEGOTIATION
Nicolas S DilliardUnited KingdomOnyama Limba NEW
James O StockhamFranceIoni Bowcher PROPOSAL
Mayumi O RoysterAustraliaXuxue Feng RENEWAL
Frozen Columns
Name
Jennifer F Oldroyd
Johnson I Rulapaugh
Clifford J Whobrey
Ashley P Caudy
Jones H Rim
Greenwood R Tollner
Emily I Nicka
Maria X Stenseth
Isabel Z Schemmer
Emily E Maclead
Aika S Gillian
Darci F Nestle
Julie F Saylors
Faith F Nestle
Costa Y Ferencz
Izzy G Darakjy
Leon P Albares
Tony L Dilliard
Nicolas V Paprocki
Kaitlin X Inouye
Darci B Rim
Sinclair T Kusko
Rodrigues N Stenseth
Julie P Gillian
Deepesh D Malet
James D Briddick
Claire S Caldarera
Deepesh X Kusko
Jeanfrancois X Doe
Ricardo F Paprocki
Isabel B Inouye
Murillo W Stockham
Leon W Schemmer
Sinclair Z Waycott
Salvatore H Whobrey
Julie N Briddick
Mayumi Q Albares
Munro W Marrier
Greenwood B Stockham
Adams E Poquette
Jefferson S Chui
Salvatore A Stenseth
Mujtaba U Schemmer
Izzy Y Briddick
Kaitlin I Rulapaugh
Clifford E Maclead
Julie V Nicka
Johnson Q Whobrey
Adams I Schemmer
Faith K Bowley
IdCountryDate
1000Canada2026-10-07
1001Japan2026-09-30
1002Brazil2026-09-24
1003France2026-10-02
1004India2026-09-20
1005Germany2026-10-03
1006Brazil2026-09-17
1007Australia2026-09-23
1008Japan2026-09-20
1009Argentina2026-09-19
1010France2026-10-12
1011India2026-10-13
1012Canada2026-09-25
1013Japan2026-10-12
1014Russia2026-10-11
1015India2026-09-25
1016Brazil2026-09-19
1017Italy2026-10-07
1018Brazil2026-10-10
1019Argentina2026-09-19
1020Italy2026-10-08
1021Italy2026-10-13
1022Spain2026-09-14
1023Russia2026-09-17
1024France2026-10-07
1025Canada2026-10-11
1026India2026-09-28
1027Canada2026-10-01
1028United Kingdom2026-09-26
1029Argentina2026-09-27
1030Germany2026-09-18
1031India2026-10-10
1032France2026-09-23
1033France2026-09-21
1034Argentina2026-10-01
1035United Kingdom2026-09-29
1036United Kingdom2026-09-25
1037Spain2026-10-08
1038Italy2026-09-27
1039France2026-10-01
1040Argentina2026-09-27
1041Argentina2026-10-03
1042Australia2026-09-15
1043France2026-09-27
1044Canada2026-10-07
1045Italy2026-09-23
1046Brazil2026-10-13
1047Germany2026-10-08
1048United Kingdom2026-10-10
1049Argentina2026-09-28

On-Demand Data

NameIdCountryDate
Jones E Shinko1000Japan2026-09-18
Izzy Y Bolognia1001Canada2026-09-26
Johnson J Venere1002India2026-10-13
Aruna D Stockham1003Germany2026-10-09
Faith C Ostrosky1004France2026-10-11
Jones Y Rulapaugh1005Argentina2026-10-06
Jones E Sergi1006France2026-10-10
Faith T Iturbide1007France2026-09-19
Costa A Gillian1008India2026-09-14
Munro R Malet1009Spain2026-09-30
Ricardo C Nicka1010Russia2026-09-19
Salvatore R Slusarski1011United Kingdom2026-10-03
Chavez B Gaucho1012India2026-09-20
Jennifer X Venere1013Italy2026-10-01
Ivar I Stenseth1014Russia2026-10-07
Greenwood H Ruta1015Australia2026-10-01
Maisha T Inouye1016Italy2026-09-26
Kaitlin L Malet1017France2026-09-17
Silvio H Sergi1018Japan2026-10-11
Nicolas J Foller1019Russia2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh D CaudyCanadaBernardo Dominic UNQUALIFIED
Arvin S GillianCanadaAmy Elsner QUALIFIED
Silvio F TollnerCanadaAsiya Javayant NEGOTIATION
Chavez N DilliardGermanyElwin Sharvill NEGOTIATION
Nicolas J StensethGermanyIvan Magalhaes QUALIFIED
David G OldroydBrazilIoni Bowcher QUALIFIED
Ivar T RoysterSpainStephen Shaw PROPOSAL
Antonio V VocelkaItalyBernardo Dominic RENEWAL
David I ChuiAustraliaOnyama Limba NEW
Arvin V NestleAustraliaIvan Magalhaes UNQUALIFIED
Jennifer P StockhamJapanElwin Sharvill NEGOTIATION
Johnson X CaudyArgentinaAmy Elsner PROPOSAL
Cody Q BriddickJapanIoni Bowcher NEGOTIATION
Jeanfrancois G WhobreyRussiaAsiya Javayant NEGOTIATION
Silvio A RoysterAustraliaAsiya Javayant RENEWAL
Francesco B ButtCanadaStephen Shaw RENEWAL
Salvatore B PoquetteSpainOnyama Limba QUALIFIED
Ashley H RimBrazilIoni Bowcher NEGOTIATION
Costa G GauchoUnited KingdomIvan Magalhaes RENEWAL
Silvio X FigeroaIndiaBernardo Dominic NEW
Alejandro B ButtJapanAsiya Javayant RENEWAL
Kaitlin B FigeroaJapanXuxue Feng UNQUALIFIED
Juan S RoysterCanadaIoni Bowcher NEGOTIATION
Ricardo W AmigonFranceIvan Magalhaes UNQUALIFIED
Isabel U AmigonAustraliaBernardo Dominic NEW
David X BowleyCanadaElwin Sharvill QUALIFIED
Maria V ShinkoIndiaOnyama Limba PROPOSAL
Clifford Y SchemmerCanadaAnna Fali PROPOSAL
Leon C StockhamAustraliaBernardo Dominic PROPOSAL
Isabel J CaldareraFranceAnna Fali RENEWAL
Chavez R FigeroaGermanyOnyama Limba QUALIFIED
Aika Q PaprockiAustraliaOnyama Limba RENEWAL
Emily Q DarakjyRussiaStephen Shaw PROPOSAL
Silvio T ShinkoCanadaIoni Bowcher QUALIFIED
Julie R CaldareraFranceElwin Sharvill NEGOTIATION
David Q GauchoBrazilAnna Fali PROPOSAL
Juan S ChuiSpainAmy Elsner UNQUALIFIED
Silvio Q NestleCanadaStephen Shaw PROPOSAL
Ricardo Z RulapaughJapanAsiya Javayant PROPOSAL
Aruna V CaudyCanadaBernardo Dominic NEW

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