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
Mayumi G ChuiUnited KingdomAsiya Javayant QUALIFIED
Smith Q TollnerArgentinaIvan Magalhaes RENEWAL
Greenwood G RimArgentinaAmy Elsner NEGOTIATION
Jefferson W DoeSpainOnyama Limba PROPOSAL
Silvio F RoysterCanadaOnyama Limba QUALIFIED
Jennifer K OldroydSpainXuxue Feng QUALIFIED
Izzy G WhobreyCanadaIvan Magalhaes NEGOTIATION
Costa E WhobreyAustraliaAmy Elsner RENEWAL
Stacey I GarufiArgentinaAsiya Javayant PROPOSAL
Leon A SlusarskiBrazilAmy Elsner PROPOSAL
Sinclair D OldroydUnited KingdomXuxue Feng QUALIFIED
Deepesh Q ShinkoJapanXuxue Feng RENEWAL
Mayumi K OstroskyAustraliaIvan Magalhaes RENEWAL
Kadeem W MaletJapanAmy Elsner NEW
Darci W StensethArgentinaStephen Shaw NEGOTIATION
Julie S GarufiItalyBernardo Dominic PROPOSAL
Silvio U MarrierAustraliaElwin Sharvill NEW
James G GlickCanadaAnna Fali QUALIFIED
Ricardo G ButtGermanyXuxue Feng UNQUALIFIED
Jefferson Z GauchoCanadaBernardo Dominic UNQUALIFIED
Alejandro M OldroydGermanyIvan Magalhaes NEW
Isabel X TollnerBrazilAsiya Javayant QUALIFIED
David E BriddickIndiaAsiya Javayant NEW
Emily A CampainCanadaIvan Magalhaes UNQUALIFIED
Francesco B SaylorsBrazilBernardo Dominic QUALIFIED
Maria F MarrierBrazilXuxue Feng UNQUALIFIED
Alejandro D GauchoGermanyIvan Magalhaes NEGOTIATION
Adams I OldroydJapanBernardo Dominic PROPOSAL
Alejandro J GlickSpainIoni Bowcher RENEWAL
Jennifer F ShinkoJapanIvan Magalhaes RENEWAL
Julie W AlbaresGermanyOnyama Limba NEGOTIATION
Stacey Y BriddickBrazilIoni Bowcher NEW
Stacey J FlosiArgentinaBernardo Dominic NEGOTIATION
Juan N FlosiGermanyAsiya Javayant NEGOTIATION
Kaitlin W InouyeGermanyElwin Sharvill UNQUALIFIED
Munro M RoysterUnited KingdomStephen Shaw PROPOSAL
James X MacleadArgentinaXuxue Feng UNQUALIFIED
Claire N MarrierUnited KingdomElwin Sharvill NEGOTIATION
Kadeem U FigeroaIndiaElwin Sharvill QUALIFIED
Francesco Y NickaArgentinaAnna Fali UNQUALIFIED
Salvatore B MorascaItalyBernardo Dominic QUALIFIED
Izzy F FerenczFranceXuxue Feng PROPOSAL
Munro T ChuiBrazilAsiya Javayant UNQUALIFIED
Maisha G BriddickBrazilIvan Magalhaes QUALIFIED
Jeanfrancois R CaldareraSpainAmy Elsner UNQUALIFIED
Arvin Q InouyeSpainIvan Magalhaes UNQUALIFIED
Salvatore H ChuiSpainBernardo Dominic NEW
David W WhobreyAustraliaStephen Shaw NEGOTIATION
Silvio D SchemmerArgentinaOnyama Limba UNQUALIFIED
Leja W MarrierJapanAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki U MaletGermanyStephen Shaw QUALIFIED
Arvin P CaudyItalyAmy Elsner NEW
Julie J AmigonItalyXuxue Feng UNQUALIFIED
Julie Y DilliardUnited KingdomElwin Sharvill QUALIFIED
Alejandro W InouyeAustraliaAsiya Javayant QUALIFIED
Emily M MorascaArgentinaElwin Sharvill QUALIFIED
David R FigeroaAustraliaAsiya Javayant NEW
Darci L DoeArgentinaIvan Magalhaes UNQUALIFIED
Sinclair J WieserFranceBernardo Dominic QUALIFIED
Adams D NickaArgentinaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood J BologniaItaly2025-08-06Benton, John B Jr NEGOTIATION0Asiya Javayant
1001Aika Z NickaJapan2025-07-25Rangoni Of Florence PROPOSAL71Asiya Javayant
1002Adams C CaudyAustralia2025-08-09Chemel, James L Cpa NEGOTIATION77Onyama Limba
1003Mujtaba L FigeroaAustralia2025-07-24Chapman, Ross E Esq RENEWAL73Stephen Shaw
1004Francesco R BowleyFrance2025-07-30Dorl, James J Esq QUALIFIED53Bernardo Dominic
1005Rodrigues A StensethItaly2025-07-28Printing Dimensions PROPOSAL98Ioni Bowcher
1006Octavia Z BriddickAustralia2025-07-24Truhlar And Truhlar Attys NEGOTIATION16Ioni Bowcher
1007Jefferson U MarrierCanada2025-08-05Chanay, Jeffrey A Esq NEW48Xuxue Feng
1008Jeanfrancois F DoeJapan2025-08-14Rousseaux, Michael Esq UNQUALIFIED19Asiya Javayant
1009Izzy D RoysterJapan2025-07-28King, Christopher A Esq QUALIFIED56Anna Fali
1010Leja X RoysterGermany2025-08-01Rangoni Of Florence RENEWAL20Onyama Limba
1011Misaki S BologniaRussia2025-07-22Truhlar And Truhlar Attys PROPOSAL86Elwin Sharvill
1012Johnson Q GlickBrazil2025-08-01Dorl, James J Esq UNQUALIFIED77Asiya Javayant
1013Ricardo X CaudyGermany2025-07-31Benton, John B Jr RENEWAL59Stephen Shaw
1014Cody M RutaGermany2025-08-06Dorl, James J Esq PROPOSAL73Anna Fali
1015James A VocelkaCanada2025-08-07Buckley Miller Wright NEGOTIATION21Ivan Magalhaes
1016Kadeem P ShinkoFrance2025-08-13Morlong Associates QUALIFIED23Elwin Sharvill
1017Maria C OldroydJapan2025-08-12Rousseaux, Michael Esq RENEWAL70Onyama Limba
1018Kaitlin O AlbaresUnited Kingdom2025-07-20Truhlar And Truhlar Attys RENEWAL2Asiya Javayant
1019David O KolmetzJapan2025-08-12King, Christopher A Esq RENEWAL69Asiya Javayant
1020Kadeem I StensethAustralia2025-08-06Rangoni Of Florence UNQUALIFIED15Asiya Javayant
1021Faith P FollerJapan2025-08-14Morlong Associates UNQUALIFIED2Amy Elsner
1022Johnson X DoeUnited Kingdom2025-07-21Buckley Miller Wright PROPOSAL93Stephen Shaw
1023Kadeem T GillianCanada2025-08-09Chapman, Ross E Esq RENEWAL28Stephen Shaw
1024Jennifer U ShinkoGermany2025-08-16Chanay, Jeffrey A Esq QUALIFIED6Xuxue Feng
1025Aditya H VocelkaJapan2025-07-24Rangoni Of Florence NEGOTIATION86Ivan Magalhaes
1026Johnson M FigeroaCanada2025-07-30Chapman, Ross E Esq RENEWAL66Bernardo Dominic
1027Silvio B PerinBrazil2025-08-02Commercial Press QUALIFIED10Bernardo Dominic
1028Rodrigues G FerenczGermany2025-08-16Morlong Associates RENEWAL67Bernardo Dominic
1029Francesco G RoysterUnited Kingdom2025-08-04Feltz Printing Service PROPOSAL59Stephen Shaw
1030Maria U WaycottRussia2025-07-26Rangoni Of Florence PROPOSAL92Amy Elsner
1031Aika K KuskoBrazil2025-07-22Chemel, James L Cpa PROPOSAL34Stephen Shaw
1032Greenwood B RutaUnited Kingdom2025-07-27Truhlar And Truhlar Attys NEW34Elwin Sharvill
1033Julie B FerenczAustralia2025-07-29Chapman, Ross E Esq QUALIFIED56Asiya Javayant
1034Alejandro K ButtCanada2025-07-23King, Christopher A Esq RENEWAL1Asiya Javayant
1035Faith B KuskoBrazil2025-07-26Chapman, Ross E Esq UNQUALIFIED73Elwin Sharvill
1036Kaitlin C SaylorsJapan2025-08-08Printing Dimensions QUALIFIED79Anna Fali
1037Mujtaba E MorascaArgentina2025-08-12Printing Dimensions PROPOSAL67Ioni Bowcher
1038Maria X OstroskyGermany2025-08-14Truhlar And Truhlar Attys QUALIFIED94Xuxue Feng
1039Jefferson L ShinkoJapan2025-07-29Morlong Associates RENEWAL64Ioni Bowcher
1040Emily E PoquetteBrazil2025-07-30Morlong Associates RENEWAL62Ioni Bowcher
1041Aditya K KolmetzJapan2025-07-21King, Christopher A Esq NEGOTIATION45Amy Elsner
1042Silvio Z BriddickFrance2025-08-04Benton, John B Jr NEGOTIATION88Amy Elsner
1043Johnson J RulapaughFrance2025-08-10Benton, John B Jr NEW6Xuxue Feng
1044Arvin S NickaAustralia2025-08-12Truhlar And Truhlar Attys UNQUALIFIED46Bernardo Dominic
1045Wickens E GlickRussia2025-08-15Feltz Printing Service PROPOSAL20Amy Elsner
1046Jefferson B TollnerSpain2025-07-25Rangoni Of Florence RENEWAL97Anna Fali
1047Ricardo L KolmetzBrazil2025-07-22Feiner Bros UNQUALIFIED51Asiya Javayant
1048Stacey X BriddickRussia2025-07-27Chemel, James L Cpa RENEWAL9Ivan Magalhaes
1049Ivar O KuskoItaly2025-07-28Rangoni Of Florence NEGOTIATION17Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Cody P OldroydUnited KingdomStephen Shaw NEW
Rodrigues B FerenczFranceIoni Bowcher NEW
Johnson X RimGermanyAnna Fali PROPOSAL
Smith O KuskoGermanyAnna Fali UNQUALIFIED
Stacey W DoeItalyAsiya Javayant PROPOSAL
Greenwood H PaprockiRussiaAsiya Javayant NEW
Tony Y VenereBrazilXuxue Feng RENEWAL
James P FlosiFranceIvan Magalhaes UNQUALIFIED
Johnson M RulapaughAustraliaOnyama Limba QUALIFIED
Aruna Z RoysterIndiaAnna Fali UNQUALIFIED
Misaki L RutaItalyStephen Shaw NEW
Aruna A PerinJapanAsiya Javayant NEW
Morrow L VocelkaRussiaAnna Fali PROPOSAL
Octavia T FlosiRussiaAsiya Javayant RENEWAL
Salvatore X BologniaAustraliaElwin Sharvill QUALIFIED
Smith J FlosiSpainOnyama Limba NEW
Ashley R GlickItalyAsiya Javayant NEW
Tony B CaldareraAustraliaAmy Elsner QUALIFIED
Claire K WieserSpainAnna Fali RENEWAL
Sinclair E MacleadItalyAmy Elsner NEGOTIATION
Ricardo A DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Aditya Y AmigonAustraliaElwin Sharvill QUALIFIED
Antonio I VenereRussiaElwin Sharvill RENEWAL
Munro M InouyeRussiaXuxue Feng UNQUALIFIED
Alejandro H CampainBrazilIvan Magalhaes NEGOTIATION
Jefferson B PaprockiAustraliaIvan Magalhaes RENEWAL
James A WaycottFranceAmy Elsner UNQUALIFIED
Maisha P RutaAustraliaAnna Fali PROPOSAL
Tony J VenereCanadaOnyama Limba RENEWAL
Clifford C OldroydBrazilIvan Magalhaes UNQUALIFIED
Murillo M BowleyJapanOnyama Limba RENEWAL
Antonio W MacleadItalyStephen Shaw RENEWAL
Adams K IturbideBrazilAsiya Javayant PROPOSAL
Antonio H KolmetzRussiaStephen Shaw NEW
Maisha P DarakjyCanadaAsiya Javayant QUALIFIED
David C SlusarskiJapanXuxue Feng UNQUALIFIED
Nicolas T MaletUnited KingdomIoni Bowcher UNQUALIFIED
Arvin T VocelkaSpainIoni Bowcher QUALIFIED
Kaitlin Q FerenczJapanAsiya Javayant UNQUALIFIED
Smith O AlbaresCanadaStephen Shaw UNQUALIFIED
Darci L MacleadJapanElwin Sharvill NEW
Aruna E BologniaSpainAsiya Javayant PROPOSAL
Munro I FigeroaIndiaAsiya Javayant RENEWAL
Morrow K InouyeJapanAmy Elsner QUALIFIED
Wickens W SaylorsSpainAnna Fali QUALIFIED
Nicolas N ButtGermanyElwin Sharvill RENEWAL
Kadeem G CampainBrazilElwin Sharvill RENEWAL
Leja V RimCanadaIoni Bowcher NEGOTIATION
James I CampainFranceIoni Bowcher QUALIFIED
Alejandro M GillianFranceBernardo Dominic RENEWAL
Frozen Columns
Name
Cody J Caudy
Salvatore P Venere
Wickens V Malet
Kaitlin T Rim
Jeanfrancois Z Caudy
Clifford J Iturbide
Jefferson I Ferencz
Clifford W Darakjy
Claire Q Gaucho
Chavez O Marrier
Murillo O Figeroa
Kaitlin S Darakjy
Deepesh L Dilliard
James Q Rim
Leja Y Iturbide
Emily C Perin
Maria W Oldroyd
Greenwood X Flosi
Murillo O Butt
Munro X Campain
David G Stockham
Mayumi S Oldroyd
Smith Z Iturbide
Nicolas S Butt
Sinclair U Foller
Aruna T Kolmetz
Rodrigues S Schemmer
Julie O Vocelka
Nicolas R Foller
Murillo C Bolognia
Tony L Kolmetz
Clifford R Ferencz
Maisha C Gaucho
Julie W Shinko
Salvatore Z Tollner
Jones D Glick
Deepesh J Stenseth
Izzy L Darakjy
Mayumi T Butt
Clifford G Briddick
Sinclair W Malet
Murillo M Vocelka
Ricardo E Oldroyd
Kaitlin J Darakjy
Maisha Q Kusko
Deepesh Y Malet
Jefferson X Campain
Maisha V Rulapaugh
Jones H Amigon
Kadeem B Briddick
IdCountryDate
1000Argentina2025-07-31
1001Japan2025-08-14
1002Canada2025-08-15
1003Italy2025-07-29
1004Argentina2025-07-23
1005India2025-07-23
1006France2025-08-14
1007Italy2025-08-01
1008Spain2025-08-13
1009Russia2025-08-07
1010United Kingdom2025-07-28
1011Brazil2025-07-24
1012Argentina2025-08-01
1013United Kingdom2025-08-05
1014Australia2025-08-04
1015Australia2025-07-29
1016India2025-07-25
1017Germany2025-08-12
1018Spain2025-08-11
1019Argentina2025-07-30
1020France2025-07-28
1021Australia2025-07-27
1022France2025-08-11
1023India2025-07-28
1024France2025-07-31
1025Argentina2025-08-11
1026Australia2025-08-12
1027France2025-08-08
1028Russia2025-07-27
1029Argentina2025-07-21
1030Argentina2025-08-06
1031Japan2025-08-09
1032France2025-08-08
1033Brazil2025-08-01
1034United Kingdom2025-07-27
1035Russia2025-08-15
1036India2025-07-25
1037Japan2025-08-06
1038France2025-08-18
1039Italy2025-08-01
1040United Kingdom2025-08-13
1041Argentina2025-08-07
1042United Kingdom2025-07-28
1043Germany2025-07-28
1044France2025-08-16
1045Canada2025-08-06
1046Australia2025-07-28
1047Japan2025-07-20
1048Argentina2025-07-30
1049Germany2025-07-31

On-Demand Data

NameIdCountryDate
Aika M Caudy1000Argentina2025-08-01
Kaitlin L Caudy1001Argentina2025-08-02
Ashley S Malet1002Germany2025-08-18
Aika X Foller1003Russia2025-08-15
Aika N Doe1004Canada2025-07-26
Mujtaba X Garufi1005Australia2025-07-27
Cody B Gaucho1006France2025-08-15
Maisha Z Stockham1007Russia2025-08-09
Wickens M Foller1008Japan2025-08-09
Alejandro M Wieser1009Canada2025-07-30
Chavez H Caudy1010Canada2025-08-06
Rodrigues T Ruta1011Argentina2025-07-24
Ivar E Morasca1012France2025-07-20
Francesco T Maclead1013Italy2025-07-22
Faith O Perin1014Italy2025-07-23
Leon H Stockham1015Japan2025-08-06
Isabel V Shinko1016United Kingdom2025-08-06
Octavia N Shinko1017France2025-08-18
Ricardo W Glick1018Japan2025-08-16
James Q Chui1019United Kingdom2025-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon S PerinFranceOnyama Limba NEGOTIATION
Ivar J ShinkoUnited KingdomAnna Fali QUALIFIED
Ivar A GauchoSpainStephen Shaw NEW
Mayumi T CaldareraBrazilIvan Magalhaes NEW
Darci A CaldareraRussiaBernardo Dominic UNQUALIFIED
Mujtaba P ButtSpainIoni Bowcher QUALIFIED
Leon I SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Stacey P ChuiItalyIvan Magalhaes PROPOSAL
Chavez E RulapaughCanadaAmy Elsner NEGOTIATION
Leon Q MaletIndiaBernardo Dominic UNQUALIFIED
Juan K GauchoIndiaBernardo Dominic UNQUALIFIED
Costa D BowleyGermanyStephen Shaw NEW
Jennifer D MaletAustraliaXuxue Feng QUALIFIED
Alejandro Q GillianAustraliaAsiya Javayant NEGOTIATION
Octavia E KolmetzFranceAnna Fali NEW
Kaitlin W DoeRussiaAnna Fali NEGOTIATION
Antonio X NestleUnited KingdomElwin Sharvill NEW
Isabel K SergiArgentinaElwin Sharvill PROPOSAL
Isabel Y RimIndiaAnna Fali RENEWAL
Aruna J InouyeUnited KingdomOnyama Limba UNQUALIFIED
Munro Y VenereIndiaAsiya Javayant NEGOTIATION
Mujtaba D CampainGermanyIvan Magalhaes RENEWAL
Smith R GauchoArgentinaAmy Elsner PROPOSAL
Maria F KuskoBrazilStephen Shaw RENEWAL
Faith Y KolmetzItalyElwin Sharvill PROPOSAL
David I CampainIndiaOnyama Limba PROPOSAL
Johnson L RulapaughCanadaIvan Magalhaes PROPOSAL
Johnson U FollerArgentinaElwin Sharvill UNQUALIFIED
Izzy U ChuiArgentinaXuxue Feng PROPOSAL
Aditya T VocelkaSpainStephen Shaw QUALIFIED
Johnson C CaudyGermanyIoni Bowcher UNQUALIFIED
Wickens X RutaIndiaElwin Sharvill UNQUALIFIED
Antonio C GauchoCanadaElwin Sharvill NEGOTIATION
Johnson A SlusarskiCanadaAsiya Javayant PROPOSAL
Jennifer V MacleadItalyAmy Elsner UNQUALIFIED
Antonio D BriddickItalyIoni Bowcher QUALIFIED
Costa S BowleyBrazilBernardo Dominic PROPOSAL
Emily B NickaArgentinaStephen Shaw RENEWAL
Kadeem O DilliardJapanElwin Sharvill NEGOTIATION
Maria Q SergiAustraliaAsiya Javayant 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>