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
Emily P RutaAustraliaAsiya Javayant NEGOTIATION
Francesco N ChuiSpainIvan Magalhaes NEW
Adams P BriddickItalyXuxue Feng PROPOSAL
Silvio B MarrierRussiaAnna Fali RENEWAL
Leon A WhobreyJapanElwin Sharvill PROPOSAL
Jennifer B NestleGermanyElwin Sharvill UNQUALIFIED
Maisha S GlickJapanXuxue Feng PROPOSAL
Octavia R TollnerSpainElwin Sharvill QUALIFIED
Jefferson V BowleyUnited KingdomElwin Sharvill NEW
Mayumi J GauchoRussiaBernardo Dominic QUALIFIED
Leja O FerenczIndiaIoni Bowcher RENEWAL
Leon V FollerFranceStephen Shaw UNQUALIFIED
Alejandro K FollerGermanyIvan Magalhaes QUALIFIED
Leon Q ButtBrazilBernardo Dominic QUALIFIED
Aruna N NestleItalyStephen Shaw RENEWAL
Julie P VenereCanadaIoni Bowcher PROPOSAL
Morrow O SaylorsIndiaElwin Sharvill PROPOSAL
Morrow V RutaIndiaElwin Sharvill PROPOSAL
Sinclair Z VenereCanadaAsiya Javayant QUALIFIED
Darci S AmigonJapanStephen Shaw NEW
Ricardo P FigeroaFranceElwin Sharvill RENEWAL
Julie R FerenczUnited KingdomElwin Sharvill PROPOSAL
James G CaudyRussiaAsiya Javayant UNQUALIFIED
Maria I SlusarskiJapanStephen Shaw PROPOSAL
Aruna W MaletArgentinaXuxue Feng UNQUALIFIED
Munro X MarrierItalyAmy Elsner RENEWAL
Sinclair N NickaCanadaElwin Sharvill UNQUALIFIED
Emily F GarufiUnited KingdomElwin Sharvill NEW
Sinclair Q MorascaIndiaBernardo Dominic NEW
James Q BriddickIndiaOnyama Limba QUALIFIED
Kaitlin S GillianJapanAsiya Javayant PROPOSAL
Faith I FigeroaCanadaAnna Fali NEGOTIATION
Greenwood V SlusarskiGermanyXuxue Feng UNQUALIFIED
Cody W CampainItalyAmy Elsner NEW
Jeanfrancois D GillianBrazilOnyama Limba PROPOSAL
Costa U SchemmerFranceElwin Sharvill QUALIFIED
Deepesh U CaldareraGermanyAmy Elsner QUALIFIED
Darci V InouyeCanadaAmy Elsner NEGOTIATION
James R GarufiJapanStephen Shaw NEW
Adams M IturbideItalyBernardo Dominic RENEWAL
Jennifer Y WieserArgentinaOnyama Limba PROPOSAL
Emily C OstroskySpainXuxue Feng UNQUALIFIED
Claire A OldroydItalyOnyama Limba RENEWAL
Octavia C NestleArgentinaAnna Fali PROPOSAL
Silvio G KuskoGermanyAsiya Javayant NEGOTIATION
Ivar U SaylorsItalyAsiya Javayant RENEWAL
Clifford A FlosiArgentinaXuxue Feng NEW
Izzy G TollnerCanadaElwin Sharvill QUALIFIED
Mayumi L WaycottRussiaBernardo Dominic QUALIFIED
Jones S CaldareraRussiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh L CampainJapanAnna Fali PROPOSAL
Silvio X WieserGermanyStephen Shaw NEW
Nicolas Y SaylorsUnited KingdomOnyama Limba QUALIFIED
Silvio X GlickSpainStephen Shaw UNQUALIFIED
Ivar Z NestleIndiaXuxue Feng PROPOSAL
Murillo W RimBrazilAsiya Javayant UNQUALIFIED
Julie Y DilliardBrazilBernardo Dominic RENEWAL
Leja F DarakjyJapanBernardo Dominic PROPOSAL
Jones L VenereJapanIoni Bowcher QUALIFIED
Tony W FollerAustraliaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith L MaletSpain2025-09-26Feltz Printing Service PROPOSAL84Amy Elsner
1001Ricardo L AlbaresIndia2025-10-16Chapman, Ross E Esq PROPOSAL96Onyama Limba
1002Francesco A WhobreySpain2025-10-02Feltz Printing Service RENEWAL77Xuxue Feng
1003Jennifer I BologniaJapan2025-10-16Commercial Press UNQUALIFIED4Anna Fali
1004Sinclair M BriddickGermany2025-09-20Dorl, James J Esq NEGOTIATION69Ioni Bowcher
1005Rodrigues V ButtItaly2025-10-09Chanay, Jeffrey A Esq NEGOTIATION13Stephen Shaw
1006Darci G GillianArgentina2025-10-17Commercial Press RENEWAL3Stephen Shaw
1007Octavia D OldroydSpain2025-09-18Chemel, James L Cpa RENEWAL82Elwin Sharvill
1008Sinclair R ShinkoUnited Kingdom2025-09-27King, Christopher A Esq NEGOTIATION45Elwin Sharvill
1009Ashley X SlusarskiRussia2025-09-30Rousseaux, Michael Esq RENEWAL10Elwin Sharvill
1010Costa B AmigonCanada2025-10-03Chapman, Ross E Esq RENEWAL82Anna Fali
1011Misaki O CaudyIndia2025-09-20Feltz Printing Service RENEWAL75Elwin Sharvill
1012Munro B FollerSpain2025-10-01Rousseaux, Michael Esq RENEWAL29Onyama Limba
1013Leon O FigeroaAustralia2025-10-15Commercial Press UNQUALIFIED45Anna Fali
1014Stacey R ChuiUnited Kingdom2025-09-27Commercial Press NEGOTIATION3Amy Elsner
1015Deepesh Q BologniaRussia2025-09-26Commercial Press NEW84Anna Fali
1016Silvio J DarakjyUnited Kingdom2025-09-22Dorl, James J Esq QUALIFIED79Onyama Limba
1017Kaitlin C RimRussia2025-09-29Morlong Associates QUALIFIED18Ivan Magalhaes
1018Ivar X KolmetzItaly2025-10-05Rangoni Of Florence UNQUALIFIED36Elwin Sharvill
1019Cody U MaletUnited Kingdom2025-10-07Chemel, James L Cpa PROPOSAL48Xuxue Feng
1020Leja P BologniaRussia2025-09-26Feltz Printing Service PROPOSAL64Elwin Sharvill
1021Ricardo V BriddickBrazil2025-09-24Chemel, James L Cpa UNQUALIFIED52Xuxue Feng
1022Costa O GlickFrance2025-10-11Chanay, Jeffrey A Esq RENEWAL79Onyama Limba
1023Maria Y CaudyCanada2025-09-28Rousseaux, Michael Esq QUALIFIED22Asiya Javayant
1024Aditya W RutaFrance2025-09-25King, Christopher A Esq UNQUALIFIED63Onyama Limba
1025Maisha N ChuiJapan2025-10-01Chapman, Ross E Esq PROPOSAL84Asiya Javayant
1026Juan N WaycottItaly2025-10-07Feiner Bros NEGOTIATION43Elwin Sharvill
1027Ashley H GillianAustralia2025-10-17Rousseaux, Michael Esq RENEWAL30Ioni Bowcher
1028Johnson H RoysterCanada2025-10-03Printing Dimensions UNQUALIFIED35Anna Fali
1029Johnson J NickaRussia2025-09-22Chanay, Jeffrey A Esq NEW31Asiya Javayant
1030Aruna D GarufiUnited Kingdom2025-10-10Morlong Associates RENEWAL2Bernardo Dominic
1031Emily F KolmetzUnited Kingdom2025-09-24Commercial Press PROPOSAL56Bernardo Dominic
1032Maisha V SchemmerItaly2025-09-20Commercial Press NEW57Amy Elsner
1033Faith L OldroydItaly2025-09-29Morlong Associates UNQUALIFIED81Bernardo Dominic
1034Kaitlin I WaycottAustralia2025-10-06Truhlar And Truhlar Attys RENEWAL59Elwin Sharvill
1035Alejandro H SergiIndia2025-10-01Chanay, Jeffrey A Esq UNQUALIFIED52Asiya Javayant
1036Faith Y FlosiItaly2025-09-27Rousseaux, Michael Esq NEGOTIATION0Ioni Bowcher
1037Jennifer B GarufiGermany2025-10-08Truhlar And Truhlar Attys RENEWAL26Xuxue Feng
1038Ivar Y NickaAustralia2025-10-15Rangoni Of Florence PROPOSAL14Stephen Shaw
1039Juan V AlbaresCanada2025-10-14Chanay, Jeffrey A Esq PROPOSAL99Elwin Sharvill
1040Nicolas J KuskoSpain2025-09-29Chapman, Ross E Esq NEW19Onyama Limba
1041Mujtaba X GarufiCanada2025-09-28Feiner Bros NEW81Asiya Javayant
1042Claire C AlbaresArgentina2025-10-16Buckley Miller Wright QUALIFIED93Bernardo Dominic
1043Wickens B WieserUnited Kingdom2025-09-27Chemel, James L Cpa QUALIFIED43Onyama Limba
1044Johnson G AmigonItaly2025-09-20Rangoni Of Florence NEW88Amy Elsner
1045Kadeem O DilliardGermany2025-09-23Morlong Associates RENEWAL99Bernardo Dominic
1046Leon L AmigonFrance2025-10-10Chanay, Jeffrey A Esq QUALIFIED85Anna Fali
1047Antonio P DoeGermany2025-09-28Rangoni Of Florence PROPOSAL89Onyama Limba
1048Juan M CampainIndia2025-10-12Commercial Press NEGOTIATION65Stephen Shaw
1049Juan V ShinkoIndia2025-09-18Printing Dimensions PROPOSAL56Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones Q InouyeArgentinaIvan Magalhaes UNQUALIFIED
Misaki D AlbaresCanadaBernardo Dominic PROPOSAL
Mayumi X DoeFranceIvan Magalhaes RENEWAL
Mujtaba G StensethRussiaAmy Elsner NEGOTIATION
Isabel C RulapaughItalyOnyama Limba PROPOSAL
Emily E VocelkaGermanyAnna Fali NEW
Greenwood L BowleyBrazilStephen Shaw QUALIFIED
Izzy C AmigonBrazilAnna Fali RENEWAL
Faith G GlickRussiaAmy Elsner RENEWAL
Mayumi V DarakjyGermanyElwin Sharvill RENEWAL
Francesco L WieserSpainAmy Elsner PROPOSAL
Julie C MacleadFranceElwin Sharvill QUALIFIED
Arvin J PaprockiJapanAmy Elsner QUALIFIED
Arvin G GillianIndiaAmy Elsner PROPOSAL
Chavez Y RoysterUnited KingdomOnyama Limba RENEWAL
Kaitlin G StensethUnited KingdomOnyama Limba NEW
Jeanfrancois I RimFranceIoni Bowcher QUALIFIED
Jennifer M OldroydRussiaAnna Fali NEW
Mayumi X RimArgentinaOnyama Limba RENEWAL
Maisha G DilliardCanadaStephen Shaw UNQUALIFIED
Izzy H ChuiAustraliaBernardo Dominic NEGOTIATION
Nicolas V SergiArgentinaAmy Elsner NEW
Greenwood Z SaylorsJapanElwin Sharvill RENEWAL
Leja E WhobreyUnited KingdomAnna Fali QUALIFIED
Stacey D OstroskyJapanAsiya Javayant NEW
Jeanfrancois Y BowleyBrazilElwin Sharvill RENEWAL
Ashley E AmigonRussiaOnyama Limba PROPOSAL
Tony D TollnerArgentinaAmy Elsner RENEWAL
Clifford B WhobreyJapanIoni Bowcher PROPOSAL
Ivar F SlusarskiRussiaIvan Magalhaes NEW
Jeanfrancois B RoysterIndiaIoni Bowcher PROPOSAL
Aruna H RimAustraliaIoni Bowcher QUALIFIED
Tony N WhobreyItalyXuxue Feng RENEWAL
Aika E IturbideIndiaIvan Magalhaes NEGOTIATION
Kaitlin E MaletRussiaOnyama Limba NEW
Antonio M SchemmerRussiaXuxue Feng QUALIFIED
Ivar E SlusarskiCanadaIvan Magalhaes QUALIFIED
Wickens B MarrierRussiaAnna Fali PROPOSAL
Maria Z FlosiRussiaAsiya Javayant UNQUALIFIED
Leja O RoysterSpainIoni Bowcher QUALIFIED
Costa A GlickCanadaOnyama Limba UNQUALIFIED
Aika N ChuiRussiaStephen Shaw UNQUALIFIED
Cody Y BriddickCanadaBernardo Dominic QUALIFIED
Stacey O MarrierGermanyAnna Fali PROPOSAL
Ashley U InouyeArgentinaElwin Sharvill QUALIFIED
Johnson S CaldareraJapanAsiya Javayant QUALIFIED
Isabel Z NickaFranceAmy Elsner RENEWAL
Emily U PoquetteIndiaIoni Bowcher NEGOTIATION
Jones D MaletAustraliaElwin Sharvill QUALIFIED
Mayumi F SergiAustraliaStephen Shaw NEGOTIATION
Frozen Columns
Name
Darci L Gaucho
Aruna X Flosi
Ricardo B Chui
David T Kolmetz
James N Maclead
Kadeem Y Inouye
Ivar A Stockham
Alejandro N Rulapaugh
Clifford P Chui
Greenwood A Gillian
Morrow Q Stockham
Murillo D Gillian
Clifford T Stockham
Morrow S Dilliard
Wickens U Rim
Johnson S Dilliard
Mujtaba H Wieser
Mayumi M Saylors
Stacey S Slusarski
David G Tollner
Izzy B Tollner
Jeanfrancois J Figeroa
Tony B Campain
Francesco A Poquette
Jones D Caudy
Costa Y Campain
David P Perin
Ivar A Morasca
Claire S Bolognia
Arvin C Maclead
Morrow M Stockham
Mujtaba E Slusarski
Chavez C Poquette
Ashley M Nestle
Jones V Stenseth
Francesco E Waycott
Morrow K Figeroa
Ivar X Royster
Faith Z Doe
Faith I Figeroa
Clifford M Ruta
Murillo A Butt
Kaitlin P Ostrosky
Julie V Waycott
Adams E Whobrey
Alejandro M Nicka
Ashley F Stockham
Adams N Venere
Octavia H Whobrey
Sinclair H Foller
IdCountryDate
1000India2025-09-20
1001United Kingdom2025-10-11
1002Australia2025-10-01
1003Canada2025-09-22
1004Argentina2025-10-01
1005Spain2025-10-04
1006Italy2025-10-04
1007Italy2025-10-08
1008India2025-09-22
1009Japan2025-10-13
1010Germany2025-10-07
1011Russia2025-09-18
1012Germany2025-09-20
1013Italy2025-10-07
1014Spain2025-09-21
1015Argentina2025-09-25
1016France2025-09-25
1017Italy2025-10-04
1018Australia2025-10-03
1019Brazil2025-09-22
1020United Kingdom2025-10-02
1021United Kingdom2025-10-11
1022Japan2025-10-04
1023United Kingdom2025-10-11
1024Japan2025-09-24
1025Canada2025-09-22
1026United Kingdom2025-09-28
1027Canada2025-10-16
1028Canada2025-09-26
1029Russia2025-09-18
1030Canada2025-09-24
1031Italy2025-10-12
1032Russia2025-09-23
1033France2025-10-11
1034United Kingdom2025-09-20
1035Australia2025-09-26
1036Argentina2025-10-06
1037Argentina2025-09-23
1038Italy2025-10-13
1039Spain2025-09-23
1040India2025-10-14
1041Brazil2025-09-30
1042Spain2025-10-08
1043Spain2025-10-13
1044France2025-10-04
1045Australia2025-10-03
1046Italy2025-10-09
1047Russia2025-10-14
1048United Kingdom2025-09-27
1049Spain2025-10-16

On-Demand Data

NameIdCountryDate
Smith K Inouye1000Italy2025-09-23
Aruna Q Rulapaugh1001Russia2025-10-06
Francesco E Malet1002Australia2025-09-27
Deepesh U Doe1003India2025-10-07
Antonio Z Chui1004Canada2025-09-28
Wickens B Albares1005France2025-10-13
Wickens B Ostrosky1006France2025-10-10
Leja A Royster1007Italy2025-09-21
Faith M Paprocki1008Germany2025-10-15
Sinclair J Saylors1009France2025-09-24
Murillo F Campain1010Russia2025-09-19
Jones O Schemmer1011Japan2025-09-23
Maisha O Saylors1012Japan2025-09-22
Adams L Butt1013Spain2025-10-01
Maisha I Vocelka1014United Kingdom2025-09-20
Claire E Gillian1015Brazil2025-10-02
Aditya J Caldarera1016India2025-10-02
Adams Z Venere1017Japan2025-09-23
Deepesh Z Wieser1018Japan2025-09-28
Francesco A Bowley1019Canada2025-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya Y DoeUnited KingdomAnna Fali UNQUALIFIED
Morrow K ButtFranceAsiya Javayant QUALIFIED
Aditya Y FigeroaRussiaIvan Magalhaes QUALIFIED
Sinclair G KuskoCanadaAsiya Javayant NEGOTIATION
Cody Y CampainIndiaElwin Sharvill NEW
Wickens Q WieserCanadaXuxue Feng NEGOTIATION
Tony D StockhamBrazilElwin Sharvill UNQUALIFIED
Aruna Q KuskoItalyXuxue Feng NEGOTIATION
Jones R BologniaJapanXuxue Feng NEGOTIATION
Jeanfrancois X RulapaughIndiaAnna Fali NEW
Cody N MacleadBrazilBernardo Dominic UNQUALIFIED
James R InouyeSpainXuxue Feng NEGOTIATION
Jones E GlickIndiaAsiya Javayant RENEWAL
Jones K SergiUnited KingdomOnyama Limba PROPOSAL
Jones J MaletRussiaStephen Shaw QUALIFIED
Aruna A BologniaSpainBernardo Dominic PROPOSAL
Murillo N StockhamGermanyAmy Elsner RENEWAL
Adams X MacleadCanadaAsiya Javayant NEGOTIATION
Misaki G MaletAustraliaBernardo Dominic QUALIFIED
Aika R StockhamItalyIvan Magalhaes NEGOTIATION
Leon B KolmetzUnited KingdomAnna Fali QUALIFIED
Darci Y ChuiRussiaXuxue Feng PROPOSAL
Isabel L IturbideCanadaOnyama Limba NEW
Aditya J PaprockiJapanXuxue Feng NEGOTIATION
Ricardo L RutaJapanXuxue Feng RENEWAL
Rodrigues T GlickSpainOnyama Limba UNQUALIFIED
Clifford N ButtRussiaOnyama Limba UNQUALIFIED
Johnson D FigeroaJapanStephen Shaw RENEWAL
Chavez V DilliardAustraliaStephen Shaw NEGOTIATION
Salvatore Y NestleBrazilBernardo Dominic UNQUALIFIED
Darci T ShinkoIndiaStephen Shaw UNQUALIFIED
Adams R ChuiItalyElwin Sharvill NEGOTIATION
Julie Z StensethFranceIvan Magalhaes RENEWAL
Alejandro U NestleCanadaOnyama Limba QUALIFIED
Jefferson R ChuiJapanElwin Sharvill QUALIFIED
Rodrigues J BowleyFranceStephen Shaw NEW
Deepesh G PaprockiRussiaStephen Shaw UNQUALIFIED
Arvin N PerinUnited KingdomBernardo Dominic NEGOTIATION
Jennifer R FollerArgentinaStephen Shaw UNQUALIFIED
Izzy W MarrierSpainAnna Fali UNQUALIFIED

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