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
Adams R RutaSpainAnna Fali NEGOTIATION
Aditya I WaycottGermanyXuxue Feng UNQUALIFIED
Isabel Q ButtItalyStephen Shaw RENEWAL
Jennifer P PoquetteGermanyElwin Sharvill UNQUALIFIED
Julie S CaldareraJapanIoni Bowcher PROPOSAL
Julie D DilliardUnited KingdomIoni Bowcher PROPOSAL
Leon K MarrierCanadaBernardo Dominic NEW
Murillo U InouyeGermanyAnna Fali NEW
Chavez Z CaudySpainOnyama Limba NEGOTIATION
Aruna S FigeroaBrazilElwin Sharvill NEW
Cody C NickaFranceAnna Fali NEW
Leon B OstroskyJapanStephen Shaw NEW
Misaki P OldroydSpainXuxue Feng PROPOSAL
Adams S KuskoJapanIvan Magalhaes PROPOSAL
Alejandro N MaletBrazilOnyama Limba NEW
Aruna U KolmetzSpainXuxue Feng UNQUALIFIED
Stacey Z GillianGermanyElwin Sharvill QUALIFIED
Nicolas K MacleadBrazilBernardo Dominic NEGOTIATION
Morrow X PerinGermanyIvan Magalhaes QUALIFIED
Sinclair Y DilliardFranceOnyama Limba QUALIFIED
Munro T WieserBrazilIvan Magalhaes NEGOTIATION
Kaitlin F KuskoUnited KingdomAmy Elsner PROPOSAL
Aditya L WhobreyIndiaIvan Magalhaes QUALIFIED
Deepesh C FigeroaIndiaElwin Sharvill RENEWAL
Arvin X GauchoIndiaBernardo Dominic NEW
Munro F MorascaSpainIoni Bowcher UNQUALIFIED
Jefferson Y RimFranceIoni Bowcher NEGOTIATION
Julie R MarrierArgentinaAmy Elsner NEW
Silvio G IturbideBrazilElwin Sharvill UNQUALIFIED
Ivar Q CaldareraGermanyStephen Shaw NEW
Izzy O ButtSpainXuxue Feng NEGOTIATION
Costa A FigeroaBrazilXuxue Feng QUALIFIED
Murillo M BriddickFranceAsiya Javayant NEGOTIATION
Francesco R OldroydSpainOnyama Limba RENEWAL
Stacey M ButtBrazilAsiya Javayant QUALIFIED
Salvatore I CampainAustraliaBernardo Dominic RENEWAL
Maria V TollnerJapanElwin Sharvill NEGOTIATION
Maisha O RoysterItalyElwin Sharvill UNQUALIFIED
Smith G GillianIndiaIvan Magalhaes PROPOSAL
Kadeem J TollnerRussiaAmy Elsner QUALIFIED
Stacey E OstroskyFranceStephen Shaw QUALIFIED
Chavez X ChuiAustraliaOnyama Limba QUALIFIED
Misaki K MarrierAustraliaBernardo Dominic NEGOTIATION
Mayumi M WaycottBrazilAnna Fali RENEWAL
Nicolas Y MorascaAustraliaStephen Shaw NEGOTIATION
Maisha L DoeCanadaAmy Elsner RENEWAL
Alejandro S FigeroaBrazilIoni Bowcher UNQUALIFIED
Octavia X ButtAustraliaBernardo Dominic NEGOTIATION
Claire W StockhamJapanAmy Elsner PROPOSAL
Ashley S RutaSpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Arvin K CaudyGermanyXuxue Feng RENEWAL
Arvin E CaudyItalyOnyama Limba RENEWAL
Jones M KolmetzArgentinaOnyama Limba NEGOTIATION
Aditya B RimUnited KingdomBernardo Dominic RENEWAL
Juan T RimIndiaOnyama Limba NEW
Octavia P FigeroaFranceAsiya Javayant PROPOSAL
James G DoeRussiaXuxue Feng RENEWAL
Clifford S NestleAustraliaIoni Bowcher RENEWAL
Emily S ShinkoItalyStephen Shaw RENEWAL
Maisha H InouyeIndiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore Q FigeroaBrazil2026-09-08Feltz Printing Service UNQUALIFIED46Anna Fali
1001Juan R KuskoArgentina2026-09-23Printing Dimensions UNQUALIFIED96Asiya Javayant
1002Mayumi K WhobreyJapan2026-08-29Morlong Associates QUALIFIED71Ioni Bowcher
1003Tony P MaletAustralia2026-09-15Chemel, James L Cpa PROPOSAL31Amy Elsner
1004Adams F ShinkoFrance2026-09-18Morlong Associates NEGOTIATION50Xuxue Feng
1005Aika B PaprockiArgentina2026-09-09Chemel, James L Cpa RENEWAL42Amy Elsner
1006Ashley Z RimFrance2026-08-29Rangoni Of Florence UNQUALIFIED1Ivan Magalhaes
1007Greenwood L WaycottItaly2026-09-02Printing Dimensions NEGOTIATION50Stephen Shaw
1008David Q ChuiGermany2026-09-21Truhlar And Truhlar Attys NEW84Elwin Sharvill
1009Faith D FerenczArgentina2026-09-02Benton, John B Jr NEGOTIATION79Bernardo Dominic
1010Jeanfrancois J MaletAustralia2026-09-14Chanay, Jeffrey A Esq NEGOTIATION79Asiya Javayant
1011Isabel R CaudyIndia2026-09-15Buckley Miller Wright RENEWAL69Stephen Shaw
1012Johnson O MacleadGermany2026-09-15Feiner Bros PROPOSAL17Xuxue Feng
1013Kadeem F WieserCanada2026-09-14Printing Dimensions QUALIFIED80Asiya Javayant
1014Kadeem S CaldareraBrazil2026-09-09Rangoni Of Florence PROPOSAL61Bernardo Dominic
1015Adams L GauchoSpain2026-09-22Rousseaux, Michael Esq UNQUALIFIED42Stephen Shaw
1016Salvatore S BowleyRussia2026-09-11Truhlar And Truhlar Attys QUALIFIED5Ivan Magalhaes
1017Faith Q GauchoUnited Kingdom2026-09-17Truhlar And Truhlar Attys PROPOSAL30Asiya Javayant
1018Jones M DilliardJapan2026-09-08Chanay, Jeffrey A Esq PROPOSAL75Asiya Javayant
1019Jefferson G ButtAustralia2026-08-30Dorl, James J Esq NEW93Ioni Bowcher
1020Alejandro U ShinkoGermany2026-09-05Benton, John B Jr NEGOTIATION97Anna Fali
1021Jennifer O InouyeIndia2026-09-09Feiner Bros NEGOTIATION0Xuxue Feng
1022Leon M DoeCanada2026-09-23Rangoni Of Florence NEGOTIATION5Asiya Javayant
1023Juan T FerenczIndia2026-08-28Rangoni Of Florence NEW98Ivan Magalhaes
1024James A TollnerItaly2026-08-31Feiner Bros NEW62Elwin Sharvill
1025Wickens Z AmigonFrance2026-08-31Chanay, Jeffrey A Esq NEW32Stephen Shaw
1026Jennifer Z NestleSpain2026-09-08Benton, John B Jr UNQUALIFIED46Ivan Magalhaes
1027Antonio C FlosiAustralia2026-08-28Morlong Associates UNQUALIFIED30Bernardo Dominic
1028Chavez N GarufiJapan2026-09-09Chapman, Ross E Esq NEGOTIATION89Asiya Javayant
1029Leon A MaletArgentina2026-09-03Chemel, James L Cpa PROPOSAL85Elwin Sharvill
1030Smith J FigeroaRussia2026-09-08Rousseaux, Michael Esq QUALIFIED34Asiya Javayant
1031Murillo N WaycottJapan2026-08-29King, Christopher A Esq QUALIFIED13Amy Elsner
1032Darci N ButtRussia2026-08-29Buckley Miller Wright UNQUALIFIED24Onyama Limba
1033Munro E OldroydGermany2026-09-17Buckley Miller Wright UNQUALIFIED44Anna Fali
1034Antonio D ButtItaly2026-08-25Benton, John B Jr QUALIFIED99Anna Fali
1035Deepesh H GlickUnited Kingdom2026-09-11Chapman, Ross E Esq QUALIFIED4Stephen Shaw
1036Munro W MacleadCanada2026-09-03Rangoni Of Florence NEW68Amy Elsner
1037Aditya U MacleadRussia2026-08-25Chanay, Jeffrey A Esq UNQUALIFIED1Asiya Javayant
1038Munro G DoeFrance2026-09-05Buckley Miller Wright NEGOTIATION9Elwin Sharvill
1039Juan A RulapaughIndia2026-09-03Chemel, James L Cpa UNQUALIFIED5Stephen Shaw
1040Munro T OldroydAustralia2026-08-29Printing Dimensions UNQUALIFIED6Stephen Shaw
1041Maria M DoeItaly2026-09-12Buckley Miller Wright RENEWAL90Amy Elsner
1042Misaki O VenereBrazil2026-09-06Commercial Press UNQUALIFIED89Asiya Javayant
1043Jones X SlusarskiGermany2026-09-22Feiner Bros QUALIFIED65Xuxue Feng
1044Juan B InouyeItaly2026-09-18Chapman, Ross E Esq NEW56Asiya Javayant
1045Cody I MaletIndia2026-09-14Rangoni Of Florence QUALIFIED90Onyama Limba
1046Alejandro D SlusarskiUnited Kingdom2026-08-27Printing Dimensions QUALIFIED97Ioni Bowcher
1047David G KuskoFrance2026-09-09Benton, John B Jr PROPOSAL25Amy Elsner
1048Deepesh W BriddickIndia2026-09-05Commercial Press NEGOTIATION44Asiya Javayant
1049Greenwood U DarakjyGermany2026-08-25Commercial Press QUALIFIED15Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith V WieserGermanyAnna Fali PROPOSAL
Claire A DoeIndiaBernardo Dominic NEW
Izzy K FerenczFranceBernardo Dominic UNQUALIFIED
Ricardo E GlickJapanOnyama Limba UNQUALIFIED
Darci T CaldareraItalyStephen Shaw UNQUALIFIED
Leon G MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem D SaylorsArgentinaElwin Sharvill RENEWAL
Adams Y AmigonArgentinaAsiya Javayant PROPOSAL
Leja X KolmetzJapanAnna Fali PROPOSAL
Francesco C MarrierFranceElwin Sharvill NEGOTIATION
Silvio O MorascaBrazilIvan Magalhaes NEW
Misaki B RutaUnited KingdomAnna Fali NEGOTIATION
Claire A RoysterFranceAmy Elsner RENEWAL
Kaitlin M NickaGermanyOnyama Limba UNQUALIFIED
Morrow U MaletJapanElwin Sharvill NEGOTIATION
Johnson Z MaletGermanyAnna Fali RENEWAL
Mayumi S FollerAustraliaXuxue Feng NEGOTIATION
David A SchemmerGermanyAsiya Javayant NEGOTIATION
Aruna V VenereRussiaAmy Elsner PROPOSAL
Adams E GlickJapanIoni Bowcher QUALIFIED
Leon Z TollnerIndiaStephen Shaw PROPOSAL
Emily F FollerArgentinaIoni Bowcher QUALIFIED
Ashley L ShinkoBrazilAsiya Javayant QUALIFIED
Ashley J IturbideArgentinaStephen Shaw QUALIFIED
Greenwood C MaletAustraliaIoni Bowcher UNQUALIFIED
Sinclair I FollerArgentinaXuxue Feng QUALIFIED
Morrow Q FigeroaCanadaAnna Fali RENEWAL
Ivar Z PerinJapanAmy Elsner PROPOSAL
Tony D BriddickRussiaIoni Bowcher PROPOSAL
Cody I MaletSpainIvan Magalhaes PROPOSAL
James D GarufiGermanyAsiya Javayant QUALIFIED
Adams I GauchoSpainAsiya Javayant NEW
Maisha O KuskoFranceAmy Elsner QUALIFIED
Maisha X TollnerArgentinaXuxue Feng NEGOTIATION
Isabel W SaylorsArgentinaAsiya Javayant QUALIFIED
Wickens L OstroskyGermanyIoni Bowcher RENEWAL
Misaki I KuskoAustraliaBernardo Dominic PROPOSAL
Misaki V WieserUnited KingdomIoni Bowcher NEGOTIATION
James Q ShinkoFranceOnyama Limba RENEWAL
Darci R RutaUnited KingdomAmy Elsner UNQUALIFIED
Wickens Z GillianItalyAnna Fali UNQUALIFIED
Silvio Q FigeroaUnited KingdomXuxue Feng NEGOTIATION
Nicolas H FlosiItalyStephen Shaw RENEWAL
Jones S SergiJapanBernardo Dominic PROPOSAL
Rodrigues D PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore C AmigonItalyOnyama Limba NEW
Silvio W CampainFranceElwin Sharvill RENEWAL
Antonio G AmigonIndiaAnna Fali NEGOTIATION
Maria P SchemmerSpainAmy Elsner NEGOTIATION
Kadeem M MarrierSpainAnna Fali RENEWAL
Frozen Columns
Name
Smith J Kusko
Octavia J Royster
Salvatore B Stockham
Ashley N Amigon
Silvio C Ostrosky
Ricardo Q Stockham
Jones K Stockham
Smith P Malet
Smith R Oldroyd
Clifford C Wieser
Alejandro O Shinko
Jennifer U Inouye
Salvatore K Glick
Jones N Maclead
Mayumi N Darakjy
Murillo H Darakjy
Emily O Ruta
Ashley A Wieser
Rodrigues J Kolmetz
Aruna X Ferencz
Ricardo X Garufi
Murillo K Albares
Sinclair Q Tollner
Octavia O Figeroa
Morrow F Doe
Jennifer E Royster
Emily I Morasca
Aruna H Garufi
Darci C Tollner
Misaki X Morasca
Aditya B Stockham
Murillo H Kusko
Munro G Royster
Murillo S Schemmer
Silvio Z Caldarera
Adams Z Chui
Mujtaba E Perin
Alejandro L Sergi
Alejandro Q Campain
Antonio H Figeroa
Alejandro P Wieser
Ivar V Paprocki
Deepesh U Campain
Silvio Y Schemmer
Izzy S Stockham
Darci O Malet
Jones S Amigon
Julie S Glick
Nicolas U Ferencz
Kadeem P Wieser
IdCountryDate
1000Brazil2026-08-28
1001Argentina2026-08-28
1002France2026-08-27
1003Germany2026-09-12
1004Japan2026-09-22
1005United Kingdom2026-09-09
1006Canada2026-09-17
1007India2026-09-13
1008United Kingdom2026-09-22
1009Russia2026-09-10
1010Australia2026-08-25
1011Japan2026-09-11
1012Russia2026-09-01
1013Argentina2026-09-23
1014Brazil2026-09-18
1015Canada2026-09-23
1016Spain2026-09-10
1017Germany2026-08-29
1018France2026-09-08
1019France2026-09-10
1020Australia2026-09-01
1021Russia2026-08-31
1022India2026-09-01
1023Italy2026-09-03
1024Spain2026-09-10
1025Germany2026-08-31
1026Australia2026-09-22
1027United Kingdom2026-09-23
1028India2026-09-23
1029Canada2026-09-20
1030United Kingdom2026-09-17
1031Germany2026-09-05
1032Japan2026-08-27
1033Spain2026-08-26
1034France2026-09-09
1035Russia2026-09-14
1036Argentina2026-08-27
1037Argentina2026-09-21
1038Argentina2026-09-09
1039Russia2026-09-16
1040Russia2026-09-13
1041Russia2026-08-31
1042Australia2026-09-21
1043Japan2026-09-08
1044Russia2026-08-29
1045India2026-09-21
1046India2026-09-03
1047Spain2026-09-23
1048Russia2026-09-20
1049India2026-09-19

On-Demand Data

NameIdCountryDate
Murillo W Caudy1000United Kingdom2026-09-21
Mayumi Q Amigon1001United Kingdom2026-09-07
Isabel I Kusko1002Japan2026-08-29
Kadeem Z Saylors1003India2026-09-22
Ashley H Tollner1004Russia2026-08-26
Clifford J Morasca1005Argentina2026-09-05
Adams L Foller1006Australia2026-08-25
Greenwood V Malet1007Brazil2026-09-05
Silvio L Foller1008India2026-09-01
Darci I Malet1009Italy2026-09-06
Jones F Kusko1010Argentina2026-09-13
Julie Y Shinko1011Brazil2026-09-16
Costa U Figeroa1012Italy2026-08-26
Stacey N Dilliard1013Australia2026-09-20
Ivar L Oldroyd1014Germany2026-09-16
Aditya D Venere1015Italy2026-09-17
Alejandro T Ostrosky1016France2026-09-11
Juan H Ostrosky1017Australia2026-09-11
Leon X Flosi1018United Kingdom2026-09-12
Mujtaba I Butt1019Germany2026-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki T PaprockiGermanyIoni Bowcher RENEWAL
Jefferson U BologniaJapanStephen Shaw UNQUALIFIED
Wickens G SlusarskiRussiaOnyama Limba RENEWAL
Mujtaba X PerinAustraliaIvan Magalhaes NEW
Faith D ButtSpainIoni Bowcher NEGOTIATION
Adams X NestleBrazilAsiya Javayant PROPOSAL
Johnson Q StensethItalyOnyama Limba RENEWAL
Jeanfrancois G RutaRussiaAnna Fali RENEWAL
Greenwood Q SchemmerAustraliaXuxue Feng UNQUALIFIED
Jefferson B CaudyBrazilAnna Fali NEGOTIATION
Mujtaba R VenereJapanElwin Sharvill NEGOTIATION
Aditya L ChuiBrazilOnyama Limba NEW
Sinclair Y GauchoCanadaAnna Fali NEW
Alejandro I TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Arvin S BologniaAustraliaIvan Magalhaes QUALIFIED
Deepesh L ButtSpainStephen Shaw PROPOSAL
Jeanfrancois M SlusarskiArgentinaXuxue Feng RENEWAL
Emily A TollnerItalyXuxue Feng NEW
Leja Y VenereCanadaElwin Sharvill UNQUALIFIED
James Y BriddickAustraliaXuxue Feng UNQUALIFIED
Tony T TollnerIndiaElwin Sharvill RENEWAL
Adams V RutaItalyAmy Elsner PROPOSAL
Darci H CaldareraGermanyAmy Elsner UNQUALIFIED
Munro J DarakjyJapanBernardo Dominic NEW
Maria O ButtGermanyIoni Bowcher NEGOTIATION
Faith B AmigonAustraliaBernardo Dominic UNQUALIFIED
Ricardo P PoquetteBrazilAsiya Javayant RENEWAL
Maisha Q DoeArgentinaIvan Magalhaes PROPOSAL
Ashley N MaletItalyBernardo Dominic QUALIFIED
Greenwood G KolmetzBrazilBernardo Dominic QUALIFIED
Emily V FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Adams Y AmigonAustraliaBernardo Dominic NEW
Misaki A GauchoUnited KingdomStephen Shaw NEGOTIATION
Johnson O MorascaGermanyBernardo Dominic QUALIFIED
Chavez J KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh P KuskoAustraliaOnyama Limba PROPOSAL
Johnson G GillianAustraliaStephen Shaw RENEWAL
Mayumi R SergiRussiaStephen Shaw QUALIFIED
Deepesh X SlusarskiUnited KingdomBernardo Dominic RENEWAL
Maria W GillianGermanyBernardo Dominic RENEWAL

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