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
Smith R VenereBrazilAnna Fali NEGOTIATION
Izzy Y SaylorsCanadaOnyama Limba RENEWAL
Munro D OstroskyFranceBernardo Dominic UNQUALIFIED
Leon R RoysterAustraliaIvan Magalhaes UNQUALIFIED
James W ShinkoFranceStephen Shaw NEGOTIATION
Jeanfrancois P OldroydSpainElwin Sharvill UNQUALIFIED
Arvin J PoquetteRussiaAsiya Javayant PROPOSAL
Mujtaba Q TollnerRussiaAsiya Javayant NEW
Mujtaba N IturbideArgentinaAsiya Javayant NEGOTIATION
Nicolas B ChuiAustraliaBernardo Dominic RENEWAL
Izzy L NickaJapanIvan Magalhaes UNQUALIFIED
Darci D SergiGermanyBernardo Dominic UNQUALIFIED
Rodrigues S DoeRussiaXuxue Feng NEW
Alejandro P WieserSpainXuxue Feng RENEWAL
Isabel V RulapaughFranceXuxue Feng NEW
Jennifer B SlusarskiRussiaIoni Bowcher RENEWAL
Aika M CaldareraRussiaIoni Bowcher NEW
Octavia U SergiJapanAnna Fali NEW
Morrow G RimCanadaAmy Elsner NEW
Morrow L GlickArgentinaIvan Magalhaes UNQUALIFIED
Maria W VocelkaItalyIoni Bowcher PROPOSAL
Maria K PerinIndiaStephen Shaw NEW
Octavia K BowleyItalyIoni Bowcher NEGOTIATION
Antonio C DilliardJapanXuxue Feng UNQUALIFIED
Juan U TollnerRussiaIvan Magalhaes RENEWAL
Jones U DoeItalyAsiya Javayant NEW
Wickens V OldroydFranceBernardo Dominic PROPOSAL
Ashley W KolmetzIndiaAnna Fali NEW
Aruna Q MarrierArgentinaIvan Magalhaes UNQUALIFIED
Alejandro F InouyeArgentinaAnna Fali QUALIFIED
Tony Z BologniaFranceElwin Sharvill RENEWAL
Nicolas X PaprockiAustraliaAnna Fali UNQUALIFIED
Silvio T MaletCanadaAsiya Javayant QUALIFIED
Salvatore W StensethItalyElwin Sharvill QUALIFIED
Adams W CaldareraBrazilElwin Sharvill RENEWAL
Greenwood J ShinkoAustraliaIoni Bowcher QUALIFIED
James I GauchoSpainAsiya Javayant RENEWAL
Emily M GauchoBrazilXuxue Feng QUALIFIED
Octavia T GauchoSpainElwin Sharvill NEW
Kaitlin S WhobreyFranceAsiya Javayant QUALIFIED
Ivar S MacleadUnited KingdomBernardo Dominic RENEWAL
Aditya Y OstroskyGermanyStephen Shaw QUALIFIED
Rodrigues H AmigonIndiaIoni Bowcher UNQUALIFIED
Ricardo Z BologniaFranceStephen Shaw NEGOTIATION
Morrow P BologniaGermanyIoni Bowcher QUALIFIED
Costa O RulapaughBrazilElwin Sharvill NEW
Leja Q CaldareraCanadaElwin Sharvill QUALIFIED
Greenwood K ChuiArgentinaBernardo Dominic QUALIFIED
Aruna V DarakjyGermanyXuxue Feng NEGOTIATION
Adams R VenereFranceBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio Y GauchoBrazilAnna Fali NEW
Claire W CaudyJapanIvan Magalhaes RENEWAL
David Y CampainItalyElwin Sharvill UNQUALIFIED
James P MaletFranceIvan Magalhaes UNQUALIFIED
Jones J SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Jennifer A SergiAustraliaXuxue Feng PROPOSAL
Darci F FerenczFranceAmy Elsner QUALIFIED
Leja Z WaycottRussiaBernardo Dominic RENEWAL
Cody U AmigonFranceStephen Shaw UNQUALIFIED
Octavia F NestleCanadaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens P SlusarskiUnited Kingdom2025-10-04King, Christopher A Esq PROPOSAL17Stephen Shaw
1001Morrow G SergiItaly2025-09-22Chapman, Ross E Esq NEGOTIATION36Amy Elsner
1002Silvio Y WhobreyUnited Kingdom2025-09-22Chapman, Ross E Esq UNQUALIFIED65Amy Elsner
1003Deepesh V GillianCanada2025-09-25Morlong Associates NEW82Onyama Limba
1004Jeanfrancois J SaylorsUnited Kingdom2025-09-19Feltz Printing Service NEGOTIATION83Elwin Sharvill
1005Sinclair X WieserIndia2025-10-01Morlong Associates NEW54Asiya Javayant
1006Alejandro X SergiFrance2025-09-29Chanay, Jeffrey A Esq RENEWAL38Bernardo Dominic
1007Murillo W RulapaughJapan2025-09-08Chapman, Ross E Esq RENEWAL16Ioni Bowcher
1008Costa F SlusarskiJapan2025-09-12Rangoni Of Florence NEW4Xuxue Feng
1009Faith D SergiCanada2025-09-25Feltz Printing Service NEGOTIATION50Anna Fali
1010Jeanfrancois N FigeroaAustralia2025-09-17King, Christopher A Esq UNQUALIFIED93Ivan Magalhaes
1011Deepesh Q MaletAustralia2025-09-16Morlong Associates QUALIFIED22Amy Elsner
1012Chavez M ShinkoUnited Kingdom2025-09-12Feiner Bros NEW83Onyama Limba
1013Julie F RutaBrazil2025-10-07Commercial Press NEW22Asiya Javayant
1014Leja G SaylorsJapan2025-09-21Chemel, James L Cpa PROPOSAL25Amy Elsner
1015Greenwood B StensethBrazil2025-09-15Dorl, James J Esq NEGOTIATION75Onyama Limba
1016Jefferson J VenereItaly2025-10-02Printing Dimensions NEW77Xuxue Feng
1017Alejandro S IturbideRussia2025-09-13Benton, John B Jr UNQUALIFIED18Bernardo Dominic
1018Costa S CaldareraGermany2025-09-30Chanay, Jeffrey A Esq QUALIFIED46Amy Elsner
1019Kaitlin Q WhobreyArgentina2025-10-05Chemel, James L Cpa NEGOTIATION80Stephen Shaw
1020Maria Y StockhamUnited Kingdom2025-10-02Commercial Press RENEWAL85Elwin Sharvill
1021Leja E FerenczJapan2025-09-21Commercial Press UNQUALIFIED29Elwin Sharvill
1022Morrow F BowleyUnited Kingdom2025-09-26Rousseaux, Michael Esq PROPOSAL81Amy Elsner
1023Cody M ChuiAustralia2025-09-18Chemel, James L Cpa NEW19Onyama Limba
1024Darci B ShinkoFrance2025-09-17Morlong Associates RENEWAL55Onyama Limba
1025Jefferson I ShinkoRussia2025-09-21Feltz Printing Service QUALIFIED35Anna Fali
1026Kaitlin U DoeUnited Kingdom2025-10-07Benton, John B Jr PROPOSAL43Bernardo Dominic
1027Alejandro I WaycottGermany2025-09-19Chapman, Ross E Esq UNQUALIFIED74Stephen Shaw
1028Adams B SaylorsCanada2025-09-14Commercial Press QUALIFIED23Xuxue Feng
1029Murillo C RulapaughItaly2025-09-15Truhlar And Truhlar Attys NEGOTIATION40Ioni Bowcher
1030Jennifer W MaletUnited Kingdom2025-09-08Rousseaux, Michael Esq NEGOTIATION70Ivan Magalhaes
1031Ricardo O WaycottSpain2025-09-27King, Christopher A Esq QUALIFIED35Asiya Javayant
1032Nicolas E MaletItaly2025-09-25Printing Dimensions QUALIFIED3Asiya Javayant
1033Jefferson T ChuiItaly2025-09-10Chemel, James L Cpa NEGOTIATION14Bernardo Dominic
1034Jennifer P MorascaCanada2025-09-19Feiner Bros NEGOTIATION10Amy Elsner
1035Aditya J SchemmerBrazil2025-10-06Chanay, Jeffrey A Esq UNQUALIFIED83Asiya Javayant
1036Murillo D WaycottAustralia2025-10-06Printing Dimensions NEGOTIATION54Elwin Sharvill
1037Maisha O MaletItaly2025-09-10Feltz Printing Service UNQUALIFIED50Asiya Javayant
1038Faith E OstroskyJapan2025-09-27Chapman, Ross E Esq UNQUALIFIED67Ioni Bowcher
1039Juan E GillianAustralia2025-09-09King, Christopher A Esq RENEWAL94Xuxue Feng
1040Deepesh W FollerIndia2025-09-13Feltz Printing Service UNQUALIFIED26Elwin Sharvill
1041Johnson B MaletSpain2025-09-30Printing Dimensions NEGOTIATION94Anna Fali
1042Jones M FollerArgentina2025-09-10Feiner Bros UNQUALIFIED29Onyama Limba
1043Kaitlin I DoeItaly2025-10-04Chemel, James L Cpa NEGOTIATION13Ivan Magalhaes
1044Jeanfrancois N GillianJapan2025-09-26Chemel, James L Cpa RENEWAL5Anna Fali
1045Juan G MaletIndia2025-10-06Morlong Associates QUALIFIED87Ivan Magalhaes
1046Salvatore Q PaprockiFrance2025-09-12Feiner Bros RENEWAL74Amy Elsner
1047Francesco K KolmetzFrance2025-09-15Buckley Miller Wright NEW68Amy Elsner
1048Kadeem X GarufiJapan2025-10-07Feltz Printing Service RENEWAL97Amy Elsner
1049Aditya C CaudyArgentina2025-09-12Rousseaux, Michael Esq UNQUALIFIED57Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Tony F NestleBrazilAnna Fali NEGOTIATION
Mayumi I DoeJapanElwin Sharvill PROPOSAL
Juan A PerinRussiaAnna Fali NEW
Kaitlin M FerenczFranceIoni Bowcher NEW
Salvatore M NickaIndiaStephen Shaw PROPOSAL
Costa F BriddickUnited KingdomIvan Magalhaes NEW
Cody Y OstroskyArgentinaOnyama Limba UNQUALIFIED
Stacey P PaprockiItalyElwin Sharvill NEGOTIATION
Francesco Y NickaFranceStephen Shaw RENEWAL
Darci W CampainSpainAmy Elsner UNQUALIFIED
Octavia L RimFranceBernardo Dominic RENEWAL
Wickens L WhobreyGermanyXuxue Feng RENEWAL
Jefferson Z VocelkaAustraliaIvan Magalhaes NEGOTIATION
Greenwood S StockhamRussiaElwin Sharvill UNQUALIFIED
Sinclair E ChuiBrazilStephen Shaw QUALIFIED
Salvatore Q IturbideGermanyAsiya Javayant NEW
Johnson S AlbaresAustraliaIvan Magalhaes RENEWAL
Ricardo W CaudyRussiaOnyama Limba RENEWAL
Isabel H PaprockiSpainOnyama Limba UNQUALIFIED
Juan R WieserSpainElwin Sharvill NEW
Deepesh X BowleyItalyStephen Shaw UNQUALIFIED
Murillo H KuskoSpainElwin Sharvill NEGOTIATION
Kadeem V DoeGermanyIoni Bowcher NEW
Kadeem X IturbideItalyStephen Shaw UNQUALIFIED
Mujtaba H DarakjyArgentinaAmy Elsner QUALIFIED
Octavia V ChuiUnited KingdomAnna Fali RENEWAL
Antonio F GlickIndiaOnyama Limba QUALIFIED
Antonio E SaylorsGermanyXuxue Feng PROPOSAL
Jones V SaylorsFranceOnyama Limba PROPOSAL
Faith K FerenczCanadaIvan Magalhaes PROPOSAL
Silvio T WieserUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro W DilliardUnited KingdomStephen Shaw NEW
Nicolas Z CaldareraBrazilAsiya Javayant RENEWAL
Ricardo G RimItalyIoni Bowcher UNQUALIFIED
Sinclair J ShinkoGermanyAsiya Javayant UNQUALIFIED
Antonio F CaldareraUnited KingdomIvan Magalhaes RENEWAL
Johnson D StensethRussiaOnyama Limba QUALIFIED
Darci W OstroskyFranceIoni Bowcher UNQUALIFIED
Juan P GlickArgentinaBernardo Dominic RENEWAL
Leon J MarrierIndiaStephen Shaw RENEWAL
Munro K MorascaUnited KingdomElwin Sharvill PROPOSAL
Ashley L IturbideUnited KingdomXuxue Feng PROPOSAL
Leon T KolmetzFranceIoni Bowcher UNQUALIFIED
Juan Q RutaArgentinaBernardo Dominic RENEWAL
Johnson T WaycottArgentinaXuxue Feng NEGOTIATION
Cody G StockhamAustraliaAnna Fali NEGOTIATION
Alejandro J MacleadJapanOnyama Limba UNQUALIFIED
Misaki R MaletItalyAnna Fali NEGOTIATION
Antonio C MorascaIndiaAmy Elsner UNQUALIFIED
Costa O PaprockiGermanyAnna Fali NEW
Frozen Columns
Name
Cody X Kusko
Kadeem L Caudy
Alejandro Y Caldarera
James K Whobrey
Mayumi Y Ostrosky
Isabel N Chui
Faith L Ostrosky
Alejandro Y Malet
Clifford A Inouye
Adams H Rulapaugh
Antonio N Slusarski
Faith Y Stockham
Leja O Rim
Claire K Dilliard
Sinclair Y Venere
Jennifer J Foller
Mujtaba R Iturbide
Cody H Vocelka
Jeanfrancois X Paprocki
Jeanfrancois I Ostrosky
Leja M Rulapaugh
Deepesh F Albares
Faith G Albares
Jeanfrancois Y Figeroa
Murillo U Marrier
Murillo H Butt
Aditya T Kusko
Nicolas W Tollner
Murillo Z Ferencz
Claire P Amigon
Wickens F Royster
Munro E Tollner
Adams N Doe
Darci I Kolmetz
Stacey L Stenseth
Jones V Figeroa
Johnson A Foller
Izzy Q Maclead
Jeanfrancois M Tollner
Octavia Y Glick
Darci Z Wieser
Mayumi Y Doe
Leon V Tollner
Darci Y Nicka
Mujtaba M Slusarski
Mayumi N Ruta
Kadeem K Morasca
Aditya J Albares
Faith J Figeroa
Izzy Q Perin
IdCountryDate
1000India2025-09-19
1001Italy2025-09-09
1002Argentina2025-09-30
1003Canada2025-10-03
1004Japan2025-10-03
1005France2025-09-25
1006Australia2025-09-19
1007India2025-09-12
1008Argentina2025-09-16
1009France2025-10-02
1010Spain2025-09-10
1011Japan2025-09-12
1012Russia2025-10-03
1013France2025-09-24
1014India2025-09-23
1015France2025-09-28
1016Italy2025-09-12
1017France2025-09-21
1018France2025-09-19
1019Argentina2025-09-13
1020Canada2025-09-29
1021India2025-09-10
1022United Kingdom2025-09-29
1023Russia2025-09-19
1024Argentina2025-09-11
1025Germany2025-10-05
1026Japan2025-09-19
1027Argentina2025-09-11
1028Japan2025-10-03
1029Italy2025-09-22
1030Brazil2025-09-27
1031Spain2025-10-05
1032India2025-09-27
1033Germany2025-09-13
1034Spain2025-09-30
1035Australia2025-09-11
1036India2025-09-23
1037Australia2025-09-28
1038Brazil2025-09-14
1039Brazil2025-09-19
1040Italy2025-09-27
1041France2025-09-26
1042Japan2025-09-30
1043Spain2025-09-18
1044India2025-09-22
1045Argentina2025-10-06
1046India2025-09-08
1047Russia2025-09-09
1048India2025-09-18
1049Russia2025-09-17

On-Demand Data

NameIdCountryDate
Antonio M Schemmer1000Japan2025-10-01
Ashley X Royster1001Germany2025-10-02
Alejandro P Ostrosky1002Russia2025-09-19
Stacey N Slusarski1003Brazil2025-09-18
Adams F Doe1004France2025-09-26
Ivar E Albares1005Germany2025-09-21
Maisha P Perin1006Argentina2025-09-09
Francesco F Whobrey1007Australia2025-09-13
Leja L Doe1008Germany2025-09-28
Arvin X Venere1009Argentina2025-10-06
Wickens H Morasca1010Canada2025-09-29
Maria E Marrier1011Russia2025-10-04
Jeanfrancois H Oldroyd1012Brazil2025-09-26
Aruna H Kolmetz1013United Kingdom2025-09-27
Faith N Malet1014France2025-09-12
Wickens I Malet1015Russia2025-09-24
Smith W Shinko1016Japan2025-09-21
Stacey I Saylors1017India2025-09-25
Costa P Rim1018India2025-10-04
Darci Y Paprocki1019Argentina2025-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones P PoquetteArgentinaOnyama Limba UNQUALIFIED
Ivar Y MorascaIndiaStephen Shaw QUALIFIED
Juan I SchemmerJapanXuxue Feng NEW
Smith L PoquetteSpainStephen Shaw UNQUALIFIED
Jefferson D BologniaUnited KingdomBernardo Dominic NEW
Misaki Y BologniaAustraliaIvan Magalhaes UNQUALIFIED
Maria R CampainGermanyElwin Sharvill PROPOSAL
Cody R InouyeArgentinaBernardo Dominic RENEWAL
Cody C RulapaughRussiaBernardo Dominic PROPOSAL
Emily B GarufiUnited KingdomAnna Fali RENEWAL
Francesco M BriddickFranceBernardo Dominic NEGOTIATION
Leon G BowleyFranceElwin Sharvill UNQUALIFIED
Octavia D PoquetteCanadaAsiya Javayant PROPOSAL
Munro H ButtUnited KingdomBernardo Dominic PROPOSAL
Clifford P FerenczIndiaIvan Magalhaes UNQUALIFIED
Jones Y FlosiRussiaIvan Magalhaes RENEWAL
Johnson Q FlosiArgentinaBernardo Dominic RENEWAL
Chavez F BriddickArgentinaIoni Bowcher NEGOTIATION
Munro Y AmigonUnited KingdomXuxue Feng NEW
Silvio Q CaudySpainBernardo Dominic PROPOSAL
Jefferson O PerinGermanyAnna Fali UNQUALIFIED
Leon N GillianJapanAsiya Javayant RENEWAL
Arvin H RoysterGermanyStephen Shaw NEW
Rodrigues Z WaycottArgentinaIvan Magalhaes UNQUALIFIED
Aditya W GauchoAustraliaStephen Shaw RENEWAL
Rodrigues Y DarakjyGermanyOnyama Limba QUALIFIED
Murillo D RulapaughSpainAsiya Javayant QUALIFIED
Munro X GlickBrazilOnyama Limba QUALIFIED
Octavia W FlosiSpainIvan Magalhaes QUALIFIED
Darci V MorascaGermanyAmy Elsner NEW
Kaitlin V AlbaresArgentinaAnna Fali RENEWAL
Alejandro Q AlbaresAustraliaIvan Magalhaes NEGOTIATION
Arvin M DilliardRussiaAsiya Javayant RENEWAL
Claire H DoeFranceAmy Elsner QUALIFIED
Jones H DarakjyUnited KingdomAmy Elsner NEGOTIATION
Jones Q GlickUnited KingdomOnyama Limba PROPOSAL
Juan I ChuiBrazilBernardo Dominic RENEWAL
Smith C WieserRussiaAsiya Javayant UNQUALIFIED
Izzy Z RulapaughGermanyAsiya Javayant UNQUALIFIED
Sinclair S NickaRussiaBernardo Dominic QUALIFIED

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