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
Rodrigues E MaletAustraliaIvan Magalhaes RENEWAL
Izzy B GillianFranceAnna Fali NEW
Murillo O IturbideIndiaAsiya Javayant NEGOTIATION
Leja E RutaItalyOnyama Limba QUALIFIED
Ivar A PerinItalyStephen Shaw NEGOTIATION
Costa L CampainArgentinaAnna Fali PROPOSAL
Leja D FlosiAustraliaAmy Elsner UNQUALIFIED
Greenwood T FlosiIndiaElwin Sharvill PROPOSAL
Ashley J RoysterCanadaStephen Shaw NEW
Costa S WaycottIndiaIoni Bowcher UNQUALIFIED
Claire K DarakjyCanadaAmy Elsner UNQUALIFIED
Silvio X FlosiGermanyBernardo Dominic UNQUALIFIED
Munro C RimUnited KingdomAmy Elsner PROPOSAL
Leon D InouyeSpainIoni Bowcher QUALIFIED
Wickens C RoysterItalyIoni Bowcher RENEWAL
Leon A MacleadSpainAnna Fali QUALIFIED
Alejandro M SlusarskiBrazilAnna Fali NEW
Kaitlin N GarufiItalyOnyama Limba PROPOSAL
Kaitlin R InouyeGermanyStephen Shaw QUALIFIED
Wickens A GauchoAustraliaElwin Sharvill QUALIFIED
Jones Y FigeroaItalyAmy Elsner UNQUALIFIED
Francesco S OstroskyCanadaAsiya Javayant UNQUALIFIED
Greenwood L FerenczFranceAsiya Javayant QUALIFIED
Isabel F VocelkaGermanyElwin Sharvill PROPOSAL
Sinclair Z DilliardArgentinaOnyama Limba PROPOSAL
Morrow S GillianJapanIoni Bowcher NEGOTIATION
Murillo F OldroydArgentinaAsiya Javayant RENEWAL
Kaitlin K MaletJapanBernardo Dominic NEW
Antonio C NickaCanadaStephen Shaw UNQUALIFIED
Smith Y WieserFranceElwin Sharvill PROPOSAL
Ashley H FlosiAustraliaXuxue Feng UNQUALIFIED
Stacey C VocelkaRussiaStephen Shaw PROPOSAL
Aruna Q MorascaAustraliaBernardo Dominic RENEWAL
James F MacleadSpainIvan Magalhaes RENEWAL
Octavia I PoquetteArgentinaElwin Sharvill NEGOTIATION
Octavia I RoysterAustraliaIvan Magalhaes NEGOTIATION
Stacey O FigeroaAustraliaOnyama Limba NEGOTIATION
Alejandro C FlosiCanadaAsiya Javayant RENEWAL
Alejandro R KolmetzSpainAmy Elsner QUALIFIED
Rodrigues H SlusarskiCanadaIoni Bowcher RENEWAL
Adams H BologniaGermanyAmy Elsner NEGOTIATION
Julie X WieserSpainAnna Fali UNQUALIFIED
Adams F CaudyIndiaXuxue Feng RENEWAL
Costa I MaletBrazilAsiya Javayant NEW
Faith E MaletCanadaIoni Bowcher QUALIFIED
Leja D GillianFranceElwin Sharvill NEW
Isabel M RimFranceAsiya Javayant PROPOSAL
Jeanfrancois X RimIndiaAnna Fali RENEWAL
Cody W InouyeFranceAmy Elsner RENEWAL
Deepesh J NickaGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams T BriddickFranceBernardo Dominic NEGOTIATION
Isabel M ShinkoUnited KingdomAsiya Javayant RENEWAL
Francesco B SergiGermanyAnna Fali PROPOSAL
Ivar W BowleyFranceAsiya Javayant PROPOSAL
Aika M FigeroaItalyBernardo Dominic NEGOTIATION
Kaitlin S GarufiAustraliaStephen Shaw UNQUALIFIED
Octavia U InouyeArgentinaAmy Elsner NEW
Leon V NestleArgentinaOnyama Limba NEGOTIATION
Sinclair J RimSpainIvan Magalhaes UNQUALIFIED
Juan E MaletSpainIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie C AmigonItaly2025-09-30Rangoni Of Florence NEGOTIATION94Ioni Bowcher
1001Faith X WhobreyIndia2025-09-25Rousseaux, Michael Esq QUALIFIED11Amy Elsner
1002Salvatore X CaldareraSpain2025-10-18King, Christopher A Esq PROPOSAL14Elwin Sharvill
1003Mayumi D VocelkaFrance2025-10-05Benton, John B Jr UNQUALIFIED40Ioni Bowcher
1004Tony Z ShinkoGermany2025-09-28King, Christopher A Esq NEW95Onyama Limba
1005Clifford U ChuiUnited Kingdom2025-10-11Buckley Miller Wright NEW79Amy Elsner
1006Murillo Z OstroskySpain2025-09-20Truhlar And Truhlar Attys PROPOSAL32Onyama Limba
1007Ricardo G KuskoJapan2025-10-11Chemel, James L Cpa PROPOSAL93Amy Elsner
1008Chavez H GauchoFrance2025-10-17Rousseaux, Michael Esq NEW28Ioni Bowcher
1009Alejandro P GarufiIndia2025-09-25King, Christopher A Esq NEW57Amy Elsner
1010Leja Y KolmetzFrance2025-09-27Benton, John B Jr PROPOSAL78Ivan Magalhaes
1011Darci U FerenczUnited Kingdom2025-09-26Printing Dimensions UNQUALIFIED29Onyama Limba
1012Ashley S RoysterBrazil2025-10-05Commercial Press QUALIFIED25Stephen Shaw
1013Smith M CaudyRussia2025-10-09Printing Dimensions RENEWAL49Elwin Sharvill
1014Mayumi O FigeroaItaly2025-10-06Chemel, James L Cpa QUALIFIED65Ioni Bowcher
1015Mayumi R VenereIndia2025-10-17Truhlar And Truhlar Attys UNQUALIFIED70Elwin Sharvill
1016Clifford O GillianFrance2025-10-18Chemel, James L Cpa RENEWAL1Asiya Javayant
1017Rodrigues P PoquetteIndia2025-10-18Rangoni Of Florence NEW30Asiya Javayant
1018David R PaprockiUnited Kingdom2025-10-01Rangoni Of Florence UNQUALIFIED15Ioni Bowcher
1019Aruna H StensethUnited Kingdom2025-09-24Dorl, James J Esq QUALIFIED85Elwin Sharvill
1020Arvin S FerenczIndia2025-09-22Feltz Printing Service NEGOTIATION36Anna Fali
1021Isabel G OldroydGermany2025-10-07Morlong Associates NEGOTIATION61Elwin Sharvill
1022Leja Z StockhamIndia2025-10-04Feltz Printing Service RENEWAL14Ivan Magalhaes
1023Darci L CaudyIndia2025-10-13Benton, John B Jr QUALIFIED49Elwin Sharvill
1024Leja W DoeGermany2025-09-27King, Christopher A Esq NEGOTIATION67Anna Fali
1025Aditya M GlickSpain2025-10-08Printing Dimensions UNQUALIFIED48Ivan Magalhaes
1026Izzy M SlusarskiRussia2025-10-14Chapman, Ross E Esq UNQUALIFIED31Amy Elsner
1027Aika P RutaItaly2025-09-22Buckley Miller Wright RENEWAL93Amy Elsner
1028Leja A RutaIndia2025-10-01King, Christopher A Esq NEW11Xuxue Feng
1029Ivar H OstroskyBrazil2025-10-05Chemel, James L Cpa QUALIFIED64Elwin Sharvill
1030Jeanfrancois T FigeroaAustralia2025-10-15Truhlar And Truhlar Attys RENEWAL48Stephen Shaw
1031Octavia L KolmetzIndia2025-10-12Morlong Associates RENEWAL11Asiya Javayant
1032Antonio E MorascaIndia2025-10-05Printing Dimensions UNQUALIFIED20Ivan Magalhaes
1033Murillo B MacleadBrazil2025-10-07Commercial Press UNQUALIFIED20Amy Elsner
1034Clifford K CaldareraArgentina2025-09-30Rousseaux, Michael Esq NEW81Anna Fali
1035Isabel H SergiItaly2025-10-12Feltz Printing Service PROPOSAL40Elwin Sharvill
1036Clifford J GlickJapan2025-09-22Morlong Associates UNQUALIFIED15Anna Fali
1037Antonio W PerinJapan2025-10-08Dorl, James J Esq NEW80Ioni Bowcher
1038Jennifer S StockhamSpain2025-10-11Rousseaux, Michael Esq RENEWAL10Asiya Javayant
1039Murillo M GlickGermany2025-10-02Commercial Press NEW97Onyama Limba
1040Mayumi T NickaAustralia2025-10-06Morlong Associates PROPOSAL28Stephen Shaw
1041Adams H KolmetzSpain2025-09-24Dorl, James J Esq NEW67Elwin Sharvill
1042Smith P OstroskyArgentina2025-10-02Rousseaux, Michael Esq QUALIFIED48Ivan Magalhaes
1043Ivar U BowleyCanada2025-09-22King, Christopher A Esq NEW45Xuxue Feng
1044Mujtaba I FollerFrance2025-09-20Commercial Press NEW13Elwin Sharvill
1045Leja Z OldroydFrance2025-09-23Dorl, James J Esq PROPOSAL7Onyama Limba
1046Clifford U SaylorsItaly2025-09-23Buckley Miller Wright QUALIFIED59Amy Elsner
1047Adams A StockhamIndia2025-09-24Chanay, Jeffrey A Esq UNQUALIFIED74Xuxue Feng
1048Morrow X WaycottBrazil2025-10-15Truhlar And Truhlar Attys RENEWAL28Onyama Limba
1049Maria B MarrierJapan2025-10-16Printing Dimensions UNQUALIFIED64Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Claire G VocelkaFranceStephen Shaw RENEWAL
Sinclair D RulapaughRussiaStephen Shaw NEW
Morrow F DilliardCanadaOnyama Limba QUALIFIED
Greenwood N ShinkoUnited KingdomAnna Fali NEGOTIATION
Kaitlin P AmigonArgentinaIoni Bowcher UNQUALIFIED
Isabel J GlickArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois M MarrierCanadaIvan Magalhaes NEGOTIATION
Claire U StensethUnited KingdomOnyama Limba PROPOSAL
Cody N BologniaIndiaStephen Shaw RENEWAL
Kadeem Y OldroydItalyIvan Magalhaes PROPOSAL
Johnson Q SergiUnited KingdomAsiya Javayant NEW
Cody I RutaCanadaElwin Sharvill QUALIFIED
Rodrigues D ChuiRussiaXuxue Feng PROPOSAL
Adams C StockhamItalyElwin Sharvill PROPOSAL
Nicolas M GauchoIndiaBernardo Dominic RENEWAL
Stacey U ButtBrazilBernardo Dominic UNQUALIFIED
Aditya E NestleFranceStephen Shaw QUALIFIED
Francesco U BriddickRussiaStephen Shaw NEW
Maria P NickaJapanXuxue Feng RENEWAL
Munro N FlosiJapanOnyama Limba QUALIFIED
Kaitlin V BriddickIndiaBernardo Dominic RENEWAL
Kaitlin V VenereSpainIvan Magalhaes NEW
Deepesh A ShinkoBrazilElwin Sharvill PROPOSAL
Jones N VocelkaAustraliaAnna Fali PROPOSAL
Jeanfrancois X RutaRussiaXuxue Feng NEGOTIATION
Aika A VocelkaCanadaOnyama Limba NEW
Mayumi L MaletUnited KingdomAnna Fali UNQUALIFIED
Octavia E PaprockiAustraliaIoni Bowcher QUALIFIED
Leon M RimRussiaElwin Sharvill QUALIFIED
Ivar V InouyeSpainBernardo Dominic NEW
Juan V BowleyJapanStephen Shaw UNQUALIFIED
Morrow C VenereCanadaIoni Bowcher UNQUALIFIED
Misaki S GlickSpainAnna Fali UNQUALIFIED
Chavez R MaletUnited KingdomStephen Shaw QUALIFIED
Adams P GlickArgentinaIvan Magalhaes UNQUALIFIED
Chavez F NickaArgentinaAmy Elsner NEGOTIATION
Darci K RimFranceXuxue Feng NEGOTIATION
Deepesh A VocelkaSpainXuxue Feng NEGOTIATION
Jefferson I BowleyFranceIvan Magalhaes NEW
Smith Z TollnerRussiaOnyama Limba UNQUALIFIED
Munro A RutaGermanyElwin Sharvill QUALIFIED
Chavez E PerinCanadaXuxue Feng RENEWAL
Maisha L RoysterSpainStephen Shaw QUALIFIED
Alejandro S ShinkoBrazilBernardo Dominic QUALIFIED
Leja Z WaycottUnited KingdomXuxue Feng QUALIFIED
Aditya N DoeArgentinaStephen Shaw NEW
Adams N AmigonCanadaStephen Shaw NEW
Faith N WhobreyIndiaAnna Fali NEW
Mayumi P TollnerItalyBernardo Dominic NEW
Juan R WhobreySpainXuxue Feng NEW
Frozen Columns
Name
Antonio L Maclead
Nicolas B Garufi
Smith A Iturbide
Adams H Bowley
Deepesh M Bowley
Costa X Marrier
Greenwood G Nicka
Maria G Saylors
Chavez Z Ostrosky
Faith E Glick
Faith K Shinko
Alejandro R Ruta
David Q Stenseth
Misaki S Morasca
Clifford K Chui
Smith P Inouye
Sinclair Y Chui
Nicolas K Briddick
Alejandro Z Vocelka
Leon T Whobrey
Francesco S Poquette
Munro M Stockham
Faith J Kusko
Nicolas C Maclead
Salvatore R Albares
Francesco D Poquette
Mayumi W Rim
Juan R Oldroyd
Adams A Gaucho
Tony Q Poquette
Jennifer S Nestle
Aditya Q Gillian
Sinclair J Gaucho
Greenwood E Sergi
Stacey J Chui
Francesco E Marrier
Francesco Z Ferencz
Wickens O Flosi
Izzy C Glick
Wickens C Wieser
Murillo N Perin
Kadeem B Chui
Maria R Stockham
Ashley X Figeroa
Deepesh X Oldroyd
Aditya I Malet
Darci C Nicka
Adams A Campain
Chavez I Stockham
Nicolas R Briddick
IdCountryDate
1000Japan2025-10-12
1001Argentina2025-10-16
1002Russia2025-10-06
1003United Kingdom2025-09-26
1004France2025-10-05
1005Canada2025-09-26
1006Russia2025-10-12
1007Italy2025-10-15
1008India2025-10-12
1009Canada2025-10-17
1010Russia2025-10-08
1011Germany2025-10-01
1012Italy2025-10-15
1013Italy2025-10-12
1014Canada2025-09-19
1015Argentina2025-10-16
1016Canada2025-10-10
1017Russia2025-09-25
1018Italy2025-09-28
1019France2025-09-27
1020Italy2025-09-30
1021Canada2025-10-05
1022United Kingdom2025-09-20
1023Russia2025-10-11
1024Australia2025-10-05
1025Japan2025-10-11
1026United Kingdom2025-10-10
1027United Kingdom2025-10-10
1028Australia2025-10-17
1029United Kingdom2025-09-25
1030India2025-09-22
1031France2025-10-08
1032Germany2025-10-17
1033Japan2025-09-24
1034India2025-09-23
1035Brazil2025-10-17
1036Japan2025-09-23
1037Argentina2025-10-16
1038India2025-09-21
1039France2025-09-26
1040Argentina2025-10-15
1041India2025-10-15
1042Germany2025-10-08
1043Brazil2025-10-16
1044Canada2025-10-10
1045India2025-10-01
1046Japan2025-09-28
1047India2025-10-07
1048Italy2025-09-27
1049Canada2025-10-13

On-Demand Data

NameIdCountryDate
Izzy J Albares1000Canada2025-10-10
Morrow U Flosi1001Spain2025-10-07
Wickens K Nicka1002India2025-10-18
Rodrigues H Waycott1003Italy2025-10-14
Antonio H Rim1004United Kingdom2025-09-28
Ricardo W Butt1005Japan2025-10-03
Izzy K Stockham1006Italy2025-09-25
Isabel N Vocelka1007India2025-09-25
Maria L Amigon1008Australia2025-10-09
Isabel S Iturbide1009United Kingdom2025-10-05
Misaki T Wieser1010United Kingdom2025-10-05
Kadeem W Nestle1011Italy2025-10-12
Wickens I Darakjy1012Australia2025-10-13
Stacey E Gaucho1013Germany2025-10-17
Isabel H Rulapaugh1014Brazil2025-09-30
James S Caldarera1015Canada2025-09-30
Maria O Saylors1016France2025-10-08
Jones A Foller1017Argentina2025-10-11
Salvatore Z Ostrosky1018Japan2025-10-04
Alejandro J Bowley1019France2025-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh L ButtJapanXuxue Feng NEGOTIATION
Leja B FlosiGermanyStephen Shaw PROPOSAL
Morrow R SchemmerIndiaOnyama Limba UNQUALIFIED
Jeanfrancois V KuskoCanadaAsiya Javayant UNQUALIFIED
Maisha T RulapaughArgentinaStephen Shaw RENEWAL
Adams Y PerinUnited KingdomBernardo Dominic PROPOSAL
Leja B MorascaRussiaBernardo Dominic UNQUALIFIED
Silvio T DoeAustraliaStephen Shaw QUALIFIED
Julie Q RoysterJapanAnna Fali QUALIFIED
Leja C WhobreyCanadaAmy Elsner UNQUALIFIED
Smith X KolmetzSpainAnna Fali UNQUALIFIED
Clifford U DarakjyBrazilBernardo Dominic RENEWAL
James C RulapaughJapanAmy Elsner NEW
Faith R KuskoSpainXuxue Feng NEGOTIATION
Sinclair J AmigonCanadaBernardo Dominic NEW
Juan K PoquetteFranceStephen Shaw UNQUALIFIED
Jennifer S GarufiUnited KingdomStephen Shaw RENEWAL
Maisha E GarufiIndiaIvan Magalhaes PROPOSAL
Munro F BologniaUnited KingdomAmy Elsner PROPOSAL
Ricardo J GlickItalyAsiya Javayant RENEWAL
Adams D CampainRussiaAmy Elsner PROPOSAL
Ashley H TollnerItalyBernardo Dominic UNQUALIFIED
James F RutaBrazilAsiya Javayant UNQUALIFIED
Isabel Q RutaGermanyStephen Shaw QUALIFIED
Mayumi G OstroskySpainAnna Fali NEW
Kadeem F SaylorsSpainStephen Shaw RENEWAL
Jefferson E MorascaRussiaAsiya Javayant UNQUALIFIED
Antonio F SlusarskiArgentinaOnyama Limba RENEWAL
Sinclair Z RutaSpainElwin Sharvill PROPOSAL
Deepesh B GauchoIndiaElwin Sharvill NEGOTIATION
Julie B BologniaRussiaIvan Magalhaes QUALIFIED
Maisha R GillianBrazilOnyama Limba NEW
Arvin N NickaAustraliaOnyama Limba RENEWAL
Francesco H StensethItalyAsiya Javayant QUALIFIED
Aruna X FlosiCanadaElwin Sharvill RENEWAL
Tony U WieserItalyStephen Shaw RENEWAL
Antonio R WaycottSpainAsiya Javayant NEGOTIATION
Isabel H SaylorsItalyElwin Sharvill NEW
Jefferson B BriddickArgentinaIoni Bowcher PROPOSAL
Aruna A MaletRussiaIoni Bowcher 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>