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
Costa J DoeRussiaAsiya Javayant UNQUALIFIED
James G SlusarskiIndiaAsiya Javayant NEGOTIATION
Emily A RulapaughArgentinaXuxue Feng RENEWAL
David K MarrierAustraliaStephen Shaw NEGOTIATION
Clifford Q MacleadFranceBernardo Dominic PROPOSAL
Costa M StockhamArgentinaElwin Sharvill PROPOSAL
Aruna E MarrierGermanyXuxue Feng NEW
Antonio V RulapaughJapanBernardo Dominic NEGOTIATION
Kaitlin J WhobreyCanadaBernardo Dominic RENEWAL
Clifford F DoeGermanyIoni Bowcher UNQUALIFIED
Mujtaba P SlusarskiAustraliaElwin Sharvill PROPOSAL
Morrow Z RutaIndiaXuxue Feng RENEWAL
Aruna H ShinkoArgentinaXuxue Feng NEW
Kaitlin Z VenereUnited KingdomAnna Fali NEGOTIATION
Maisha P RimGermanyStephen Shaw PROPOSAL
Claire F IturbideFranceIvan Magalhaes RENEWAL
Aika T GlickGermanyOnyama Limba NEGOTIATION
Aditya T MorascaCanadaStephen Shaw NEW
Leon Y SlusarskiIndiaAmy Elsner UNQUALIFIED
James Q GillianJapanAmy Elsner PROPOSAL
Octavia J KolmetzItalyAmy Elsner PROPOSAL
Antonio I SergiArgentinaElwin Sharvill PROPOSAL
Juan N VocelkaAustraliaXuxue Feng RENEWAL
Jennifer G MarrierAustraliaXuxue Feng NEW
Misaki E NestleIndiaXuxue Feng PROPOSAL
Aruna E AlbaresBrazilOnyama Limba RENEWAL
Juan V FollerRussiaAnna Fali PROPOSAL
Mayumi M FlosiGermanyBernardo Dominic UNQUALIFIED
Jefferson T PoquetteIndiaOnyama Limba NEGOTIATION
Faith X PoquetteIndiaIoni Bowcher NEW
Clifford G TollnerBrazilIoni Bowcher UNQUALIFIED
Deepesh T MacleadFranceIvan Magalhaes QUALIFIED
Izzy Z DilliardJapanAmy Elsner NEGOTIATION
Kaitlin J GarufiSpainOnyama Limba PROPOSAL
Silvio Z DarakjyArgentinaAnna Fali NEGOTIATION
Aruna E StockhamArgentinaElwin Sharvill NEW
Julie C StensethCanadaAnna Fali RENEWAL
Smith Q DilliardItalyAnna Fali UNQUALIFIED
Ricardo Q AlbaresGermanyIvan Magalhaes RENEWAL
David H MorascaUnited KingdomStephen Shaw QUALIFIED
Antonio X SchemmerSpainAsiya Javayant NEW
Octavia I GlickArgentinaAsiya Javayant QUALIFIED
Aruna A MaletUnited KingdomBernardo Dominic NEGOTIATION
Johnson F BriddickSpainOnyama Limba UNQUALIFIED
Juan T PoquetteArgentinaAmy Elsner QUALIFIED
Isabel U IturbideFranceOnyama Limba UNQUALIFIED
Ashley N AmigonCanadaIoni Bowcher NEW
Stacey T DarakjyGermanyAmy Elsner UNQUALIFIED
Claire C VenereArgentinaXuxue Feng QUALIFIED
Julie G VenereGermanyAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody C SlusarskiAustraliaOnyama Limba RENEWAL
Claire W GauchoJapanAnna Fali PROPOSAL
Silvio B FollerIndiaIvan Magalhaes NEGOTIATION
Leon I FigeroaUnited KingdomOnyama Limba NEW
Johnson H KolmetzGermanyOnyama Limba NEW
Wickens C ButtFranceBernardo Dominic RENEWAL
Nicolas D StockhamArgentinaIoni Bowcher NEGOTIATION
Maisha A SergiSpainBernardo Dominic RENEWAL
Deepesh Z SergiUnited KingdomXuxue Feng PROPOSAL
Deepesh H MorascaCanadaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro J GarufiAustralia2025-09-22Commercial Press NEGOTIATION35Stephen Shaw
1001Jefferson X KuskoItaly2025-10-15Feiner Bros NEW1Onyama Limba
1002Costa L VenereFrance2025-09-21Printing Dimensions QUALIFIED85Stephen Shaw
1003Jennifer H BowleyRussia2025-10-07Feltz Printing Service PROPOSAL42Onyama Limba
1004Tony I FerenczBrazil2025-10-12Buckley Miller Wright UNQUALIFIED43Anna Fali
1005Aruna T FerenczItaly2025-09-18Chanay, Jeffrey A Esq QUALIFIED73Amy Elsner
1006Munro J SaylorsCanada2025-10-17Printing Dimensions PROPOSAL81Bernardo Dominic
1007Johnson Y MarrierFrance2025-09-27Truhlar And Truhlar Attys UNQUALIFIED3Xuxue Feng
1008Chavez J DoeGermany2025-09-25Chapman, Ross E Esq NEW51Elwin Sharvill
1009Leja J ButtFrance2025-10-13Feltz Printing Service NEW27Ioni Bowcher
1010Smith B SlusarskiBrazil2025-10-03Benton, John B Jr NEGOTIATION36Amy Elsner
1011Jennifer M CampainArgentina2025-09-29Chanay, Jeffrey A Esq QUALIFIED42Xuxue Feng
1012Isabel E MacleadRussia2025-10-12Rousseaux, Michael Esq UNQUALIFIED54Bernardo Dominic
1013Juan H RimSpain2025-09-19Chemel, James L Cpa UNQUALIFIED33Ioni Bowcher
1014Jeanfrancois Q KolmetzJapan2025-10-16Printing Dimensions RENEWAL96Ioni Bowcher
1015Deepesh F MaletArgentina2025-09-29Chemel, James L Cpa QUALIFIED27Ivan Magalhaes
1016Nicolas U AmigonJapan2025-10-17Chemel, James L Cpa QUALIFIED22Xuxue Feng
1017Munro G MacleadUnited Kingdom2025-09-21Dorl, James J Esq QUALIFIED19Elwin Sharvill
1018Faith Q GlickJapan2025-09-28Dorl, James J Esq NEGOTIATION27Xuxue Feng
1019Cody D BologniaJapan2025-10-07Printing Dimensions RENEWAL33Xuxue Feng
1020Adams J GlickJapan2025-10-07Feltz Printing Service NEW58Ioni Bowcher
1021Antonio W BriddickItaly2025-09-26Rangoni Of Florence PROPOSAL12Xuxue Feng
1022Tony C StockhamIndia2025-09-22Benton, John B Jr QUALIFIED55Stephen Shaw
1023Juan C DilliardSpain2025-10-13Rangoni Of Florence NEGOTIATION27Elwin Sharvill
1024Darci T GauchoFrance2025-09-24Printing Dimensions PROPOSAL47Ivan Magalhaes
1025Claire A PerinArgentina2025-10-14Buckley Miller Wright NEGOTIATION59Elwin Sharvill
1026Leja W DoeAustralia2025-09-18Printing Dimensions NEW40Bernardo Dominic
1027Mujtaba I ShinkoIndia2025-09-18Feiner Bros RENEWAL62Anna Fali
1028Maria X IturbideRussia2025-09-26Chapman, Ross E Esq RENEWAL71Anna Fali
1029Stacey Q BologniaAustralia2025-09-19Feltz Printing Service RENEWAL25Anna Fali
1030Ricardo N FlosiRussia2025-10-15Feltz Printing Service UNQUALIFIED42Anna Fali
1031David X DoeAustralia2025-09-23Benton, John B Jr NEW74Xuxue Feng
1032Aika Q FollerAustralia2025-09-29Benton, John B Jr NEW41Anna Fali
1033Maisha Y FerenczIndia2025-10-02Truhlar And Truhlar Attys PROPOSAL7Ioni Bowcher
1034Claire M GauchoBrazil2025-09-20Feltz Printing Service NEW89Xuxue Feng
1035Chavez T BologniaJapan2025-09-25Dorl, James J Esq NEGOTIATION88Asiya Javayant
1036Leon E FlosiArgentina2025-10-11Feiner Bros NEGOTIATION78Stephen Shaw
1037Jennifer P BowleyAustralia2025-10-13Chanay, Jeffrey A Esq NEW65Stephen Shaw
1038Nicolas M GlickRussia2025-09-28Feiner Bros NEW1Xuxue Feng
1039Jennifer J DarakjyCanada2025-10-01Rousseaux, Michael Esq QUALIFIED13Ivan Magalhaes
1040Aika H AmigonBrazil2025-10-01Dorl, James J Esq QUALIFIED69Ivan Magalhaes
1041Octavia I MaletIndia2025-10-14Rangoni Of Florence UNQUALIFIED17Asiya Javayant
1042Octavia D PerinArgentina2025-10-04Feiner Bros UNQUALIFIED24Onyama Limba
1043Sinclair Y ChuiUnited Kingdom2025-10-14Chapman, Ross E Esq PROPOSAL45Ioni Bowcher
1044Sinclair D FerenczItaly2025-09-20King, Christopher A Esq NEGOTIATION7Ivan Magalhaes
1045Chavez W IturbideRussia2025-10-17Morlong Associates QUALIFIED60Bernardo Dominic
1046Octavia L DilliardAustralia2025-10-08Chemel, James L Cpa QUALIFIED27Anna Fali
1047Salvatore K ChuiGermany2025-10-09Printing Dimensions UNQUALIFIED9Bernardo Dominic
1048Jones U PaprockiUnited Kingdom2025-09-23Feltz Printing Service PROPOSAL87Asiya Javayant
1049Ivar Z FlosiCanada2025-09-29Benton, John B Jr PROPOSAL60Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Leja B BologniaIndiaIvan Magalhaes RENEWAL
Smith U GlickAustraliaIvan Magalhaes UNQUALIFIED
Isabel Y RulapaughSpainAsiya Javayant NEW
Faith X GarufiBrazilAsiya Javayant PROPOSAL
Stacey G KolmetzAustraliaAnna Fali QUALIFIED
James C VenereBrazilStephen Shaw PROPOSAL
Johnson Q BowleyJapanXuxue Feng NEW
Costa P FlosiIndiaStephen Shaw QUALIFIED
Greenwood W CaudyAustraliaOnyama Limba UNQUALIFIED
Jones G GarufiBrazilIvan Magalhaes QUALIFIED
Chavez Z SchemmerJapanBernardo Dominic RENEWAL
Sinclair Z MacleadJapanBernardo Dominic UNQUALIFIED
Maisha G NickaCanadaAnna Fali NEGOTIATION
Costa V GillianArgentinaAsiya Javayant UNQUALIFIED
Maria S InouyeBrazilIoni Bowcher QUALIFIED
Maria I NestleCanadaBernardo Dominic UNQUALIFIED
Jennifer R PaprockiAustraliaAmy Elsner QUALIFIED
Aruna S NestleCanadaIoni Bowcher NEGOTIATION
Ivar F GlickJapanBernardo Dominic PROPOSAL
Kaitlin H KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Maisha K CampainFranceAmy Elsner RENEWAL
Aika J DarakjySpainIvan Magalhaes NEW
Wickens D MorascaArgentinaAsiya Javayant QUALIFIED
Ivar I CaldareraIndiaStephen Shaw PROPOSAL
Maisha M SchemmerAustraliaAmy Elsner NEGOTIATION
Leja Y StensethBrazilStephen Shaw RENEWAL
Salvatore K DilliardCanadaIvan Magalhaes UNQUALIFIED
Aditya G ButtGermanyIvan Magalhaes UNQUALIFIED
Murillo X StockhamItalyBernardo Dominic NEGOTIATION
Murillo F PerinFranceXuxue Feng PROPOSAL
Jennifer T MaletUnited KingdomElwin Sharvill NEW
Jennifer D CaudyJapanAmy Elsner QUALIFIED
Isabel V VenereGermanyIvan Magalhaes QUALIFIED
Adams R NickaIndiaIoni Bowcher RENEWAL
Cody G CaldareraIndiaOnyama Limba NEGOTIATION
Octavia K MaletItalyAnna Fali PROPOSAL
Maria T MaletItalyAnna Fali UNQUALIFIED
Kadeem N BowleyUnited KingdomIvan Magalhaes NEW
Kadeem R SlusarskiItalyBernardo Dominic UNQUALIFIED
Silvio T CampainRussiaOnyama Limba RENEWAL
Rodrigues Z GarufiJapanBernardo Dominic PROPOSAL
Rodrigues X PerinItalyIoni Bowcher PROPOSAL
Stacey L PoquetteJapanAnna Fali PROPOSAL
Mayumi J WieserArgentinaElwin Sharvill UNQUALIFIED
Leon I PerinCanadaStephen Shaw UNQUALIFIED
Ashley E GarufiFranceElwin Sharvill UNQUALIFIED
Jennifer M ButtGermanyAmy Elsner NEGOTIATION
Kadeem H TollnerGermanyStephen Shaw NEGOTIATION
Misaki J WaycottFranceIvan Magalhaes UNQUALIFIED
Julie H VocelkaUnited KingdomOnyama Limba NEW
Frozen Columns
Name
Tony W Paprocki
Darci Z Rulapaugh
Salvatore W Malet
Kaitlin R Figeroa
Mayumi G Waycott
Darci L Vocelka
Smith G Ostrosky
Izzy C Whobrey
Mujtaba O Ostrosky
Tony S Gillian
Misaki D Glick
Alejandro J Nestle
Morrow X Amigon
James Z Slusarski
Leon G Malet
Chavez R Shinko
Murillo J Marrier
Costa X Figeroa
Claire M Nicka
David O Marrier
Costa M Perin
Salvatore Z Perin
Johnson N Tollner
Alejandro W Nicka
Costa S Dilliard
Francesco F Iturbide
Jones L Oldroyd
Jefferson E Garufi
Morrow Q Doe
Leja O Morasca
Misaki X Oldroyd
David M Waycott
Kadeem F Ruta
Adams H Doe
Arvin J Marrier
Juan Y Bolognia
Kadeem P Tollner
Cody U Rim
Rodrigues J Bowley
Stacey E Maclead
Ricardo M Oldroyd
Claire Q Campain
Maria P Royster
Tony Y Malet
Kadeem D Ferencz
Aika L Foller
Emily D Chui
Tony N Rulapaugh
Ashley O Nicka
Mayumi U Sergi
IdCountryDate
1000Australia2025-09-25
1001India2025-09-27
1002United Kingdom2025-09-22
1003France2025-10-07
1004Brazil2025-10-15
1005Brazil2025-10-03
1006Spain2025-09-24
1007Argentina2025-10-01
1008Argentina2025-09-19
1009United Kingdom2025-10-04
1010Russia2025-09-20
1011Russia2025-09-18
1012Brazil2025-10-14
1013Italy2025-10-04
1014India2025-10-13
1015Italy2025-09-23
1016Japan2025-09-22
1017Brazil2025-10-16
1018Canada2025-10-01
1019France2025-09-25
1020France2025-10-08
1021Japan2025-10-14
1022Germany2025-10-05
1023France2025-10-14
1024Brazil2025-09-21
1025Italy2025-09-25
1026Spain2025-10-11
1027Germany2025-09-23
1028United Kingdom2025-09-23
1029Germany2025-09-30
1030Argentina2025-09-24
1031Argentina2025-09-21
1032Argentina2025-09-30
1033India2025-10-02
1034Brazil2025-10-05
1035Canada2025-09-27
1036France2025-10-02
1037Brazil2025-10-04
1038India2025-09-28
1039India2025-10-10
1040Italy2025-09-22
1041Russia2025-10-17
1042Australia2025-10-15
1043Spain2025-10-03
1044Russia2025-09-23
1045France2025-10-09
1046Brazil2025-09-19
1047Canada2025-09-22
1048France2025-10-16
1049Australia2025-10-16

On-Demand Data

NameIdCountryDate
Maisha F Waycott1000Spain2025-09-28
Adams H Albares1001Spain2025-09-28
Jeanfrancois D Caudy1002United Kingdom2025-09-25
Alejandro P Stenseth1003Canada2025-10-07
Antonio C Wieser1004Germany2025-10-04
Morrow H Saylors1005Japan2025-09-27
Alejandro P Inouye1006Canada2025-09-21
Greenwood E Bowley1007Brazil2025-09-22
Chavez F Caldarera1008Japan2025-10-13
Aditya C Butt1009Germany2025-09-25
Smith H Rulapaugh1010Australia2025-09-20
Rodrigues T Foller1011India2025-10-14
Faith S Foller1012India2025-09-23
Maria K Bolognia1013Russia2025-09-28
Mayumi U Foller1014India2025-09-25
Jefferson T Malet1015Italy2025-10-17
Maria X Paprocki1016Brazil2025-09-29
Smith V Whobrey1017Argentina2025-09-19
Maria G Slusarski1018Italy2025-10-17
Leja P Kusko1019Argentina2025-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo A TollnerCanadaAsiya Javayant NEW
Arvin L IturbideArgentinaBernardo Dominic NEGOTIATION
Leon Y FollerSpainIoni Bowcher QUALIFIED
Jefferson S SergiArgentinaIoni Bowcher NEW
Leja K BriddickItalyAmy Elsner RENEWAL
Morrow B KolmetzGermanyBernardo Dominic PROPOSAL
Ricardo E NestleCanadaBernardo Dominic NEW
Rodrigues Q FlosiIndiaAnna Fali RENEWAL
Kadeem R RutaJapanElwin Sharvill QUALIFIED
Kadeem J CaldareraIndiaXuxue Feng PROPOSAL
Francesco S OstroskyIndiaOnyama Limba UNQUALIFIED
Clifford S DoeSpainAsiya Javayant NEGOTIATION
Isabel F AmigonBrazilBernardo Dominic UNQUALIFIED
Jones F StensethRussiaBernardo Dominic QUALIFIED
Aika Y KuskoGermanyAnna Fali NEGOTIATION
James R CampainSpainStephen Shaw RENEWAL
Sinclair O GlickIndiaAnna Fali PROPOSAL
Morrow G StockhamJapanIvan Magalhaes UNQUALIFIED
Arvin O CampainArgentinaAsiya Javayant PROPOSAL
Sinclair P NickaJapanBernardo Dominic UNQUALIFIED
Ashley D StensethAustraliaBernardo Dominic QUALIFIED
Munro K SlusarskiAustraliaIoni Bowcher RENEWAL
Isabel I IturbideAustraliaOnyama Limba PROPOSAL
Misaki O PerinSpainElwin Sharvill NEW
Mujtaba V PaprockiArgentinaOnyama Limba NEGOTIATION
James M WaycottRussiaElwin Sharvill QUALIFIED
Nicolas G FerenczUnited KingdomStephen Shaw UNQUALIFIED
Deepesh Y RulapaughFranceStephen Shaw NEGOTIATION
Ashley X FerenczBrazilIoni Bowcher QUALIFIED
Kadeem O MacleadSpainIvan Magalhaes NEGOTIATION
Jones W PaprockiFranceAmy Elsner QUALIFIED
Salvatore J AlbaresRussiaAsiya Javayant RENEWAL
Ivar O MaletUnited KingdomElwin Sharvill UNQUALIFIED
Stacey O AlbaresUnited KingdomStephen Shaw QUALIFIED
Ivar X WhobreyCanadaAnna Fali UNQUALIFIED
Munro N DarakjyArgentinaIoni Bowcher NEW
Silvio E GarufiBrazilAsiya Javayant NEGOTIATION
Smith E WhobreyArgentinaAmy Elsner NEW
Chavez Q OldroydFranceStephen Shaw NEW
Adams D SlusarskiAustraliaBernardo Dominic 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>