Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Claire H GauchoFranceIvan Magalhaes RENEWAL
Mayumi W BologniaArgentinaAnna Fali PROPOSAL
Jefferson T NickaFranceAnna Fali RENEWAL
Deepesh P BologniaItalyStephen Shaw NEGOTIATION
Jeanfrancois O NestleAustraliaBernardo Dominic UNQUALIFIED
Greenwood O FollerIndiaIoni Bowcher PROPOSAL
Darci W SergiAustraliaIvan Magalhaes NEGOTIATION
Octavia X PaprockiItalyAsiya Javayant QUALIFIED
Jones H SchemmerJapanElwin Sharvill PROPOSAL
Faith R OldroydFranceBernardo Dominic RENEWAL
Aika T MaletArgentinaIvan Magalhaes RENEWAL
Izzy P FlosiJapanBernardo Dominic RENEWAL
Johnson B PoquetteRussiaStephen Shaw PROPOSAL
Isabel D MaletGermanyOnyama Limba UNQUALIFIED
Morrow D BriddickAustraliaXuxue Feng NEGOTIATION
Arvin A DarakjyIndiaElwin Sharvill PROPOSAL
Maria T FlosiAustraliaElwin Sharvill RENEWAL
Darci N BowleyCanadaAsiya Javayant NEGOTIATION
Alejandro K MacleadArgentinaOnyama Limba QUALIFIED
Juan H BologniaItalyStephen Shaw NEW
Darci M RimGermanyIvan Magalhaes QUALIFIED
Munro W OldroydAustraliaIvan Magalhaes NEW
Faith U WieserRussiaBernardo Dominic NEGOTIATION
Kadeem C OldroydItalyXuxue Feng NEGOTIATION
Smith O KuskoArgentinaIvan Magalhaes NEGOTIATION
Cody K ButtArgentinaAnna Fali NEGOTIATION
Jennifer T TollnerUnited KingdomOnyama Limba RENEWAL
Deepesh E FollerIndiaXuxue Feng UNQUALIFIED
James W CaldareraAustraliaAsiya Javayant PROPOSAL
James S FigeroaSpainAmy Elsner PROPOSAL
David U AmigonSpainAmy Elsner PROPOSAL
David S MaletBrazilAnna Fali NEGOTIATION
Salvatore I OldroydArgentinaAsiya Javayant PROPOSAL
Greenwood W BowleyItalyElwin Sharvill UNQUALIFIED
Munro K GlickCanadaIoni Bowcher PROPOSAL
Aruna B TollnerUnited KingdomStephen Shaw NEW
Silvio S RimCanadaAsiya Javayant QUALIFIED
Clifford I DoeRussiaBernardo Dominic NEGOTIATION
Mujtaba G SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Darci J SaylorsIndiaBernardo Dominic RENEWAL
Juan Z RimFranceAmy Elsner NEGOTIATION
Kadeem B CampainSpainStephen Shaw PROPOSAL
Alejandro B FlosiIndiaIvan Magalhaes NEGOTIATION
Ricardo V GauchoArgentinaAnna Fali QUALIFIED
Juan B ChuiJapanOnyama Limba NEW
Juan R MorascaBrazilIvan Magalhaes RENEWAL
James A WieserCanadaAsiya Javayant PROPOSAL
Adams Y GillianUnited KingdomAsiya Javayant NEW
Chavez H NestleUnited KingdomIoni Bowcher NEGOTIATION
Silvio R RimCanadaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel T GillianIndiaElwin Sharvill NEGOTIATION
Adams H RoysterCanadaElwin Sharvill NEW
Faith X SaylorsRussiaOnyama Limba UNQUALIFIED
Aika S ButtFranceXuxue Feng QUALIFIED
Murillo P NickaUnited KingdomIvan Magalhaes UNQUALIFIED
Costa Z StockhamFranceElwin Sharvill NEGOTIATION
Adams O MorascaFranceElwin Sharvill NEGOTIATION
Darci R SaylorsSpainOnyama Limba NEW
Isabel A MaletUnited KingdomAnna Fali QUALIFIED
Ricardo Y ButtRussiaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey U FollerArgentina2025-07-28Truhlar And Truhlar Attys PROPOSAL21Onyama Limba
1001Aruna T CaldareraRussia2025-07-29Rangoni Of Florence NEW93Stephen Shaw
1002David W OstroskyIndia2025-07-26Feltz Printing Service RENEWAL29Ioni Bowcher
1003Darci P SaylorsJapan2025-08-04Chapman, Ross E Esq NEW24Ioni Bowcher
1004Jefferson C MaletSpain2025-08-04Feiner Bros PROPOSAL22Xuxue Feng
1005Mujtaba Y KuskoUnited Kingdom2025-08-04Rangoni Of Florence RENEWAL21Bernardo Dominic
1006Leja T CampainSpain2025-08-18Printing Dimensions QUALIFIED13Bernardo Dominic
1007Ivar X FerenczFrance2025-08-19Feltz Printing Service UNQUALIFIED45Ivan Magalhaes
1008Arvin Q VenereArgentina2025-08-08Printing Dimensions QUALIFIED22Ioni Bowcher
1009Ashley A RoysterIndia2025-08-04Chanay, Jeffrey A Esq UNQUALIFIED84Asiya Javayant
1010Aruna U FlosiFrance2025-07-27Buckley Miller Wright PROPOSAL26Amy Elsner
1011Munro X VenereArgentina2025-08-03Chanay, Jeffrey A Esq RENEWAL17Xuxue Feng
1012Sinclair W FerenczJapan2025-08-01King, Christopher A Esq NEW41Ioni Bowcher
1013Julie T KuskoJapan2025-07-26King, Christopher A Esq NEW50Ivan Magalhaes
1014Leon J FigeroaBrazil2025-08-08Buckley Miller Wright QUALIFIED95Ioni Bowcher
1015Kadeem I VenereCanada2025-07-30Feiner Bros QUALIFIED27Onyama Limba
1016Smith Q StockhamIndia2025-08-22Feiner Bros RENEWAL1Onyama Limba
1017David L AlbaresJapan2025-08-17Feiner Bros UNQUALIFIED92Ivan Magalhaes
1018James H BologniaRussia2025-08-09King, Christopher A Esq RENEWAL20Stephen Shaw
1019Antonio H KuskoUnited Kingdom2025-08-15Feiner Bros RENEWAL84Bernardo Dominic
1020Costa D IturbideBrazil2025-08-02Printing Dimensions PROPOSAL88Stephen Shaw
1021Aruna Y ShinkoSpain2025-08-12Chapman, Ross E Esq PROPOSAL18Anna Fali
1022Leon M GauchoGermany2025-08-07Rangoni Of Florence RENEWAL89Xuxue Feng
1023Maisha R MaletAustralia2025-08-14King, Christopher A Esq NEW33Stephen Shaw
1024Costa Y PoquetteBrazil2025-08-05Feiner Bros UNQUALIFIED94Xuxue Feng
1025Tony A DoeFrance2025-08-12Commercial Press UNQUALIFIED88Ivan Magalhaes
1026Smith A DoeIndia2025-08-18Rousseaux, Michael Esq QUALIFIED72Amy Elsner
1027Misaki R BriddickSpain2025-08-01Rousseaux, Michael Esq RENEWAL70Ivan Magalhaes
1028Misaki X WieserJapan2025-08-18Benton, John B Jr NEGOTIATION75Stephen Shaw
1029Tony L WaycottJapan2025-08-07Chapman, Ross E Esq RENEWAL71Bernardo Dominic
1030Izzy S PaprockiFrance2025-08-19Chemel, James L Cpa UNQUALIFIED19Xuxue Feng
1031Sinclair L BologniaArgentina2025-07-31Rangoni Of Florence NEW53Ioni Bowcher
1032Nicolas V SlusarskiGermany2025-08-12Truhlar And Truhlar Attys RENEWAL18Elwin Sharvill
1033Stacey B WhobreyRussia2025-08-18Morlong Associates RENEWAL32Xuxue Feng
1034Rodrigues F TollnerAustralia2025-08-12Dorl, James J Esq NEGOTIATION72Xuxue Feng
1035Munro U SlusarskiIndia2025-08-05Truhlar And Truhlar Attys QUALIFIED96Elwin Sharvill
1036Aruna D RulapaughIndia2025-08-18Morlong Associates NEW62Bernardo Dominic
1037Wickens Z FigeroaCanada2025-08-02Chanay, Jeffrey A Esq PROPOSAL4Xuxue Feng
1038Aruna L FlosiArgentina2025-08-18Truhlar And Truhlar Attys NEGOTIATION94Anna Fali
1039Antonio O MacleadGermany2025-08-07Truhlar And Truhlar Attys UNQUALIFIED43Asiya Javayant
1040Ashley E ChuiUnited Kingdom2025-08-20King, Christopher A Esq PROPOSAL64Ioni Bowcher
1041Silvio Z NestleJapan2025-07-30Benton, John B Jr NEGOTIATION15Stephen Shaw
1042Kadeem E MacleadBrazil2025-07-29Feiner Bros UNQUALIFIED24Onyama Limba
1043Francesco Q DilliardFrance2025-07-27Benton, John B Jr PROPOSAL34Elwin Sharvill
1044Johnson U NestleGermany2025-08-16Buckley Miller Wright QUALIFIED70Ivan Magalhaes
1045Alejandro N WhobreyUnited Kingdom2025-08-10Dorl, James J Esq NEW44Ivan Magalhaes
1046Jones I RoysterGermany2025-08-03Chemel, James L Cpa PROPOSAL75Onyama Limba
1047Ricardo O StensethItaly2025-08-02Rangoni Of Florence RENEWAL81Elwin Sharvill
1048Jennifer E MorascaItaly2025-08-05Chemel, James L Cpa UNQUALIFIED73Xuxue Feng
1049Julie D PoquetteIndia2025-08-20Rousseaux, Michael Esq NEGOTIATION50Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ivar F SaylorsRussiaIoni Bowcher NEGOTIATION
Aruna K GauchoCanadaIvan Magalhaes RENEWAL
Nicolas P SchemmerItalyAmy Elsner NEGOTIATION
Johnson C CaudyUnited KingdomAnna Fali NEGOTIATION
Stacey P StockhamBrazilXuxue Feng UNQUALIFIED
Tony G RulapaughRussiaAnna Fali RENEWAL
James U CaldareraFranceIvan Magalhaes NEGOTIATION
Claire B AmigonJapanAsiya Javayant RENEWAL
Aditya L MarrierItalyAnna Fali PROPOSAL
Mayumi A SergiUnited KingdomBernardo Dominic RENEWAL
Ricardo M FerenczRussiaXuxue Feng QUALIFIED
Ashley Y DilliardIndiaAmy Elsner UNQUALIFIED
Emily C ChuiBrazilAnna Fali RENEWAL
Mayumi T FollerCanadaOnyama Limba NEGOTIATION
Antonio W VocelkaCanadaAsiya Javayant PROPOSAL
Smith A MorascaArgentinaAsiya Javayant UNQUALIFIED
Munro E VenereUnited KingdomIoni Bowcher QUALIFIED
Ricardo U SaylorsIndiaIvan Magalhaes PROPOSAL
Jefferson Z FollerAustraliaXuxue Feng QUALIFIED
Stacey I SaylorsCanadaOnyama Limba NEW
Jefferson T WaycottFranceOnyama Limba UNQUALIFIED
Ricardo P RutaCanadaAnna Fali QUALIFIED
Tony P GarufiJapanStephen Shaw PROPOSAL
Salvatore R MaletItalyElwin Sharvill NEW
Leja R NickaItalyBernardo Dominic RENEWAL
Izzy R RimIndiaAnna Fali UNQUALIFIED
Izzy L OstroskyGermanyAnna Fali NEW
David X PerinAustraliaAmy Elsner NEGOTIATION
Jennifer G OstroskyJapanIoni Bowcher QUALIFIED
Aditya U WieserAustraliaBernardo Dominic UNQUALIFIED
Leon N FerenczRussiaStephen Shaw NEW
Clifford P IturbideUnited KingdomBernardo Dominic QUALIFIED
Costa G CampainSpainAnna Fali UNQUALIFIED
Antonio D FollerCanadaBernardo Dominic UNQUALIFIED
Silvio B AmigonUnited KingdomAnna Fali RENEWAL
David I RulapaughAustraliaAsiya Javayant RENEWAL
Munro N KuskoRussiaElwin Sharvill QUALIFIED
Kaitlin L NickaAustraliaAnna Fali NEGOTIATION
Munro Q OldroydAustraliaAsiya Javayant RENEWAL
Arvin M AmigonItalyAsiya Javayant UNQUALIFIED
Jeanfrancois B KolmetzBrazilIvan Magalhaes UNQUALIFIED
Maria I AlbaresCanadaAmy Elsner NEGOTIATION
Kadeem F OstroskyIndiaXuxue Feng PROPOSAL
Greenwood V CaldareraUnited KingdomAsiya Javayant PROPOSAL
David O OstroskyJapanIvan Magalhaes RENEWAL
Julie J VocelkaItalyOnyama Limba UNQUALIFIED
Stacey S RimArgentinaElwin Sharvill NEGOTIATION
Mujtaba H CampainSpainAsiya Javayant UNQUALIFIED
Francesco Z InouyeRussiaElwin Sharvill NEW
Costa R NickaBrazilIoni Bowcher NEW
Frozen Columns
Name
Deepesh D Poquette
Nicolas A Doe
Faith K Slusarski
Jennifer K Slusarski
Clifford X Campain
Mayumi I Caldarera
Arvin Z Ferencz
Tony S Morasca
Mayumi U Caldarera
Ashley M Waycott
Aruna K Malet
Wickens F Glick
Wickens Z Malet
Tony S Garufi
Tony R Gillian
Adams O Chui
Clifford U Stenseth
Ivar I Campain
Julie L Caudy
Murillo Y Dilliard
Clifford B Nestle
Ricardo K Morasca
Isabel Q Albares
Darci J Gaucho
Munro R Bolognia
David V Dilliard
Cody V Iturbide
Isabel F Gaucho
Munro Y Caudy
Alejandro K Morasca
Kaitlin W Bolognia
Mujtaba W Bolognia
Juan G Iturbide
Adams O Venere
Ashley E Dilliard
Emily W Campain
Maria C Ferencz
David W Amigon
Tony T Oldroyd
Greenwood A Oldroyd
Maisha J Saylors
Clifford V Gaucho
Aditya M Amigon
Julie Z Inouye
Mujtaba N Butt
Aruna Y Bowley
Stacey X Whobrey
Silvio C Rulapaugh
Munro V Waycott
Morrow R Schemmer
IdCountryDate
1000Spain2025-08-19
1001Germany2025-08-22
1002Russia2025-08-09
1003Spain2025-08-11
1004Russia2025-08-08
1005Canada2025-08-08
1006France2025-08-04
1007Italy2025-08-11
1008Italy2025-08-11
1009Australia2025-08-20
1010Japan2025-08-09
1011Australia2025-08-15
1012United Kingdom2025-07-29
1013Australia2025-08-24
1014Russia2025-08-09
1015Italy2025-08-24
1016Brazil2025-08-10
1017France2025-08-07
1018Spain2025-08-22
1019Japan2025-08-08
1020Japan2025-08-17
1021France2025-07-29
1022India2025-08-24
1023United Kingdom2025-08-15
1024Brazil2025-08-22
1025Germany2025-07-26
1026India2025-08-17
1027Russia2025-08-22
1028Canada2025-07-27
1029France2025-08-09
1030Italy2025-08-08
1031Brazil2025-08-08
1032Japan2025-08-19
1033Germany2025-08-04
1034Japan2025-08-13
1035Germany2025-08-21
1036Russia2025-07-29
1037Argentina2025-08-16
1038United Kingdom2025-08-07
1039Russia2025-08-06
1040Germany2025-08-02
1041Germany2025-08-16
1042India2025-08-18
1043Argentina2025-07-28
1044Germany2025-08-18
1045Brazil2025-08-23
1046Italy2025-07-26
1047Australia2025-08-02
1048Canada2025-07-29
1049India2025-08-21

On-Demand Data

NameIdCountryDate
Darci R Figeroa1000Japan2025-07-31
Rodrigues Z Tollner1001Italy2025-08-09
Jones H Malet1002United Kingdom2025-07-30
Faith F Maclead1003Argentina2025-08-20
Ricardo U Amigon1004France2025-08-01
Antonio E Briddick1005Australia2025-08-24
Aika U Waycott1006Canada2025-08-14
Jennifer I Nicka1007India2025-08-06
Francesco D Caldarera1008Canada2025-08-05
Jones Y Butt1009Italy2025-08-13
Emily M Wieser1010Canada2025-08-16
Kadeem M Gillian1011Italy2025-08-12
Johnson Z Butt1012Spain2025-08-03
Murillo N Oldroyd1013Japan2025-08-11
Faith U Paprocki1014Japan2025-08-15
Maria U Shinko1015France2025-08-12
Deepesh B Briddick1016Japan2025-08-19
Juan L Campain1017Canada2025-08-14
Nicolas X Vocelka1018India2025-08-16
Ashley S Royster1019Australia2025-08-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan A CaldareraGermanyBernardo Dominic PROPOSAL
Stacey M OstroskyBrazilOnyama Limba NEW
Faith L StensethAustraliaStephen Shaw NEGOTIATION
Kadeem G RimRussiaIoni Bowcher PROPOSAL
Cody G WieserRussiaAnna Fali NEGOTIATION
Mujtaba P DilliardArgentinaXuxue Feng RENEWAL
Jones U TollnerItalyAsiya Javayant NEGOTIATION
Adams D PaprockiAustraliaAmy Elsner RENEWAL
Stacey Y BriddickIndiaStephen Shaw RENEWAL
Darci S StensethGermanyOnyama Limba UNQUALIFIED
Misaki S CampainAustraliaAmy Elsner PROPOSAL
Nicolas I CaldareraSpainBernardo Dominic PROPOSAL
Morrow H AlbaresRussiaAmy Elsner UNQUALIFIED
Darci Z MorascaRussiaStephen Shaw NEGOTIATION
Juan Y ButtCanadaAsiya Javayant NEW
Stacey D InouyeCanadaOnyama Limba NEGOTIATION
Darci C GlickFranceIvan Magalhaes PROPOSAL
Munro Y RulapaughGermanyAsiya Javayant NEW
Aika T FollerIndiaIoni Bowcher QUALIFIED
Claire Z DilliardUnited KingdomAsiya Javayant NEW
Morrow E MarrierArgentinaAnna Fali PROPOSAL
Arvin Y MaletSpainIvan Magalhaes UNQUALIFIED
Faith H KolmetzItalyElwin Sharvill UNQUALIFIED
Tony J GarufiIndiaBernardo Dominic UNQUALIFIED
Munro I CampainAustraliaBernardo Dominic NEGOTIATION
Emily J CampainArgentinaElwin Sharvill QUALIFIED
Mujtaba S StockhamSpainAsiya Javayant UNQUALIFIED
Murillo O KolmetzRussiaAnna Fali RENEWAL
Cody K RulapaughFranceIvan Magalhaes NEW
Johnson M OldroydGermanyAsiya Javayant NEGOTIATION
Ashley L NestleIndiaIoni Bowcher NEGOTIATION
Ricardo Q MacleadArgentinaIoni Bowcher RENEWAL
Jeanfrancois T CaudyArgentinaIoni Bowcher UNQUALIFIED
Adams Y AmigonIndiaAmy Elsner NEW
Ashley B VocelkaAustraliaAsiya Javayant RENEWAL
Adams Q InouyeFranceIvan Magalhaes RENEWAL
Wickens P DarakjyAustraliaAsiya Javayant QUALIFIED
Murillo H RimSpainIoni Bowcher PROPOSAL
Deepesh I GillianJapanXuxue Feng UNQUALIFIED
Julie R PerinUnited KingdomAmy Elsner 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>