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
Deepesh U OldroydAustraliaAmy Elsner NEW
Darci E WhobreyUnited KingdomBernardo Dominic QUALIFIED
Isabel F GauchoArgentinaStephen Shaw NEW
Octavia U MacleadCanadaIoni Bowcher QUALIFIED
Maria E RoysterIndiaIoni Bowcher UNQUALIFIED
Maria V RimItalyBernardo Dominic PROPOSAL
Izzy H VenereIndiaElwin Sharvill NEW
Jeanfrancois S CaudyItalyStephen Shaw NEGOTIATION
Tony R FerenczArgentinaIoni Bowcher UNQUALIFIED
Ivar C ShinkoRussiaBernardo Dominic PROPOSAL
Silvio R CaudyJapanAmy Elsner UNQUALIFIED
Misaki E CaudyArgentinaIvan Magalhaes RENEWAL
Salvatore O ButtSpainAsiya Javayant RENEWAL
Silvio R BowleyArgentinaAmy Elsner RENEWAL
Smith H GauchoCanadaIoni Bowcher NEGOTIATION
David A StockhamGermanyIvan Magalhaes NEGOTIATION
Jennifer C ChuiGermanyXuxue Feng UNQUALIFIED
Juan X InouyeGermanyIoni Bowcher PROPOSAL
Smith S KuskoUnited KingdomStephen Shaw NEW
Emily Y KuskoArgentinaXuxue Feng RENEWAL
Chavez J MorascaCanadaOnyama Limba PROPOSAL
Costa H KolmetzGermanyOnyama Limba NEGOTIATION
Faith V SaylorsAustraliaOnyama Limba PROPOSAL
Mujtaba J OstroskyCanadaBernardo Dominic NEGOTIATION
Adams T OstroskyFranceBernardo Dominic PROPOSAL
Johnson M PaprockiSpainAmy Elsner UNQUALIFIED
Maisha B ShinkoAustraliaElwin Sharvill QUALIFIED
Darci K StockhamRussiaXuxue Feng PROPOSAL
Julie S RutaSpainAmy Elsner NEGOTIATION
Maria O IturbideUnited KingdomStephen Shaw PROPOSAL
Ashley R TollnerArgentinaAsiya Javayant UNQUALIFIED
David O FlosiIndiaAsiya Javayant NEW
Kadeem Y WaycottItalyXuxue Feng PROPOSAL
Deepesh S SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Clifford L DilliardBrazilXuxue Feng UNQUALIFIED
Morrow I RutaSpainAnna Fali UNQUALIFIED
Johnson B MarrierItalyElwin Sharvill PROPOSAL
Adams D FollerArgentinaAnna Fali NEW
Mujtaba E GillianIndiaStephen Shaw RENEWAL
Leja H VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Chavez T GillianCanadaAsiya Javayant PROPOSAL
Ashley K SlusarskiCanadaOnyama Limba UNQUALIFIED
Emily M PerinUnited KingdomAmy Elsner UNQUALIFIED
Arvin N KuskoBrazilStephen Shaw NEW
Kaitlin F VenereAustraliaElwin Sharvill PROPOSAL
Maria I RutaSpainIvan Magalhaes PROPOSAL
Cody V MarrierUnited KingdomStephen Shaw RENEWAL
Izzy F InouyeGermanyAnna Fali NEGOTIATION
James K KolmetzAustraliaElwin Sharvill RENEWAL
Jennifer I GarufiSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire F GillianAustraliaAsiya Javayant NEW
Salvatore T NestleFranceStephen Shaw PROPOSAL
Ashley B KolmetzGermanyAnna Fali UNQUALIFIED
Greenwood U MaletBrazilStephen Shaw QUALIFIED
Salvatore T SlusarskiFranceIvan Magalhaes UNQUALIFIED
Izzy N DilliardAustraliaOnyama Limba UNQUALIFIED
Ricardo X CampainItalyIoni Bowcher NEGOTIATION
Darci X GillianJapanStephen Shaw QUALIFIED
Aruna W RoysterArgentinaOnyama Limba QUALIFIED
Kadeem B InouyeAustraliaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo W RutaGermany2025-08-03Feiner Bros RENEWAL7Ioni Bowcher
1001Faith J ChuiGermany2025-08-05Rangoni Of Florence RENEWAL77Ivan Magalhaes
1002Morrow L OldroydFrance2025-08-05Chemel, James L Cpa QUALIFIED85Bernardo Dominic
1003Smith Z FollerUnited Kingdom2025-08-09King, Christopher A Esq NEGOTIATION44Xuxue Feng
1004Maria Y AlbaresJapan2025-08-01Chanay, Jeffrey A Esq NEGOTIATION71Amy Elsner
1005Leon U OldroydRussia2025-07-30Chapman, Ross E Esq QUALIFIED77Bernardo Dominic
1006Ashley D WaycottGermany2025-07-29Dorl, James J Esq PROPOSAL91Stephen Shaw
1007Francesco L PoquetteBrazil2025-08-01Chemel, James L Cpa NEGOTIATION6Xuxue Feng
1008Maisha P WieserItaly2025-08-07Morlong Associates NEGOTIATION23Asiya Javayant
1009Mayumi G MacleadIndia2025-08-20Feltz Printing Service NEW70Xuxue Feng
1010Clifford O BowleyFrance2025-08-15Rangoni Of Florence UNQUALIFIED97Anna Fali
1011Tony V IturbideBrazil2025-08-12Rousseaux, Michael Esq UNQUALIFIED23Anna Fali
1012Aditya D GarufiBrazil2025-08-08Chemel, James L Cpa NEW72Bernardo Dominic
1013Sinclair C DoeIndia2025-07-26Chapman, Ross E Esq QUALIFIED76Amy Elsner
1014Jennifer U PaprockiFrance2025-08-08Truhlar And Truhlar Attys NEGOTIATION56Ioni Bowcher
1015Silvio F CaudyItaly2025-08-15Truhlar And Truhlar Attys RENEWAL20Ivan Magalhaes
1016Rodrigues Y KolmetzGermany2025-08-16Feltz Printing Service PROPOSAL48Asiya Javayant
1017Claire P TollnerJapan2025-07-30Rangoni Of Florence NEGOTIATION98Ivan Magalhaes
1018Deepesh R FerenczGermany2025-07-30Buckley Miller Wright UNQUALIFIED40Elwin Sharvill
1019Antonio I PerinJapan2025-08-13Feltz Printing Service RENEWAL24Ivan Magalhaes
1020Emily W IturbideIndia2025-08-20Dorl, James J Esq NEGOTIATION54Onyama Limba
1021Antonio Y RoysterJapan2025-07-31Chapman, Ross E Esq NEW50Onyama Limba
1022Nicolas Z FerenczAustralia2025-07-30Feiner Bros NEW66Bernardo Dominic
1023Wickens Z FerenczJapan2025-08-10Buckley Miller Wright QUALIFIED1Ioni Bowcher
1024Darci C CaldareraAustralia2025-07-31Morlong Associates NEW21Stephen Shaw
1025Juan G StockhamAustralia2025-08-19Dorl, James J Esq QUALIFIED82Elwin Sharvill
1026Tony L MaletCanada2025-07-26Truhlar And Truhlar Attys UNQUALIFIED32Anna Fali
1027Isabel G SchemmerUnited Kingdom2025-08-12Rousseaux, Michael Esq QUALIFIED79Anna Fali
1028Wickens K SaylorsSpain2025-08-02Benton, John B Jr NEW4Ivan Magalhaes
1029Emily B WhobreyFrance2025-08-02Truhlar And Truhlar Attys UNQUALIFIED73Asiya Javayant
1030Misaki G DilliardCanada2025-08-23Feltz Printing Service QUALIFIED75Elwin Sharvill
1031Octavia W DoeArgentina2025-08-16Benton, John B Jr PROPOSAL69Amy Elsner
1032Isabel W OstroskyRussia2025-08-13Feiner Bros QUALIFIED3Ioni Bowcher
1033Jennifer M FollerSpain2025-07-30Feltz Printing Service NEGOTIATION88Bernardo Dominic
1034Stacey H CaudyIndia2025-07-30Rangoni Of Florence NEW32Bernardo Dominic
1035Stacey Q MaletFrance2025-08-07Morlong Associates NEW18Ioni Bowcher
1036Maisha H OstroskyBrazil2025-08-09Rangoni Of Florence RENEWAL21Xuxue Feng
1037Arvin A SchemmerRussia2025-08-03Buckley Miller Wright NEW62Elwin Sharvill
1038Jennifer N StockhamGermany2025-08-09Morlong Associates QUALIFIED50Elwin Sharvill
1039Costa W NickaFrance2025-08-13Benton, John B Jr NEW93Ioni Bowcher
1040Costa V TollnerItaly2025-07-30Chemel, James L Cpa NEW11Ioni Bowcher
1041Salvatore G MorascaFrance2025-07-30Rousseaux, Michael Esq PROPOSAL44Ioni Bowcher
1042Tony G MarrierArgentina2025-08-01Dorl, James J Esq UNQUALIFIED10Xuxue Feng
1043Greenwood J GlickGermany2025-07-25Commercial Press QUALIFIED82Anna Fali
1044Chavez C KolmetzGermany2025-07-29Rousseaux, Michael Esq UNQUALIFIED42Anna Fali
1045David Y DilliardArgentina2025-07-27Chemel, James L Cpa NEW42Amy Elsner
1046Isabel B OstroskyAustralia2025-08-21Commercial Press PROPOSAL56Stephen Shaw
1047Alejandro W CaudyBrazil2025-07-27Benton, John B Jr PROPOSAL19Ivan Magalhaes
1048Mayumi V MaletItaly2025-08-20Buckley Miller Wright QUALIFIED67Bernardo Dominic
1049Octavia M GlickIndia2025-08-01Chanay, Jeffrey A Esq NEGOTIATION97Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ashley F SlusarskiArgentinaElwin Sharvill RENEWAL
Murillo B MacleadCanadaBernardo Dominic RENEWAL
James N VocelkaFranceAnna Fali QUALIFIED
Salvatore K PoquetteCanadaBernardo Dominic QUALIFIED
Ivar K MaletUnited KingdomIvan Magalhaes QUALIFIED
Costa S RulapaughSpainAsiya Javayant RENEWAL
Ivar A FerenczArgentinaOnyama Limba NEGOTIATION
Octavia S SlusarskiGermanyOnyama Limba PROPOSAL
Murillo E GlickArgentinaAnna Fali NEGOTIATION
James Q SaylorsCanadaIoni Bowcher UNQUALIFIED
Jennifer Q FlosiGermanyAnna Fali QUALIFIED
Leja K BowleyAustraliaAmy Elsner NEW
Smith D AlbaresRussiaBernardo Dominic UNQUALIFIED
Kadeem A DoeJapanAmy Elsner PROPOSAL
Jeanfrancois Q InouyeArgentinaXuxue Feng NEGOTIATION
Munro T NickaSpainStephen Shaw NEGOTIATION
Munro C SaylorsSpainElwin Sharvill NEW
Kaitlin X BriddickRussiaAmy Elsner RENEWAL
Aruna X SchemmerArgentinaAmy Elsner NEGOTIATION
Morrow E NickaBrazilStephen Shaw QUALIFIED
Maria J NickaJapanStephen Shaw UNQUALIFIED
David S WieserIndiaBernardo Dominic RENEWAL
Costa B NickaCanadaBernardo Dominic RENEWAL
Octavia W GarufiItalyIoni Bowcher QUALIFIED
Cody K SlusarskiGermanyAmy Elsner NEGOTIATION
Aruna F ButtAustraliaAmy Elsner QUALIFIED
Francesco A PaprockiGermanyAnna Fali QUALIFIED
Jennifer Y SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Ivar W DarakjyJapanElwin Sharvill QUALIFIED
Darci W GarufiFranceAmy Elsner NEW
Alejandro V OstroskyGermanyElwin Sharvill NEGOTIATION
Deepesh N TollnerItalyOnyama Limba NEW
Smith L TollnerUnited KingdomStephen Shaw UNQUALIFIED
Ricardo G RimJapanBernardo Dominic PROPOSAL
Costa T WieserGermanyIoni Bowcher UNQUALIFIED
Julie C PaprockiIndiaElwin Sharvill UNQUALIFIED
Ashley I FlosiUnited KingdomStephen Shaw QUALIFIED
Tony M GarufiItalyElwin Sharvill PROPOSAL
Mujtaba X NickaSpainAmy Elsner NEGOTIATION
Aruna I MorascaJapanIvan Magalhaes RENEWAL
Claire A KolmetzFranceStephen Shaw NEW
Jennifer D RutaGermanyIvan Magalhaes PROPOSAL
Francesco X KolmetzRussiaIoni Bowcher UNQUALIFIED
Adams S SaylorsGermanyElwin Sharvill NEW
Jeanfrancois L OstroskyBrazilBernardo Dominic NEW
Aika V TollnerIndiaIoni Bowcher PROPOSAL
Antonio C RimRussiaXuxue Feng PROPOSAL
Sinclair T GauchoRussiaXuxue Feng NEW
Faith O RutaSpainBernardo Dominic UNQUALIFIED
Chavez O FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Claire L Waycott
Aruna I Marrier
Costa O Venere
Ashley S Slusarski
Leon X Rim
Tony I Oldroyd
Julie P Wieser
Ricardo G Darakjy
Jennifer I Sergi
Arvin O Ferencz
Sinclair E Iturbide
Deepesh Q Iturbide
Francesco H Shinko
Smith W Ostrosky
Rodrigues X Bolognia
Mayumi H Ruta
Silvio M Ruta
Jennifer Z Rim
Isabel T Caldarera
Salvatore A Nicka
Jones M Albares
Maisha X Malet
Ivar A Paprocki
Arvin F Shinko
Julie B Paprocki
Kadeem P Whobrey
Emily I Bowley
Claire Y Darakjy
Aditya X Campain
Rodrigues R Stenseth
Ashley Q Rulapaugh
Kadeem M Albares
Morrow Y Rim
Munro I Flosi
Nicolas F Briddick
Izzy U Darakjy
Silvio X Doe
Jeanfrancois C Foller
Salvatore T Ferencz
Juan T Nestle
James S Slusarski
Misaki H Campain
Ivar F Kusko
Kadeem Y Nicka
Chavez T Malet
Arvin V Foller
Sinclair K Inouye
Ivar C Caudy
Morrow D Tollner
Jennifer V Rim
IdCountryDate
1000Japan2025-07-25
1001Brazil2025-08-23
1002Spain2025-08-14
1003Argentina2025-08-17
1004Australia2025-08-04
1005India2025-08-14
1006France2025-08-22
1007Argentina2025-08-15
1008France2025-08-01
1009Spain2025-08-16
1010Russia2025-08-06
1011Canada2025-08-08
1012United Kingdom2025-08-13
1013Italy2025-08-04
1014Spain2025-07-25
1015India2025-08-06
1016Japan2025-08-22
1017United Kingdom2025-08-14
1018Australia2025-08-09
1019Brazil2025-08-15
1020India2025-08-08
1021Australia2025-08-20
1022United Kingdom2025-08-02
1023Australia2025-08-14
1024Brazil2025-08-15
1025Italy2025-08-12
1026Russia2025-08-09
1027Argentina2025-08-10
1028Italy2025-07-30
1029Argentina2025-07-28
1030Brazil2025-08-03
1031Canada2025-08-07
1032Canada2025-08-17
1033Brazil2025-08-13
1034Argentina2025-08-04
1035Germany2025-08-03
1036Japan2025-08-22
1037United Kingdom2025-08-02
1038India2025-08-02
1039Spain2025-08-09
1040France2025-08-22
1041Brazil2025-08-03
1042Germany2025-08-14
1043Spain2025-08-22
1044Canada2025-07-31
1045France2025-08-04
1046Japan2025-07-30
1047Brazil2025-08-23
1048Brazil2025-07-26
1049Russia2025-08-01

On-Demand Data

NameIdCountryDate
Octavia C Flosi1000Australia2025-08-23
Morrow R Ferencz1001India2025-08-04
Nicolas I Dilliard1002Australia2025-08-07
Jennifer C Briddick1003Russia2025-07-27
Faith S Nestle1004Italy2025-08-09
Ashley X Whobrey1005Canada2025-08-08
Clifford S Tollner1006Japan2025-08-07
Isabel T Maclead1007Germany2025-08-23
Francesco S Nestle1008Argentina2025-08-15
Julie T Glick1009Canada2025-08-15
Greenwood L Maclead1010Brazil2025-08-20
Darci Y Maclead1011Brazil2025-08-06
Chavez A Stockham1012India2025-08-10
Chavez G Marrier1013Germany2025-08-16
Darci K Stenseth1014Argentina2025-08-02
Aditya S Chui1015India2025-07-26
Tony P Oldroyd1016Brazil2025-08-23
Darci N Albares1017Spain2025-07-26
Adams R Oldroyd1018Spain2025-08-05
Adams X Shinko1019Russia2025-08-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco M KuskoUnited KingdomAmy Elsner NEW
Julie D MaletGermanyAmy Elsner NEGOTIATION
Maria D RutaItalyStephen Shaw PROPOSAL
Costa K WaycottBrazilIvan Magalhaes NEW
Murillo I NestleRussiaBernardo Dominic NEGOTIATION
Chavez O PerinItalyBernardo Dominic PROPOSAL
Wickens G KuskoUnited KingdomStephen Shaw PROPOSAL
Sinclair N VocelkaItalyAmy Elsner UNQUALIFIED
Alejandro J PerinJapanAsiya Javayant NEW
Claire C KolmetzAustraliaOnyama Limba QUALIFIED
Nicolas G OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Emily F MorascaAustraliaOnyama Limba RENEWAL
Ivar S FigeroaUnited KingdomAsiya Javayant NEW
Maria X SlusarskiBrazilAnna Fali NEW
Ashley F RutaSpainAsiya Javayant QUALIFIED
Ivar Z PerinGermanyIvan Magalhaes RENEWAL
Adams I SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Nicolas D ButtIndiaIvan Magalhaes NEW
Kadeem R WieserSpainOnyama Limba UNQUALIFIED
Morrow X MaletArgentinaIoni Bowcher NEW
Clifford N WhobreyJapanIoni Bowcher RENEWAL
Sinclair Q RulapaughAustraliaAmy Elsner NEW
Mayumi G DoeUnited KingdomAnna Fali QUALIFIED
Maisha C RulapaughJapanXuxue Feng NEW
Kaitlin S RulapaughAustraliaAmy Elsner NEGOTIATION
Johnson G NickaGermanyOnyama Limba PROPOSAL
Antonio W FerenczUnited KingdomBernardo Dominic QUALIFIED
Isabel E GarufiIndiaAnna Fali NEGOTIATION
Sinclair R GillianUnited KingdomIoni Bowcher PROPOSAL
Morrow O InouyeBrazilIvan Magalhaes QUALIFIED
Morrow X MaletJapanAnna Fali RENEWAL
Izzy T TollnerArgentinaAmy Elsner QUALIFIED
Darci K RimBrazilAnna Fali RENEWAL
Julie P KolmetzSpainIoni Bowcher QUALIFIED
Salvatore A OstroskyUnited KingdomStephen Shaw QUALIFIED
Chavez K RutaArgentinaAnna Fali PROPOSAL
Morrow S MarrierItalyAsiya Javayant QUALIFIED
Ashley B CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba A PerinGermanyAmy Elsner PROPOSAL
David J FerenczUnited KingdomOnyama Limba 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>