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
Aruna R FigeroaBrazilIvan Magalhaes RENEWAL
Mujtaba D SergiUnited KingdomStephen Shaw QUALIFIED
Aruna V GauchoBrazilStephen Shaw PROPOSAL
Ricardo V GillianIndiaStephen Shaw QUALIFIED
Mujtaba R SergiJapanIvan Magalhaes UNQUALIFIED
Jennifer G NestleJapanIvan Magalhaes QUALIFIED
Johnson G MaletJapanElwin Sharvill NEW
Jefferson V VocelkaSpainXuxue Feng QUALIFIED
Mayumi L InouyeCanadaBernardo Dominic RENEWAL
Maria V MorascaCanadaBernardo Dominic NEGOTIATION
Aika B VocelkaAustraliaAmy Elsner NEW
Alejandro V PerinCanadaAnna Fali PROPOSAL
Octavia M DilliardCanadaAsiya Javayant NEGOTIATION
Costa K RimFranceBernardo Dominic NEW
Kadeem T RulapaughCanadaIvan Magalhaes UNQUALIFIED
Mujtaba I WieserItalyXuxue Feng RENEWAL
Greenwood Q CaudyJapanAmy Elsner UNQUALIFIED
Julie T SaylorsAustraliaAsiya Javayant NEGOTIATION
Ricardo U CaldareraGermanyAsiya Javayant NEGOTIATION
Darci B SchemmerSpainAnna Fali QUALIFIED
Octavia P WieserIndiaXuxue Feng PROPOSAL
Kaitlin I PoquetteCanadaIoni Bowcher UNQUALIFIED
Kadeem S StockhamJapanElwin Sharvill UNQUALIFIED
Salvatore G BriddickRussiaElwin Sharvill QUALIFIED
Juan V TollnerJapanElwin Sharvill UNQUALIFIED
Kaitlin M FigeroaUnited KingdomBernardo Dominic RENEWAL
Cody Y BowleyItalyIoni Bowcher NEW
Deepesh Q RimBrazilAmy Elsner NEW
James P FlosiArgentinaIoni Bowcher PROPOSAL
Mujtaba A InouyeUnited KingdomBernardo Dominic NEW
Isabel C BologniaCanadaAsiya Javayant QUALIFIED
Jones N MaletBrazilIoni Bowcher RENEWAL
Wickens I BriddickUnited KingdomAmy Elsner RENEWAL
Mujtaba O SaylorsItalyBernardo Dominic UNQUALIFIED
Izzy M InouyeArgentinaOnyama Limba QUALIFIED
James D GlickArgentinaBernardo Dominic NEW
Julie A ShinkoItalyIvan Magalhaes NEW
Isabel R CaudyBrazilElwin Sharvill NEGOTIATION
Ivar V AmigonFranceBernardo Dominic NEGOTIATION
Clifford J DarakjyItalyXuxue Feng UNQUALIFIED
David A DarakjyFranceAnna Fali RENEWAL
Mayumi Y RutaRussiaIoni Bowcher RENEWAL
Kaitlin W WaycottGermanyIvan Magalhaes NEGOTIATION
Kadeem L ShinkoAustraliaAnna Fali UNQUALIFIED
Stacey C FollerFranceBernardo Dominic NEGOTIATION
Silvio Y PaprockiUnited KingdomBernardo Dominic QUALIFIED
Sinclair V NestleBrazilBernardo Dominic UNQUALIFIED
Izzy B ShinkoGermanyBernardo Dominic NEW
Murillo E GillianIndiaOnyama Limba NEW
Wickens D MaletRussiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo V ShinkoArgentinaBernardo Dominic QUALIFIED
James X BowleyGermanyBernardo Dominic QUALIFIED
Mujtaba G DarakjySpainAmy Elsner UNQUALIFIED
Aditya Q KuskoAustraliaOnyama Limba QUALIFIED
Jennifer U CaldareraJapanIoni Bowcher NEGOTIATION
Nicolas J PaprockiRussiaIvan Magalhaes NEGOTIATION
David K WieserBrazilElwin Sharvill PROPOSAL
Julie X InouyeIndiaIvan Magalhaes NEW
Jennifer F DarakjyUnited KingdomAsiya Javayant NEW
Smith Z WhobreyGermanyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco F MorascaJapan2025-09-25Benton, John B Jr RENEWAL72Onyama Limba
1001Smith R BowleyGermany2025-10-04Morlong Associates UNQUALIFIED12Asiya Javayant
1002Faith K PoquetteArgentina2025-09-18Rousseaux, Michael Esq NEGOTIATION98Ioni Bowcher
1003Tony G WhobreyAustralia2025-09-29Chanay, Jeffrey A Esq UNQUALIFIED45Bernardo Dominic
1004Leon S FlosiUnited Kingdom2025-09-28Rangoni Of Florence NEGOTIATION73Asiya Javayant
1005Smith T IturbideArgentina2025-10-06Chemel, James L Cpa QUALIFIED11Stephen Shaw
1006Maisha W CaudyBrazil2025-10-03Benton, John B Jr PROPOSAL95Xuxue Feng
1007Aditya U FollerUnited Kingdom2025-09-27Truhlar And Truhlar Attys NEGOTIATION17Elwin Sharvill
1008Mujtaba X WieserBrazil2025-09-27Printing Dimensions UNQUALIFIED78Bernardo Dominic
1009Ricardo S VenereArgentina2025-10-14King, Christopher A Esq QUALIFIED83Elwin Sharvill
1010Izzy D MaletJapan2025-10-03Feiner Bros UNQUALIFIED33Onyama Limba
1011Jennifer A SchemmerArgentina2025-10-05Truhlar And Truhlar Attys NEGOTIATION19Stephen Shaw
1012Julie L MorascaUnited Kingdom2025-09-24Chemel, James L Cpa UNQUALIFIED64Ioni Bowcher
1013David P GauchoGermany2025-09-19Rangoni Of Florence NEW29Elwin Sharvill
1014Silvio E OldroydFrance2025-09-20Commercial Press QUALIFIED27Ivan Magalhaes
1015Izzy E NestleIndia2025-10-06Morlong Associates PROPOSAL79Xuxue Feng
1016Salvatore V BowleyRussia2025-10-06Chanay, Jeffrey A Esq QUALIFIED62Onyama Limba
1017Chavez O MaletGermany2025-09-26Feltz Printing Service UNQUALIFIED91Asiya Javayant
1018Sinclair D BriddickBrazil2025-10-02King, Christopher A Esq PROPOSAL84Stephen Shaw
1019Antonio H ChuiIndia2025-09-28Rangoni Of Florence PROPOSAL30Xuxue Feng
1020Ricardo O OldroydItaly2025-10-07Truhlar And Truhlar Attys PROPOSAL7Xuxue Feng
1021Tony R MarrierArgentina2025-09-26Feltz Printing Service QUALIFIED97Ioni Bowcher
1022Aditya Y RimIndia2025-10-17Rousseaux, Michael Esq NEGOTIATION57Bernardo Dominic
1023Maria W FigeroaBrazil2025-10-06Printing Dimensions PROPOSAL38Amy Elsner
1024Silvio W GarufiFrance2025-10-02King, Christopher A Esq PROPOSAL26Asiya Javayant
1025Nicolas L AlbaresIndia2025-10-17Feiner Bros UNQUALIFIED17Elwin Sharvill
1026Aruna F MorascaUnited Kingdom2025-10-06Buckley Miller Wright NEW96Asiya Javayant
1027Maisha S FigeroaJapan2025-10-07Commercial Press NEW20Amy Elsner
1028Costa X BriddickGermany2025-09-19Rousseaux, Michael Esq NEW4Amy Elsner
1029Munro D DilliardRussia2025-10-01Morlong Associates PROPOSAL45Elwin Sharvill
1030Murillo S ChuiArgentina2025-09-24Rousseaux, Michael Esq NEW74Amy Elsner
1031Kadeem K NestleJapan2025-10-13Benton, John B Jr RENEWAL88Asiya Javayant
1032Juan U IturbideSpain2025-10-08Chanay, Jeffrey A Esq NEGOTIATION23Xuxue Feng
1033Costa L RutaArgentina2025-09-20Feltz Printing Service RENEWAL70Amy Elsner
1034Emily E OldroydCanada2025-09-25Chanay, Jeffrey A Esq RENEWAL40Asiya Javayant
1035Aika K PaprockiRussia2025-09-19Printing Dimensions PROPOSAL68Bernardo Dominic
1036Rodrigues L OldroydAustralia2025-10-15Rousseaux, Michael Esq RENEWAL22Amy Elsner
1037Arvin X CaudyIndia2025-09-25Morlong Associates UNQUALIFIED87Xuxue Feng
1038Julie V FerenczSpain2025-10-15Chanay, Jeffrey A Esq QUALIFIED55Elwin Sharvill
1039Misaki T MaletAustralia2025-10-08Commercial Press QUALIFIED97Asiya Javayant
1040Murillo S WhobreyCanada2025-10-09Chemel, James L Cpa NEGOTIATION35Stephen Shaw
1041Ivar C AmigonArgentina2025-10-10Chemel, James L Cpa UNQUALIFIED81Amy Elsner
1042Antonio T MorascaBrazil2025-10-15Printing Dimensions QUALIFIED79Amy Elsner
1043Jefferson Q RimCanada2025-09-22Printing Dimensions PROPOSAL91Ioni Bowcher
1044Kadeem Q GlickGermany2025-09-25Feiner Bros PROPOSAL63Anna Fali
1045Aika B MaletSpain2025-09-19Feiner Bros QUALIFIED17Anna Fali
1046Salvatore R ChuiIndia2025-09-18Commercial Press NEGOTIATION1Anna Fali
1047Johnson B OldroydUnited Kingdom2025-09-26Chemel, James L Cpa NEGOTIATION25Ioni Bowcher
1048Wickens F GillianSpain2025-09-21Feiner Bros QUALIFIED0Onyama Limba
1049Tony L BowleySpain2025-09-21Rousseaux, Michael Esq UNQUALIFIED74Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro W InouyeJapanStephen Shaw NEGOTIATION
Rodrigues T CampainUnited KingdomOnyama Limba NEGOTIATION
Clifford B OldroydUnited KingdomXuxue Feng QUALIFIED
Julie W VenereCanadaStephen Shaw NEGOTIATION
Juan W NestleJapanBernardo Dominic QUALIFIED
Aditya X SaylorsAustraliaStephen Shaw QUALIFIED
Adams T AlbaresAustraliaBernardo Dominic RENEWAL
Clifford Q FerenczArgentinaAmy Elsner RENEWAL
Nicolas B KuskoGermanyXuxue Feng NEGOTIATION
Maria U DilliardAustraliaElwin Sharvill RENEWAL
Kadeem K WieserGermanyAmy Elsner NEGOTIATION
Costa Z StensethCanadaElwin Sharvill NEGOTIATION
Salvatore S ButtAustraliaAmy Elsner QUALIFIED
Mujtaba R MaletIndiaXuxue Feng PROPOSAL
Izzy A WieserJapanStephen Shaw UNQUALIFIED
Aditya X RoysterUnited KingdomAsiya Javayant NEGOTIATION
Clifford K KuskoGermanyAmy Elsner NEW
Morrow K GillianArgentinaAsiya Javayant QUALIFIED
Leon P SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Jennifer P NestleRussiaIoni Bowcher UNQUALIFIED
Smith R DarakjyRussiaAmy Elsner RENEWAL
Emily A ShinkoArgentinaElwin Sharvill RENEWAL
Faith T IturbideIndiaIvan Magalhaes UNQUALIFIED
James V RulapaughBrazilAmy Elsner UNQUALIFIED
Wickens G AlbaresArgentinaOnyama Limba NEW
Arvin N FigeroaArgentinaIoni Bowcher RENEWAL
Salvatore U DoeArgentinaAmy Elsner RENEWAL
Stacey F AlbaresIndiaElwin Sharvill NEGOTIATION
Silvio S SchemmerUnited KingdomAmy Elsner NEGOTIATION
Maisha W FlosiItalyBernardo Dominic NEW
Izzy Y PerinIndiaIoni Bowcher RENEWAL
Alejandro U WaycottBrazilOnyama Limba NEGOTIATION
Maria H GlickFranceAnna Fali QUALIFIED
Clifford F GarufiGermanyAmy Elsner RENEWAL
Silvio X SergiItalyElwin Sharvill QUALIFIED
Izzy U MacleadSpainXuxue Feng PROPOSAL
Claire L MaletRussiaAnna Fali UNQUALIFIED
Alejandro V AmigonSpainAsiya Javayant QUALIFIED
Faith F AlbaresRussiaElwin Sharvill NEGOTIATION
Sinclair I AlbaresGermanyIoni Bowcher QUALIFIED
Leja P GarufiItalyAmy Elsner RENEWAL
Aika Y ButtSpainXuxue Feng NEW
Greenwood G PaprockiJapanAnna Fali QUALIFIED
Chavez G FollerSpainElwin Sharvill RENEWAL
Izzy H MaletArgentinaXuxue Feng NEGOTIATION
Greenwood G BriddickCanadaElwin Sharvill NEGOTIATION
Costa N FollerAustraliaAnna Fali UNQUALIFIED
Ivar D KolmetzUnited KingdomOnyama Limba RENEWAL
Adams W OstroskyAustraliaIoni Bowcher QUALIFIED
Morrow E InouyeUnited KingdomIvan Magalhaes RENEWAL
Frozen Columns
Name
Aditya S Gillian
Octavia C Flosi
Darci B Sergi
Maria E Albares
Cody J Tollner
Jefferson D Caudy
Izzy M Gillian
Emily V Kusko
Maisha V Ostrosky
Arvin A Paprocki
Leja V Darakjy
Stacey N Glick
Maria R Malet
Ashley H Maclead
Francesco I Glick
Deepesh X Perin
Leja H Campain
Emily P Dilliard
Arvin V Royster
Mujtaba N Slusarski
Aika D Flosi
Adams R Rulapaugh
Mujtaba R Bolognia
Francesco U Gaucho
Silvio O Flosi
Morrow Z Iturbide
Darci P Nestle
Arvin O Caudy
Maisha L Butt
Ricardo M Caldarera
Mujtaba W Paprocki
Munro Q Stenseth
Greenwood D Slusarski
Misaki J Maclead
Maisha F Schemmer
Jeanfrancois H Stenseth
Julie O Amigon
Antonio H Morasca
David W Garufi
Wickens N Nicka
Juan D Campain
Adams U Marrier
Smith V Foller
Leon E Rim
Aruna F Bowley
Juan W Malet
Jeanfrancois A Iturbide
Aditya W Ruta
Nicolas L Campain
Johnson A Dilliard
IdCountryDate
1000Brazil2025-09-20
1001France2025-10-04
1002United Kingdom2025-09-24
1003France2025-09-19
1004France2025-10-11
1005Italy2025-09-18
1006Russia2025-09-22
1007United Kingdom2025-10-10
1008United Kingdom2025-10-12
1009India2025-10-03
1010United Kingdom2025-10-07
1011Italy2025-09-18
1012United Kingdom2025-10-17
1013United Kingdom2025-09-22
1014Russia2025-09-27
1015Argentina2025-10-04
1016France2025-10-05
1017Argentina2025-09-22
1018Argentina2025-09-30
1019Italy2025-10-03
1020Italy2025-10-08
1021Argentina2025-10-04
1022India2025-10-16
1023Canada2025-09-22
1024Russia2025-10-17
1025Italy2025-10-17
1026Japan2025-09-27
1027Brazil2025-10-09
1028Argentina2025-09-21
1029Japan2025-10-02
1030India2025-10-10
1031Brazil2025-09-21
1032France2025-09-26
1033Italy2025-09-23
1034Spain2025-09-24
1035Australia2025-10-08
1036Canada2025-09-22
1037Germany2025-10-03
1038Argentina2025-09-21
1039Spain2025-09-29
1040Germany2025-09-27
1041Canada2025-10-10
1042Spain2025-10-08
1043Canada2025-10-05
1044Italy2025-10-09
1045France2025-10-17
1046Brazil2025-10-13
1047Japan2025-09-20
1048Canada2025-10-04
1049Spain2025-10-09

On-Demand Data

NameIdCountryDate
Claire V Schemmer1000Canada2025-10-02
Alejandro A Schemmer1001Spain2025-10-16
Greenwood K Poquette1002Spain2025-09-25
Mayumi A Stockham1003France2025-10-15
Silvio W Bolognia1004United Kingdom2025-10-08
Leja R Caudy1005Australia2025-10-05
Ricardo Q Caldarera1006Japan2025-10-01
Ricardo G Caldarera1007Spain2025-10-17
Jennifer Y Flosi1008Russia2025-09-29
Julie K Rulapaugh1009Italy2025-10-17
James N Vocelka1010Brazil2025-10-14
Julie E Campain1011France2025-10-06
James U Maclead1012India2025-10-06
Alejandro E Campain1013Argentina2025-09-25
Misaki E Caudy1014Italy2025-10-01
Rodrigues W Caudy1015Russia2025-10-11
Chavez R Kusko1016Spain2025-10-02
Smith K Morasca1017Canada2025-10-05
Jefferson D Chui1018Argentina2025-09-24
Arvin Q Oldroyd1019Germany2025-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow N BologniaJapanIoni Bowcher PROPOSAL
David Z AlbaresAustraliaAsiya Javayant PROPOSAL
Morrow A FlosiSpainStephen Shaw PROPOSAL
Isabel S AmigonRussiaAnna Fali NEW
James N VocelkaRussiaXuxue Feng RENEWAL
Morrow C DilliardCanadaElwin Sharvill NEGOTIATION
Cody D TollnerCanadaAmy Elsner NEGOTIATION
Misaki Q NestleUnited KingdomXuxue Feng NEW
Tony Q ButtIndiaAnna Fali PROPOSAL
Kaitlin K VenereFranceIoni Bowcher UNQUALIFIED
Kadeem M GlickRussiaElwin Sharvill PROPOSAL
Rodrigues W OstroskyArgentinaAnna Fali NEW
Alejandro C CaldareraJapanBernardo Dominic NEW
Francesco P RutaUnited KingdomXuxue Feng UNQUALIFIED
Izzy H ButtArgentinaIvan Magalhaes RENEWAL
Stacey T CaldareraIndiaElwin Sharvill RENEWAL
Claire M WaycottBrazilOnyama Limba UNQUALIFIED
Deepesh X FigeroaRussiaIoni Bowcher UNQUALIFIED
Johnson W SlusarskiCanadaXuxue Feng NEW
Silvio Q SergiItalyXuxue Feng QUALIFIED
Ivar F GlickGermanyXuxue Feng PROPOSAL
Chavez U GlickAustraliaIvan Magalhaes UNQUALIFIED
Johnson H GillianBrazilXuxue Feng PROPOSAL
Ricardo C BriddickAustraliaIoni Bowcher PROPOSAL
Wickens Y RulapaughSpainIoni Bowcher PROPOSAL
Darci E CaldareraBrazilOnyama Limba QUALIFIED
Aruna Y OldroydIndiaElwin Sharvill QUALIFIED
Ashley Y WieserRussiaAsiya Javayant NEGOTIATION
Tony C BowleyFranceAnna Fali NEGOTIATION
Murillo E MaletCanadaStephen Shaw NEGOTIATION
Greenwood S MaletBrazilAnna Fali NEGOTIATION
Julie S OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba R SaylorsSpainIoni Bowcher RENEWAL
Johnson E InouyeIndiaElwin Sharvill UNQUALIFIED
Murillo X PerinGermanyBernardo Dominic QUALIFIED
Jennifer F StockhamJapanAsiya Javayant QUALIFIED
Smith M DoeFranceXuxue Feng NEGOTIATION
Rodrigues K StensethArgentinaAnna Fali RENEWAL
Munro P WieserArgentinaXuxue Feng PROPOSAL
Chavez M FigeroaBrazilStephen Shaw 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>