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
Maria B RulapaughFranceXuxue Feng NEGOTIATION
Izzy G PoquetteGermanyOnyama Limba PROPOSAL
Rodrigues X StensethItalyIvan Magalhaes RENEWAL
Darci A VenereCanadaAsiya Javayant QUALIFIED
Maria K GillianArgentinaAsiya Javayant NEGOTIATION
Wickens N SlusarskiJapanStephen Shaw RENEWAL
Costa B WieserAustraliaIoni Bowcher NEGOTIATION
Darci Z SergiGermanyAnna Fali NEW
Francesco U MarrierUnited KingdomElwin Sharvill QUALIFIED
Munro E GillianUnited KingdomAmy Elsner PROPOSAL
Arvin U IturbideCanadaOnyama Limba UNQUALIFIED
Silvio Z OstroskySpainAnna Fali RENEWAL
Arvin Y SlusarskiIndiaOnyama Limba NEW
Jefferson P SergiFranceElwin Sharvill QUALIFIED
Izzy L CaldareraAustraliaAsiya Javayant QUALIFIED
Jones O MaletItalyElwin Sharvill UNQUALIFIED
David W PoquetteUnited KingdomOnyama Limba PROPOSAL
Maria Q StensethJapanElwin Sharvill NEGOTIATION
Costa W RimGermanyAmy Elsner UNQUALIFIED
Kadeem M CaudySpainOnyama Limba RENEWAL
Leon U PoquetteItalyIvan Magalhaes UNQUALIFIED
Costa M BriddickUnited KingdomAmy Elsner PROPOSAL
Faith H GlickUnited KingdomStephen Shaw PROPOSAL
David I GarufiUnited KingdomOnyama Limba NEW
Clifford I RoysterArgentinaAsiya Javayant RENEWAL
Ivar D PerinAustraliaIoni Bowcher PROPOSAL
Johnson I SaylorsGermanyXuxue Feng QUALIFIED
Silvio S RutaFranceAmy Elsner RENEWAL
Leja N MaletArgentinaStephen Shaw NEW
Clifford C FerenczFranceOnyama Limba QUALIFIED
Salvatore I SergiFranceIvan Magalhaes NEGOTIATION
Ricardo K CampainJapanOnyama Limba QUALIFIED
Jennifer G StockhamUnited KingdomIvan Magalhaes RENEWAL
Alejandro V GauchoCanadaXuxue Feng UNQUALIFIED
Munro L NestleArgentinaBernardo Dominic QUALIFIED
Misaki U PoquetteArgentinaIvan Magalhaes NEGOTIATION
Darci F StensethFranceStephen Shaw QUALIFIED
Misaki X GillianAustraliaIvan Magalhaes NEGOTIATION
Arvin X GillianGermanyXuxue Feng NEGOTIATION
Maisha P IturbideCanadaIvan Magalhaes NEGOTIATION
Jones V DarakjyBrazilStephen Shaw NEW
Adams N SlusarskiRussiaXuxue Feng PROPOSAL
Rodrigues Q VocelkaAustraliaIvan Magalhaes NEW
Smith M GarufiSpainAmy Elsner RENEWAL
Mayumi S PoquetteSpainStephen Shaw PROPOSAL
Mayumi Q NickaArgentinaOnyama Limba NEGOTIATION
Ashley G NestleCanadaAnna Fali NEW
Jones B KuskoFranceXuxue Feng UNQUALIFIED
Tony D CaldareraGermanyXuxue Feng PROPOSAL
Salvatore F VenereAustraliaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody J VocelkaBrazilOnyama Limba UNQUALIFIED
Faith J MaletIndiaStephen Shaw NEGOTIATION
Jefferson H NickaArgentinaAsiya Javayant NEW
Leja R ChuiRussiaOnyama Limba QUALIFIED
James Q ChuiJapanStephen Shaw RENEWAL
Aruna D TollnerCanadaOnyama Limba UNQUALIFIED
Sinclair G FollerFranceOnyama Limba NEGOTIATION
Smith K MarrierItalyBernardo Dominic QUALIFIED
Adams W MaletAustraliaXuxue Feng QUALIFIED
Leon P PoquetteGermanyBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna U FlosiUnited Kingdom2025-10-12Morlong Associates QUALIFIED31Stephen Shaw
1001Sinclair J NickaItaly2025-10-03Dorl, James J Esq NEW56Amy Elsner
1002Emily T FlosiBrazil2025-09-24Chemel, James L Cpa NEW67Xuxue Feng
1003Emily R MaletItaly2025-09-27Benton, John B Jr UNQUALIFIED72Elwin Sharvill
1004Clifford X BologniaSpain2025-10-20King, Christopher A Esq RENEWAL69Stephen Shaw
1005Misaki U FerenczFrance2025-10-01Feiner Bros UNQUALIFIED38Elwin Sharvill
1006Johnson Z StockhamGermany2025-09-22Morlong Associates RENEWAL46Amy Elsner
1007Octavia P BriddickBrazil2025-10-18Rangoni Of Florence QUALIFIED58Elwin Sharvill
1008Ivar U MacleadIndia2025-09-27Morlong Associates RENEWAL9Stephen Shaw
1009Tony B StensethJapan2025-09-25Feltz Printing Service PROPOSAL40Asiya Javayant
1010Jeanfrancois J AmigonItaly2025-10-11Benton, John B Jr NEW62Onyama Limba
1011Emily O GillianBrazil2025-09-28Feltz Printing Service NEW38Asiya Javayant
1012Ivar N CaldareraArgentina2025-10-19Rangoni Of Florence PROPOSAL14Elwin Sharvill
1013Silvio V GauchoJapan2025-09-26Feiner Bros RENEWAL85Ioni Bowcher
1014Costa X GillianRussia2025-10-20Rousseaux, Michael Esq NEGOTIATION89Asiya Javayant
1015Munro E PoquetteCanada2025-10-15Morlong Associates NEGOTIATION21Amy Elsner
1016Greenwood S GarufiAustralia2025-10-01Printing Dimensions NEW44Asiya Javayant
1017Francesco K RimSpain2025-09-23Feiner Bros NEW16Elwin Sharvill
1018Francesco J FollerArgentina2025-10-04King, Christopher A Esq RENEWAL90Amy Elsner
1019Tony S SaylorsItaly2025-09-29Commercial Press UNQUALIFIED6Elwin Sharvill
1020Antonio A FerenczBrazil2025-10-03Commercial Press PROPOSAL59Amy Elsner
1021Ivar W AmigonAustralia2025-09-22Truhlar And Truhlar Attys NEW13Anna Fali
1022Clifford I InouyeJapan2025-10-01King, Christopher A Esq NEW84Xuxue Feng
1023Mujtaba W AmigonSpain2025-10-11Buckley Miller Wright NEW64Asiya Javayant
1024Morrow P StensethGermany2025-10-04Commercial Press NEGOTIATION11Xuxue Feng
1025Juan M BologniaCanada2025-10-02Truhlar And Truhlar Attys QUALIFIED52Asiya Javayant
1026Costa B SergiBrazil2025-10-13Rangoni Of Florence QUALIFIED13Ioni Bowcher
1027Morrow N SaylorsJapan2025-10-20Buckley Miller Wright QUALIFIED56Asiya Javayant
1028Clifford A VocelkaBrazil2025-09-23Benton, John B Jr QUALIFIED51Stephen Shaw
1029Claire D WaycottArgentina2025-10-11Morlong Associates RENEWAL66Asiya Javayant
1030Costa P GillianUnited Kingdom2025-10-20Benton, John B Jr QUALIFIED55Ioni Bowcher
1031Juan S ShinkoIndia2025-10-18Rousseaux, Michael Esq RENEWAL86Asiya Javayant
1032Munro O RimGermany2025-09-24Chapman, Ross E Esq NEW22Stephen Shaw
1033Leon C WieserCanada2025-09-23Rangoni Of Florence QUALIFIED80Stephen Shaw
1034Munro T RimSpain2025-10-04Rangoni Of Florence PROPOSAL92Anna Fali
1035Adams H MacleadJapan2025-10-04Chapman, Ross E Esq QUALIFIED33Xuxue Feng
1036Maisha S BologniaUnited Kingdom2025-10-15Truhlar And Truhlar Attys NEW68Ioni Bowcher
1037Kadeem R SergiCanada2025-10-02Benton, John B Jr QUALIFIED31Asiya Javayant
1038Stacey B WhobreyUnited Kingdom2025-10-06Buckley Miller Wright PROPOSAL84Stephen Shaw
1039Murillo G IturbideAustralia2025-10-01Truhlar And Truhlar Attys PROPOSAL73Elwin Sharvill
1040Emily B RimFrance2025-10-14Chemel, James L Cpa PROPOSAL46Elwin Sharvill
1041Jennifer A SlusarskiRussia2025-10-04Rangoni Of Florence PROPOSAL50Ioni Bowcher
1042Juan G AmigonBrazil2025-09-25Feiner Bros UNQUALIFIED28Asiya Javayant
1043Kadeem I MarrierRussia2025-10-15Chemel, James L Cpa PROPOSAL32Ioni Bowcher
1044Wickens C GillianSpain2025-09-27Morlong Associates UNQUALIFIED57Anna Fali
1045Maisha Z AmigonIndia2025-10-02Buckley Miller Wright UNQUALIFIED97Xuxue Feng
1046Kaitlin E RulapaughAustralia2025-10-03King, Christopher A Esq NEGOTIATION5Amy Elsner
1047Nicolas U BowleyFrance2025-10-16Benton, John B Jr QUALIFIED66Ivan Magalhaes
1048Smith Q SlusarskiBrazil2025-09-28Commercial Press NEGOTIATION16Ivan Magalhaes
1049Kadeem B BriddickCanada2025-10-04Truhlar And Truhlar Attys RENEWAL84Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey X StockhamIndiaElwin Sharvill RENEWAL
Julie F IturbideBrazilBernardo Dominic RENEWAL
Munro G SergiCanadaIvan Magalhaes QUALIFIED
Francesco T GauchoIndiaAnna Fali RENEWAL
Adams Y CaldareraIndiaIoni Bowcher NEW
David E VenereUnited KingdomAnna Fali RENEWAL
Jefferson C PaprockiItalyBernardo Dominic PROPOSAL
Deepesh F WieserSpainAmy Elsner RENEWAL
Mujtaba D DoeAustraliaElwin Sharvill UNQUALIFIED
Ashley S DarakjyRussiaIvan Magalhaes PROPOSAL
Mayumi Z IturbideGermanyIoni Bowcher RENEWAL
Mujtaba T AmigonSpainBernardo Dominic RENEWAL
Misaki K FlosiAustraliaIvan Magalhaes NEW
Adams V WhobreyIndiaIvan Magalhaes NEW
Deepesh D ChuiJapanIoni Bowcher RENEWAL
Cody M GillianFranceBernardo Dominic UNQUALIFIED
Adams C VenereSpainIvan Magalhaes PROPOSAL
Arvin X FerenczCanadaAsiya Javayant PROPOSAL
Juan L FollerUnited KingdomIoni Bowcher NEW
Jennifer A SchemmerSpainIvan Magalhaes UNQUALIFIED
Ricardo T WaycottUnited KingdomStephen Shaw QUALIFIED
Misaki U FigeroaFranceBernardo Dominic RENEWAL
Nicolas F OldroydJapanOnyama Limba NEGOTIATION
Ricardo V SlusarskiBrazilAmy Elsner PROPOSAL
Julie G SaylorsItalyAnna Fali RENEWAL
Misaki P FigeroaRussiaBernardo Dominic QUALIFIED
Faith O SergiCanadaAmy Elsner NEGOTIATION
Aruna T GillianBrazilIoni Bowcher NEGOTIATION
Wickens C SergiArgentinaIvan Magalhaes PROPOSAL
Mujtaba M OldroydFranceAnna Fali PROPOSAL
Claire G IturbideItalyXuxue Feng RENEWAL
Leja T TollnerRussiaIoni Bowcher NEGOTIATION
David O KuskoUnited KingdomIoni Bowcher NEGOTIATION
Aditya Q PoquetteJapanOnyama Limba NEW
Wickens W WieserAustraliaAnna Fali RENEWAL
Faith F FigeroaCanadaBernardo Dominic UNQUALIFIED
Ivar Z FlosiRussiaIvan Magalhaes NEW
Aika J PerinCanadaIoni Bowcher RENEWAL
Mayumi N WaycottCanadaAmy Elsner NEW
Leja B ShinkoRussiaOnyama Limba NEGOTIATION
Octavia Y InouyeAustraliaStephen Shaw PROPOSAL
Octavia D WaycottSpainXuxue Feng QUALIFIED
Adams B KuskoFranceOnyama Limba RENEWAL
Alejandro A DarakjyBrazilStephen Shaw RENEWAL
David S KolmetzSpainAsiya Javayant PROPOSAL
Aditya U GarufiBrazilAnna Fali PROPOSAL
Darci B DilliardFranceAmy Elsner QUALIFIED
Wickens Y PerinCanadaAnna Fali UNQUALIFIED
Salvatore Y KuskoItalyXuxue Feng PROPOSAL
Aruna D PaprockiBrazilXuxue Feng UNQUALIFIED
Frozen Columns
Name
James U Briddick
Sinclair T Nicka
Smith H Rulapaugh
Ashley A Albares
Murillo J Amigon
Johnson Z Tollner
Johnson I Malet
Aika P Garufi
Murillo C Briddick
Jeanfrancois X Chui
Octavia L Butt
Sinclair Q Saylors
Jefferson W Chui
Jones Y Paprocki
Julie A Caldarera
Jeanfrancois D Inouye
Arvin T Wieser
Tony J Maclead
Jefferson J Butt
Aruna R Figeroa
Julie O Caldarera
Jefferson P Ostrosky
Adams I Malet
Emily F Foller
Ivar B Vocelka
Salvatore F Paprocki
Antonio D Butt
Wickens B Whobrey
Deepesh V Waycott
Stacey V Rim
Rodrigues X Briddick
Wickens M Bolognia
Maria G Darakjy
Maria D Waycott
Aika X Wieser
Faith A Amigon
David B Perin
Aditya Z Flosi
Cody M Royster
David D Oldroyd
Francesco N Oldroyd
Darci Y Bolognia
Tony C Campain
Clifford C Stenseth
Nicolas G Bolognia
Johnson L Morasca
Arvin Q Flosi
Izzy R Malet
Julie J Marrier
Alejandro F Briddick
IdCountryDate
1000Germany2025-10-15
1001Russia2025-09-27
1002France2025-10-03
1003Japan2025-10-15
1004India2025-10-12
1005Spain2025-10-18
1006Spain2025-10-17
1007Italy2025-10-10
1008Argentina2025-10-02
1009Japan2025-10-03
1010Australia2025-10-14
1011United Kingdom2025-09-29
1012Brazil2025-09-27
1013Argentina2025-10-01
1014Brazil2025-10-21
1015Italy2025-10-04
1016Italy2025-10-10
1017Italy2025-10-08
1018Argentina2025-09-30
1019United Kingdom2025-10-10
1020Italy2025-10-14
1021Russia2025-10-21
1022Argentina2025-10-03
1023Italy2025-10-21
1024Germany2025-10-04
1025Canada2025-09-26
1026Australia2025-10-06
1027Argentina2025-10-09
1028Brazil2025-10-12
1029Spain2025-09-28
1030Canada2025-10-05
1031Canada2025-10-15
1032Australia2025-10-21
1033Italy2025-10-12
1034Australia2025-10-17
1035France2025-09-30
1036Russia2025-09-27
1037France2025-10-17
1038Spain2025-10-15
1039United Kingdom2025-09-27
1040Canada2025-09-26
1041India2025-10-19
1042Germany2025-09-24
1043Japan2025-09-23
1044France2025-10-10
1045Argentina2025-09-28
1046United Kingdom2025-10-18
1047France2025-10-05
1048Brazil2025-10-19
1049Japan2025-10-20

On-Demand Data

NameIdCountryDate
Misaki C Amigon1000Canada2025-10-06
Alejandro P Flosi1001United Kingdom2025-09-24
Silvio C Marrier1002United Kingdom2025-10-06
Ashley A Venere1003Australia2025-10-09
Octavia U Figeroa1004Brazil2025-09-23
Salvatore N Ostrosky1005Russia2025-09-25
Jeanfrancois O Figeroa1006Argentina2025-10-09
Ashley R Poquette1007Russia2025-10-10
Julie F Foller1008Spain2025-09-24
Nicolas K Marrier1009Japan2025-09-24
Ashley J Waycott1010United Kingdom2025-10-10
Claire C Royster1011United Kingdom2025-10-18
Francesco V Rulapaugh1012Canada2025-10-07
Alejandro G Bowley1013Russia2025-09-30
Alejandro V Malet1014Spain2025-10-21
Kaitlin N Poquette1015India2025-10-10
Claire S Iturbide1016Canada2025-10-17
Izzy N Vocelka1017Australia2025-10-15
Sinclair J Caldarera1018Spain2025-09-27
James W Maclead1019Argentina2025-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily A WieserFranceAmy Elsner QUALIFIED
Kaitlin A KuskoUnited KingdomBernardo Dominic RENEWAL
Rodrigues X WieserGermanyAnna Fali NEGOTIATION
Wickens P RulapaughGermanyXuxue Feng QUALIFIED
Maisha G StensethItalyXuxue Feng PROPOSAL
Silvio C VenereArgentinaAsiya Javayant NEGOTIATION
Darci Z GauchoIndiaXuxue Feng UNQUALIFIED
Isabel E DilliardGermanyOnyama Limba PROPOSAL
Chavez F WhobreyRussiaAnna Fali PROPOSAL
Aika R SchemmerIndiaAmy Elsner NEW
Munro T TollnerSpainElwin Sharvill NEW
Wickens U FigeroaRussiaOnyama Limba UNQUALIFIED
Aika X BowleyRussiaIoni Bowcher QUALIFIED
Izzy Q DilliardSpainIoni Bowcher PROPOSAL
Emily V PerinItalyBernardo Dominic NEGOTIATION
Greenwood L WaycottUnited KingdomAmy Elsner NEGOTIATION
Jefferson Z CampainSpainAnna Fali UNQUALIFIED
Misaki R BriddickAustraliaAmy Elsner NEGOTIATION
Morrow Y ButtAustraliaXuxue Feng QUALIFIED
David Z DarakjyIndiaBernardo Dominic PROPOSAL
Tony Y KuskoArgentinaAmy Elsner UNQUALIFIED
Deepesh F KuskoIndiaIoni Bowcher UNQUALIFIED
Mujtaba O WieserRussiaBernardo Dominic UNQUALIFIED
Morrow T NickaGermanyXuxue Feng NEGOTIATION
Faith Q CampainSpainIoni Bowcher UNQUALIFIED
Octavia P SchemmerJapanXuxue Feng PROPOSAL
Kadeem V MaletIndiaXuxue Feng NEW
Juan Z MarrierAustraliaXuxue Feng NEGOTIATION
Morrow G ShinkoIndiaIoni Bowcher QUALIFIED
Ivar U ShinkoArgentinaOnyama Limba NEGOTIATION
Julie X AmigonRussiaIoni Bowcher QUALIFIED
Francesco P SchemmerGermanyIvan Magalhaes QUALIFIED
Aika Z MarrierCanadaOnyama Limba PROPOSAL
Francesco E CaudyAustraliaAsiya Javayant NEGOTIATION
Claire K GauchoIndiaBernardo Dominic RENEWAL
Cody Y BologniaSpainAmy Elsner NEW
Nicolas Q MaletJapanElwin Sharvill NEW
David S VenereIndiaAsiya Javayant NEGOTIATION
Johnson G PaprockiCanadaOnyama Limba QUALIFIED
Jones Z KolmetzUnited KingdomAsiya Javayant 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>