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
Jennifer W RulapaughFranceOnyama Limba NEW
James A SaylorsSpainStephen Shaw NEW
Mujtaba V RutaJapanElwin Sharvill NEGOTIATION
Mujtaba Z KuskoUnited KingdomStephen Shaw UNQUALIFIED
Costa I SchemmerIndiaAmy Elsner PROPOSAL
Rodrigues H OstroskyJapanIoni Bowcher RENEWAL
Chavez E StockhamBrazilOnyama Limba NEGOTIATION
Nicolas R PaprockiSpainAnna Fali RENEWAL
Stacey D BowleyCanadaAmy Elsner PROPOSAL
Emily N MacleadArgentinaIvan Magalhaes UNQUALIFIED
Leja Y ChuiBrazilOnyama Limba QUALIFIED
Faith S VocelkaFranceAsiya Javayant PROPOSAL
Kaitlin J SchemmerItalyAsiya Javayant UNQUALIFIED
Mayumi L OldroydArgentinaAmy Elsner PROPOSAL
Juan X IturbideItalyXuxue Feng UNQUALIFIED
Adams C MarrierArgentinaOnyama Limba NEW
Aika A SchemmerGermanyOnyama Limba RENEWAL
Greenwood X KolmetzAustraliaAsiya Javayant PROPOSAL
Francesco Q FigeroaJapanXuxue Feng UNQUALIFIED
Munro E RulapaughIndiaOnyama Limba NEW
Misaki O CaldareraAustraliaAsiya Javayant PROPOSAL
Silvio D ChuiIndiaIoni Bowcher UNQUALIFIED
Chavez Z TollnerBrazilAsiya Javayant RENEWAL
Clifford O DarakjyItalyXuxue Feng PROPOSAL
Maria C RutaSpainXuxue Feng QUALIFIED
Jefferson L RoysterArgentinaBernardo Dominic UNQUALIFIED
Silvio Z TollnerCanadaStephen Shaw QUALIFIED
Aika L ShinkoSpainIoni Bowcher NEW
Deepesh T PerinRussiaOnyama Limba QUALIFIED
James G InouyeFranceAmy Elsner QUALIFIED
James C WaycottGermanyStephen Shaw NEGOTIATION
Mujtaba N RoysterIndiaAmy Elsner PROPOSAL
Faith Y GlickArgentinaIoni Bowcher NEW
Salvatore F FigeroaBrazilOnyama Limba NEGOTIATION
Deepesh Q MorascaAustraliaElwin Sharvill NEGOTIATION
Leon G CaldareraAustraliaOnyama Limba QUALIFIED
James F DilliardFranceAnna Fali QUALIFIED
Aruna Z StensethIndiaOnyama Limba UNQUALIFIED
Mujtaba D CampainFranceXuxue Feng PROPOSAL
Jones I NestleUnited KingdomXuxue Feng NEGOTIATION
Leon O CampainUnited KingdomAnna Fali RENEWAL
Jennifer U MaletArgentinaIvan Magalhaes PROPOSAL
Aika T VenereRussiaElwin Sharvill UNQUALIFIED
Octavia N DilliardArgentinaOnyama Limba NEW
Costa D WhobreyUnited KingdomStephen Shaw QUALIFIED
Jennifer D VocelkaUnited KingdomBernardo Dominic RENEWAL
Smith I PaprockiAustraliaAnna Fali NEGOTIATION
David C SergiSpainBernardo Dominic PROPOSAL
Francesco B OstroskyBrazilIvan Magalhaes NEW
Murillo N PoquetteAustraliaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin P MorascaUnited KingdomOnyama Limba UNQUALIFIED
Jefferson G InouyeCanadaElwin Sharvill NEGOTIATION
Maisha U RutaSpainBernardo Dominic QUALIFIED
Rodrigues V GillianGermanyOnyama Limba RENEWAL
Ricardo R AmigonFranceIvan Magalhaes RENEWAL
Leja W MorascaSpainIoni Bowcher UNQUALIFIED
Munro M MacleadItalyAnna Fali NEGOTIATION
Costa R FigeroaUnited KingdomOnyama Limba NEW
Munro N BologniaArgentinaAsiya Javayant NEW
Johnson M SaylorsFranceOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy N MarrierArgentina2025-08-11Chapman, Ross E Esq PROPOSAL64Ioni Bowcher
1001Salvatore Q MarrierIndia2025-08-01Rousseaux, Michael Esq QUALIFIED45Onyama Limba
1002Jeanfrancois A RoysterItaly2025-07-27Chemel, James L Cpa NEGOTIATION55Ivan Magalhaes
1003Costa J BriddickSpain2025-08-03Chanay, Jeffrey A Esq QUALIFIED62Ivan Magalhaes
1004Aika H FollerJapan2025-08-03Rousseaux, Michael Esq RENEWAL58Stephen Shaw
1005Arvin Q SchemmerSpain2025-08-11Dorl, James J Esq NEGOTIATION34Ivan Magalhaes
1006Jeanfrancois X BowleyAustralia2025-08-13Rangoni Of Florence NEW76Xuxue Feng
1007Munro H DilliardFrance2025-08-05Chapman, Ross E Esq PROPOSAL65Onyama Limba
1008Misaki T SaylorsArgentina2025-07-30Printing Dimensions PROPOSAL83Ioni Bowcher
1009Mayumi B GauchoCanada2025-07-18Chemel, James L Cpa NEW28Amy Elsner
1010Octavia L VenereItaly2025-07-17Printing Dimensions UNQUALIFIED8Amy Elsner
1011Clifford W ButtCanada2025-07-22Commercial Press RENEWAL78Stephen Shaw
1012Salvatore R ShinkoAustralia2025-07-29Feltz Printing Service PROPOSAL13Asiya Javayant
1013Kadeem Q ChuiIndia2025-07-17Chapman, Ross E Esq RENEWAL23Amy Elsner
1014Silvio F WhobreyBrazil2025-07-15Chanay, Jeffrey A Esq NEGOTIATION93Elwin Sharvill
1015Juan N PoquetteArgentina2025-08-09Buckley Miller Wright NEGOTIATION91Elwin Sharvill
1016Sinclair P RimSpain2025-07-26Commercial Press RENEWAL5Anna Fali
1017Aruna D GarufiSpain2025-08-11Feltz Printing Service NEW43Anna Fali
1018Aika U RimRussia2025-07-17King, Christopher A Esq PROPOSAL82Xuxue Feng
1019Leon J FlosiAustralia2025-07-28Commercial Press UNQUALIFIED99Elwin Sharvill
1020Arvin Y BriddickArgentina2025-07-16King, Christopher A Esq PROPOSAL79Onyama Limba
1021Tony V AlbaresCanada2025-07-15Feltz Printing Service QUALIFIED73Stephen Shaw
1022James E MarrierIndia2025-07-28Commercial Press NEGOTIATION59Onyama Limba
1023Deepesh U RoysterFrance2025-08-05Buckley Miller Wright PROPOSAL95Xuxue Feng
1024Ivar O TollnerRussia2025-07-17King, Christopher A Esq NEGOTIATION4Xuxue Feng
1025Adams V BriddickItaly2025-07-31Morlong Associates RENEWAL44Ivan Magalhaes
1026Juan J KuskoJapan2025-08-09Rousseaux, Michael Esq NEGOTIATION90Onyama Limba
1027Tony N CaudyItaly2025-08-10Benton, John B Jr UNQUALIFIED23Bernardo Dominic
1028Claire F NestleFrance2025-08-06Chapman, Ross E Esq QUALIFIED66Stephen Shaw
1029Salvatore F PerinUnited Kingdom2025-07-20Feiner Bros RENEWAL18Anna Fali
1030Claire Q KuskoRussia2025-07-20Rangoni Of Florence RENEWAL41Ivan Magalhaes
1031Adams H SchemmerRussia2025-07-15Feiner Bros UNQUALIFIED89Elwin Sharvill
1032Stacey I StockhamFrance2025-07-18Chanay, Jeffrey A Esq PROPOSAL20Xuxue Feng
1033Mujtaba O PerinItaly2025-07-28Chanay, Jeffrey A Esq UNQUALIFIED97Stephen Shaw
1034Silvio O CaudyBrazil2025-07-17Feiner Bros NEGOTIATION43Ioni Bowcher
1035Julie H CaldareraUnited Kingdom2025-08-04Rousseaux, Michael Esq NEW16Bernardo Dominic
1036Ricardo Y SergiArgentina2025-07-27Buckley Miller Wright PROPOSAL75Elwin Sharvill
1037Ashley Q GauchoIndia2025-07-23Chemel, James L Cpa QUALIFIED36Asiya Javayant
1038Kaitlin E BologniaGermany2025-08-05Commercial Press RENEWAL99Anna Fali
1039Munro R GlickBrazil2025-08-04Commercial Press QUALIFIED91Onyama Limba
1040Clifford A FerenczRussia2025-07-23Chemel, James L Cpa NEW96Anna Fali
1041David R FigeroaIndia2025-08-12Feiner Bros NEW27Stephen Shaw
1042Aditya M MaletAustralia2025-07-15Chapman, Ross E Esq UNQUALIFIED88Xuxue Feng
1043Maisha G FlosiFrance2025-08-04Commercial Press NEW67Ioni Bowcher
1044Izzy V MacleadJapan2025-07-15King, Christopher A Esq UNQUALIFIED77Elwin Sharvill
1045Chavez Q TollnerJapan2025-08-09Benton, John B Jr PROPOSAL50Asiya Javayant
1046Mujtaba R CaldareraRussia2025-07-24Rangoni Of Florence UNQUALIFIED83Anna Fali
1047Isabel Z IturbideBrazil2025-07-27Morlong Associates PROPOSAL94Elwin Sharvill
1048Ashley M NestleUnited Kingdom2025-07-22Dorl, James J Esq RENEWAL55Elwin Sharvill
1049Nicolas K FerenczRussia2025-07-20Morlong Associates PROPOSAL32Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ivar O DoeCanadaIoni Bowcher QUALIFIED
Arvin D PoquetteGermanyIoni Bowcher UNQUALIFIED
Aika A TollnerGermanyAmy Elsner PROPOSAL
Arvin G TollnerGermanyAmy Elsner QUALIFIED
Octavia N VenereJapanBernardo Dominic PROPOSAL
Leon F MacleadJapanIoni Bowcher UNQUALIFIED
Morrow Q NickaItalyStephen Shaw RENEWAL
Ricardo I BriddickBrazilIvan Magalhaes NEGOTIATION
Francesco F OldroydBrazilAnna Fali RENEWAL
Morrow V VocelkaRussiaStephen Shaw PROPOSAL
Murillo C ShinkoArgentinaAmy Elsner NEGOTIATION
Deepesh S KolmetzArgentinaXuxue Feng QUALIFIED
David M MaletUnited KingdomElwin Sharvill RENEWAL
Aruna M AmigonUnited KingdomElwin Sharvill PROPOSAL
Izzy K ChuiSpainIvan Magalhaes QUALIFIED
Octavia B GauchoIndiaIoni Bowcher NEW
Sinclair G RoysterRussiaStephen Shaw UNQUALIFIED
Juan E StockhamBrazilIoni Bowcher NEW
Antonio D RoysterFranceIvan Magalhaes QUALIFIED
Isabel F AlbaresBrazilBernardo Dominic RENEWAL
Murillo L PaprockiIndiaAmy Elsner PROPOSAL
Ricardo H WaycottGermanyAsiya Javayant NEW
Leon N FerenczJapanIoni Bowcher QUALIFIED
Jeanfrancois H CaudyAustraliaStephen Shaw PROPOSAL
Isabel R IturbideRussiaIoni Bowcher PROPOSAL
Maisha H WhobreyItalyOnyama Limba RENEWAL
Murillo Q OldroydUnited KingdomElwin Sharvill NEW
Deepesh B BriddickArgentinaStephen Shaw NEGOTIATION
David B ShinkoUnited KingdomIoni Bowcher RENEWAL
Kaitlin I SchemmerAustraliaXuxue Feng NEW
Jones E VocelkaCanadaXuxue Feng NEW
Ricardo W RutaBrazilAsiya Javayant QUALIFIED
Ivar T NestleCanadaAsiya Javayant UNQUALIFIED
Aika H StockhamFranceBernardo Dominic NEW
David M ChuiUnited KingdomAnna Fali UNQUALIFIED
Salvatore E PerinFranceBernardo Dominic RENEWAL
Sinclair Z GlickFranceAsiya Javayant RENEWAL
Antonio Y SlusarskiSpainAnna Fali QUALIFIED
Wickens G PerinAustraliaAsiya Javayant PROPOSAL
Aika Y BriddickRussiaElwin Sharvill UNQUALIFIED
James Q KuskoJapanAmy Elsner UNQUALIFIED
Chavez Q StockhamSpainOnyama Limba RENEWAL
Rodrigues E StockhamUnited KingdomElwin Sharvill NEGOTIATION
Izzy V FlosiCanadaOnyama Limba NEW
Maisha C RoysterArgentinaOnyama Limba RENEWAL
Greenwood P CaudyItalyAsiya Javayant RENEWAL
Faith R CaldareraAustraliaAnna Fali UNQUALIFIED
Munro X RulapaughFranceAmy Elsner NEGOTIATION
Ashley Y SaylorsJapanElwin Sharvill UNQUALIFIED
Francesco W KuskoAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Mayumi A Nestle
Aruna R Figeroa
Johnson I Wieser
Aruna Q Schemmer
David T Inouye
Misaki A Nestle
Leja I Kolmetz
Smith S Figeroa
Alejandro T Chui
Faith Y Malet
Mayumi W Kusko
Misaki P Ferencz
Claire C Chui
Wickens Y Venere
Darci D Bowley
Aditya T Campain
Aditya I Bolognia
Morrow E Figeroa
Salvatore Z Nicka
Murillo E Albares
Antonio A Darakjy
Jones T Kolmetz
Johnson S Rim
Murillo A Chui
Antonio X Glick
Deepesh K Flosi
Jefferson K Doe
Costa P Dilliard
Wickens B Doe
Juan D Campain
Julie B Caudy
Mayumi J Darakjy
Darci D Gillian
Costa V Oldroyd
Ricardo Q Campain
Stacey L Garufi
Nicolas X Campain
Murillo Q Oldroyd
Faith G Ferencz
Darci P Ruta
Juan V Chui
Chavez E Caudy
Arvin O Caldarera
Murillo A Poquette
Antonio L Maclead
Arvin D Nestle
Sinclair K Amigon
Aditya D Poquette
Faith M Royster
Jones K Darakjy
IdCountryDate
1000Canada2025-07-15
1001Canada2025-08-11
1002India2025-07-30
1003United Kingdom2025-08-02
1004Italy2025-08-02
1005India2025-08-13
1006Canada2025-08-02
1007Russia2025-07-17
1008Russia2025-07-25
1009Spain2025-07-17
1010United Kingdom2025-07-20
1011Spain2025-08-05
1012Russia2025-08-08
1013India2025-07-27
1014India2025-07-30
1015India2025-07-22
1016Italy2025-08-12
1017India2025-08-08
1018Australia2025-07-19
1019Spain2025-07-30
1020United Kingdom2025-07-15
1021France2025-07-26
1022Argentina2025-07-24
1023Argentina2025-08-07
1024Germany2025-08-13
1025Brazil2025-07-27
1026Brazil2025-08-13
1027Canada2025-07-23
1028Brazil2025-08-10
1029Spain2025-08-02
1030Japan2025-07-30
1031Australia2025-08-09
1032Germany2025-08-07
1033United Kingdom2025-07-16
1034Brazil2025-07-29
1035Canada2025-08-11
1036Italy2025-08-11
1037Spain2025-08-02
1038Spain2025-07-24
1039Canada2025-08-07
1040Australia2025-07-24
1041Argentina2025-08-11
1042Brazil2025-07-28
1043India2025-07-31
1044Japan2025-07-15
1045Brazil2025-07-29
1046Russia2025-08-06
1047Japan2025-07-19
1048Brazil2025-07-15
1049Russia2025-08-12

On-Demand Data

NameIdCountryDate
Julie A Stenseth1000Argentina2025-08-04
Tony D Malet1001Japan2025-07-15
Costa K Caudy1002Germany2025-07-24
Emily X Bowley1003Canada2025-08-08
Rodrigues C Inouye1004Canada2025-08-04
Munro R Kolmetz1005Italy2025-08-12
Darci P Slusarski1006Australia2025-08-11
Juan W Sergi1007Russia2025-08-04
Clifford O Darakjy1008Russia2025-07-19
Salvatore F Inouye1009Canada2025-07-19
Claire M Maclead1010Japan2025-07-25
Ashley F Iturbide1011Russia2025-07-17
Octavia K Shinko1012India2025-07-25
Ivar Q Figeroa1013Canada2025-07-21
Rodrigues T Poquette1014Japan2025-08-10
Costa C Kolmetz1015France2025-08-05
Juan V Morasca1016India2025-07-23
Sinclair H Rim1017Australia2025-07-17
Munro T Iturbide1018India2025-08-12
Izzy M Caudy1019France2025-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie H GillianCanadaIoni Bowcher RENEWAL
Mayumi D SchemmerItalyOnyama Limba RENEWAL
Leja V AlbaresGermanyBernardo Dominic PROPOSAL
Juan E GlickGermanyStephen Shaw NEGOTIATION
Julie F DoeIndiaAnna Fali QUALIFIED
James M SaylorsFranceAsiya Javayant PROPOSAL
Leja E SaylorsAustraliaAsiya Javayant RENEWAL
James L AlbaresSpainAmy Elsner RENEWAL
Morrow X CampainJapanBernardo Dominic NEGOTIATION
Juan H BriddickRussiaOnyama Limba UNQUALIFIED
James U FigeroaFranceAsiya Javayant QUALIFIED
Johnson E RutaJapanOnyama Limba NEGOTIATION
Chavez B ChuiAustraliaAsiya Javayant QUALIFIED
Leja B RutaArgentinaOnyama Limba UNQUALIFIED
James J RimSpainXuxue Feng QUALIFIED
Mujtaba V PerinCanadaAnna Fali PROPOSAL
Ashley A ButtBrazilXuxue Feng NEGOTIATION
Deepesh O TollnerJapanBernardo Dominic NEW
Sinclair L ChuiItalyXuxue Feng NEW
Jones S OldroydFranceBernardo Dominic NEGOTIATION
Maria G TollnerBrazilXuxue Feng RENEWAL
Stacey O FollerCanadaAmy Elsner QUALIFIED
Octavia Q PaprockiGermanyIvan Magalhaes QUALIFIED
Clifford A SergiItalyBernardo Dominic RENEWAL
Ivar P GillianGermanyStephen Shaw NEW
Julie E PaprockiBrazilAnna Fali NEW
Smith X RoysterCanadaElwin Sharvill NEW
Cody A MorascaItalyAnna Fali QUALIFIED
Stacey B RimArgentinaIvan Magalhaes PROPOSAL
David T GauchoAustraliaOnyama Limba RENEWAL
Kadeem J StensethArgentinaIoni Bowcher RENEWAL
Smith T StensethBrazilIoni Bowcher PROPOSAL
Jones P CampainAustraliaAsiya Javayant PROPOSAL
Cody N WhobreyItalyBernardo Dominic PROPOSAL
Salvatore C WhobreyCanadaIoni Bowcher PROPOSAL
Stacey I RutaItalyAnna Fali RENEWAL
Juan K VenereCanadaBernardo Dominic UNQUALIFIED
Munro D WhobreyIndiaElwin Sharvill NEGOTIATION
Deepesh D CampainCanadaAmy Elsner QUALIFIED
David U NestleSpainBernardo Dominic 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>