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
Jennifer F SchemmerSpainAmy Elsner PROPOSAL
Emily V DarakjyIndiaElwin Sharvill UNQUALIFIED
Emily R TollnerRussiaAsiya Javayant PROPOSAL
Jones X KolmetzArgentinaIoni Bowcher NEW
Mayumi L AmigonCanadaXuxue Feng QUALIFIED
Adams I MaletJapanElwin Sharvill UNQUALIFIED
Isabel A StockhamAustraliaIvan Magalhaes QUALIFIED
Julie I StensethIndiaAnna Fali PROPOSAL
Aruna T MarrierCanadaOnyama Limba NEGOTIATION
Clifford F DilliardCanadaStephen Shaw QUALIFIED
Izzy G ShinkoGermanyAnna Fali UNQUALIFIED
Salvatore R RutaUnited KingdomIoni Bowcher NEGOTIATION
Smith G RoysterFranceIoni Bowcher NEW
Francesco X RimRussiaAnna Fali RENEWAL
Julie Q KuskoItalyAmy Elsner NEW
Munro O CaudySpainAmy Elsner NEGOTIATION
Leon B SergiSpainElwin Sharvill NEW
Kaitlin K OstroskyAustraliaAsiya Javayant QUALIFIED
Greenwood Y NickaCanadaStephen Shaw NEGOTIATION
Arvin Z CaudyUnited KingdomElwin Sharvill QUALIFIED
Alejandro E GlickCanadaIoni Bowcher PROPOSAL
Leon A WieserUnited KingdomAnna Fali PROPOSAL
Arvin M CaldareraAustraliaAsiya Javayant PROPOSAL
Cody E VenereCanadaXuxue Feng RENEWAL
James W StockhamSpainIoni Bowcher UNQUALIFIED
Darci N KolmetzJapanXuxue Feng RENEWAL
Murillo U RutaFranceAsiya Javayant QUALIFIED
Jones Q PaprockiGermanyAmy Elsner NEW
Nicolas L PaprockiCanadaAmy Elsner PROPOSAL
Kaitlin E KuskoRussiaStephen Shaw QUALIFIED
Jennifer A AmigonGermanyXuxue Feng QUALIFIED
Sinclair G DarakjySpainIoni Bowcher NEW
Julie H RutaUnited KingdomIvan Magalhaes QUALIFIED
Greenwood Q VocelkaSpainBernardo Dominic PROPOSAL
James Z ChuiGermanyAsiya Javayant RENEWAL
Aika D GarufiFranceStephen Shaw UNQUALIFIED
Maisha R FlosiFranceStephen Shaw NEW
Jennifer N ButtAustraliaAsiya Javayant UNQUALIFIED
Ricardo F DilliardUnited KingdomIoni Bowcher QUALIFIED
Misaki Q ChuiAustraliaAmy Elsner RENEWAL
Octavia K ButtArgentinaStephen Shaw NEW
Maria L BowleyAustraliaXuxue Feng NEW
Deepesh N CaudyIndiaAsiya Javayant NEGOTIATION
Antonio A GauchoItalyIoni Bowcher UNQUALIFIED
Francesco I AlbaresGermanyBernardo Dominic RENEWAL
Jefferson E MaletSpainXuxue Feng NEGOTIATION
Jeanfrancois M CaldareraAustraliaAmy Elsner QUALIFIED
Jennifer Z FerenczArgentinaBernardo Dominic PROPOSAL
Izzy M InouyeFranceAmy Elsner PROPOSAL
Julie P NickaIndiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
David F ShinkoIndiaAnna Fali UNQUALIFIED
Jeanfrancois X AmigonAustraliaAmy Elsner RENEWAL
Morrow N GlickCanadaStephen Shaw NEW
Julie P WhobreyFranceBernardo Dominic PROPOSAL
Deepesh X RulapaughGermanyAmy Elsner NEW
Alejandro R MacleadGermanyIvan Magalhaes NEW
Costa S GillianFranceAsiya Javayant PROPOSAL
Kadeem S CampainCanadaStephen Shaw NEW
David B GauchoIndiaStephen Shaw QUALIFIED
Antonio F PerinCanadaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson S VenereCanada2025-08-08Buckley Miller Wright RENEWAL67Onyama Limba
1001Mujtaba Y DilliardSpain2025-08-13Commercial Press NEGOTIATION59Amy Elsner
1002Salvatore W ChuiJapan2025-07-30Chanay, Jeffrey A Esq NEW78Bernardo Dominic
1003Octavia T MaletUnited Kingdom2025-08-07Feltz Printing Service QUALIFIED27Onyama Limba
1004Jennifer N NestleBrazil2025-08-08King, Christopher A Esq RENEWAL58Elwin Sharvill
1005Adams M CaudyCanada2025-08-02Rousseaux, Michael Esq QUALIFIED23Asiya Javayant
1006Mujtaba C GlickSpain2025-07-31Dorl, James J Esq UNQUALIFIED50Stephen Shaw
1007Izzy P WaycottIndia2025-08-21Chapman, Ross E Esq NEW12Amy Elsner
1008Deepesh Z NestleRussia2025-08-06Chemel, James L Cpa NEGOTIATION57Onyama Limba
1009Stacey E ShinkoItaly2025-08-28Feltz Printing Service QUALIFIED54Ivan Magalhaes
1010Claire R IturbideGermany2025-08-09Commercial Press PROPOSAL50Elwin Sharvill
1011Darci X IturbideItaly2025-08-05Buckley Miller Wright NEGOTIATION19Bernardo Dominic
1012Francesco P TollnerArgentina2025-08-28Commercial Press QUALIFIED38Xuxue Feng
1013Misaki X PerinSpain2025-08-11Dorl, James J Esq NEGOTIATION67Elwin Sharvill
1014Murillo L AlbaresArgentina2025-08-14Feltz Printing Service RENEWAL4Amy Elsner
1015Francesco V FigeroaArgentina2025-07-30Feltz Printing Service RENEWAL36Ivan Magalhaes
1016Tony M FollerAustralia2025-08-27Truhlar And Truhlar Attys UNQUALIFIED0Ivan Magalhaes
1017Smith F ButtAustralia2025-08-03Rangoni Of Florence UNQUALIFIED53Ioni Bowcher
1018Stacey N ButtAustralia2025-08-28Dorl, James J Esq QUALIFIED51Asiya Javayant
1019James S CampainAustralia2025-08-13King, Christopher A Esq NEGOTIATION41Amy Elsner
1020Leon W OldroydBrazil2025-08-02Morlong Associates RENEWAL6Ivan Magalhaes
1021Kadeem W GarufiRussia2025-08-25Chanay, Jeffrey A Esq PROPOSAL54Onyama Limba
1022Chavez X SergiCanada2025-08-02Truhlar And Truhlar Attys NEGOTIATION76Elwin Sharvill
1023Jennifer A VocelkaRussia2025-07-30Feiner Bros RENEWAL74Elwin Sharvill
1024Misaki I AmigonFrance2025-08-06Commercial Press UNQUALIFIED18Ivan Magalhaes
1025Misaki H FerenczRussia2025-08-09Commercial Press NEGOTIATION78Elwin Sharvill
1026Antonio Z FerenczRussia2025-08-14Feltz Printing Service QUALIFIED35Onyama Limba
1027Antonio J CaudyFrance2025-08-06Commercial Press RENEWAL14Anna Fali
1028Antonio O FollerItaly2025-08-28Rangoni Of Florence NEW25Stephen Shaw
1029Emily Z RoysterFrance2025-08-06Feiner Bros RENEWAL97Anna Fali
1030Greenwood U MarrierBrazil2025-08-19Commercial Press QUALIFIED66Amy Elsner
1031Darci Y SaylorsRussia2025-08-01Printing Dimensions NEW34Elwin Sharvill
1032Jennifer Z AmigonGermany2025-08-18Benton, John B Jr UNQUALIFIED91Elwin Sharvill
1033Munro F RimItaly2025-08-19Feiner Bros NEW8Asiya Javayant
1034Chavez M KolmetzCanada2025-08-08Chemel, James L Cpa RENEWAL93Ivan Magalhaes
1035Johnson C GillianItaly2025-08-16King, Christopher A Esq QUALIFIED13Xuxue Feng
1036David S OldroydCanada2025-08-06Rangoni Of Florence QUALIFIED8Asiya Javayant
1037Adams I PaprockiFrance2025-08-26Feltz Printing Service NEGOTIATION25Onyama Limba
1038Murillo M SergiJapan2025-08-12Chapman, Ross E Esq UNQUALIFIED7Bernardo Dominic
1039Murillo Q NickaIndia2025-08-12Morlong Associates UNQUALIFIED78Amy Elsner
1040Silvio B DarakjyIndia2025-08-14Feltz Printing Service PROPOSAL19Xuxue Feng
1041Greenwood X SchemmerAustralia2025-08-12King, Christopher A Esq PROPOSAL43Ioni Bowcher
1042Wickens V FerenczUnited Kingdom2025-08-16Chemel, James L Cpa NEGOTIATION76Elwin Sharvill
1043Misaki N PerinArgentina2025-08-17Printing Dimensions PROPOSAL22Bernardo Dominic
1044Morrow D MarrierFrance2025-08-01Truhlar And Truhlar Attys NEGOTIATION59Amy Elsner
1045Smith B GillianGermany2025-07-31Truhlar And Truhlar Attys RENEWAL51Xuxue Feng
1046Mayumi O KuskoArgentina2025-08-07Rangoni Of Florence UNQUALIFIED21Elwin Sharvill
1047Antonio A DoeArgentina2025-08-21Feltz Printing Service UNQUALIFIED76Xuxue Feng
1048Rodrigues A RimArgentina2025-08-24Chapman, Ross E Esq PROPOSAL29Stephen Shaw
1049Johnson N NestleJapan2025-07-31Commercial Press NEW19Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois J BologniaItalyAmy Elsner RENEWAL
Morrow S WieserGermanyStephen Shaw NEGOTIATION
Antonio F SchemmerSpainXuxue Feng NEW
Octavia Y IturbideSpainIoni Bowcher NEW
Faith F RimGermanyBernardo Dominic UNQUALIFIED
Salvatore M NickaFranceOnyama Limba UNQUALIFIED
Aditya N SchemmerCanadaIoni Bowcher PROPOSAL
Darci P MorascaSpainStephen Shaw RENEWAL
Juan X InouyeAustraliaBernardo Dominic PROPOSAL
Leon C FollerAustraliaOnyama Limba NEGOTIATION
Cody C OstroskyUnited KingdomAsiya Javayant PROPOSAL
Leja E NickaBrazilBernardo Dominic RENEWAL
Adams P MarrierCanadaIoni Bowcher PROPOSAL
Jones N NestleRussiaIoni Bowcher QUALIFIED
Costa M WhobreyGermanyAsiya Javayant QUALIFIED
Mayumi I FerenczJapanElwin Sharvill RENEWAL
Johnson F GlickJapanAnna Fali UNQUALIFIED
Kadeem Z OldroydGermanyAmy Elsner NEW
Adams C CaudyRussiaOnyama Limba QUALIFIED
Smith X WhobreyAustraliaAnna Fali NEW
Jennifer K WieserAustraliaAmy Elsner QUALIFIED
Maria D GauchoCanadaXuxue Feng UNQUALIFIED
Kaitlin V MacleadGermanyBernardo Dominic NEW
Cody M RutaRussiaStephen Shaw QUALIFIED
Munro G StensethAustraliaBernardo Dominic PROPOSAL
Leja G StockhamSpainIvan Magalhaes QUALIFIED
Wickens X DarakjyUnited KingdomOnyama Limba QUALIFIED
Deepesh V RulapaughAustraliaAmy Elsner UNQUALIFIED
Jones V IturbideItalyOnyama Limba NEGOTIATION
Arvin R OstroskyRussiaIoni Bowcher RENEWAL
Maisha W WaycottBrazilElwin Sharvill NEGOTIATION
Arvin Z FerenczFranceBernardo Dominic UNQUALIFIED
Smith C MaletFranceAnna Fali QUALIFIED
David F IturbideIndiaBernardo Dominic QUALIFIED
Morrow S PerinCanadaOnyama Limba NEGOTIATION
Jennifer H DoeCanadaAnna Fali NEGOTIATION
Murillo Y SlusarskiJapanStephen Shaw QUALIFIED
Maisha B OldroydGermanyBernardo Dominic NEGOTIATION
Chavez U OldroydGermanyAmy Elsner UNQUALIFIED
Aruna L TollnerUnited KingdomAmy Elsner RENEWAL
Cody Z ShinkoGermanyBernardo Dominic PROPOSAL
Nicolas Q NickaItalyAmy Elsner PROPOSAL
Deepesh G FlosiSpainOnyama Limba NEGOTIATION
Faith F GauchoUnited KingdomElwin Sharvill PROPOSAL
David E MaletCanadaAnna Fali PROPOSAL
Mayumi K MorascaGermanyXuxue Feng QUALIFIED
Jones S ShinkoAustraliaAmy Elsner PROPOSAL
Francesco Z BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer Z SergiBrazilIoni Bowcher RENEWAL
Johnson Z BowleyRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Juan L Ferencz
Adams C Inouye
Cody N Iturbide
Francesco Y Vocelka
James R Malet
Emily C Ruta
Leja T Sergi
Sinclair H Darakjy
Mujtaba Y Rulapaugh
Francesco L Nicka
Francesco H Waycott
Faith U Darakjy
Aruna E Doe
Octavia V Garufi
Clifford C Ostrosky
Ricardo Z Poquette
Rodrigues B Venere
Aika T Sergi
Chavez H Slusarski
Munro D Stenseth
Leja J Nestle
Cody P Morasca
Murillo S Ferencz
Faith J Albares
Clifford W Gillian
Aditya L Schemmer
Jeanfrancois O Amigon
Silvio O Darakjy
Cody G Doe
Sinclair O Caudy
Arvin X Slusarski
Ashley F Doe
Leon W Poquette
Cody T Whobrey
Darci K Caudy
Nicolas H Malet
Ashley A Ferencz
Jeanfrancois T Marrier
Jennifer O Stockham
Octavia W Malet
Aika L Caldarera
Izzy H Flosi
Mayumi W Maclead
Darci Z Doe
Faith G Rulapaugh
Greenwood S Stenseth
Deepesh M Ostrosky
Mayumi K Stockham
Octavia K Glick
Mujtaba Y Bolognia
IdCountryDate
1000Brazil2025-08-05
1001Brazil2025-08-11
1002India2025-08-13
1003Argentina2025-08-14
1004Italy2025-08-13
1005Brazil2025-08-12
1006Spain2025-08-12
1007Canada2025-08-25
1008Brazil2025-08-01
1009Japan2025-08-28
1010Japan2025-08-26
1011United Kingdom2025-08-01
1012India2025-08-25
1013Italy2025-08-15
1014Australia2025-08-25
1015India2025-08-27
1016United Kingdom2025-08-21
1017United Kingdom2025-08-22
1018Russia2025-08-07
1019Canada2025-08-14
1020Brazil2025-08-18
1021India2025-08-03
1022Germany2025-08-23
1023United Kingdom2025-08-23
1024Canada2025-08-08
1025India2025-08-24
1026France2025-08-24
1027Japan2025-08-28
1028India2025-07-31
1029United Kingdom2025-08-26
1030Brazil2025-08-18
1031Germany2025-08-12
1032France2025-08-12
1033Argentina2025-08-14
1034Australia2025-08-04
1035Australia2025-08-17
1036Australia2025-08-11
1037Russia2025-08-15
1038France2025-08-13
1039Russia2025-08-20
1040Australia2025-08-05
1041Russia2025-08-08
1042Italy2025-08-22
1043Canada2025-08-15
1044Brazil2025-08-22
1045United Kingdom2025-08-28
1046Australia2025-08-04
1047Germany2025-08-01
1048India2025-08-17
1049Argentina2025-08-07

On-Demand Data

NameIdCountryDate
Jones D Stockham1000Canada2025-08-02
Julie C Kusko1001Germany2025-08-13
Izzy D Inouye1002France2025-08-23
Smith M Maclead1003India2025-08-14
Jefferson L Schemmer1004India2025-08-26
Alejandro V Tollner1005United Kingdom2025-07-31
Mayumi K Inouye1006United Kingdom2025-08-09
Antonio K Malet1007Spain2025-08-12
Antonio Q Stenseth1008Japan2025-08-12
Julie Y Glick1009Canada2025-08-25
Costa R Malet1010Spain2025-08-19
Jeanfrancois H Rim1011Russia2025-08-11
Arvin O Malet1012India2025-08-13
Jennifer H Glick1013France2025-08-28
Mujtaba L Whobrey1014Australia2025-08-18
Leon S Gaucho1015United Kingdom2025-08-15
Antonio P Bowley1016France2025-08-24
Greenwood G Dilliard1017Canada2025-08-07
Silvio P Glick1018Brazil2025-08-04
Salvatore S Kolmetz1019Canada2025-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia V DilliardUnited KingdomOnyama Limba QUALIFIED
Julie N DoeCanadaIvan Magalhaes QUALIFIED
Smith J NestleGermanyIvan Magalhaes PROPOSAL
Salvatore X BowleyIndiaElwin Sharvill NEW
Ashley J MacleadFranceIoni Bowcher PROPOSAL
Darci Q AlbaresAustraliaAmy Elsner NEW
Murillo C BologniaUnited KingdomStephen Shaw PROPOSAL
Jefferson V BowleyItalyXuxue Feng RENEWAL
Johnson N TollnerItalyIvan Magalhaes PROPOSAL
Emily K PaprockiFranceOnyama Limba NEW
Izzy Q GarufiCanadaAnna Fali RENEWAL
Murillo P ButtSpainIvan Magalhaes QUALIFIED
Jones W BriddickGermanyXuxue Feng QUALIFIED
Maisha S OstroskyArgentinaOnyama Limba RENEWAL
David U BowleyRussiaAsiya Javayant RENEWAL
Kadeem N AlbaresAustraliaElwin Sharvill QUALIFIED
Octavia E KolmetzBrazilXuxue Feng NEW
Aruna T ShinkoJapanStephen Shaw NEW
David E MorascaUnited KingdomElwin Sharvill PROPOSAL
Ivar E InouyeArgentinaAmy Elsner QUALIFIED
Jennifer O KolmetzBrazilStephen Shaw NEGOTIATION
Deepesh Z AmigonBrazilOnyama Limba QUALIFIED
Julie X SchemmerGermanyXuxue Feng UNQUALIFIED
Clifford T IturbideFranceOnyama Limba RENEWAL
Clifford B PerinGermanyStephen Shaw UNQUALIFIED
Rodrigues K TollnerGermanyStephen Shaw NEW
Darci F InouyeIndiaAnna Fali QUALIFIED
Chavez U AmigonSpainBernardo Dominic RENEWAL
Smith D CaldareraUnited KingdomAsiya Javayant QUALIFIED
Sinclair S DarakjyBrazilOnyama Limba PROPOSAL
Leja H RimFranceBernardo Dominic UNQUALIFIED
Deepesh C PerinCanadaAsiya Javayant NEW
Kadeem A KolmetzItalyAmy Elsner PROPOSAL
Ricardo W MaletUnited KingdomOnyama Limba UNQUALIFIED
Aika F CaldareraAustraliaAnna Fali QUALIFIED
Kaitlin V InouyeJapanOnyama Limba NEW
Ivar J CaldareraUnited KingdomStephen Shaw PROPOSAL
Nicolas X NickaJapanXuxue Feng NEW
Isabel Y InouyeIndiaXuxue Feng RENEWAL
Aditya H OldroydUnited KingdomXuxue Feng RENEWAL

<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>