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
Kaitlin Z InouyeItalyAsiya Javayant UNQUALIFIED
Jefferson P GauchoItalyBernardo Dominic QUALIFIED
Faith P BologniaFranceIvan Magalhaes QUALIFIED
Maisha I GarufiAustraliaIvan Magalhaes PROPOSAL
Antonio C RutaSpainBernardo Dominic NEGOTIATION
Mujtaba G PerinSpainBernardo Dominic PROPOSAL
Sinclair M PaprockiJapanAmy Elsner QUALIFIED
Arvin Q PaprockiFranceAmy Elsner NEGOTIATION
Deepesh I BologniaCanadaOnyama Limba RENEWAL
Jefferson S SaylorsBrazilOnyama Limba NEW
Munro C MarrierBrazilElwin Sharvill RENEWAL
Antonio O FollerRussiaAnna Fali PROPOSAL
Johnson U SlusarskiBrazilBernardo Dominic QUALIFIED
Mayumi T NestleGermanyElwin Sharvill NEW
Jones K AmigonSpainAnna Fali NEW
Leja N SaylorsArgentinaAsiya Javayant RENEWAL
Chavez K KuskoSpainStephen Shaw PROPOSAL
Misaki U KuskoAustraliaStephen Shaw RENEWAL
Juan U ButtSpainXuxue Feng NEW
Alejandro E MaletGermanyAmy Elsner QUALIFIED
Jones G CampainGermanyAmy Elsner QUALIFIED
Emily V DarakjyItalyIoni Bowcher NEGOTIATION
Mayumi H OldroydBrazilXuxue Feng RENEWAL
Aditya H BologniaArgentinaAsiya Javayant QUALIFIED
Darci K CampainSpainIvan Magalhaes PROPOSAL
Ashley N ShinkoRussiaIvan Magalhaes QUALIFIED
Munro G BologniaSpainStephen Shaw NEW
Chavez N StockhamRussiaBernardo Dominic PROPOSAL
Kadeem F WaycottAustraliaXuxue Feng QUALIFIED
Deepesh X RimBrazilAmy Elsner RENEWAL
Ivar J SlusarskiAustraliaBernardo Dominic NEGOTIATION
Murillo G PaprockiSpainIoni Bowcher QUALIFIED
Stacey Z CaudyGermanyElwin Sharvill NEW
Jones Y TollnerUnited KingdomOnyama Limba PROPOSAL
Alejandro W GillianArgentinaAmy Elsner PROPOSAL
David N TollnerSpainOnyama Limba UNQUALIFIED
James Q SlusarskiJapanAnna Fali QUALIFIED
Jeanfrancois Z MacleadItalyIoni Bowcher PROPOSAL
James S DilliardCanadaAsiya Javayant QUALIFIED
Smith K GauchoBrazilAsiya Javayant UNQUALIFIED
Faith B InouyeCanadaBernardo Dominic RENEWAL
Clifford S RimFranceOnyama Limba UNQUALIFIED
Silvio H CampainUnited KingdomOnyama Limba NEGOTIATION
Francesco Y GarufiBrazilXuxue Feng NEGOTIATION
Deepesh N GlickUnited KingdomAnna Fali UNQUALIFIED
James R PerinArgentinaXuxue Feng RENEWAL
James H RutaAustraliaAnna Fali NEW
Aika O AlbaresGermanyIvan Magalhaes QUALIFIED
Ivar C RutaRussiaXuxue Feng NEGOTIATION
Nicolas R AmigonCanadaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Clifford N FollerBrazilAmy Elsner NEW
Aika C ChuiItalyAnna Fali NEW
Izzy D SchemmerGermanyAmy Elsner RENEWAL
Leja R DilliardItalyIoni Bowcher UNQUALIFIED
Deepesh W MacleadSpainAmy Elsner NEGOTIATION
Morrow R BriddickItalyStephen Shaw RENEWAL
Nicolas Z MacleadSpainIoni Bowcher NEGOTIATION
Darci X MaletGermanyIvan Magalhaes PROPOSAL
Aruna Z DilliardSpainBernardo Dominic QUALIFIED
Jefferson P FollerItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore J KuskoSpain2025-08-28Dorl, James J Esq NEGOTIATION21Ivan Magalhaes
1001Maria D AmigonIndia2025-08-04Chanay, Jeffrey A Esq NEW64Elwin Sharvill
1002Arvin K NestleJapan2025-08-03Morlong Associates RENEWAL45Bernardo Dominic
1003Mujtaba P WhobreyItaly2025-08-12Feiner Bros QUALIFIED98Onyama Limba
1004Munro G FlosiSpain2025-08-21Chapman, Ross E Esq NEW46Ioni Bowcher
1005Antonio C CampainBrazil2025-08-29Chapman, Ross E Esq RENEWAL29Asiya Javayant
1006Octavia I RoysterRussia2025-08-15Truhlar And Truhlar Attys PROPOSAL21Elwin Sharvill
1007Isabel N NestleGermany2025-08-23King, Christopher A Esq NEGOTIATION46Ioni Bowcher
1008Wickens B DarakjyJapan2025-08-19Truhlar And Truhlar Attys PROPOSAL98Bernardo Dominic
1009Leja I VocelkaBrazil2025-08-10Benton, John B Jr UNQUALIFIED87Stephen Shaw
1010Nicolas C BowleyCanada2025-08-24Chapman, Ross E Esq RENEWAL23Ivan Magalhaes
1011Claire I SlusarskiIndia2025-08-27Feltz Printing Service NEGOTIATION7Xuxue Feng
1012Rodrigues Q SlusarskiAustralia2025-08-23King, Christopher A Esq QUALIFIED14Bernardo Dominic
1013Jeanfrancois U ShinkoArgentina2025-08-27Rangoni Of Florence NEGOTIATION61Amy Elsner
1014Maria F SlusarskiCanada2025-08-21Benton, John B Jr NEW79Amy Elsner
1015Ricardo A KuskoJapan2025-08-23Rangoni Of Florence PROPOSAL35Ioni Bowcher
1016David U NestleArgentina2025-08-19Truhlar And Truhlar Attys NEGOTIATION72Elwin Sharvill
1017Arvin G BologniaGermany2025-08-19Commercial Press QUALIFIED42Stephen Shaw
1018Octavia R NestleCanada2025-08-04Chapman, Ross E Esq NEW51Anna Fali
1019Jones U DarakjyBrazil2025-07-31Chemel, James L Cpa UNQUALIFIED25Ioni Bowcher
1020Munro E IturbideSpain2025-08-01Chapman, Ross E Esq UNQUALIFIED79Elwin Sharvill
1021Isabel F NickaJapan2025-08-22Chanay, Jeffrey A Esq QUALIFIED74Anna Fali
1022Izzy A FigeroaItaly2025-08-13Feiner Bros RENEWAL24Ivan Magalhaes
1023David O GlickRussia2025-08-21Chapman, Ross E Esq PROPOSAL89Onyama Limba
1024Smith J GarufiUnited Kingdom2025-08-12Truhlar And Truhlar Attys NEGOTIATION65Amy Elsner
1025Tony P FigeroaBrazil2025-08-28Chapman, Ross E Esq QUALIFIED67Amy Elsner
1026Mujtaba M BowleyAustralia2025-07-31Chemel, James L Cpa NEW37Xuxue Feng
1027Kadeem S WaycottGermany2025-08-17Printing Dimensions NEW24Amy Elsner
1028Jones V TollnerItaly2025-08-14Rousseaux, Michael Esq RENEWAL85Bernardo Dominic
1029Izzy M VenereFrance2025-08-20Truhlar And Truhlar Attys UNQUALIFIED47Onyama Limba
1030Chavez U MarrierArgentina2025-08-06Rousseaux, Michael Esq QUALIFIED60Ivan Magalhaes
1031Wickens B MaletAustralia2025-08-23Chapman, Ross E Esq NEGOTIATION35Stephen Shaw
1032Jefferson J KolmetzAustralia2025-07-31Morlong Associates UNQUALIFIED3Bernardo Dominic
1033Smith F FlosiArgentina2025-08-15Buckley Miller Wright NEGOTIATION40Xuxue Feng
1034Jones A SaylorsIndia2025-08-08Chapman, Ross E Esq PROPOSAL37Onyama Limba
1035Julie W MorascaArgentina2025-08-15Chanay, Jeffrey A Esq UNQUALIFIED13Bernardo Dominic
1036Clifford Y DoeAustralia2025-08-19Benton, John B Jr NEGOTIATION10Elwin Sharvill
1037Smith U RutaRussia2025-08-02Commercial Press PROPOSAL83Ivan Magalhaes
1038Chavez M FigeroaCanada2025-08-10Morlong Associates PROPOSAL35Bernardo Dominic
1039Salvatore T GillianRussia2025-07-31Chemel, James L Cpa NEW93Bernardo Dominic
1040Maria L AlbaresBrazil2025-08-03Chanay, Jeffrey A Esq QUALIFIED6Ivan Magalhaes
1041Wickens S BologniaItaly2025-08-07Feiner Bros RENEWAL90Anna Fali
1042Chavez F NickaIndia2025-08-21King, Christopher A Esq RENEWAL97Ioni Bowcher
1043Sinclair H MorascaIndia2025-08-11Chemel, James L Cpa QUALIFIED74Asiya Javayant
1044James C SergiJapan2025-08-02Feltz Printing Service UNQUALIFIED99Asiya Javayant
1045Munro Z RulapaughBrazil2025-08-09Chapman, Ross E Esq NEW68Ioni Bowcher
1046Darci D MacleadJapan2025-08-22Feltz Printing Service NEW28Onyama Limba
1047Morrow N MarrierArgentina2025-08-27Morlong Associates NEW86Bernardo Dominic
1048Sinclair H CaudySpain2025-08-03Chanay, Jeffrey A Esq QUALIFIED87Ivan Magalhaes
1049Ashley R FlosiBrazil2025-08-25King, Christopher A Esq QUALIFIED81Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel C CaudyBrazilStephen Shaw RENEWAL
Jennifer B BriddickRussiaIvan Magalhaes QUALIFIED
Aika T StensethFranceAsiya Javayant RENEWAL
Arvin Z FollerArgentinaIvan Magalhaes QUALIFIED
Jefferson N OstroskyRussiaStephen Shaw PROPOSAL
Johnson R DoeCanadaIoni Bowcher QUALIFIED
Greenwood R MaletAustraliaStephen Shaw PROPOSAL
Kadeem N NickaCanadaIvan Magalhaes QUALIFIED
Claire F DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Leon X VenereSpainBernardo Dominic NEW
Johnson N VenereSpainElwin Sharvill PROPOSAL
Kadeem N PaprockiArgentinaElwin Sharvill QUALIFIED
Claire U WhobreyItalyElwin Sharvill NEW
Francesco A OldroydCanadaOnyama Limba UNQUALIFIED
Wickens X DarakjyItalyIvan Magalhaes RENEWAL
Jennifer H KolmetzIndiaAmy Elsner NEGOTIATION
Nicolas K FerenczCanadaElwin Sharvill PROPOSAL
Isabel L OstroskyFranceOnyama Limba QUALIFIED
Wickens J IturbideBrazilAmy Elsner NEGOTIATION
David N FollerArgentinaIoni Bowcher NEW
Jeanfrancois S BowleyRussiaXuxue Feng NEW
Costa L VocelkaRussiaAmy Elsner UNQUALIFIED
Jefferson Q FerenczFranceAmy Elsner UNQUALIFIED
Cody G DilliardItalyBernardo Dominic NEGOTIATION
Wickens R DoeBrazilXuxue Feng UNQUALIFIED
Mujtaba G WaycottItalyIvan Magalhaes RENEWAL
Jeanfrancois B WieserArgentinaIvan Magalhaes PROPOSAL
Ricardo Z MaletSpainBernardo Dominic RENEWAL
Greenwood Y VenereIndiaAsiya Javayant PROPOSAL
Emily S InouyeBrazilStephen Shaw QUALIFIED
Clifford R FollerJapanElwin Sharvill QUALIFIED
Deepesh V ButtUnited KingdomIoni Bowcher PROPOSAL
Julie D ChuiAustraliaXuxue Feng QUALIFIED
Kadeem L GlickIndiaStephen Shaw NEGOTIATION
Deepesh P FigeroaGermanyAsiya Javayant UNQUALIFIED
Leja R ShinkoJapanOnyama Limba NEW
Tony C VenereArgentinaAsiya Javayant RENEWAL
Izzy A RimIndiaStephen Shaw QUALIFIED
Jeanfrancois I GillianSpainStephen Shaw QUALIFIED
Wickens A FigeroaArgentinaAnna Fali QUALIFIED
Maisha O WhobreyRussiaAmy Elsner PROPOSAL
Maria W BowleyAustraliaAsiya Javayant RENEWAL
Ivar N ChuiIndiaAmy Elsner UNQUALIFIED
Alejandro Y NickaRussiaIvan Magalhaes PROPOSAL
Claire D AlbaresAustraliaStephen Shaw NEW
Leon J NickaUnited KingdomElwin Sharvill RENEWAL
Adams B RutaCanadaElwin Sharvill UNQUALIFIED
Mayumi Q DilliardBrazilElwin Sharvill PROPOSAL
Stacey E CampainBrazilIvan Magalhaes PROPOSAL
Maria Q DilliardUnited KingdomAsiya Javayant RENEWAL
Frozen Columns
Name
Arvin D Schemmer
Costa N Butt
Mayumi D Vocelka
Francesco Y Waycott
Maria K Perin
Greenwood K Waycott
Leon U Dilliard
Ashley S Glick
Murillo J Butt
Deepesh L Whobrey
Jennifer Z Inouye
Aika I Poquette
Maria V Darakjy
Smith X Kolmetz
David B Ostrosky
Jefferson F Tollner
Ashley H Caldarera
Munro M Shinko
Johnson Y Whobrey
Jeanfrancois Y Venere
Aditya X Amigon
Morrow L Dilliard
Greenwood R Darakjy
Kaitlin K Doe
Stacey M Sergi
Darci F Stenseth
Murillo H Morasca
Tony L Whobrey
Ricardo Z Stenseth
Jones F Nestle
Stacey O Ferencz
Silvio B Stenseth
Murillo Y Marrier
Ivar M Marrier
Costa A Schemmer
Faith Q Kolmetz
Alejandro O Nicka
Jeanfrancois B Saylors
Darci Q Bolognia
Mayumi G Waycott
Wickens J Nicka
Silvio H Rulapaugh
Tony L Figeroa
Julie I Malet
Murillo J Figeroa
Ricardo T Caudy
Ricardo R Darakjy
Jeanfrancois W Sergi
Maria A Maclead
Jefferson G Marrier
IdCountryDate
1000France2025-08-09
1001Japan2025-08-04
1002Australia2025-08-18
1003India2025-08-10
1004Australia2025-08-21
1005Italy2025-08-26
1006Italy2025-08-26
1007France2025-08-11
1008United Kingdom2025-08-08
1009Spain2025-08-10
1010Germany2025-08-10
1011Argentina2025-08-12
1012Germany2025-08-13
1013Japan2025-08-04
1014Australia2025-08-21
1015Spain2025-08-09
1016Italy2025-08-18
1017India2025-08-08
1018Australia2025-08-05
1019Germany2025-07-31
1020Argentina2025-08-02
1021United Kingdom2025-08-01
1022France2025-08-02
1023Russia2025-08-01
1024Argentina2025-08-17
1025Australia2025-08-11
1026Russia2025-08-15
1027Russia2025-08-19
1028India2025-08-16
1029Germany2025-08-27
1030India2025-08-14
1031India2025-08-01
1032Australia2025-08-02
1033Brazil2025-08-29
1034Brazil2025-08-06
1035France2025-08-09
1036France2025-08-23
1037India2025-08-25
1038United Kingdom2025-08-05
1039Russia2025-08-10
1040Germany2025-08-04
1041United Kingdom2025-08-17
1042France2025-08-24
1043Argentina2025-08-03
1044Australia2025-08-01
1045Argentina2025-08-13
1046India2025-08-17
1047Russia2025-08-04
1048Brazil2025-08-07
1049Spain2025-08-27

On-Demand Data

NameIdCountryDate
Ricardo M Oldroyd1000Japan2025-08-04
Murillo Q Nestle1001Australia2025-08-06
Rodrigues C Bolognia1002Japan2025-08-03
Isabel T Vocelka1003Australia2025-08-15
Kadeem V Stockham1004Spain2025-08-05
Deepesh N Rulapaugh1005India2025-07-31
Darci O Doe1006France2025-08-07
Costa D Tollner1007United Kingdom2025-08-16
Adams C Schemmer1008Italy2025-08-25
Aditya E Inouye1009Spain2025-08-25
Emily Y Shinko1010Brazil2025-08-08
Mujtaba Z Vocelka1011Australia2025-08-19
Aruna S Slusarski1012Germany2025-08-05
Morrow U Perin1013Australia2025-08-10
Costa D Briddick1014Brazil2025-08-16
Maisha Z Rim1015France2025-08-07
Greenwood M Campain1016Russia2025-08-17
Mujtaba U Tollner1017Argentina2025-08-15
Jennifer U Ostrosky1018Italy2025-08-02
Juan P Shinko1019Italy2025-08-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson O FerenczCanadaOnyama Limba NEGOTIATION
Silvio F MaletUnited KingdomIvan Magalhaes NEW
Costa V KolmetzUnited KingdomOnyama Limba QUALIFIED
Octavia S MarrierFranceAnna Fali NEW
Sinclair S MarrierBrazilAmy Elsner NEGOTIATION
Leon Q CaudySpainIvan Magalhaes NEW
Arvin G IturbideBrazilBernardo Dominic QUALIFIED
Adams Q GauchoGermanyElwin Sharvill UNQUALIFIED
Silvio V PaprockiAustraliaBernardo Dominic UNQUALIFIED
Munro V AmigonRussiaElwin Sharvill RENEWAL
Aika P RimBrazilStephen Shaw NEGOTIATION
Aika E MaletCanadaAsiya Javayant NEW
Smith G GauchoGermanyOnyama Limba QUALIFIED
Emily I BriddickCanadaXuxue Feng UNQUALIFIED
Aruna W SchemmerBrazilXuxue Feng QUALIFIED
Misaki P StockhamAustraliaAsiya Javayant NEW
Emily X WaycottGermanyAsiya Javayant RENEWAL
Octavia D IturbideIndiaIoni Bowcher PROPOSAL
Greenwood Z DarakjyJapanOnyama Limba PROPOSAL
Sinclair I GauchoAustraliaElwin Sharvill NEGOTIATION
Isabel I NestleBrazilAsiya Javayant NEW
Smith D VocelkaArgentinaXuxue Feng UNQUALIFIED
Aruna K NestleItalyAsiya Javayant RENEWAL
Octavia V CaldareraRussiaOnyama Limba UNQUALIFIED
Deepesh P GauchoCanadaAsiya Javayant QUALIFIED
Misaki E GlickCanadaOnyama Limba NEGOTIATION
Stacey J OstroskyFranceOnyama Limba PROPOSAL
Ivar J PaprockiUnited KingdomIvan Magalhaes RENEWAL
Rodrigues L TollnerGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois M BologniaRussiaAmy Elsner QUALIFIED
Clifford O DoeRussiaAmy Elsner RENEWAL
David A FlosiFranceElwin Sharvill NEW
Munro V RutaRussiaStephen Shaw NEW
Maisha A AmigonCanadaIvan Magalhaes RENEWAL
Faith Y AmigonSpainIoni Bowcher QUALIFIED
Jones J GillianIndiaStephen Shaw PROPOSAL
Jones Z BriddickGermanyAsiya Javayant NEW
Mayumi O GillianAustraliaElwin Sharvill UNQUALIFIED
Ashley O NestleCanadaAsiya Javayant QUALIFIED
Nicolas Y SergiFranceIvan Magalhaes 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>