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
Claire K SlusarskiRussiaAmy Elsner UNQUALIFIED
Julie Z AlbaresRussiaXuxue Feng PROPOSAL
Juan V StockhamIndiaElwin Sharvill NEGOTIATION
Ashley C ChuiAustraliaIvan Magalhaes NEGOTIATION
Adams W KuskoGermanyAnna Fali QUALIFIED
Maisha G MacleadRussiaAnna Fali NEGOTIATION
Johnson Z PerinSpainStephen Shaw UNQUALIFIED
Tony J PaprockiBrazilAsiya Javayant NEGOTIATION
Darci G FollerArgentinaIoni Bowcher UNQUALIFIED
Ricardo U PerinJapanAmy Elsner QUALIFIED
Julie L WieserItalyXuxue Feng NEGOTIATION
Wickens I PaprockiCanadaIoni Bowcher NEW
Stacey B NestleSpainIvan Magalhaes QUALIFIED
Salvatore D TollnerRussiaBernardo Dominic RENEWAL
Ivar G BologniaCanadaIvan Magalhaes PROPOSAL
Mujtaba X MaletRussiaStephen Shaw RENEWAL
Kaitlin F MarrierUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues D OldroydItalyElwin Sharvill NEGOTIATION
Johnson S SergiUnited KingdomXuxue Feng UNQUALIFIED
Aika T SchemmerBrazilStephen Shaw PROPOSAL
Morrow Y FigeroaSpainIoni Bowcher NEGOTIATION
Misaki B MorascaItalyAsiya Javayant RENEWAL
Murillo S DoeItalyXuxue Feng PROPOSAL
Adams S SaylorsBrazilElwin Sharvill NEW
Isabel K SlusarskiJapanStephen Shaw RENEWAL
James R PoquetteBrazilIoni Bowcher NEGOTIATION
Cody Z MaletAustraliaIoni Bowcher PROPOSAL
Misaki W WhobreyAustraliaStephen Shaw NEGOTIATION
Alejandro C OldroydAustraliaAmy Elsner PROPOSAL
James A CaudyCanadaStephen Shaw UNQUALIFIED
Misaki O RutaFranceOnyama Limba NEGOTIATION
Isabel F PaprockiSpainStephen Shaw UNQUALIFIED
David X GlickArgentinaElwin Sharvill PROPOSAL
Mujtaba E RulapaughUnited KingdomAnna Fali NEW
Aika E SergiAustraliaOnyama Limba NEW
Maisha G VenereBrazilIvan Magalhaes QUALIFIED
Arvin F BriddickFranceIvan Magalhaes PROPOSAL
Kadeem M PaprockiArgentinaXuxue Feng PROPOSAL
Juan N FollerCanadaAnna Fali RENEWAL
Faith U AmigonCanadaElwin Sharvill QUALIFIED
Jennifer N AlbaresSpainAmy Elsner RENEWAL
Sinclair T GauchoItalyAsiya Javayant NEGOTIATION
Francesco R BologniaRussiaOnyama Limba PROPOSAL
Clifford H KolmetzRussiaAsiya Javayant PROPOSAL
Isabel I BriddickJapanStephen Shaw UNQUALIFIED
Jones Q MacleadJapanStephen Shaw PROPOSAL
Darci Y WhobreyCanadaAmy Elsner PROPOSAL
Greenwood D KolmetzArgentinaIoni Bowcher QUALIFIED
Stacey E FollerArgentinaIvan Magalhaes NEW
Arvin O SaylorsItalyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
James E CaudyRussiaXuxue Feng UNQUALIFIED
Ashley F CampainArgentinaXuxue Feng NEW
Alejandro I ShinkoFranceIoni Bowcher UNQUALIFIED
Kaitlin K ChuiGermanyAsiya Javayant PROPOSAL
Kaitlin R KuskoRussiaOnyama Limba PROPOSAL
David V FerenczJapanAmy Elsner NEGOTIATION
Salvatore Y MaletUnited KingdomXuxue Feng NEW
Juan U TollnerJapanElwin Sharvill NEW
Murillo Z RoysterRussiaOnyama Limba NEGOTIATION
Ricardo A ChuiItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith N RimItaly2025-07-21Printing Dimensions RENEWAL66Xuxue Feng
1001Darci B RulapaughFrance2025-07-26Feltz Printing Service UNQUALIFIED83Stephen Shaw
1002Rodrigues B AmigonBrazil2025-07-15King, Christopher A Esq RENEWAL87Xuxue Feng
1003Munro S DarakjyAustralia2025-07-26Truhlar And Truhlar Attys PROPOSAL57Xuxue Feng
1004Maria X AmigonAustralia2025-07-28Chanay, Jeffrey A Esq RENEWAL54Xuxue Feng
1005Sinclair T KolmetzGermany2025-07-21Chapman, Ross E Esq UNQUALIFIED38Elwin Sharvill
1006Smith H GarufiArgentina2025-08-04Morlong Associates NEGOTIATION80Asiya Javayant
1007Julie A CaudyAustralia2025-07-26Chemel, James L Cpa PROPOSAL12Ioni Bowcher
1008Silvio L VocelkaUnited Kingdom2025-08-04Chapman, Ross E Esq PROPOSAL82Bernardo Dominic
1009Munro K RoysterGermany2025-07-16Benton, John B Jr NEW41Stephen Shaw
1010Sinclair Z StensethBrazil2025-07-21Chanay, Jeffrey A Esq PROPOSAL13Elwin Sharvill
1011Julie G FerenczItaly2025-07-30Benton, John B Jr NEW96Asiya Javayant
1012Maria R MacleadCanada2025-07-30Commercial Press NEGOTIATION6Anna Fali
1013David U ShinkoRussia2025-07-26Feiner Bros PROPOSAL80Stephen Shaw
1014Aruna L StensethArgentina2025-08-03Buckley Miller Wright NEW60Elwin Sharvill
1015David S MaletUnited Kingdom2025-07-11Chanay, Jeffrey A Esq UNQUALIFIED40Amy Elsner
1016Maisha W FollerCanada2025-08-02Chemel, James L Cpa PROPOSAL3Xuxue Feng
1017Jennifer Q PoquetteCanada2025-07-12Chanay, Jeffrey A Esq RENEWAL4Anna Fali
1018Jones E FerenczGermany2025-07-21Chanay, Jeffrey A Esq UNQUALIFIED59Ioni Bowcher
1019Cody Z DarakjyFrance2025-07-24Chemel, James L Cpa QUALIFIED42Ioni Bowcher
1020Izzy J DoeAustralia2025-07-14Rangoni Of Florence NEGOTIATION96Ivan Magalhaes
1021Tony Y MarrierAustralia2025-07-21Feiner Bros NEGOTIATION25Onyama Limba
1022Juan B WaycottFrance2025-07-19Feiner Bros RENEWAL87Asiya Javayant
1023Costa O FollerItaly2025-07-26Feltz Printing Service NEGOTIATION69Bernardo Dominic
1024Stacey J InouyeArgentina2025-07-23Rangoni Of Florence NEGOTIATION60Ivan Magalhaes
1025Alejandro T RutaAustralia2025-07-07King, Christopher A Esq RENEWAL9Ivan Magalhaes
1026Mayumi A OstroskyAustralia2025-07-22Truhlar And Truhlar Attys RENEWAL61Amy Elsner
1027Ashley A IturbideIndia2025-08-04Buckley Miller Wright NEW75Anna Fali
1028Alejandro S SaylorsFrance2025-07-17Morlong Associates PROPOSAL89Amy Elsner
1029Octavia W TollnerItaly2025-07-30Chanay, Jeffrey A Esq RENEWAL20Stephen Shaw
1030Salvatore W PoquetteItaly2025-07-21Rangoni Of Florence NEGOTIATION78Amy Elsner
1031Ricardo S CaudyRussia2025-07-21Rangoni Of Florence NEW19Onyama Limba
1032Alejandro W MaletJapan2025-07-16Commercial Press UNQUALIFIED39Bernardo Dominic
1033Alejandro T FlosiGermany2025-07-30Feltz Printing Service UNQUALIFIED91Elwin Sharvill
1034Julie R KolmetzGermany2025-07-23Feltz Printing Service RENEWAL70Ioni Bowcher
1035Alejandro C SchemmerArgentina2025-08-03Rousseaux, Michael Esq QUALIFIED56Xuxue Feng
1036James G RimJapan2025-07-19Feltz Printing Service UNQUALIFIED67Ioni Bowcher
1037Emily X MorascaJapan2025-07-11Commercial Press PROPOSAL94Ioni Bowcher
1038Nicolas O AmigonItaly2025-07-30Dorl, James J Esq UNQUALIFIED23Asiya Javayant
1039Kaitlin V MarrierUnited Kingdom2025-07-29Chapman, Ross E Esq NEGOTIATION25Bernardo Dominic
1040Stacey P TollnerJapan2025-07-24King, Christopher A Esq PROPOSAL96Stephen Shaw
1041Salvatore D FigeroaJapan2025-08-01Truhlar And Truhlar Attys RENEWAL74Anna Fali
1042Claire L PaprockiGermany2025-07-27Feltz Printing Service RENEWAL31Anna Fali
1043Stacey D FigeroaSpain2025-07-21Feiner Bros NEW0Xuxue Feng
1044Julie S RoysterAustralia2025-07-27Chapman, Ross E Esq RENEWAL84Onyama Limba
1045Aruna L BologniaSpain2025-07-11Benton, John B Jr RENEWAL18Ioni Bowcher
1046Kaitlin L InouyeAustralia2025-08-04Feltz Printing Service NEW53Xuxue Feng
1047Leon T SergiBrazil2025-07-22King, Christopher A Esq RENEWAL6Bernardo Dominic
1048Cody I OldroydFrance2025-08-01Rangoni Of Florence PROPOSAL8Ioni Bowcher
1049Rodrigues J VocelkaBrazil2025-07-30Rousseaux, Michael Esq NEW17Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues U DoeUnited KingdomBernardo Dominic QUALIFIED
Leon J DarakjyGermanyAmy Elsner NEGOTIATION
Mujtaba M MacleadArgentinaIoni Bowcher NEGOTIATION
Claire S CampainCanadaBernardo Dominic QUALIFIED
Wickens J RulapaughAustraliaOnyama Limba UNQUALIFIED
Francesco O BologniaFranceElwin Sharvill PROPOSAL
Salvatore K VenereItalyAsiya Javayant UNQUALIFIED
Antonio U SaylorsArgentinaElwin Sharvill PROPOSAL
Maria S FollerIndiaXuxue Feng RENEWAL
Leja F KolmetzAustraliaOnyama Limba UNQUALIFIED
Ivar F MaletUnited KingdomBernardo Dominic PROPOSAL
Octavia T CaudyAustraliaIvan Magalhaes RENEWAL
Octavia U OldroydAustraliaIoni Bowcher QUALIFIED
Johnson J PerinCanadaBernardo Dominic PROPOSAL
Faith B NestleSpainIoni Bowcher RENEWAL
Nicolas Z GauchoGermanyXuxue Feng NEW
Silvio K FerenczJapanIvan Magalhaes UNQUALIFIED
Silvio K WaycottIndiaBernardo Dominic NEGOTIATION
Silvio E RimRussiaBernardo Dominic QUALIFIED
Leon B GarufiBrazilAnna Fali PROPOSAL
Alejandro V MacleadAustraliaAsiya Javayant QUALIFIED
Chavez G CaudyAustraliaIvan Magalhaes NEGOTIATION
Mayumi G WhobreyUnited KingdomOnyama Limba NEGOTIATION
Kadeem R MorascaAustraliaElwin Sharvill NEGOTIATION
Morrow U WieserArgentinaIvan Magalhaes RENEWAL
Rodrigues P TollnerCanadaAmy Elsner PROPOSAL
Morrow Y MaletBrazilStephen Shaw PROPOSAL
Leja Z VenereJapanStephen Shaw UNQUALIFIED
Leja F KolmetzUnited KingdomXuxue Feng QUALIFIED
Cody E RoysterArgentinaAmy Elsner QUALIFIED
Johnson F FerenczJapanOnyama Limba NEGOTIATION
Jefferson F BowleyFranceIoni Bowcher UNQUALIFIED
Octavia K RulapaughIndiaIoni Bowcher NEGOTIATION
Stacey J OstroskyJapanIvan Magalhaes NEGOTIATION
Silvio U PoquetteRussiaElwin Sharvill UNQUALIFIED
Claire O MaletItalyElwin Sharvill RENEWAL
Clifford L GarufiAustraliaStephen Shaw NEW
Sinclair R SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Maria B NestleUnited KingdomAnna Fali QUALIFIED
Maisha K GillianJapanOnyama Limba RENEWAL
Salvatore O MorascaArgentinaXuxue Feng NEW
Ivar G NickaCanadaAsiya Javayant QUALIFIED
Aika N RoysterIndiaElwin Sharvill UNQUALIFIED
Ricardo O GlickJapanStephen Shaw UNQUALIFIED
Francesco P PoquetteCanadaBernardo Dominic NEW
David Y ShinkoCanadaBernardo Dominic RENEWAL
Jones R WhobreyAustraliaIoni Bowcher QUALIFIED
Ivar N GarufiArgentinaAmy Elsner NEGOTIATION
Salvatore N GauchoSpainIoni Bowcher UNQUALIFIED
Deepesh O GillianRussiaAnna Fali QUALIFIED
Frozen Columns
Name
Izzy Y Waycott
Darci C Ruta
Stacey Z Chui
Izzy X Glick
Morrow H Ruta
Ashley E Darakjy
Smith W Stenseth
Julie D Stenseth
Sinclair R Darakjy
Kaitlin I Rulapaugh
Deepesh H Flosi
Johnson K Morasca
Maisha T Tollner
Izzy R Doe
Jefferson C Caldarera
Claire H Chui
Sinclair Y Figeroa
Clifford X Malet
Claire C Schemmer
Ricardo E Amigon
Leon Z Poquette
David L Marrier
Costa G Darakjy
Mayumi X Kusko
Wickens E Bolognia
Ashley Y Doe
Aruna K Chui
Jennifer V Butt
Faith T Slusarski
Tony F Foller
Nicolas Y Campain
Misaki I Iturbide
Leja Y Perin
Claire D Figeroa
Alejandro C Doe
Jones F Oldroyd
Maria V Nicka
Arvin C Wieser
Jennifer V Bolognia
Salvatore T Kusko
Maisha U Briddick
Clifford G Ruta
Claire H Figeroa
Aditya D Ferencz
Costa M Slusarski
Jones O Slusarski
Ricardo Y Paprocki
Izzy U Maclead
Munro H Bolognia
Morrow V Poquette
IdCountryDate
1000United Kingdom2025-07-28
1001India2025-07-13
1002Germany2025-07-31
1003India2025-07-29
1004Canada2025-07-24
1005Italy2025-07-28
1006Brazil2025-07-12
1007Russia2025-07-15
1008France2025-08-02
1009Russia2025-07-29
1010Russia2025-07-28
1011Australia2025-07-24
1012Germany2025-08-02
1013France2025-07-28
1014Brazil2025-07-28
1015Brazil2025-07-22
1016India2025-07-10
1017Spain2025-07-31
1018Canada2025-07-26
1019Canada2025-07-18
1020France2025-07-09
1021France2025-07-15
1022Japan2025-07-11
1023United Kingdom2025-07-08
1024Argentina2025-07-08
1025Brazil2025-07-19
1026Russia2025-07-23
1027Canada2025-07-19
1028Canada2025-08-02
1029Argentina2025-07-13
1030Russia2025-07-25
1031Canada2025-07-27
1032France2025-07-10
1033Argentina2025-07-17
1034Australia2025-07-23
1035India2025-07-06
1036Japan2025-07-19
1037Spain2025-07-09
1038Italy2025-07-11
1039Russia2025-07-07
1040Russia2025-07-13
1041France2025-07-09
1042Australia2025-07-28
1043Germany2025-08-02
1044India2025-07-26
1045United Kingdom2025-07-07
1046Australia2025-07-22
1047Canada2025-07-22
1048Germany2025-07-18
1049Spain2025-07-16

On-Demand Data

NameIdCountryDate
Ivar Z Briddick1000Canada2025-07-09
James R Stenseth1001France2025-07-23
Isabel V Vocelka1002Australia2025-07-19
Johnson F Rulapaugh1003France2025-07-22
Jefferson I Glick1004India2025-08-01
Jeanfrancois C Figeroa1005Brazil2025-07-08
Nicolas G Ostrosky1006Italy2025-07-16
Munro E Poquette1007Canada2025-07-11
Wickens K Campain1008France2025-07-13
Ricardo Z Stockham1009United Kingdom2025-07-30
Julie Z Butt1010Spain2025-07-15
Rodrigues Y Kolmetz1011India2025-07-27
Emily R Wieser1012Canada2025-07-30
Morrow L Rulapaugh1013Australia2025-08-04
Smith R Sergi1014Italy2025-07-19
Aika O Waycott1015India2025-08-04
Nicolas L Campain1016Germany2025-07-21
Salvatore Z Schemmer1017India2025-07-11
Clifford G Nestle1018India2025-07-08
Mujtaba X Bowley1019Italy2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey W BowleyFranceElwin Sharvill PROPOSAL
Adams Q CaldareraArgentinaIoni Bowcher NEGOTIATION
Ricardo C DilliardFranceElwin Sharvill PROPOSAL
Aika I WhobreyAustraliaAsiya Javayant QUALIFIED
Smith G TollnerGermanyElwin Sharvill RENEWAL
Wickens V DilliardArgentinaStephen Shaw UNQUALIFIED
Alejandro N NickaBrazilStephen Shaw NEGOTIATION
Smith R FollerRussiaAmy Elsner PROPOSAL
Aruna Y MorascaIndiaStephen Shaw NEW
Darci Q AmigonIndiaAnna Fali QUALIFIED
Salvatore T OldroydItalyElwin Sharvill UNQUALIFIED
Costa I InouyeSpainIvan Magalhaes QUALIFIED
Cody R CampainUnited KingdomIoni Bowcher NEW
Antonio X MacleadIndiaBernardo Dominic NEW
Julie D NestleCanadaIvan Magalhaes QUALIFIED
Darci R MacleadAustraliaIoni Bowcher NEGOTIATION
Costa W FollerSpainOnyama Limba RENEWAL
Izzy Z GauchoGermanyAsiya Javayant NEGOTIATION
Salvatore C WieserRussiaAnna Fali QUALIFIED
Jeanfrancois X WhobreyGermanyAsiya Javayant QUALIFIED
Juan W PaprockiUnited KingdomAnna Fali QUALIFIED
Francesco A GlickArgentinaStephen Shaw NEW
Mayumi D FigeroaBrazilAnna Fali QUALIFIED
Costa E DarakjyGermanyXuxue Feng UNQUALIFIED
Ivar D BologniaArgentinaAmy Elsner PROPOSAL
Ashley M SlusarskiGermanyBernardo Dominic PROPOSAL
Jones O OstroskyAustraliaXuxue Feng QUALIFIED
Ricardo V StockhamFranceIvan Magalhaes PROPOSAL
Ricardo C StensethItalyElwin Sharvill UNQUALIFIED
James K MaletRussiaIoni Bowcher UNQUALIFIED
Cody S DilliardJapanAmy Elsner RENEWAL
Ricardo F BowleySpainBernardo Dominic QUALIFIED
Isabel T BowleyUnited KingdomAmy Elsner NEGOTIATION
Misaki O MaletRussiaAnna Fali PROPOSAL
Tony F RimSpainOnyama Limba RENEWAL
Adams G FlosiBrazilBernardo Dominic RENEWAL
Rodrigues T RoysterBrazilIoni Bowcher NEW
Johnson Y KuskoCanadaAnna Fali RENEWAL
Francesco U MacleadUnited KingdomAmy Elsner PROPOSAL
Jennifer F KolmetzRussiaIvan Magalhaes 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>