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
Cody I GillianCanadaAnna Fali UNQUALIFIED
Darci P StensethAustraliaAmy Elsner QUALIFIED
Misaki F DarakjyIndiaStephen Shaw UNQUALIFIED
Kaitlin K FerenczGermanyElwin Sharvill NEW
Jefferson G GarufiUnited KingdomStephen Shaw NEGOTIATION
Isabel R VocelkaIndiaStephen Shaw PROPOSAL
Isabel S AlbaresBrazilAsiya Javayant NEGOTIATION
Izzy E FollerItalyOnyama Limba UNQUALIFIED
Octavia S ButtUnited KingdomStephen Shaw UNQUALIFIED
Munro Q WhobreyArgentinaAsiya Javayant NEW
Octavia Z ButtUnited KingdomAmy Elsner UNQUALIFIED
Kadeem A GillianJapanStephen Shaw UNQUALIFIED
Stacey L BologniaRussiaStephen Shaw NEGOTIATION
Cody L ButtArgentinaIvan Magalhaes NEGOTIATION
Smith T WhobreyBrazilAnna Fali UNQUALIFIED
Silvio H OstroskyAustraliaIvan Magalhaes RENEWAL
James V MaletFranceBernardo Dominic NEGOTIATION
Sinclair W SergiFranceOnyama Limba UNQUALIFIED
Murillo Q NickaArgentinaIvan Magalhaes NEW
Arvin P ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi A RoysterIndiaOnyama Limba UNQUALIFIED
Antonio Q FigeroaAustraliaStephen Shaw QUALIFIED
Salvatore L FollerAustraliaAsiya Javayant RENEWAL
Smith P GarufiUnited KingdomIvan Magalhaes PROPOSAL
Izzy R RoysterSpainBernardo Dominic RENEWAL
Aika N AlbaresArgentinaXuxue Feng PROPOSAL
Rodrigues K DarakjyRussiaXuxue Feng NEW
Kaitlin W FigeroaAustraliaAmy Elsner NEW
Julie Q MacleadCanadaXuxue Feng RENEWAL
Darci C DilliardFranceStephen Shaw UNQUALIFIED
Mujtaba V RoysterFranceIvan Magalhaes NEGOTIATION
Salvatore B WieserAustraliaAsiya Javayant UNQUALIFIED
Ashley J WaycottRussiaAsiya Javayant NEW
Arvin G GlickGermanyBernardo Dominic QUALIFIED
Maria Y PerinArgentinaBernardo Dominic NEW
David Z StensethSpainAsiya Javayant UNQUALIFIED
Kaitlin K OstroskyIndiaBernardo Dominic UNQUALIFIED
Faith O MaletFranceAmy Elsner PROPOSAL
Kaitlin K MorascaAustraliaElwin Sharvill QUALIFIED
Jennifer B BologniaSpainAmy Elsner PROPOSAL
Cody D PaprockiIndiaIoni Bowcher NEGOTIATION
Ricardo V DilliardCanadaAnna Fali QUALIFIED
Morrow A MorascaItalyXuxue Feng NEW
Morrow J VenereAustraliaOnyama Limba UNQUALIFIED
Aika M PerinRussiaAnna Fali NEW
Costa A InouyeFranceIoni Bowcher UNQUALIFIED
Kaitlin M RimSpainAsiya Javayant PROPOSAL
Claire U PaprockiBrazilStephen Shaw NEW
Leja U PerinAustraliaAnna Fali QUALIFIED
Ashley U DoeItalyBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo B AmigonItalyOnyama Limba NEW
Alejandro H StockhamFranceAsiya Javayant RENEWAL
Murillo H MorascaItalyElwin Sharvill QUALIFIED
Claire S NestleSpainIvan Magalhaes NEGOTIATION
Juan G CaldareraBrazilBernardo Dominic QUALIFIED
Murillo Z CaldareraArgentinaIoni Bowcher PROPOSAL
Ricardo B GarufiCanadaXuxue Feng NEGOTIATION
Jones T TollnerArgentinaElwin Sharvill NEW
Maisha W BologniaBrazilAsiya Javayant UNQUALIFIED
Munro Y AmigonGermanyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair I RoysterIndia2025-09-10Commercial Press UNQUALIFIED82Stephen Shaw
1001Maria S FerenczAustralia2025-08-28Printing Dimensions PROPOSAL67Anna Fali
1002Leon Z DilliardSpain2025-09-13Feiner Bros PROPOSAL94Bernardo Dominic
1003Aika C PoquetteRussia2025-09-16Chapman, Ross E Esq RENEWAL81Anna Fali
1004Arvin G CaldareraFrance2025-08-31Chapman, Ross E Esq PROPOSAL63Elwin Sharvill
1005Izzy A DilliardJapan2025-09-08Truhlar And Truhlar Attys QUALIFIED83Stephen Shaw
1006Misaki Z WieserFrance2025-08-26Feiner Bros NEGOTIATION60Asiya Javayant
1007Emily X VocelkaGermany2025-08-21Feltz Printing Service NEW7Anna Fali
1008Octavia C InouyeGermany2025-09-07Dorl, James J Esq UNQUALIFIED85Elwin Sharvill
1009Julie S PoquetteUnited Kingdom2025-09-14Morlong Associates PROPOSAL62Bernardo Dominic
1010Silvio M DarakjyArgentina2025-09-02Rousseaux, Michael Esq RENEWAL4Xuxue Feng
1011Misaki W PoquetteFrance2025-09-14Chapman, Ross E Esq PROPOSAL29Amy Elsner
1012Jeanfrancois T SchemmerIndia2025-09-06Chanay, Jeffrey A Esq PROPOSAL6Stephen Shaw
1013Jennifer R ChuiUnited Kingdom2025-09-12Commercial Press PROPOSAL38Ioni Bowcher
1014Adams M BriddickItaly2025-09-15Feiner Bros UNQUALIFIED89Onyama Limba
1015Deepesh X MorascaArgentina2025-09-13Dorl, James J Esq QUALIFIED72Xuxue Feng
1016Maria U ButtIndia2025-08-22King, Christopher A Esq PROPOSAL54Xuxue Feng
1017Murillo L GarufiBrazil2025-08-27Chemel, James L Cpa NEGOTIATION31Xuxue Feng
1018Emily F FlosiAustralia2025-09-15King, Christopher A Esq NEGOTIATION80Asiya Javayant
1019Mayumi K PoquetteGermany2025-08-28Feiner Bros NEW90Bernardo Dominic
1020Juan G MarrierGermany2025-08-25Rousseaux, Michael Esq NEGOTIATION26Anna Fali
1021Leon N TollnerUnited Kingdom2025-09-01King, Christopher A Esq NEGOTIATION77Asiya Javayant
1022Greenwood A FigeroaJapan2025-09-03King, Christopher A Esq NEGOTIATION91Stephen Shaw
1023Greenwood E IturbideBrazil2025-08-30Dorl, James J Esq NEW27Elwin Sharvill
1024Ivar D DilliardBrazil2025-08-22Truhlar And Truhlar Attys NEGOTIATION41Anna Fali
1025Adams Z ButtSpain2025-09-15Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1026Octavia M GillianSpain2025-08-29Chemel, James L Cpa PROPOSAL76Bernardo Dominic
1027Cody I OstroskyJapan2025-09-14Benton, John B Jr NEW57Bernardo Dominic
1028Jennifer A FerenczCanada2025-09-08Feiner Bros NEW80Anna Fali
1029Aruna F SchemmerAustralia2025-08-28King, Christopher A Esq QUALIFIED4Onyama Limba
1030Claire U IturbideIndia2025-08-27Chemel, James L Cpa UNQUALIFIED16Elwin Sharvill
1031Claire Y AlbaresSpain2025-08-28Rangoni Of Florence UNQUALIFIED44Amy Elsner
1032Aditya R ButtRussia2025-09-03Commercial Press NEW4Ioni Bowcher
1033Ricardo E FigeroaGermany2025-09-02Dorl, James J Esq UNQUALIFIED64Onyama Limba
1034Morrow B BologniaFrance2025-08-22Buckley Miller Wright UNQUALIFIED57Ioni Bowcher
1035Mujtaba Y ShinkoAustralia2025-09-02King, Christopher A Esq NEW34Anna Fali
1036Leon P VocelkaSpain2025-08-23Chemel, James L Cpa RENEWAL39Anna Fali
1037Ashley Q DoeBrazil2025-09-14Dorl, James J Esq NEGOTIATION81Ioni Bowcher
1038Ivar Y MorascaCanada2025-09-14Feiner Bros UNQUALIFIED77Anna Fali
1039Jeanfrancois R BowleyUnited Kingdom2025-09-01Chanay, Jeffrey A Esq NEGOTIATION13Asiya Javayant
1040Jones L SchemmerSpain2025-08-30Feiner Bros QUALIFIED59Xuxue Feng
1041David C InouyeJapan2025-08-22Chapman, Ross E Esq RENEWAL85Elwin Sharvill
1042Greenwood M DarakjyJapan2025-09-17Chemel, James L Cpa QUALIFIED8Ivan Magalhaes
1043Maisha L RutaJapan2025-09-15Commercial Press NEGOTIATION90Xuxue Feng
1044Nicolas O MorascaRussia2025-08-27Rousseaux, Michael Esq QUALIFIED37Ivan Magalhaes
1045Maisha Z MarrierIndia2025-08-23King, Christopher A Esq UNQUALIFIED55Ivan Magalhaes
1046Tony A PaprockiRussia2025-09-12Chapman, Ross E Esq NEW60Elwin Sharvill
1047Julie J FlosiFrance2025-08-28Feiner Bros NEGOTIATION91Ioni Bowcher
1048Darci X NickaBrazil2025-09-03Morlong Associates QUALIFIED77Onyama Limba
1049Clifford Q WieserUnited Kingdom2025-09-14Chemel, James L Cpa NEGOTIATION37Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Sinclair W MacleadUnited KingdomStephen Shaw PROPOSAL
Chavez Q StensethItalyIvan Magalhaes UNQUALIFIED
Arvin C DarakjyFranceAmy Elsner PROPOSAL
Antonio C DarakjyJapanElwin Sharvill NEGOTIATION
Misaki A WieserBrazilStephen Shaw PROPOSAL
Jones J SergiBrazilOnyama Limba NEW
Rodrigues E ButtGermanyAsiya Javayant QUALIFIED
Faith U CampainBrazilStephen Shaw QUALIFIED
Kaitlin K MacleadJapanXuxue Feng NEW
Mayumi R RulapaughIndiaAmy Elsner NEW
Wickens R IturbideFranceAmy Elsner NEW
Adams J DilliardFranceBernardo Dominic NEGOTIATION
Alejandro R ButtUnited KingdomBernardo Dominic UNQUALIFIED
Antonio P NickaSpainOnyama Limba RENEWAL
Jeanfrancois U MorascaCanadaOnyama Limba UNQUALIFIED
Morrow Q GlickGermanyElwin Sharvill NEW
Ivar A KolmetzUnited KingdomAmy Elsner QUALIFIED
Leon A KolmetzJapanOnyama Limba QUALIFIED
Munro B RimRussiaXuxue Feng NEGOTIATION
Salvatore M BriddickUnited KingdomStephen Shaw QUALIFIED
Jennifer S FollerJapanAnna Fali QUALIFIED
Rodrigues U OldroydRussiaBernardo Dominic RENEWAL
Antonio T TollnerUnited KingdomBernardo Dominic NEGOTIATION
James G AlbaresSpainAnna Fali UNQUALIFIED
Maisha C ShinkoItalyAsiya Javayant QUALIFIED
Juan I ChuiSpainAmy Elsner UNQUALIFIED
Munro E FigeroaIndiaStephen Shaw NEW
Claire P TollnerGermanyIvan Magalhaes QUALIFIED
Wickens S ChuiGermanyAnna Fali QUALIFIED
Claire Z GlickGermanyIvan Magalhaes UNQUALIFIED
Aruna R BriddickCanadaAmy Elsner RENEWAL
Jeanfrancois W MorascaSpainStephen Shaw PROPOSAL
Ricardo Z MaletCanadaAsiya Javayant NEGOTIATION
Kaitlin J SaylorsGermanyIvan Magalhaes QUALIFIED
Alejandro I RoysterBrazilAsiya Javayant QUALIFIED
Ivar B DoeArgentinaAsiya Javayant QUALIFIED
Murillo W VocelkaAustraliaIoni Bowcher NEW
Misaki F GauchoRussiaElwin Sharvill PROPOSAL
Jones X DoeRussiaBernardo Dominic NEW
Misaki S MacleadJapanElwin Sharvill QUALIFIED
Maria H SergiUnited KingdomAmy Elsner UNQUALIFIED
Chavez K OstroskyCanadaStephen Shaw QUALIFIED
Maisha N RoysterRussiaXuxue Feng QUALIFIED
Izzy Y StockhamCanadaIoni Bowcher NEGOTIATION
Octavia F WieserGermanyAnna Fali NEW
Antonio M SchemmerCanadaBernardo Dominic RENEWAL
Juan Z WhobreyBrazilOnyama Limba UNQUALIFIED
Sinclair Y ShinkoCanadaOnyama Limba QUALIFIED
Tony I FerenczRussiaAmy Elsner NEGOTIATION
Munro L GauchoBrazilIoni Bowcher PROPOSAL
Frozen Columns
Name
Chavez C Tollner
Izzy A Stockham
Kaitlin H Butt
Emily E Slusarski
James N Kusko
Faith I Briddick
Arvin O Stenseth
Salvatore W Shinko
Chavez F Briddick
Greenwood R Paprocki
Aditya B Morasca
Silvio U Kolmetz
Clifford Q Venere
Jeanfrancois D Waycott
Arvin T Caudy
Aruna R Ruta
Tony M Stockham
Francesco U Iturbide
Salvatore G Wieser
Kaitlin Y Stenseth
Aruna I Flosi
Ashley D Inouye
Jones U Kolmetz
Jefferson L Kolmetz
Juan U Paprocki
Faith T Perin
Nicolas R Tollner
Aruna W Maclead
Mayumi V Ruta
Nicolas M Foller
Kadeem G Nestle
Stacey S Gillian
Murillo A Flosi
Jefferson S Dilliard
Ivar L Malet
Clifford F Gillian
Darci W Wieser
Murillo P Stenseth
Alejandro Z Kolmetz
Maria A Ostrosky
James D Waycott
Smith P Royster
Silvio H Bowley
Aditya F Darakjy
Deepesh E Flosi
Silvio M Paprocki
Maria C Caudy
Misaki M Stenseth
Stacey U Bolognia
Sinclair D Poquette
IdCountryDate
1000Brazil2025-09-17
1001Japan2025-08-27
1002Canada2025-08-30
1003United Kingdom2025-08-23
1004United Kingdom2025-09-07
1005France2025-09-01
1006Japan2025-08-30
1007India2025-08-24
1008France2025-09-04
1009Canada2025-08-24
1010Germany2025-08-22
1011Italy2025-08-20
1012Spain2025-09-15
1013Canada2025-09-08
1014Russia2025-08-29
1015Japan2025-08-23
1016Japan2025-08-28
1017France2025-09-11
1018United Kingdom2025-09-13
1019Japan2025-09-05
1020Argentina2025-08-23
1021Canada2025-08-21
1022Italy2025-09-16
1023Brazil2025-09-14
1024Spain2025-09-10
1025United Kingdom2025-09-12
1026Canada2025-08-27
1027Argentina2025-08-30
1028Germany2025-08-27
1029India2025-08-24
1030Brazil2025-08-26
1031Australia2025-08-19
1032Germany2025-08-27
1033Germany2025-09-13
1034India2025-09-17
1035Italy2025-08-20
1036Canada2025-09-17
1037Russia2025-09-16
1038Italy2025-09-15
1039United Kingdom2025-09-04
1040United Kingdom2025-09-12
1041Spain2025-09-04
1042Spain2025-08-25
1043Argentina2025-09-15
1044United Kingdom2025-09-08
1045Japan2025-08-29
1046Spain2025-09-17
1047Brazil2025-08-19
1048Germany2025-09-07
1049Canada2025-09-14

On-Demand Data

NameIdCountryDate
Nicolas R Glick1000Australia2025-08-25
Nicolas E Rulapaugh1001Japan2025-08-29
Leja G Vocelka1002Spain2025-08-30
Leja V Nestle1003Canada2025-09-10
Aditya G Briddick1004Argentina2025-09-01
Jones Z Bolognia1005France2025-09-11
Isabel L Paprocki1006Argentina2025-09-06
Cody P Ruta1007Australia2025-08-29
Murillo F Doe1008Spain2025-09-09
Faith G Iturbide1009Germany2025-08-29
Jeanfrancois Z Malet1010Canada2025-09-01
Mujtaba T Caldarera1011France2025-09-02
Rodrigues Q Albares1012Japan2025-09-16
Morrow N Campain1013Germany2025-08-19
Emily B Inouye1014Spain2025-09-14
Aruna E Dilliard1015Spain2025-09-07
Aruna V Slusarski1016Canada2025-08-26
Kaitlin U Amigon1017France2025-08-21
Mayumi R Rulapaugh1018Japan2025-08-24
Aika U Iturbide1019Spain2025-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna A DoeBrazilStephen Shaw PROPOSAL
Arvin R WieserJapanIvan Magalhaes QUALIFIED
Munro N GarufiGermanyAnna Fali QUALIFIED
Izzy I DarakjyUnited KingdomAnna Fali NEGOTIATION
Chavez U SergiCanadaBernardo Dominic QUALIFIED
Ashley I MacleadUnited KingdomIoni Bowcher PROPOSAL
Antonio D NestleUnited KingdomStephen Shaw PROPOSAL
Silvio C WhobreyCanadaAsiya Javayant QUALIFIED
Silvio N GarufiGermanyStephen Shaw NEW
Julie G CampainAustraliaAnna Fali RENEWAL
Greenwood C StockhamCanadaOnyama Limba RENEWAL
Maisha V StensethJapanOnyama Limba RENEWAL
Cody F RimIndiaAsiya Javayant PROPOSAL
David G WaycottArgentinaIoni Bowcher PROPOSAL
Smith J PaprockiBrazilIvan Magalhaes PROPOSAL
Aruna U IturbideBrazilXuxue Feng NEW
Isabel I GillianIndiaIvan Magalhaes QUALIFIED
Chavez A AmigonSpainIoni Bowcher QUALIFIED
Jones Y RoysterItalyAnna Fali NEW
Kaitlin U GillianSpainAmy Elsner NEGOTIATION
Chavez J NestleArgentinaBernardo Dominic QUALIFIED
Ricardo T BologniaBrazilAmy Elsner RENEWAL
Misaki I TollnerItalyIoni Bowcher RENEWAL
Aditya V RulapaughItalyAnna Fali UNQUALIFIED
Julie C PoquetteRussiaIoni Bowcher QUALIFIED
Maisha V RoysterUnited KingdomAmy Elsner NEW
Darci P DilliardBrazilOnyama Limba QUALIFIED
Ivar P KolmetzIndiaXuxue Feng QUALIFIED
Munro H IturbideRussiaIoni Bowcher NEW
Chavez Y GauchoItalyBernardo Dominic PROPOSAL
Adams L BowleyCanadaXuxue Feng QUALIFIED
Julie K MaletUnited KingdomIvan Magalhaes RENEWAL
Leja Y KuskoGermanyElwin Sharvill NEGOTIATION
Murillo H KolmetzCanadaAmy Elsner RENEWAL
Munro N ChuiItalyAnna Fali NEGOTIATION
James Q SaylorsJapanOnyama Limba NEGOTIATION
Salvatore E NickaUnited KingdomXuxue Feng QUALIFIED
Greenwood P SlusarskiRussiaBernardo Dominic QUALIFIED
Maisha L SaylorsArgentinaXuxue Feng PROPOSAL
Francesco Y FlosiIndiaOnyama Limba UNQUALIFIED

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