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
Morrow U MarrierSpainIoni Bowcher NEGOTIATION
Francesco F SaylorsItalyElwin Sharvill PROPOSAL
Maisha Y MorascaRussiaIoni Bowcher QUALIFIED
Nicolas R KuskoBrazilElwin Sharvill UNQUALIFIED
Isabel O IturbideArgentinaElwin Sharvill QUALIFIED
Johnson V CaldareraFranceStephen Shaw NEW
Isabel W PerinSpainBernardo Dominic NEGOTIATION
Chavez V DilliardAustraliaStephen Shaw NEW
Wickens T GarufiIndiaAmy Elsner RENEWAL
Alejandro H StockhamBrazilIvan Magalhaes NEGOTIATION
Antonio F InouyeCanadaStephen Shaw UNQUALIFIED
Deepesh R GlickIndiaElwin Sharvill QUALIFIED
Munro P SergiAustraliaIoni Bowcher QUALIFIED
Isabel W BologniaFranceOnyama Limba RENEWAL
Octavia T GlickAustraliaOnyama Limba UNQUALIFIED
Octavia R FerenczJapanAmy Elsner QUALIFIED
Morrow N SchemmerItalyAnna Fali PROPOSAL
Emily L SergiAustraliaAmy Elsner NEW
Julie W SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Kaitlin B WieserSpainBernardo Dominic PROPOSAL
Jeanfrancois D ButtBrazilBernardo Dominic QUALIFIED
Costa D WaycottIndiaAsiya Javayant NEGOTIATION
Aruna M WhobreyIndiaAnna Fali PROPOSAL
Stacey V DilliardAustraliaAmy Elsner QUALIFIED
Maria F BologniaAustraliaOnyama Limba UNQUALIFIED
Adams G FerenczFranceBernardo Dominic RENEWAL
Tony R SaylorsUnited KingdomBernardo Dominic QUALIFIED
Aditya W SlusarskiIndiaAsiya Javayant QUALIFIED
Wickens R FlosiUnited KingdomStephen Shaw NEGOTIATION
Francesco C VocelkaGermanyElwin Sharvill PROPOSAL
Aruna V FigeroaJapanAmy Elsner PROPOSAL
Morrow L MorascaUnited KingdomStephen Shaw PROPOSAL
Munro N NickaCanadaIvan Magalhaes PROPOSAL
Morrow H GillianAustraliaStephen Shaw PROPOSAL
Johnson S PerinItalyAnna Fali QUALIFIED
David T CaudyCanadaElwin Sharvill RENEWAL
Arvin T DarakjySpainElwin Sharvill NEW
Stacey L GillianIndiaStephen Shaw PROPOSAL
Tony W StensethArgentinaElwin Sharvill RENEWAL
Antonio Z MaletItalyAsiya Javayant UNQUALIFIED
Chavez F SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Maisha H SchemmerItalyIoni Bowcher UNQUALIFIED
Cody W KuskoItalyXuxue Feng UNQUALIFIED
Claire R StockhamRussiaOnyama Limba NEW
Morrow A GillianJapanAsiya Javayant NEGOTIATION
Misaki A MaletArgentinaElwin Sharvill UNQUALIFIED
David D KolmetzBrazilStephen Shaw PROPOSAL
Kaitlin N WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Jeanfrancois I WaycottSpainElwin Sharvill RENEWAL
Isabel K WhobreySpainAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel L TollnerGermanyAsiya Javayant PROPOSAL
Murillo A FollerUnited KingdomAsiya Javayant UNQUALIFIED
Johnson K StensethJapanBernardo Dominic QUALIFIED
Silvio D NickaArgentinaIoni Bowcher NEW
Clifford P KolmetzUnited KingdomOnyama Limba NEW
Deepesh I BriddickItalyStephen Shaw NEW
Murillo N BowleyIndiaXuxue Feng NEW
Ivar W RoysterAustraliaElwin Sharvill PROPOSAL
Juan G SlusarskiFranceAsiya Javayant NEGOTIATION
Maria M BowleyUnited KingdomBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Y DoeBrazil2025-08-17Commercial Press UNQUALIFIED25Bernardo Dominic
1001Jeanfrancois C RoysterUnited Kingdom2025-08-12Rousseaux, Michael Esq QUALIFIED72Elwin Sharvill
1002Arvin Z SergiJapan2025-08-20Chemel, James L Cpa NEGOTIATION10Bernardo Dominic
1003Greenwood J MaletJapan2025-08-05Commercial Press PROPOSAL87Elwin Sharvill
1004Tony D ButtItaly2025-08-14Chemel, James L Cpa NEGOTIATION79Ioni Bowcher
1005Darci Q FlosiAustralia2025-08-14Commercial Press NEGOTIATION64Onyama Limba
1006Leja B InouyeFrance2025-08-30Truhlar And Truhlar Attys NEW98Anna Fali
1007Aika G RimIndia2025-08-10King, Christopher A Esq QUALIFIED7Asiya Javayant
1008Emily Y BowleyCanada2025-08-04Chemel, James L Cpa NEGOTIATION58Onyama Limba
1009Mujtaba R WieserIndia2025-08-26Chapman, Ross E Esq QUALIFIED19Amy Elsner
1010Kadeem G WaycottGermany2025-08-11Commercial Press NEW91Onyama Limba
1011Stacey E AlbaresJapan2025-08-20Rangoni Of Florence NEGOTIATION22Elwin Sharvill
1012Tony V SergiSpain2025-08-06Chemel, James L Cpa NEGOTIATION46Stephen Shaw
1013Ivar W BriddickSpain2025-08-18Dorl, James J Esq NEGOTIATION91Ioni Bowcher
1014Emily C WhobreyRussia2025-08-03King, Christopher A Esq PROPOSAL88Bernardo Dominic
1015Misaki S WhobreyFrance2025-08-22Chapman, Ross E Esq RENEWAL48Ioni Bowcher
1016James V GarufiGermany2025-08-19Chapman, Ross E Esq UNQUALIFIED86Onyama Limba
1017Izzy K GarufiJapan2025-08-10Feltz Printing Service QUALIFIED62Anna Fali
1018Smith I AmigonGermany2025-08-10Dorl, James J Esq NEW54Ivan Magalhaes
1019Chavez I WaycottCanada2025-08-18Chemel, James L Cpa PROPOSAL29Anna Fali
1020Kadeem A VocelkaCanada2025-08-16Rousseaux, Michael Esq PROPOSAL72Stephen Shaw
1021Smith A ButtGermany2025-08-08Chanay, Jeffrey A Esq RENEWAL87Elwin Sharvill
1022Faith W NickaFrance2025-08-07Truhlar And Truhlar Attys RENEWAL90Asiya Javayant
1023Chavez A RimIndia2025-08-15King, Christopher A Esq RENEWAL47Anna Fali
1024Claire I SergiUnited Kingdom2025-08-13King, Christopher A Esq QUALIFIED57Stephen Shaw
1025Jones R CaudyRussia2025-08-19Dorl, James J Esq QUALIFIED31Anna Fali
1026Antonio Y VocelkaArgentina2025-08-02Chapman, Ross E Esq RENEWAL29Onyama Limba
1027Adams O GauchoGermany2025-08-20Printing Dimensions QUALIFIED2Stephen Shaw
1028Tony I SlusarskiJapan2025-08-07Dorl, James J Esq QUALIFIED49Elwin Sharvill
1029Alejandro S MarrierIndia2025-08-09Printing Dimensions RENEWAL11Asiya Javayant
1030Claire B NickaArgentina2025-08-01Truhlar And Truhlar Attys NEGOTIATION3Bernardo Dominic
1031Silvio Z MacleadArgentina2025-08-12Chapman, Ross E Esq NEGOTIATION2Ioni Bowcher
1032Claire E CaudyGermany2025-08-24Benton, John B Jr UNQUALIFIED99Stephen Shaw
1033Salvatore T TollnerIndia2025-08-21Chapman, Ross E Esq RENEWAL74Anna Fali
1034Juan T DoeItaly2025-08-29Chemel, James L Cpa PROPOSAL10Onyama Limba
1035Misaki U DoeUnited Kingdom2025-08-23Dorl, James J Esq PROPOSAL68Onyama Limba
1036Mayumi E OldroydSpain2025-08-10Truhlar And Truhlar Attys PROPOSAL5Amy Elsner
1037Mujtaba S GillianSpain2025-08-26Truhlar And Truhlar Attys UNQUALIFIED93Anna Fali
1038Izzy D GlickSpain2025-08-22King, Christopher A Esq PROPOSAL73Onyama Limba
1039Ricardo G BowleyUnited Kingdom2025-08-21Rangoni Of Florence PROPOSAL15Elwin Sharvill
1040James T PaprockiSpain2025-08-27Feiner Bros NEGOTIATION43Stephen Shaw
1041Ivar P MaletGermany2025-08-09Chapman, Ross E Esq QUALIFIED45Asiya Javayant
1042Octavia X MacleadUnited Kingdom2025-08-07Dorl, James J Esq NEGOTIATION18Anna Fali
1043Ashley X BriddickSpain2025-08-29Commercial Press QUALIFIED82Onyama Limba
1044Aditya F GarufiFrance2025-08-05Rousseaux, Michael Esq UNQUALIFIED52Bernardo Dominic
1045Claire E RutaJapan2025-08-27Chemel, James L Cpa UNQUALIFIED99Onyama Limba
1046Jennifer T NestleIndia2025-08-29Rousseaux, Michael Esq NEW15Elwin Sharvill
1047Costa I VenereArgentina2025-08-29Truhlar And Truhlar Attys QUALIFIED47Asiya Javayant
1048Murillo M WieserIndia2025-08-20Rangoni Of Florence QUALIFIED40Amy Elsner
1049Jeanfrancois Q CampainUnited Kingdom2025-08-07Chapman, Ross E Esq NEGOTIATION0Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan S BologniaFranceElwin Sharvill QUALIFIED
Murillo P WaycottUnited KingdomStephen Shaw NEW
Aditya W PaprockiItalyElwin Sharvill UNQUALIFIED
Claire O MorascaGermanyIoni Bowcher NEW
Arvin S FerenczIndiaStephen Shaw NEW
Julie P StockhamGermanyAsiya Javayant NEGOTIATION
Clifford O GarufiUnited KingdomAnna Fali UNQUALIFIED
Kadeem L SlusarskiJapanIvan Magalhaes NEW
Adams K MaletItalyAsiya Javayant NEGOTIATION
Julie T SchemmerIndiaIvan Magalhaes QUALIFIED
Kadeem P GillianJapanIoni Bowcher UNQUALIFIED
Juan P StensethJapanAmy Elsner NEGOTIATION
Jennifer W KuskoFranceAmy Elsner RENEWAL
Julie C RulapaughAustraliaElwin Sharvill UNQUALIFIED
Misaki C FigeroaUnited KingdomBernardo Dominic PROPOSAL
Kadeem J BriddickIndiaIoni Bowcher NEW
Antonio F WhobreyGermanyAnna Fali NEGOTIATION
Misaki M PaprockiUnited KingdomBernardo Dominic NEW
James U DilliardItalyXuxue Feng UNQUALIFIED
Aruna J RimFranceOnyama Limba PROPOSAL
Jeanfrancois P GillianUnited KingdomAnna Fali QUALIFIED
Jeanfrancois X RoysterUnited KingdomStephen Shaw QUALIFIED
Adams I BriddickAustraliaXuxue Feng RENEWAL
Izzy P IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey K MaletGermanyBernardo Dominic PROPOSAL
Maria M VenereBrazilXuxue Feng QUALIFIED
Jeanfrancois N SaylorsBrazilXuxue Feng QUALIFIED
Ashley C RimBrazilIoni Bowcher RENEWAL
Emily V PoquetteCanadaAnna Fali UNQUALIFIED
Clifford H WaycottBrazilStephen Shaw PROPOSAL
Morrow W PoquetteRussiaBernardo Dominic NEW
Leon I CampainItalyAnna Fali RENEWAL
Ricardo Q ChuiIndiaIoni Bowcher QUALIFIED
Morrow O VenereRussiaIoni Bowcher PROPOSAL
Arvin U VenereFranceAmy Elsner NEGOTIATION
Wickens Q SergiSpainBernardo Dominic NEW
Stacey P SaylorsBrazilAsiya Javayant NEGOTIATION
Chavez D ShinkoRussiaXuxue Feng NEGOTIATION
Mujtaba D SaylorsFranceStephen Shaw RENEWAL
Cody L AmigonUnited KingdomStephen Shaw NEW
James M FigeroaGermanyOnyama Limba UNQUALIFIED
Tony Q GarufiUnited KingdomAnna Fali NEGOTIATION
Clifford O RutaSpainAnna Fali NEGOTIATION
Faith G WieserAustraliaStephen Shaw NEW
Izzy Q GlickItalyAnna Fali RENEWAL
Jeanfrancois J ChuiUnited KingdomElwin Sharvill RENEWAL
Wickens D DarakjySpainIoni Bowcher QUALIFIED
Silvio H GlickIndiaXuxue Feng NEW
Maisha G VenereRussiaStephen Shaw QUALIFIED
Emily A ShinkoIndiaXuxue Feng NEW
Frozen Columns
Name
Ivar F Ruta
James I Albares
Maria P Stockham
Murillo Z Glick
Ivar J Schemmer
Darci N Rulapaugh
David M Wieser
Nicolas W Poquette
Munro F Inouye
Aditya S Campain
Deepesh H Darakjy
Stacey H Marrier
Jennifer D Caudy
Aika U Bolognia
Juan K Waycott
Ricardo N Nestle
Cody T Dilliard
Clifford W Briddick
Deepesh C Glick
Ashley A Dilliard
Arvin A Darakjy
Adams X Slusarski
Murillo B Doe
Aditya E Caudy
David Q Sergi
Alejandro R Figeroa
Mujtaba V Malet
Clifford H Figeroa
Costa C Stenseth
Adams N Vocelka
Ivar S Waycott
Arvin E Tollner
Kadeem K Bowley
Alejandro D Vocelka
Darci W Campain
Julie K Nicka
Stacey Z Ferencz
Arvin Q Wieser
Munro C Wieser
Stacey U Bowley
Alejandro I Poquette
Leon O Garufi
Adams U Poquette
Cody M Ostrosky
Ivar D Saylors
Misaki G Waycott
Ashley J Sergi
Cody Q Paprocki
Jennifer U Shinko
Cody F Maclead
IdCountryDate
1000Italy2025-08-06
1001Spain2025-08-27
1002Italy2025-08-19
1003Brazil2025-08-28
1004Spain2025-08-06
1005France2025-08-22
1006Germany2025-08-18
1007Brazil2025-08-16
1008Japan2025-08-08
1009United Kingdom2025-08-17
1010India2025-08-07
1011Italy2025-08-17
1012India2025-08-13
1013Australia2025-08-15
1014Spain2025-08-16
1015Japan2025-08-22
1016Australia2025-08-06
1017Japan2025-08-16
1018Russia2025-08-07
1019Argentina2025-08-06
1020Brazil2025-08-25
1021India2025-08-27
1022India2025-08-29
1023Canada2025-08-26
1024Japan2025-08-12
1025India2025-08-26
1026Italy2025-08-03
1027Japan2025-08-05
1028Argentina2025-08-19
1029Japan2025-08-03
1030Canada2025-08-20
1031Japan2025-08-03
1032United Kingdom2025-08-15
1033Argentina2025-08-30
1034United Kingdom2025-08-03
1035Germany2025-08-18
1036Canada2025-08-14
1037Canada2025-08-27
1038Italy2025-08-27
1039Italy2025-08-25
1040Germany2025-08-27
1041Italy2025-08-02
1042India2025-08-08
1043Argentina2025-08-22
1044United Kingdom2025-08-23
1045Russia2025-08-20
1046Italy2025-08-05
1047Australia2025-08-03
1048Argentina2025-08-10
1049Argentina2025-08-06

On-Demand Data

NameIdCountryDate
Octavia K Darakjy1000Germany2025-08-10
Jennifer Y Bolognia1001Germany2025-08-01
Emily X Darakjy1002Canada2025-08-02
Julie C Darakjy1003Australia2025-08-09
Misaki P Glick1004Japan2025-08-06
Arvin Q Bowley1005India2025-08-03
Kadeem V Tollner1006France2025-08-14
Claire J Figeroa1007India2025-08-13
Murillo O Malet1008Brazil2025-08-20
David Z Vocelka1009Canada2025-08-27
Tony F Morasca1010Japan2025-08-24
Arvin G Rulapaugh1011Canada2025-08-23
Aditya Z Stenseth1012Italy2025-08-07
Claire V Whobrey1013India2025-08-07
Octavia H Figeroa1014India2025-08-06
Arvin V Glick1015Canada2025-08-30
Misaki Q Morasca1016Italy2025-08-23
Faith G Royster1017United Kingdom2025-08-12
Juan G Nestle1018Brazil2025-08-03
Isabel N Oldroyd1019Italy2025-08-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci X MaletIndiaOnyama Limba UNQUALIFIED
Johnson M KuskoBrazilStephen Shaw NEW
Izzy G DilliardCanadaIoni Bowcher RENEWAL
Sinclair C RulapaughAustraliaOnyama Limba NEGOTIATION
Morrow N FerenczJapanOnyama Limba QUALIFIED
Mayumi Z ChuiGermanyBernardo Dominic RENEWAL
Misaki Y TollnerRussiaStephen Shaw PROPOSAL
Silvio L RoysterRussiaAnna Fali NEGOTIATION
Mujtaba H FigeroaIndiaAnna Fali NEW
Nicolas W AmigonItalyElwin Sharvill RENEWAL
James L OstroskyCanadaXuxue Feng UNQUALIFIED
Jeanfrancois V FigeroaUnited KingdomAnna Fali PROPOSAL
Costa O WieserBrazilXuxue Feng QUALIFIED
Jefferson L TollnerBrazilXuxue Feng QUALIFIED
Mayumi E RoysterIndiaElwin Sharvill UNQUALIFIED
Claire W CaldareraIndiaAmy Elsner UNQUALIFIED
Kaitlin E MaletBrazilAmy Elsner PROPOSAL
Maisha G WhobreyItalyAsiya Javayant QUALIFIED
Kaitlin M NickaRussiaAnna Fali RENEWAL
Alejandro U KuskoUnited KingdomXuxue Feng PROPOSAL
Juan N PaprockiItalyAmy Elsner NEGOTIATION
Jennifer D DoeBrazilAsiya Javayant RENEWAL
Ricardo J PerinItalyAnna Fali UNQUALIFIED
Octavia V ChuiAustraliaAmy Elsner PROPOSAL
Francesco V SaylorsRussiaBernardo Dominic UNQUALIFIED
Jones N InouyeSpainAsiya Javayant NEGOTIATION
Cody E SergiUnited KingdomOnyama Limba QUALIFIED
Juan B StensethFranceAsiya Javayant RENEWAL
Isabel R FerenczFranceAnna Fali NEW
Ricardo Z AlbaresIndiaIvan Magalhaes UNQUALIFIED
Arvin I InouyeItalyIvan Magalhaes NEW
Rodrigues N WaycottRussiaElwin Sharvill NEGOTIATION
Salvatore P OstroskySpainXuxue Feng NEGOTIATION
Cody E GillianItalyIvan Magalhaes PROPOSAL
Morrow W GauchoItalyAmy Elsner RENEWAL
Maria P RimJapanXuxue Feng NEGOTIATION
Rodrigues C PerinIndiaStephen Shaw UNQUALIFIED
Kadeem M DoeArgentinaXuxue Feng RENEWAL
Deepesh T OldroydItalyAmy Elsner NEW
Arvin I VocelkaAustraliaXuxue Feng PROPOSAL

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