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
Alejandro L FollerUnited KingdomOnyama Limba PROPOSAL
Deepesh G TollnerArgentinaStephen Shaw QUALIFIED
Smith X GauchoIndiaOnyama Limba NEW
Octavia O OldroydUnited KingdomXuxue Feng RENEWAL
Costa F ChuiBrazilAnna Fali PROPOSAL
Munro Z GarufiJapanBernardo Dominic NEW
Arvin J CaldareraJapanElwin Sharvill NEW
Silvio J MacleadFranceOnyama Limba NEGOTIATION
Mayumi U DoeJapanStephen Shaw QUALIFIED
Aruna G PerinArgentinaBernardo Dominic NEGOTIATION
Arvin G WieserSpainIvan Magalhaes UNQUALIFIED
Maisha S OldroydJapanIoni Bowcher PROPOSAL
Faith O InouyeCanadaStephen Shaw NEW
Octavia W SlusarskiRussiaAsiya Javayant QUALIFIED
Silvio B AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Adams U VocelkaSpainElwin Sharvill QUALIFIED
Aruna X DarakjyAustraliaIvan Magalhaes RENEWAL
Wickens N GarufiArgentinaIvan Magalhaes RENEWAL
David A MaletJapanAsiya Javayant RENEWAL
Greenwood U MaletItalyAmy Elsner NEW
Francesco D RulapaughGermanyXuxue Feng QUALIFIED
Jennifer E BologniaSpainAmy Elsner NEW
Jeanfrancois I RoysterItalyIoni Bowcher QUALIFIED
Adams T NestleIndiaIvan Magalhaes UNQUALIFIED
Aditya H WhobreyRussiaStephen Shaw NEW
Kadeem K TollnerAustraliaOnyama Limba NEW
Francesco T MarrierGermanyStephen Shaw UNQUALIFIED
Stacey S MaletAustraliaElwin Sharvill QUALIFIED
Claire H GillianItalyXuxue Feng NEW
Darci O KolmetzArgentinaElwin Sharvill NEW
Ashley K WieserAustraliaXuxue Feng RENEWAL
Morrow T CaldareraFranceOnyama Limba NEW
Sinclair H CampainAustraliaIoni Bowcher RENEWAL
Misaki O MaletBrazilIvan Magalhaes NEGOTIATION
Maisha C ShinkoFranceAnna Fali RENEWAL
Ivar P RulapaughUnited KingdomElwin Sharvill QUALIFIED
Alejandro N GillianItalyOnyama Limba NEW
Wickens V SergiSpainXuxue Feng NEGOTIATION
Stacey G BriddickItalyAsiya Javayant UNQUALIFIED
Misaki O FerenczIndiaAsiya Javayant NEW
Murillo Z MacleadSpainStephen Shaw NEW
Adams N GauchoFranceStephen Shaw RENEWAL
Misaki E DilliardGermanyBernardo Dominic NEGOTIATION
David J GillianItalyOnyama Limba NEW
Tony B PoquetteFranceStephen Shaw QUALIFIED
Jefferson D NickaAustraliaAnna Fali QUALIFIED
Jennifer I GarufiFranceOnyama Limba UNQUALIFIED
Tony O MaletUnited KingdomAsiya Javayant NEW
Darci K FerenczUnited KingdomXuxue Feng QUALIFIED
Stacey Y NickaCanadaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo T ButtSpainStephen Shaw PROPOSAL
Jennifer V GillianFranceIoni Bowcher QUALIFIED
Antonio K RulapaughJapanBernardo Dominic NEGOTIATION
Munro S FigeroaIndiaAsiya Javayant RENEWAL
Adams I RulapaughIndiaIvan Magalhaes NEW
Ricardo B FigeroaCanadaElwin Sharvill NEW
Leja X KuskoGermanyElwin Sharvill UNQUALIFIED
Wickens L SaylorsItalyAnna Fali PROPOSAL
Clifford E TollnerArgentinaAmy Elsner UNQUALIFIED
Antonio W MaletIndiaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson K MarrierCanada2025-10-01Morlong Associates NEGOTIATION80Ioni Bowcher
1001Wickens L PaprockiArgentina2025-09-15Morlong Associates PROPOSAL31Onyama Limba
1002Wickens H MorascaIndia2025-09-17Buckley Miller Wright NEW55Xuxue Feng
1003Juan W BologniaFrance2025-09-14Chanay, Jeffrey A Esq NEW33Anna Fali
1004Adams O NickaGermany2025-09-05Chemel, James L Cpa RENEWAL14Bernardo Dominic
1005Aika B AmigonSpain2025-09-16Dorl, James J Esq QUALIFIED74Amy Elsner
1006Mayumi S StockhamCanada2025-09-16Buckley Miller Wright UNQUALIFIED46Stephen Shaw
1007Rodrigues S ChuiBrazil2025-09-10Chapman, Ross E Esq NEW4Onyama Limba
1008Jefferson D CampainGermany2025-09-08Buckley Miller Wright RENEWAL20Onyama Limba
1009Izzy O PerinBrazil2025-09-14Commercial Press NEGOTIATION77Asiya Javayant
1010Ashley S SaylorsRussia2025-09-17Chapman, Ross E Esq QUALIFIED2Xuxue Feng
1011Antonio H DoeItaly2025-09-29King, Christopher A Esq QUALIFIED55Asiya Javayant
1012Arvin E RutaUnited Kingdom2025-09-22Commercial Press NEGOTIATION44Amy Elsner
1013Silvio R AlbaresUnited Kingdom2025-09-29Feltz Printing Service UNQUALIFIED32Stephen Shaw
1014Rodrigues X FlosiBrazil2025-09-24Rousseaux, Michael Esq NEW29Ivan Magalhaes
1015Silvio C FerenczGermany2025-09-15Benton, John B Jr NEW81Elwin Sharvill
1016Clifford J InouyeRussia2025-09-19Morlong Associates UNQUALIFIED60Stephen Shaw
1017Cody L ShinkoGermany2025-09-26King, Christopher A Esq QUALIFIED12Stephen Shaw
1018Kadeem Q RimCanada2025-09-04Dorl, James J Esq RENEWAL14Ivan Magalhaes
1019Misaki O OstroskyItaly2025-09-18Morlong Associates PROPOSAL78Elwin Sharvill
1020Claire U FigeroaUnited Kingdom2025-09-12Printing Dimensions NEW62Anna Fali
1021Juan B NestleIndia2025-09-22Printing Dimensions NEW45Bernardo Dominic
1022Mujtaba N AlbaresFrance2025-09-15Printing Dimensions QUALIFIED93Stephen Shaw
1023Salvatore W StockhamBrazil2025-09-14Rousseaux, Michael Esq PROPOSAL43Amy Elsner
1024Adams P MarrierSpain2025-09-18Printing Dimensions PROPOSAL6Ivan Magalhaes
1025Antonio P RimBrazil2025-09-14Truhlar And Truhlar Attys NEW12Bernardo Dominic
1026Nicolas D MorascaJapan2025-09-25Chanay, Jeffrey A Esq UNQUALIFIED54Onyama Limba
1027Adams D GarufiIndia2025-09-09Printing Dimensions NEGOTIATION87Ivan Magalhaes
1028Silvio R WhobreyJapan2025-09-22Chapman, Ross E Esq NEW60Amy Elsner
1029Johnson I ChuiFrance2025-09-03Commercial Press NEW25Anna Fali
1030David Y GlickUnited Kingdom2025-09-21Chanay, Jeffrey A Esq NEGOTIATION39Stephen Shaw
1031Darci V FollerAustralia2025-09-12Chemel, James L Cpa PROPOSAL6Onyama Limba
1032Leon N CampainItaly2025-09-06Morlong Associates NEGOTIATION33Stephen Shaw
1033Tony J MaletRussia2025-09-23Chanay, Jeffrey A Esq RENEWAL80Stephen Shaw
1034Izzy S IturbideJapan2025-09-18Chanay, Jeffrey A Esq NEGOTIATION93Amy Elsner
1035Smith K SaylorsItaly2025-09-08Morlong Associates NEW51Ivan Magalhaes
1036Salvatore Z KuskoCanada2025-09-07Dorl, James J Esq QUALIFIED28Stephen Shaw
1037Cody X PerinSpain2025-09-03Feltz Printing Service QUALIFIED91Anna Fali
1038Kaitlin G FlosiGermany2025-09-28Feiner Bros PROPOSAL76Elwin Sharvill
1039Arvin V VenereArgentina2025-09-17Commercial Press PROPOSAL3Ivan Magalhaes
1040Mujtaba E FollerItaly2025-09-03Chemel, James L Cpa RENEWAL18Amy Elsner
1041Isabel G WieserSpain2025-09-25Truhlar And Truhlar Attys PROPOSAL98Elwin Sharvill
1042Octavia U StensethAustralia2025-09-06Printing Dimensions QUALIFIED70Xuxue Feng
1043Clifford T SlusarskiBrazil2025-09-09Chanay, Jeffrey A Esq NEGOTIATION85Bernardo Dominic
1044Smith O NestleRussia2025-09-21Buckley Miller Wright RENEWAL15Anna Fali
1045Rodrigues M GauchoSpain2025-09-30Chanay, Jeffrey A Esq RENEWAL85Amy Elsner
1046James K MaletRussia2025-09-15Chanay, Jeffrey A Esq PROPOSAL78Stephen Shaw
1047Kaitlin G RulapaughArgentina2025-09-03Rousseaux, Michael Esq NEW57Ioni Bowcher
1048Chavez A PoquetteRussia2025-09-20Chemel, James L Cpa NEW77Elwin Sharvill
1049Ivar L SlusarskiRussia2025-09-17Printing Dimensions RENEWAL10Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Sinclair A AmigonBrazilAmy Elsner PROPOSAL
Julie M OstroskyJapanBernardo Dominic NEGOTIATION
Arvin P ChuiArgentinaXuxue Feng NEGOTIATION
Wickens W DilliardUnited KingdomAnna Fali PROPOSAL
Jones M DoeRussiaBernardo Dominic UNQUALIFIED
Jefferson P FlosiUnited KingdomOnyama Limba QUALIFIED
Stacey P FerenczItalyStephen Shaw UNQUALIFIED
Stacey C VocelkaRussiaBernardo Dominic RENEWAL
Nicolas E FigeroaCanadaAsiya Javayant RENEWAL
Smith M OstroskyArgentinaBernardo Dominic QUALIFIED
Emily O IturbideFranceXuxue Feng UNQUALIFIED
Costa G AmigonSpainAsiya Javayant PROPOSAL
Faith X PoquetteBrazilAsiya Javayant RENEWAL
Murillo P InouyeBrazilIoni Bowcher NEW
Francesco T StensethRussiaAsiya Javayant NEW
Emily Z GillianBrazilXuxue Feng PROPOSAL
Aruna Q VocelkaFranceBernardo Dominic PROPOSAL
Francesco H GillianArgentinaAnna Fali NEGOTIATION
Ashley H StockhamFranceStephen Shaw UNQUALIFIED
Maisha G CaudyCanadaAsiya Javayant NEGOTIATION
Mayumi F GlickBrazilAmy Elsner PROPOSAL
Alejandro B GillianFranceXuxue Feng NEGOTIATION
Silvio Y StockhamRussiaElwin Sharvill PROPOSAL
Rodrigues N WhobreyArgentinaAsiya Javayant NEW
Johnson C PaprockiJapanIoni Bowcher RENEWAL
Faith K RutaArgentinaAmy Elsner NEW
Ricardo U CaldareraItalyBernardo Dominic RENEWAL
Greenwood Z WieserCanadaAmy Elsner UNQUALIFIED
Francesco M SlusarskiArgentinaIoni Bowcher RENEWAL
Maisha L DoeBrazilAmy Elsner QUALIFIED
Costa N SergiSpainElwin Sharvill NEGOTIATION
Nicolas M MaletBrazilXuxue Feng NEW
Isabel Z DoeArgentinaOnyama Limba PROPOSAL
David N CaudySpainOnyama Limba PROPOSAL
Munro U TollnerArgentinaStephen Shaw NEGOTIATION
Aika P WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer G MaletBrazilElwin Sharvill QUALIFIED
Juan L StockhamItalyAmy Elsner QUALIFIED
Clifford B TollnerSpainOnyama Limba NEW
Rodrigues Q GillianRussiaStephen Shaw NEGOTIATION
Costa K AlbaresCanadaXuxue Feng NEGOTIATION
Munro V TollnerCanadaBernardo Dominic NEGOTIATION
Ricardo G SergiIndiaIvan Magalhaes RENEWAL
Nicolas Q SergiItalyAnna Fali UNQUALIFIED
Jeanfrancois Y PoquetteUnited KingdomXuxue Feng RENEWAL
Isabel W OldroydArgentinaAmy Elsner UNQUALIFIED
Juan U SergiAustraliaOnyama Limba QUALIFIED
Leon B OldroydUnited KingdomAsiya Javayant NEGOTIATION
Nicolas K InouyeGermanyAsiya Javayant NEGOTIATION
Wickens I AlbaresArgentinaOnyama Limba NEW
Frozen Columns
Name
Stacey U Gillian
Faith T Rulapaugh
Jones K Doe
Isabel W Garufi
Antonio F Marrier
Silvio B Royster
David F Kusko
Julie X Whobrey
Johnson C Darakjy
Sinclair B Doe
Smith E Kolmetz
Jones A Malet
David H Stenseth
Arvin C Wieser
Kadeem B Figeroa
Alejandro P Briddick
David Y Bolognia
Jefferson X Venere
Johnson P Venere
Maisha Y Rulapaugh
Faith W Inouye
Cody E Malet
Isabel D Tollner
Munro Z Kolmetz
Smith T Amigon
Kaitlin H Marrier
Jefferson N Schemmer
Mayumi K Paprocki
Murillo S Marrier
Stacey R Paprocki
Tony F Shinko
Isabel S Rulapaugh
Chavez G Ruta
Jones Z Chui
Tony T Flosi
Smith Q Sergi
Munro B Albares
Aruna M Butt
Salvatore J Iturbide
Sinclair E Sergi
Cody J Darakjy
Leon V Gaucho
Jefferson Y Malet
Kaitlin I Stenseth
Jennifer T Kolmetz
Sinclair J Shinko
Sinclair N Venere
Maisha U Kolmetz
Morrow C Rulapaugh
Aditya I Iturbide
IdCountryDate
1000United Kingdom2025-09-05
1001Japan2025-09-14
1002India2025-09-26
1003Brazil2025-09-28
1004Germany2025-09-21
1005Canada2025-09-14
1006Russia2025-09-30
1007United Kingdom2025-09-15
1008France2025-09-25
1009Canada2025-09-19
1010United Kingdom2025-09-27
1011India2025-09-11
1012India2025-09-05
1013Australia2025-10-01
1014United Kingdom2025-09-30
1015India2025-09-07
1016France2025-09-27
1017France2025-09-04
1018India2025-09-21
1019United Kingdom2025-09-03
1020Canada2025-09-18
1021Germany2025-10-01
1022Australia2025-09-19
1023Spain2025-10-01
1024Argentina2025-09-18
1025Brazil2025-09-09
1026Russia2025-09-13
1027Italy2025-09-23
1028Spain2025-09-15
1029Japan2025-09-07
1030Brazil2025-09-13
1031Italy2025-09-29
1032Argentina2025-09-24
1033Brazil2025-09-22
1034Spain2025-09-04
1035Japan2025-09-19
1036Russia2025-09-20
1037India2025-09-17
1038Brazil2025-09-17
1039Brazil2025-09-07
1040Germany2025-09-12
1041Australia2025-09-12
1042United Kingdom2025-09-08
1043Australia2025-09-06
1044Brazil2025-09-25
1045Spain2025-09-06
1046Brazil2025-09-14
1047India2025-09-17
1048Brazil2025-09-26
1049Australia2025-09-30

On-Demand Data

NameIdCountryDate
James T Butt1000Argentina2025-10-01
Izzy G Ferencz1001Germany2025-09-13
Julie B Briddick1002Italy2025-09-23
Deepesh T Caudy1003Spain2025-09-05
Rodrigues W Shinko1004Canada2025-09-05
Clifford G Malet1005Brazil2025-09-19
Arvin B Foller1006Spain2025-09-28
Jeanfrancois V Amigon1007Argentina2025-09-11
Maria B Dilliard1008Germany2025-09-27
Emily P Slusarski1009Japan2025-09-06
Mujtaba Y Gaucho1010Russia2025-09-07
Costa D Figeroa1011Japan2025-09-27
Emily T Perin1012France2025-09-21
Ivar M Poquette1013Italy2025-09-14
Juan X Saylors1014Argentina2025-09-20
Morrow I Briddick1015France2025-09-27
Nicolas E Malet1016Australia2025-09-25
Misaki E Gillian1017France2025-09-19
Kadeem X Malet1018Australia2025-09-06
Jefferson G Darakjy1019India2025-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens O BologniaFranceAmy Elsner NEW
Leon F SlusarskiArgentinaAmy Elsner PROPOSAL
Francesco T WaycottCanadaStephen Shaw RENEWAL
Mujtaba J GarufiIndiaIvan Magalhaes RENEWAL
Deepesh M PerinJapanIvan Magalhaes NEW
Clifford A BologniaUnited KingdomIoni Bowcher NEGOTIATION
Darci S PaprockiAustraliaElwin Sharvill QUALIFIED
Greenwood T GarufiArgentinaIoni Bowcher QUALIFIED
Cody R DarakjyGermanyAnna Fali PROPOSAL
Chavez Z BriddickRussiaOnyama Limba NEGOTIATION
Kadeem A BriddickJapanAsiya Javayant RENEWAL
Francesco U PerinBrazilAnna Fali PROPOSAL
Mayumi O SaylorsRussiaXuxue Feng NEW
Francesco P FollerCanadaIoni Bowcher QUALIFIED
Isabel E CaldareraCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois D VenereAustraliaStephen Shaw UNQUALIFIED
Darci O OstroskyGermanyBernardo Dominic PROPOSAL
Mayumi J AmigonJapanAsiya Javayant QUALIFIED
Julie F GarufiItalyBernardo Dominic RENEWAL
Aruna O ChuiRussiaAmy Elsner NEGOTIATION
Alejandro C StockhamFranceOnyama Limba PROPOSAL
Silvio K AmigonBrazilAsiya Javayant PROPOSAL
Rodrigues Y FollerCanadaElwin Sharvill NEGOTIATION
David G DoeRussiaAmy Elsner NEW
Aruna I RoysterCanadaOnyama Limba NEGOTIATION
Ricardo J NestleBrazilIoni Bowcher PROPOSAL
Greenwood N VenereAustraliaStephen Shaw UNQUALIFIED
Claire D SaylorsGermanyIvan Magalhaes NEGOTIATION
Salvatore M GauchoJapanIvan Magalhaes NEGOTIATION
Antonio N RutaCanadaElwin Sharvill QUALIFIED
Leja P NestleBrazilElwin Sharvill PROPOSAL
Misaki J GlickGermanyAsiya Javayant NEGOTIATION
Murillo O BowleySpainXuxue Feng QUALIFIED
Claire L TollnerIndiaBernardo Dominic UNQUALIFIED
Salvatore M RimItalyAsiya Javayant NEGOTIATION
Smith E NickaItalyAmy Elsner RENEWAL
Clifford R GlickAustraliaOnyama Limba NEW
Kaitlin Z OstroskyCanadaIoni Bowcher UNQUALIFIED
Maisha I MacleadJapanAsiya Javayant RENEWAL
Cody G SchemmerBrazilElwin Sharvill 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>