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
Antonio A PerinGermanyElwin Sharvill NEW
Misaki L ShinkoFranceOnyama Limba QUALIFIED
Munro V RimSpainStephen Shaw PROPOSAL
Maria H NickaFranceStephen Shaw NEW
Tony K AlbaresFranceAnna Fali UNQUALIFIED
Jones T RutaGermanyElwin Sharvill NEW
Jones A MaletGermanyAsiya Javayant UNQUALIFIED
Claire M MacleadJapanAmy Elsner UNQUALIFIED
Salvatore T FerenczBrazilOnyama Limba NEGOTIATION
Murillo A SaylorsArgentinaIvan Magalhaes QUALIFIED
Mujtaba V IturbideJapanBernardo Dominic RENEWAL
Salvatore I TollnerAustraliaOnyama Limba UNQUALIFIED
Francesco P FollerGermanyOnyama Limba NEGOTIATION
Costa N DarakjyCanadaIoni Bowcher NEW
Octavia O StockhamUnited KingdomStephen Shaw NEGOTIATION
Maria X WieserCanadaAmy Elsner QUALIFIED
Mujtaba F RulapaughFranceStephen Shaw NEW
Deepesh V CampainJapanIvan Magalhaes QUALIFIED
Wickens P StensethRussiaAmy Elsner UNQUALIFIED
Costa O NickaCanadaStephen Shaw NEW
Francesco F CaudyArgentinaXuxue Feng UNQUALIFIED
Cody V DilliardItalyOnyama Limba PROPOSAL
Maria B FollerJapanElwin Sharvill PROPOSAL
Leja M WaycottBrazilXuxue Feng NEGOTIATION
David W ButtItalyAmy Elsner RENEWAL
Jones J FlosiJapanIvan Magalhaes NEGOTIATION
James B ChuiJapanXuxue Feng NEGOTIATION
Julie I ChuiGermanyBernardo Dominic PROPOSAL
Adams Z SergiItalyAnna Fali QUALIFIED
Alejandro N RoysterAustraliaAsiya Javayant UNQUALIFIED
Alejandro E BowleyFranceElwin Sharvill NEW
Ricardo F ShinkoFranceXuxue Feng PROPOSAL
Leon F SaylorsFranceIvan Magalhaes NEGOTIATION
David H SchemmerRussiaOnyama Limba NEGOTIATION
Munro G MaletJapanAmy Elsner QUALIFIED
Stacey T PerinAustraliaOnyama Limba NEW
Johnson G KolmetzBrazilStephen Shaw NEW
Izzy E BologniaArgentinaXuxue Feng RENEWAL
Maisha P DilliardRussiaIoni Bowcher UNQUALIFIED
Jennifer E PerinItalyOnyama Limba UNQUALIFIED
Cody L RutaCanadaIvan Magalhaes NEGOTIATION
Cody E MaletCanadaIvan Magalhaes RENEWAL
Deepesh Q PoquetteAustraliaIoni Bowcher NEW
Antonio D RimFranceAsiya Javayant RENEWAL
Juan N ChuiArgentinaElwin Sharvill RENEWAL
Kadeem U VenereCanadaBernardo Dominic PROPOSAL
Sinclair I CaudyJapanStephen Shaw UNQUALIFIED
Murillo I AlbaresGermanyBernardo Dominic UNQUALIFIED
Arvin L BologniaIndiaAsiya Javayant NEW
Jefferson C SergiFranceBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson I InouyeIndiaBernardo Dominic RENEWAL
Murillo Z FlosiGermanyAmy Elsner NEW
Smith B FerenczAustraliaOnyama Limba NEGOTIATION
Mayumi H ButtItalyIoni Bowcher NEGOTIATION
Claire L VocelkaGermanyAnna Fali RENEWAL
Aika K FigeroaItalyXuxue Feng PROPOSAL
Jennifer J GillianSpainElwin Sharvill QUALIFIED
Jones A BologniaUnited KingdomAsiya Javayant QUALIFIED
Stacey W AmigonItalyStephen Shaw QUALIFIED
Faith M RutaItalyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson L MaletJapan2025-08-27Benton, John B Jr NEGOTIATION68Elwin Sharvill
1001Mayumi Z MacleadJapan2025-08-23Printing Dimensions PROPOSAL90Bernardo Dominic
1002Aditya E IturbideJapan2025-08-07Printing Dimensions QUALIFIED67Elwin Sharvill
1003Jeanfrancois D AlbaresSpain2025-08-06Buckley Miller Wright QUALIFIED77Amy Elsner
1004Cody F RoysterRussia2025-08-21Chemel, James L Cpa NEW44Stephen Shaw
1005Aditya O MaletJapan2025-08-01Printing Dimensions NEGOTIATION2Bernardo Dominic
1006David A MaletItaly2025-08-21Benton, John B Jr PROPOSAL5Ioni Bowcher
1007James T OldroydCanada2025-08-03Chanay, Jeffrey A Esq RENEWAL30Ioni Bowcher
1008Faith V MaletGermany2025-08-15Commercial Press NEGOTIATION49Ioni Bowcher
1009Kaitlin Y SaylorsBrazil2025-08-03Dorl, James J Esq UNQUALIFIED37Elwin Sharvill
1010Clifford Y DilliardSpain2025-07-30Morlong Associates RENEWAL36Onyama Limba
1011Kadeem C PerinItaly2025-08-07Feiner Bros NEW89Amy Elsner
1012Wickens F WhobreyFrance2025-08-14Rangoni Of Florence NEW61Anna Fali
1013Kaitlin U GlickJapan2025-08-08Rangoni Of Florence PROPOSAL75Xuxue Feng
1014Wickens C GauchoUnited Kingdom2025-08-02Chanay, Jeffrey A Esq UNQUALIFIED82Ivan Magalhaes
1015Isabel G CaldareraSpain2025-08-27Truhlar And Truhlar Attys QUALIFIED75Ivan Magalhaes
1016Kadeem A WhobreyGermany2025-08-16Truhlar And Truhlar Attys RENEWAL95Asiya Javayant
1017Deepesh I GlickIndia2025-08-03Feiner Bros NEGOTIATION36Onyama Limba
1018Isabel H RimItaly2025-07-30Printing Dimensions NEW70Asiya Javayant
1019Izzy D ButtSpain2025-08-02Truhlar And Truhlar Attys QUALIFIED21Bernardo Dominic
1020Isabel H KolmetzRussia2025-08-03Rangoni Of Florence PROPOSAL8Anna Fali
1021Mujtaba G MorascaRussia2025-08-15Chanay, Jeffrey A Esq RENEWAL74Amy Elsner
1022Silvio Y SlusarskiSpain2025-08-05Rousseaux, Michael Esq UNQUALIFIED86Bernardo Dominic
1023Leja C FollerIndia2025-08-09Benton, John B Jr PROPOSAL13Xuxue Feng
1024Ivar K WieserBrazil2025-08-23Morlong Associates RENEWAL83Elwin Sharvill
1025Isabel P InouyeItaly2025-08-07Feiner Bros RENEWAL18Ioni Bowcher
1026Antonio P StensethSpain2025-08-04Buckley Miller Wright QUALIFIED48Stephen Shaw
1027Jeanfrancois V VenereCanada2025-08-04Chanay, Jeffrey A Esq RENEWAL64Amy Elsner
1028Stacey U KolmetzSpain2025-08-27Buckley Miller Wright NEGOTIATION25Anna Fali
1029Jefferson V WaycottFrance2025-08-25Truhlar And Truhlar Attys NEW72Ioni Bowcher
1030Clifford R RimArgentina2025-08-19Buckley Miller Wright NEGOTIATION34Ivan Magalhaes
1031Maria D BowleySpain2025-08-13Truhlar And Truhlar Attys NEGOTIATION48Xuxue Feng
1032Isabel Z KolmetzUnited Kingdom2025-08-06Truhlar And Truhlar Attys RENEWAL20Bernardo Dominic
1033David T CaldareraGermany2025-07-30Rangoni Of Florence UNQUALIFIED35Onyama Limba
1034Ashley L SlusarskiBrazil2025-08-06Buckley Miller Wright NEGOTIATION70Anna Fali
1035Greenwood L KolmetzItaly2025-08-23Rousseaux, Michael Esq PROPOSAL75Ivan Magalhaes
1036Costa G StensethCanada2025-08-07Chapman, Ross E Esq PROPOSAL12Ioni Bowcher
1037Juan J FlosiBrazil2025-08-07Morlong Associates NEGOTIATION67Bernardo Dominic
1038Johnson X MaletArgentina2025-08-14Buckley Miller Wright PROPOSAL45Xuxue Feng
1039Maisha I RulapaughSpain2025-08-22Chemel, James L Cpa QUALIFIED32Ivan Magalhaes
1040Tony D InouyeAustralia2025-08-23Chemel, James L Cpa RENEWAL19Xuxue Feng
1041Aika M GarufiJapan2025-08-27Rousseaux, Michael Esq NEW63Bernardo Dominic
1042Faith Y WaycottUnited Kingdom2025-07-31Buckley Miller Wright UNQUALIFIED80Anna Fali
1043Adams R FlosiCanada2025-08-05Benton, John B Jr RENEWAL10Asiya Javayant
1044Julie S RoysterArgentina2025-08-10Feiner Bros NEW39Ioni Bowcher
1045Darci E VenereUnited Kingdom2025-08-20Chemel, James L Cpa PROPOSAL33Bernardo Dominic
1046Aika R TollnerUnited Kingdom2025-08-03Printing Dimensions QUALIFIED83Bernardo Dominic
1047Jennifer S GarufiSpain2025-08-14Chemel, James L Cpa QUALIFIED1Xuxue Feng
1048Murillo K AmigonRussia2025-08-13Chemel, James L Cpa UNQUALIFIED34Elwin Sharvill
1049Munro S ChuiBrazil2025-08-08Chemel, James L Cpa RENEWAL56Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Silvio O OstroskyBrazilIoni Bowcher NEW
Jones K BriddickArgentinaIvan Magalhaes QUALIFIED
Misaki S GillianUnited KingdomAnna Fali NEGOTIATION
James T MaletJapanElwin Sharvill QUALIFIED
Wickens S GillianIndiaAsiya Javayant UNQUALIFIED
James T StensethJapanStephen Shaw PROPOSAL
Silvio A InouyeIndiaOnyama Limba NEGOTIATION
Nicolas Y MaletGermanyStephen Shaw UNQUALIFIED
Salvatore O DoeRussiaAnna Fali NEGOTIATION
Stacey T RimBrazilXuxue Feng QUALIFIED
Nicolas J SchemmerAustraliaAmy Elsner UNQUALIFIED
Leon N FigeroaFranceBernardo Dominic UNQUALIFIED
Jones B DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Jeanfrancois U RulapaughAustraliaAsiya Javayant PROPOSAL
Maisha L MacleadJapanAnna Fali UNQUALIFIED
Kadeem R SlusarskiAustraliaElwin Sharvill RENEWAL
Isabel S StockhamIndiaStephen Shaw NEW
Cody J GarufiBrazilIvan Magalhaes UNQUALIFIED
Aika M OstroskyCanadaAsiya Javayant RENEWAL
Isabel A CaldareraSpainIoni Bowcher UNQUALIFIED
Izzy Z FollerGermanyAsiya Javayant QUALIFIED
Ricardo O KolmetzUnited KingdomBernardo Dominic RENEWAL
Ivar U SergiGermanyXuxue Feng RENEWAL
Mayumi J PoquetteBrazilAsiya Javayant UNQUALIFIED
Jones B VenereRussiaElwin Sharvill QUALIFIED
Tony V MorascaArgentinaAmy Elsner RENEWAL
Misaki G FigeroaRussiaIvan Magalhaes RENEWAL
Maisha F KuskoSpainStephen Shaw UNQUALIFIED
Aika T DarakjyArgentinaAnna Fali PROPOSAL
Claire M MorascaSpainOnyama Limba QUALIFIED
Faith S SchemmerJapanAsiya Javayant NEGOTIATION
Leja Q WaycottGermanyElwin Sharvill UNQUALIFIED
Darci M CaldareraGermanyBernardo Dominic QUALIFIED
Morrow E RoysterBrazilOnyama Limba NEW
Leon Q GlickUnited KingdomElwin Sharvill QUALIFIED
Murillo G RimCanadaIvan Magalhaes PROPOSAL
Claire X CampainRussiaIvan Magalhaes UNQUALIFIED
Silvio S VocelkaFranceIvan Magalhaes NEGOTIATION
Greenwood G KuskoIndiaBernardo Dominic UNQUALIFIED
Izzy S BologniaJapanStephen Shaw UNQUALIFIED
Ivar N VocelkaItalyElwin Sharvill NEGOTIATION
Darci U PaprockiGermanyStephen Shaw NEW
Misaki W CaudyArgentinaElwin Sharvill UNQUALIFIED
Julie C WhobreyAustraliaElwin Sharvill RENEWAL
David D RoysterRussiaOnyama Limba RENEWAL
Mujtaba F NickaArgentinaOnyama Limba QUALIFIED
Tony H GlickRussiaAnna Fali PROPOSAL
James C MaletFranceOnyama Limba NEW
Clifford W BowleyIndiaXuxue Feng UNQUALIFIED
Mujtaba F SchemmerItalyStephen Shaw RENEWAL
Frozen Columns
Name
Maisha G Whobrey
Octavia R Campain
Isabel R Stockham
Maisha X Shinko
Ivar U Slusarski
Adams Q Garufi
Emily U Waycott
Faith N Garufi
Smith W Schemmer
Jefferson J Dilliard
Faith S Shinko
Greenwood G Nestle
Mayumi U Venere
Francesco S Butt
Isabel D Bowley
Jeanfrancois R Wieser
Leja D Marrier
Aruna Y Venere
Tony P Caudy
Morrow H Ferencz
Nicolas Q Whobrey
Alejandro H Morasca
Murillo I Malet
Antonio O Waycott
Leon Z Slusarski
Faith V Amigon
Deepesh N Paprocki
Deepesh Z Vocelka
Francesco S Garufi
Aditya W Ferencz
Aruna X Glick
Misaki G Wieser
James W Albares
Alejandro S Inouye
Izzy X Dilliard
Cody Z Poquette
Aditya C Perin
Mayumi D Bolognia
Nicolas K Albares
Aika T Perin
Leja U Inouye
Darci F Flosi
Jeanfrancois U Whobrey
Maria J Caldarera
Cody D Ostrosky
Jefferson T Morasca
Mayumi S Amigon
Misaki D Glick
Clifford H Kusko
Deepesh Z Darakjy
IdCountryDate
1000Italy2025-08-25
1001Japan2025-08-03
1002Canada2025-08-01
1003Germany2025-08-02
1004Italy2025-08-11
1005Russia2025-08-23
1006United Kingdom2025-08-20
1007Australia2025-08-11
1008Germany2025-08-27
1009United Kingdom2025-07-30
1010Spain2025-08-09
1011Japan2025-08-03
1012Japan2025-08-02
1013Spain2025-08-16
1014India2025-08-17
1015France2025-08-03
1016India2025-08-14
1017Germany2025-08-16
1018Russia2025-08-12
1019Russia2025-08-07
1020Brazil2025-08-04
1021Italy2025-08-19
1022Germany2025-08-13
1023Brazil2025-08-23
1024United Kingdom2025-08-11
1025Japan2025-07-30
1026Australia2025-08-26
1027Canada2025-08-27
1028France2025-08-17
1029Germany2025-08-10
1030Germany2025-08-13
1031United Kingdom2025-07-30
1032Spain2025-08-25
1033United Kingdom2025-08-22
1034Russia2025-08-17
1035Japan2025-07-30
1036Brazil2025-08-03
1037France2025-08-22
1038Canada2025-08-05
1039Brazil2025-08-20
1040Argentina2025-08-02
1041Brazil2025-07-31
1042Japan2025-08-10
1043Canada2025-08-28
1044Germany2025-08-18
1045France2025-08-05
1046India2025-08-19
1047France2025-08-15
1048Italy2025-08-09
1049Canada2025-08-12

On-Demand Data

NameIdCountryDate
Ivar V Whobrey1000Brazil2025-08-08
Costa Z Glick1001United Kingdom2025-08-16
Salvatore T Oldroyd1002Italy2025-08-20
Adams Q Vocelka1003India2025-08-24
Mujtaba K Gaucho1004Germany2025-08-03
Rodrigues O Nicka1005United Kingdom2025-08-08
Maria N Iturbide1006United Kingdom2025-08-22
Jeanfrancois V Waycott1007Italy2025-07-30
Jefferson P Briddick1008United Kingdom2025-08-09
Chavez F Paprocki1009Australia2025-07-30
Chavez P Stockham1010United Kingdom2025-08-26
Rodrigues N Venere1011Russia2025-08-28
Munro F Rulapaugh1012Germany2025-08-25
Octavia Y Slusarski1013France2025-08-26
Leon L Inouye1014India2025-08-26
Salvatore N Dilliard1015India2025-08-05
Octavia U Maclead1016India2025-08-21
Rodrigues E Ferencz1017Australia2025-08-08
Kaitlin N Stockham1018Spain2025-08-12
Wickens Y Figeroa1019Germany2025-08-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco H PoquetteRussiaAmy Elsner QUALIFIED
Greenwood P BriddickUnited KingdomAmy Elsner QUALIFIED
Sinclair J KuskoGermanyBernardo Dominic PROPOSAL
Maisha D VenereFranceAmy Elsner PROPOSAL
Isabel B VocelkaBrazilIvan Magalhaes UNQUALIFIED
Octavia Z GauchoAustraliaElwin Sharvill QUALIFIED
Ashley O MarrierSpainAmy Elsner NEGOTIATION
Munro N CaudyFranceIoni Bowcher NEGOTIATION
Mujtaba E WhobreyFranceStephen Shaw RENEWAL
Misaki Q NestleUnited KingdomAnna Fali UNQUALIFIED
Stacey S CampainAustraliaXuxue Feng NEGOTIATION
Emily H SaylorsSpainAsiya Javayant NEW
Alejandro H DoeGermanyIvan Magalhaes NEW
David O MarrierRussiaElwin Sharvill RENEWAL
Leja J MaletIndiaOnyama Limba NEGOTIATION
Octavia W VocelkaItalyAsiya Javayant QUALIFIED
Leon J MorascaCanadaXuxue Feng QUALIFIED
Salvatore A BriddickIndiaAmy Elsner RENEWAL
Nicolas T NestleArgentinaIvan Magalhaes PROPOSAL
Emily Q MarrierRussiaBernardo Dominic UNQUALIFIED
Faith P MacleadItalyAmy Elsner NEGOTIATION
Octavia E NestleGermanyAmy Elsner QUALIFIED
Adams W BologniaCanadaAsiya Javayant PROPOSAL
Munro I FerenczRussiaStephen Shaw QUALIFIED
Ivar A ButtJapanElwin Sharvill QUALIFIED
Leja L MarrierCanadaAsiya Javayant NEGOTIATION
Octavia T BriddickBrazilAsiya Javayant QUALIFIED
Alejandro M WaycottArgentinaAmy Elsner RENEWAL
Johnson I MaletRussiaBernardo Dominic QUALIFIED
Antonio K CaudyAustraliaOnyama Limba NEGOTIATION
Juan V CaldareraSpainAmy Elsner RENEWAL
Aruna N CampainAustraliaIvan Magalhaes UNQUALIFIED
Mayumi E MaletArgentinaIvan Magalhaes RENEWAL
Aditya A SchemmerFranceIoni Bowcher PROPOSAL
Claire J NickaRussiaAnna Fali QUALIFIED
Jeanfrancois O TollnerJapanAmy Elsner NEGOTIATION
Ashley D FollerRussiaAmy Elsner NEGOTIATION
Ricardo W CampainItalyOnyama Limba UNQUALIFIED
Stacey N NickaBrazilBernardo Dominic NEW
Aditya G KuskoCanadaAnna Fali 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>