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
Maisha K RutaRussiaIvan Magalhaes NEGOTIATION
David E AmigonGermanyBernardo Dominic NEW
Emily B GarufiFranceAmy Elsner RENEWAL
Emily R CampainAustraliaXuxue Feng UNQUALIFIED
Ricardo U RimRussiaStephen Shaw PROPOSAL
Deepesh Z GauchoRussiaAnna Fali UNQUALIFIED
Aditya B RulapaughJapanOnyama Limba NEGOTIATION
Arvin E RimAustraliaAnna Fali QUALIFIED
Jeanfrancois B BologniaBrazilStephen Shaw NEGOTIATION
Darci T BologniaAustraliaAnna Fali RENEWAL
Darci Y GarufiBrazilAnna Fali NEGOTIATION
Ashley F PaprockiRussiaXuxue Feng QUALIFIED
Jeanfrancois L StockhamRussiaAmy Elsner NEW
Ivar Z StockhamUnited KingdomElwin Sharvill NEW
Costa H CampainAustraliaIvan Magalhaes QUALIFIED
Izzy V SergiUnited KingdomAmy Elsner NEW
Maria F WieserBrazilXuxue Feng RENEWAL
Cody Q MaletItalyBernardo Dominic PROPOSAL
Darci H MorascaBrazilOnyama Limba UNQUALIFIED
Munro P GillianSpainAnna Fali NEW
Alejandro M StensethItalyAmy Elsner UNQUALIFIED
Kaitlin Q PerinBrazilAmy Elsner NEW
Kadeem R IturbideBrazilOnyama Limba NEGOTIATION
Aditya U MarrierFranceStephen Shaw QUALIFIED
Greenwood Z WaycottArgentinaAmy Elsner UNQUALIFIED
Leja U ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues O PoquetteSpainIvan Magalhaes NEW
Isabel O ChuiRussiaAnna Fali QUALIFIED
Izzy B FigeroaFranceStephen Shaw QUALIFIED
Greenwood N DarakjyFranceAnna Fali PROPOSAL
Aika V WieserJapanOnyama Limba NEW
Darci V StockhamSpainAmy Elsner NEGOTIATION
Arvin R PaprockiFranceBernardo Dominic PROPOSAL
Clifford V SaylorsCanadaElwin Sharvill UNQUALIFIED
Munro N RimGermanyIvan Magalhaes QUALIFIED
Murillo N MacleadArgentinaElwin Sharvill QUALIFIED
Darci F StockhamCanadaAmy Elsner PROPOSAL
Kaitlin C StensethArgentinaStephen Shaw PROPOSAL
Clifford B WaycottIndiaXuxue Feng RENEWAL
Smith F RimAustraliaAmy Elsner NEW
Tony U FigeroaBrazilBernardo Dominic PROPOSAL
Antonio L TollnerFranceAsiya Javayant RENEWAL
Jones A DilliardRussiaBernardo Dominic NEGOTIATION
Greenwood E PerinCanadaAsiya Javayant RENEWAL
Aditya B InouyeIndiaAnna Fali NEW
Misaki E CaldareraItalyIoni Bowcher RENEWAL
Arvin D NickaArgentinaStephen Shaw UNQUALIFIED
Leja I PoquetteJapanBernardo Dominic NEGOTIATION
Salvatore A CaldareraBrazilIvan Magalhaes UNQUALIFIED
Jennifer N IturbideGermanyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria N PoquetteSpainOnyama Limba NEGOTIATION
Chavez W NestleSpainAmy Elsner QUALIFIED
Clifford G GarufiItalyIoni Bowcher NEW
Chavez B MarrierGermanyIoni Bowcher NEGOTIATION
Leja R SaylorsRussiaIoni Bowcher RENEWAL
Nicolas T RulapaughSpainAmy Elsner NEGOTIATION
Stacey S WaycottUnited KingdomElwin Sharvill RENEWAL
Faith X MacleadJapanAnna Fali NEGOTIATION
Maisha U DarakjyIndiaOnyama Limba NEGOTIATION
Darci L GillianFranceAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore G NickaGermany2025-10-04Benton, John B Jr NEGOTIATION90Stephen Shaw
1001Ricardo Z RoysterCanada2025-10-09Chapman, Ross E Esq UNQUALIFIED88Amy Elsner
1002Maria S BowleyRussia2025-10-11Chemel, James L Cpa UNQUALIFIED82Ioni Bowcher
1003Tony J AlbaresIndia2025-10-01Feiner Bros PROPOSAL89Stephen Shaw
1004Francesco F KuskoGermany2025-10-18Chemel, James L Cpa QUALIFIED85Ioni Bowcher
1005Deepesh M StockhamBrazil2025-10-08Buckley Miller Wright QUALIFIED23Ivan Magalhaes
1006Mujtaba R NickaJapan2025-10-03Rousseaux, Michael Esq QUALIFIED20Asiya Javayant
1007Julie G PoquetteUnited Kingdom2025-10-08King, Christopher A Esq NEGOTIATION43Anna Fali
1008Smith G PoquetteUnited Kingdom2025-10-17Feltz Printing Service UNQUALIFIED96Onyama Limba
1009Claire M AmigonCanada2025-10-15Morlong Associates QUALIFIED86Onyama Limba
1010Arvin Z ShinkoUnited Kingdom2025-09-21Rangoni Of Florence NEW37Elwin Sharvill
1011Leon X MacleadBrazil2025-09-21Feltz Printing Service NEW84Asiya Javayant
1012Nicolas C MaletBrazil2025-09-27Feiner Bros PROPOSAL78Ioni Bowcher
1013Kaitlin X IturbideRussia2025-09-22Feiner Bros NEW3Elwin Sharvill
1014Aika Z StensethGermany2025-10-12Rousseaux, Michael Esq NEGOTIATION86Asiya Javayant
1015Wickens I DilliardIndia2025-10-06Rangoni Of Florence UNQUALIFIED3Anna Fali
1016Kaitlin Y PoquetteGermany2025-09-24Truhlar And Truhlar Attys NEW46Bernardo Dominic
1017Aditya W PerinUnited Kingdom2025-10-11Chapman, Ross E Esq QUALIFIED61Anna Fali
1018Faith L RulapaughIndia2025-10-05Chemel, James L Cpa QUALIFIED2Bernardo Dominic
1019Cody N DilliardArgentina2025-10-17Printing Dimensions PROPOSAL9Xuxue Feng
1020Stacey L InouyeCanada2025-09-29Rousseaux, Michael Esq PROPOSAL60Xuxue Feng
1021James O GlickFrance2025-09-23Rousseaux, Michael Esq RENEWAL51Asiya Javayant
1022Juan Q ChuiJapan2025-10-12Morlong Associates NEGOTIATION37Bernardo Dominic
1023Mujtaba A FerenczIndia2025-10-11Rangoni Of Florence NEGOTIATION14Elwin Sharvill
1024Juan F WieserGermany2025-09-21Chapman, Ross E Esq QUALIFIED57Stephen Shaw
1025David W FlosiUnited Kingdom2025-09-30King, Christopher A Esq NEW39Ivan Magalhaes
1026Isabel A AmigonArgentina2025-09-24Commercial Press NEW16Ioni Bowcher
1027Darci L RoysterJapan2025-10-02Benton, John B Jr QUALIFIED86Ivan Magalhaes
1028James N MarrierCanada2025-10-17Chemel, James L Cpa NEW75Bernardo Dominic
1029Murillo K NickaBrazil2025-10-17Feiner Bros UNQUALIFIED61Bernardo Dominic
1030Aruna P FlosiGermany2025-10-01Feiner Bros NEGOTIATION70Ioni Bowcher
1031Juan A PoquetteJapan2025-09-28Chanay, Jeffrey A Esq QUALIFIED96Asiya Javayant
1032Ricardo Q OstroskyAustralia2025-09-21Chanay, Jeffrey A Esq UNQUALIFIED86Ivan Magalhaes
1033Jeanfrancois L WhobreyAustralia2025-09-30Buckley Miller Wright NEW27Elwin Sharvill
1034Julie Y StensethUnited Kingdom2025-09-23Rousseaux, Michael Esq PROPOSAL1Stephen Shaw
1035Antonio A CampainBrazil2025-09-21Chemel, James L Cpa UNQUALIFIED75Bernardo Dominic
1036Deepesh O BriddickJapan2025-09-24Truhlar And Truhlar Attys PROPOSAL18Ivan Magalhaes
1037Silvio G RoysterArgentina2025-10-12Truhlar And Truhlar Attys NEGOTIATION59Asiya Javayant
1038Munro U PerinIndia2025-10-01Truhlar And Truhlar Attys RENEWAL42Asiya Javayant
1039Rodrigues S RimArgentina2025-09-29Printing Dimensions NEW97Onyama Limba
1040Clifford Q FigeroaArgentina2025-10-03Rousseaux, Michael Esq QUALIFIED68Ivan Magalhaes
1041Morrow G IturbideRussia2025-10-03Feltz Printing Service NEGOTIATION21Anna Fali
1042Sinclair A SchemmerBrazil2025-09-21Feiner Bros PROPOSAL95Stephen Shaw
1043Murillo X RulapaughGermany2025-09-26Feltz Printing Service UNQUALIFIED83Elwin Sharvill
1044Isabel B VenereIndia2025-09-19Buckley Miller Wright QUALIFIED44Asiya Javayant
1045Nicolas S CaldareraRussia2025-10-03Chemel, James L Cpa QUALIFIED64Anna Fali
1046James N BriddickGermany2025-10-08Buckley Miller Wright NEGOTIATION64Anna Fali
1047Isabel C NickaItaly2025-10-12Feltz Printing Service PROPOSAL2Stephen Shaw
1048Aditya E RutaRussia2025-09-21Benton, John B Jr UNQUALIFIED28Bernardo Dominic
1049Jeanfrancois T DilliardFrance2025-10-17Feiner Bros RENEWAL94Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Isabel H PerinItalyAnna Fali PROPOSAL
Mayumi Q VenereSpainBernardo Dominic RENEWAL
Maisha N VocelkaUnited KingdomIoni Bowcher NEW
James T MaletSpainAnna Fali PROPOSAL
Jeanfrancois Y WaycottItalyStephen Shaw UNQUALIFIED
Stacey Q SchemmerGermanyIoni Bowcher QUALIFIED
Kaitlin H CampainUnited KingdomElwin Sharvill UNQUALIFIED
Aika K OstroskyJapanIoni Bowcher UNQUALIFIED
Francesco X FigeroaSpainElwin Sharvill PROPOSAL
Leja C NickaBrazilXuxue Feng PROPOSAL
Claire L StockhamCanadaAsiya Javayant NEW
Jefferson C MarrierUnited KingdomBernardo Dominic NEW
Juan C GlickAustraliaIoni Bowcher UNQUALIFIED
Cody T PoquetteArgentinaOnyama Limba RENEWAL
Costa Z GlickJapanStephen Shaw UNQUALIFIED
Cody Q WaycottFranceElwin Sharvill QUALIFIED
Jones U RoysterArgentinaIvan Magalhaes RENEWAL
Johnson Q RoysterGermanyAmy Elsner RENEWAL
Octavia Q DilliardAustraliaStephen Shaw RENEWAL
Morrow D IturbideAustraliaElwin Sharvill PROPOSAL
Mujtaba X FigeroaGermanyAnna Fali QUALIFIED
Aditya J WieserItalyXuxue Feng NEW
Aika R RimJapanBernardo Dominic UNQUALIFIED
Misaki J ShinkoBrazilXuxue Feng RENEWAL
Leja V FigeroaGermanyXuxue Feng RENEWAL
Aruna B FollerRussiaIvan Magalhaes RENEWAL
Morrow Z FerenczUnited KingdomBernardo Dominic QUALIFIED
Antonio N NestleBrazilAsiya Javayant RENEWAL
Deepesh N VenereRussiaAnna Fali RENEWAL
Kadeem U DarakjyBrazilStephen Shaw UNQUALIFIED
Salvatore Y BologniaAustraliaAmy Elsner NEGOTIATION
Aruna J CaudyArgentinaOnyama Limba PROPOSAL
Sinclair H DoeArgentinaBernardo Dominic NEGOTIATION
Octavia W FerenczRussiaBernardo Dominic PROPOSAL
Maria E PoquetteUnited KingdomIoni Bowcher NEW
Chavez V FlosiRussiaStephen Shaw PROPOSAL
Julie M SchemmerUnited KingdomElwin Sharvill QUALIFIED
Stacey C VenereUnited KingdomAmy Elsner NEGOTIATION
Jones C SlusarskiBrazilAmy Elsner NEW
Smith T FollerArgentinaStephen Shaw QUALIFIED
Ivar Z CaudyJapanOnyama Limba QUALIFIED
Isabel P StensethRussiaAnna Fali PROPOSAL
Arvin P TollnerItalyElwin Sharvill RENEWAL
Darci F DarakjyJapanIvan Magalhaes NEGOTIATION
Jefferson W RimArgentinaXuxue Feng UNQUALIFIED
Alejandro E StockhamJapanXuxue Feng PROPOSAL
Alejandro S FlosiItalyAsiya Javayant UNQUALIFIED
Arvin L FlosiFranceAmy Elsner QUALIFIED
Munro T FigeroaArgentinaAnna Fali RENEWAL
Jefferson P WhobreyItalyOnyama Limba NEW
Frozen Columns
Name
Arvin E Inouye
Kaitlin H Ostrosky
Johnson B Waycott
Costa P Figeroa
Chavez I Morasca
Misaki O Nestle
Leon K Dilliard
Deepesh Y Perin
Mayumi N Malet
Juan S Waycott
Juan F Schemmer
Ashley C Campain
Chavez X Sergi
Chavez C Rulapaugh
Francesco J Briddick
Jeanfrancois N Stenseth
Julie O Waycott
Aruna S Waycott
Nicolas R Albares
Deepesh D Rulapaugh
Mayumi Y Caldarera
Kadeem F Foller
Darci W Venere
Wickens F Doe
Deepesh T Poquette
Greenwood K Bolognia
Kaitlin K Flosi
Kaitlin I Garufi
Maria B Garufi
James V Foller
Munro G Darakjy
Jeanfrancois X Bolognia
Leja S Bolognia
Emily X Kolmetz
Julie G Vocelka
Clifford H Stenseth
Juan M Gaucho
Aruna B Inouye
Octavia F Bowley
Arvin M Royster
Aditya B Darakjy
Nicolas M Figeroa
Nicolas K Schemmer
James F Maclead
Izzy Q Ostrosky
Octavia S Malet
Jones H Schemmer
Munro M Slusarski
Ricardo V Marrier
Leja O Amigon
IdCountryDate
1000Australia2025-09-29
1001Russia2025-09-20
1002Germany2025-09-19
1003United Kingdom2025-10-12
1004Argentina2025-09-29
1005Argentina2025-09-19
1006Canada2025-10-07
1007United Kingdom2025-10-10
1008Italy2025-09-19
1009Germany2025-10-11
1010Spain2025-09-20
1011Italy2025-10-08
1012Italy2025-09-28
1013Spain2025-10-07
1014Germany2025-09-22
1015Argentina2025-09-25
1016Italy2025-10-01
1017India2025-10-05
1018Italy2025-09-25
1019Spain2025-09-21
1020Canada2025-09-24
1021Russia2025-10-09
1022Spain2025-10-08
1023India2025-10-18
1024Australia2025-10-10
1025Brazil2025-10-13
1026France2025-10-18
1027United Kingdom2025-09-25
1028Germany2025-10-03
1029Argentina2025-10-06
1030Italy2025-10-04
1031Australia2025-10-14
1032Brazil2025-09-28
1033Russia2025-10-10
1034Japan2025-10-04
1035Australia2025-09-29
1036France2025-09-28
1037India2025-09-29
1038United Kingdom2025-09-29
1039Russia2025-10-13
1040Brazil2025-10-09
1041India2025-09-27
1042Brazil2025-09-30
1043Australia2025-10-08
1044Germany2025-09-25
1045Brazil2025-10-12
1046Italy2025-10-17
1047United Kingdom2025-09-20
1048Argentina2025-10-08
1049France2025-10-15

On-Demand Data

NameIdCountryDate
Octavia Z Venere1000Australia2025-10-05
Arvin C Butt1001United Kingdom2025-10-03
Cody K Bowley1002Germany2025-10-03
Rodrigues Z Marrier1003Argentina2025-10-17
Izzy C Nicka1004Japan2025-10-01
Cody P Shinko1005Germany2025-10-18
Smith Q Stockham1006Argentina2025-10-10
Maisha N Flosi1007Canada2025-10-04
David H Sergi1008United Kingdom2025-10-07
Jefferson N Saylors1009United Kingdom2025-10-14
Kaitlin A Ruta1010Germany2025-09-19
Claire X Garufi1011Australia2025-10-08
Juan Q Slusarski1012Russia2025-10-03
Claire L Bowley1013Russia2025-10-02
Juan X Dilliard1014Germany2025-09-27
Izzy I Gillian1015United Kingdom2025-09-19
Tony M Saylors1016United Kingdom2025-09-27
Munro W Vocelka1017Brazil2025-10-14
Maria I Caldarera1018Spain2025-10-16
Maisha I Paprocki1019Brazil2025-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki J StensethSpainIvan Magalhaes QUALIFIED
Stacey K SergiJapanAnna Fali RENEWAL
Alejandro V StensethSpainAsiya Javayant UNQUALIFIED
Adams D PerinBrazilXuxue Feng QUALIFIED
Leja W BriddickJapanAsiya Javayant UNQUALIFIED
Greenwood R GlickRussiaOnyama Limba NEW
Maisha X OstroskyBrazilAsiya Javayant RENEWAL
Costa S RutaArgentinaXuxue Feng NEGOTIATION
Jennifer S ButtIndiaXuxue Feng NEW
Darci R GillianSpainAmy Elsner PROPOSAL
Faith H InouyeRussiaIoni Bowcher NEGOTIATION
Emily O FigeroaBrazilBernardo Dominic NEGOTIATION
Ricardo Y BologniaUnited KingdomAsiya Javayant PROPOSAL
Claire P OldroydFranceStephen Shaw PROPOSAL
Chavez D SaylorsItalyStephen Shaw RENEWAL
Wickens U SchemmerRussiaAsiya Javayant PROPOSAL
Aditya W DilliardJapanAsiya Javayant RENEWAL
David H PoquetteGermanyXuxue Feng QUALIFIED
Izzy V BriddickRussiaAnna Fali QUALIFIED
Tony B StockhamItalyAnna Fali RENEWAL
Ivar Z AmigonSpainOnyama Limba NEGOTIATION
Leon C CaudyGermanyIvan Magalhaes RENEWAL
Leja C BowleyGermanyAnna Fali NEW
Misaki Y ChuiIndiaOnyama Limba NEW
Jennifer U MaletAustraliaElwin Sharvill NEGOTIATION
Tony I ButtAustraliaAsiya Javayant PROPOSAL
Ashley I KuskoArgentinaIvan Magalhaes RENEWAL
Johnson H PaprockiCanadaIoni Bowcher QUALIFIED
Mayumi M SlusarskiGermanyXuxue Feng PROPOSAL
Costa A WhobreyGermanyIvan Magalhaes NEW
Ashley Y OldroydFranceIvan Magalhaes NEGOTIATION
Izzy B InouyeCanadaStephen Shaw UNQUALIFIED
Munro Y DilliardBrazilAnna Fali QUALIFIED
Leon O TollnerBrazilIvan Magalhaes NEGOTIATION
Misaki L BologniaBrazilAnna Fali UNQUALIFIED
Johnson S WhobreySpainXuxue Feng UNQUALIFIED
Morrow Z CaldareraBrazilXuxue Feng RENEWAL
Emily G AmigonArgentinaIvan Magalhaes NEGOTIATION
Sinclair E KuskoRussiaStephen Shaw RENEWAL
Morrow Z ButtArgentinaStephen Shaw 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>