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
Leja W AlbaresRussiaOnyama Limba QUALIFIED
Nicolas Y KuskoItalyAnna Fali QUALIFIED
Johnson H WaycottUnited KingdomAmy Elsner PROPOSAL
Ricardo N ShinkoIndiaXuxue Feng NEW
Salvatore H MorascaRussiaAnna Fali RENEWAL
Francesco Z ShinkoAustraliaIvan Magalhaes RENEWAL
Misaki Q FigeroaJapanStephen Shaw RENEWAL
Mujtaba D ButtSpainIoni Bowcher RENEWAL
Cody G TollnerIndiaIvan Magalhaes RENEWAL
Antonio P MorascaJapanAnna Fali RENEWAL
Jennifer V PerinRussiaBernardo Dominic QUALIFIED
Aditya Z StockhamUnited KingdomAsiya Javayant QUALIFIED
Leon X ButtFranceXuxue Feng NEW
Morrow P FigeroaRussiaIoni Bowcher UNQUALIFIED
Izzy K CaldareraUnited KingdomAnna Fali QUALIFIED
Leon V FlosiItalyAmy Elsner NEW
Ivar D GauchoSpainElwin Sharvill NEGOTIATION
Cody Y SergiAustraliaAsiya Javayant PROPOSAL
Claire S AlbaresGermanyAsiya Javayant PROPOSAL
Nicolas K ShinkoGermanyIvan Magalhaes RENEWAL
Arvin B StensethAustraliaStephen Shaw NEGOTIATION
Ashley E MaletIndiaAnna Fali NEGOTIATION
Deepesh P ShinkoAustraliaElwin Sharvill UNQUALIFIED
Julie J SergiAustraliaAmy Elsner RENEWAL
David A CampainItalyXuxue Feng UNQUALIFIED
Aruna I OldroydFranceStephen Shaw RENEWAL
Claire P GillianGermanyOnyama Limba NEW
Clifford W MaletSpainElwin Sharvill PROPOSAL
Kadeem J OstroskyJapanIoni Bowcher UNQUALIFIED
Mayumi V GlickIndiaIvan Magalhaes NEGOTIATION
Wickens L PoquetteJapanAsiya Javayant NEW
Juan C DoeAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois K WieserRussiaBernardo Dominic RENEWAL
Octavia T WhobreyJapanXuxue Feng NEGOTIATION
Greenwood J WieserFranceElwin Sharvill QUALIFIED
Juan U PoquetteGermanyStephen Shaw NEW
Kaitlin X KuskoAustraliaIvan Magalhaes RENEWAL
Leja C AmigonFranceXuxue Feng RENEWAL
Ivar H MaletRussiaIvan Magalhaes QUALIFIED
Stacey S RoysterBrazilElwin Sharvill NEW
Faith N WieserUnited KingdomAnna Fali RENEWAL
Jefferson H WieserBrazilAnna Fali NEGOTIATION
Jennifer X OldroydJapanIvan Magalhaes NEW
Deepesh C RutaBrazilIoni Bowcher UNQUALIFIED
Jefferson F StockhamArgentinaAsiya Javayant QUALIFIED
Aruna Z DarakjyBrazilIvan Magalhaes RENEWAL
Costa B GauchoGermanyStephen Shaw NEGOTIATION
Emily X PerinFranceIoni Bowcher NEW
Mayumi F DilliardRussiaElwin Sharvill QUALIFIED
Rodrigues O SergiJapanAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Aika Q DarakjyGermanyAmy Elsner PROPOSAL
Tony B ShinkoCanadaXuxue Feng UNQUALIFIED
Mayumi Y VenereAustraliaStephen Shaw NEGOTIATION
Deepesh T KolmetzCanadaAmy Elsner NEGOTIATION
Johnson V GlickAustraliaAnna Fali NEGOTIATION
Darci A DarakjyCanadaAmy Elsner NEW
Clifford Z StensethIndiaAsiya Javayant NEW
Ivar M BriddickRussiaIoni Bowcher RENEWAL
Salvatore P CaldareraIndiaBernardo Dominic UNQUALIFIED
Mujtaba V PoquetteAustraliaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood S GlickUnited Kingdom2025-08-18Benton, John B Jr NEGOTIATION74Ioni Bowcher
1001Claire P NickaCanada2025-08-06Truhlar And Truhlar Attys NEGOTIATION7Amy Elsner
1002Claire F OldroydAustralia2025-08-20King, Christopher A Esq UNQUALIFIED21Elwin Sharvill
1003Sinclair Z BriddickRussia2025-08-26Commercial Press NEW67Onyama Limba
1004Costa E RulapaughBrazil2025-08-03King, Christopher A Esq PROPOSAL17Elwin Sharvill
1005Johnson X GauchoJapan2025-08-13Benton, John B Jr QUALIFIED21Xuxue Feng
1006Smith H FollerGermany2025-08-09Buckley Miller Wright UNQUALIFIED97Ioni Bowcher
1007Rodrigues Z WhobreyArgentina2025-08-04Rousseaux, Michael Esq PROPOSAL6Asiya Javayant
1008Jeanfrancois Y BologniaAustralia2025-08-24Benton, John B Jr QUALIFIED28Ivan Magalhaes
1009Maria B FlosiItaly2025-08-24Truhlar And Truhlar Attys RENEWAL1Asiya Javayant
1010Antonio B FollerSpain2025-08-19Commercial Press PROPOSAL53Onyama Limba
1011Leja G DarakjyAustralia2025-08-05Feiner Bros NEGOTIATION1Amy Elsner
1012Ashley N PerinJapan2025-08-09Chapman, Ross E Esq PROPOSAL87Stephen Shaw
1013Costa Z IturbideAustralia2025-08-16Chemel, James L Cpa RENEWAL47Asiya Javayant
1014Aditya R CaudyIndia2025-08-13Morlong Associates UNQUALIFIED45Ivan Magalhaes
1015Deepesh C CaudyGermany2025-08-26Dorl, James J Esq NEGOTIATION26Anna Fali
1016Jefferson C RimIndia2025-08-20Printing Dimensions RENEWAL92Stephen Shaw
1017Rodrigues W DarakjyGermany2025-08-01Chanay, Jeffrey A Esq RENEWAL52Anna Fali
1018Munro G OldroydAustralia2025-08-10Benton, John B Jr NEW25Ivan Magalhaes
1019Greenwood F AlbaresIndia2025-08-17Rousseaux, Michael Esq UNQUALIFIED48Anna Fali
1020Alejandro J CaldareraRussia2025-08-07Feiner Bros UNQUALIFIED54Ioni Bowcher
1021Claire D KuskoUnited Kingdom2025-08-16Chanay, Jeffrey A Esq QUALIFIED16Bernardo Dominic
1022Kaitlin O WhobreyCanada2025-08-22Feiner Bros UNQUALIFIED30Stephen Shaw
1023Ivar C RoysterBrazil2025-08-24Printing Dimensions RENEWAL62Amy Elsner
1024Costa S MacleadCanada2025-08-12King, Christopher A Esq PROPOSAL15Onyama Limba
1025Isabel S BowleySpain2025-08-20Feltz Printing Service RENEWAL61Asiya Javayant
1026Sinclair L OstroskyIndia2025-08-18Feiner Bros NEW73Amy Elsner
1027Adams H AmigonRussia2025-08-23Chanay, Jeffrey A Esq QUALIFIED64Elwin Sharvill
1028Maria T SaylorsAustralia2025-08-13Chemel, James L Cpa NEGOTIATION72Onyama Limba
1029Rodrigues Y MorascaRussia2025-08-17Chanay, Jeffrey A Esq QUALIFIED16Amy Elsner
1030Aruna Q TollnerIndia2025-08-13Dorl, James J Esq UNQUALIFIED81Amy Elsner
1031David B OldroydRussia2025-07-31Commercial Press PROPOSAL99Anna Fali
1032Ricardo U WhobreyUnited Kingdom2025-08-01Chanay, Jeffrey A Esq RENEWAL53Amy Elsner
1033Octavia S CaldareraFrance2025-08-17Chanay, Jeffrey A Esq PROPOSAL22Onyama Limba
1034Salvatore W KolmetzUnited Kingdom2025-08-10Buckley Miller Wright UNQUALIFIED26Stephen Shaw
1035Aditya Z TollnerSpain2025-08-07Chanay, Jeffrey A Esq NEGOTIATION80Bernardo Dominic
1036Aruna I SaylorsItaly2025-08-05Rangoni Of Florence NEGOTIATION21Stephen Shaw
1037Alejandro V AlbaresArgentina2025-08-24Feltz Printing Service QUALIFIED5Asiya Javayant
1038Ashley I VenereUnited Kingdom2025-08-24Printing Dimensions RENEWAL8Asiya Javayant
1039Tony X VocelkaAustralia2025-08-27Chanay, Jeffrey A Esq QUALIFIED28Elwin Sharvill
1040Adams J RutaIndia2025-08-15Rousseaux, Michael Esq NEGOTIATION99Amy Elsner
1041Kadeem N WieserBrazil2025-08-20Rangoni Of Florence PROPOSAL72Ioni Bowcher
1042Munro U SergiCanada2025-08-11Buckley Miller Wright PROPOSAL27Amy Elsner
1043Deepesh V DilliardArgentina2025-08-21Commercial Press QUALIFIED45Stephen Shaw
1044Kadeem I RimSpain2025-08-20Dorl, James J Esq UNQUALIFIED57Onyama Limba
1045Kaitlin Z IturbideItaly2025-08-25Rousseaux, Michael Esq UNQUALIFIED78Stephen Shaw
1046Juan K MarrierSpain2025-08-28Commercial Press UNQUALIFIED73Xuxue Feng
1047Cody H ChuiRussia2025-08-06Benton, John B Jr NEGOTIATION98Anna Fali
1048Aditya A GauchoAustralia2025-08-09Chapman, Ross E Esq UNQUALIFIED2Xuxue Feng
1049Juan H GlickCanada2025-08-26Morlong Associates RENEWAL75Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin A OldroydArgentinaElwin Sharvill UNQUALIFIED
Costa F MarrierIndiaIvan Magalhaes NEGOTIATION
Emily U FlosiArgentinaAnna Fali NEW
Deepesh W DoeCanadaAnna Fali NEGOTIATION
Jones B RimArgentinaBernardo Dominic NEGOTIATION
Deepesh B CaudySpainAnna Fali PROPOSAL
Izzy W PaprockiJapanStephen Shaw NEGOTIATION
Stacey L CaldareraSpainIvan Magalhaes NEW
Maria S RulapaughArgentinaIoni Bowcher PROPOSAL
Leon G GlickBrazilAmy Elsner UNQUALIFIED
Sinclair G SaylorsSpainXuxue Feng UNQUALIFIED
Ivar H AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Antonio G CaudySpainAnna Fali NEW
Julie V FollerArgentinaAmy Elsner UNQUALIFIED
Octavia N BriddickSpainBernardo Dominic NEW
Misaki B GlickItalyElwin Sharvill UNQUALIFIED
Arvin F AmigonFranceXuxue Feng QUALIFIED
Ricardo U RulapaughItalyAsiya Javayant RENEWAL
Clifford B RulapaughUnited KingdomAmy Elsner NEGOTIATION
Claire X GarufiAustraliaBernardo Dominic NEGOTIATION
Darci P PaprockiCanadaAnna Fali PROPOSAL
Kadeem I ShinkoCanadaIvan Magalhaes RENEWAL
Aika E VocelkaIndiaAsiya Javayant PROPOSAL
Aditya H VenereArgentinaStephen Shaw QUALIFIED
Nicolas M RimBrazilIvan Magalhaes RENEWAL
Isabel I WaycottArgentinaIoni Bowcher UNQUALIFIED
Johnson P CaudyCanadaBernardo Dominic NEW
James Z SlusarskiUnited KingdomXuxue Feng QUALIFIED
Stacey T BologniaIndiaBernardo Dominic UNQUALIFIED
Kadeem M PoquetteFranceXuxue Feng UNQUALIFIED
Ashley L MorascaIndiaAnna Fali QUALIFIED
Juan N SchemmerCanadaAsiya Javayant UNQUALIFIED
Wickens E PoquetteJapanBernardo Dominic NEW
Aruna B InouyeSpainBernardo Dominic QUALIFIED
Deepesh O DarakjyBrazilStephen Shaw NEGOTIATION
Aruna T OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Aika O KuskoCanadaBernardo Dominic RENEWAL
Deepesh M GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Leja U CaudyUnited KingdomElwin Sharvill QUALIFIED
Morrow S GauchoUnited KingdomIoni Bowcher NEGOTIATION
Maria X PerinItalyXuxue Feng RENEWAL
Sinclair X MarrierItalyStephen Shaw QUALIFIED
Cody V PerinRussiaBernardo Dominic QUALIFIED
Cody D RutaIndiaOnyama Limba PROPOSAL
Izzy Q SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Arvin W FigeroaIndiaBernardo Dominic NEW
Faith A PerinSpainAmy Elsner QUALIFIED
James I NickaGermanyStephen Shaw QUALIFIED
Wickens R FlosiJapanStephen Shaw QUALIFIED
Julie G PaprockiIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Johnson X Stenseth
Silvio K Paprocki
David N Campain
Isabel Y Nestle
Mayumi O Malet
Silvio K Figeroa
Mujtaba Y Kusko
James V Marrier
Silvio B Marrier
Johnson Y Iturbide
Silvio G Figeroa
Wickens X Malet
Murillo K Nestle
Juan U Dilliard
Chavez S Malet
Alejandro P Stenseth
Sinclair L Ruta
Sinclair E Ferencz
Ivar U Gillian
Stacey R Saylors
Ashley N Saylors
Chavez Y Malet
Stacey R Ruta
Deepesh T Glick
Kadeem S Venere
Munro R Rulapaugh
Claire A Rulapaugh
Chavez M Flosi
Alejandro W Bowley
Morrow W Kusko
Emily R Bolognia
Stacey R Stockham
Izzy H Nicka
David I Vocelka
Jefferson E Royster
Izzy X Perin
Cody R Venere
Wickens A Malet
Mujtaba H Wieser
Smith B Iturbide
James Z Amigon
Aditya R Nestle
Costa P Flosi
Wickens B Malet
Sinclair K Tollner
Arvin D Venere
Aditya Y Malet
Mujtaba I Venere
Wickens X Schemmer
Greenwood U Chui
IdCountryDate
1000Canada2025-08-18
1001Spain2025-08-07
1002Argentina2025-08-01
1003India2025-08-13
1004Australia2025-08-08
1005Spain2025-08-08
1006Argentina2025-08-17
1007Italy2025-08-03
1008Germany2025-08-14
1009Russia2025-08-11
1010Canada2025-08-13
1011Argentina2025-08-02
1012Brazil2025-08-20
1013Argentina2025-08-14
1014Argentina2025-08-14
1015Spain2025-08-18
1016Brazil2025-08-15
1017India2025-08-11
1018Brazil2025-08-21
1019Brazil2025-08-17
1020Russia2025-08-02
1021Argentina2025-08-27
1022India2025-08-21
1023Italy2025-08-27
1024Italy2025-08-15
1025Spain2025-08-10
1026Japan2025-08-03
1027France2025-08-25
1028Brazil2025-08-10
1029Italy2025-08-26
1030India2025-08-22
1031Canada2025-08-10
1032Russia2025-08-17
1033France2025-08-23
1034Canada2025-08-13
1035United Kingdom2025-08-16
1036United Kingdom2025-08-25
1037France2025-08-28
1038Australia2025-08-27
1039India2025-08-04
1040Spain2025-08-08
1041United Kingdom2025-08-19
1042Brazil2025-08-09
1043Brazil2025-08-01
1044India2025-08-12
1045Spain2025-08-09
1046Canada2025-08-12
1047Canada2025-08-06
1048Spain2025-08-24
1049Canada2025-08-24

On-Demand Data

NameIdCountryDate
Mujtaba W Amigon1000Australia2025-08-12
Ivar X Nicka1001United Kingdom2025-08-11
Maisha X Shinko1002United Kingdom2025-07-31
Alejandro D Briddick1003Italy2025-08-03
Aika J Rim1004India2025-08-05
Stacey O Vocelka1005Russia2025-08-12
Ivar B Garufi1006Italy2025-08-05
David U Bolognia1007France2025-08-23
Aruna D Royster1008Australia2025-08-29
Greenwood N Campain1009United Kingdom2025-08-16
Munro C Morasca1010Italy2025-07-31
Emily P Foller1011Brazil2025-08-10
Mayumi L Gaucho1012Argentina2025-08-09
Faith K Schemmer1013Brazil2025-08-26
Mujtaba D Ruta1014Brazil2025-08-28
Tony Q Slusarski1015Italy2025-08-01
David D Shinko1016France2025-08-27
Ivar J Shinko1017Spain2025-08-29
Tony D Venere1018Argentina2025-08-09
Izzy Z Tollner1019Germany2025-08-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood L OldroydFranceOnyama Limba NEGOTIATION
Ashley P BriddickGermanyStephen Shaw UNQUALIFIED
Chavez P MorascaCanadaAmy Elsner NEGOTIATION
Maisha X PaprockiIndiaAsiya Javayant RENEWAL
Stacey Q KuskoJapanAmy Elsner NEW
Rodrigues Z ButtFranceAsiya Javayant PROPOSAL
Jennifer T ShinkoItalyXuxue Feng RENEWAL
Kaitlin J DoeRussiaAsiya Javayant QUALIFIED
Jeanfrancois T MaletSpainAmy Elsner NEW
Kadeem H ChuiGermanyStephen Shaw PROPOSAL
Emily R MacleadItalyIvan Magalhaes PROPOSAL
Emily J GauchoArgentinaStephen Shaw QUALIFIED
Darci N NickaItalyIoni Bowcher RENEWAL
Jefferson D SlusarskiArgentinaIoni Bowcher NEGOTIATION
Julie K StockhamJapanXuxue Feng UNQUALIFIED
Kadeem Q RimJapanBernardo Dominic NEW
Murillo T WieserIndiaAsiya Javayant RENEWAL
Jones T FigeroaFranceAmy Elsner RENEWAL
Nicolas I GlickRussiaBernardo Dominic PROPOSAL
Rodrigues P MarrierRussiaAmy Elsner NEGOTIATION
James O GillianCanadaXuxue Feng NEGOTIATION
Jennifer B CampainCanadaAnna Fali NEW
Ivar H BriddickArgentinaAsiya Javayant RENEWAL
Alejandro S DarakjyArgentinaIvan Magalhaes PROPOSAL
Ashley Z NickaRussiaIvan Magalhaes NEW
Leon T MarrierSpainAsiya Javayant UNQUALIFIED
James P ButtGermanyStephen Shaw PROPOSAL
Mujtaba Q KuskoIndiaAsiya Javayant NEGOTIATION
Misaki W InouyeRussiaBernardo Dominic RENEWAL
Antonio T DilliardCanadaIvan Magalhaes PROPOSAL
Misaki C GillianArgentinaBernardo Dominic PROPOSAL
Jefferson I AlbaresRussiaAsiya Javayant NEW
Sinclair R StensethFranceBernardo Dominic RENEWAL
Salvatore L CaldareraIndiaAnna Fali NEW
Aditya G GauchoSpainElwin Sharvill NEGOTIATION
Johnson O VenereCanadaOnyama Limba PROPOSAL
Wickens J RimSpainBernardo Dominic NEGOTIATION
Clifford Y BowleyJapanStephen Shaw NEW
Leja J MaletAustraliaElwin Sharvill PROPOSAL
Aditya F StockhamJapanIoni Bowcher NEGOTIATION

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