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
Greenwood A StockhamArgentinaIvan Magalhaes PROPOSAL
Tony C SchemmerJapanElwin Sharvill RENEWAL
Juan A SergiRussiaElwin Sharvill UNQUALIFIED
Salvatore Y ButtAustraliaAnna Fali PROPOSAL
Aditya I AmigonUnited KingdomOnyama Limba PROPOSAL
Rodrigues C FigeroaCanadaAmy Elsner NEGOTIATION
Greenwood C MaletCanadaAsiya Javayant RENEWAL
Leja Z BriddickFranceXuxue Feng NEGOTIATION
Morrow E MaletGermanyElwin Sharvill UNQUALIFIED
Jennifer Y RimSpainAsiya Javayant NEGOTIATION
Jennifer U RutaRussiaAnna Fali QUALIFIED
Murillo W IturbideJapanAmy Elsner NEW
Smith O StockhamJapanXuxue Feng NEW
Johnson M IturbideIndiaOnyama Limba RENEWAL
James W InouyeItalyAmy Elsner QUALIFIED
Ricardo W GauchoJapanAnna Fali QUALIFIED
Aruna U IturbideCanadaXuxue Feng NEGOTIATION
Julie N TollnerItalyElwin Sharvill RENEWAL
Antonio P NestleAustraliaIoni Bowcher QUALIFIED
Rodrigues R OstroskyFranceBernardo Dominic RENEWAL
Mujtaba I OldroydBrazilXuxue Feng NEGOTIATION
Octavia A MaletItalyIvan Magalhaes PROPOSAL
Greenwood P SaylorsRussiaIvan Magalhaes RENEWAL
Ashley J InouyeCanadaIoni Bowcher QUALIFIED
Jennifer L ChuiAustraliaIoni Bowcher NEW
Jennifer G RulapaughRussiaElwin Sharvill RENEWAL
Claire S CaldareraFranceAmy Elsner UNQUALIFIED
Leon H KuskoBrazilIvan Magalhaes RENEWAL
Costa P AmigonCanadaOnyama Limba PROPOSAL
Johnson A StockhamUnited KingdomElwin Sharvill NEGOTIATION
Clifford V SchemmerAustraliaIvan Magalhaes PROPOSAL
David U FerenczArgentinaBernardo Dominic QUALIFIED
Clifford A StensethIndiaIvan Magalhaes NEW
Aditya P DarakjyIndiaIvan Magalhaes RENEWAL
Claire R NestleCanadaIvan Magalhaes UNQUALIFIED
Octavia P MacleadItalyStephen Shaw PROPOSAL
Alejandro O FlosiCanadaOnyama Limba QUALIFIED
David S SergiUnited KingdomStephen Shaw UNQUALIFIED
Morrow Y PaprockiSpainBernardo Dominic RENEWAL
Cody X CampainRussiaBernardo Dominic UNQUALIFIED
Stacey I RoysterRussiaAnna Fali QUALIFIED
Deepesh C MorascaCanadaXuxue Feng PROPOSAL
Aditya L MorascaJapanOnyama Limba PROPOSAL
David D WieserAustraliaXuxue Feng UNQUALIFIED
Johnson U AmigonItalyAmy Elsner NEGOTIATION
Aruna F WieserUnited KingdomIoni Bowcher RENEWAL
Faith N ChuiJapanIvan Magalhaes PROPOSAL
Leon A DoeFranceIoni Bowcher UNQUALIFIED
Stacey R FigeroaUnited KingdomAsiya Javayant QUALIFIED
Francesco F GauchoAustraliaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin J AmigonArgentinaElwin Sharvill NEGOTIATION
James B FigeroaGermanyElwin Sharvill QUALIFIED
Leja Y InouyeItalyIvan Magalhaes NEW
Leon H DoeCanadaOnyama Limba NEW
Greenwood C WieserArgentinaAsiya Javayant NEW
Darci X ShinkoCanadaOnyama Limba QUALIFIED
Jefferson I MaletArgentinaOnyama Limba NEW
Arvin O RutaArgentinaBernardo Dominic QUALIFIED
Maisha R StockhamGermanyOnyama Limba UNQUALIFIED
Salvatore S PaprockiItalyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer F AmigonJapan2025-08-15Chemel, James L Cpa PROPOSAL53Elwin Sharvill
1001Sinclair A VenereSpain2025-08-08King, Christopher A Esq NEGOTIATION45Asiya Javayant
1002Izzy B FerenczBrazil2025-08-18Chapman, Ross E Esq QUALIFIED4Asiya Javayant
1003Francesco L RulapaughJapan2025-08-10Dorl, James J Esq UNQUALIFIED60Onyama Limba
1004Francesco Q KuskoFrance2025-07-23Dorl, James J Esq PROPOSAL6Asiya Javayant
1005Francesco V ButtAustralia2025-07-27Rangoni Of Florence UNQUALIFIED57Amy Elsner
1006Jefferson M ButtJapan2025-07-27Benton, John B Jr RENEWAL93Onyama Limba
1007Antonio Q ChuiSpain2025-07-24Commercial Press UNQUALIFIED53Elwin Sharvill
1008Jefferson O MorascaGermany2025-08-17Feltz Printing Service UNQUALIFIED76Xuxue Feng
1009Jones E PerinRussia2025-08-06Buckley Miller Wright QUALIFIED56Xuxue Feng
1010Stacey H SergiRussia2025-07-30King, Christopher A Esq QUALIFIED34Asiya Javayant
1011Ivar T RutaItaly2025-08-14Commercial Press NEGOTIATION87Amy Elsner
1012Leon Z FerenczItaly2025-08-06Feiner Bros RENEWAL28Onyama Limba
1013Ivar X RoysterCanada2025-08-04Printing Dimensions PROPOSAL12Bernardo Dominic
1014Greenwood T WaycottJapan2025-07-31Chapman, Ross E Esq NEW28Ioni Bowcher
1015Izzy K VocelkaUnited Kingdom2025-08-03Chemel, James L Cpa PROPOSAL70Onyama Limba
1016Clifford A CampainBrazil2025-08-05Commercial Press UNQUALIFIED8Xuxue Feng
1017Juan U StockhamCanada2025-07-21Morlong Associates NEW46Asiya Javayant
1018Isabel I RutaRussia2025-08-17Dorl, James J Esq NEW89Asiya Javayant
1019Jeanfrancois F CampainCanada2025-08-07Commercial Press RENEWAL98Ioni Bowcher
1020Kadeem N KuskoSpain2025-07-29Benton, John B Jr NEGOTIATION15Onyama Limba
1021James U GillianIndia2025-07-26Chemel, James L Cpa RENEWAL56Xuxue Feng
1022Morrow F OstroskyGermany2025-08-03King, Christopher A Esq NEW30Xuxue Feng
1023Maisha C OldroydArgentina2025-08-10Benton, John B Jr RENEWAL64Ivan Magalhaes
1024Morrow E OldroydSpain2025-07-21Rousseaux, Michael Esq QUALIFIED1Anna Fali
1025Aruna H KolmetzUnited Kingdom2025-08-06Printing Dimensions NEGOTIATION87Ioni Bowcher
1026Maria P SchemmerArgentina2025-07-25Printing Dimensions PROPOSAL69Onyama Limba
1027Misaki D GillianArgentina2025-07-25Rangoni Of Florence PROPOSAL21Amy Elsner
1028Claire F InouyeCanada2025-07-30Buckley Miller Wright QUALIFIED10Ioni Bowcher
1029Misaki C MarrierFrance2025-07-22Buckley Miller Wright RENEWAL9Xuxue Feng
1030Kaitlin W WhobreyAustralia2025-08-14Feltz Printing Service NEGOTIATION23Asiya Javayant
1031Silvio O RulapaughJapan2025-07-22Printing Dimensions NEGOTIATION59Ivan Magalhaes
1032Isabel Y BriddickJapan2025-08-06Buckley Miller Wright PROPOSAL13Anna Fali
1033Ashley S BriddickBrazil2025-08-12Rousseaux, Michael Esq QUALIFIED30Asiya Javayant
1034Misaki J OstroskyRussia2025-08-17Chapman, Ross E Esq NEGOTIATION55Xuxue Feng
1035Darci E RulapaughArgentina2025-08-06Dorl, James J Esq NEW91Elwin Sharvill
1036Greenwood S CaldareraFrance2025-08-01Chapman, Ross E Esq QUALIFIED29Ioni Bowcher
1037Ivar T BowleyUnited Kingdom2025-07-27Truhlar And Truhlar Attys QUALIFIED95Asiya Javayant
1038Nicolas A WaycottIndia2025-07-26Buckley Miller Wright QUALIFIED29Asiya Javayant
1039Wickens L StensethArgentina2025-08-14Morlong Associates NEW37Stephen Shaw
1040Cody I NestleJapan2025-08-11Morlong Associates NEGOTIATION18Elwin Sharvill
1041Mayumi K FigeroaItaly2025-08-11Rousseaux, Michael Esq NEW75Anna Fali
1042Johnson T MaletArgentina2025-08-09Dorl, James J Esq RENEWAL54Anna Fali
1043Julie H KuskoItaly2025-08-11Chanay, Jeffrey A Esq UNQUALIFIED33Stephen Shaw
1044Sinclair B InouyeCanada2025-08-05Chapman, Ross E Esq NEW73Amy Elsner
1045Chavez D OstroskyAustralia2025-07-26Commercial Press RENEWAL0Ivan Magalhaes
1046Darci A RutaUnited Kingdom2025-08-07Rangoni Of Florence RENEWAL80Ivan Magalhaes
1047Claire Q RulapaughArgentina2025-07-22Feiner Bros NEGOTIATION76Ivan Magalhaes
1048Emily S StensethFrance2025-08-16Feiner Bros NEGOTIATION84Xuxue Feng
1049Greenwood H VocelkaAustralia2025-07-31Truhlar And Truhlar Attys RENEWAL55Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Julie E MarrierRussiaAnna Fali QUALIFIED
Jones H WhobreyBrazilElwin Sharvill NEW
Leon U SchemmerItalyStephen Shaw NEGOTIATION
Adams R CaldareraItalyIvan Magalhaes NEGOTIATION
Murillo Z StensethUnited KingdomBernardo Dominic NEW
Juan A ButtArgentinaOnyama Limba PROPOSAL
Emily N SchemmerBrazilAsiya Javayant NEGOTIATION
Arvin J CaudyRussiaOnyama Limba UNQUALIFIED
Adams Z ShinkoArgentinaStephen Shaw UNQUALIFIED
Faith P InouyeGermanyBernardo Dominic NEW
Izzy Q RoysterCanadaIvan Magalhaes NEW
Morrow A StockhamBrazilAnna Fali UNQUALIFIED
Aruna V OldroydAustraliaAmy Elsner RENEWAL
Maisha F ChuiUnited KingdomIvan Magalhaes PROPOSAL
Johnson X RimAustraliaIoni Bowcher PROPOSAL
Sinclair N ChuiItalyAsiya Javayant NEW
Salvatore E GauchoRussiaElwin Sharvill UNQUALIFIED
Johnson O ShinkoItalyAsiya Javayant RENEWAL
Munro X ShinkoItalyXuxue Feng NEW
Wickens W SergiIndiaAnna Fali QUALIFIED
Maria X MacleadSpainElwin Sharvill NEGOTIATION
Cody S StockhamIndiaBernardo Dominic UNQUALIFIED
Ashley N GarufiCanadaIvan Magalhaes RENEWAL
Silvio C RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Tony F FerenczArgentinaBernardo Dominic RENEWAL
Francesco C SaylorsFranceIoni Bowcher NEGOTIATION
Aika O FerenczUnited KingdomAsiya Javayant NEW
Jennifer W ButtSpainAsiya Javayant NEW
Izzy S PerinGermanyElwin Sharvill PROPOSAL
Juan G PerinBrazilAnna Fali UNQUALIFIED
Misaki K CampainAustraliaXuxue Feng PROPOSAL
Smith T VenereUnited KingdomAnna Fali UNQUALIFIED
Aika Q MorascaSpainIoni Bowcher PROPOSAL
Rodrigues L MorascaItalyOnyama Limba PROPOSAL
David E MarrierBrazilIvan Magalhaes QUALIFIED
Ashley O DoeCanadaAnna Fali PROPOSAL
Smith I ShinkoArgentinaOnyama Limba NEGOTIATION
Ricardo O StockhamSpainXuxue Feng PROPOSAL
Rodrigues Y WhobreySpainIoni Bowcher QUALIFIED
Johnson S BriddickFranceStephen Shaw UNQUALIFIED
Rodrigues I InouyeItalyAnna Fali RENEWAL
Sinclair A GauchoItalyIvan Magalhaes NEW
Costa N CaldareraCanadaAsiya Javayant RENEWAL
Julie M OstroskyJapanAnna Fali UNQUALIFIED
Arvin X RulapaughRussiaOnyama Limba RENEWAL
Francesco W IturbideAustraliaElwin Sharvill NEW
Alejandro T WieserCanadaIoni Bowcher NEW
Misaki M BologniaCanadaStephen Shaw NEGOTIATION
Francesco Z SaylorsGermanyStephen Shaw PROPOSAL
Kadeem U CaldareraAustraliaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Faith G Butt
Jones T Ostrosky
Maria R Bowley
Misaki E Doe
Kaitlin V Maclead
Jones D Royster
Silvio X Oldroyd
Ricardo H Wieser
Stacey O Paprocki
Cody S Malet
Adams O Nestle
Antonio C Vocelka
Kadeem I Ferencz
Julie H Inouye
Clifford L Albares
Antonio D Briddick
Maria M Nicka
Adams I Nestle
Mayumi R Tollner
James R Paprocki
Silvio T Venere
Aika E Ostrosky
Jones P Ostrosky
Salvatore F Tollner
Munro E Perin
Julie S Ruta
Silvio J Iturbide
Aruna D Rim
James A Stockham
James H Wieser
Isabel E Nicka
Alejandro R Shinko
Jennifer P Darakjy
Julie G Glick
Greenwood Q Gillian
Aika R Caldarera
Chavez A Ferencz
Wickens C Kolmetz
Darci K Briddick
Silvio X Royster
Claire V Waycott
Morrow K Oldroyd
Munro S Waycott
Salvatore L Glick
Salvatore L Vocelka
David U Wieser
Costa S Nicka
Octavia X Venere
Kaitlin O Butt
Wickens O Gaucho
IdCountryDate
1000United Kingdom2025-08-08
1001Germany2025-08-05
1002Australia2025-08-18
1003Canada2025-08-14
1004France2025-08-04
1005Italy2025-08-07
1006Brazil2025-08-13
1007United Kingdom2025-08-09
1008Japan2025-07-21
1009Argentina2025-07-24
1010Russia2025-08-04
1011Canada2025-08-13
1012Italy2025-08-11
1013United Kingdom2025-08-04
1014Canada2025-07-26
1015Italy2025-08-08
1016Russia2025-08-15
1017Australia2025-08-13
1018Japan2025-08-17
1019Canada2025-08-02
1020Spain2025-08-16
1021Russia2025-08-03
1022India2025-07-26
1023Germany2025-08-14
1024Australia2025-08-07
1025Germany2025-07-27
1026France2025-08-09
1027Australia2025-08-09
1028Argentina2025-07-31
1029Brazil2025-08-10
1030United Kingdom2025-08-08
1031Brazil2025-08-18
1032United Kingdom2025-07-20
1033United Kingdom2025-08-11
1034Germany2025-07-22
1035United Kingdom2025-08-17
1036United Kingdom2025-07-31
1037India2025-07-22
1038Germany2025-07-29
1039United Kingdom2025-08-08
1040Australia2025-07-27
1041Germany2025-08-08
1042Japan2025-08-16
1043Australia2025-07-20
1044Argentina2025-08-12
1045Brazil2025-07-31
1046Argentina2025-07-31
1047Argentina2025-08-16
1048Argentina2025-07-27
1049Brazil2025-08-08

On-Demand Data

NameIdCountryDate
Murillo N Gillian1000Russia2025-08-11
Cody F Chui1001Japan2025-08-01
Ivar N Bowley1002Germany2025-07-25
Faith W Venere1003Australia2025-08-18
Leja W Slusarski1004France2025-07-21
Adams U Malet1005Russia2025-08-18
James U Bowley1006Brazil2025-07-24
Ashley P Schemmer1007United Kingdom2025-08-06
Faith V Sergi1008Russia2025-08-09
Sinclair J Bolognia1009Japan2025-07-24
James J Bolognia1010Japan2025-07-26
Jennifer E Chui1011Australia2025-07-26
Francesco K Marrier1012Canada2025-08-11
Octavia D Oldroyd1013Germany2025-08-03
Kaitlin B Shinko1014Argentina2025-08-03
Adams U Malet1015Canada2025-07-25
Jeanfrancois C Paprocki1016Russia2025-07-25
Faith E Maclead1017Argentina2025-08-13
Leja O Marrier1018Argentina2025-07-31
Aruna Y Chui1019Canada2025-07-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro V VocelkaFranceOnyama Limba NEW
Mayumi A SlusarskiAustraliaOnyama Limba NEW
Francesco M SlusarskiRussiaAsiya Javayant PROPOSAL
Jennifer I NestleSpainAnna Fali PROPOSAL
Mujtaba U FerenczFranceOnyama Limba QUALIFIED
Isabel L DilliardBrazilIvan Magalhaes UNQUALIFIED
Deepesh E StockhamRussiaAnna Fali RENEWAL
Jones D OldroydAustraliaStephen Shaw QUALIFIED
Leon V MarrierIndiaBernardo Dominic NEGOTIATION
Kadeem G VenereBrazilAsiya Javayant NEGOTIATION
Faith V RulapaughIndiaBernardo Dominic UNQUALIFIED
Arvin R VenereUnited KingdomOnyama Limba NEW
Jeanfrancois P WhobreyGermanyOnyama Limba PROPOSAL
Nicolas W TollnerBrazilXuxue Feng RENEWAL
Wickens I StockhamRussiaXuxue Feng NEGOTIATION
Jefferson Z PaprockiAustraliaOnyama Limba PROPOSAL
Faith G SlusarskiSpainXuxue Feng NEGOTIATION
Salvatore S FollerArgentinaOnyama Limba QUALIFIED
Antonio Z InouyeJapanOnyama Limba NEGOTIATION
Tony T DoeIndiaElwin Sharvill UNQUALIFIED
Costa U DarakjyJapanAsiya Javayant RENEWAL
Jennifer A RutaBrazilBernardo Dominic NEGOTIATION
Claire M MaletJapanBernardo Dominic UNQUALIFIED
Smith U MarrierItalyAnna Fali PROPOSAL
Munro Z GlickItalyElwin Sharvill QUALIFIED
Antonio D StockhamFranceIvan Magalhaes NEGOTIATION
Smith C BriddickFranceOnyama Limba NEGOTIATION
Maria R OstroskyItalyBernardo Dominic RENEWAL
Clifford J ShinkoFranceAmy Elsner UNQUALIFIED
Mayumi F OstroskyItalyAmy Elsner NEGOTIATION
Aditya N KuskoIndiaOnyama Limba RENEWAL
Arvin P PerinSpainAsiya Javayant NEGOTIATION
Aika W OstroskyGermanyIvan Magalhaes QUALIFIED
Greenwood G GlickJapanIoni Bowcher NEW
Johnson R MacleadFranceIoni Bowcher QUALIFIED
Julie J CaudyIndiaXuxue Feng UNQUALIFIED
Greenwood A MaletFranceElwin Sharvill NEW
Clifford M MacleadJapanAsiya Javayant QUALIFIED
Faith Y SaylorsSpainBernardo Dominic NEGOTIATION
Leon K SergiSpainAmy Elsner 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>