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 T WhobreyUnited KingdomXuxue Feng RENEWAL
Emily C VenereFranceStephen Shaw RENEWAL
Jeanfrancois H MaletIndiaIoni Bowcher NEGOTIATION
Murillo E FerenczFranceStephen Shaw PROPOSAL
Emily L OstroskyFranceOnyama Limba RENEWAL
Greenwood H DarakjyGermanyOnyama Limba UNQUALIFIED
Nicolas I RutaFranceBernardo Dominic NEW
Rodrigues Q GlickAustraliaBernardo Dominic QUALIFIED
Costa O TollnerRussiaBernardo Dominic PROPOSAL
Mujtaba U GauchoCanadaIvan Magalhaes UNQUALIFIED
Wickens I StockhamSpainOnyama Limba RENEWAL
Isabel G CaldareraBrazilStephen Shaw PROPOSAL
Juan D VenereGermanyAmy Elsner RENEWAL
Antonio R DilliardBrazilElwin Sharvill NEW
Jones W GillianCanadaIvan Magalhaes RENEWAL
Jennifer N DoeAustraliaStephen Shaw PROPOSAL
Rodrigues P RutaFranceStephen Shaw RENEWAL
James H StensethRussiaElwin Sharvill NEGOTIATION
Ricardo B GillianJapanStephen Shaw QUALIFIED
Tony T WieserItalyIoni Bowcher RENEWAL
Munro V MaletJapanIoni Bowcher NEW
Isabel O KuskoFranceIvan Magalhaes NEW
Murillo F PoquetteBrazilIvan Magalhaes NEGOTIATION
Jennifer L AlbaresSpainStephen Shaw NEW
Ashley N StensethSpainAnna Fali RENEWAL
Claire I VenereFranceStephen Shaw UNQUALIFIED
Jeanfrancois A NickaIndiaAmy Elsner UNQUALIFIED
Salvatore N CaldareraUnited KingdomAsiya Javayant PROPOSAL
Mujtaba J GlickIndiaAmy Elsner RENEWAL
Kaitlin Y WhobreyJapanIoni Bowcher RENEWAL
Juan T AmigonJapanAnna Fali NEW
Munro L OstroskyFranceXuxue Feng UNQUALIFIED
Ricardo J IturbideIndiaAsiya Javayant PROPOSAL
James L MacleadIndiaAmy Elsner QUALIFIED
Emily O SlusarskiBrazilIvan Magalhaes RENEWAL
Deepesh P FlosiAustraliaStephen Shaw PROPOSAL
David N FerenczBrazilAsiya Javayant NEW
Francesco G AlbaresAustraliaOnyama Limba UNQUALIFIED
Adams K PerinFranceIoni Bowcher NEW
Darci W ShinkoItalyXuxue Feng NEW
Ivar C VenereGermanyStephen Shaw PROPOSAL
Ricardo J StockhamGermanyAnna Fali NEW
Adams D AmigonItalyAsiya Javayant PROPOSAL
Maisha E DarakjyBrazilAmy Elsner NEW
Murillo C KuskoSpainIoni Bowcher NEGOTIATION
Cody X KolmetzItalyStephen Shaw UNQUALIFIED
Jefferson D RutaBrazilAsiya Javayant RENEWAL
Murillo N PerinSpainStephen Shaw NEW
Jennifer T VenereBrazilIoni Bowcher NEW
Smith P FollerBrazilAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan B RutaRussiaXuxue Feng PROPOSAL
Kaitlin L GillianRussiaOnyama Limba RENEWAL
Jennifer L ChuiIndiaAmy Elsner RENEWAL
Munro X PerinRussiaBernardo Dominic RENEWAL
Mayumi S RutaItalyIoni Bowcher RENEWAL
Faith Q NestleCanadaOnyama Limba NEW
Costa A PaprockiItalyAsiya Javayant NEW
Greenwood W BologniaJapanAsiya Javayant NEGOTIATION
David V VocelkaItalyAsiya Javayant QUALIFIED
Juan T AmigonAustraliaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel I CaldareraAustralia2025-10-06Chapman, Ross E Esq PROPOSAL6Elwin Sharvill
1001Clifford P MarrierAustralia2025-10-18Printing Dimensions QUALIFIED26Ivan Magalhaes
1002Mujtaba I KuskoSpain2025-10-19Feiner Bros QUALIFIED62Asiya Javayant
1003Maria O GauchoAustralia2025-10-10King, Christopher A Esq NEW43Bernardo Dominic
1004Chavez V GauchoIndia2025-10-06Dorl, James J Esq RENEWAL88Asiya Javayant
1005Munro K WieserItaly2025-10-11Rousseaux, Michael Esq NEGOTIATION12Bernardo Dominic
1006Francesco W InouyeIndia2025-09-30Morlong Associates RENEWAL18Amy Elsner
1007Greenwood B CaldareraIndia2025-10-17Buckley Miller Wright UNQUALIFIED14Amy Elsner
1008Antonio K PaprockiRussia2025-10-15Feltz Printing Service QUALIFIED58Bernardo Dominic
1009Clifford W RoysterUnited Kingdom2025-09-25King, Christopher A Esq RENEWAL68Elwin Sharvill
1010Jennifer M GlickArgentina2025-10-02King, Christopher A Esq RENEWAL34Elwin Sharvill
1011Leon D MaletAustralia2025-09-22Truhlar And Truhlar Attys NEGOTIATION26Bernardo Dominic
1012Maisha A AmigonIndia2025-09-23Rangoni Of Florence UNQUALIFIED68Anna Fali
1013Ivar A CaldareraArgentina2025-10-19Feiner Bros NEW26Ivan Magalhaes
1014Costa A AlbaresArgentina2025-10-13Chanay, Jeffrey A Esq QUALIFIED70Bernardo Dominic
1015Tony F FerenczUnited Kingdom2025-09-22Benton, John B Jr NEW87Elwin Sharvill
1016Isabel G BowleyGermany2025-10-17Chapman, Ross E Esq QUALIFIED52Anna Fali
1017Jeanfrancois A AlbaresIndia2025-09-23King, Christopher A Esq UNQUALIFIED1Asiya Javayant
1018Chavez Q RutaAustralia2025-10-10Chemel, James L Cpa RENEWAL52Ivan Magalhaes
1019Salvatore R RutaRussia2025-10-13Feltz Printing Service PROPOSAL30Onyama Limba
1020Aditya V CaldareraSpain2025-10-07Feiner Bros PROPOSAL81Bernardo Dominic
1021Costa J OldroydCanada2025-10-15Dorl, James J Esq QUALIFIED74Onyama Limba
1022Julie G NestleIndia2025-09-22Rousseaux, Michael Esq UNQUALIFIED59Xuxue Feng
1023Cody E FlosiFrance2025-09-26King, Christopher A Esq NEGOTIATION98Anna Fali
1024Smith U BriddickSpain2025-10-03King, Christopher A Esq PROPOSAL38Anna Fali
1025Tony A FigeroaCanada2025-09-27Truhlar And Truhlar Attys UNQUALIFIED48Onyama Limba
1026Mujtaba Q PaprockiCanada2025-09-26King, Christopher A Esq NEGOTIATION40Xuxue Feng
1027Izzy R CampainSpain2025-09-25Rousseaux, Michael Esq PROPOSAL45Anna Fali
1028Isabel N AlbaresAustralia2025-10-12Rangoni Of Florence NEGOTIATION88Elwin Sharvill
1029Misaki Y StockhamArgentina2025-09-24Feltz Printing Service NEW58Amy Elsner
1030Emily Y SaylorsAustralia2025-09-23Feltz Printing Service UNQUALIFIED10Onyama Limba
1031Misaki Z DilliardAustralia2025-09-30Printing Dimensions NEGOTIATION70Ivan Magalhaes
1032Maria P MarrierGermany2025-10-02Dorl, James J Esq NEW35Stephen Shaw
1033Claire Z SchemmerSpain2025-09-23Dorl, James J Esq RENEWAL50Bernardo Dominic
1034Jennifer C BowleyUnited Kingdom2025-09-22Printing Dimensions NEW4Elwin Sharvill
1035Tony K PerinFrance2025-10-01Chanay, Jeffrey A Esq PROPOSAL24Xuxue Feng
1036Smith Q AlbaresFrance2025-09-29Chemel, James L Cpa NEW10Asiya Javayant
1037Silvio Q MorascaCanada2025-10-10Feiner Bros UNQUALIFIED43Xuxue Feng
1038Tony Q CaldareraGermany2025-09-22Truhlar And Truhlar Attys NEGOTIATION80Anna Fali
1039Alejandro D SchemmerSpain2025-10-04Chanay, Jeffrey A Esq PROPOSAL7Bernardo Dominic
1040Faith P GlickSpain2025-09-20King, Christopher A Esq QUALIFIED3Amy Elsner
1041Misaki W RulapaughUnited Kingdom2025-10-12Feiner Bros PROPOSAL24Amy Elsner
1042Wickens M StensethUnited Kingdom2025-10-11Chapman, Ross E Esq QUALIFIED41Stephen Shaw
1043Alejandro N NickaFrance2025-10-18Truhlar And Truhlar Attys NEGOTIATION37Xuxue Feng
1044Wickens I ShinkoCanada2025-09-28Chemel, James L Cpa RENEWAL47Elwin Sharvill
1045Izzy F RulapaughFrance2025-09-23Feltz Printing Service RENEWAL50Xuxue Feng
1046Aditya P IturbideGermany2025-10-16Printing Dimensions NEW42Asiya Javayant
1047Ivar O CaudyIndia2025-09-27Chanay, Jeffrey A Esq NEW28Elwin Sharvill
1048Octavia R ChuiBrazil2025-09-30Buckley Miller Wright NEW59Asiya Javayant
1049Wickens I ChuiBrazil2025-09-22King, Christopher A Esq RENEWAL11Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody P FigeroaBrazilAmy Elsner PROPOSAL
Aika F DoeCanadaOnyama Limba QUALIFIED
Greenwood G FollerCanadaXuxue Feng RENEWAL
Faith J AlbaresItalyAsiya Javayant QUALIFIED
Munro M RimArgentinaAnna Fali NEGOTIATION
Leon R CaldareraSpainStephen Shaw PROPOSAL
Morrow I CampainIndiaAnna Fali NEW
Alejandro X MacleadIndiaStephen Shaw QUALIFIED
Faith H GarufiFranceAsiya Javayant NEGOTIATION
Silvio O SlusarskiArgentinaAnna Fali QUALIFIED
Sinclair H MaletCanadaXuxue Feng QUALIFIED
Silvio A SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Izzy R InouyeGermanyAsiya Javayant PROPOSAL
Antonio J FlosiArgentinaAmy Elsner NEW
Morrow Q StockhamGermanyStephen Shaw NEW
Darci O NickaBrazilElwin Sharvill UNQUALIFIED
Costa Y WhobreyItalyOnyama Limba RENEWAL
Misaki O AmigonItalyOnyama Limba NEGOTIATION
Morrow Z KuskoAustraliaElwin Sharvill NEGOTIATION
Jefferson I DilliardItalyStephen Shaw NEGOTIATION
Antonio F FerenczIndiaStephen Shaw NEW
Salvatore Z FigeroaRussiaAmy Elsner PROPOSAL
Ivar G OldroydSpainOnyama Limba NEW
Misaki J InouyeCanadaElwin Sharvill PROPOSAL
Faith T GarufiItalyAsiya Javayant PROPOSAL
Murillo U AmigonJapanIoni Bowcher QUALIFIED
James Q DilliardJapanIoni Bowcher PROPOSAL
Antonio H AmigonJapanIoni Bowcher RENEWAL
James N OldroydIndiaBernardo Dominic NEGOTIATION
Mayumi W AlbaresAustraliaIvan Magalhaes QUALIFIED
Nicolas I ChuiItalyStephen Shaw RENEWAL
Aruna M FerenczAustraliaAnna Fali QUALIFIED
Claire F BowleySpainBernardo Dominic QUALIFIED
Octavia Y DilliardFranceElwin Sharvill PROPOSAL
Ashley Z ChuiSpainBernardo Dominic RENEWAL
Antonio Y OstroskyRussiaAnna Fali NEW
David F SaylorsCanadaIvan Magalhaes UNQUALIFIED
Kadeem E TollnerFranceOnyama Limba RENEWAL
Arvin D StensethBrazilAsiya Javayant PROPOSAL
Kadeem X RutaSpainAmy Elsner RENEWAL
Sinclair O MacleadCanadaIvan Magalhaes PROPOSAL
Johnson H FigeroaRussiaStephen Shaw RENEWAL
Aika U MaletFranceXuxue Feng UNQUALIFIED
Ashley X RulapaughRussiaAsiya Javayant PROPOSAL
Aika B NestleIndiaIoni Bowcher UNQUALIFIED
Rodrigues O FigeroaAustraliaAsiya Javayant RENEWAL
Munro D CaldareraIndiaOnyama Limba RENEWAL
Sinclair X StockhamSpainIoni Bowcher NEGOTIATION
Alejandro E NestleSpainAmy Elsner PROPOSAL
Juan H FigeroaUnited KingdomOnyama Limba RENEWAL
Frozen Columns
Name
Jones B Caudy
Misaki D Malet
Jones C Campain
Claire L Stenseth
Jennifer O Morasca
Aruna R Waycott
James V Kusko
Sinclair Q Waycott
Ricardo L Inouye
Kadeem R Schemmer
Darci W Garufi
Claire R Dilliard
Costa D Glick
Leja D Caldarera
Aika L Dilliard
Mayumi C Sergi
Kaitlin V Gaucho
Stacey T Butt
Smith O Ruta
Deepesh S Waycott
Costa A Rim
Munro F Caldarera
Nicolas F Glick
Julie Y Royster
Jones E Flosi
Deepesh U Caldarera
David B Ruta
Faith X Poquette
Costa P Albares
James S Paprocki
James M Waycott
Isabel E Kusko
Jeanfrancois T Ruta
Francesco W Chui
Isabel A Schemmer
Silvio C Amigon
Antonio R Figeroa
Mujtaba E Nestle
Maisha E Malet
Maisha K Campain
Misaki J Gillian
Greenwood J Paprocki
Mayumi S Gillian
Aruna E Ostrosky
Costa V Albares
Tony C Figeroa
Leon M Briddick
Arvin K Campain
Emily Z Perin
Greenwood M Ferencz
IdCountryDate
1000France2025-10-17
1001Italy2025-09-25
1002Russia2025-09-20
1003Australia2025-09-29
1004France2025-10-11
1005Argentina2025-09-28
1006Argentina2025-10-13
1007Argentina2025-09-24
1008United Kingdom2025-10-16
1009Italy2025-09-30
1010Italy2025-09-21
1011Argentina2025-10-05
1012Germany2025-10-11
1013India2025-09-20
1014India2025-09-22
1015Russia2025-10-18
1016Canada2025-09-23
1017India2025-10-15
1018Germany2025-10-04
1019Germany2025-09-22
1020Argentina2025-09-24
1021Australia2025-10-05
1022Italy2025-10-03
1023Russia2025-09-26
1024Italy2025-10-19
1025France2025-10-04
1026United Kingdom2025-10-04
1027Australia2025-10-08
1028France2025-10-06
1029Brazil2025-09-24
1030Japan2025-10-10
1031Australia2025-10-05
1032Spain2025-09-27
1033Canada2025-10-03
1034Italy2025-09-22
1035Russia2025-10-10
1036Italy2025-09-25
1037India2025-10-04
1038France2025-09-24
1039Argentina2025-10-04
1040Japan2025-09-28
1041Brazil2025-10-18
1042Italy2025-10-14
1043Italy2025-10-05
1044Germany2025-09-27
1045Germany2025-09-20
1046Italy2025-09-21
1047Australia2025-09-21
1048United Kingdom2025-09-21
1049Italy2025-09-30

On-Demand Data

NameIdCountryDate
Tony K Nestle1000Australia2025-10-02
David Z Stenseth1001Australia2025-10-02
Alejandro F Royster1002Australia2025-10-01
Stacey E Stenseth1003Russia2025-10-14
Adams Q Amigon1004France2025-09-29
Johnson J Ostrosky1005Spain2025-10-05
Salvatore R Dilliard1006Argentina2025-09-25
Deepesh E Royster1007Italy2025-10-10
Darci M Venere1008Russia2025-10-15
Greenwood G Tollner1009India2025-10-15
Aika S Flosi1010Spain2025-09-22
Julie X Ruta1011Australia2025-10-02
Claire B Stenseth1012Australia2025-10-17
James W Marrier1013Italy2025-09-23
Smith W Ferencz1014Spain2025-10-12
Salvatore L Albares1015Germany2025-09-28
Maria O Royster1016Russia2025-09-27
Nicolas A Stockham1017Australia2025-10-05
Aruna H Poquette1018Australia2025-09-27
Arvin R Glick1019Argentina2025-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar U PoquetteJapanAnna Fali QUALIFIED
Maria H BologniaBrazilElwin Sharvill RENEWAL
Kadeem L AmigonItalyAmy Elsner QUALIFIED
Maria S FerenczSpainOnyama Limba NEW
Jennifer R MacleadRussiaIoni Bowcher RENEWAL
Juan L InouyeIndiaAnna Fali RENEWAL
Clifford Z TollnerUnited KingdomAsiya Javayant NEW
Francesco E BriddickIndiaIvan Magalhaes QUALIFIED
Salvatore Q DoeJapanXuxue Feng NEGOTIATION
Jones J CaldareraArgentinaBernardo Dominic NEGOTIATION
Izzy U PaprockiFranceOnyama Limba NEGOTIATION
Francesco N VenereJapanXuxue Feng NEW
James E FerenczGermanyIoni Bowcher PROPOSAL
Wickens K ButtArgentinaElwin Sharvill UNQUALIFIED
Stacey O DoeSpainElwin Sharvill NEW
Aditya D SergiFranceStephen Shaw NEW
Misaki S SergiItalyIoni Bowcher QUALIFIED
Aruna I RoysterUnited KingdomXuxue Feng QUALIFIED
Chavez G WieserAustraliaAnna Fali PROPOSAL
Maisha A CaudySpainIvan Magalhaes NEW
Francesco I DilliardUnited KingdomStephen Shaw RENEWAL
James U CaldareraAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois G SergiIndiaBernardo Dominic PROPOSAL
Arvin G SergiRussiaStephen Shaw UNQUALIFIED
Sinclair J OstroskyBrazilIvan Magalhaes PROPOSAL
Munro O BologniaSpainAnna Fali PROPOSAL
Ashley Q RoysterAustraliaStephen Shaw NEW
Deepesh V StockhamAustraliaAnna Fali QUALIFIED
Emily J FollerBrazilElwin Sharvill NEGOTIATION
Alejandro W PoquetteJapanIoni Bowcher NEW
Costa B ShinkoArgentinaElwin Sharvill NEW
Aruna C RoysterJapanStephen Shaw PROPOSAL
Mujtaba F ButtBrazilBernardo Dominic PROPOSAL
Claire D DilliardFranceBernardo Dominic NEGOTIATION
Alejandro P MacleadIndiaElwin Sharvill NEW
Faith R BowleyUnited KingdomStephen Shaw NEW
Antonio K MaletBrazilXuxue Feng PROPOSAL
Julie Q MaletGermanyAsiya Javayant NEGOTIATION
Julie E RoysterIndiaElwin Sharvill QUALIFIED
Jennifer N BologniaCanadaElwin Sharvill NEW

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