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
Sinclair B GauchoIndiaIvan Magalhaes UNQUALIFIED
Stacey W PerinRussiaIvan Magalhaes RENEWAL
Francesco G SlusarskiFranceOnyama Limba NEW
Kadeem C DilliardJapanAsiya Javayant UNQUALIFIED
Clifford U AlbaresItalyIoni Bowcher UNQUALIFIED
Tony V RimItalyAmy Elsner QUALIFIED
Jones N TollnerRussiaAmy Elsner UNQUALIFIED
Ricardo C ButtSpainIvan Magalhaes NEW
Jefferson A FlosiBrazilAmy Elsner UNQUALIFIED
Isabel N SchemmerGermanyIoni Bowcher RENEWAL
Izzy L NestleJapanIvan Magalhaes UNQUALIFIED
Munro U MorascaItalyElwin Sharvill NEW
Alejandro A StensethRussiaOnyama Limba NEGOTIATION
Johnson L GauchoAustraliaAmy Elsner QUALIFIED
Emily N AlbaresAustraliaAnna Fali UNQUALIFIED
Munro T IturbideCanadaXuxue Feng NEW
Darci L SaylorsIndiaAsiya Javayant RENEWAL
Ricardo T SlusarskiSpainStephen Shaw NEGOTIATION
Arvin O RoysterBrazilXuxue Feng NEW
Tony R SaylorsGermanyStephen Shaw RENEWAL
Adams C WhobreyCanadaBernardo Dominic NEW
Jennifer Z GillianArgentinaElwin Sharvill UNQUALIFIED
Julie M GillianIndiaBernardo Dominic QUALIFIED
Misaki K PerinArgentinaXuxue Feng NEW
Leon I RulapaughArgentinaXuxue Feng UNQUALIFIED
Maisha V NestleCanadaIoni Bowcher NEW
Izzy J ShinkoItalyIoni Bowcher RENEWAL
Aditya S RoysterItalyXuxue Feng PROPOSAL
Misaki Z RulapaughSpainAnna Fali UNQUALIFIED
Sinclair K DoeAustraliaIoni Bowcher QUALIFIED
Emily P BowleyItalyAmy Elsner NEGOTIATION
Silvio M WaycottCanadaStephen Shaw NEW
Smith F KolmetzIndiaElwin Sharvill UNQUALIFIED
Kaitlin Z GarufiBrazilOnyama Limba NEGOTIATION
Izzy W OstroskyUnited KingdomAnna Fali NEW
Adams S DarakjySpainAnna Fali NEGOTIATION
Nicolas R IturbideCanadaIvan Magalhaes PROPOSAL
Juan M SergiFranceIoni Bowcher NEGOTIATION
Aruna C GarufiBrazilXuxue Feng UNQUALIFIED
Stacey R KuskoGermanyStephen Shaw NEGOTIATION
Claire T RutaUnited KingdomOnyama Limba UNQUALIFIED
Leon D WieserBrazilIoni Bowcher UNQUALIFIED
Costa L RutaFranceAmy Elsner NEW
Francesco X VenereGermanyBernardo Dominic UNQUALIFIED
Misaki Q InouyeIndiaStephen Shaw RENEWAL
Mayumi B ButtAustraliaStephen Shaw QUALIFIED
Johnson Q NickaSpainIoni Bowcher UNQUALIFIED
Tony F MorascaUnited KingdomAnna Fali UNQUALIFIED
Juan E SlusarskiUnited KingdomIvan Magalhaes NEW
Adams R GlickGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Darci O GauchoSpainIvan Magalhaes NEW
Juan U CampainAustraliaXuxue Feng UNQUALIFIED
Tony E ChuiGermanyIoni Bowcher RENEWAL
Murillo J VenereCanadaStephen Shaw RENEWAL
Cody Y FerenczAustraliaAmy Elsner UNQUALIFIED
Maisha M NestleSpainAsiya Javayant NEGOTIATION
Salvatore X DilliardGermanyElwin Sharvill PROPOSAL
Kaitlin E GlickArgentinaAnna Fali QUALIFIED
Julie N StockhamGermanyXuxue Feng NEGOTIATION
James I PerinBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha A IturbideJapan2025-07-25Dorl, James J Esq PROPOSAL92Amy Elsner
1001Jennifer W DarakjyUnited Kingdom2025-07-26Chanay, Jeffrey A Esq UNQUALIFIED22Onyama Limba
1002Chavez O ShinkoFrance2025-08-09Printing Dimensions PROPOSAL44Ioni Bowcher
1003Jones N FigeroaIndia2025-08-15Dorl, James J Esq PROPOSAL9Amy Elsner
1004Mujtaba I RutaItaly2025-08-08Truhlar And Truhlar Attys NEGOTIATION2Ioni Bowcher
1005Mujtaba K RimUnited Kingdom2025-08-07Printing Dimensions NEGOTIATION33Elwin Sharvill
1006Jones X MacleadGermany2025-07-30Buckley Miller Wright NEW9Elwin Sharvill
1007Aruna U MarrierSpain2025-08-10Commercial Press UNQUALIFIED20Ioni Bowcher
1008Claire F BriddickUnited Kingdom2025-08-03Commercial Press PROPOSAL69Amy Elsner
1009Costa F WaycottFrance2025-08-10Truhlar And Truhlar Attys NEW22Elwin Sharvill
1010Johnson M IturbideRussia2025-07-26King, Christopher A Esq RENEWAL97Elwin Sharvill
1011Darci I MaletCanada2025-08-23Dorl, James J Esq UNQUALIFIED1Onyama Limba
1012Maria E MarrierItaly2025-07-26Benton, John B Jr PROPOSAL18Xuxue Feng
1013Munro C NestleGermany2025-08-03Chemel, James L Cpa NEW21Anna Fali
1014Rodrigues C GlickCanada2025-08-14Chemel, James L Cpa NEW92Elwin Sharvill
1015Morrow Z SergiArgentina2025-08-19Rangoni Of Florence RENEWAL8Asiya Javayant
1016Darci X PerinFrance2025-08-05Rousseaux, Michael Esq NEGOTIATION89Ivan Magalhaes
1017Alejandro F ChuiItaly2025-08-07Rousseaux, Michael Esq PROPOSAL17Bernardo Dominic
1018Aika E GauchoSpain2025-08-01Buckley Miller Wright RENEWAL90Stephen Shaw
1019Rodrigues G PaprockiArgentina2025-08-10Chanay, Jeffrey A Esq QUALIFIED54Elwin Sharvill
1020Morrow Q VenereArgentina2025-07-26Feltz Printing Service QUALIFIED73Stephen Shaw
1021Costa O ChuiBrazil2025-08-22Morlong Associates NEGOTIATION49Anna Fali
1022Costa Z VenereJapan2025-08-16Benton, John B Jr QUALIFIED35Onyama Limba
1023Mayumi A KuskoJapan2025-08-04Commercial Press NEW49Asiya Javayant
1024Munro G AlbaresIndia2025-08-12Chapman, Ross E Esq QUALIFIED60Ioni Bowcher
1025Morrow C AmigonSpain2025-08-16Chapman, Ross E Esq PROPOSAL45Bernardo Dominic
1026Morrow Y RulapaughItaly2025-07-29Chapman, Ross E Esq UNQUALIFIED11Xuxue Feng
1027Clifford W NickaFrance2025-08-10Chapman, Ross E Esq NEW39Ivan Magalhaes
1028David T AlbaresFrance2025-08-08Buckley Miller Wright NEGOTIATION27Elwin Sharvill
1029Leja O InouyeAustralia2025-07-28Feltz Printing Service NEGOTIATION98Asiya Javayant
1030Jennifer A MarrierSpain2025-07-27King, Christopher A Esq UNQUALIFIED49Ivan Magalhaes
1031Deepesh Z GarufiBrazil2025-08-07Commercial Press PROPOSAL85Onyama Limba
1032Johnson W MaletRussia2025-08-22Printing Dimensions NEW9Bernardo Dominic
1033Maria P CaudyIndia2025-08-13Benton, John B Jr QUALIFIED64Stephen Shaw
1034Isabel P WhobreyRussia2025-07-29King, Christopher A Esq PROPOSAL48Amy Elsner
1035Isabel P BologniaBrazil2025-08-23King, Christopher A Esq QUALIFIED51Ioni Bowcher
1036Ashley K MaletGermany2025-08-19Benton, John B Jr NEGOTIATION42Ioni Bowcher
1037Isabel L DarakjyAustralia2025-08-18Printing Dimensions QUALIFIED67Anna Fali
1038Darci P GarufiJapan2025-08-19Rangoni Of Florence UNQUALIFIED22Stephen Shaw
1039Julie I VocelkaAustralia2025-08-22Morlong Associates NEGOTIATION62Asiya Javayant
1040Aika S DoeGermany2025-08-03Feltz Printing Service UNQUALIFIED21Bernardo Dominic
1041Antonio Z RulapaughAustralia2025-07-30Dorl, James J Esq RENEWAL29Elwin Sharvill
1042Kadeem T VocelkaBrazil2025-08-05Feiner Bros PROPOSAL23Onyama Limba
1043Sinclair F BriddickGermany2025-08-11Dorl, James J Esq NEW58Onyama Limba
1044Morrow J RoysterJapan2025-08-06Feiner Bros UNQUALIFIED51Amy Elsner
1045Rodrigues U StockhamIndia2025-08-22Chanay, Jeffrey A Esq NEW55Asiya Javayant
1046Juan P StockhamFrance2025-08-08Dorl, James J Esq PROPOSAL30Xuxue Feng
1047Murillo W FlosiArgentina2025-08-22Chanay, Jeffrey A Esq QUALIFIED96Anna Fali
1048Maisha E WaycottSpain2025-08-09Benton, John B Jr UNQUALIFIED25Asiya Javayant
1049Antonio L OldroydGermany2025-08-22Buckley Miller Wright NEGOTIATION54Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aditya Z StockhamIndiaXuxue Feng RENEWAL
Claire S SaylorsJapanAsiya Javayant QUALIFIED
Leon L RulapaughIndiaStephen Shaw QUALIFIED
Greenwood F BowleyUnited KingdomAmy Elsner NEW
Francesco B FlosiSpainOnyama Limba PROPOSAL
Misaki B GauchoSpainIvan Magalhaes NEW
Ashley V NestleBrazilAmy Elsner NEW
Greenwood J DoeBrazilElwin Sharvill UNQUALIFIED
Salvatore K PoquetteCanadaAsiya Javayant RENEWAL
Arvin I KolmetzFranceOnyama Limba NEGOTIATION
Jefferson X RulapaughCanadaIvan Magalhaes QUALIFIED
Misaki H SlusarskiAustraliaStephen Shaw PROPOSAL
Greenwood J AlbaresIndiaElwin Sharvill NEGOTIATION
Jefferson A WhobreyGermanyIvan Magalhaes UNQUALIFIED
Isabel U GlickItalyXuxue Feng RENEWAL
Cody S BriddickArgentinaIoni Bowcher QUALIFIED
Ashley R StensethArgentinaStephen Shaw RENEWAL
Salvatore J FollerArgentinaXuxue Feng NEGOTIATION
Munro L MorascaAustraliaAnna Fali RENEWAL
Claire J VocelkaItalyAmy Elsner UNQUALIFIED
Ricardo I BriddickUnited KingdomAnna Fali QUALIFIED
Smith S IturbideSpainAnna Fali NEW
Nicolas B RulapaughJapanAmy Elsner PROPOSAL
Arvin C DilliardSpainAnna Fali PROPOSAL
Arvin A StensethUnited KingdomXuxue Feng NEGOTIATION
Arvin M OldroydSpainAnna Fali QUALIFIED
Misaki V AlbaresGermanyIvan Magalhaes RENEWAL
Salvatore U BowleyRussiaIoni Bowcher NEW
Ricardo P OstroskyRussiaBernardo Dominic UNQUALIFIED
Morrow M BowleyBrazilAnna Fali RENEWAL
Aika F FerenczUnited KingdomStephen Shaw QUALIFIED
Rodrigues B GauchoCanadaOnyama Limba QUALIFIED
Costa Q MarrierCanadaElwin Sharvill QUALIFIED
Misaki A WhobreyJapanAsiya Javayant PROPOSAL
Adams D StensethIndiaBernardo Dominic NEW
Stacey G MaletSpainXuxue Feng PROPOSAL
Cody X PaprockiGermanyStephen Shaw NEW
Tony O KolmetzItalyAmy Elsner NEW
Morrow X SergiBrazilOnyama Limba QUALIFIED
Murillo U IturbideRussiaXuxue Feng NEW
Clifford X StockhamArgentinaBernardo Dominic UNQUALIFIED
Aditya E AmigonBrazilBernardo Dominic PROPOSAL
Mujtaba K TollnerCanadaAsiya Javayant NEGOTIATION
Antonio W FlosiCanadaElwin Sharvill QUALIFIED
Adams B FigeroaFranceXuxue Feng PROPOSAL
Costa T InouyeIndiaBernardo Dominic QUALIFIED
Octavia B StensethAustraliaIoni Bowcher UNQUALIFIED
Maria Y FlosiFranceIvan Magalhaes RENEWAL
Francesco Q CaudyAustraliaStephen Shaw RENEWAL
Stacey I BologniaBrazilStephen Shaw NEW
Frozen Columns
Name
Leja F Wieser
Jones O Iturbide
Mujtaba K Malet
Mayumi H Nicka
Maria B Rim
Ivar C Oldroyd
Julie I Rulapaugh
Aruna K Ruta
Jefferson L Darakjy
Salvatore F Stockham
Antonio O Caldarera
Mujtaba D Royster
Emily L Figeroa
Aruna Y Darakjy
Antonio Y Garufi
Jones R Glick
Greenwood X Oldroyd
Darci Z Paprocki
Silvio V Kusko
Isabel S Sergi
Aika N Royster
Leja P Iturbide
Kaitlin G Doe
Smith S Kusko
James I Malet
Rodrigues K Morasca
Wickens W Sergi
Mujtaba W Glick
Isabel N Rulapaugh
Deepesh W Waycott
Misaki C Flosi
Tony N Foller
Mujtaba P Darakjy
Stacey W Rim
Kadeem I Gillian
Antonio Q Caudy
Antonio N Figeroa
Kadeem P Ferencz
Stacey H Caldarera
Salvatore I Albares
Mayumi L Ruta
Antonio L Venere
Alejandro U Garufi
Izzy Y Amigon
Greenwood A Ferencz
Izzy O Tollner
Morrow I Shinko
Leon V Poquette
Izzy J Oldroyd
Ivar V Flosi
IdCountryDate
1000Canada2025-08-03
1001Argentina2025-08-19
1002Canada2025-08-12
1003France2025-08-02
1004Japan2025-08-16
1005Japan2025-08-15
1006United Kingdom2025-07-29
1007Italy2025-07-28
1008Canada2025-07-29
1009Russia2025-07-26
1010Russia2025-08-05
1011India2025-07-26
1012Japan2025-07-29
1013Argentina2025-08-10
1014Italy2025-08-18
1015Russia2025-08-17
1016Australia2025-08-21
1017Italy2025-07-28
1018Australia2025-08-04
1019India2025-08-02
1020Japan2025-08-12
1021Germany2025-08-15
1022Germany2025-08-14
1023France2025-08-13
1024Spain2025-08-14
1025France2025-08-08
1026Brazil2025-08-09
1027Japan2025-08-10
1028Japan2025-08-02
1029Japan2025-08-09
1030France2025-08-05
1031Brazil2025-07-31
1032Italy2025-08-12
1033Russia2025-08-21
1034Spain2025-08-19
1035India2025-08-15
1036India2025-07-29
1037Canada2025-08-17
1038Japan2025-08-13
1039Canada2025-08-20
1040Italy2025-08-01
1041Australia2025-08-12
1042Argentina2025-08-04
1043Canada2025-07-31
1044Japan2025-08-18
1045India2025-08-05
1046United Kingdom2025-07-28
1047Argentina2025-08-03
1048Canada2025-08-15
1049Japan2025-08-15

On-Demand Data

NameIdCountryDate
Salvatore T Maclead1000Japan2025-08-09
Alejandro A Ostrosky1001Russia2025-08-17
Stacey L Malet1002India2025-08-15
Munro W Caudy1003Canada2025-08-23
David X Tollner1004France2025-07-28
Kadeem T Nicka1005Spain2025-07-26
Antonio S Chui1006United Kingdom2025-08-21
Nicolas F Sergi1007Argentina2025-08-10
Tony U Sergi1008Brazil2025-08-15
Morrow T Dilliard1009Argentina2025-07-31
Deepesh D Glick1010Argentina2025-07-29
Misaki T Venere1011Brazil2025-08-18
Antonio D Shinko1012Brazil2025-08-20
Isabel H Chui1013Brazil2025-08-13
Stacey R Darakjy1014Australia2025-08-01
Aditya Z Morasca1015France2025-07-29
Isabel Z Campain1016Canada2025-08-17
Mayumi R Tollner1017Spain2025-08-16
Cody C Rim1018Russia2025-08-14
Wickens L Whobrey1019Russia2025-07-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia T PaprockiAustraliaAnna Fali PROPOSAL
Murillo Y ShinkoBrazilBernardo Dominic PROPOSAL
Darci H VocelkaCanadaIoni Bowcher RENEWAL
Jeanfrancois F MaletAustraliaAsiya Javayant UNQUALIFIED
Deepesh D PoquetteSpainAmy Elsner NEW
Rodrigues O PoquetteRussiaStephen Shaw NEGOTIATION
Murillo W BowleyUnited KingdomAmy Elsner RENEWAL
Greenwood H GauchoItalyStephen Shaw NEW
Morrow C IturbideItalyIvan Magalhaes NEGOTIATION
Aruna C OldroydAustraliaBernardo Dominic QUALIFIED
Costa G ButtCanadaBernardo Dominic UNQUALIFIED
Julie Z GarufiCanadaIoni Bowcher PROPOSAL
Isabel R BologniaBrazilAnna Fali RENEWAL
Kaitlin O PaprockiCanadaAmy Elsner RENEWAL
Rodrigues Y RoysterRussiaOnyama Limba QUALIFIED
Kaitlin T NickaCanadaAmy Elsner UNQUALIFIED
Cody I MaletIndiaIvan Magalhaes NEGOTIATION
Nicolas U CampainGermanyAsiya Javayant UNQUALIFIED
Aika L BowleyItalyAnna Fali NEW
Arvin Z RoysterAustraliaAsiya Javayant NEW
Arvin R CampainItalyAsiya Javayant RENEWAL
Chavez K FerenczIndiaOnyama Limba NEGOTIATION
Johnson A RimJapanAsiya Javayant UNQUALIFIED
Alejandro Z DarakjyCanadaElwin Sharvill RENEWAL
Claire K MaletCanadaStephen Shaw NEGOTIATION
David N PoquetteFranceElwin Sharvill UNQUALIFIED
Smith K KuskoGermanyIoni Bowcher NEGOTIATION
Deepesh D VocelkaArgentinaAsiya Javayant RENEWAL
Leon Z MorascaGermanyAmy Elsner RENEWAL
David B MarrierJapanAmy Elsner NEGOTIATION
Emily O FollerFranceIoni Bowcher PROPOSAL
Darci Z MarrierCanadaIvan Magalhaes PROPOSAL
Maisha A MaletUnited KingdomXuxue Feng QUALIFIED
Costa P AmigonUnited KingdomIoni Bowcher PROPOSAL
Clifford G ChuiAustraliaStephen Shaw PROPOSAL
Jeanfrancois D RulapaughSpainIvan Magalhaes UNQUALIFIED
Tony W CampainItalyAnna Fali QUALIFIED
Chavez W IturbideItalyBernardo Dominic PROPOSAL
Octavia K InouyeItalyAsiya Javayant PROPOSAL
Darci O TollnerCanadaIoni Bowcher 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>