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
Wickens J KuskoRussiaIvan Magalhaes PROPOSAL
Julie D SchemmerFranceIvan Magalhaes RENEWAL
Antonio G CaldareraJapanAmy Elsner NEGOTIATION
Alejandro G WaycottBrazilXuxue Feng UNQUALIFIED
Isabel T GlickRussiaBernardo Dominic NEGOTIATION
Mujtaba S PoquetteJapanBernardo Dominic NEW
Antonio T DilliardItalyAsiya Javayant QUALIFIED
Sinclair V KuskoIndiaAsiya Javayant NEW
Juan Z GarufiItalyBernardo Dominic NEGOTIATION
Kadeem D VenereFranceElwin Sharvill PROPOSAL
Mujtaba D PerinAustraliaAmy Elsner UNQUALIFIED
Chavez Z OldroydRussiaBernardo Dominic PROPOSAL
Maria F GillianSpainIvan Magalhaes PROPOSAL
Nicolas S MaletArgentinaOnyama Limba QUALIFIED
Misaki D IturbideCanadaBernardo Dominic PROPOSAL
Smith X SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois W RutaBrazilAmy Elsner NEGOTIATION
Smith U SergiFranceBernardo Dominic UNQUALIFIED
Ashley K ChuiItalyXuxue Feng UNQUALIFIED
Chavez M GlickFranceAsiya Javayant PROPOSAL
Johnson C DarakjyIndiaStephen Shaw UNQUALIFIED
Morrow J GlickItalyXuxue Feng PROPOSAL
Ricardo E GillianIndiaIoni Bowcher PROPOSAL
Munro G BriddickRussiaAmy Elsner UNQUALIFIED
Deepesh X VocelkaSpainIoni Bowcher NEW
Octavia O FollerRussiaXuxue Feng UNQUALIFIED
Julie V PaprockiAustraliaElwin Sharvill RENEWAL
Leon D RutaItalyIvan Magalhaes QUALIFIED
Smith V StensethSpainElwin Sharvill NEW
Tony U KolmetzCanadaAmy Elsner RENEWAL
Octavia I RutaJapanAnna Fali RENEWAL
Faith U RimUnited KingdomXuxue Feng NEGOTIATION
Murillo C TollnerFranceAnna Fali PROPOSAL
Greenwood G FerenczCanadaBernardo Dominic PROPOSAL
Leja O WhobreyItalyXuxue Feng UNQUALIFIED
Leon B FollerArgentinaStephen Shaw RENEWAL
Izzy B PerinSpainElwin Sharvill RENEWAL
Murillo G TollnerUnited KingdomXuxue Feng UNQUALIFIED
Murillo K GarufiJapanOnyama Limba NEW
Claire W SergiRussiaAnna Fali UNQUALIFIED
Alejandro V BriddickRussiaXuxue Feng UNQUALIFIED
Antonio R OldroydRussiaIoni Bowcher NEW
Jones E RoysterSpainAmy Elsner UNQUALIFIED
Octavia F GauchoRussiaOnyama Limba PROPOSAL
Morrow X SlusarskiAustraliaIvan Magalhaes RENEWAL
Alejandro F InouyeFranceIvan Magalhaes RENEWAL
Munro J ButtBrazilIoni Bowcher NEW
Isabel J DoeIndiaAmy Elsner QUALIFIED
Francesco Q GauchoAustraliaAsiya Javayant PROPOSAL
Aditya D CaudyIndiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin U GlickCanadaStephen Shaw NEW
Maria E AmigonRussiaAsiya Javayant QUALIFIED
Greenwood L BowleyItalyStephen Shaw NEW
Cody M SchemmerSpainAmy Elsner PROPOSAL
Kaitlin Y SlusarskiGermanyAmy Elsner NEGOTIATION
Isabel J FigeroaFranceXuxue Feng RENEWAL
Sinclair M DilliardFranceAsiya Javayant PROPOSAL
Johnson N CaldareraAustraliaIoni Bowcher NEW
Maisha O IturbideRussiaBernardo Dominic NEW
Antonio Q GarufiSpainXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja U MarrierFrance2025-09-20Rangoni Of Florence NEGOTIATION62Elwin Sharvill
1001Jennifer D WhobreyRussia2025-09-20Morlong Associates RENEWAL40Ioni Bowcher
1002Munro N DilliardAustralia2025-10-02King, Christopher A Esq RENEWAL20Xuxue Feng
1003Nicolas S RutaRussia2025-10-05Dorl, James J Esq PROPOSAL8Xuxue Feng
1004Aika J SaylorsIndia2025-09-20Truhlar And Truhlar Attys RENEWAL53Amy Elsner
1005Francesco Q NestleArgentina2025-09-29Rousseaux, Michael Esq PROPOSAL39Elwin Sharvill
1006Mujtaba E AlbaresJapan2025-10-12Benton, John B Jr NEW63Amy Elsner
1007Greenwood N SaylorsGermany2025-09-27Chanay, Jeffrey A Esq RENEWAL93Stephen Shaw
1008Isabel Y DarakjySpain2025-09-27Commercial Press NEW15Amy Elsner
1009Jefferson Y PaprockiArgentina2025-09-28Rangoni Of Florence RENEWAL33Elwin Sharvill
1010Adams J BologniaItaly2025-10-14Commercial Press NEGOTIATION72Elwin Sharvill
1011Juan P SchemmerBrazil2025-09-28Buckley Miller Wright RENEWAL73Amy Elsner
1012Julie P DilliardGermany2025-09-26Commercial Press NEW55Anna Fali
1013Emily Q AmigonUnited Kingdom2025-09-25Feltz Printing Service NEGOTIATION58Anna Fali
1014Arvin Y PaprockiCanada2025-10-05Rangoni Of Florence NEGOTIATION81Ivan Magalhaes
1015Jones E MorascaGermany2025-09-20Rangoni Of Florence UNQUALIFIED19Onyama Limba
1016Misaki W InouyeRussia2025-10-03Feiner Bros NEW95Amy Elsner
1017Salvatore G MacleadBrazil2025-09-29Buckley Miller Wright QUALIFIED65Ioni Bowcher
1018Jones B MarrierArgentina2025-10-15King, Christopher A Esq NEW84Anna Fali
1019Greenwood D PerinRussia2025-10-09Benton, John B Jr NEGOTIATION94Anna Fali
1020Jennifer S BologniaRussia2025-09-21Rangoni Of Florence PROPOSAL37Stephen Shaw
1021Isabel U SaylorsFrance2025-09-24Rousseaux, Michael Esq UNQUALIFIED81Asiya Javayant
1022Faith U MaletGermany2025-10-15Commercial Press NEGOTIATION35Ioni Bowcher
1023Alejandro D CaudySpain2025-09-24Feiner Bros RENEWAL3Xuxue Feng
1024Misaki O TollnerCanada2025-09-20Truhlar And Truhlar Attys NEGOTIATION72Onyama Limba
1025Juan Z GarufiFrance2025-10-10Buckley Miller Wright NEGOTIATION43Xuxue Feng
1026Leon I NestleBrazil2025-09-25Rousseaux, Michael Esq QUALIFIED78Amy Elsner
1027Aditya I MacleadFrance2025-10-13Rousseaux, Michael Esq UNQUALIFIED88Xuxue Feng
1028Darci X BowleyJapan2025-09-26King, Christopher A Esq NEW82Stephen Shaw
1029Munro X RoysterSpain2025-10-06Morlong Associates QUALIFIED69Onyama Limba
1030Leon I StockhamGermany2025-10-13Truhlar And Truhlar Attys QUALIFIED29Xuxue Feng
1031Antonio Z VenereSpain2025-10-11Rangoni Of Florence NEGOTIATION84Asiya Javayant
1032Alejandro O FollerGermany2025-10-08Benton, John B Jr UNQUALIFIED3Onyama Limba
1033Antonio G IturbideRussia2025-09-27Feltz Printing Service QUALIFIED16Ivan Magalhaes
1034Faith T PoquetteArgentina2025-10-04Benton, John B Jr RENEWAL17Ioni Bowcher
1035Sinclair R NestleSpain2025-10-08King, Christopher A Esq NEW14Anna Fali
1036Murillo N NestleItaly2025-09-20Chanay, Jeffrey A Esq NEW7Xuxue Feng
1037Misaki J AlbaresGermany2025-10-03Chanay, Jeffrey A Esq RENEWAL6Anna Fali
1038Kaitlin M CampainSpain2025-10-06Rousseaux, Michael Esq PROPOSAL57Elwin Sharvill
1039Aditya S NestleJapan2025-09-27Commercial Press RENEWAL66Ivan Magalhaes
1040Sinclair M StensethBrazil2025-10-11Morlong Associates PROPOSAL70Asiya Javayant
1041Murillo G MarrierArgentina2025-09-27Feltz Printing Service NEGOTIATION21Stephen Shaw
1042Francesco P PoquetteFrance2025-10-09Feltz Printing Service RENEWAL30Amy Elsner
1043Tony K CaldareraGermany2025-09-23Benton, John B Jr UNQUALIFIED47Bernardo Dominic
1044Salvatore I GlickSpain2025-10-07Feltz Printing Service QUALIFIED54Ivan Magalhaes
1045Izzy Y VocelkaArgentina2025-09-27Commercial Press NEGOTIATION97Onyama Limba
1046Mujtaba H BowleyArgentina2025-09-30Truhlar And Truhlar Attys RENEWAL56Xuxue Feng
1047Ricardo V ChuiFrance2025-10-06Buckley Miller Wright UNQUALIFIED1Stephen Shaw
1048Jennifer L RulapaughBrazil2025-10-08Chemel, James L Cpa RENEWAL42Stephen Shaw
1049Chavez D RutaUnited Kingdom2025-10-10Chapman, Ross E Esq QUALIFIED6Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas H FlosiRussiaAsiya Javayant NEW
Claire P TollnerGermanyOnyama Limba NEGOTIATION
Mujtaba F ChuiItalyAmy Elsner UNQUALIFIED
Aditya X PerinBrazilAnna Fali QUALIFIED
Jefferson Y KuskoRussiaStephen Shaw NEGOTIATION
Costa Q FerenczGermanyIoni Bowcher UNQUALIFIED
Claire F DarakjyUnited KingdomAmy Elsner PROPOSAL
Maria X AlbaresBrazilStephen Shaw RENEWAL
Kadeem T GarufiItalyAnna Fali NEW
Ivar U GauchoSpainIvan Magalhaes PROPOSAL
Aditya H MarrierIndiaStephen Shaw QUALIFIED
Aika J FigeroaArgentinaAnna Fali UNQUALIFIED
Francesco G MaletRussiaIoni Bowcher NEGOTIATION
Arvin S SaylorsSpainOnyama Limba PROPOSAL
Izzy V DarakjyIndiaStephen Shaw UNQUALIFIED
Maria C DilliardArgentinaAnna Fali PROPOSAL
Ashley O PerinRussiaAnna Fali NEGOTIATION
Kadeem V BriddickCanadaAmy Elsner NEGOTIATION
Emily Y AlbaresItalyAsiya Javayant PROPOSAL
Wickens J StockhamGermanyIoni Bowcher NEW
Murillo H StensethSpainXuxue Feng UNQUALIFIED
Claire F WieserUnited KingdomXuxue Feng PROPOSAL
Kadeem S FollerRussiaOnyama Limba UNQUALIFIED
Ricardo D RutaFranceXuxue Feng UNQUALIFIED
Deepesh C BriddickGermanyStephen Shaw NEW
Adams S DilliardBrazilBernardo Dominic PROPOSAL
Morrow K MorascaGermanyAmy Elsner NEW
Alejandro L NestleItalyStephen Shaw QUALIFIED
Johnson U MaletAustraliaElwin Sharvill QUALIFIED
Rodrigues G DilliardRussiaXuxue Feng QUALIFIED
Isabel D KolmetzIndiaOnyama Limba RENEWAL
Clifford B ButtArgentinaIvan Magalhaes QUALIFIED
Adams Z BriddickCanadaBernardo Dominic UNQUALIFIED
Octavia U DilliardFranceOnyama Limba NEW
Misaki V NickaSpainAnna Fali RENEWAL
Julie C MacleadJapanElwin Sharvill UNQUALIFIED
Antonio O StockhamUnited KingdomStephen Shaw PROPOSAL
Wickens W WieserArgentinaAsiya Javayant PROPOSAL
Izzy Y RimIndiaXuxue Feng NEGOTIATION
Kadeem G OstroskyIndiaAsiya Javayant UNQUALIFIED
Octavia U GillianIndiaXuxue Feng RENEWAL
David G RimAustraliaAnna Fali PROPOSAL
Morrow D MarrierItalyBernardo Dominic NEW
Misaki X PaprockiItalyIvan Magalhaes QUALIFIED
Mujtaba J TollnerSpainAsiya Javayant QUALIFIED
Greenwood V DarakjySpainIoni Bowcher RENEWAL
Kadeem T RimIndiaIvan Magalhaes UNQUALIFIED
Chavez W BologniaAustraliaStephen Shaw QUALIFIED
Greenwood G BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Misaki Q PerinArgentinaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Ashley Y Albares
Nicolas I Dilliard
Maria B Bolognia
Juan Z Morasca
Emily F Figeroa
Adams J Sergi
Chavez J Briddick
James E Slusarski
David O Vocelka
Octavia Q Gaucho
Arvin O Amigon
Jones M Ruta
Clifford E Rulapaugh
Darci K Inouye
Darci R Glick
Alejandro W Slusarski
Julie H Schemmer
Aika A Venere
Silvio P Flosi
Clifford Y Butt
Darci E Darakjy
Jones Q Iturbide
Octavia H Sergi
Francesco K Oldroyd
Leon M Gaucho
Chavez C Caldarera
Clifford J Slusarski
Aika D Oldroyd
Ivar M Tollner
Alejandro H Ostrosky
Maisha X Doe
Arvin W Venere
Smith E Albares
Rodrigues Z Glick
Alejandro P Nicka
Leja W Butt
Misaki O Paprocki
Aika D Bowley
Johnson Y Garufi
Kaitlin B Inouye
Murillo J Iturbide
Kadeem M Vocelka
Aika N Tollner
Stacey O Paprocki
James N Royster
Misaki T Whobrey
Kaitlin H Rim
Antonio C Bowley
Ricardo P Dilliard
Deepesh E Darakjy
IdCountryDate
1000France2025-10-16
1001Brazil2025-09-24
1002India2025-10-16
1003Russia2025-10-14
1004Canada2025-09-30
1005Brazil2025-09-19
1006Japan2025-09-26
1007Italy2025-10-09
1008Argentina2025-09-24
1009Brazil2025-09-30
1010Russia2025-10-09
1011Japan2025-10-13
1012Australia2025-09-29
1013Japan2025-09-29
1014Germany2025-09-22
1015Argentina2025-10-12
1016Argentina2025-10-17
1017Brazil2025-10-13
1018Spain2025-10-13
1019Australia2025-10-06
1020Italy2025-10-06
1021France2025-10-08
1022Australia2025-10-04
1023France2025-10-06
1024Russia2025-10-15
1025Spain2025-10-06
1026Australia2025-10-06
1027France2025-09-27
1028Russia2025-09-28
1029Brazil2025-09-21
1030Argentina2025-10-14
1031United Kingdom2025-09-21
1032India2025-09-23
1033United Kingdom2025-10-10
1034Spain2025-10-14
1035Argentina2025-10-11
1036India2025-09-22
1037Brazil2025-10-08
1038Japan2025-10-02
1039Australia2025-10-11
1040Canada2025-09-26
1041Australia2025-10-09
1042United Kingdom2025-09-25
1043Italy2025-10-02
1044India2025-10-03
1045India2025-10-08
1046Italy2025-09-22
1047India2025-09-29
1048Argentina2025-10-04
1049Italy2025-10-08

On-Demand Data

NameIdCountryDate
Leon G Doe1000Italy2025-09-29
Leon W Maclead1001Russia2025-10-03
Aika J Slusarski1002Spain2025-10-04
Aruna E Maclead1003United Kingdom2025-10-13
Leon E Kolmetz1004India2025-09-28
Aditya S Flosi1005Germany2025-10-18
Kaitlin O Glick1006Brazil2025-10-12
Misaki V Poquette1007France2025-10-05
Faith F Marrier1008India2025-09-23
Jefferson W Albares1009Spain2025-09-27
Aruna D Wieser1010Italy2025-09-30
Ricardo X Butt1011Brazil2025-10-04
Octavia A Gaucho1012Spain2025-10-13
Stacey M Malet1013Argentina2025-09-26
Cody K Bolognia1014Germany2025-10-10
Maisha U Amigon1015Russia2025-09-23
David Y Kusko1016France2025-10-03
Leon C Venere1017Spain2025-09-23
Johnson V Stenseth1018Canada2025-10-16
Johnson C Wieser1019Russia2025-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James E GillianBrazilIvan Magalhaes NEGOTIATION
Wickens V DoeIndiaAmy Elsner RENEWAL
Arvin U StensethSpainBernardo Dominic PROPOSAL
James V PerinBrazilXuxue Feng NEW
Julie P InouyeSpainStephen Shaw UNQUALIFIED
Chavez E MacleadSpainAmy Elsner QUALIFIED
Jefferson A ButtArgentinaAnna Fali RENEWAL
Maria P FollerBrazilAmy Elsner QUALIFIED
Smith O SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Aruna T RoysterIndiaElwin Sharvill NEGOTIATION
Izzy F MarrierUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois Y SaylorsSpainOnyama Limba QUALIFIED
David F RoysterFranceElwin Sharvill RENEWAL
Ashley H CaldareraIndiaAsiya Javayant UNQUALIFIED
Ivar P DarakjyIndiaOnyama Limba RENEWAL
Maria C CaldareraSpainOnyama Limba RENEWAL
Leja W BologniaUnited KingdomStephen Shaw UNQUALIFIED
Mayumi D CaldareraJapanIoni Bowcher NEGOTIATION
Leon L RimRussiaIoni Bowcher QUALIFIED
Rodrigues J MaletSpainAsiya Javayant PROPOSAL
Julie N BowleyJapanXuxue Feng PROPOSAL
Tony K FlosiArgentinaIoni Bowcher RENEWAL
Ashley X SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Tony I FigeroaSpainAnna Fali QUALIFIED
Leon P MacleadItalyBernardo Dominic NEGOTIATION
Aika R BowleyRussiaBernardo Dominic QUALIFIED
Leon T IturbideCanadaIvan Magalhaes NEW
Claire A MaletArgentinaOnyama Limba NEGOTIATION
Arvin K BowleyGermanyElwin Sharvill PROPOSAL
Ivar K RutaAustraliaElwin Sharvill RENEWAL
Jefferson W AlbaresUnited KingdomIoni Bowcher QUALIFIED
Jefferson I ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Smith H GarufiSpainIvan Magalhaes PROPOSAL
Johnson K NickaCanadaIvan Magalhaes QUALIFIED
Deepesh E WieserJapanXuxue Feng NEGOTIATION
Misaki Z RutaIndiaAmy Elsner QUALIFIED
Leja P GarufiSpainBernardo Dominic UNQUALIFIED
Silvio M KolmetzIndiaAnna Fali NEW
Munro F ButtAustraliaBernardo Dominic UNQUALIFIED
Murillo A CaldareraGermanyBernardo Dominic NEGOTIATION

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