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
Mujtaba T InouyeFranceAsiya Javayant UNQUALIFIED
Mayumi U OstroskyItalyElwin Sharvill QUALIFIED
Mayumi T GlickArgentinaAsiya Javayant UNQUALIFIED
Maria L CaudyItalyStephen Shaw NEW
Munro Q MorascaAustraliaOnyama Limba PROPOSAL
Ivar H BriddickGermanyIvan Magalhaes NEGOTIATION
Johnson D FerenczSpainIoni Bowcher UNQUALIFIED
Mujtaba L FigeroaAustraliaIoni Bowcher RENEWAL
Jones B FollerArgentinaStephen Shaw PROPOSAL
Maria J KuskoBrazilOnyama Limba UNQUALIFIED
Munro K DoeIndiaAsiya Javayant UNQUALIFIED
Leon H ChuiAustraliaIvan Magalhaes QUALIFIED
Maria Z RutaJapanStephen Shaw UNQUALIFIED
Cody M StensethRussiaElwin Sharvill QUALIFIED
Octavia E FerenczArgentinaIoni Bowcher UNQUALIFIED
Deepesh G DilliardCanadaXuxue Feng PROPOSAL
Johnson Y ButtBrazilIoni Bowcher NEW
Nicolas W KolmetzSpainXuxue Feng UNQUALIFIED
Juan I WieserJapanAnna Fali UNQUALIFIED
Kadeem R MorascaBrazilIvan Magalhaes NEW
James G TollnerAustraliaStephen Shaw NEW
Deepesh X DarakjyAustraliaAsiya Javayant RENEWAL
Tony B BowleyUnited KingdomAnna Fali NEW
Johnson E KuskoUnited KingdomAsiya Javayant PROPOSAL
Cody J AlbaresIndiaBernardo Dominic NEGOTIATION
Faith N SlusarskiArgentinaXuxue Feng UNQUALIFIED
Rodrigues O GillianItalyIoni Bowcher QUALIFIED
Arvin J PerinSpainIoni Bowcher RENEWAL
David Q CampainItalyBernardo Dominic UNQUALIFIED
Darci Z IturbideSpainXuxue Feng PROPOSAL
Sinclair P RoysterSpainOnyama Limba PROPOSAL
Stacey M InouyeAustraliaAsiya Javayant QUALIFIED
Munro Q RoysterFranceElwin Sharvill NEGOTIATION
Sinclair V IturbideGermanyBernardo Dominic NEGOTIATION
Munro A SchemmerItalyElwin Sharvill PROPOSAL
Arvin D StockhamFranceAmy Elsner QUALIFIED
Ashley T StensethBrazilAsiya Javayant PROPOSAL
Smith I WieserFranceBernardo Dominic RENEWAL
Greenwood X ShinkoArgentinaStephen Shaw NEGOTIATION
Johnson Z AlbaresArgentinaOnyama Limba NEGOTIATION
Clifford N RoysterUnited KingdomElwin Sharvill NEGOTIATION
Johnson O SchemmerIndiaAmy Elsner NEGOTIATION
Arvin D ButtSpainIvan Magalhaes PROPOSAL
Ashley N TollnerUnited KingdomStephen Shaw PROPOSAL
Costa C RulapaughGermanyXuxue Feng NEGOTIATION
Munro A DoeBrazilElwin Sharvill RENEWAL
Clifford V GarufiUnited KingdomAsiya Javayant NEW
Kadeem J AlbaresAustraliaAsiya Javayant PROPOSAL
Smith Y MarrierGermanyBernardo Dominic QUALIFIED
Aika F PoquetteUnited KingdomOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Juan S CaldareraCanadaBernardo Dominic RENEWAL
Cody L GillianJapanElwin Sharvill PROPOSAL
Arvin J SchemmerUnited KingdomStephen Shaw PROPOSAL
Faith S GillianSpainIvan Magalhaes RENEWAL
Chavez B VenereAustraliaIvan Magalhaes RENEWAL
Mayumi H MaletItalyElwin Sharvill UNQUALIFIED
Misaki X RoysterBrazilIoni Bowcher PROPOSAL
Sinclair Z SaylorsGermanyIoni Bowcher QUALIFIED
Aditya R RoysterUnited KingdomAnna Fali UNQUALIFIED
Chavez V OldroydGermanyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley V GillianSpain2025-08-24Benton, John B Jr NEW95Amy Elsner
1001Maria B VenereFrance2025-08-29Buckley Miller Wright RENEWAL99Elwin Sharvill
1002Ivar C BriddickUnited Kingdom2025-09-12Feiner Bros NEW76Xuxue Feng
1003Jeanfrancois H FigeroaSpain2025-09-18Dorl, James J Esq PROPOSAL8Bernardo Dominic
1004Aika M MaletItaly2025-09-07Benton, John B Jr UNQUALIFIED51Amy Elsner
1005David A GlickUnited Kingdom2025-09-17Printing Dimensions NEW12Bernardo Dominic
1006Octavia T OldroydSpain2025-08-20Chanay, Jeffrey A Esq RENEWAL80Ioni Bowcher
1007Darci T FerenczUnited Kingdom2025-08-27Chemel, James L Cpa QUALIFIED83Ioni Bowcher
1008Misaki N RimBrazil2025-08-30King, Christopher A Esq NEW83Anna Fali
1009Leja U SergiRussia2025-09-17Dorl, James J Esq QUALIFIED70Asiya Javayant
1010Isabel K OldroydFrance2025-09-17Printing Dimensions NEW8Anna Fali
1011Clifford W TollnerArgentina2025-09-18Chapman, Ross E Esq NEW62Elwin Sharvill
1012Maisha D CaldareraRussia2025-08-28Chanay, Jeffrey A Esq RENEWAL37Ivan Magalhaes
1013Izzy A RulapaughJapan2025-09-13Chemel, James L Cpa NEW16Stephen Shaw
1014Murillo A SergiAustralia2025-09-09Truhlar And Truhlar Attys RENEWAL18Amy Elsner
1015Jones K GauchoAustralia2025-09-07Feiner Bros RENEWAL42Anna Fali
1016Emily S KolmetzBrazil2025-09-05Feiner Bros RENEWAL84Stephen Shaw
1017Maria T AmigonGermany2025-08-23Benton, John B Jr UNQUALIFIED8Ivan Magalhaes
1018Aruna Y RoysterBrazil2025-09-11Printing Dimensions UNQUALIFIED46Anna Fali
1019Kaitlin V StockhamFrance2025-08-21Truhlar And Truhlar Attys UNQUALIFIED44Amy Elsner
1020Clifford Z OstroskyBrazil2025-08-31Commercial Press RENEWAL90Asiya Javayant
1021Ricardo Q BologniaBrazil2025-09-11Feiner Bros PROPOSAL43Xuxue Feng
1022Sinclair D CaldareraUnited Kingdom2025-09-17Printing Dimensions QUALIFIED44Ivan Magalhaes
1023Silvio N RutaBrazil2025-09-11Chapman, Ross E Esq NEGOTIATION0Ioni Bowcher
1024Leja K VocelkaRussia2025-09-11Benton, John B Jr NEW29Xuxue Feng
1025Francesco A RulapaughAustralia2025-09-15Rangoni Of Florence NEGOTIATION12Asiya Javayant
1026Silvio I MacleadAustralia2025-09-10Chanay, Jeffrey A Esq UNQUALIFIED17Ivan Magalhaes
1027Silvio L WhobreyIndia2025-08-21Printing Dimensions NEW35Xuxue Feng
1028James F CaudyUnited Kingdom2025-09-01Rousseaux, Michael Esq NEGOTIATION47Bernardo Dominic
1029Aruna C VenereSpain2025-08-21Morlong Associates UNQUALIFIED79Elwin Sharvill
1030Ashley Z BowleyUnited Kingdom2025-09-07Feiner Bros UNQUALIFIED15Bernardo Dominic
1031Misaki F DarakjyCanada2025-08-23Truhlar And Truhlar Attys PROPOSAL13Elwin Sharvill
1032Munro C KuskoUnited Kingdom2025-08-25Dorl, James J Esq UNQUALIFIED34Ioni Bowcher
1033Cody A InouyeBrazil2025-09-01Chapman, Ross E Esq UNQUALIFIED13Onyama Limba
1034Deepesh A NestleJapan2025-09-09Chapman, Ross E Esq RENEWAL32Xuxue Feng
1035Maisha L WhobreyIndia2025-09-09Chemel, James L Cpa RENEWAL44Onyama Limba
1036Maria K WhobreyBrazil2025-09-11Morlong Associates PROPOSAL39Stephen Shaw
1037Silvio A KolmetzItaly2025-09-16Chanay, Jeffrey A Esq QUALIFIED67Ioni Bowcher
1038Misaki R KuskoBrazil2025-08-27Rangoni Of Florence NEW7Bernardo Dominic
1039David N BowleyArgentina2025-08-30Morlong Associates UNQUALIFIED94Xuxue Feng
1040Mujtaba G SlusarskiBrazil2025-08-25Chapman, Ross E Esq UNQUALIFIED45Ioni Bowcher
1041Silvio R MarrierFrance2025-09-06Feiner Bros NEGOTIATION71Elwin Sharvill
1042Adams H MorascaCanada2025-09-18Dorl, James J Esq UNQUALIFIED67Asiya Javayant
1043Greenwood D CaldareraCanada2025-09-18King, Christopher A Esq PROPOSAL53Ivan Magalhaes
1044Maisha L SlusarskiJapan2025-08-26Printing Dimensions UNQUALIFIED44Bernardo Dominic
1045Jefferson K DilliardGermany2025-09-07Buckley Miller Wright PROPOSAL49Anna Fali
1046Rodrigues Y StensethAustralia2025-09-12Chapman, Ross E Esq NEW40Anna Fali
1047Juan E StensethFrance2025-09-05Truhlar And Truhlar Attys NEW13Asiya Javayant
1048Mujtaba M ChuiGermany2025-08-23Feiner Bros QUALIFIED16Onyama Limba
1049Jefferson T RutaArgentina2025-08-31Chemel, James L Cpa QUALIFIED12Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Sinclair Y AmigonJapanAmy Elsner RENEWAL
Sinclair R BriddickUnited KingdomIvan Magalhaes NEGOTIATION
Jones S FlosiArgentinaIvan Magalhaes NEW
Wickens U WaycottGermanyAnna Fali PROPOSAL
Jefferson X InouyeJapanBernardo Dominic NEGOTIATION
Darci A AmigonUnited KingdomXuxue Feng NEW
Nicolas P ChuiItalyAnna Fali NEGOTIATION
Murillo P DarakjyArgentinaBernardo Dominic RENEWAL
Octavia O DarakjyIndiaAsiya Javayant RENEWAL
Morrow F OldroydRussiaAmy Elsner QUALIFIED
Jones M MaletAustraliaIvan Magalhaes NEW
Murillo A BowleyArgentinaAnna Fali RENEWAL
Chavez X AlbaresSpainBernardo Dominic NEW
Misaki J OldroydGermanyAmy Elsner NEW
Ashley S MaletJapanStephen Shaw NEW
James C FollerRussiaXuxue Feng NEW
Aditya C SlusarskiJapanIvan Magalhaes PROPOSAL
Silvio F PoquetteSpainOnyama Limba NEGOTIATION
Aika S OstroskyRussiaIvan Magalhaes NEGOTIATION
Stacey C SergiGermanyAsiya Javayant RENEWAL
Jefferson H ShinkoBrazilAnna Fali RENEWAL
Stacey T PoquetteFranceAsiya Javayant RENEWAL
Deepesh Z NickaBrazilAnna Fali PROPOSAL
Wickens O FollerSpainXuxue Feng NEW
Darci C WaycottSpainAnna Fali QUALIFIED
Aika S IturbideBrazilXuxue Feng NEW
Murillo K OldroydArgentinaXuxue Feng NEW
Antonio D GlickCanadaIvan Magalhaes NEW
Sinclair D MarrierGermanyStephen Shaw QUALIFIED
Jones I CaldareraUnited KingdomBernardo Dominic RENEWAL
Mayumi S WaycottCanadaOnyama Limba UNQUALIFIED
Rodrigues F GlickUnited KingdomOnyama Limba QUALIFIED
Mujtaba Z NestleGermanyBernardo Dominic QUALIFIED
Darci U TollnerItalyElwin Sharvill NEW
Emily A MaletRussiaStephen Shaw NEGOTIATION
Clifford V GauchoIndiaStephen Shaw UNQUALIFIED
Mayumi P BologniaUnited KingdomIvan Magalhaes QUALIFIED
Ricardo S VocelkaJapanAsiya Javayant NEGOTIATION
Adams R GarufiUnited KingdomBernardo Dominic RENEWAL
Murillo F WieserArgentinaXuxue Feng NEGOTIATION
Ivar L KuskoUnited KingdomOnyama Limba UNQUALIFIED
Jeanfrancois R CampainUnited KingdomStephen Shaw RENEWAL
Francesco Y ShinkoUnited KingdomAmy Elsner RENEWAL
Jennifer X OldroydArgentinaElwin Sharvill QUALIFIED
Jones E WaycottItalyAmy Elsner QUALIFIED
David F CaldareraJapanAmy Elsner UNQUALIFIED
Kadeem Q KolmetzItalyBernardo Dominic QUALIFIED
Ivar X RimIndiaIvan Magalhaes UNQUALIFIED
Kadeem L ShinkoRussiaIoni Bowcher UNQUALIFIED
Emily O SlusarskiFranceAmy Elsner PROPOSAL
Frozen Columns
Name
Rodrigues W Campain
Izzy L Gillian
Kadeem K Briddick
Ashley Y Glick
Morrow T Marrier
Leja M Saylors
Clifford Y Bowley
Clifford M Nicka
Darci F Wieser
Aika G Iturbide
Jones K Ruta
Tony T Sergi
Ricardo R Stenseth
Stacey F Doe
Maisha E Figeroa
Aruna L Butt
Costa C Figeroa
Stacey E Doe
Rodrigues V Rim
Murillo U Vocelka
Wickens R Dilliard
Jefferson Z Perin
Kadeem A Shinko
Jeanfrancois S Albares
Maria Y Briddick
Smith O Figeroa
Antonio T Iturbide
Emily H Kusko
Jefferson H Ostrosky
Kadeem Y Schemmer
Claire H Ostrosky
Jennifer L Stockham
Isabel W Paprocki
Silvio R Whobrey
James S Ruta
Clifford K Slusarski
Isabel L Kusko
Munro H Royster
Aruna H Shinko
Kadeem G Stenseth
James W Nicka
James R Kolmetz
Jeanfrancois C Vocelka
Leja K Ostrosky
Emily Y Malet
Isabel U Wieser
Francesco R Tollner
Jones F Stenseth
Mayumi R Nicka
Chavez Y Stockham
IdCountryDate
1000Italy2025-09-14
1001Canada2025-09-03
1002Spain2025-08-24
1003United Kingdom2025-09-13
1004Italy2025-09-10
1005Argentina2025-09-13
1006Italy2025-08-31
1007India2025-09-13
1008Japan2025-08-27
1009Argentina2025-08-27
1010Russia2025-09-09
1011Italy2025-09-16
1012Spain2025-08-20
1013Argentina2025-08-22
1014Japan2025-08-30
1015Brazil2025-09-01
1016United Kingdom2025-09-07
1017Spain2025-09-18
1018France2025-08-22
1019India2025-08-23
1020France2025-08-27
1021Brazil2025-09-02
1022Canada2025-09-17
1023Japan2025-09-16
1024Argentina2025-09-01
1025Australia2025-09-04
1026Germany2025-08-28
1027Italy2025-09-18
1028Canada2025-08-21
1029Germany2025-08-25
1030Spain2025-09-17
1031Japan2025-08-22
1032Russia2025-09-14
1033Spain2025-08-20
1034Canada2025-09-03
1035France2025-09-14
1036Spain2025-09-08
1037Brazil2025-09-17
1038United Kingdom2025-09-07
1039Australia2025-08-24
1040Canada2025-08-24
1041India2025-08-29
1042Canada2025-08-24
1043Brazil2025-09-15
1044Germany2025-09-05
1045United Kingdom2025-09-18
1046Brazil2025-09-03
1047Canada2025-08-30
1048Argentina2025-09-07
1049France2025-09-01

On-Demand Data

NameIdCountryDate
Faith W Rim1000Russia2025-09-17
Murillo X Paprocki1001United Kingdom2025-09-17
Leja Q Iturbide1002Russia2025-09-06
Jefferson Z Butt1003Brazil2025-09-10
Isabel H Oldroyd1004Canada2025-08-23
Stacey H Schemmer1005Canada2025-09-12
Aruna X Perin1006Canada2025-09-13
Leon M Wieser1007France2025-08-30
Izzy B Amigon1008Argentina2025-09-16
Leja P Nestle1009United Kingdom2025-08-30
Jefferson L Tollner1010India2025-09-14
Juan C Garufi1011Canada2025-08-22
Izzy G Caudy1012Italy2025-09-06
Antonio U Gaucho1013Australia2025-09-18
Alejandro C Glick1014Russia2025-09-06
Johnson A Shinko1015Japan2025-08-31
Wickens X Bowley1016Australia2025-09-14
Tony R Doe1017France2025-09-03
Adams J Maclead1018India2025-08-28
Maria G Tollner1019Russia2025-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy W OldroydCanadaXuxue Feng UNQUALIFIED
Adams S FigeroaUnited KingdomAmy Elsner NEGOTIATION
Emily U WieserIndiaXuxue Feng QUALIFIED
Stacey I BriddickJapanAnna Fali QUALIFIED
Ivar P PaprockiAustraliaXuxue Feng UNQUALIFIED
Faith G GauchoFranceIoni Bowcher UNQUALIFIED
Wickens E RutaBrazilIvan Magalhaes PROPOSAL
James G BriddickIndiaAnna Fali NEW
Adams P PaprockiFranceOnyama Limba QUALIFIED
Octavia A DarakjyIndiaIvan Magalhaes QUALIFIED
Adams S GlickArgentinaStephen Shaw NEW
Deepesh K RimAustraliaIvan Magalhaes NEW
Adams W NestleSpainIvan Magalhaes QUALIFIED
Smith R KuskoCanadaOnyama Limba QUALIFIED
Leja O ChuiCanadaStephen Shaw NEGOTIATION
Costa N FerenczItalyStephen Shaw UNQUALIFIED
Nicolas W BologniaCanadaBernardo Dominic NEGOTIATION
Mayumi Z MorascaJapanOnyama Limba PROPOSAL
Munro L NestleCanadaIvan Magalhaes QUALIFIED
Claire P FlosiSpainIvan Magalhaes NEW
Aruna L StockhamJapanBernardo Dominic NEGOTIATION
Arvin F MacleadJapanOnyama Limba UNQUALIFIED
Deepesh O KuskoSpainXuxue Feng NEW
Kaitlin D DoeItalyElwin Sharvill UNQUALIFIED
Kadeem B RoysterJapanAnna Fali RENEWAL
Claire P DoeBrazilElwin Sharvill QUALIFIED
Antonio K PerinFranceIoni Bowcher PROPOSAL
Jones N RulapaughJapanBernardo Dominic RENEWAL
Leja R NickaCanadaAmy Elsner UNQUALIFIED
Claire U MaletItalyOnyama Limba NEW
Aditya Q BologniaArgentinaAnna Fali QUALIFIED
Greenwood N SergiRussiaXuxue Feng RENEWAL
Aditya E InouyeBrazilIvan Magalhaes UNQUALIFIED
Clifford W RoysterRussiaAmy Elsner QUALIFIED
Smith L KuskoGermanyElwin Sharvill RENEWAL
David T VocelkaFranceAmy Elsner RENEWAL
Costa S OstroskyIndiaElwin Sharvill PROPOSAL
Arvin J VenereItalyAsiya Javayant QUALIFIED
Maisha E FollerAustraliaOnyama Limba RENEWAL
Silvio E StensethJapanElwin Sharvill QUALIFIED

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