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
Aika A CaudyIndiaElwin Sharvill UNQUALIFIED
Sinclair T RulapaughItalyBernardo Dominic RENEWAL
Maria M MacleadCanadaAmy Elsner NEW
Jeanfrancois U DoeItalyAmy Elsner NEGOTIATION
Kadeem H NestleIndiaXuxue Feng UNQUALIFIED
Arvin B DilliardFranceIoni Bowcher NEGOTIATION
Ashley Y SchemmerFranceBernardo Dominic RENEWAL
Ashley U RulapaughBrazilAmy Elsner NEGOTIATION
Octavia H MaletJapanOnyama Limba UNQUALIFIED
David U SchemmerUnited KingdomAnna Fali QUALIFIED
Costa R DilliardJapanBernardo Dominic PROPOSAL
Tony U InouyeAustraliaOnyama Limba UNQUALIFIED
Julie X RoysterSpainBernardo Dominic PROPOSAL
Greenwood W NestleSpainXuxue Feng NEW
Jefferson K IturbideCanadaIoni Bowcher QUALIFIED
Clifford V MorascaArgentinaIvan Magalhaes QUALIFIED
Johnson E WieserSpainAmy Elsner NEGOTIATION
Juan F SlusarskiUnited KingdomAmy Elsner UNQUALIFIED
Murillo I RulapaughIndiaOnyama Limba NEW
Claire V PoquetteSpainAnna Fali NEGOTIATION
Sinclair P KuskoAustraliaBernardo Dominic PROPOSAL
Nicolas K CampainRussiaXuxue Feng QUALIFIED
Leon X BowleyFranceIoni Bowcher UNQUALIFIED
Mayumi B NestleBrazilStephen Shaw UNQUALIFIED
Kaitlin L InouyeBrazilBernardo Dominic NEW
Kadeem J ShinkoJapanElwin Sharvill NEW
Maria C ShinkoCanadaAmy Elsner QUALIFIED
Aruna S DilliardJapanStephen Shaw UNQUALIFIED
Greenwood D MacleadArgentinaAsiya Javayant QUALIFIED
Ashley P ChuiJapanBernardo Dominic UNQUALIFIED
Murillo Q WaycottRussiaXuxue Feng QUALIFIED
Kadeem N AlbaresGermanyStephen Shaw PROPOSAL
Adams G NickaSpainElwin Sharvill UNQUALIFIED
Chavez D CaudyJapanBernardo Dominic RENEWAL
Aika V VenereIndiaIvan Magalhaes PROPOSAL
Wickens P OstroskyArgentinaIvan Magalhaes QUALIFIED
Silvio E WaycottFranceAmy Elsner UNQUALIFIED
Rodrigues A StensethIndiaAmy Elsner QUALIFIED
Sinclair L GauchoRussiaBernardo Dominic QUALIFIED
Tony T WaycottBrazilAmy Elsner QUALIFIED
Ashley Y MorascaFranceAsiya Javayant NEW
Sinclair W DarakjyIndiaStephen Shaw NEW
James Y SlusarskiJapanStephen Shaw RENEWAL
Jeanfrancois H DilliardUnited KingdomXuxue Feng QUALIFIED
Maria L FerenczAustraliaStephen Shaw PROPOSAL
Cody U DoeAustraliaStephen Shaw PROPOSAL
Julie A RulapaughJapanXuxue Feng NEW
Wickens E AmigonIndiaAmy Elsner QUALIFIED
Izzy L OstroskyBrazilIoni Bowcher NEW
Clifford H MacleadFranceIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja D StensethItalyIvan Magalhaes UNQUALIFIED
Emily N FigeroaItalyAmy Elsner QUALIFIED
Morrow B OldroydGermanyOnyama Limba UNQUALIFIED
Mujtaba B RimSpainStephen Shaw PROPOSAL
Isabel K PoquetteUnited KingdomIvan Magalhaes QUALIFIED
Cody G VenereGermanyAnna Fali UNQUALIFIED
Morrow N WieserArgentinaAmy Elsner NEW
Clifford Q KolmetzIndiaIvan Magalhaes NEW
Ivar Q MaletIndiaAnna Fali PROPOSAL
Aruna P CaldareraAustraliaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith A MacleadFrance2025-09-27Benton, John B Jr PROPOSAL33Asiya Javayant
1001Aruna G FigeroaBrazil2025-10-08Buckley Miller Wright NEW93Bernardo Dominic
1002Leon N GarufiArgentina2025-09-18Dorl, James J Esq UNQUALIFIED58Onyama Limba
1003Johnson I IturbideCanada2025-09-23Truhlar And Truhlar Attys QUALIFIED51Xuxue Feng
1004Isabel T KolmetzUnited Kingdom2025-09-29Feiner Bros PROPOSAL23Amy Elsner
1005Cody H PerinAustralia2025-09-15Rousseaux, Michael Esq NEW73Stephen Shaw
1006Rodrigues C FlosiCanada2025-09-13Dorl, James J Esq NEW49Xuxue Feng
1007Kaitlin Z CaldareraCanada2025-10-01Chemel, James L Cpa RENEWAL24Elwin Sharvill
1008Rodrigues H VocelkaAustralia2025-09-14Morlong Associates NEW66Anna Fali
1009Jones F ChuiAustralia2025-09-19Dorl, James J Esq RENEWAL86Xuxue Feng
1010Faith H MorascaArgentina2025-09-24Commercial Press NEW72Ivan Magalhaes
1011Maria G WaycottJapan2025-10-01Chanay, Jeffrey A Esq UNQUALIFIED41Onyama Limba
1012Stacey A NestleItaly2025-09-22Buckley Miller Wright NEW12Onyama Limba
1013Julie I BriddickRussia2025-09-30Truhlar And Truhlar Attys PROPOSAL40Xuxue Feng
1014Octavia P BriddickItaly2025-09-27Dorl, James J Esq NEGOTIATION86Asiya Javayant
1015Wickens A OstroskyAustralia2025-10-01Chanay, Jeffrey A Esq NEGOTIATION86Ioni Bowcher
1016Ricardo K PaprockiArgentina2025-10-06Feltz Printing Service UNQUALIFIED38Amy Elsner
1017Misaki C PerinCanada2025-09-25Feiner Bros QUALIFIED11Elwin Sharvill
1018Kadeem X GarufiFrance2025-10-10Feltz Printing Service RENEWAL47Asiya Javayant
1019Murillo P IturbideUnited Kingdom2025-10-05Morlong Associates NEGOTIATION22Bernardo Dominic
1020Aruna Y RimRussia2025-09-16Printing Dimensions RENEWAL26Ioni Bowcher
1021Deepesh X ButtFrance2025-09-26Chanay, Jeffrey A Esq RENEWAL24Bernardo Dominic
1022Mujtaba C BriddickJapan2025-09-27Rousseaux, Michael Esq UNQUALIFIED85Anna Fali
1023Adams Z NickaGermany2025-10-01Rangoni Of Florence NEGOTIATION95Anna Fali
1024Emily R GlickCanada2025-09-18Chanay, Jeffrey A Esq QUALIFIED97Asiya Javayant
1025Julie D RulapaughJapan2025-09-20Chemel, James L Cpa PROPOSAL52Ioni Bowcher
1026Costa S RutaFrance2025-09-25Chanay, Jeffrey A Esq UNQUALIFIED34Onyama Limba
1027Darci R StockhamItaly2025-09-16Rangoni Of Florence PROPOSAL21Asiya Javayant
1028Isabel C AlbaresFrance2025-10-08Chanay, Jeffrey A Esq PROPOSAL59Anna Fali
1029Darci M DilliardArgentina2025-09-27Dorl, James J Esq NEGOTIATION44Ivan Magalhaes
1030Claire E StensethRussia2025-09-28Chemel, James L Cpa PROPOSAL51Onyama Limba
1031Wickens H MacleadAustralia2025-09-15Buckley Miller Wright NEGOTIATION10Onyama Limba
1032Juan A GauchoFrance2025-09-23Rangoni Of Florence RENEWAL48Ivan Magalhaes
1033Faith O MorascaAustralia2025-09-19Morlong Associates PROPOSAL10Asiya Javayant
1034Nicolas I GlickRussia2025-10-12Buckley Miller Wright UNQUALIFIED4Elwin Sharvill
1035Francesco M RimUnited Kingdom2025-09-23Truhlar And Truhlar Attys UNQUALIFIED62Onyama Limba
1036Ivar V FollerJapan2025-10-03Feltz Printing Service PROPOSAL91Xuxue Feng
1037Smith R DoeAustralia2025-09-29Morlong Associates RENEWAL6Ivan Magalhaes
1038Silvio C MorascaAustralia2025-10-03Printing Dimensions UNQUALIFIED21Onyama Limba
1039Clifford Q BriddickBrazil2025-10-03Printing Dimensions QUALIFIED55Bernardo Dominic
1040Izzy C MacleadArgentina2025-10-05Morlong Associates UNQUALIFIED29Xuxue Feng
1041Smith D MaletAustralia2025-09-25Benton, John B Jr NEW88Onyama Limba
1042Murillo Q VenereIndia2025-09-27Chapman, Ross E Esq QUALIFIED85Stephen Shaw
1043Ivar W WaycottFrance2025-10-08Rangoni Of Florence RENEWAL64Elwin Sharvill
1044Alejandro Z IturbideBrazil2025-10-04Feiner Bros PROPOSAL13Elwin Sharvill
1045David F NestleIndia2025-09-25Chapman, Ross E Esq NEGOTIATION97Amy Elsner
1046Leja S FollerAustralia2025-10-08Commercial Press QUALIFIED36Onyama Limba
1047Aika V MaletAustralia2025-09-18Benton, John B Jr RENEWAL72Anna Fali
1048Chavez R FlosiFrance2025-10-09Commercial Press PROPOSAL59Ioni Bowcher
1049Nicolas Y SchemmerItaly2025-10-04Dorl, James J Esq RENEWAL11Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson Y RutaFranceIoni Bowcher RENEWAL
Kadeem M VenereJapanElwin Sharvill RENEWAL
Izzy G KuskoAustraliaIoni Bowcher NEGOTIATION
Costa U AlbaresArgentinaAnna Fali RENEWAL
Jennifer V InouyeSpainAsiya Javayant UNQUALIFIED
Alejandro E WieserFranceIvan Magalhaes PROPOSAL
David Y VocelkaGermanyOnyama Limba UNQUALIFIED
Costa U CaldareraGermanyBernardo Dominic NEW
Stacey G StensethBrazilBernardo Dominic PROPOSAL
Maria M WhobreyFranceAsiya Javayant PROPOSAL
Mujtaba W CaudyAustraliaAsiya Javayant NEGOTIATION
Misaki D GarufiGermanyXuxue Feng NEGOTIATION
Alejandro M FollerIndiaAsiya Javayant NEGOTIATION
David B PaprockiRussiaBernardo Dominic QUALIFIED
Ivar E RulapaughArgentinaAsiya Javayant UNQUALIFIED
James L WhobreyGermanyIvan Magalhaes PROPOSAL
Faith D MacleadJapanAsiya Javayant UNQUALIFIED
Julie J StensethJapanIvan Magalhaes UNQUALIFIED
Ashley U GarufiCanadaElwin Sharvill NEW
Sinclair J MaletIndiaAmy Elsner NEGOTIATION
Juan P VenereCanadaStephen Shaw NEGOTIATION
Costa N GlickBrazilIoni Bowcher NEW
Salvatore I DarakjyRussiaAmy Elsner NEGOTIATION
Julie W GillianSpainAsiya Javayant NEW
Silvio X MaletItalyIvan Magalhaes NEW
Mujtaba R MaletGermanyAnna Fali UNQUALIFIED
Kaitlin I ChuiSpainXuxue Feng UNQUALIFIED
Stacey Q FlosiRussiaBernardo Dominic NEW
Izzy B PoquetteItalyStephen Shaw RENEWAL
Kaitlin B FigeroaJapanStephen Shaw NEGOTIATION
Claire W AlbaresJapanXuxue Feng NEW
Wickens C PoquetteRussiaElwin Sharvill NEGOTIATION
Ricardo X RimRussiaIvan Magalhaes PROPOSAL
Kadeem I StensethRussiaStephen Shaw QUALIFIED
Francesco K NickaUnited KingdomStephen Shaw PROPOSAL
Faith R SergiBrazilElwin Sharvill RENEWAL
Isabel A ShinkoArgentinaAsiya Javayant NEW
Jennifer A VenereFranceIvan Magalhaes NEGOTIATION
Kaitlin Q KolmetzIndiaOnyama Limba UNQUALIFIED
Leon F KuskoJapanBernardo Dominic QUALIFIED
Stacey G CaudyGermanyIvan Magalhaes NEGOTIATION
Cody Z OstroskyBrazilAnna Fali RENEWAL
Ivar J AmigonSpainAmy Elsner UNQUALIFIED
David F DilliardFranceIoni Bowcher NEW
Wickens A AlbaresJapanElwin Sharvill NEW
Wickens W FerenczCanadaOnyama Limba RENEWAL
Jefferson I IturbideBrazilBernardo Dominic UNQUALIFIED
Maria H GlickSpainAmy Elsner RENEWAL
Costa J KolmetzIndiaAsiya Javayant RENEWAL
Izzy H AmigonIndiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Juan T Wieser
Sinclair O Venere
Emily C Figeroa
Murillo Z Amigon
Smith B Kolmetz
Isabel Q Ferencz
Ashley S Campain
Kadeem T Inouye
Morrow L Oldroyd
Sinclair V Slusarski
Leja O Figeroa
Silvio X Oldroyd
Aditya W Butt
Tony G Shinko
Morrow Q Dilliard
Jones Z Malet
Mujtaba L Campain
Morrow D Flosi
Wickens O Gillian
Antonio Z Shinko
Darci N Royster
Ricardo I Caudy
Claire N Marrier
Jennifer I Gillian
Maisha G Stenseth
Stacey D Tollner
Mujtaba Q Shinko
Silvio B Sergi
Jennifer K Dilliard
Munro S Dilliard
Smith L Doe
Sinclair P Stockham
Jones H Albares
Arvin P Malet
Tony N Doe
Misaki T Marrier
Jennifer D Caudy
David G Ruta
Murillo E Wieser
Greenwood T Maclead
Nicolas R Nicka
Ivar H Schemmer
Mayumi S Marrier
Sinclair D Vocelka
Wickens N Caudy
Cody Z Campain
Darci R Rulapaugh
Sinclair T Stockham
Greenwood L Ruta
Jeanfrancois P Briddick
IdCountryDate
1000United Kingdom2025-10-03
1001Argentina2025-10-10
1002Russia2025-10-06
1003Canada2025-09-17
1004Germany2025-09-29
1005Canada2025-09-26
1006Italy2025-10-03
1007India2025-09-29
1008Brazil2025-09-30
1009Australia2025-10-02
1010India2025-10-08
1011Italy2025-10-05
1012Russia2025-10-09
1013Australia2025-09-19
1014France2025-10-05
1015India2025-10-01
1016Argentina2025-10-04
1017Spain2025-09-30
1018Argentina2025-10-02
1019United Kingdom2025-09-19
1020India2025-09-18
1021Japan2025-09-27
1022Italy2025-09-16
1023France2025-10-04
1024Brazil2025-09-24
1025Argentina2025-10-06
1026Germany2025-09-17
1027Russia2025-09-25
1028Canada2025-09-16
1029India2025-10-03
1030India2025-09-13
1031Japan2025-10-07
1032Spain2025-10-12
1033Brazil2025-10-04
1034United Kingdom2025-09-28
1035Italy2025-09-28
1036Russia2025-09-20
1037Argentina2025-09-28
1038Spain2025-09-23
1039Germany2025-09-15
1040United Kingdom2025-09-18
1041United Kingdom2025-10-04
1042Japan2025-09-29
1043India2025-10-01
1044France2025-09-21
1045Germany2025-09-19
1046Japan2025-10-09
1047France2025-09-15
1048Russia2025-10-09
1049Japan2025-09-14

On-Demand Data

NameIdCountryDate
Wickens T Malet1000France2025-09-21
Costa E Shinko1001Japan2025-09-29
Claire C Nicka1002Brazil2025-10-08
Morrow X Vocelka1003United Kingdom2025-09-25
Rodrigues L Paprocki1004Japan2025-09-14
Cody J Royster1005Brazil2025-10-09
Jennifer V Maclead1006Spain2025-10-05
Ricardo G Stockham1007France2025-09-19
Johnson O Campain1008Argentina2025-10-08
Salvatore V Dilliard1009Germany2025-10-03
Maisha P Maclead1010Brazil2025-10-06
Clifford Z Whobrey1011India2025-09-19
Maria C Albares1012Brazil2025-09-26
Leon I Stenseth1013Australia2025-10-01
Izzy Q Whobrey1014Spain2025-10-06
Smith A Kolmetz1015Russia2025-09-18
Adams X Whobrey1016Canada2025-09-22
Nicolas F Nicka1017Italy2025-10-10
Mayumi X Marrier1018Russia2025-10-08
Francesco J Darakjy1019France2025-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Y PerinGermanyOnyama Limba RENEWAL
Aruna V StockhamRussiaAmy Elsner RENEWAL
Aditya M StockhamBrazilElwin Sharvill PROPOSAL
James O TollnerRussiaAnna Fali PROPOSAL
Darci I InouyeGermanyElwin Sharvill RENEWAL
Nicolas Y GarufiItalyElwin Sharvill NEW
Cody E CaldareraRussiaIoni Bowcher RENEWAL
Chavez R GillianAustraliaIoni Bowcher NEGOTIATION
Isabel N GauchoAustraliaAmy Elsner UNQUALIFIED
Julie H MaletSpainXuxue Feng NEW
Nicolas I RulapaughJapanAnna Fali QUALIFIED
Arvin P BowleyItalyBernardo Dominic RENEWAL
Jefferson L RutaCanadaIvan Magalhaes QUALIFIED
Chavez F CampainSpainAmy Elsner UNQUALIFIED
Misaki J PerinUnited KingdomOnyama Limba PROPOSAL
Maisha N MorascaItalyStephen Shaw UNQUALIFIED
Alejandro L NickaRussiaAmy Elsner PROPOSAL
Leja X WaycottBrazilIoni Bowcher NEGOTIATION
Silvio A WaycottAustraliaBernardo Dominic QUALIFIED
Kadeem X GarufiRussiaAsiya Javayant NEW
David Y PoquetteBrazilAnna Fali NEW
Aditya Y ChuiBrazilAsiya Javayant NEGOTIATION
Antonio K VocelkaItalyStephen Shaw QUALIFIED
Cody C SergiIndiaElwin Sharvill PROPOSAL
Ashley W FigeroaGermanyAnna Fali PROPOSAL
Maria B BologniaIndiaAmy Elsner UNQUALIFIED
Tony P KuskoArgentinaXuxue Feng UNQUALIFIED
Rodrigues W GlickBrazilIvan Magalhaes RENEWAL
Morrow A RutaItalyAnna Fali NEGOTIATION
Kaitlin L MarrierFranceStephen Shaw NEW
Kaitlin O GillianFranceOnyama Limba RENEWAL
Murillo U GarufiItalyXuxue Feng RENEWAL
Darci B BowleyRussiaIoni Bowcher NEGOTIATION
Julie O StensethSpainElwin Sharvill RENEWAL
Aruna B OldroydJapanOnyama Limba UNQUALIFIED
Kadeem L AlbaresRussiaBernardo Dominic NEW
Arvin J KolmetzGermanyElwin Sharvill NEW
Maisha I RoysterIndiaBernardo Dominic RENEWAL
Greenwood Z OldroydFranceAsiya Javayant RENEWAL
Sinclair Y StockhamIndiaElwin Sharvill NEGOTIATION

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