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 Z ChuiAustraliaIvan Magalhaes QUALIFIED
Leon Z RimArgentinaElwin Sharvill NEW
Alejandro F ShinkoFranceElwin Sharvill PROPOSAL
Maisha N ButtSpainAmy Elsner NEGOTIATION
Chavez G VocelkaFranceIvan Magalhaes NEGOTIATION
Stacey K TollnerFranceIvan Magalhaes RENEWAL
Stacey X BologniaItalyAnna Fali PROPOSAL
Johnson V SergiAustraliaIvan Magalhaes UNQUALIFIED
Stacey Q CampainUnited KingdomAsiya Javayant NEW
Julie R MarrierArgentinaStephen Shaw NEW
Smith F MaletRussiaStephen Shaw UNQUALIFIED
Stacey T VocelkaFranceStephen Shaw NEGOTIATION
Murillo E FollerBrazilStephen Shaw NEW
James U FlosiRussiaXuxue Feng NEGOTIATION
Juan G MaletFranceAmy Elsner NEGOTIATION
Leja X ButtCanadaAmy Elsner NEGOTIATION
Arvin S SaylorsUnited KingdomBernardo Dominic PROPOSAL
Costa Y TollnerItalyBernardo Dominic QUALIFIED
Juan U DoeCanadaElwin Sharvill PROPOSAL
Jefferson Q ButtItalyIoni Bowcher UNQUALIFIED
Darci E FigeroaGermanyAmy Elsner NEW
Rodrigues D MacleadFranceElwin Sharvill NEW
Francesco X StockhamRussiaOnyama Limba PROPOSAL
Juan H PaprockiRussiaAsiya Javayant NEGOTIATION
Aika T GillianBrazilAsiya Javayant UNQUALIFIED
Costa I BowleyJapanBernardo Dominic UNQUALIFIED
Jones V PoquetteAustraliaElwin Sharvill QUALIFIED
Rodrigues Z WaycottItalyOnyama Limba NEGOTIATION
David T WieserBrazilAnna Fali UNQUALIFIED
Munro J GarufiArgentinaStephen Shaw NEW
Chavez C ChuiJapanBernardo Dominic QUALIFIED
James X NestleFranceStephen Shaw NEW
Maria H VenereJapanOnyama Limba NEGOTIATION
Johnson X StockhamBrazilAnna Fali RENEWAL
Ashley A BologniaCanadaAsiya Javayant UNQUALIFIED
Cody U SlusarskiSpainAsiya Javayant PROPOSAL
Faith O PoquetteArgentinaStephen Shaw RENEWAL
Maria Z BowleyArgentinaAsiya Javayant NEW
Mujtaba V StensethGermanyAmy Elsner PROPOSAL
Morrow P GlickUnited KingdomElwin Sharvill NEW
Costa V OstroskyItalyOnyama Limba UNQUALIFIED
Salvatore Z CaldareraItalyAsiya Javayant PROPOSAL
Ivar O NestleIndiaIoni Bowcher RENEWAL
Ashley H RulapaughIndiaIvan Magalhaes QUALIFIED
Aruna X PerinJapanBernardo Dominic NEW
Alejandro T NickaAustraliaStephen Shaw NEW
Smith Y GauchoArgentinaIoni Bowcher PROPOSAL
Clifford Q OstroskySpainAnna Fali NEW
Faith J RulapaughIndiaXuxue Feng RENEWAL
Julie Y WhobreyGermanyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem L PerinJapanBernardo Dominic NEW
Ashley T MarrierJapanXuxue Feng RENEWAL
Jones Q OstroskyUnited KingdomAnna Fali NEW
Leja U CampainArgentinaElwin Sharvill UNQUALIFIED
Jeanfrancois H FigeroaBrazilAsiya Javayant QUALIFIED
Claire I SchemmerItalyOnyama Limba QUALIFIED
Sinclair S RutaItalyOnyama Limba PROPOSAL
Octavia G MarrierArgentinaAmy Elsner NEGOTIATION
Kaitlin C PoquetteUnited KingdomOnyama Limba NEGOTIATION
Clifford B VocelkaJapanStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki E PaprockiUnited Kingdom2025-07-25Feltz Printing Service RENEWAL96Ivan Magalhaes
1001Antonio B BowleyBrazil2025-06-30King, Christopher A Esq QUALIFIED91Elwin Sharvill
1002Morrow L MaletArgentina2025-07-26Chapman, Ross E Esq NEW6Elwin Sharvill
1003Juan U FollerIndia2025-07-01Buckley Miller Wright NEW38Amy Elsner
1004Nicolas Q BriddickGermany2025-07-01Printing Dimensions NEW99Elwin Sharvill
1005Ricardo O PoquetteBrazil2025-07-05Printing Dimensions NEGOTIATION49Xuxue Feng
1006Antonio Q BriddickArgentina2025-07-17Chanay, Jeffrey A Esq PROPOSAL48Stephen Shaw
1007Munro A CampainIndia2025-07-10Morlong Associates RENEWAL18Anna Fali
1008Leja A BologniaIndia2025-07-26Truhlar And Truhlar Attys QUALIFIED92Ioni Bowcher
1009Mayumi R MorascaFrance2025-07-13Printing Dimensions RENEWAL38Xuxue Feng
1010Julie B FigeroaCanada2025-07-14Rousseaux, Michael Esq NEGOTIATION2Asiya Javayant
1011Ricardo E GarufiIndia2025-07-01Morlong Associates UNQUALIFIED31Anna Fali
1012Antonio W SergiArgentina2025-07-21King, Christopher A Esq QUALIFIED37Bernardo Dominic
1013Claire A FlosiGermany2025-07-09Truhlar And Truhlar Attys UNQUALIFIED73Asiya Javayant
1014Jennifer U GillianUnited Kingdom2025-06-30Rangoni Of Florence NEW96Amy Elsner
1015Maisha U SchemmerArgentina2025-07-12Rousseaux, Michael Esq PROPOSAL94Stephen Shaw
1016Misaki A FollerJapan2025-07-26Buckley Miller Wright NEGOTIATION16Ivan Magalhaes
1017Jeanfrancois L VenereRussia2025-07-18Buckley Miller Wright UNQUALIFIED42Ioni Bowcher
1018Aika L SergiCanada2025-06-30Dorl, James J Esq PROPOSAL28Amy Elsner
1019Johnson B BriddickCanada2025-07-09Dorl, James J Esq UNQUALIFIED53Bernardo Dominic
1020Leon N FerenczBrazil2025-07-15Feltz Printing Service PROPOSAL33Ivan Magalhaes
1021Munro Z StensethAustralia2025-07-14Morlong Associates NEW32Bernardo Dominic
1022Jeanfrancois U SaylorsIndia2025-07-09Chanay, Jeffrey A Esq QUALIFIED19Elwin Sharvill
1023Maisha I PoquetteGermany2025-07-19Chanay, Jeffrey A Esq UNQUALIFIED93Ivan Magalhaes
1024Mayumi B RimGermany2025-07-01Buckley Miller Wright NEGOTIATION56Elwin Sharvill
1025Faith K KuskoRussia2025-07-08Commercial Press RENEWAL17Anna Fali
1026Murillo D AmigonGermany2025-07-29Commercial Press UNQUALIFIED78Anna Fali
1027Costa T CampainJapan2025-07-17Benton, John B Jr PROPOSAL96Ivan Magalhaes
1028James M CaldareraAustralia2025-07-03Rangoni Of Florence UNQUALIFIED44Onyama Limba
1029Julie U RutaAustralia2025-07-08Printing Dimensions RENEWAL55Onyama Limba
1030Wickens T DoeFrance2025-07-02Printing Dimensions NEW47Elwin Sharvill
1031Salvatore O TollnerUnited Kingdom2025-07-26Dorl, James J Esq NEGOTIATION11Anna Fali
1032Emily X SlusarskiBrazil2025-07-08Benton, John B Jr PROPOSAL90Stephen Shaw
1033Misaki L WieserRussia2025-07-10Commercial Press PROPOSAL19Elwin Sharvill
1034Ivar A OldroydSpain2025-07-12Rangoni Of Florence UNQUALIFIED88Anna Fali
1035Clifford S VocelkaJapan2025-07-15Benton, John B Jr NEW8Amy Elsner
1036Jeanfrancois R AmigonGermany2025-07-11Chapman, Ross E Esq RENEWAL60Ivan Magalhaes
1037Munro W FollerFrance2025-07-05Rangoni Of Florence QUALIFIED41Xuxue Feng
1038Isabel M PerinCanada2025-07-03Commercial Press RENEWAL45Amy Elsner
1039Silvio I VenereUnited Kingdom2025-07-19Printing Dimensions NEW64Onyama Limba
1040Darci V WieserGermany2025-07-20Chapman, Ross E Esq RENEWAL24Amy Elsner
1041Greenwood O PerinBrazil2025-07-22Commercial Press UNQUALIFIED45Onyama Limba
1042Jones I RutaBrazil2025-07-25Chapman, Ross E Esq QUALIFIED65Amy Elsner
1043Maria P RoysterSpain2025-07-06Buckley Miller Wright RENEWAL16Stephen Shaw
1044Rodrigues X InouyeRussia2025-06-30King, Christopher A Esq NEW16Elwin Sharvill
1045Aika M AmigonFrance2025-07-29Feltz Printing Service QUALIFIED35Anna Fali
1046Johnson M InouyeIndia2025-07-18Buckley Miller Wright NEGOTIATION77Amy Elsner
1047Johnson T WieserGermany2025-07-03Morlong Associates RENEWAL10Onyama Limba
1048Stacey P NestleRussia2025-07-04Morlong Associates PROPOSAL38Asiya Javayant
1049Stacey I BologniaItaly2025-07-06King, Christopher A Esq NEW32Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh V KolmetzRussiaAsiya Javayant PROPOSAL
Arvin K KolmetzGermanyAnna Fali RENEWAL
Wickens D NickaItalyIoni Bowcher PROPOSAL
Jones X RoysterIndiaBernardo Dominic NEGOTIATION
Stacey E RulapaughJapanIvan Magalhaes NEW
Mayumi I SaylorsItalyStephen Shaw UNQUALIFIED
Silvio Q RulapaughBrazilBernardo Dominic RENEWAL
Stacey P StensethItalyAmy Elsner NEW
Jennifer F GlickGermanyXuxue Feng NEW
Deepesh U ShinkoUnited KingdomXuxue Feng RENEWAL
Leon Q RimArgentinaAsiya Javayant PROPOSAL
Ricardo T DarakjyRussiaBernardo Dominic NEW
Leja Y VenereGermanyIvan Magalhaes NEGOTIATION
David J FigeroaAustraliaStephen Shaw QUALIFIED
Greenwood Q PerinIndiaAsiya Javayant PROPOSAL
Jefferson K OstroskyFranceStephen Shaw QUALIFIED
Jeanfrancois A WhobreyItalyIoni Bowcher QUALIFIED
Salvatore U RutaCanadaStephen Shaw UNQUALIFIED
Darci D GillianFranceStephen Shaw NEW
Chavez M VocelkaFranceBernardo Dominic PROPOSAL
Chavez I MorascaFranceXuxue Feng RENEWAL
Morrow X VenereArgentinaIoni Bowcher UNQUALIFIED
Deepesh Q MarrierAustraliaElwin Sharvill PROPOSAL
Darci J BowleyRussiaXuxue Feng RENEWAL
Clifford B CampainFranceIoni Bowcher PROPOSAL
Rodrigues N InouyeArgentinaXuxue Feng QUALIFIED
Leja F FlosiItalyStephen Shaw RENEWAL
Leon S NickaIndiaStephen Shaw QUALIFIED
Antonio R MaletSpainIoni Bowcher NEW
Alejandro T RimSpainIvan Magalhaes UNQUALIFIED
Ivar P ShinkoBrazilAnna Fali NEGOTIATION
Ricardo A WhobreyJapanIvan Magalhaes NEW
Wickens Q GarufiArgentinaAmy Elsner QUALIFIED
Jennifer F SergiBrazilXuxue Feng NEW
Munro G SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Kadeem L DarakjyIndiaIvan Magalhaes QUALIFIED
Salvatore U SchemmerRussiaElwin Sharvill RENEWAL
Aika Y VenereArgentinaStephen Shaw PROPOSAL
Munro U OstroskySpainIvan Magalhaes NEGOTIATION
Clifford X WhobreySpainElwin Sharvill NEW
Adams I WaycottFranceOnyama Limba PROPOSAL
Isabel P OstroskyArgentinaAnna Fali RENEWAL
Leon X SchemmerBrazilAsiya Javayant NEW
Mayumi T GillianCanadaXuxue Feng PROPOSAL
Ashley Y BologniaSpainAmy Elsner UNQUALIFIED
Jeanfrancois A GarufiBrazilAnna Fali NEGOTIATION
Costa N SergiUnited KingdomOnyama Limba RENEWAL
Clifford G MorascaRussiaBernardo Dominic RENEWAL
Antonio W PerinIndiaIvan Magalhaes UNQUALIFIED
Rodrigues Y IturbideBrazilElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Cody D Ruta
Salvatore J Caudy
Darci C Amigon
Izzy Z Kolmetz
Greenwood W Royster
Munro T Ostrosky
Emily O Bowley
Jennifer S Tollner
Rodrigues Y Inouye
Ashley F Waycott
Rodrigues E Bolognia
Julie Z Gaucho
Mayumi Z Wieser
Mayumi E Amigon
Wickens X Iturbide
Cody B Butt
Jefferson W Doe
Munro C Shinko
Faith Z Venere
Clifford D Iturbide
Adams L Shinko
Julie T Vocelka
Mayumi I Inouye
Morrow O Stenseth
Jennifer K Ferencz
Octavia E Vocelka
Jefferson I Butt
Octavia W Figeroa
Mayumi X Vocelka
Arvin D Whobrey
Johnson J Doe
David L Ferencz
Ricardo X Foller
Aditya K Oldroyd
Ashley F Shinko
Greenwood Q Foller
Mujtaba P Gillian
Greenwood K Foller
Mujtaba S Shinko
Clifford H Malet
Ashley B Nicka
Adams A Albares
Izzy O Royster
Ashley T Figeroa
Octavia T Bowley
Kadeem D Whobrey
Antonio R Schemmer
Nicolas T Darakjy
Aditya Y Stenseth
Murillo T Doe
IdCountryDate
1000Canada2025-07-16
1001Germany2025-07-24
1002Italy2025-07-12
1003United Kingdom2025-07-06
1004India2025-07-17
1005India2025-07-27
1006United Kingdom2025-07-17
1007United Kingdom2025-06-30
1008United Kingdom2025-07-24
1009Argentina2025-07-02
1010Canada2025-07-03
1011Canada2025-07-19
1012Russia2025-07-28
1013Russia2025-07-14
1014Spain2025-07-26
1015Italy2025-07-06
1016Brazil2025-07-24
1017Russia2025-07-27
1018Germany2025-07-11
1019United Kingdom2025-07-11
1020Japan2025-07-14
1021Germany2025-07-09
1022Germany2025-07-18
1023United Kingdom2025-07-23
1024Brazil2025-07-02
1025Australia2025-07-24
1026Germany2025-07-15
1027Canada2025-07-06
1028Canada2025-07-13
1029Italy2025-07-06
1030Argentina2025-07-21
1031Brazil2025-07-06
1032Germany2025-07-22
1033Italy2025-07-29
1034Spain2025-07-27
1035Italy2025-07-03
1036Canada2025-07-01
1037Canada2025-07-27
1038Brazil2025-07-14
1039Japan2025-07-21
1040India2025-06-30
1041India2025-07-21
1042France2025-07-10
1043Germany2025-07-13
1044United Kingdom2025-07-19
1045Brazil2025-07-12
1046India2025-07-27
1047Spain2025-07-01
1048Italy2025-06-30
1049Japan2025-07-23

On-Demand Data

NameIdCountryDate
Smith I Gillian1000Germany2025-07-12
Maria F Schemmer1001Russia2025-07-11
Maisha H Shinko1002United Kingdom2025-07-28
Darci S Oldroyd1003Japan2025-07-03
Cody R Whobrey1004Brazil2025-07-17
Greenwood F Glick1005France2025-07-22
Adams W Sergi1006Russia2025-07-04
David G Shinko1007Spain2025-07-01
Ivar E Caudy1008Brazil2025-07-13
Smith Z Glick1009Argentina2025-07-18
Ashley M Royster1010Argentina2025-07-15
Ivar K Vocelka1011Canada2025-07-03
Izzy N Waycott1012Brazil2025-07-24
Alejandro R Caldarera1013Italy2025-07-09
Nicolas V Schemmer1014Australia2025-07-24
Aditya H Iturbide1015Italy2025-07-12
Alejandro Q Poquette1016United Kingdom2025-07-27
Misaki J Slusarski1017United Kingdom2025-07-11
Octavia M Rulapaugh1018Brazil2025-07-01
Deepesh B Royster1019Argentina2025-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem I VenereGermanyAsiya Javayant PROPOSAL
Johnson G InouyeAustraliaOnyama Limba NEGOTIATION
Izzy K AlbaresAustraliaAmy Elsner NEGOTIATION
Nicolas C TollnerCanadaAnna Fali NEW
Kaitlin W OstroskyUnited KingdomAmy Elsner PROPOSAL
Aruna E DoeJapanXuxue Feng NEGOTIATION
Morrow N CampainItalyStephen Shaw PROPOSAL
Salvatore C BologniaItalyIoni Bowcher NEGOTIATION
Cody F RutaFranceXuxue Feng NEW
Ricardo O MarrierRussiaAnna Fali RENEWAL
Nicolas E OldroydGermanyAmy Elsner NEGOTIATION
Faith S WaycottItalyXuxue Feng RENEWAL
Claire P TollnerCanadaBernardo Dominic RENEWAL
Juan V MaletJapanElwin Sharvill NEW
Jennifer S PaprockiFranceElwin Sharvill NEGOTIATION
Kadeem R MaletFranceElwin Sharvill RENEWAL
Antonio T KolmetzRussiaBernardo Dominic PROPOSAL
Silvio K FlosiArgentinaXuxue Feng PROPOSAL
Maisha W WaycottUnited KingdomIvan Magalhaes NEW
Wickens W StensethIndiaAnna Fali RENEWAL
Jennifer P StockhamBrazilAnna Fali QUALIFIED
Adams L GillianRussiaIvan Magalhaes UNQUALIFIED
Jennifer V FerenczFranceAnna Fali NEGOTIATION
Kaitlin R RoysterItalyBernardo Dominic RENEWAL
Aruna T GarufiBrazilIoni Bowcher NEW
Clifford T TollnerRussiaOnyama Limba RENEWAL
Cody J DilliardUnited KingdomBernardo Dominic PROPOSAL
Kaitlin P PerinArgentinaOnyama Limba QUALIFIED
Salvatore L KolmetzAustraliaAmy Elsner NEW
Isabel J PoquetteIndiaAmy Elsner QUALIFIED
Arvin O FerenczBrazilOnyama Limba RENEWAL
James R SchemmerArgentinaIoni Bowcher PROPOSAL
Izzy F WieserRussiaAnna Fali PROPOSAL
Arvin Y GillianAustraliaIoni Bowcher UNQUALIFIED
Rodrigues L GlickFranceAsiya Javayant NEGOTIATION
Jones W ButtRussiaElwin Sharvill NEGOTIATION
Wickens Q ButtJapanElwin Sharvill NEGOTIATION
Rodrigues N RimAustraliaElwin Sharvill NEGOTIATION
Julie N ShinkoIndiaXuxue Feng RENEWAL
Maria D GlickIndiaElwin 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>