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
Juan G CaudyItalyBernardo Dominic NEW
Kadeem W ChuiCanadaAsiya Javayant NEGOTIATION
Leon V RutaSpainOnyama Limba NEW
Sinclair U NestleArgentinaIoni Bowcher NEGOTIATION
Munro X PerinJapanElwin Sharvill PROPOSAL
Aruna C MarrierArgentinaXuxue Feng NEGOTIATION
Salvatore P MarrierFranceElwin Sharvill QUALIFIED
Nicolas W WaycottGermanyOnyama Limba UNQUALIFIED
Mayumi L FerenczBrazilAmy Elsner NEW
Faith H BologniaBrazilStephen Shaw QUALIFIED
Leja H MacleadRussiaIvan Magalhaes NEW
Deepesh X SaylorsBrazilAmy Elsner UNQUALIFIED
Jeanfrancois V InouyeUnited KingdomIvan Magalhaes NEW
Murillo C ShinkoCanadaIoni Bowcher QUALIFIED
Ivar P GillianArgentinaIoni Bowcher NEGOTIATION
Ivar L PerinGermanyAmy Elsner NEW
Darci N ChuiSpainOnyama Limba UNQUALIFIED
Mujtaba C MaletRussiaAnna Fali RENEWAL
Aika Z AmigonRussiaStephen Shaw NEGOTIATION
Jones B MarrierCanadaIoni Bowcher UNQUALIFIED
Cody P WaycottItalyIoni Bowcher UNQUALIFIED
Jeanfrancois H MacleadIndiaXuxue Feng NEGOTIATION
Adams Z MorascaSpainAnna Fali QUALIFIED
Izzy B FlosiAustraliaAnna Fali RENEWAL
Arvin S GlickSpainAmy Elsner PROPOSAL
Faith I ButtAustraliaIvan Magalhaes PROPOSAL
Jennifer D CaudyBrazilAmy Elsner UNQUALIFIED
Aruna B GlickBrazilIvan Magalhaes NEW
Deepesh F IturbideIndiaIvan Magalhaes UNQUALIFIED
Sinclair N PerinFranceElwin Sharvill NEW
Izzy G OldroydJapanAnna Fali RENEWAL
Rodrigues R RimSpainAnna Fali NEW
Jefferson G SergiArgentinaAmy Elsner NEGOTIATION
Aruna S WhobreyItalyXuxue Feng UNQUALIFIED
Izzy K GillianUnited KingdomAsiya Javayant RENEWAL
Darci N SergiBrazilIvan Magalhaes NEW
Julie U MarrierFranceAsiya Javayant RENEWAL
Morrow Y KolmetzSpainXuxue Feng NEGOTIATION
Leja D AmigonRussiaXuxue Feng PROPOSAL
Isabel M BriddickIndiaOnyama Limba QUALIFIED
Costa X BologniaJapanAnna Fali QUALIFIED
Kadeem Q SchemmerGermanyIvan Magalhaes NEW
Emily I AmigonFranceXuxue Feng NEW
Clifford S OldroydSpainBernardo Dominic PROPOSAL
Mayumi Q IturbideRussiaAnna Fali UNQUALIFIED
Jones F MacleadAustraliaAsiya Javayant RENEWAL
Greenwood Z RoysterSpainIvan Magalhaes UNQUALIFIED
Jones G GauchoAustraliaIoni Bowcher RENEWAL
Costa U OstroskyUnited KingdomXuxue Feng PROPOSAL
Jennifer F KuskoArgentinaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Smith N DoeAustraliaAsiya Javayant RENEWAL
Murillo B AlbaresRussiaAnna Fali NEW
Ashley E ChuiAustraliaAmy Elsner PROPOSAL
Leon U AmigonJapanAsiya Javayant QUALIFIED
Jones J RulapaughAustraliaOnyama Limba PROPOSAL
Faith U GlickUnited KingdomIoni Bowcher NEGOTIATION
Salvatore X AlbaresJapanBernardo Dominic NEW
Faith Y OldroydArgentinaIoni Bowcher QUALIFIED
Jefferson P FigeroaCanadaStephen Shaw NEGOTIATION
Jones T OstroskySpainAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey U GillianAustralia2025-10-02Buckley Miller Wright UNQUALIFIED29Asiya Javayant
1001Salvatore Q ButtFrance2025-09-26Feiner Bros NEW82Ioni Bowcher
1002Greenwood C DarakjyBrazil2025-10-16Feiner Bros PROPOSAL28Ivan Magalhaes
1003Alejandro U FigeroaItaly2025-10-18Truhlar And Truhlar Attys UNQUALIFIED29Onyama Limba
1004Johnson Y TollnerJapan2025-09-21Morlong Associates PROPOSAL46Asiya Javayant
1005Deepesh Q SchemmerCanada2025-09-27Chapman, Ross E Esq NEGOTIATION8Anna Fali
1006Greenwood E WieserArgentina2025-09-27Printing Dimensions UNQUALIFIED88Stephen Shaw
1007Kadeem T GillianSpain2025-10-02Benton, John B Jr NEW14Asiya Javayant
1008Wickens R CaldareraFrance2025-09-22Chemel, James L Cpa NEGOTIATION95Anna Fali
1009Julie N BologniaFrance2025-09-27Rangoni Of Florence QUALIFIED95Ioni Bowcher
1010Alejandro U VocelkaCanada2025-10-13Commercial Press PROPOSAL88Elwin Sharvill
1011Munro N MorascaItaly2025-09-28Feiner Bros RENEWAL87Onyama Limba
1012Aditya P StockhamArgentina2025-10-09Chemel, James L Cpa RENEWAL65Bernardo Dominic
1013Clifford E InouyeUnited Kingdom2025-09-21Chemel, James L Cpa PROPOSAL42Onyama Limba
1014Rodrigues I KuskoGermany2025-10-14Buckley Miller Wright PROPOSAL93Stephen Shaw
1015Murillo H RulapaughAustralia2025-10-05Chapman, Ross E Esq NEGOTIATION62Onyama Limba
1016Jefferson K IturbideArgentina2025-09-24Morlong Associates NEW69Xuxue Feng
1017Maria E WaycottFrance2025-10-10King, Christopher A Esq UNQUALIFIED24Elwin Sharvill
1018Cody D AmigonFrance2025-09-23Morlong Associates RENEWAL82Ivan Magalhaes
1019Kaitlin A VenereBrazil2025-10-17Dorl, James J Esq NEW34Onyama Limba
1020Stacey W MaletGermany2025-10-15Feltz Printing Service NEW96Elwin Sharvill
1021Antonio N MaletSpain2025-10-08Morlong Associates NEGOTIATION17Onyama Limba
1022Ashley O DoeJapan2025-09-26Chemel, James L Cpa NEGOTIATION20Bernardo Dominic
1023Ivar N MorascaFrance2025-10-06Rousseaux, Michael Esq PROPOSAL47Onyama Limba
1024Jefferson A GarufiCanada2025-10-01Rousseaux, Michael Esq QUALIFIED77Onyama Limba
1025Kaitlin I IturbideFrance2025-10-03Feiner Bros PROPOSAL52Bernardo Dominic
1026Adams J PaprockiSpain2025-09-23Commercial Press RENEWAL2Asiya Javayant
1027David Q MarrierBrazil2025-10-12Morlong Associates NEW19Stephen Shaw
1028Maria N DarakjyFrance2025-10-08Rangoni Of Florence PROPOSAL44Bernardo Dominic
1029Jeanfrancois T SchemmerUnited Kingdom2025-09-19Rangoni Of Florence QUALIFIED59Ivan Magalhaes
1030Julie I FlosiCanada2025-09-23Benton, John B Jr PROPOSAL33Ioni Bowcher
1031Faith T SaylorsBrazil2025-10-04Chanay, Jeffrey A Esq PROPOSAL23Xuxue Feng
1032Leon K FollerArgentina2025-10-07Printing Dimensions RENEWAL65Stephen Shaw
1033Nicolas D DoeFrance2025-09-28Rousseaux, Michael Esq NEW61Stephen Shaw
1034Ashley X RoysterUnited Kingdom2025-09-28Chanay, Jeffrey A Esq RENEWAL70Xuxue Feng
1035Ivar W RimFrance2025-09-26Commercial Press RENEWAL31Ioni Bowcher
1036Alejandro Q SaylorsJapan2025-09-22Feltz Printing Service UNQUALIFIED56Amy Elsner
1037Aruna F ShinkoItaly2025-09-27Benton, John B Jr NEGOTIATION32Elwin Sharvill
1038Deepesh Z WaycottIndia2025-10-09Buckley Miller Wright PROPOSAL80Anna Fali
1039Smith J BriddickFrance2025-10-01King, Christopher A Esq RENEWAL72Ivan Magalhaes
1040Wickens D FollerSpain2025-10-04Rousseaux, Michael Esq UNQUALIFIED79Onyama Limba
1041Jeanfrancois X ChuiBrazil2025-10-02Truhlar And Truhlar Attys NEGOTIATION22Elwin Sharvill
1042Aditya K KuskoArgentina2025-09-29Morlong Associates PROPOSAL91Asiya Javayant
1043Kadeem S VocelkaRussia2025-09-24Chanay, Jeffrey A Esq QUALIFIED27Amy Elsner
1044David N GarufiAustralia2025-09-22Feiner Bros NEGOTIATION84Amy Elsner
1045Munro J KuskoJapan2025-09-22Chemel, James L Cpa UNQUALIFIED65Amy Elsner
1046Jeanfrancois N DoeCanada2025-10-14Commercial Press UNQUALIFIED26Anna Fali
1047Leon X DilliardBrazil2025-09-27Rangoni Of Florence NEGOTIATION32Elwin Sharvill
1048Claire S BowleyAustralia2025-10-15Printing Dimensions NEGOTIATION90Onyama Limba
1049Munro Z MarrierUnited Kingdom2025-09-21Printing Dimensions PROPOSAL34Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ashley F WhobreyArgentinaOnyama Limba PROPOSAL
Morrow E RoysterFranceElwin Sharvill PROPOSAL
Misaki C MorascaJapanAmy Elsner NEGOTIATION
Costa T RulapaughArgentinaBernardo Dominic NEW
Mujtaba E VenereJapanBernardo Dominic QUALIFIED
Izzy T MacleadArgentinaIoni Bowcher UNQUALIFIED
Jefferson M WaycottFranceAmy Elsner RENEWAL
Ivar D SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Faith E VenereSpainAmy Elsner PROPOSAL
Leja T GarufiBrazilOnyama Limba PROPOSAL
Octavia P RutaItalyBernardo Dominic QUALIFIED
Cody W FollerUnited KingdomIoni Bowcher UNQUALIFIED
Costa U StockhamCanadaOnyama Limba PROPOSAL
Adams I StockhamItalyBernardo Dominic NEW
Kaitlin B FollerBrazilXuxue Feng NEW
Ivar S BologniaJapanIvan Magalhaes QUALIFIED
Antonio W NestleFranceXuxue Feng UNQUALIFIED
Octavia K IturbideRussiaXuxue Feng RENEWAL
Adams R RimFranceAmy Elsner UNQUALIFIED
Kaitlin D OstroskyIndiaStephen Shaw NEGOTIATION
Claire P RutaGermanyElwin Sharvill NEW
David A GlickJapanAmy Elsner QUALIFIED
Rodrigues U PaprockiBrazilAmy Elsner NEGOTIATION
Salvatore R TollnerSpainAsiya Javayant NEW
Jefferson L MaletGermanyAmy Elsner UNQUALIFIED
Kaitlin F NestleFranceBernardo Dominic QUALIFIED
Stacey A WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Jennifer X CaldareraIndiaStephen Shaw UNQUALIFIED
Leon L ShinkoSpainAmy Elsner UNQUALIFIED
Juan T FollerRussiaXuxue Feng RENEWAL
Smith P NickaAustraliaAsiya Javayant UNQUALIFIED
Stacey V FlosiItalyStephen Shaw PROPOSAL
Isabel J FerenczRussiaAsiya Javayant UNQUALIFIED
Antonio X NestleAustraliaIoni Bowcher UNQUALIFIED
Emily J KolmetzBrazilIoni Bowcher NEGOTIATION
Adams Y NestleGermanyIoni Bowcher NEW
Jeanfrancois N DilliardJapanAnna Fali NEGOTIATION
Isabel U FlosiIndiaAnna Fali RENEWAL
Francesco Y GillianGermanyIoni Bowcher NEW
Leja H AmigonBrazilElwin Sharvill RENEWAL
Izzy O FerenczIndiaIvan Magalhaes UNQUALIFIED
James S WaycottAustraliaIoni Bowcher PROPOSAL
Aditya O MaletJapanStephen Shaw PROPOSAL
Octavia D AlbaresAustraliaAnna Fali PROPOSAL
Johnson W FlosiBrazilOnyama Limba UNQUALIFIED
Darci H RoysterCanadaStephen Shaw QUALIFIED
Arvin U FerenczBrazilAsiya Javayant PROPOSAL
Misaki I FollerItalyBernardo Dominic NEGOTIATION
Kadeem X SlusarskiBrazilIvan Magalhaes NEW
Mujtaba O DarakjyAustraliaElwin Sharvill NEW
Frozen Columns
Name
Wickens N Waycott
David E Venere
Rodrigues S Wieser
Octavia F Caldarera
Murillo A Bolognia
Kaitlin W Poquette
Rodrigues O Ferencz
Octavia V Figeroa
Isabel O Chui
Izzy S Whobrey
Munro P Briddick
Nicolas H Malet
Darci S Rulapaugh
Ivar P Gaucho
Munro T Waycott
Leja V Kusko
Leja K Whobrey
Antonio O Amigon
Leja D Gaucho
Isabel U Perin
James Z Stockham
Jefferson W Kolmetz
Mujtaba Y Caudy
Julie L Gillian
Ivar D Schemmer
Emily S Whobrey
David S Venere
Jones W Morasca
Maria L Poquette
Ashley H Rim
Nicolas Z Dilliard
Morrow N Poquette
Faith T Malet
Clifford Y Flosi
Leja Q Inouye
Leon Y Flosi
Leon Q Briddick
Sinclair T Stockham
Misaki W Iturbide
Sinclair M Oldroyd
Juan T Ostrosky
Maria D Nestle
Rodrigues L Perin
Maisha X Tollner
Aika B Shinko
Maria X Inouye
Johnson A Marrier
Chavez P Perin
Chavez T Flosi
Aditya W Gaucho
IdCountryDate
1000Canada2025-10-07
1001India2025-09-27
1002Canada2025-10-13
1003Argentina2025-10-09
1004Spain2025-10-03
1005Spain2025-09-20
1006Russia2025-09-30
1007France2025-10-02
1008Italy2025-10-09
1009Russia2025-10-03
1010France2025-10-03
1011United Kingdom2025-09-29
1012Spain2025-10-05
1013Canada2025-09-27
1014Spain2025-09-22
1015Japan2025-10-09
1016France2025-10-11
1017United Kingdom2025-10-07
1018Canada2025-10-18
1019Italy2025-10-02
1020Russia2025-10-06
1021Japan2025-09-22
1022Russia2025-10-16
1023Germany2025-10-18
1024Italy2025-09-23
1025Brazil2025-09-30
1026India2025-10-09
1027Spain2025-10-03
1028Russia2025-10-01
1029Brazil2025-09-25
1030Brazil2025-09-21
1031Spain2025-10-06
1032Spain2025-09-20
1033Japan2025-09-28
1034Argentina2025-10-06
1035Canada2025-09-24
1036Canada2025-09-30
1037Russia2025-10-09
1038France2025-10-02
1039Australia2025-09-28
1040Japan2025-10-17
1041France2025-10-01
1042Germany2025-10-07
1043Canada2025-10-11
1044Argentina2025-09-21
1045Argentina2025-09-19
1046Argentina2025-09-29
1047India2025-10-03
1048Russia2025-09-30
1049Germany2025-10-03

On-Demand Data

NameIdCountryDate
Aruna Z Malet1000Russia2025-10-12
Deepesh L Waycott1001Australia2025-09-27
Mujtaba G Stockham1002Brazil2025-10-06
Smith P Waycott1003United Kingdom2025-10-05
Jennifer S Caudy1004India2025-10-15
Leja Z Tollner1005Russia2025-09-21
Deepesh N Saylors1006Brazil2025-09-27
Salvatore B Shinko1007Canada2025-10-02
Aruna X Campain1008Japan2025-10-15
Jones A Bowley1009Brazil2025-10-14
Alejandro Q Sergi1010Canada2025-10-10
Izzy Y Kusko1011Germany2025-10-01
Ricardo F Nicka1012Germany2025-10-05
Kaitlin V Chui1013India2025-10-17
Nicolas E Stockham1014Japan2025-10-15
Julie Y Slusarski1015United Kingdom2025-10-15
Clifford V Malet1016France2025-10-06
Misaki J Ostrosky1017France2025-10-16
Misaki Z Chui1018India2025-09-20
Claire M Slusarski1019Australia2025-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan O VenereFranceIvan Magalhaes QUALIFIED
Rodrigues M SlusarskiIndiaOnyama Limba QUALIFIED
Alejandro C SchemmerItalyAnna Fali NEW
Emily L KuskoItalyIvan Magalhaes PROPOSAL
Jefferson A FerenczIndiaIoni Bowcher QUALIFIED
Munro G SchemmerJapanOnyama Limba QUALIFIED
Juan V RulapaughItalyOnyama Limba UNQUALIFIED
Jones A CaldareraGermanyAnna Fali QUALIFIED
Jeanfrancois E CampainItalyAmy Elsner QUALIFIED
Costa G MorascaRussiaIvan Magalhaes PROPOSAL
Clifford R WaycottIndiaElwin Sharvill NEGOTIATION
Ashley S TollnerUnited KingdomAsiya Javayant NEW
Kadeem F CampainAustraliaIvan Magalhaes UNQUALIFIED
Smith Q BologniaAustraliaIvan Magalhaes NEGOTIATION
Jefferson S SchemmerRussiaXuxue Feng RENEWAL
Mujtaba U FigeroaIndiaStephen Shaw RENEWAL
Kadeem L MarrierCanadaAmy Elsner UNQUALIFIED
Munro P MorascaCanadaStephen Shaw UNQUALIFIED
Octavia K FigeroaBrazilIoni Bowcher PROPOSAL
Greenwood A DarakjyBrazilAsiya Javayant NEW
Julie Q GillianSpainBernardo Dominic RENEWAL
Stacey E StensethGermanyIoni Bowcher NEW
Kadeem C RulapaughCanadaStephen Shaw NEGOTIATION
Costa I PaprockiItalyElwin Sharvill PROPOSAL
Greenwood Z FollerAustraliaIvan Magalhaes RENEWAL
Smith L NickaBrazilAmy Elsner RENEWAL
Adams B BriddickAustraliaElwin Sharvill UNQUALIFIED
Isabel X OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood V SergiCanadaAmy Elsner RENEWAL
James U GauchoCanadaIoni Bowcher UNQUALIFIED
Maisha W PaprockiJapanOnyama Limba UNQUALIFIED
Kadeem R CaldareraCanadaElwin Sharvill UNQUALIFIED
Greenwood T CampainGermanyAmy Elsner NEW
Silvio O NickaIndiaOnyama Limba RENEWAL
Leja X RutaItalyStephen Shaw UNQUALIFIED
Aruna Y SlusarskiGermanyElwin Sharvill UNQUALIFIED
Chavez D MacleadRussiaXuxue Feng QUALIFIED
Julie D WieserRussiaIvan Magalhaes RENEWAL
Jones T GlickJapanAmy Elsner RENEWAL
Leon T FerenczSpainElwin Sharvill 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>