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 Q WaycottArgentinaXuxue Feng NEGOTIATION
Silvio A GauchoArgentinaAnna Fali PROPOSAL
David J PaprockiIndiaXuxue Feng NEW
Adams V StensethRussiaXuxue Feng RENEWAL
Stacey Q VenereBrazilAmy Elsner NEW
Emily S GarufiCanadaAsiya Javayant NEGOTIATION
Alejandro L RulapaughSpainOnyama Limba PROPOSAL
Mujtaba L WieserItalyOnyama Limba RENEWAL
Aika Y RulapaughFranceBernardo Dominic NEGOTIATION
Mayumi V MacleadArgentinaAmy Elsner QUALIFIED
Jefferson Z RimGermanyIoni Bowcher UNQUALIFIED
David D PaprockiSpainIoni Bowcher PROPOSAL
Deepesh R WaycottGermanyBernardo Dominic NEGOTIATION
Rodrigues S MarrierAustraliaBernardo Dominic UNQUALIFIED
Costa M RulapaughGermanyXuxue Feng UNQUALIFIED
Salvatore H FlosiSpainIoni Bowcher UNQUALIFIED
Maisha Z PoquetteGermanyStephen Shaw UNQUALIFIED
Murillo M MarrierSpainIvan Magalhaes UNQUALIFIED
Salvatore O VocelkaArgentinaBernardo Dominic PROPOSAL
Isabel K ShinkoItalyBernardo Dominic QUALIFIED
Adams F MacleadBrazilBernardo Dominic NEGOTIATION
Johnson U IturbideArgentinaElwin Sharvill NEW
Mayumi L FigeroaRussiaAmy Elsner RENEWAL
Kadeem X BologniaJapanStephen Shaw NEW
Jennifer A RimIndiaIvan Magalhaes QUALIFIED
Francesco R MarrierUnited KingdomStephen Shaw RENEWAL
Leon M RimBrazilBernardo Dominic PROPOSAL
Julie C VocelkaBrazilXuxue Feng NEW
Faith T TollnerAustraliaIvan Magalhaes UNQUALIFIED
Ashley D VocelkaFranceOnyama Limba UNQUALIFIED
Francesco V SchemmerSpainOnyama Limba QUALIFIED
Maria X CaldareraIndiaAsiya Javayant QUALIFIED
Jeanfrancois K MorascaSpainAnna Fali UNQUALIFIED
Stacey X KolmetzGermanyAmy Elsner UNQUALIFIED
Leon V WaycottGermanyElwin Sharvill UNQUALIFIED
Jones M CampainUnited KingdomIoni Bowcher NEW
Deepesh I OstroskyFranceElwin Sharvill UNQUALIFIED
Antonio D MacleadArgentinaElwin Sharvill NEW
Clifford L BologniaUnited KingdomStephen Shaw RENEWAL
David W VocelkaBrazilBernardo Dominic RENEWAL
Claire I OstroskyGermanyAmy Elsner NEW
Greenwood W OldroydUnited KingdomIoni Bowcher QUALIFIED
Francesco S ShinkoBrazilOnyama Limba QUALIFIED
Julie V FlosiArgentinaAnna Fali NEW
Deepesh D FigeroaFranceElwin Sharvill NEW
Aruna P GarufiRussiaIvan Magalhaes QUALIFIED
Tony A MarrierArgentinaStephen Shaw UNQUALIFIED
Aruna W DoeCanadaIoni Bowcher QUALIFIED
Maisha M GauchoCanadaIoni Bowcher RENEWAL
Wickens N KolmetzCanadaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily V ButtSpainOnyama Limba NEGOTIATION
Izzy J RutaSpainIvan Magalhaes QUALIFIED
Ricardo O MorascaUnited KingdomIvan Magalhaes RENEWAL
Aika S BowleyIndiaBernardo Dominic UNQUALIFIED
Stacey P NickaCanadaStephen Shaw QUALIFIED
Julie D DilliardIndiaStephen Shaw NEW
Munro W SchemmerArgentinaBernardo Dominic NEGOTIATION
Clifford J DarakjyAustraliaIvan Magalhaes NEW
Ashley P FigeroaCanadaAmy Elsner PROPOSAL
Francesco Y SergiIndiaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Z StockhamIndia2025-07-20Dorl, James J Esq NEGOTIATION75Stephen Shaw
1001Greenwood T DarakjyArgentina2025-07-25Feiner Bros QUALIFIED45Onyama Limba
1002Jefferson L WaycottFrance2025-07-21Chanay, Jeffrey A Esq RENEWAL74Ioni Bowcher
1003Adams M GlickRussia2025-07-19Benton, John B Jr NEW64Bernardo Dominic
1004Chavez Y WhobreyCanada2025-07-25Rousseaux, Michael Esq PROPOSAL71Ivan Magalhaes
1005Jefferson K SchemmerBrazil2025-07-21Rangoni Of Florence NEGOTIATION94Amy Elsner
1006Munro U MacleadRussia2025-08-08Printing Dimensions QUALIFIED34Anna Fali
1007Kaitlin K FigeroaBrazil2025-07-16Chemel, James L Cpa QUALIFIED63Xuxue Feng
1008Sinclair H ShinkoSpain2025-08-04Dorl, James J Esq RENEWAL13Xuxue Feng
1009Octavia M PerinUnited Kingdom2025-07-28Truhlar And Truhlar Attys PROPOSAL10Ioni Bowcher
1010Maisha V PoquetteUnited Kingdom2025-08-12Commercial Press QUALIFIED67Amy Elsner
1011David S SergiGermany2025-07-27Printing Dimensions NEGOTIATION57Onyama Limba
1012Leon W FigeroaGermany2025-08-01Feltz Printing Service QUALIFIED94Anna Fali
1013Wickens Z PaprockiJapan2025-07-19Chanay, Jeffrey A Esq PROPOSAL28Amy Elsner
1014Morrow Y WieserRussia2025-07-18Benton, John B Jr UNQUALIFIED33Stephen Shaw
1015Juan Z DilliardUnited Kingdom2025-08-12Chapman, Ross E Esq QUALIFIED32Ivan Magalhaes
1016Izzy Q MaletItaly2025-07-22Morlong Associates QUALIFIED56Bernardo Dominic
1017Mayumi A GillianGermany2025-07-19Commercial Press NEW90Stephen Shaw
1018Stacey W WaycottBrazil2025-07-21Commercial Press UNQUALIFIED3Onyama Limba
1019Arvin G CampainRussia2025-07-22Rousseaux, Michael Esq NEW15Ivan Magalhaes
1020Juan G DilliardJapan2025-07-16Chemel, James L Cpa NEW27Ivan Magalhaes
1021Silvio V NestleFrance2025-08-12Dorl, James J Esq NEW16Ioni Bowcher
1022Faith U SlusarskiIndia2025-08-08Feiner Bros QUALIFIED85Anna Fali
1023Clifford K MacleadUnited Kingdom2025-08-11Rangoni Of Florence UNQUALIFIED86Asiya Javayant
1024Emily Y StockhamFrance2025-07-20Printing Dimensions RENEWAL34Anna Fali
1025Misaki E MorascaItaly2025-07-27Truhlar And Truhlar Attys RENEWAL19Ioni Bowcher
1026Isabel V MaletIndia2025-07-30Feiner Bros NEW58Amy Elsner
1027Ricardo J BowleyJapan2025-07-23Benton, John B Jr RENEWAL47Xuxue Feng
1028Wickens X MaletAustralia2025-07-21Commercial Press NEW28Anna Fali
1029Emily W SergiRussia2025-07-19Dorl, James J Esq RENEWAL82Ivan Magalhaes
1030Murillo R InouyeAustralia2025-08-06Truhlar And Truhlar Attys NEGOTIATION56Onyama Limba
1031Izzy L GlickIndia2025-07-18Printing Dimensions NEGOTIATION82Anna Fali
1032Wickens T RimFrance2025-07-26Dorl, James J Esq UNQUALIFIED75Stephen Shaw
1033Sinclair B ShinkoRussia2025-07-30Truhlar And Truhlar Attys QUALIFIED91Amy Elsner
1034Faith H MaletIndia2025-07-23Rangoni Of Florence QUALIFIED27Onyama Limba
1035Alejandro E GarufiArgentina2025-07-26Benton, John B Jr NEGOTIATION29Elwin Sharvill
1036Adams X ChuiIndia2025-07-23Chapman, Ross E Esq UNQUALIFIED68Bernardo Dominic
1037Faith T GarufiGermany2025-07-20Benton, John B Jr RENEWAL87Ivan Magalhaes
1038Deepesh Q MaletAustralia2025-07-19Chemel, James L Cpa RENEWAL88Ioni Bowcher
1039Kadeem L FollerFrance2025-07-24Feiner Bros NEGOTIATION21Anna Fali
1040Jeanfrancois A PaprockiGermany2025-07-24Chemel, James L Cpa QUALIFIED18Stephen Shaw
1041Mayumi C FerenczItaly2025-07-20Benton, John B Jr RENEWAL97Onyama Limba
1042Kaitlin I ChuiBrazil2025-07-31Chapman, Ross E Esq RENEWAL54Bernardo Dominic
1043Stacey Y SaylorsJapan2025-08-01Rousseaux, Michael Esq RENEWAL47Anna Fali
1044Maisha S SaylorsItaly2025-07-20Truhlar And Truhlar Attys RENEWAL43Onyama Limba
1045Kadeem D RutaCanada2025-08-03Feltz Printing Service UNQUALIFIED33Amy Elsner
1046Deepesh T RoysterGermany2025-07-29Benton, John B Jr NEGOTIATION1Elwin Sharvill
1047Ricardo V ChuiFrance2025-07-25Feiner Bros RENEWAL31Stephen Shaw
1048Faith I OldroydAustralia2025-08-10Feltz Printing Service RENEWAL50Asiya Javayant
1049Aruna E SlusarskiArgentina2025-08-08Feltz Printing Service QUALIFIED35Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Mayumi Y WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Leon S MarrierIndiaStephen Shaw UNQUALIFIED
Ashley Z PoquetteAustraliaOnyama Limba NEW
Ashley U MacleadBrazilAnna Fali PROPOSAL
Kadeem D FlosiRussiaElwin Sharvill NEGOTIATION
Salvatore X PaprockiItalyElwin Sharvill RENEWAL
Tony N KuskoSpainXuxue Feng NEW
Jeanfrancois X MaletFranceIvan Magalhaes NEGOTIATION
Maria Q BriddickItalyXuxue Feng NEGOTIATION
Aruna P WieserBrazilStephen Shaw NEGOTIATION
Salvatore L GillianArgentinaIoni Bowcher NEGOTIATION
Ashley Z GauchoUnited KingdomElwin Sharvill NEW
Aditya B BriddickIndiaAsiya Javayant UNQUALIFIED
Octavia F MacleadJapanIoni Bowcher UNQUALIFIED
Mujtaba G IturbideItalyOnyama Limba PROPOSAL
Murillo B DoeSpainIoni Bowcher RENEWAL
Julie H DarakjyJapanBernardo Dominic QUALIFIED
David N GlickIndiaBernardo Dominic PROPOSAL
Tony U GillianFranceIvan Magalhaes RENEWAL
Jefferson J GarufiJapanIvan Magalhaes NEGOTIATION
Aruna A FlosiItalyElwin Sharvill QUALIFIED
Ashley H FlosiRussiaIoni Bowcher PROPOSAL
Ivar O CaudyUnited KingdomStephen Shaw PROPOSAL
Misaki L FerenczArgentinaBernardo Dominic NEW
Smith W PerinCanadaAsiya Javayant UNQUALIFIED
Isabel Q KuskoGermanyBernardo Dominic NEW
Jefferson J PerinRussiaAnna Fali QUALIFIED
Ashley S FollerCanadaOnyama Limba NEGOTIATION
Izzy X SchemmerSpainIoni Bowcher NEGOTIATION
Adams X MaletArgentinaElwin Sharvill NEW
Maria A MarrierJapanOnyama Limba NEW
Nicolas O CaldareraItalyIoni Bowcher NEGOTIATION
Jefferson B MaletFranceAmy Elsner NEGOTIATION
Aditya K DilliardBrazilBernardo Dominic RENEWAL
Maisha F CaudyRussiaStephen Shaw QUALIFIED
Nicolas I CaldareraRussiaAnna Fali UNQUALIFIED
Alejandro Y CampainJapanOnyama Limba NEGOTIATION
Jefferson X FigeroaJapanAsiya Javayant UNQUALIFIED
Greenwood O GillianAustraliaAnna Fali NEGOTIATION
Leon E MacleadAustraliaIvan Magalhaes RENEWAL
Murillo C PerinUnited KingdomOnyama Limba NEW
Sinclair N WhobreySpainAnna Fali RENEWAL
Clifford M CaldareraSpainIvan Magalhaes NEW
Juan E ShinkoFranceBernardo Dominic NEGOTIATION
Tony K FollerItalyAnna Fali RENEWAL
Maria H OstroskyAustraliaBernardo Dominic UNQUALIFIED
David X TollnerUnited KingdomIoni Bowcher NEGOTIATION
Juan G DoeRussiaXuxue Feng QUALIFIED
Aruna V WieserUnited KingdomAmy Elsner NEGOTIATION
Costa G DoeSpainElwin Sharvill RENEWAL
Frozen Columns
Name
Adams K Ostrosky
Jeanfrancois B Nestle
Ricardo V Paprocki
Silvio V Wieser
Salvatore J Inouye
Stacey S Maclead
Deepesh J Flosi
Ricardo W Caudy
Nicolas T Nicka
Adams O Maclead
Aika E Sergi
Claire O Iturbide
David K Vocelka
Mujtaba U Stenseth
Murillo J Caldarera
Kadeem O Poquette
Silvio E Ostrosky
Isabel D Waycott
Mayumi U Gillian
Jennifer B Perin
Aika Z Marrier
Izzy Y Malet
Chavez N Glick
Emily D Doe
Francesco V Iturbide
Arvin G Iturbide
Chavez F Flosi
Maisha S Whobrey
Tony C Albares
Francesco O Schemmer
Nicolas G Wieser
Smith F Perin
Mayumi Y Iturbide
Kadeem P Glick
Mujtaba F Amigon
Izzy Y Amigon
Nicolas O Shinko
Costa U Rulapaugh
Deepesh S Perin
Salvatore N Oldroyd
Nicolas O Schemmer
Ashley G Foller
Alejandro N Saylors
Izzy I Figeroa
Leon A Albares
Smith P Paprocki
Octavia S Butt
Aditya R Flosi
Faith Z Saylors
James N Waycott
IdCountryDate
1000India2025-07-15
1001Germany2025-07-28
1002France2025-08-12
1003Germany2025-07-27
1004Germany2025-08-11
1005France2025-07-31
1006Canada2025-07-16
1007Spain2025-07-21
1008Japan2025-08-13
1009France2025-08-02
1010Australia2025-08-03
1011Germany2025-08-10
1012Spain2025-07-30
1013Italy2025-07-18
1014Canada2025-08-13
1015Japan2025-07-26
1016Canada2025-08-09
1017Canada2025-07-28
1018Japan2025-08-03
1019Italy2025-07-15
1020Germany2025-08-10
1021United Kingdom2025-07-15
1022United Kingdom2025-07-25
1023Canada2025-07-21
1024Italy2025-07-27
1025India2025-08-08
1026Spain2025-08-03
1027Canada2025-07-18
1028Brazil2025-08-08
1029Argentina2025-07-23
1030India2025-07-22
1031Argentina2025-08-02
1032France2025-07-18
1033United Kingdom2025-07-17
1034Argentina2025-08-13
1035Australia2025-07-30
1036France2025-08-07
1037Japan2025-08-03
1038Australia2025-07-27
1039India2025-08-02
1040Canada2025-07-22
1041France2025-08-05
1042Germany2025-07-29
1043Japan2025-07-23
1044Russia2025-07-16
1045Australia2025-08-07
1046Germany2025-07-27
1047Spain2025-08-11
1048Italy2025-07-16
1049Canada2025-08-08

On-Demand Data

NameIdCountryDate
Maisha B Royster1000Japan2025-07-29
James T Wieser1001Japan2025-08-09
Smith N Sergi1002Germany2025-07-23
Kaitlin N Paprocki1003United Kingdom2025-08-06
Claire L Venere1004Japan2025-08-11
Greenwood S Briddick1005Japan2025-07-21
Izzy Y Maclead1006France2025-08-12
Francesco P Kolmetz1007Canada2025-08-11
Aruna Q Chui1008India2025-08-09
Kaitlin T Rim1009India2025-07-15
Leon R Stenseth1010Italy2025-07-20
Jennifer B Royster1011United Kingdom2025-08-06
Jefferson X Chui1012Italy2025-07-16
Munro H Tollner1013Argentina2025-07-15
Ricardo M Ruta1014Brazil2025-08-01
Antonio O Kusko1015Argentina2025-07-28
Aruna L Kolmetz1016Spain2025-08-07
Kadeem B Amigon1017Spain2025-08-12
James M Marrier1018France2025-08-04
Deepesh M Nestle1019Canada2025-07-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar O NestleAustraliaStephen Shaw QUALIFIED
Mujtaba D BriddickFranceAmy Elsner QUALIFIED
Juan Z VocelkaRussiaIvan Magalhaes NEGOTIATION
Julie G StockhamCanadaAnna Fali NEW
Greenwood B GauchoRussiaElwin Sharvill NEGOTIATION
Darci Y ShinkoUnited KingdomXuxue Feng NEW
Chavez B GlickAustraliaXuxue Feng PROPOSAL
Chavez F StensethIndiaAsiya Javayant RENEWAL
Salvatore F CaldareraItalyAnna Fali QUALIFIED
Antonio X NickaItalyAsiya Javayant RENEWAL
Smith Y KuskoGermanyIvan Magalhaes QUALIFIED
Munro Z AmigonAustraliaBernardo Dominic NEGOTIATION
Morrow Y SaylorsRussiaAnna Fali UNQUALIFIED
Nicolas V GauchoAustraliaIoni Bowcher NEGOTIATION
Rodrigues Y KolmetzSpainAsiya Javayant RENEWAL
Octavia X ButtUnited KingdomAnna Fali RENEWAL
Silvio R RutaAustraliaAmy Elsner NEGOTIATION
Greenwood S CaudyUnited KingdomXuxue Feng PROPOSAL
Mayumi R RoysterRussiaAsiya Javayant UNQUALIFIED
Misaki S DoeFranceAsiya Javayant NEGOTIATION
Cody F WhobreyFranceElwin Sharvill NEGOTIATION
Emily A IturbideBrazilIvan Magalhaes NEW
Maisha P StensethAustraliaElwin Sharvill UNQUALIFIED
Leon A DarakjyCanadaAmy Elsner NEW
Sinclair Z StockhamGermanyAmy Elsner NEW
Julie Y PaprockiItalyXuxue Feng RENEWAL
Morrow Z RutaGermanyStephen Shaw NEGOTIATION
Stacey C GauchoIndiaIvan Magalhaes PROPOSAL
Cody A RoysterGermanyAsiya Javayant NEW
Morrow D MaletBrazilAmy Elsner UNQUALIFIED
Emily P GarufiRussiaElwin Sharvill QUALIFIED
Kaitlin M StockhamBrazilOnyama Limba UNQUALIFIED
Aika A GillianFranceXuxue Feng QUALIFIED
Maisha C NestleJapanAmy Elsner NEGOTIATION
Tony T RimFranceOnyama Limba PROPOSAL
Jefferson Y WieserUnited KingdomAmy Elsner PROPOSAL
Aika R KuskoJapanBernardo Dominic UNQUALIFIED
Aika N DarakjyArgentinaStephen Shaw QUALIFIED
Kadeem M GauchoCanadaStephen Shaw QUALIFIED
Claire L IturbideFranceBernardo Dominic RENEWAL

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