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
Julie M SergiUnited KingdomIoni Bowcher QUALIFIED
Arvin P SaylorsAustraliaOnyama Limba NEGOTIATION
Costa K BriddickIndiaOnyama Limba NEGOTIATION
Chavez L RulapaughArgentinaAnna Fali PROPOSAL
Kadeem B CampainItalyAsiya Javayant QUALIFIED
Rodrigues S TollnerRussiaOnyama Limba UNQUALIFIED
Greenwood L PaprockiArgentinaStephen Shaw RENEWAL
Octavia H WhobreyAustraliaIvan Magalhaes RENEWAL
Claire G GillianFranceAsiya Javayant NEGOTIATION
Antonio Z BriddickCanadaAmy Elsner UNQUALIFIED
Alejandro T AmigonArgentinaBernardo Dominic NEGOTIATION
Ashley J NickaGermanyIoni Bowcher PROPOSAL
Silvio Q ChuiJapanOnyama Limba QUALIFIED
Jefferson C KuskoSpainBernardo Dominic QUALIFIED
Costa P FerenczUnited KingdomAmy Elsner NEW
Antonio P DilliardBrazilAsiya Javayant PROPOSAL
Stacey D StockhamSpainBernardo Dominic RENEWAL
Deepesh W MorascaUnited KingdomStephen Shaw PROPOSAL
Darci H WieserAustraliaAmy Elsner RENEWAL
Morrow I BowleyJapanIvan Magalhaes NEW
Leon W ShinkoBrazilStephen Shaw QUALIFIED
Juan D FigeroaSpainElwin Sharvill NEGOTIATION
David M KolmetzFranceBernardo Dominic RENEWAL
Salvatore U KuskoFranceElwin Sharvill NEGOTIATION
Murillo B BowleyGermanyAsiya Javayant RENEWAL
Murillo V RoysterGermanyIvan Magalhaes QUALIFIED
Arvin F PerinGermanyAsiya Javayant NEW
Adams T PerinSpainElwin Sharvill QUALIFIED
Cody R InouyeItalyAnna Fali NEGOTIATION
Antonio Y RoysterItalyXuxue Feng NEGOTIATION
Ashley A GauchoGermanyAmy Elsner RENEWAL
Morrow C CaudyRussiaAnna Fali QUALIFIED
Alejandro J WhobreyArgentinaBernardo Dominic RENEWAL
Morrow L OldroydBrazilAmy Elsner QUALIFIED
Silvio C MaletSpainXuxue Feng UNQUALIFIED
Aditya F WhobreyJapanIoni Bowcher RENEWAL
Claire A FlosiCanadaIvan Magalhaes RENEWAL
Emily U KolmetzBrazilIoni Bowcher NEGOTIATION
Isabel C GarufiItalyOnyama Limba RENEWAL
Darci T GillianGermanyAsiya Javayant NEW
Sinclair A CampainBrazilXuxue Feng RENEWAL
Mayumi L FlosiGermanyIoni Bowcher RENEWAL
Darci Q BriddickArgentinaXuxue Feng PROPOSAL
Munro A GauchoBrazilStephen Shaw UNQUALIFIED
Izzy S FerenczFranceXuxue Feng NEW
Greenwood B DoeSpainOnyama Limba PROPOSAL
Smith W GlickIndiaAnna Fali UNQUALIFIED
Tony B SchemmerItalyAsiya Javayant QUALIFIED
Jones B BriddickArgentinaBernardo Dominic RENEWAL
Greenwood T StensethArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood N BowleyBrazilBernardo Dominic PROPOSAL
Aruna Q GarufiIndiaElwin Sharvill QUALIFIED
Greenwood O WieserUnited KingdomIoni Bowcher NEW
Johnson G ShinkoFranceAsiya Javayant UNQUALIFIED
Johnson D StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Faith T MaletIndiaAmy Elsner PROPOSAL
Misaki P AlbaresAustraliaBernardo Dominic RENEWAL
Kadeem F GlickGermanyAsiya Javayant UNQUALIFIED
Stacey Q NestleBrazilAnna Fali NEGOTIATION
Munro X FlosiIndiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio B SchemmerGermany2025-08-23Truhlar And Truhlar Attys QUALIFIED24Amy Elsner
1001Jones R InouyeFrance2025-08-23Dorl, James J Esq NEW79Stephen Shaw
1002Aruna J MarrierItaly2025-07-31Dorl, James J Esq QUALIFIED63Ioni Bowcher
1003Antonio X FerenczIndia2025-08-12Rousseaux, Michael Esq PROPOSAL40Elwin Sharvill
1004Johnson R KolmetzArgentina2025-08-12Rangoni Of Florence RENEWAL59Bernardo Dominic
1005Octavia R PoquetteJapan2025-07-26Feiner Bros RENEWAL6Xuxue Feng
1006Murillo V FigeroaJapan2025-08-05Commercial Press QUALIFIED72Asiya Javayant
1007Leja D PaprockiGermany2025-08-15Rangoni Of Florence PROPOSAL55Ivan Magalhaes
1008Isabel G GarufiUnited Kingdom2025-08-12Morlong Associates QUALIFIED29Elwin Sharvill
1009Mayumi V WaycottSpain2025-08-21King, Christopher A Esq NEGOTIATION44Onyama Limba
1010David O TollnerCanada2025-08-10Chapman, Ross E Esq PROPOSAL20Xuxue Feng
1011Jones I SaylorsUnited Kingdom2025-08-12Chemel, James L Cpa QUALIFIED37Elwin Sharvill
1012Stacey O BologniaFrance2025-08-12Rousseaux, Michael Esq QUALIFIED70Ivan Magalhaes
1013Costa B GarufiRussia2025-08-08Rousseaux, Michael Esq NEW94Asiya Javayant
1014Ricardo S ChuiGermany2025-08-24Printing Dimensions NEGOTIATION57Onyama Limba
1015Tony D DarakjyFrance2025-08-22Dorl, James J Esq RENEWAL88Onyama Limba
1016Juan F RoysterIndia2025-08-24Commercial Press RENEWAL74Elwin Sharvill
1017Greenwood N VenereArgentina2025-08-13Commercial Press QUALIFIED90Xuxue Feng
1018Cody J KolmetzIndia2025-08-09Benton, John B Jr NEW32Anna Fali
1019Octavia J SlusarskiBrazil2025-08-04Benton, John B Jr PROPOSAL75Onyama Limba
1020Munro A CaldareraAustralia2025-07-28Buckley Miller Wright PROPOSAL96Bernardo Dominic
1021Stacey R SergiUnited Kingdom2025-08-19Morlong Associates NEGOTIATION5Asiya Javayant
1022Jefferson Z OstroskyJapan2025-08-09Morlong Associates QUALIFIED16Anna Fali
1023Antonio C SaylorsJapan2025-08-03Chemel, James L Cpa NEGOTIATION88Bernardo Dominic
1024Nicolas Q GlickSpain2025-08-24Printing Dimensions RENEWAL12Anna Fali
1025Isabel A FollerBrazil2025-08-06Buckley Miller Wright QUALIFIED69Xuxue Feng
1026Maisha P IturbideCanada2025-08-12King, Christopher A Esq RENEWAL0Ivan Magalhaes
1027Jones O GauchoArgentina2025-08-22Chapman, Ross E Esq RENEWAL8Xuxue Feng
1028Murillo G MacleadBrazil2025-08-06Chapman, Ross E Esq RENEWAL43Xuxue Feng
1029David N FerenczUnited Kingdom2025-08-16Benton, John B Jr PROPOSAL96Onyama Limba
1030Aruna D SaylorsFrance2025-08-24Commercial Press QUALIFIED98Asiya Javayant
1031Alejandro O DarakjyFrance2025-08-11Printing Dimensions UNQUALIFIED98Elwin Sharvill
1032Ricardo L NestleBrazil2025-08-23Chemel, James L Cpa NEGOTIATION79Onyama Limba
1033Sinclair O MorascaSpain2025-08-04Feltz Printing Service NEGOTIATION66Onyama Limba
1034Clifford P DilliardFrance2025-08-19King, Christopher A Esq UNQUALIFIED14Onyama Limba
1035Salvatore G PaprockiArgentina2025-08-09Benton, John B Jr RENEWAL43Amy Elsner
1036Mayumi Z GlickFrance2025-08-04Rangoni Of Florence UNQUALIFIED73Stephen Shaw
1037Kaitlin X PaprockiRussia2025-08-17Benton, John B Jr RENEWAL71Onyama Limba
1038Jennifer Z InouyeFrance2025-08-03Chemel, James L Cpa QUALIFIED50Bernardo Dominic
1039Morrow E SergiArgentina2025-08-01Chanay, Jeffrey A Esq PROPOSAL84Asiya Javayant
1040Aditya S RulapaughCanada2025-08-23Chemel, James L Cpa PROPOSAL44Xuxue Feng
1041Ashley T RulapaughSpain2025-08-10Benton, John B Jr NEW24Asiya Javayant
1042Arvin J MaletRussia2025-08-08Morlong Associates UNQUALIFIED98Ioni Bowcher
1043Darci V RimIndia2025-08-10Chapman, Ross E Esq NEW37Onyama Limba
1044Octavia F FigeroaFrance2025-08-14Chanay, Jeffrey A Esq NEW82Xuxue Feng
1045Rodrigues L MaletUnited Kingdom2025-07-28Printing Dimensions NEW51Anna Fali
1046Clifford S PaprockiUnited Kingdom2025-08-20Printing Dimensions RENEWAL64Onyama Limba
1047Johnson H SlusarskiGermany2025-08-14Feiner Bros RENEWAL18Amy Elsner
1048Ashley B TollnerUnited Kingdom2025-08-05Dorl, James J Esq RENEWAL41Stephen Shaw
1049David R GillianJapan2025-08-17Morlong Associates PROPOSAL69Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Izzy X SergiIndiaElwin Sharvill NEW
Isabel D FollerAustraliaXuxue Feng NEGOTIATION
Ricardo D GauchoRussiaIvan Magalhaes NEGOTIATION
Rodrigues U RimBrazilIoni Bowcher RENEWAL
Aruna Y DarakjyRussiaAsiya Javayant QUALIFIED
Mujtaba G KolmetzIndiaStephen Shaw NEGOTIATION
Morrow P MaletIndiaStephen Shaw NEGOTIATION
Octavia P BowleySpainBernardo Dominic QUALIFIED
Misaki B FollerGermanyBernardo Dominic RENEWAL
Nicolas B NickaGermanyBernardo Dominic NEGOTIATION
Salvatore T WhobreyArgentinaAmy Elsner UNQUALIFIED
James G DilliardIndiaXuxue Feng NEGOTIATION
Octavia P DarakjySpainOnyama Limba NEGOTIATION
Francesco N SlusarskiAustraliaAnna Fali NEGOTIATION
Misaki N StensethIndiaElwin Sharvill RENEWAL
Izzy H CaudySpainElwin Sharvill NEGOTIATION
Octavia R DarakjyRussiaElwin Sharvill NEW
Morrow I RoysterFranceXuxue Feng PROPOSAL
Aditya U WaycottAustraliaXuxue Feng NEW
Francesco R BologniaAustraliaAsiya Javayant NEGOTIATION
Kaitlin D SlusarskiFranceElwin Sharvill RENEWAL
Arvin R VocelkaRussiaBernardo Dominic QUALIFIED
Jeanfrancois J WieserRussiaIvan Magalhaes QUALIFIED
Salvatore W WaycottBrazilAmy Elsner NEGOTIATION
Kaitlin H GillianGermanyAsiya Javayant NEW
Kadeem E KolmetzFranceBernardo Dominic PROPOSAL
Jennifer X WaycottGermanyAsiya Javayant PROPOSAL
Aditya I KolmetzArgentinaAsiya Javayant RENEWAL
Francesco V RoysterGermanyIoni Bowcher UNQUALIFIED
Jefferson F SaylorsGermanyAmy Elsner NEGOTIATION
Wickens P RulapaughIndiaIoni Bowcher UNQUALIFIED
Francesco F WaycottRussiaAnna Fali NEGOTIATION
Munro O InouyeRussiaElwin Sharvill UNQUALIFIED
Julie C NickaSpainXuxue Feng NEGOTIATION
Juan J ShinkoSpainOnyama Limba NEW
Greenwood Y KuskoGermanyAnna Fali UNQUALIFIED
Jeanfrancois K RimGermanyStephen Shaw PROPOSAL
Aditya D BriddickRussiaStephen Shaw NEGOTIATION
Maisha N MorascaSpainIoni Bowcher UNQUALIFIED
Ashley L ButtArgentinaAsiya Javayant QUALIFIED
Murillo B SchemmerJapanIoni Bowcher NEGOTIATION
Maisha W SchemmerCanadaOnyama Limba UNQUALIFIED
Maisha B StensethRussiaStephen Shaw QUALIFIED
Leon B IturbideSpainAsiya Javayant RENEWAL
Jones L ButtCanadaStephen Shaw QUALIFIED
Claire A WieserItalyAnna Fali UNQUALIFIED
Jones W MorascaCanadaStephen Shaw PROPOSAL
Alejandro U WhobreyAustraliaBernardo Dominic UNQUALIFIED
Ricardo S BriddickUnited KingdomAsiya Javayant NEGOTIATION
Isabel L MorascaArgentinaElwin Sharvill QUALIFIED
Frozen Columns
Name
Emily O Inouye
Cody N Doe
Octavia P Paprocki
Jefferson F Nestle
Emily L Doe
Leja G Maclead
Isabel S Schemmer
Morrow E Schemmer
Sinclair H Venere
Isabel N Ostrosky
Aruna S Kolmetz
Cody L Vocelka
Leon O Glick
Johnson I Marrier
Alejandro U Rulapaugh
Mujtaba Y Caldarera
Aruna Q Poquette
Arvin J Rim
Jefferson C Kusko
Francesco I Sergi
Misaki P Nicka
Misaki N Bowley
Juan B Marrier
Faith F Bolognia
Darci N Kolmetz
Antonio V Oldroyd
Izzy I Shinko
Johnson T Shinko
Johnson I Iturbide
Clifford L Gaucho
Octavia M Campain
Aika I Dilliard
Johnson Z Darakjy
Johnson I Tollner
Tony K Figeroa
Aruna X Glick
Costa K Gaucho
Isabel U Paprocki
Chavez Z Venere
Greenwood I Butt
Chavez X Caudy
Morrow X Butt
Mujtaba U Whobrey
Stacey P Malet
Deepesh R Malet
Maisha M Inouye
Aika Q Marrier
Morrow R Shinko
Murillo H Vocelka
Tony D Ferencz
IdCountryDate
1000Spain2025-08-13
1001Spain2025-08-10
1002Canada2025-08-16
1003Russia2025-08-19
1004Spain2025-08-18
1005Italy2025-08-07
1006Australia2025-07-30
1007Spain2025-07-28
1008Russia2025-07-28
1009Australia2025-08-09
1010United Kingdom2025-07-30
1011France2025-08-06
1012United Kingdom2025-08-14
1013India2025-08-17
1014Italy2025-07-28
1015Spain2025-08-01
1016United Kingdom2025-08-03
1017France2025-08-24
1018Argentina2025-08-04
1019United Kingdom2025-07-26
1020France2025-08-22
1021Russia2025-08-24
1022Canada2025-08-19
1023India2025-08-20
1024Argentina2025-08-09
1025Spain2025-08-11
1026India2025-07-26
1027Japan2025-08-15
1028Argentina2025-08-02
1029Italy2025-08-21
1030Brazil2025-07-28
1031Russia2025-08-03
1032Argentina2025-08-08
1033India2025-08-14
1034United Kingdom2025-08-02
1035Japan2025-08-24
1036United Kingdom2025-08-04
1037Italy2025-08-05
1038Argentina2025-07-26
1039Australia2025-07-31
1040India2025-07-26
1041Brazil2025-08-12
1042Spain2025-08-12
1043Spain2025-08-23
1044Germany2025-08-02
1045Germany2025-08-20
1046United Kingdom2025-08-06
1047Italy2025-08-11
1048Argentina2025-08-13
1049India2025-08-05

On-Demand Data

NameIdCountryDate
Juan Z Poquette1000Spain2025-08-24
Silvio F Waycott1001India2025-08-01
Maisha Z Whobrey1002Germany2025-07-30
Antonio M Slusarski1003Argentina2025-07-28
James V Marrier1004France2025-08-11
Ivar R Doe1005Brazil2025-08-05
Ashley U Marrier1006Canada2025-08-23
Deepesh G Maclead1007Brazil2025-08-22
Sinclair W Vocelka1008India2025-08-20
Leja T Caudy1009United Kingdom2025-07-27
Aika H Nestle1010Canada2025-08-12
Chavez T Caudy1011Japan2025-08-21
Isabel N Dilliard1012France2025-08-21
Juan H Rim1013Spain2025-08-04
Alejandro Y Waycott1014Argentina2025-08-19
Mayumi V Marrier1015Argentina2025-08-21
Salvatore V Bolognia1016Russia2025-08-06
Tony O Garufi1017India2025-08-21
Aditya W Nestle1018India2025-08-12
Nicolas I Figeroa1019Argentina2025-08-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio H GlickGermanyAnna Fali NEGOTIATION
Izzy J NestleBrazilIoni Bowcher UNQUALIFIED
Silvio Y CampainArgentinaAsiya Javayant PROPOSAL
Darci J GlickIndiaOnyama Limba QUALIFIED
Morrow F StockhamUnited KingdomOnyama Limba RENEWAL
Alejandro A IturbideIndiaIvan Magalhaes UNQUALIFIED
Arvin N GarufiBrazilBernardo Dominic PROPOSAL
Arvin X KolmetzFranceIvan Magalhaes PROPOSAL
Costa D SaylorsGermanyStephen Shaw NEW
Arvin H CampainBrazilStephen Shaw RENEWAL
Ashley Y StockhamAustraliaStephen Shaw QUALIFIED
Francesco U InouyeSpainIoni Bowcher NEGOTIATION
Emily V MorascaCanadaAsiya Javayant PROPOSAL
Clifford D RulapaughArgentinaAmy Elsner RENEWAL
Mujtaba M OldroydCanadaIoni Bowcher NEW
David F SaylorsItalyXuxue Feng UNQUALIFIED
Arvin U SaylorsFranceAsiya Javayant NEGOTIATION
Munro K VenereSpainOnyama Limba NEGOTIATION
Deepesh I AlbaresIndiaAnna Fali RENEWAL
Nicolas P KolmetzFranceAnna Fali NEW
Ashley K RulapaughIndiaStephen Shaw NEW
Antonio U GauchoIndiaStephen Shaw UNQUALIFIED
James E MaletBrazilOnyama Limba NEGOTIATION
Chavez Q WieserUnited KingdomIvan Magalhaes PROPOSAL
Jennifer U MarrierRussiaStephen Shaw PROPOSAL
Deepesh S RimBrazilAnna Fali PROPOSAL
Aruna D SchemmerUnited KingdomOnyama Limba PROPOSAL
Jones V CampainRussiaAnna Fali RENEWAL
Jones Y FigeroaFranceStephen Shaw PROPOSAL
Alejandro D CampainAustraliaIvan Magalhaes NEGOTIATION
Stacey F ButtAustraliaBernardo Dominic RENEWAL
Sinclair M VenereSpainIvan Magalhaes RENEWAL
Wickens R OldroydGermanyIoni Bowcher UNQUALIFIED
James X MarrierIndiaAmy Elsner PROPOSAL
Jefferson G CampainRussiaXuxue Feng RENEWAL
David O StensethAustraliaElwin Sharvill PROPOSAL
Johnson C FlosiGermanyAnna Fali RENEWAL
Ashley H WieserItalyXuxue Feng PROPOSAL
Greenwood Z FigeroaRussiaXuxue Feng NEW
Emily K SaylorsUnited KingdomXuxue Feng PROPOSAL

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