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 FerenczRussiaBernardo Dominic RENEWAL
Greenwood D IturbideFranceAnna Fali NEGOTIATION
Adams U RutaRussiaStephen Shaw NEW
Sinclair N BowleyBrazilIvan Magalhaes NEW
Faith B SlusarskiFranceBernardo Dominic NEGOTIATION
Faith E SlusarskiItalyIoni Bowcher QUALIFIED
Misaki Z ShinkoUnited KingdomElwin Sharvill NEW
Jones A SchemmerItalyIoni Bowcher QUALIFIED
Wickens D VenereJapanStephen Shaw NEGOTIATION
Aditya V MarrierSpainIoni Bowcher UNQUALIFIED
James I NickaCanadaXuxue Feng PROPOSAL
Leja N VenereRussiaIoni Bowcher NEGOTIATION
Darci J KuskoSpainOnyama Limba NEW
Ashley C PaprockiGermanyIoni Bowcher NEGOTIATION
Clifford B AmigonCanadaAmy Elsner NEGOTIATION
Alejandro B MarrierBrazilAsiya Javayant QUALIFIED
Clifford B VenereIndiaBernardo Dominic RENEWAL
Leja C ShinkoCanadaIoni Bowcher RENEWAL
Misaki Q NestleIndiaOnyama Limba RENEWAL
Johnson G RutaIndiaBernardo Dominic RENEWAL
Maisha B AmigonFranceStephen Shaw PROPOSAL
Kaitlin K SlusarskiSpainElwin Sharvill QUALIFIED
David W OstroskyGermanyAnna Fali RENEWAL
Darci H PoquetteRussiaAmy Elsner NEW
Adams Z CaldareraItalyBernardo Dominic NEGOTIATION
Misaki H MaletSpainElwin Sharvill NEW
Adams E InouyeArgentinaIoni Bowcher RENEWAL
Antonio Y KuskoRussiaAsiya Javayant PROPOSAL
Jeanfrancois Q MorascaGermanyOnyama Limba PROPOSAL
Ashley H GillianFranceStephen Shaw RENEWAL
Cody D DarakjyJapanBernardo Dominic NEW
Leon V GarufiJapanStephen Shaw UNQUALIFIED
Arvin L VocelkaAustraliaAsiya Javayant UNQUALIFIED
Greenwood X BowleyRussiaBernardo Dominic NEGOTIATION
Silvio V BologniaJapanBernardo Dominic PROPOSAL
Faith Z AlbaresRussiaOnyama Limba UNQUALIFIED
Kaitlin T SlusarskiJapanIoni Bowcher QUALIFIED
Alejandro Z RoysterBrazilStephen Shaw PROPOSAL
Ivar E GillianJapanIvan Magalhaes RENEWAL
Greenwood M IturbideAustraliaAsiya Javayant RENEWAL
Costa C RoysterCanadaXuxue Feng RENEWAL
Faith E FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Leja M SchemmerSpainAmy Elsner RENEWAL
Wickens E BriddickAustraliaAnna Fali RENEWAL
Emily P StensethAustraliaIoni Bowcher NEW
Aditya M GauchoArgentinaIoni Bowcher RENEWAL
Tony Q DoeUnited KingdomAnna Fali RENEWAL
Jones O NickaSpainStephen Shaw QUALIFIED
Antonio Z SlusarskiGermanyAmy Elsner PROPOSAL
Jeanfrancois M NickaJapanOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia Q NickaBrazilXuxue Feng PROPOSAL
Nicolas P GauchoGermanyIoni Bowcher NEW
Rodrigues K WhobreyGermanyAmy Elsner RENEWAL
Darci F IturbideJapanAnna Fali PROPOSAL
Rodrigues M KuskoJapanStephen Shaw NEGOTIATION
Darci H KuskoGermanyAsiya Javayant NEGOTIATION
Aika G AmigonBrazilBernardo Dominic RENEWAL
Antonio Y FollerFranceAmy Elsner RENEWAL
Cody J MaletArgentinaBernardo Dominic PROPOSAL
Chavez I ButtArgentinaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson R MarrierArgentina2025-10-06Rousseaux, Michael Esq QUALIFIED33Ivan Magalhaes
1001Isabel O RimGermany2025-09-14King, Christopher A Esq NEGOTIATION62Bernardo Dominic
1002Jefferson I SchemmerRussia2025-09-26Benton, John B Jr NEW38Onyama Limba
1003Francesco C MacleadCanada2025-10-03Printing Dimensions UNQUALIFIED62Ivan Magalhaes
1004Chavez C BriddickAustralia2025-10-10Commercial Press PROPOSAL33Asiya Javayant
1005Wickens T SaylorsRussia2025-10-07King, Christopher A Esq PROPOSAL88Xuxue Feng
1006Salvatore E BriddickJapan2025-10-02Feltz Printing Service RENEWAL55Ioni Bowcher
1007Morrow K GarufiItaly2025-09-20Benton, John B Jr UNQUALIFIED54Stephen Shaw
1008Claire W MarrierIndia2025-09-14Printing Dimensions PROPOSAL59Xuxue Feng
1009Munro Y PaprockiFrance2025-09-13Feiner Bros UNQUALIFIED78Xuxue Feng
1010Clifford X SlusarskiGermany2025-09-26Rangoni Of Florence NEGOTIATION83Xuxue Feng
1011Ricardo A InouyeIndia2025-10-01Truhlar And Truhlar Attys QUALIFIED84Xuxue Feng
1012Cody V VocelkaUnited Kingdom2025-10-05Chemel, James L Cpa NEGOTIATION30Amy Elsner
1013Aditya X RulapaughRussia2025-09-24Chanay, Jeffrey A Esq PROPOSAL43Anna Fali
1014Ricardo U RimFrance2025-09-28King, Christopher A Esq QUALIFIED67Bernardo Dominic
1015Aruna F BologniaJapan2025-10-02Feiner Bros PROPOSAL44Amy Elsner
1016Faith U InouyeAustralia2025-09-29Commercial Press NEW72Xuxue Feng
1017Aruna Z TollnerIndia2025-09-22Feiner Bros UNQUALIFIED59Elwin Sharvill
1018Francesco O SlusarskiBrazil2025-09-30Commercial Press PROPOSAL34Amy Elsner
1019Jefferson M StockhamBrazil2025-10-04Commercial Press PROPOSAL50Xuxue Feng
1020Wickens N MaletAustralia2025-10-02Truhlar And Truhlar Attys QUALIFIED3Anna Fali
1021Arvin A SchemmerAustralia2025-10-02Benton, John B Jr UNQUALIFIED4Asiya Javayant
1022Juan K DoeItaly2025-09-18King, Christopher A Esq RENEWAL88Onyama Limba
1023Izzy J OstroskyItaly2025-10-11Morlong Associates PROPOSAL31Ioni Bowcher
1024Isabel E FlosiRussia2025-09-30Chanay, Jeffrey A Esq NEW25Ivan Magalhaes
1025David X MaletArgentina2025-09-28Rangoni Of Florence RENEWAL72Elwin Sharvill
1026Francesco E OldroydAustralia2025-09-29Chanay, Jeffrey A Esq PROPOSAL48Anna Fali
1027James D CaldareraIndia2025-10-02Rousseaux, Michael Esq NEW98Ivan Magalhaes
1028Sinclair K MaletItaly2025-10-06Benton, John B Jr RENEWAL76Anna Fali
1029Greenwood X FlosiAustralia2025-09-22Chemel, James L Cpa RENEWAL24Ivan Magalhaes
1030Aika K GillianCanada2025-09-22Rangoni Of Florence UNQUALIFIED40Stephen Shaw
1031Deepesh Z RimRussia2025-10-11Rangoni Of Florence NEGOTIATION78Onyama Limba
1032Jeanfrancois B StockhamAustralia2025-10-10Buckley Miller Wright RENEWAL93Stephen Shaw
1033Jefferson J NestleItaly2025-10-01Printing Dimensions PROPOSAL61Bernardo Dominic
1034Jones V BologniaArgentina2025-09-20Rangoni Of Florence QUALIFIED2Onyama Limba
1035Salvatore H PaprockiCanada2025-10-09Chanay, Jeffrey A Esq NEW70Xuxue Feng
1036Jennifer U CaldareraGermany2025-09-18Morlong Associates NEGOTIATION9Ioni Bowcher
1037Julie Z SchemmerAustralia2025-09-25Truhlar And Truhlar Attys NEGOTIATION20Bernardo Dominic
1038Morrow Z AmigonSpain2025-10-06Feiner Bros UNQUALIFIED25Anna Fali
1039Salvatore I MorascaCanada2025-10-06King, Christopher A Esq UNQUALIFIED41Asiya Javayant
1040Leon Q GillianJapan2025-09-24Feiner Bros NEGOTIATION63Stephen Shaw
1041Claire K AmigonRussia2025-09-13Chemel, James L Cpa QUALIFIED19Asiya Javayant
1042Juan N WhobreyJapan2025-10-10Benton, John B Jr UNQUALIFIED8Stephen Shaw
1043Jones G DilliardRussia2025-09-14Commercial Press NEW5Anna Fali
1044Nicolas B WaycottJapan2025-09-23Rousseaux, Michael Esq NEGOTIATION87Stephen Shaw
1045Maisha E ChuiRussia2025-10-05Feltz Printing Service NEW76Asiya Javayant
1046Maria B CaldareraAustralia2025-09-19Chanay, Jeffrey A Esq UNQUALIFIED17Bernardo Dominic
1047Adams Q AmigonFrance2025-09-20King, Christopher A Esq QUALIFIED3Ioni Bowcher
1048Izzy P SaylorsJapan2025-10-08Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1049Ashley A BowleyCanada2025-09-13Feltz Printing Service RENEWAL85Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja M CampainItalyOnyama Limba PROPOSAL
Emily G RoysterItalyOnyama Limba UNQUALIFIED
Chavez J DarakjyBrazilAmy Elsner RENEWAL
David H CampainJapanOnyama Limba QUALIFIED
Chavez A VocelkaItalyAnna Fali PROPOSAL
Jennifer C GillianRussiaElwin Sharvill PROPOSAL
Juan I OldroydGermanyBernardo Dominic NEGOTIATION
Ashley X MaletRussiaElwin Sharvill NEGOTIATION
Stacey U FlosiUnited KingdomXuxue Feng PROPOSAL
Ricardo U CaudyCanadaIvan Magalhaes NEGOTIATION
Murillo H RimIndiaStephen Shaw NEW
Ashley H RimJapanAsiya Javayant QUALIFIED
Silvio N KuskoJapanOnyama Limba QUALIFIED
Leja P MaletBrazilOnyama Limba PROPOSAL
Claire H PoquetteSpainAnna Fali QUALIFIED
Smith I CaudySpainAsiya Javayant NEGOTIATION
Cody B AlbaresSpainStephen Shaw NEW
Juan I PerinFranceAnna Fali PROPOSAL
Sinclair D GauchoUnited KingdomAmy Elsner RENEWAL
James D GauchoItalyIvan Magalhaes QUALIFIED
Jeanfrancois P OldroydArgentinaIvan Magalhaes NEGOTIATION
Jefferson H FlosiItalyElwin Sharvill UNQUALIFIED
Tony B AmigonSpainXuxue Feng UNQUALIFIED
Smith L FerenczAustraliaAsiya Javayant UNQUALIFIED
Izzy N MarrierFranceIvan Magalhaes NEGOTIATION
Aditya O BowleySpainIvan Magalhaes PROPOSAL
Silvio N GillianArgentinaAnna Fali NEW
Munro Z WieserSpainIvan Magalhaes NEGOTIATION
Leja P MaletFranceIvan Magalhaes NEW
Leon D SaylorsArgentinaAsiya Javayant NEW
Julie O GarufiJapanBernardo Dominic PROPOSAL
Silvio Z GillianUnited KingdomAmy Elsner UNQUALIFIED
Nicolas L DarakjyArgentinaAnna Fali NEGOTIATION
Mujtaba J GlickArgentinaStephen Shaw QUALIFIED
Nicolas W CaudyBrazilIvan Magalhaes NEGOTIATION
Kadeem K ButtUnited KingdomAsiya Javayant NEW
Julie T WaycottJapanOnyama Limba UNQUALIFIED
Francesco J RimBrazilOnyama Limba NEGOTIATION
Munro R VenereFranceIvan Magalhaes NEW
Munro I SaylorsUnited KingdomXuxue Feng PROPOSAL
Sinclair L BowleyArgentinaOnyama Limba NEW
Ashley H CaldareraItalyIvan Magalhaes NEW
James O ButtRussiaOnyama Limba RENEWAL
Deepesh Y MaletUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois Z FerenczFranceStephen Shaw NEW
Clifford L DarakjyIndiaStephen Shaw PROPOSAL
Deepesh D SaylorsAustraliaElwin Sharvill PROPOSAL
Faith M GauchoArgentinaIvan Magalhaes NEGOTIATION
Aruna C KuskoGermanyXuxue Feng UNQUALIFIED
Jennifer F NickaItalyAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Misaki X Chui
Nicolas C Albares
Nicolas K Royster
Clifford F Darakjy
Leon C Rulapaugh
Jefferson B Malet
Clifford P Amigon
Darci D Ferencz
Maria C Foller
Isabel O Iturbide
Jeanfrancois X Amigon
Darci I Paprocki
Ashley R Dilliard
Jefferson P Campain
Octavia A Stockham
Tony W Chui
Johnson Y Venere
Juan K Stockham
Mujtaba I Garufi
Nicolas K Garufi
Chavez P Paprocki
Antonio W Kusko
Silvio P Garufi
Tony U Oldroyd
Leja V Darakjy
Leja H Waycott
Jones B Rulapaugh
Chavez R Briddick
Nicolas Q Rim
Maisha K Garufi
Emily W Tollner
Nicolas H Inouye
Salvatore F Ostrosky
Costa M Doe
Cody J Saylors
Nicolas J Inouye
Emily K Bolognia
Jones A Venere
Ricardo P Doe
Wickens E Darakjy
Munro D Darakjy
Leon Z Chui
Maria V Amigon
Aika V Inouye
Aditya Z Gaucho
Costa P Gaucho
Antonio E Rulapaugh
Leja W Morasca
Johnson L Chui
Rodrigues R Vocelka
IdCountryDate
1000Argentina2025-10-01
1001France2025-09-15
1002Italy2025-10-01
1003Germany2025-09-24
1004Japan2025-10-10
1005India2025-09-22
1006Japan2025-10-11
1007Australia2025-09-23
1008Brazil2025-10-10
1009India2025-10-07
1010India2025-09-18
1011United Kingdom2025-09-30
1012France2025-09-21
1013France2025-09-19
1014India2025-10-05
1015Japan2025-09-17
1016Australia2025-09-21
1017France2025-09-27
1018Italy2025-10-02
1019France2025-10-02
1020Russia2025-09-17
1021Italy2025-10-09
1022Australia2025-10-04
1023Japan2025-10-02
1024France2025-10-03
1025Japan2025-09-14
1026Italy2025-10-01
1027Japan2025-09-25
1028Canada2025-09-28
1029United Kingdom2025-09-22
1030France2025-09-16
1031Argentina2025-09-26
1032Germany2025-10-03
1033United Kingdom2025-09-13
1034Argentina2025-10-03
1035Brazil2025-10-05
1036Russia2025-09-23
1037Germany2025-09-27
1038Italy2025-09-20
1039Canada2025-09-15
1040Argentina2025-09-29
1041Brazil2025-09-13
1042Germany2025-10-02
1043Japan2025-09-18
1044Russia2025-09-13
1045Russia2025-09-29
1046Brazil2025-10-08
1047Japan2025-10-07
1048United Kingdom2025-10-08
1049Germany2025-09-17

On-Demand Data

NameIdCountryDate
Ivar U Sergi1000Spain2025-09-29
Isabel W Marrier1001Germany2025-10-07
Ricardo G Stockham1002Germany2025-09-15
Juan Q Gillian1003Canada2025-10-11
Jeanfrancois W Rulapaugh1004Spain2025-09-15
Kaitlin B Caudy1005Italy2025-10-02
Aika Q Oldroyd1006Japan2025-09-23
James O Royster1007Canada2025-10-04
Murillo E Campain1008India2025-09-29
Darci X Bowley1009Germany2025-09-17
Maria N Rulapaugh1010France2025-10-01
Kadeem L Venere1011India2025-09-15
Cody A Maclead1012Argentina2025-09-26
Nicolas Z Ferencz1013Japan2025-10-10
Emily I Rim1014Japan2025-10-07
Arvin C Schemmer1015Australia2025-09-26
Claire Y Malet1016Germany2025-10-04
Ashley Q Dilliard1017Russia2025-09-21
Smith R Paprocki1018Canada2025-09-18
Ashley E Perin1019Australia2025-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa I NickaGermanyAnna Fali RENEWAL
Aruna I SlusarskiGermanyBernardo Dominic NEGOTIATION
Alejandro D RoysterRussiaAmy Elsner QUALIFIED
Leja P MaletSpainOnyama Limba NEW
Stacey U DarakjyBrazilElwin Sharvill QUALIFIED
Silvio C MarrierCanadaAnna Fali PROPOSAL
Stacey R BologniaArgentinaIvan Magalhaes NEW
Misaki M BowleyRussiaStephen Shaw QUALIFIED
Emily J GillianCanadaStephen Shaw RENEWAL
Chavez B GauchoArgentinaXuxue Feng PROPOSAL
Clifford K AmigonSpainOnyama Limba RENEWAL
Greenwood X GillianSpainIvan Magalhaes RENEWAL
David I RutaGermanyBernardo Dominic UNQUALIFIED
Rodrigues F FerenczIndiaBernardo Dominic UNQUALIFIED
Munro I FerenczSpainAmy Elsner RENEWAL
Maria N MaletBrazilXuxue Feng UNQUALIFIED
Julie R WieserJapanBernardo Dominic QUALIFIED
Misaki Y PoquetteSpainIoni Bowcher UNQUALIFIED
Kaitlin I FlosiGermanyAsiya Javayant UNQUALIFIED
Leja W ButtArgentinaAmy Elsner PROPOSAL
Murillo M DilliardFranceStephen Shaw RENEWAL
Salvatore T MorascaUnited KingdomAsiya Javayant PROPOSAL
Julie Z AmigonSpainAnna Fali NEGOTIATION
Kadeem E BriddickBrazilOnyama Limba NEW
Aruna I NestleAustraliaAnna Fali RENEWAL
Juan C FigeroaSpainXuxue Feng PROPOSAL
Maria X DilliardIndiaXuxue Feng RENEWAL
Cody S FigeroaUnited KingdomAmy Elsner QUALIFIED
Mayumi D RulapaughFranceAmy Elsner UNQUALIFIED
Sinclair N RimGermanyBernardo Dominic NEGOTIATION
Murillo J DoeArgentinaAmy Elsner UNQUALIFIED
Clifford Y AmigonUnited KingdomAnna Fali UNQUALIFIED
Silvio B PoquetteItalyAmy Elsner QUALIFIED
Kaitlin G MaletJapanStephen Shaw RENEWAL
Adams A MaletUnited KingdomAsiya Javayant NEW
Salvatore K StensethAustraliaXuxue Feng NEW
Leon T OldroydCanadaElwin Sharvill NEW
Kadeem P PerinGermanyOnyama Limba NEGOTIATION
Darci H AlbaresAustraliaBernardo Dominic UNQUALIFIED
Kaitlin A InouyeJapanStephen Shaw 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>