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
Smith W GarufiJapanStephen Shaw PROPOSAL
Deepesh F ChuiSpainXuxue Feng PROPOSAL
Smith G VenereIndiaAsiya Javayant PROPOSAL
Antonio Q NickaArgentinaElwin Sharvill UNQUALIFIED
Misaki H StensethAustraliaAnna Fali QUALIFIED
Leja M FollerAustraliaElwin Sharvill RENEWAL
Sinclair F MarrierSpainOnyama Limba UNQUALIFIED
Cody L MarrierFranceElwin Sharvill UNQUALIFIED
Jefferson Q OldroydGermanyXuxue Feng QUALIFIED
Salvatore J OstroskyUnited KingdomXuxue Feng RENEWAL
David Y WieserIndiaOnyama Limba PROPOSAL
Nicolas U NestleJapanElwin Sharvill NEW
Julie T WaycottAustraliaXuxue Feng PROPOSAL
Chavez X ButtArgentinaAsiya Javayant UNQUALIFIED
Faith X BowleyUnited KingdomAsiya Javayant NEW
Salvatore L TollnerFranceAmy Elsner NEW
Francesco O SergiItalyXuxue Feng PROPOSAL
Kadeem R WieserSpainAmy Elsner QUALIFIED
Jefferson B GillianRussiaAnna Fali UNQUALIFIED
Alejandro Y MaletCanadaAmy Elsner NEGOTIATION
Jeanfrancois I AmigonIndiaIvan Magalhaes RENEWAL
Aika X FerenczGermanyXuxue Feng RENEWAL
James F GillianBrazilIvan Magalhaes UNQUALIFIED
David Y NickaUnited KingdomOnyama Limba PROPOSAL
Chavez K RulapaughSpainIvan Magalhaes PROPOSAL
Rodrigues U WieserSpainIoni Bowcher NEGOTIATION
Jefferson K OldroydAustraliaBernardo Dominic RENEWAL
Maisha S IturbideJapanStephen Shaw QUALIFIED
Ivar U AmigonBrazilIoni Bowcher NEW
Faith J RulapaughSpainStephen Shaw QUALIFIED
Faith W FlosiFranceStephen Shaw PROPOSAL
Ashley Z PerinArgentinaOnyama Limba QUALIFIED
Julie L SlusarskiIndiaAsiya Javayant RENEWAL
Adams A AlbaresUnited KingdomAnna Fali RENEWAL
Maria R DilliardAustraliaXuxue Feng UNQUALIFIED
Kaitlin U FigeroaFranceXuxue Feng NEW
Johnson V WaycottCanadaIvan Magalhaes NEW
Morrow L WhobreyCanadaElwin Sharvill PROPOSAL
Faith G PaprockiUnited KingdomIvan Magalhaes RENEWAL
Claire X KolmetzBrazilXuxue Feng NEW
Arvin H MorascaGermanyStephen Shaw NEGOTIATION
Ricardo F SaylorsCanadaBernardo Dominic NEGOTIATION
Mayumi S PaprockiFranceAsiya Javayant QUALIFIED
Ashley O KolmetzBrazilAmy Elsner PROPOSAL
Cody W OstroskyIndiaIoni Bowcher NEGOTIATION
Octavia A StockhamIndiaIvan Magalhaes UNQUALIFIED
Izzy N PoquetteCanadaStephen Shaw NEGOTIATION
Stacey B SaylorsItalyBernardo Dominic NEW
Ricardo F CampainJapanAmy Elsner NEW
Juan M TollnerJapanAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Leon I FigeroaAustraliaAnna Fali RENEWAL
James F FigeroaJapanBernardo Dominic NEGOTIATION
Costa X NestleCanadaXuxue Feng RENEWAL
Sinclair G ButtGermanyIoni Bowcher RENEWAL
Juan S AlbaresAustraliaIoni Bowcher NEGOTIATION
Tony B ChuiJapanElwin Sharvill UNQUALIFIED
Jefferson N GauchoJapanAmy Elsner PROPOSAL
Julie T KuskoUnited KingdomAsiya Javayant RENEWAL
Kadeem A StensethItalyElwin Sharvill NEGOTIATION
Wickens M BowleyFranceXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi Y CaldareraFrance2025-10-19Truhlar And Truhlar Attys RENEWAL37Bernardo Dominic
1001Ivar E RutaItaly2025-10-18Commercial Press UNQUALIFIED57Ioni Bowcher
1002Smith W MacleadCanada2025-10-15Feltz Printing Service NEW79Elwin Sharvill
1003Leon X OstroskyAustralia2025-10-12Dorl, James J Esq NEW60Onyama Limba
1004Izzy R CampainGermany2025-10-10Truhlar And Truhlar Attys NEGOTIATION33Stephen Shaw
1005Ashley N KolmetzIndia2025-10-04Dorl, James J Esq QUALIFIED16Ioni Bowcher
1006Ricardo D RimBrazil2025-09-29Truhlar And Truhlar Attys PROPOSAL53Asiya Javayant
1007Cody Y MaletArgentina2025-09-25Benton, John B Jr QUALIFIED36Elwin Sharvill
1008Misaki M GlickSpain2025-10-19King, Christopher A Esq PROPOSAL62Bernardo Dominic
1009Jefferson F VocelkaItaly2025-10-09Buckley Miller Wright NEGOTIATION97Xuxue Feng
1010Isabel S SlusarskiUnited Kingdom2025-09-25Rousseaux, Michael Esq NEW59Ivan Magalhaes
1011Leja M StensethRussia2025-09-23Truhlar And Truhlar Attys NEGOTIATION89Anna Fali
1012Mujtaba O GlickGermany2025-10-08Commercial Press PROPOSAL97Ioni Bowcher
1013Salvatore L SchemmerUnited Kingdom2025-10-21Truhlar And Truhlar Attys NEW74Elwin Sharvill
1014Salvatore T ChuiGermany2025-10-20Chemel, James L Cpa UNQUALIFIED96Ivan Magalhaes
1015Kaitlin G GlickCanada2025-10-08Feltz Printing Service RENEWAL30Amy Elsner
1016Misaki F MacleadSpain2025-10-08Rangoni Of Florence UNQUALIFIED16Asiya Javayant
1017Alejandro M RimItaly2025-09-22Commercial Press QUALIFIED72Onyama Limba
1018Faith A GauchoJapan2025-09-30King, Christopher A Esq QUALIFIED7Asiya Javayant
1019Octavia Z BologniaIndia2025-09-26Rousseaux, Michael Esq RENEWAL17Stephen Shaw
1020Jones H SchemmerAustralia2025-10-14Dorl, James J Esq QUALIFIED62Anna Fali
1021Octavia J KuskoFrance2025-09-23Rousseaux, Michael Esq QUALIFIED67Ivan Magalhaes
1022Aditya S RimUnited Kingdom2025-10-05Morlong Associates QUALIFIED5Stephen Shaw
1023Cody U NestleArgentina2025-10-13Truhlar And Truhlar Attys QUALIFIED52Ioni Bowcher
1024Aditya S RutaUnited Kingdom2025-10-02Rangoni Of Florence NEGOTIATION16Bernardo Dominic
1025Adams U NickaFrance2025-10-19Feiner Bros RENEWAL70Asiya Javayant
1026Kaitlin S ButtCanada2025-10-01Chanay, Jeffrey A Esq PROPOSAL74Amy Elsner
1027David I InouyeUnited Kingdom2025-10-20Benton, John B Jr NEGOTIATION24Asiya Javayant
1028Antonio W FollerIndia2025-09-28Truhlar And Truhlar Attys NEW6Stephen Shaw
1029Misaki U PaprockiIndia2025-10-04King, Christopher A Esq PROPOSAL54Bernardo Dominic
1030Maisha L WaycottSpain2025-09-27Commercial Press NEGOTIATION42Amy Elsner
1031Morrow N StensethRussia2025-10-16Dorl, James J Esq PROPOSAL34Ivan Magalhaes
1032Mayumi E VocelkaAustralia2025-09-28Truhlar And Truhlar Attys UNQUALIFIED51Bernardo Dominic
1033Misaki I CaudyFrance2025-10-05King, Christopher A Esq NEW22Ivan Magalhaes
1034Chavez Z RoysterItaly2025-09-22Feltz Printing Service RENEWAL34Anna Fali
1035Aika L WaycottItaly2025-10-05Feiner Bros UNQUALIFIED85Bernardo Dominic
1036Octavia T TollnerItaly2025-10-01Benton, John B Jr NEGOTIATION60Amy Elsner
1037Nicolas D MarrierJapan2025-10-09Feiner Bros NEGOTIATION36Bernardo Dominic
1038Ricardo L SlusarskiUnited Kingdom2025-09-24Rousseaux, Michael Esq PROPOSAL85Ioni Bowcher
1039Chavez P MaletSpain2025-10-01Chanay, Jeffrey A Esq RENEWAL28Xuxue Feng
1040James H PoquetteArgentina2025-10-20Morlong Associates UNQUALIFIED58Elwin Sharvill
1041Stacey U VenereCanada2025-10-12Feltz Printing Service QUALIFIED56Stephen Shaw
1042Smith F PaprockiBrazil2025-09-22Truhlar And Truhlar Attys QUALIFIED11Stephen Shaw
1043Aruna R MarrierSpain2025-10-21Buckley Miller Wright NEGOTIATION30Stephen Shaw
1044Johnson K TollnerArgentina2025-10-13Truhlar And Truhlar Attys RENEWAL84Ivan Magalhaes
1045Leja L MaletIndia2025-09-26Chemel, James L Cpa RENEWAL29Xuxue Feng
1046Tony N BologniaIndia2025-10-11Feltz Printing Service QUALIFIED11Amy Elsner
1047Jennifer A FollerSpain2025-10-21Feltz Printing Service UNQUALIFIED62Onyama Limba
1048Alejandro A StensethGermany2025-10-13Benton, John B Jr QUALIFIED6Xuxue Feng
1049Isabel H AmigonArgentina2025-10-02Buckley Miller Wright NEW6Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Tony Q BriddickAustraliaAmy Elsner NEGOTIATION
Jones P DoeIndiaElwin Sharvill RENEWAL
Darci J TollnerRussiaXuxue Feng UNQUALIFIED
Jeanfrancois Q SaylorsRussiaXuxue Feng RENEWAL
Ivar N AmigonAustraliaBernardo Dominic PROPOSAL
Adams J OstroskySpainAsiya Javayant RENEWAL
Aditya Y FollerFranceElwin Sharvill RENEWAL
Isabel F CaudyRussiaIoni Bowcher NEGOTIATION
Julie G OldroydArgentinaAsiya Javayant NEGOTIATION
James F SchemmerJapanAnna Fali UNQUALIFIED
Arvin N ShinkoSpainAsiya Javayant NEW
Jones S BowleyCanadaAnna Fali QUALIFIED
James B SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Jones D RutaRussiaOnyama Limba PROPOSAL
Ashley S BologniaItalyAnna Fali RENEWAL
Izzy W InouyeGermanyAmy Elsner QUALIFIED
Misaki R OldroydSpainAmy Elsner QUALIFIED
Smith S FollerSpainXuxue Feng PROPOSAL
Clifford O StensethUnited KingdomAnna Fali PROPOSAL
Jefferson U NickaGermanyElwin Sharvill NEW
Morrow G GillianJapanIoni Bowcher NEW
James X PerinSpainXuxue Feng RENEWAL
Aika C PoquetteSpainIoni Bowcher NEGOTIATION
Morrow D BriddickAustraliaIvan Magalhaes UNQUALIFIED
Sinclair T FigeroaCanadaIoni Bowcher QUALIFIED
Isabel Q FerenczJapanAnna Fali NEW
Alejandro U RoysterBrazilAmy Elsner RENEWAL
Adams G CaudyIndiaAnna Fali UNQUALIFIED
Jeanfrancois Y GauchoSpainAmy Elsner RENEWAL
Alejandro Y DarakjyCanadaElwin Sharvill PROPOSAL
Maisha K AmigonFranceStephen Shaw UNQUALIFIED
James P PaprockiBrazilOnyama Limba NEGOTIATION
Sinclair C KolmetzAustraliaStephen Shaw NEGOTIATION
Antonio B SchemmerUnited KingdomOnyama Limba NEW
Claire N RoysterAustraliaStephen Shaw UNQUALIFIED
David T OstroskyCanadaStephen Shaw NEGOTIATION
Wickens H DarakjyBrazilOnyama Limba UNQUALIFIED
Juan M RoysterBrazilAmy Elsner NEW
Aika H StockhamRussiaAsiya Javayant NEGOTIATION
Morrow X SchemmerSpainBernardo Dominic PROPOSAL
Kaitlin Q FlosiItalyOnyama Limba PROPOSAL
Chavez W BologniaJapanIvan Magalhaes UNQUALIFIED
Claire E ShinkoUnited KingdomBernardo Dominic NEGOTIATION
Sinclair N CampainItalyAsiya Javayant RENEWAL
Greenwood O SaylorsCanadaXuxue Feng UNQUALIFIED
Misaki G RutaUnited KingdomElwin Sharvill QUALIFIED
Kaitlin I NestleIndiaBernardo Dominic NEW
Costa L WieserAustraliaAnna Fali UNQUALIFIED
Ashley W CaudyUnited KingdomStephen Shaw PROPOSAL
Deepesh B WhobreySpainIoni Bowcher RENEWAL
Frozen Columns
Name
Aruna W Ruta
Jennifer G Inouye
Darci R Doe
Aditya N Caudy
Francesco K Butt
Greenwood D Chui
Ivar B Tollner
Johnson K Campain
Smith C Paprocki
Sinclair Y Sergi
Juan Y Poquette
Mayumi S Tollner
Jennifer J Butt
Cody T Glick
Salvatore E Caudy
Aruna Z Malet
Jefferson V Bowley
Kaitlin C Marrier
Chavez Z Marrier
Jennifer E Flosi
Kaitlin V Stenseth
Maisha Y Foller
Leja W Schemmer
Wickens T Kusko
Adams K Paprocki
Octavia K Sergi
Claire K Shinko
Aika P Schemmer
Aruna I Dilliard
Jeanfrancois X Royster
Claire R Garufi
Kadeem V Kusko
Kaitlin L Poquette
Jeanfrancois P Maclead
Morrow P Nicka
Jefferson R Oldroyd
Izzy K Sergi
Ricardo I Gillian
Julie P Gillian
Aruna G Waycott
Wickens K Perin
Jennifer G Stenseth
Johnson M Chui
Rodrigues K Garufi
Aditya O Gillian
Izzy T Malet
Tony T Bolognia
Maisha U Doe
Ashley D Caldarera
Salvatore N Gaucho
IdCountryDate
1000Spain2025-10-17
1001Russia2025-09-30
1002Canada2025-10-14
1003France2025-10-01
1004Australia2025-10-07
1005United Kingdom2025-09-25
1006France2025-10-15
1007France2025-10-04
1008France2025-10-20
1009Australia2025-10-20
1010Canada2025-09-26
1011Canada2025-09-26
1012Spain2025-10-17
1013Canada2025-09-22
1014Australia2025-10-18
1015Canada2025-10-04
1016Argentina2025-10-08
1017Spain2025-10-09
1018Japan2025-10-01
1019Brazil2025-09-23
1020Russia2025-10-12
1021Russia2025-10-09
1022United Kingdom2025-09-24
1023India2025-10-05
1024India2025-10-12
1025Australia2025-10-05
1026Italy2025-10-10
1027Russia2025-09-26
1028Canada2025-10-11
1029France2025-10-03
1030Germany2025-09-24
1031France2025-09-27
1032Japan2025-10-21
1033Japan2025-09-24
1034Australia2025-10-18
1035Russia2025-10-16
1036Argentina2025-10-04
1037Italy2025-09-23
1038Germany2025-10-14
1039France2025-09-24
1040Spain2025-10-02
1041United Kingdom2025-09-24
1042Canada2025-10-16
1043Brazil2025-10-02
1044Japan2025-10-21
1045Brazil2025-10-18
1046Germany2025-09-27
1047Spain2025-09-25
1048Spain2025-09-26
1049Australia2025-10-08

On-Demand Data

NameIdCountryDate
Murillo D Ruta1000Russia2025-10-03
David T Tollner1001Spain2025-10-11
Jennifer D Flosi1002Canada2025-10-20
Alejandro N Inouye1003United Kingdom2025-10-17
Jennifer Z Kusko1004India2025-09-28
Juan T Malet1005Brazil2025-10-16
Francesco A Nestle1006Argentina2025-10-14
Kaitlin I Gillian1007Spain2025-10-01
Jefferson D Dilliard1008Germany2025-10-01
Leon Q Slusarski1009France2025-10-06
Claire R Darakjy1010United Kingdom2025-10-03
Antonio M Flosi1011France2025-09-23
Adams O Schemmer1012Italy2025-10-03
Silvio R Stockham1013Russia2025-09-26
Juan V Ostrosky1014Russia2025-09-22
Aditya T Albares1015Argentina2025-10-12
Rodrigues K Stenseth1016Japan2025-10-01
Tony E Caudy1017Brazil2025-09-27
David M Butt1018Japan2025-10-05
Morrow Z Schemmer1019United Kingdom2025-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci P PerinCanadaAsiya Javayant NEW
Salvatore Y SergiJapanIoni Bowcher PROPOSAL
Clifford S PaprockiArgentinaAsiya Javayant NEGOTIATION
Morrow W CaldareraAustraliaAsiya Javayant PROPOSAL
Stacey U BriddickBrazilIoni Bowcher QUALIFIED
Leon H DilliardUnited KingdomOnyama Limba NEW
Julie W GillianSpainIoni Bowcher NEW
Kadeem P WieserCanadaBernardo Dominic UNQUALIFIED
Adams F AmigonFranceOnyama Limba UNQUALIFIED
Aika E MarrierBrazilBernardo Dominic NEGOTIATION
Jennifer K CampainJapanXuxue Feng RENEWAL
Wickens B MorascaCanadaBernardo Dominic UNQUALIFIED
Mayumi K MaletArgentinaAsiya Javayant NEW
Cody B VocelkaIndiaOnyama Limba QUALIFIED
Johnson R WieserUnited KingdomXuxue Feng UNQUALIFIED
Leon E IturbideGermanyBernardo Dominic PROPOSAL
Stacey D DilliardCanadaOnyama Limba PROPOSAL
Clifford T NestleSpainIoni Bowcher NEGOTIATION
Ricardo N SlusarskiFranceIoni Bowcher NEGOTIATION
Ivar K ChuiJapanAsiya Javayant NEW
Kaitlin A KolmetzCanadaOnyama Limba NEW
Darci I TollnerUnited KingdomXuxue Feng PROPOSAL
Johnson C GauchoItalyElwin Sharvill RENEWAL
James G MorascaSpainXuxue Feng PROPOSAL
Kaitlin H ChuiItalyAmy Elsner NEW
Alejandro H SchemmerItalyBernardo Dominic NEW
Kadeem J StockhamItalyAnna Fali UNQUALIFIED
Darci D CaldareraArgentinaIoni Bowcher NEW
Darci W WaycottGermanyIvan Magalhaes RENEWAL
Antonio K SchemmerIndiaIoni Bowcher NEGOTIATION
David T FigeroaJapanAsiya Javayant NEW
Francesco F RutaItalyStephen Shaw NEGOTIATION
Misaki T AmigonArgentinaAsiya Javayant QUALIFIED
Faith Y BologniaGermanyIoni Bowcher NEW
Aika J FollerRussiaBernardo Dominic QUALIFIED
Jennifer E RoysterGermanyOnyama Limba QUALIFIED
Nicolas K AlbaresFranceAnna Fali UNQUALIFIED
Rodrigues N GlickRussiaAnna Fali QUALIFIED
Darci R SergiCanadaOnyama Limba UNQUALIFIED
Murillo R DarakjyAustraliaIoni Bowcher PROPOSAL

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