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
Ashley X NestleCanadaXuxue Feng PROPOSAL
Munro J InouyeRussiaXuxue Feng RENEWAL
Tony U AmigonGermanyIvan Magalhaes NEW
James L ButtGermanyAnna Fali QUALIFIED
Jefferson U OldroydUnited KingdomAsiya Javayant QUALIFIED
Aditya M GillianSpainIvan Magalhaes NEW
Sinclair R RutaArgentinaAmy Elsner NEGOTIATION
Silvio N FlosiIndiaAmy Elsner NEW
Smith W StensethItalyStephen Shaw QUALIFIED
Juan C FlosiAustraliaIoni Bowcher NEW
Octavia T FlosiUnited KingdomOnyama Limba NEGOTIATION
Francesco I SchemmerJapanBernardo Dominic PROPOSAL
Darci S ButtBrazilElwin Sharvill NEGOTIATION
Jeanfrancois C GarufiAustraliaIvan Magalhaes UNQUALIFIED
Chavez M IturbideFranceOnyama Limba QUALIFIED
Ashley V OstroskyBrazilElwin Sharvill NEGOTIATION
Tony Q SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Jennifer Y MarrierUnited KingdomElwin Sharvill RENEWAL
David S WhobreyIndiaIoni Bowcher NEGOTIATION
Claire P OldroydRussiaXuxue Feng RENEWAL
Ricardo E RulapaughRussiaIoni Bowcher QUALIFIED
Izzy P KuskoFranceIoni Bowcher NEGOTIATION
Stacey D MaletAustraliaIoni Bowcher NEW
Sinclair D SaylorsSpainAsiya Javayant NEW
Jennifer M PoquetteUnited KingdomAsiya Javayant PROPOSAL
Claire Z DoeItalyAnna Fali UNQUALIFIED
Maisha I RulapaughCanadaIvan Magalhaes UNQUALIFIED
Izzy G RimAustraliaIoni Bowcher NEGOTIATION
Francesco W NickaUnited KingdomElwin Sharvill RENEWAL
Antonio Q GlickArgentinaBernardo Dominic QUALIFIED
Aika W InouyeItalyElwin Sharvill UNQUALIFIED
David I SchemmerJapanElwin Sharvill RENEWAL
Morrow F GlickIndiaAmy Elsner RENEWAL
David V MaletJapanElwin Sharvill NEW
Maisha K DilliardBrazilXuxue Feng UNQUALIFIED
David C AmigonArgentinaAsiya Javayant PROPOSAL
Jeanfrancois E PerinArgentinaElwin Sharvill NEW
Aruna Q BologniaJapanAmy Elsner QUALIFIED
Alejandro C WhobreySpainBernardo Dominic UNQUALIFIED
Clifford J GlickFranceIoni Bowcher QUALIFIED
Claire V VenereJapanAsiya Javayant NEGOTIATION
Octavia C CaldareraCanadaElwin Sharvill UNQUALIFIED
Aruna B MaletRussiaAsiya Javayant QUALIFIED
Tony N RutaFranceOnyama Limba NEW
Ricardo Z FerenczArgentinaAmy Elsner QUALIFIED
Cody M AmigonBrazilOnyama Limba UNQUALIFIED
Smith X SchemmerIndiaAnna Fali RENEWAL
Mayumi W AmigonBrazilIoni Bowcher QUALIFIED
Salvatore Y FollerIndiaAnna Fali PROPOSAL
Arvin L PerinFranceElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer H StensethIndiaAsiya Javayant RENEWAL
Johnson Z NestleSpainBernardo Dominic RENEWAL
Morrow S MorascaAustraliaIvan Magalhaes RENEWAL
Aika B VenereItalyAsiya Javayant UNQUALIFIED
Jeanfrancois L DarakjyBrazilIvan Magalhaes NEGOTIATION
Kadeem F BriddickArgentinaStephen Shaw NEGOTIATION
Kadeem O FollerSpainOnyama Limba NEGOTIATION
James V StensethItalyAmy Elsner PROPOSAL
Aditya H BowleyBrazilAmy Elsner NEW
Chavez S StensethCanadaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony V RoysterUnited Kingdom2025-07-16Rousseaux, Michael Esq QUALIFIED78Bernardo Dominic
1001Jones S PerinIndia2025-08-08Commercial Press UNQUALIFIED84Onyama Limba
1002Greenwood C KolmetzArgentina2025-08-10Chanay, Jeffrey A Esq NEW78Xuxue Feng
1003Cody I AlbaresUnited Kingdom2025-07-21King, Christopher A Esq UNQUALIFIED12Onyama Limba
1004Leja S MaletBrazil2025-07-14Chanay, Jeffrey A Esq PROPOSAL21Stephen Shaw
1005Munro E SlusarskiJapan2025-08-05Chanay, Jeffrey A Esq QUALIFIED22Asiya Javayant
1006Salvatore O MorascaCanada2025-07-14Chanay, Jeffrey A Esq NEGOTIATION15Elwin Sharvill
1007David G ChuiSpain2025-08-02Benton, John B Jr QUALIFIED39Asiya Javayant
1008Mujtaba C RulapaughItaly2025-07-30Rousseaux, Michael Esq RENEWAL7Ioni Bowcher
1009Leja D CampainIndia2025-07-21Rousseaux, Michael Esq RENEWAL76Xuxue Feng
1010Mujtaba W KolmetzUnited Kingdom2025-07-28Chemel, James L Cpa QUALIFIED94Stephen Shaw
1011Nicolas G SergiFrance2025-07-22Feltz Printing Service QUALIFIED38Asiya Javayant
1012Kaitlin G NestleGermany2025-07-24Feltz Printing Service QUALIFIED15Anna Fali
1013Stacey N RoysterFrance2025-08-03Morlong Associates QUALIFIED76Ivan Magalhaes
1014Clifford R InouyeAustralia2025-07-26Feiner Bros QUALIFIED12Asiya Javayant
1015Francesco T GillianItaly2025-07-30Printing Dimensions UNQUALIFIED90Amy Elsner
1016Kadeem J FigeroaRussia2025-08-05Buckley Miller Wright QUALIFIED58Bernardo Dominic
1017Claire Q WaycottUnited Kingdom2025-08-02Commercial Press PROPOSAL35Asiya Javayant
1018Costa L RulapaughFrance2025-07-20Chanay, Jeffrey A Esq NEW22Xuxue Feng
1019Greenwood S GillianBrazil2025-08-09Morlong Associates UNQUALIFIED1Asiya Javayant
1020James Q PerinFrance2025-08-05Morlong Associates PROPOSAL33Xuxue Feng
1021Kaitlin C DarakjyRussia2025-07-30King, Christopher A Esq NEW74Ioni Bowcher
1022Cody A ButtItaly2025-07-26Truhlar And Truhlar Attys NEGOTIATION33Xuxue Feng
1023Juan Y VenereAustralia2025-08-09Feiner Bros NEGOTIATION23Xuxue Feng
1024Antonio S IturbideItaly2025-07-14Feiner Bros PROPOSAL98Amy Elsner
1025Stacey Q GillianAustralia2025-08-04Dorl, James J Esq QUALIFIED8Asiya Javayant
1026Leja O DilliardRussia2025-08-03Feltz Printing Service PROPOSAL12Ivan Magalhaes
1027Jefferson G AmigonIndia2025-07-25Rousseaux, Michael Esq PROPOSAL37Amy Elsner
1028Adams H GillianUnited Kingdom2025-07-26Benton, John B Jr PROPOSAL68Onyama Limba
1029Sinclair E CaudyIndia2025-07-20Commercial Press UNQUALIFIED3Ivan Magalhaes
1030David H VenereFrance2025-07-23Benton, John B Jr UNQUALIFIED49Bernardo Dominic
1031Cody V BowleyRussia2025-07-14Chanay, Jeffrey A Esq NEGOTIATION21Bernardo Dominic
1032James A RoysterUnited Kingdom2025-07-29Feltz Printing Service RENEWAL24Ivan Magalhaes
1033Ivar W InouyeUnited Kingdom2025-07-31Printing Dimensions QUALIFIED44Asiya Javayant
1034Kaitlin G FlosiGermany2025-07-29King, Christopher A Esq QUALIFIED35Anna Fali
1035Jeanfrancois V FerenczRussia2025-07-19Feiner Bros RENEWAL49Bernardo Dominic
1036Nicolas Y PaprockiRussia2025-08-11Rangoni Of Florence NEW76Ivan Magalhaes
1037Juan B BologniaAustralia2025-07-14Dorl, James J Esq UNQUALIFIED3Anna Fali
1038Mujtaba Z InouyeAustralia2025-08-09Chemel, James L Cpa NEGOTIATION51Elwin Sharvill
1039Alejandro L RulapaughItaly2025-07-25Rangoni Of Florence RENEWAL56Xuxue Feng
1040Francesco Z GillianSpain2025-08-03Truhlar And Truhlar Attys PROPOSAL74Stephen Shaw
1041Kaitlin L StensethIndia2025-07-18Chemel, James L Cpa PROPOSAL36Ioni Bowcher
1042Stacey E AlbaresRussia2025-07-31King, Christopher A Esq PROPOSAL12Elwin Sharvill
1043Leja N CaudyUnited Kingdom2025-07-23Chanay, Jeffrey A Esq UNQUALIFIED58Amy Elsner
1044Ricardo G KuskoAustralia2025-07-28King, Christopher A Esq QUALIFIED36Stephen Shaw
1045Smith L ShinkoUnited Kingdom2025-07-15Chemel, James L Cpa RENEWAL3Onyama Limba
1046Wickens S SergiFrance2025-07-28Dorl, James J Esq NEGOTIATION4Onyama Limba
1047Wickens I MaletItaly2025-08-08King, Christopher A Esq UNQUALIFIED48Bernardo Dominic
1048Ivar F SlusarskiBrazil2025-08-11Chapman, Ross E Esq NEW7Ioni Bowcher
1049Aika B OldroydUnited Kingdom2025-07-27Chanay, Jeffrey A Esq RENEWAL96Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio H SergiCanadaAmy Elsner NEGOTIATION
Mayumi J SchemmerArgentinaBernardo Dominic PROPOSAL
Aruna W FerenczCanadaIoni Bowcher QUALIFIED
Mujtaba L MorascaUnited KingdomXuxue Feng NEW
Adams Q KolmetzItalyElwin Sharvill UNQUALIFIED
Maria M VenereUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo I WhobreyGermanyElwin Sharvill UNQUALIFIED
Tony K DarakjyJapanAmy Elsner UNQUALIFIED
Greenwood L CampainUnited KingdomOnyama Limba NEW
Stacey O VenereFranceAnna Fali NEW
Arvin O MaletArgentinaIvan Magalhaes NEW
Alejandro M BowleyJapanAnna Fali RENEWAL
Jennifer C VocelkaUnited KingdomOnyama Limba UNQUALIFIED
Smith N MaletRussiaElwin Sharvill RENEWAL
Maria E VenereRussiaStephen Shaw NEW
Kadeem V BriddickGermanyStephen Shaw PROPOSAL
James F FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois G DarakjyRussiaAsiya Javayant UNQUALIFIED
Misaki Z AmigonArgentinaIoni Bowcher UNQUALIFIED
Ashley U SaylorsItalyAmy Elsner PROPOSAL
Kadeem L RutaFranceXuxue Feng NEW
Octavia X WhobreyCanadaElwin Sharvill UNQUALIFIED
Stacey U KolmetzCanadaAnna Fali UNQUALIFIED
Antonio P OldroydUnited KingdomIvan Magalhaes RENEWAL
Izzy E FigeroaAustraliaBernardo Dominic UNQUALIFIED
Wickens F NickaAustraliaIvan Magalhaes UNQUALIFIED
Claire L ShinkoAustraliaBernardo Dominic NEW
Ashley I VenereUnited KingdomStephen Shaw NEGOTIATION
James L GauchoArgentinaAsiya Javayant RENEWAL
Maria W FlosiUnited KingdomBernardo Dominic PROPOSAL
Ivar N AlbaresIndiaOnyama Limba QUALIFIED
Claire O ShinkoArgentinaBernardo Dominic NEW
Silvio F DarakjyJapanAsiya Javayant NEW
Maria I VenereRussiaAnna Fali QUALIFIED
Johnson B GauchoCanadaAmy Elsner PROPOSAL
Julie J SergiSpainElwin Sharvill RENEWAL
Stacey J MacleadGermanyAmy Elsner RENEWAL
Costa D SlusarskiJapanAmy Elsner RENEWAL
Costa R ShinkoUnited KingdomAmy Elsner NEGOTIATION
Kaitlin J AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Claire L StockhamJapanOnyama Limba PROPOSAL
Wickens I PaprockiIndiaIoni Bowcher UNQUALIFIED
Costa F BologniaBrazilXuxue Feng PROPOSAL
Faith Y FigeroaItalyIoni Bowcher QUALIFIED
Nicolas C KolmetzRussiaAsiya Javayant RENEWAL
Cody U RulapaughArgentinaAmy Elsner QUALIFIED
Murillo C OldroydSpainBernardo Dominic RENEWAL
Clifford W CampainCanadaIoni Bowcher UNQUALIFIED
Emily E FerenczJapanIoni Bowcher NEGOTIATION
Jefferson E DilliardUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Leja J Darakjy
Smith Q Amigon
James J Butt
Mayumi A Wieser
Silvio N Kusko
Mujtaba W Maclead
Stacey C Butt
Jefferson H Poquette
Costa K Malet
Morrow Y Stockham
Rodrigues U Glick
Deepesh U Nicka
Emily D Perin
Mayumi K Slusarski
Isabel Y Marrier
Leon H Slusarski
Ricardo E Doe
Misaki J Poquette
Mujtaba X Doe
Johnson L Caudy
Julie S Foller
Kaitlin M Nicka
Salvatore E Butt
Ashley Z Iturbide
Alejandro P Shinko
Kaitlin K Oldroyd
Leja O Albares
David K Iturbide
Ashley Q Venere
Alejandro G Caudy
Maisha Q Morasca
Maisha V Tollner
Morrow U Oldroyd
Jeanfrancois T Malet
Aika C Ferencz
Isabel D Caudy
Alejandro U Figeroa
Arvin C Inouye
Adams U Nestle
Antonio N Royster
Ashley K Vocelka
Aditya O Sergi
Adams T Slusarski
Salvatore W Glick
Leon C Gaucho
Kadeem Z Morasca
Juan V Wieser
Ivar A Ferencz
Jennifer M Sergi
Munro N Figeroa
IdCountryDate
1000Spain2025-07-18
1001Brazil2025-08-06
1002India2025-07-15
1003Russia2025-07-19
1004Canada2025-07-14
1005France2025-08-01
1006Brazil2025-07-25
1007Canada2025-07-19
1008Australia2025-08-10
1009Spain2025-07-14
1010Italy2025-07-18
1011Canada2025-07-22
1012Italy2025-07-24
1013Brazil2025-08-09
1014France2025-08-07
1015Spain2025-08-11
1016Canada2025-07-23
1017Canada2025-08-03
1018France2025-08-02
1019Brazil2025-08-04
1020Russia2025-08-07
1021Argentina2025-07-19
1022United Kingdom2025-07-16
1023Germany2025-08-10
1024Canada2025-07-31
1025Brazil2025-07-29
1026Italy2025-07-15
1027Germany2025-07-15
1028Canada2025-08-06
1029Spain2025-07-21
1030Brazil2025-07-16
1031Australia2025-08-02
1032United Kingdom2025-07-26
1033France2025-07-27
1034Japan2025-08-05
1035Russia2025-08-10
1036Italy2025-08-08
1037Italy2025-08-04
1038Canada2025-07-23
1039Germany2025-07-26
1040Australia2025-07-31
1041Germany2025-07-19
1042Canada2025-07-24
1043Italy2025-08-04
1044Canada2025-07-21
1045Italy2025-08-04
1046India2025-07-14
1047Spain2025-08-07
1048India2025-07-28
1049Argentina2025-08-10

On-Demand Data

NameIdCountryDate
Jones L Morasca1000France2025-07-18
James Z Butt1001Germany2025-08-08
Morrow P Inouye1002Spain2025-08-01
Maria N Ferencz1003Spain2025-08-01
Kaitlin I Doe1004Argentina2025-07-30
Tony Z Wieser1005Japan2025-08-12
David W Albares1006Australia2025-08-05
Arvin I Chui1007Canada2025-07-28
Leon X Dilliard1008United Kingdom2025-07-27
Munro Q Doe1009Argentina2025-08-04
Maisha A Sergi1010Spain2025-08-10
Stacey Y Marrier1011Japan2025-07-29
Chavez K Gaucho1012Spain2025-07-18
Aruna B Albares1013Spain2025-07-25
Nicolas B Nicka1014Spain2025-07-21
Murillo A Campain1015Russia2025-07-15
Tony H Rim1016United Kingdom2025-08-07
Morrow U Nestle1017Germany2025-07-14
Juan R Wieser1018France2025-08-02
Jones C Sergi1019Canada2025-07-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues X FollerGermanyOnyama Limba UNQUALIFIED
Antonio F BriddickItalyAsiya Javayant NEW
Leon T PaprockiItalyStephen Shaw UNQUALIFIED
Faith F OldroydAustraliaAsiya Javayant QUALIFIED
Isabel R DoeFranceXuxue Feng NEW
Ivar F WaycottRussiaAnna Fali RENEWAL
Aruna Y BowleyJapanIoni Bowcher PROPOSAL
Darci Q MaletAustraliaAnna Fali UNQUALIFIED
Aditya K IturbideIndiaAnna Fali QUALIFIED
Ivar C MacleadGermanyIvan Magalhaes PROPOSAL
Aruna K NestleRussiaBernardo Dominic UNQUALIFIED
James R MaletItalyXuxue Feng NEW
Alejandro B ChuiCanadaOnyama Limba PROPOSAL
Alejandro H CaldareraBrazilAnna Fali NEGOTIATION
Clifford D GauchoItalyElwin Sharvill PROPOSAL
Jones I PoquetteCanadaBernardo Dominic PROPOSAL
Mujtaba K NestleFranceAnna Fali NEW
Juan A PerinFranceAmy Elsner UNQUALIFIED
Antonio K VocelkaAustraliaElwin Sharvill NEGOTIATION
Leon W DilliardGermanyIvan Magalhaes NEW
Octavia Y RimGermanyXuxue Feng QUALIFIED
Alejandro Y PoquetteItalyOnyama Limba NEGOTIATION
Faith R FigeroaRussiaIvan Magalhaes PROPOSAL
Emily Q CaldareraBrazilIoni Bowcher UNQUALIFIED
Aika D PerinCanadaBernardo Dominic NEGOTIATION
Izzy W SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Costa Y PerinAustraliaOnyama Limba PROPOSAL
Wickens H AmigonUnited KingdomAnna Fali UNQUALIFIED
Francesco A SaylorsArgentinaIvan Magalhaes PROPOSAL
Ivar Z PoquetteRussiaAnna Fali RENEWAL
Jennifer A InouyeGermanyAsiya Javayant NEW
Faith Z PaprockiIndiaAnna Fali NEGOTIATION
Misaki B ShinkoAustraliaXuxue Feng RENEWAL
Tony E RoysterAustraliaBernardo Dominic QUALIFIED
Leja I CaldareraIndiaAmy Elsner UNQUALIFIED
Deepesh P GlickFranceAsiya Javayant QUALIFIED
Deepesh V RutaBrazilStephen Shaw PROPOSAL
Misaki Y StockhamUnited KingdomAsiya Javayant NEGOTIATION
Deepesh X SchemmerGermanyBernardo Dominic NEGOTIATION
Kadeem I MarrierGermanyXuxue Feng 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>