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
Wickens O RoysterArgentinaAmy Elsner NEW
Alejandro D SlusarskiCanadaStephen Shaw QUALIFIED
Greenwood B RimUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson C WaycottSpainIvan Magalhaes QUALIFIED
Aika O StockhamRussiaAnna Fali QUALIFIED
Jones U BowleyItalyAmy Elsner PROPOSAL
Emily I SergiAustraliaIoni Bowcher QUALIFIED
Deepesh O FigeroaUnited KingdomAsiya Javayant PROPOSAL
Munro K ShinkoAustraliaStephen Shaw QUALIFIED
Ricardo L CaudyUnited KingdomAmy Elsner UNQUALIFIED
Ivar B RutaFranceAnna Fali QUALIFIED
Francesco Q RulapaughJapanIvan Magalhaes NEGOTIATION
Isabel E StockhamArgentinaStephen Shaw PROPOSAL
Stacey F AmigonJapanIoni Bowcher PROPOSAL
Juan Q FlosiUnited KingdomBernardo Dominic NEGOTIATION
Francesco G MorascaGermanyIoni Bowcher NEW
Kadeem J WieserGermanyElwin Sharvill NEW
Tony W InouyeRussiaXuxue Feng NEGOTIATION
Rodrigues E FerenczBrazilAmy Elsner NEW
Deepesh W AlbaresArgentinaIoni Bowcher NEGOTIATION
Ivar B ShinkoRussiaIvan Magalhaes PROPOSAL
Jennifer W StockhamFranceOnyama Limba NEGOTIATION
Ivar O AmigonGermanyBernardo Dominic RENEWAL
Adams E SchemmerAustraliaIoni Bowcher UNQUALIFIED
Maria N WhobreySpainStephen Shaw NEW
Misaki A ShinkoArgentinaBernardo Dominic UNQUALIFIED
Munro B PerinArgentinaIoni Bowcher PROPOSAL
Octavia M RutaIndiaAmy Elsner NEGOTIATION
Ricardo E WaycottBrazilXuxue Feng QUALIFIED
Clifford D FerenczCanadaAnna Fali RENEWAL
Aika H StockhamBrazilXuxue Feng NEGOTIATION
David S MarrierUnited KingdomXuxue Feng QUALIFIED
Mayumi Z BriddickItalyIvan Magalhaes RENEWAL
Jennifer Q BowleyJapanAnna Fali NEW
Silvio I GlickBrazilAnna Fali NEW
Izzy I KolmetzGermanyIvan Magalhaes PROPOSAL
Costa G WhobreyJapanStephen Shaw NEGOTIATION
Chavez M VenereArgentinaBernardo Dominic PROPOSAL
James H PaprockiFranceAmy Elsner NEGOTIATION
Kadeem U DoeAustraliaIvan Magalhaes RENEWAL
Wickens X FollerJapanBernardo Dominic RENEWAL
Claire Q KuskoItalyBernardo Dominic NEW
Antonio P FigeroaArgentinaStephen Shaw QUALIFIED
Kaitlin J CaldareraAustraliaIvan Magalhaes RENEWAL
Kaitlin C NickaFranceXuxue Feng PROPOSAL
Stacey I WaycottItalyXuxue Feng QUALIFIED
James C FollerRussiaIoni Bowcher QUALIFIED
Morrow O VocelkaCanadaAmy Elsner UNQUALIFIED
Octavia M MarrierItalyIoni Bowcher UNQUALIFIED
Juan U WaycottGermanyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Maria G CampainJapanBernardo Dominic UNQUALIFIED
Emily I CampainGermanyAmy Elsner NEGOTIATION
Misaki G FollerIndiaElwin Sharvill NEGOTIATION
Smith N FollerAustraliaStephen Shaw NEGOTIATION
Emily D DarakjyRussiaAnna Fali RENEWAL
Darci U DoeIndiaOnyama Limba QUALIFIED
Izzy C FerenczCanadaElwin Sharvill UNQUALIFIED
Johnson C BologniaArgentinaElwin Sharvill PROPOSAL
Ricardo F AmigonUnited KingdomStephen Shaw QUALIFIED
Johnson X BowleyItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues K OldroydBrazil2026-10-14Truhlar And Truhlar Attys UNQUALIFIED55Xuxue Feng
1001Claire G KolmetzBrazil2026-10-12Printing Dimensions RENEWAL32Ivan Magalhaes
1002Greenwood T OldroydUnited Kingdom2026-10-18Printing Dimensions PROPOSAL92Stephen Shaw
1003Julie F SergiArgentina2026-10-17Chapman, Ross E Esq PROPOSAL0Ivan Magalhaes
1004Salvatore O MacleadAustralia2026-10-06Buckley Miller Wright UNQUALIFIED29Ivan Magalhaes
1005Kaitlin Y RutaIndia2026-09-29Feiner Bros NEW48Elwin Sharvill
1006Jennifer U TollnerJapan2026-10-09Buckley Miller Wright QUALIFIED66Amy Elsner
1007Arvin R PaprockiSpain2026-09-28Feltz Printing Service NEW48Elwin Sharvill
1008Antonio G VocelkaGermany2026-09-30Chanay, Jeffrey A Esq PROPOSAL10Asiya Javayant
1009Faith R FigeroaBrazil2026-09-30Truhlar And Truhlar Attys UNQUALIFIED91Xuxue Feng
1010Jennifer H PerinSpain2026-10-02Dorl, James J Esq RENEWAL83Xuxue Feng
1011Clifford D ShinkoBrazil2026-10-16Rousseaux, Michael Esq PROPOSAL64Bernardo Dominic
1012Emily L GillianArgentina2026-09-24Printing Dimensions UNQUALIFIED66Onyama Limba
1013Rodrigues C BriddickRussia2026-10-16Chapman, Ross E Esq NEGOTIATION46Asiya Javayant
1014Sinclair J NickaJapan2026-10-21Rousseaux, Michael Esq UNQUALIFIED90Amy Elsner
1015Izzy M GauchoGermany2026-10-03Feiner Bros PROPOSAL53Ioni Bowcher
1016Stacey V ButtAustralia2026-10-22Dorl, James J Esq RENEWAL93Elwin Sharvill
1017Leja H PoquetteFrance2026-10-11Chemel, James L Cpa QUALIFIED5Asiya Javayant
1018James F ChuiItaly2026-10-20Feiner Bros NEW53Elwin Sharvill
1019Maisha T PaprockiBrazil2026-09-29Feiner Bros NEGOTIATION15Elwin Sharvill
1020Nicolas E MacleadJapan2026-10-19Morlong Associates UNQUALIFIED58Ioni Bowcher
1021Emily H RutaItaly2026-09-27Printing Dimensions UNQUALIFIED93Asiya Javayant
1022Julie F FlosiIndia2026-10-01King, Christopher A Esq RENEWAL42Amy Elsner
1023Antonio M RimRussia2026-10-07Feltz Printing Service UNQUALIFIED29Ivan Magalhaes
1024Jefferson Z CaldareraFrance2026-09-27Chapman, Ross E Esq QUALIFIED40Ivan Magalhaes
1025Cody O NestleBrazil2026-10-16Feiner Bros NEGOTIATION14Stephen Shaw
1026Izzy Q BowleyBrazil2026-10-06Rangoni Of Florence NEGOTIATION51Stephen Shaw
1027David X SlusarskiArgentina2026-09-23King, Christopher A Esq NEW12Asiya Javayant
1028Aruna C WaycottGermany2026-10-15Feltz Printing Service NEGOTIATION33Amy Elsner
1029Johnson M RimBrazil2026-10-11Benton, John B Jr QUALIFIED33Asiya Javayant
1030Johnson J SlusarskiFrance2026-10-06Rangoni Of Florence RENEWAL91Elwin Sharvill
1031Nicolas G OstroskyArgentina2026-10-21Feltz Printing Service NEGOTIATION63Asiya Javayant
1032Aditya L NestleRussia2026-10-19Chemel, James L Cpa PROPOSAL49Asiya Javayant
1033Sinclair A SergiBrazil2026-10-08Rangoni Of Florence RENEWAL36Stephen Shaw
1034Silvio W AlbaresSpain2026-09-26Commercial Press NEW46Ivan Magalhaes
1035Mujtaba T RimRussia2026-10-13Dorl, James J Esq UNQUALIFIED32Onyama Limba
1036Aruna C NestleUnited Kingdom2026-09-27Printing Dimensions NEGOTIATION92Ioni Bowcher
1037Kadeem A PaprockiSpain2026-09-30Feltz Printing Service QUALIFIED30Bernardo Dominic
1038Murillo H InouyeJapan2026-10-06Feiner Bros NEW30Amy Elsner
1039Rodrigues R OstroskyRussia2026-10-06Feiner Bros QUALIFIED34Amy Elsner
1040Adams P MaletUnited Kingdom2026-10-04Buckley Miller Wright QUALIFIED21Stephen Shaw
1041Smith U DoeUnited Kingdom2026-10-12Chanay, Jeffrey A Esq UNQUALIFIED67Amy Elsner
1042Izzy Q InouyeAustralia2026-10-10Chemel, James L Cpa UNQUALIFIED54Onyama Limba
1043Isabel R FerenczBrazil2026-10-04Commercial Press QUALIFIED25Asiya Javayant
1044Arvin V MaletUnited Kingdom2026-10-02Feltz Printing Service PROPOSAL32Elwin Sharvill
1045Aditya A BriddickCanada2026-10-18Chapman, Ross E Esq NEGOTIATION72Ivan Magalhaes
1046Aditya Q RoysterIndia2026-10-20Feiner Bros UNQUALIFIED44Asiya Javayant
1047Kaitlin Z SlusarskiCanada2026-09-27Chapman, Ross E Esq NEGOTIATION81Stephen Shaw
1048Clifford Q WhobreyItaly2026-10-11Chapman, Ross E Esq NEW42Bernardo Dominic
1049Murillo Y FollerUnited Kingdom2026-09-28Printing Dimensions NEGOTIATION28Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Smith Z ButtBrazilBernardo Dominic NEGOTIATION
Aditya K VenereGermanyIoni Bowcher UNQUALIFIED
Aditya E CampainFranceAmy Elsner NEW
Isabel K WaycottArgentinaStephen Shaw UNQUALIFIED
Kadeem E CaldareraArgentinaElwin Sharvill NEW
Alejandro P IturbideFranceIoni Bowcher NEGOTIATION
Arvin I GlickGermanyAmy Elsner QUALIFIED
Jones F CaldareraBrazilOnyama Limba NEW
Antonio F MaletCanadaElwin Sharvill RENEWAL
Maria H RulapaughFranceOnyama Limba NEW
Adams J FollerIndiaXuxue Feng RENEWAL
Stacey K KuskoItalyBernardo Dominic RENEWAL
Arvin T CaudySpainOnyama Limba NEW
Greenwood F RoysterGermanyElwin Sharvill NEGOTIATION
Claire W FerenczBrazilBernardo Dominic QUALIFIED
Wickens C FlosiGermanyIoni Bowcher UNQUALIFIED
Misaki K ChuiFranceStephen Shaw NEW
Jennifer M AmigonBrazilIoni Bowcher NEGOTIATION
Ricardo Q WhobreyCanadaIvan Magalhaes PROPOSAL
Ricardo T WieserJapanAmy Elsner RENEWAL
Adams H MacleadBrazilXuxue Feng UNQUALIFIED
Misaki A SaylorsArgentinaBernardo Dominic UNQUALIFIED
Claire A PerinCanadaStephen Shaw NEW
Clifford K VocelkaUnited KingdomAnna Fali UNQUALIFIED
Silvio D MaletFranceStephen Shaw NEGOTIATION
Izzy J StockhamCanadaIoni Bowcher NEW
James U SlusarskiGermanyElwin Sharvill NEGOTIATION
Isabel F ShinkoGermanyIoni Bowcher QUALIFIED
Greenwood V GillianAustraliaBernardo Dominic NEW
Sinclair E NestleItalyElwin Sharvill NEGOTIATION
Jeanfrancois S MaletIndiaOnyama Limba NEW
Cody P WieserSpainIvan Magalhaes QUALIFIED
Aditya L MarrierSpainStephen Shaw QUALIFIED
Kadeem R ChuiSpainIoni Bowcher QUALIFIED
Alejandro J MacleadIndiaBernardo Dominic NEW
Aditya R RutaArgentinaElwin Sharvill NEW
Jones O OldroydBrazilXuxue Feng NEGOTIATION
Jennifer Z RoysterUnited KingdomAmy Elsner QUALIFIED
Clifford N StensethIndiaStephen Shaw PROPOSAL
Ricardo T PerinIndiaXuxue Feng NEGOTIATION
Ricardo V BowleyAustraliaAmy Elsner QUALIFIED
Johnson D NickaAustraliaAsiya Javayant NEW
Cody W CaldareraCanadaIoni Bowcher UNQUALIFIED
Tony U CampainIndiaAmy Elsner QUALIFIED
Antonio G MaletSpainElwin Sharvill NEW
Adams A PerinBrazilXuxue Feng QUALIFIED
Jennifer M SaylorsAustraliaStephen Shaw PROPOSAL
Aika S GarufiRussiaAnna Fali QUALIFIED
Claire T PaprockiGermanyOnyama Limba NEGOTIATION
Aika R RulapaughJapanIvan Magalhaes RENEWAL
Frozen Columns
Name
Antonio R Venere
Maisha N Vocelka
Darci W Whobrey
Munro H Tollner
Kadeem P Butt
Ashley L Garufi
James Q Oldroyd
Greenwood I Kusko
Greenwood X Kolmetz
Mujtaba B Briddick
Silvio Z Malet
Silvio L Saylors
Munro D Kusko
Ivar Y Vocelka
Julie P Briddick
Aruna B Malet
Johnson K Doe
Deepesh G Stockham
David N Kusko
Claire E Kolmetz
Morrow M Malet
Wickens M Slusarski
Chavez N Butt
Aditya L Venere
Faith A Chui
Munro C Gillian
Salvatore X Ferencz
Morrow L Butt
Aditya Q Butt
Greenwood A Caudy
Antonio E Campain
Salvatore J Nicka
Smith I Glick
Nicolas C Vocelka
Tony H Slusarski
Izzy T Nicka
James D Poquette
Ashley U Ferencz
Costa N Saylors
Ivar N Shinko
Stacey E Nicka
Sinclair L Campain
Nicolas K Tollner
Ivar J Kolmetz
Chavez Q Wieser
Maria W Shinko
Kadeem Y Glick
Clifford P Ferencz
Aditya E Poquette
Maisha H Figeroa
IdCountryDate
1000France2026-10-19
1001India2026-10-14
1002United Kingdom2026-09-28
1003Japan2026-10-01
1004Brazil2026-10-10
1005Japan2026-10-19
1006Brazil2026-10-07
1007Australia2026-10-17
1008Argentina2026-10-15
1009Germany2026-09-24
1010Australia2026-10-01
1011Japan2026-10-17
1012Japan2026-10-05
1013Italy2026-10-10
1014Australia2026-10-10
1015Germany2026-09-24
1016Canada2026-09-30
1017Brazil2026-09-23
1018Spain2026-10-19
1019India2026-09-27
1020Canada2026-10-08
1021Spain2026-09-27
1022United Kingdom2026-09-29
1023India2026-10-09
1024Canada2026-10-04
1025Germany2026-10-04
1026Canada2026-10-11
1027Italy2026-10-17
1028Canada2026-10-08
1029United Kingdom2026-09-30
1030Canada2026-09-24
1031Japan2026-10-18
1032India2026-10-19
1033Canada2026-10-04
1034France2026-10-17
1035Brazil2026-10-01
1036United Kingdom2026-10-11
1037Australia2026-10-07
1038Russia2026-10-09
1039Spain2026-10-16
1040Brazil2026-10-22
1041Spain2026-10-11
1042Argentina2026-09-27
1043Germany2026-10-02
1044Brazil2026-09-25
1045Japan2026-10-09
1046Italy2026-09-26
1047Argentina2026-10-20
1048Japan2026-10-03
1049Russia2026-09-24

On-Demand Data

NameIdCountryDate
Johnson F Gillian1000Italy2026-10-13
Aika S Stockham1001India2026-10-14
Izzy Q Figeroa1002Brazil2026-10-06
James E Glick1003Argentina2026-10-17
Kaitlin K Inouye1004Spain2026-10-18
Jeanfrancois J Marrier1005Russia2026-10-16
Cody D Royster1006India2026-10-03
Stacey G Nicka1007Australia2026-10-18
Murillo U Bolognia1008Canada2026-10-13
Stacey C Inouye1009Germany2026-10-08
Emily O Tollner1010Brazil2026-10-05
Kaitlin Q Amigon1011Russia2026-10-08
Smith A Chui1012Argentina2026-09-24
Alejandro U Gillian1013Brazil2026-10-15
Darci R Gaucho1014Argentina2026-10-14
Wickens R Bolognia1015Germany2026-09-26
Jennifer G Royster1016Australia2026-10-22
Alejandro A Caudy1017Canada2026-09-23
Mayumi Y Figeroa1018Brazil2026-10-11
Faith R Garufi1019Argentina2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Z OldroydArgentinaAmy Elsner NEGOTIATION
Rodrigues X MarrierSpainIoni Bowcher QUALIFIED
Alejandro E GlickIndiaStephen Shaw NEW
Johnson Z NickaJapanXuxue Feng RENEWAL
Cody L WaycottUnited KingdomIoni Bowcher RENEWAL
Kadeem D MorascaSpainBernardo Dominic PROPOSAL
Cody J MorascaCanadaAnna Fali NEW
Arvin B StensethFranceStephen Shaw NEGOTIATION
Juan A KolmetzItalyIoni Bowcher RENEWAL
Smith G VenereAustraliaIoni Bowcher NEGOTIATION
Sinclair R SergiCanadaAmy Elsner UNQUALIFIED
Emily Q GillianIndiaStephen Shaw PROPOSAL
Octavia O OldroydArgentinaOnyama Limba PROPOSAL
Claire E CampainSpainAnna Fali PROPOSAL
Nicolas H MorascaSpainXuxue Feng NEW
Kadeem N AlbaresJapanAsiya Javayant PROPOSAL
Rodrigues H VenereBrazilBernardo Dominic QUALIFIED
Isabel V KolmetzGermanyIoni Bowcher UNQUALIFIED
Maisha J MarrierAustraliaBernardo Dominic PROPOSAL
Costa M RimAustraliaIvan Magalhaes NEW
Jones B CampainGermanyAmy Elsner PROPOSAL
Deepesh T GarufiSpainBernardo Dominic PROPOSAL
Nicolas Q TollnerSpainAnna Fali NEGOTIATION
Johnson A KuskoRussiaAmy Elsner NEW
Julie I MarrierJapanIvan Magalhaes NEGOTIATION
Stacey C MaletJapanStephen Shaw UNQUALIFIED
Faith V MaletSpainOnyama Limba RENEWAL
Alejandro O DarakjyCanadaAmy Elsner PROPOSAL
Sinclair L BowleyUnited KingdomAnna Fali NEGOTIATION
Greenwood T BriddickFranceBernardo Dominic RENEWAL
Ashley I VocelkaJapanStephen Shaw UNQUALIFIED
Stacey D IturbideGermanyElwin Sharvill QUALIFIED
Adams X FlosiFranceXuxue Feng NEW
Munro T SaylorsSpainIvan Magalhaes QUALIFIED
Kadeem M FlosiSpainElwin Sharvill RENEWAL
Wickens W PoquetteUnited KingdomIoni Bowcher QUALIFIED
David B SchemmerRussiaAmy Elsner PROPOSAL
Chavez A PerinAustraliaAnna Fali UNQUALIFIED
Munro F SaylorsJapanXuxue Feng QUALIFIED
Deepesh M AlbaresGermanyStephen Shaw NEGOTIATION

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