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
Sinclair T VocelkaGermanyStephen Shaw PROPOSAL
Darci J StensethBrazilIvan Magalhaes RENEWAL
Leon O GlickItalyIvan Magalhaes QUALIFIED
Kaitlin I PerinFranceAnna Fali UNQUALIFIED
Rodrigues Q MaletBrazilBernardo Dominic UNQUALIFIED
Mayumi U DarakjyGermanyAnna Fali RENEWAL
Misaki L FigeroaBrazilOnyama Limba NEGOTIATION
Leja F ButtIndiaXuxue Feng PROPOSAL
Deepesh S WhobreyAustraliaAnna Fali RENEWAL
Johnson O RimCanadaOnyama Limba NEW
Deepesh S RutaBrazilOnyama Limba QUALIFIED
Murillo Z DarakjyJapanStephen Shaw QUALIFIED
Alejandro C RulapaughCanadaIvan Magalhaes RENEWAL
Emily E SlusarskiAustraliaAmy Elsner RENEWAL
Misaki K CaldareraFranceAsiya Javayant UNQUALIFIED
Octavia N KolmetzGermanyAnna Fali UNQUALIFIED
Jennifer R SergiFranceAnna Fali PROPOSAL
Adams N KuskoUnited KingdomStephen Shaw NEW
Deepesh R SergiIndiaIvan Magalhaes UNQUALIFIED
Juan M RoysterArgentinaOnyama Limba NEW
Stacey U MacleadRussiaAmy Elsner NEW
Chavez Y RimGermanyElwin Sharvill PROPOSAL
Francesco V SergiSpainOnyama Limba NEGOTIATION
Leja L OldroydItalyXuxue Feng NEW
Izzy M KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Claire I FerenczFranceAnna Fali PROPOSAL
Mayumi X IturbideItalyAsiya Javayant UNQUALIFIED
Izzy T CampainFranceBernardo Dominic NEW
Stacey N SchemmerRussiaIvan Magalhaes QUALIFIED
Ashley D BologniaGermanyAnna Fali NEW
Rodrigues D KolmetzItalyAnna Fali QUALIFIED
Greenwood B DoeCanadaIoni Bowcher NEW
Kaitlin S AlbaresItalyAnna Fali NEW
Silvio S RutaFranceElwin Sharvill NEW
Johnson J FlosiIndiaStephen Shaw NEW
Jefferson D DarakjyAustraliaAmy Elsner UNQUALIFIED
Chavez A KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Izzy M DoeAustraliaXuxue Feng UNQUALIFIED
Salvatore S KolmetzCanadaXuxue Feng NEGOTIATION
Octavia W FerenczRussiaAnna Fali NEGOTIATION
Arvin M StockhamIndiaIoni Bowcher PROPOSAL
Misaki R FerenczUnited KingdomElwin Sharvill NEW
Emily N BowleySpainXuxue Feng RENEWAL
Jones X NickaJapanXuxue Feng UNQUALIFIED
Chavez K CampainArgentinaBernardo Dominic PROPOSAL
Morrow K MaletRussiaElwin Sharvill PROPOSAL
Silvio R StockhamJapanIvan Magalhaes UNQUALIFIED
Octavia A PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Cody Y GarufiAustraliaIvan Magalhaes NEGOTIATION
Antonio H MaletSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria J AlbaresArgentinaOnyama Limba QUALIFIED
Kaitlin D SergiArgentinaElwin Sharvill NEGOTIATION
Ivar H TollnerIndiaIoni Bowcher RENEWAL
Rodrigues W BowleyUnited KingdomIoni Bowcher QUALIFIED
Aditya N StensethCanadaElwin Sharvill NEW
Mujtaba I WieserSpainOnyama Limba NEGOTIATION
Chavez R PerinRussiaIoni Bowcher NEW
Claire U WaycottAustraliaAnna Fali QUALIFIED
Rodrigues F CaldareraRussiaIoni Bowcher NEGOTIATION
Emily B WhobreyArgentinaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna S KuskoAustralia2025-09-29Chanay, Jeffrey A Esq UNQUALIFIED13Ivan Magalhaes
1001James E ChuiAustralia2025-10-06Feiner Bros QUALIFIED16Onyama Limba
1002Octavia J AmigonBrazil2025-10-01Feiner Bros RENEWAL70Amy Elsner
1003Jeanfrancois I MaletFrance2025-09-23King, Christopher A Esq RENEWAL6Onyama Limba
1004Costa R CaudyUnited Kingdom2025-09-14Benton, John B Jr UNQUALIFIED67Amy Elsner
1005Alejandro C AlbaresUnited Kingdom2025-10-04Morlong Associates NEW15Onyama Limba
1006Alejandro Q SergiAustralia2025-10-05Morlong Associates QUALIFIED2Amy Elsner
1007Jefferson Z StensethUnited Kingdom2025-10-02Benton, John B Jr NEGOTIATION88Onyama Limba
1008Clifford L TollnerBrazil2025-09-26Printing Dimensions NEGOTIATION9Asiya Javayant
1009Maria P ShinkoJapan2025-09-30Morlong Associates QUALIFIED83Stephen Shaw
1010Emily Z PerinSpain2025-09-30Dorl, James J Esq UNQUALIFIED7Stephen Shaw
1011Johnson R WaycottArgentina2025-10-10Printing Dimensions PROPOSAL1Onyama Limba
1012Johnson Q PaprockiArgentina2025-09-13Feiner Bros PROPOSAL6Ivan Magalhaes
1013Silvio N SaylorsItaly2025-09-29Benton, John B Jr NEGOTIATION17Stephen Shaw
1014Antonio H SaylorsSpain2025-10-11Feltz Printing Service NEW11Stephen Shaw
1015Stacey W AlbaresCanada2025-10-01Printing Dimensions QUALIFIED60Amy Elsner
1016Aditya J RoysterItaly2025-09-14Commercial Press RENEWAL33Ioni Bowcher
1017Mujtaba H DarakjyCanada2025-09-22Printing Dimensions QUALIFIED77Stephen Shaw
1018Costa Y WieserSpain2025-09-24Dorl, James J Esq NEGOTIATION46Onyama Limba
1019Jefferson K BowleyItaly2025-09-25Feiner Bros NEGOTIATION97Elwin Sharvill
1020Arvin Z MarrierArgentina2025-09-27Chemel, James L Cpa PROPOSAL82Asiya Javayant
1021Wickens U DarakjyGermany2025-10-07Chanay, Jeffrey A Esq NEW91Bernardo Dominic
1022Tony A GarufiArgentina2025-09-25King, Christopher A Esq NEGOTIATION47Stephen Shaw
1023Ashley C SlusarskiCanada2025-10-08Chemel, James L Cpa RENEWAL41Asiya Javayant
1024Darci Z AmigonItaly2025-10-01Feltz Printing Service NEGOTIATION79Stephen Shaw
1025Sinclair P RoysterArgentina2025-09-16Rousseaux, Michael Esq NEGOTIATION64Ioni Bowcher
1026Salvatore B RoysterIndia2025-09-24Chanay, Jeffrey A Esq RENEWAL75Xuxue Feng
1027Antonio X FlosiGermany2025-09-24Feiner Bros NEGOTIATION70Asiya Javayant
1028Wickens D GauchoSpain2025-09-23Dorl, James J Esq NEGOTIATION79Ioni Bowcher
1029Aika Z SaylorsRussia2025-09-19Buckley Miller Wright QUALIFIED98Xuxue Feng
1030Salvatore W DoeFrance2025-10-05Chapman, Ross E Esq RENEWAL77Bernardo Dominic
1031Ricardo C FlosiCanada2025-09-18Rousseaux, Michael Esq UNQUALIFIED23Amy Elsner
1032Clifford Y OstroskyUnited Kingdom2025-09-27Dorl, James J Esq UNQUALIFIED20Stephen Shaw
1033Francesco N PaprockiArgentina2025-09-18Feltz Printing Service QUALIFIED23Asiya Javayant
1034Cody Z FigeroaJapan2025-10-11Benton, John B Jr RENEWAL1Xuxue Feng
1035Leja H DilliardItaly2025-09-30Benton, John B Jr NEGOTIATION6Xuxue Feng
1036Leja U SergiFrance2025-09-15Buckley Miller Wright NEGOTIATION23Ivan Magalhaes
1037Smith F FollerAustralia2025-09-18Morlong Associates NEGOTIATION59Onyama Limba
1038Misaki R RoysterSpain2025-09-19Feiner Bros NEGOTIATION26Bernardo Dominic
1039Stacey O MaletAustralia2025-09-17Rangoni Of Florence RENEWAL74Amy Elsner
1040Arvin X WaycottBrazil2025-09-22Benton, John B Jr RENEWAL1Onyama Limba
1041Greenwood K MaletFrance2025-09-20Buckley Miller Wright NEGOTIATION39Ivan Magalhaes
1042Francesco K SchemmerAustralia2025-09-13Printing Dimensions NEW60Asiya Javayant
1043Nicolas W StockhamIndia2025-09-29Morlong Associates UNQUALIFIED22Amy Elsner
1044Ivar U CampainUnited Kingdom2025-09-28Buckley Miller Wright RENEWAL8Onyama Limba
1045Deepesh Z SaylorsSpain2025-10-05Rousseaux, Michael Esq NEW63Ioni Bowcher
1046Leja I StockhamArgentina2025-09-20Commercial Press NEGOTIATION95Elwin Sharvill
1047Adams G IturbideJapan2025-09-20Benton, John B Jr UNQUALIFIED17Asiya Javayant
1048Kaitlin Q VocelkaFrance2025-09-23Feltz Printing Service RENEWAL50Anna Fali
1049Greenwood Z AlbaresAustralia2025-09-25Feltz Printing Service QUALIFIED2Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Isabel O FollerBrazilStephen Shaw NEW
Alejandro R AlbaresBrazilBernardo Dominic PROPOSAL
Tony F RutaSpainAmy Elsner QUALIFIED
Maisha R SchemmerBrazilIoni Bowcher NEW
Silvio G WaycottSpainAnna Fali RENEWAL
Adams S OldroydSpainXuxue Feng PROPOSAL
Mayumi I CaldareraSpainOnyama Limba PROPOSAL
Mujtaba C ChuiUnited KingdomXuxue Feng NEGOTIATION
Munro G PoquetteGermanyIoni Bowcher UNQUALIFIED
James P BriddickAustraliaXuxue Feng UNQUALIFIED
Arvin B MorascaItalyAsiya Javayant UNQUALIFIED
Maria H NickaJapanAsiya Javayant RENEWAL
Misaki A DilliardJapanBernardo Dominic NEGOTIATION
Emily K SergiGermanyAnna Fali PROPOSAL
Salvatore F KolmetzItalyXuxue Feng NEGOTIATION
Leja D ButtItalyXuxue Feng QUALIFIED
Mujtaba G VocelkaRussiaIoni Bowcher UNQUALIFIED
Claire L KolmetzIndiaAnna Fali QUALIFIED
Izzy N GlickBrazilAmy Elsner UNQUALIFIED
Maisha Q GarufiAustraliaStephen Shaw RENEWAL
Nicolas V ButtSpainAsiya Javayant QUALIFIED
Costa N OstroskySpainOnyama Limba NEW
Deepesh J RulapaughIndiaXuxue Feng PROPOSAL
Emily Z WhobreyCanadaIoni Bowcher UNQUALIFIED
Francesco M MorascaAustraliaAsiya Javayant NEW
Arvin D GarufiFranceAsiya Javayant RENEWAL
Ricardo W CaudyJapanXuxue Feng UNQUALIFIED
Sinclair C GauchoArgentinaXuxue Feng RENEWAL
Antonio I PerinJapanElwin Sharvill PROPOSAL
Smith B IturbideFranceElwin Sharvill RENEWAL
Mujtaba H MorascaCanadaAsiya Javayant RENEWAL
Francesco B VenereGermanyXuxue Feng NEGOTIATION
Alejandro A CaudyAustraliaIvan Magalhaes NEGOTIATION
Smith W DarakjyRussiaAsiya Javayant NEGOTIATION
Aruna K AmigonIndiaElwin Sharvill PROPOSAL
Misaki B CaudyRussiaBernardo Dominic UNQUALIFIED
Izzy H SchemmerArgentinaAnna Fali UNQUALIFIED
Adams A NickaCanadaIvan Magalhaes QUALIFIED
Rodrigues E AlbaresCanadaAsiya Javayant NEW
Mujtaba C FollerJapanAnna Fali UNQUALIFIED
Mayumi R ShinkoItalyElwin Sharvill RENEWAL
Aruna D BowleyCanadaStephen Shaw PROPOSAL
Deepesh J GlickUnited KingdomBernardo Dominic PROPOSAL
Misaki R FigeroaCanadaElwin Sharvill UNQUALIFIED
Claire V WhobreyAustraliaIoni Bowcher PROPOSAL
Faith Y CaudyCanadaAnna Fali NEW
Ivar D DarakjyJapanBernardo Dominic UNQUALIFIED
Juan F StensethSpainElwin Sharvill UNQUALIFIED
Isabel H WaycottArgentinaAsiya Javayant QUALIFIED
Aruna R BologniaFranceIvan Magalhaes PROPOSAL
Frozen Columns
Name
Darci L Darakjy
Jennifer Y Malet
Juan N Stenseth
James U Bolognia
Mayumi Q Kusko
Julie V Perin
Sinclair H Vocelka
Cody Y Caldarera
James W Maclead
Adams Q Briddick
Ashley D Nicka
Ivar X Tollner
Misaki F Nicka
Ricardo B Iturbide
Aditya K Kusko
Wickens B Shinko
Leon G Poquette
Octavia T Gaucho
Ivar R Rulapaugh
Jeanfrancois H Oldroyd
Jefferson N Flosi
Chavez S Morasca
Izzy A Slusarski
Nicolas T Briddick
Cody L Darakjy
Izzy J Amigon
Aika Y Darakjy
Kaitlin H Stenseth
Tony O Malet
Izzy S Butt
Aditya L Figeroa
James C Caudy
Maria W Maclead
Jennifer M Poquette
Claire E Malet
Kadeem A Chui
Salvatore R Chui
Jones R Ostrosky
Adams O Perin
Izzy I Maclead
Arvin F Stenseth
Kaitlin A Slusarski
Nicolas A Inouye
Greenwood B Morasca
Morrow E Perin
Aditya Q Maclead
Morrow Q Iturbide
Tony L Ostrosky
Tony A Malet
Leon M Perin
IdCountryDate
1000Australia2025-09-13
1001Brazil2025-09-29
1002Germany2025-10-08
1003Brazil2025-09-22
1004India2025-10-08
1005Germany2025-09-30
1006Brazil2025-10-06
1007Australia2025-10-12
1008Australia2025-09-26
1009Russia2025-10-10
1010Australia2025-09-18
1011Russia2025-09-14
1012Brazil2025-09-29
1013Japan2025-09-25
1014Australia2025-10-11
1015United Kingdom2025-10-07
1016Canada2025-09-29
1017Spain2025-10-05
1018Argentina2025-09-24
1019Italy2025-10-04
1020Canada2025-09-20
1021India2025-10-06
1022Australia2025-10-07
1023Argentina2025-10-12
1024Italy2025-09-23
1025Italy2025-10-08
1026India2025-10-01
1027United Kingdom2025-09-29
1028Brazil2025-10-09
1029Russia2025-10-04
1030Spain2025-09-23
1031Russia2025-10-10
1032Argentina2025-09-17
1033Australia2025-10-05
1034Spain2025-10-10
1035Spain2025-10-10
1036Germany2025-10-09
1037Italy2025-09-16
1038India2025-10-06
1039Japan2025-09-15
1040Japan2025-09-14
1041Japan2025-09-24
1042France2025-10-03
1043United Kingdom2025-09-30
1044Spain2025-10-07
1045Brazil2025-09-27
1046Canada2025-10-08
1047Brazil2025-09-16
1048United Kingdom2025-10-07
1049Russia2025-09-26

On-Demand Data

NameIdCountryDate
Octavia X Stockham1000Japan2025-09-24
Morrow L Wieser1001Brazil2025-09-26
Munro F Ruta1002Argentina2025-09-21
Claire J Morasca1003France2025-10-08
Antonio Q Morasca1004Australia2025-09-23
Clifford S Dilliard1005Italy2025-09-13
Jeanfrancois W Ostrosky1006United Kingdom2025-09-27
Wickens W Inouye1007Argentina2025-09-30
Izzy C Wieser1008Russia2025-09-25
Johnson R Saylors1009Japan2025-09-18
Mayumi U Poquette1010Canada2025-10-11
Smith A Stockham1011France2025-09-27
Octavia T Amigon1012Argentina2025-10-07
Isabel U Sergi1013Australia2025-10-01
Clifford Z Iturbide1014Italy2025-10-07
Jeanfrancois W Perin1015Japan2025-09-22
Jennifer K Stockham1016Germany2025-10-10
Misaki R Malet1017Germany2025-10-08
Rodrigues C Amigon1018Canada2025-09-15
Clifford Z Rulapaugh1019Japan2025-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford B VocelkaItalyOnyama Limba QUALIFIED
Antonio W GillianGermanyStephen Shaw PROPOSAL
Leon K StensethUnited KingdomBernardo Dominic UNQUALIFIED
Faith H ShinkoItalyXuxue Feng NEGOTIATION
Deepesh F FerenczGermanyBernardo Dominic QUALIFIED
Rodrigues V VenereSpainIoni Bowcher QUALIFIED
Silvio A KolmetzFranceAmy Elsner NEGOTIATION
Ashley T VocelkaArgentinaOnyama Limba NEGOTIATION
Mayumi E MacleadArgentinaIvan Magalhaes UNQUALIFIED
Wickens R WaycottIndiaOnyama Limba QUALIFIED
Kaitlin J GarufiArgentinaElwin Sharvill NEGOTIATION
Faith J MaletUnited KingdomStephen Shaw PROPOSAL
Emily F PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois K GauchoBrazilBernardo Dominic QUALIFIED
Claire Q CampainFranceAmy Elsner NEGOTIATION
Antonio F DarakjyGermanyAmy Elsner QUALIFIED
Misaki A DoeRussiaAmy Elsner PROPOSAL
David B TollnerArgentinaIoni Bowcher NEW
Munro T SaylorsArgentinaXuxue Feng PROPOSAL
Aika P MaletAustraliaOnyama Limba UNQUALIFIED
Claire V AmigonSpainXuxue Feng NEGOTIATION
Alejandro R BologniaGermanyAsiya Javayant PROPOSAL
Munro E CaldareraBrazilOnyama Limba PROPOSAL
Leja X CampainGermanyAmy Elsner NEW
Kaitlin U InouyeRussiaAsiya Javayant NEGOTIATION
Aditya K VenereFranceAsiya Javayant UNQUALIFIED
Francesco T ShinkoUnited KingdomElwin Sharvill RENEWAL
Ivar O GarufiJapanBernardo Dominic NEGOTIATION
Tony L FlosiBrazilIoni Bowcher QUALIFIED
Darci M MarrierUnited KingdomXuxue Feng NEW
Leon U SergiFranceOnyama Limba NEW
Ricardo Z CaudyJapanElwin Sharvill NEGOTIATION
Munro I AlbaresBrazilXuxue Feng NEGOTIATION
Rodrigues B InouyeAustraliaAmy Elsner QUALIFIED
Julie T GauchoJapanOnyama Limba QUALIFIED
Aditya K BriddickUnited KingdomStephen Shaw PROPOSAL
Sinclair K MaletBrazilXuxue Feng PROPOSAL
Aika P GillianArgentinaAnna Fali PROPOSAL
Stacey Q DilliardGermanyElwin Sharvill NEGOTIATION
Johnson Y MacleadCanadaBernardo Dominic 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>