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
Francesco H NestleRussiaAmy Elsner NEGOTIATION
Maria Y FerenczCanadaBernardo Dominic UNQUALIFIED
Ricardo I VocelkaCanadaAnna Fali QUALIFIED
Antonio Z FlosiGermanyAnna Fali RENEWAL
Murillo R DoeItalyIvan Magalhaes NEW
Ricardo A ButtAustraliaIvan Magalhaes RENEWAL
Aruna V BowleyItalyBernardo Dominic NEGOTIATION
David D WhobreyJapanOnyama Limba NEGOTIATION
Arvin D OldroydItalyAsiya Javayant QUALIFIED
Jefferson U MaletJapanXuxue Feng QUALIFIED
Octavia V TollnerIndiaIvan Magalhaes QUALIFIED
Ashley H KuskoGermanyStephen Shaw PROPOSAL
Morrow J BriddickRussiaAmy Elsner RENEWAL
David O DarakjyJapanXuxue Feng UNQUALIFIED
Cody W RoysterFranceAmy Elsner NEW
Maria D MaletGermanyIvan Magalhaes PROPOSAL
Aruna A WhobreyRussiaXuxue Feng PROPOSAL
Mujtaba V CampainJapanAsiya Javayant RENEWAL
Johnson Y IturbideRussiaOnyama Limba NEW
Tony F StensethItalyStephen Shaw RENEWAL
Stacey P StockhamUnited KingdomAmy Elsner QUALIFIED
Munro W MacleadRussiaIvan Magalhaes RENEWAL
Kadeem M CaldareraJapanAmy Elsner RENEWAL
Jeanfrancois D MorascaBrazilXuxue Feng RENEWAL
Ashley C ShinkoUnited KingdomIoni Bowcher NEW
Aditya X MaletFranceAsiya Javayant RENEWAL
Claire U RimArgentinaAmy Elsner UNQUALIFIED
Octavia E RimRussiaBernardo Dominic NEGOTIATION
Alejandro J NickaSpainOnyama Limba UNQUALIFIED
Antonio O MaletItalyBernardo Dominic NEGOTIATION
Rodrigues F RoysterFranceElwin Sharvill UNQUALIFIED
Smith Z GauchoSpainOnyama Limba NEW
Jones C AmigonGermanyStephen Shaw RENEWAL
Jones A MaletJapanXuxue Feng RENEWAL
Smith Z AmigonArgentinaXuxue Feng UNQUALIFIED
Antonio L ShinkoIndiaAmy Elsner QUALIFIED
Aruna B WieserSpainAnna Fali UNQUALIFIED
Wickens G BologniaUnited KingdomIvan Magalhaes PROPOSAL
Deepesh E MaletRussiaIoni Bowcher QUALIFIED
Juan H SchemmerArgentinaIvan Magalhaes NEW
Misaki M KuskoUnited KingdomElwin Sharvill PROPOSAL
Ricardo Q SchemmerCanadaIvan Magalhaes QUALIFIED
Jefferson U GauchoArgentinaIvan Magalhaes UNQUALIFIED
Claire N WaycottIndiaStephen Shaw NEGOTIATION
Salvatore L SchemmerRussiaStephen Shaw UNQUALIFIED
Greenwood Y GillianItalyAsiya Javayant PROPOSAL
Kaitlin O WhobreySpainIvan Magalhaes NEW
Isabel A NickaArgentinaXuxue Feng NEGOTIATION
Sinclair I AlbaresFranceBernardo Dominic QUALIFIED
Aditya F RimItalyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar O DarakjyRussiaStephen Shaw PROPOSAL
Kadeem X AlbaresBrazilStephen Shaw NEW
Wickens U GillianJapanElwin Sharvill NEGOTIATION
Smith W WaycottAustraliaBernardo Dominic UNQUALIFIED
Izzy J PoquetteSpainIoni Bowcher NEGOTIATION
Aruna T MarrierRussiaOnyama Limba PROPOSAL
Julie V TollnerItalyAsiya Javayant NEW
Clifford X RimJapanStephen Shaw QUALIFIED
James V ShinkoFranceAmy Elsner NEGOTIATION
Maisha S MorascaSpainAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya A BologniaRussia2025-09-20Printing Dimensions RENEWAL30Onyama Limba
1001Salvatore Z FerenczRussia2025-09-14Chapman, Ross E Esq PROPOSAL27Onyama Limba
1002Juan L MaletJapan2025-09-09Feiner Bros RENEWAL47Anna Fali
1003Leja B FerenczUnited Kingdom2025-09-23Commercial Press RENEWAL94Asiya Javayant
1004Mayumi C WhobreyFrance2025-08-26Dorl, James J Esq PROPOSAL68Anna Fali
1005Jones P RoysterSpain2025-09-20Chapman, Ross E Esq NEGOTIATION81Anna Fali
1006Juan T NestleBrazil2025-09-22Printing Dimensions PROPOSAL26Bernardo Dominic
1007Kadeem S BowleyArgentina2025-09-24Chapman, Ross E Esq PROPOSAL82Elwin Sharvill
1008Rodrigues M FerenczArgentina2025-09-19Dorl, James J Esq PROPOSAL99Anna Fali
1009Faith Q IturbideJapan2025-09-23Chemel, James L Cpa NEW62Anna Fali
1010Jones B RutaJapan2025-09-06Chemel, James L Cpa UNQUALIFIED48Onyama Limba
1011Francesco I AlbaresIndia2025-09-02Benton, John B Jr RENEWAL6Ioni Bowcher
1012David K IturbideCanada2025-08-26Benton, John B Jr PROPOSAL53Ioni Bowcher
1013Chavez M CaldareraSpain2025-09-13Feltz Printing Service UNQUALIFIED38Onyama Limba
1014Smith L WaycottCanada2025-08-27Buckley Miller Wright QUALIFIED84Elwin Sharvill
1015Morrow U NickaGermany2025-09-03King, Christopher A Esq PROPOSAL12Xuxue Feng
1016Greenwood L DilliardArgentina2025-08-29Dorl, James J Esq QUALIFIED80Onyama Limba
1017Rodrigues W FlosiArgentina2025-08-29Feltz Printing Service NEW50Ivan Magalhaes
1018Adams Q PoquetteAustralia2025-09-04Feltz Printing Service RENEWAL86Bernardo Dominic
1019Silvio G AlbaresGermany2025-09-12Buckley Miller Wright NEW84Anna Fali
1020Julie A RulapaughFrance2025-09-06Printing Dimensions QUALIFIED28Bernardo Dominic
1021Silvio F MaletArgentina2025-09-07Chanay, Jeffrey A Esq RENEWAL86Ioni Bowcher
1022Wickens E MarrierJapan2025-09-02Morlong Associates NEGOTIATION43Ivan Magalhaes
1023Maria F AlbaresArgentina2025-08-30Chanay, Jeffrey A Esq RENEWAL13Asiya Javayant
1024Clifford G PaprockiFrance2025-09-01Truhlar And Truhlar Attys NEW62Elwin Sharvill
1025Jones R VenereJapan2025-09-06Chemel, James L Cpa NEGOTIATION53Onyama Limba
1026Isabel S GauchoItaly2025-08-28Chemel, James L Cpa UNQUALIFIED86Xuxue Feng
1027Claire G RulapaughItaly2025-09-13Commercial Press QUALIFIED50Asiya Javayant
1028Sinclair D MarrierArgentina2025-09-19Morlong Associates RENEWAL24Elwin Sharvill
1029Sinclair A MarrierAustralia2025-09-22Commercial Press RENEWAL40Amy Elsner
1030Faith V OldroydBrazil2025-08-26Chanay, Jeffrey A Esq QUALIFIED20Bernardo Dominic
1031Aruna C AmigonArgentina2025-09-13Chanay, Jeffrey A Esq RENEWAL76Xuxue Feng
1032Juan R NickaRussia2025-09-10Chanay, Jeffrey A Esq RENEWAL81Onyama Limba
1033Aika G VocelkaUnited Kingdom2025-09-12Buckley Miller Wright UNQUALIFIED82Ioni Bowcher
1034Chavez B InouyeBrazil2025-09-19Printing Dimensions RENEWAL71Anna Fali
1035Izzy J PoquetteIndia2025-08-28Buckley Miller Wright NEGOTIATION47Bernardo Dominic
1036Leja O KuskoFrance2025-09-23Truhlar And Truhlar Attys PROPOSAL22Bernardo Dominic
1037Alejandro F DoeJapan2025-08-31Printing Dimensions RENEWAL26Onyama Limba
1038Arvin H VocelkaGermany2025-09-11Chapman, Ross E Esq UNQUALIFIED81Ivan Magalhaes
1039Faith B NickaIndia2025-08-30Morlong Associates NEW6Amy Elsner
1040Cody G MarrierArgentina2025-09-04Truhlar And Truhlar Attys PROPOSAL50Xuxue Feng
1041Jennifer N AmigonIndia2025-09-01Chapman, Ross E Esq NEGOTIATION30Elwin Sharvill
1042Morrow M NestleIndia2025-09-08Rangoni Of Florence QUALIFIED19Stephen Shaw
1043James W ChuiSpain2025-09-07Benton, John B Jr NEGOTIATION87Xuxue Feng
1044Chavez X ShinkoJapan2025-08-27Chanay, Jeffrey A Esq NEGOTIATION89Elwin Sharvill
1045Smith W FollerFrance2025-09-07Commercial Press UNQUALIFIED17Stephen Shaw
1046Tony V NickaAustralia2025-09-22King, Christopher A Esq UNQUALIFIED78Asiya Javayant
1047Morrow S FlosiSpain2025-09-21Printing Dimensions UNQUALIFIED83Onyama Limba
1048Aruna F GauchoRussia2025-08-29Feltz Printing Service RENEWAL93Stephen Shaw
1049Misaki M NickaSpain2025-09-11Chapman, Ross E Esq PROPOSAL98Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Arvin F VenereFranceIoni Bowcher QUALIFIED
Silvio F CaldareraItalyAsiya Javayant QUALIFIED
Antonio E NestleFranceOnyama Limba UNQUALIFIED
Aditya N IturbideJapanStephen Shaw PROPOSAL
Leon S CaudyBrazilStephen Shaw UNQUALIFIED
Claire J RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues I PerinArgentinaXuxue Feng UNQUALIFIED
Izzy E VenereIndiaXuxue Feng NEGOTIATION
Emily B RulapaughJapanStephen Shaw NEGOTIATION
Mujtaba T RutaFranceStephen Shaw UNQUALIFIED
Cody R MacleadFranceXuxue Feng NEW
Cody B WaycottSpainAnna Fali QUALIFIED
Mayumi T FlosiItalyAmy Elsner NEW
Leja Q OstroskyItalyStephen Shaw NEW
Emily V CaudyRussiaAnna Fali UNQUALIFIED
Jeanfrancois A WieserBrazilAsiya Javayant UNQUALIFIED
Greenwood M FollerUnited KingdomIoni Bowcher RENEWAL
Julie G GlickIndiaOnyama Limba RENEWAL
Maria W FollerIndiaBernardo Dominic RENEWAL
Deepesh C RimGermanyStephen Shaw QUALIFIED
Jefferson H SchemmerAustraliaAnna Fali NEW
Kaitlin L BriddickJapanAsiya Javayant QUALIFIED
Stacey H DarakjyBrazilOnyama Limba UNQUALIFIED
Kadeem J AlbaresArgentinaXuxue Feng RENEWAL
Leja S ChuiGermanyOnyama Limba UNQUALIFIED
Tony W SaylorsSpainXuxue Feng NEW
Izzy T CaldareraGermanyXuxue Feng NEW
Ashley D FerenczIndiaBernardo Dominic QUALIFIED
Leon X DoeSpainIoni Bowcher NEGOTIATION
Jefferson V RulapaughJapanAmy Elsner NEW
Maisha B AlbaresBrazilStephen Shaw PROPOSAL
Mayumi H WaycottItalyAnna Fali NEGOTIATION
Cody U DilliardSpainBernardo Dominic NEGOTIATION
Jeanfrancois M PerinAustraliaStephen Shaw PROPOSAL
Morrow Q CaldareraArgentinaAsiya Javayant NEGOTIATION
Aruna J SaylorsRussiaBernardo Dominic UNQUALIFIED
Francesco S BowleyBrazilIoni Bowcher PROPOSAL
Leja N InouyeSpainXuxue Feng NEGOTIATION
Ashley D VocelkaRussiaStephen Shaw PROPOSAL
Antonio T MacleadUnited KingdomElwin Sharvill PROPOSAL
Nicolas I CaldareraJapanAnna Fali QUALIFIED
Greenwood O CaudyCanadaStephen Shaw NEGOTIATION
Isabel C SchemmerCanadaXuxue Feng NEW
Leon V FigeroaSpainXuxue Feng NEW
Jones E WhobreyArgentinaXuxue Feng UNQUALIFIED
Johnson O MaletFranceIoni Bowcher PROPOSAL
Nicolas Q ChuiRussiaBernardo Dominic NEGOTIATION
Morrow Z PerinSpainOnyama Limba NEW
Jennifer S StockhamGermanyIvan Magalhaes NEW
Jeanfrancois X GauchoJapanXuxue Feng UNQUALIFIED
Frozen Columns
Name
Julie O Figeroa
Morrow E Poquette
Murillo V Royster
Jefferson D Slusarski
Juan Q Caudy
Maria U Maclead
Aruna C Amigon
Kadeem J Albares
Costa P Bowley
Claire X Gillian
Alejandro Q Kusko
Salvatore Z Caldarera
Emily U Bowley
Maisha H Ruta
Octavia B Rim
James R Slusarski
Aditya K Gillian
Misaki R Perin
Kadeem N Gaucho
Alejandro G Saylors
Emily I Caudy
Mujtaba A Chui
Wickens S Bowley
Costa D Venere
Silvio F Saylors
Aruna S Gillian
Rodrigues S Garufi
Cody J Bolognia
Aditya F Garufi
Clifford N Garufi
Izzy M Ruta
David K Butt
Rodrigues N Malet
Chavez V Iturbide
Alejandro E Morasca
Maria S Poquette
Leon X Iturbide
Arvin H Morasca
Tony U Ruta
Stacey A Wieser
Jefferson Y Schemmer
Morrow B Whobrey
Aika D Oldroyd
Julie M Malet
Deepesh T Foller
Francesco G Flosi
Cody M Slusarski
Alejandro G Foller
Smith G Chui
Juan C Ostrosky
IdCountryDate
1000Italy2025-09-21
1001Australia2025-09-16
1002Japan2025-09-14
1003Spain2025-08-29
1004Japan2025-09-16
1005Japan2025-09-17
1006Argentina2025-09-16
1007Canada2025-08-28
1008Russia2025-09-14
1009Australia2025-09-02
1010India2025-09-11
1011Canada2025-09-07
1012Canada2025-09-21
1013Italy2025-09-23
1014United Kingdom2025-09-08
1015Canada2025-09-12
1016India2025-08-31
1017Japan2025-09-17
1018Japan2025-09-20
1019Spain2025-08-27
1020India2025-09-20
1021Russia2025-09-09
1022Spain2025-08-30
1023France2025-09-10
1024Russia2025-09-24
1025Australia2025-09-17
1026India2025-09-17
1027India2025-09-06
1028Russia2025-09-10
1029Germany2025-08-31
1030France2025-08-31
1031India2025-09-04
1032Canada2025-09-22
1033Argentina2025-09-13
1034France2025-09-24
1035United Kingdom2025-09-13
1036France2025-09-19
1037Spain2025-09-22
1038Argentina2025-08-27
1039Argentina2025-08-27
1040Japan2025-09-20
1041Spain2025-09-14
1042Canada2025-09-22
1043Australia2025-09-05
1044Spain2025-08-29
1045Russia2025-08-26
1046France2025-09-17
1047Italy2025-09-03
1048India2025-09-13
1049United Kingdom2025-08-27

On-Demand Data

NameIdCountryDate
Clifford T Kolmetz1000Germany2025-08-27
Darci A Campain1001Russia2025-09-20
Nicolas F Kolmetz1002France2025-08-28
Juan S Bowley1003Brazil2025-09-07
Julie C Wieser1004Spain2025-09-04
Izzy A Amigon1005Brazil2025-09-02
Darci A Bolognia1006Russia2025-09-05
Darci I Kusko1007Japan2025-09-05
Nicolas Q Paprocki1008Argentina2025-09-20
Ivar W Inouye1009Germany2025-09-18
Smith A Bowley1010Canada2025-09-16
Salvatore J Gillian1011Brazil2025-09-24
Emily M Gillian1012India2025-09-01
Smith C Darakjy1013India2025-09-07
Munro X Foller1014France2025-09-07
Aika U Caudy1015France2025-08-27
Morrow P Ruta1016Canada2025-08-28
Salvatore R Inouye1017Canada2025-09-12
Mujtaba A Rulapaugh1018Germany2025-09-18
Darci U Tollner1019Germany2025-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo K DarakjyRussiaIoni Bowcher PROPOSAL
James R VenereItalyAmy Elsner NEW
Emily W WieserGermanyIoni Bowcher PROPOSAL
Silvio E SchemmerFranceStephen Shaw NEGOTIATION
Wickens Z IturbideCanadaAnna Fali QUALIFIED
Maisha L ButtBrazilAnna Fali NEGOTIATION
Juan Z MaletCanadaStephen Shaw NEGOTIATION
Julie R FollerRussiaIoni Bowcher PROPOSAL
Jeanfrancois P FerenczBrazilBernardo Dominic NEGOTIATION
Jennifer Q DoeCanadaAnna Fali NEGOTIATION
Deepesh J FerenczAustraliaAnna Fali NEGOTIATION
Munro G VocelkaFranceStephen Shaw QUALIFIED
Darci I CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Mayumi B ButtFranceIvan Magalhaes UNQUALIFIED
Ivar D VocelkaIndiaOnyama Limba UNQUALIFIED
Jennifer N FlosiIndiaXuxue Feng NEGOTIATION
Mayumi V VocelkaSpainAsiya Javayant QUALIFIED
Chavez G AlbaresCanadaIvan Magalhaes PROPOSAL
Claire H WhobreyGermanyElwin Sharvill PROPOSAL
Salvatore L CaldareraItalyAmy Elsner QUALIFIED
Faith H GarufiCanadaOnyama Limba UNQUALIFIED
Aruna G FerenczJapanAsiya Javayant NEGOTIATION
Emily X ButtArgentinaElwin Sharvill QUALIFIED
Izzy X RimFranceIvan Magalhaes UNQUALIFIED
Emily D OstroskyCanadaXuxue Feng NEGOTIATION
Greenwood Y MaletGermanyOnyama Limba RENEWAL
Emily U InouyeSpainBernardo Dominic UNQUALIFIED
Clifford E VenereAustraliaXuxue Feng RENEWAL
Darci E FlosiFranceIoni Bowcher UNQUALIFIED
Arvin A FollerBrazilStephen Shaw QUALIFIED
Aruna D SlusarskiRussiaIvan Magalhaes PROPOSAL
Clifford N BowleyGermanyXuxue Feng UNQUALIFIED
Chavez W MacleadItalyStephen Shaw QUALIFIED
David Z NestleUnited KingdomElwin Sharvill NEW
Murillo H MorascaCanadaAmy Elsner PROPOSAL
Greenwood D BowleyCanadaAsiya Javayant UNQUALIFIED
Arvin J FollerIndiaAmy Elsner QUALIFIED
Claire C BologniaGermanyBernardo Dominic NEW
Ivar N AlbaresSpainStephen Shaw PROPOSAL
Ricardo T NestleBrazilIvan Magalhaes 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>