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
Silvio R BologniaFranceIvan Magalhaes QUALIFIED
Johnson M ChuiJapanIoni Bowcher PROPOSAL
Emily Y CaldareraItalyBernardo Dominic PROPOSAL
Mayumi S SaylorsSpainElwin Sharvill RENEWAL
David I InouyeCanadaIoni Bowcher NEGOTIATION
Johnson R VocelkaIndiaElwin Sharvill UNQUALIFIED
Silvio V MarrierIndiaAnna Fali QUALIFIED
Faith P NickaAustraliaStephen Shaw NEW
Jones O SlusarskiGermanyIvan Magalhaes QUALIFIED
Faith Z RoysterAustraliaBernardo Dominic PROPOSAL
Morrow F BowleyGermanyAnna Fali NEGOTIATION
Alejandro N BowleyItalyOnyama Limba RENEWAL
Juan E RutaJapanXuxue Feng NEW
Clifford E SergiFranceAsiya Javayant UNQUALIFIED
Juan B TollnerJapanElwin Sharvill NEW
Emily S MaletArgentinaAnna Fali NEGOTIATION
Maria X GlickBrazilXuxue Feng PROPOSAL
Kaitlin U MacleadJapanIvan Magalhaes NEGOTIATION
Rodrigues L MaletJapanBernardo Dominic NEGOTIATION
Wickens X PaprockiUnited KingdomAsiya Javayant PROPOSAL
Juan Y MaletJapanOnyama Limba UNQUALIFIED
Darci F FigeroaIndiaAnna Fali NEGOTIATION
Leja C ButtRussiaElwin Sharvill NEGOTIATION
Mujtaba M PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Claire C DoeGermanyIoni Bowcher UNQUALIFIED
Jennifer P WieserIndiaXuxue Feng NEW
Francesco R GillianJapanBernardo Dominic PROPOSAL
Emily Z InouyeBrazilXuxue Feng NEGOTIATION
Francesco P DilliardGermanyBernardo Dominic NEGOTIATION
Chavez Q VenereArgentinaAsiya Javayant RENEWAL
Alejandro J GillianSpainAnna Fali RENEWAL
Costa X FigeroaUnited KingdomAsiya Javayant NEW
Kadeem N NickaArgentinaAsiya Javayant NEW
Morrow A OstroskyAustraliaXuxue Feng NEW
Arvin R ShinkoCanadaAmy Elsner NEGOTIATION
Nicolas M MarrierFranceAsiya Javayant PROPOSAL
James E OldroydCanadaIvan Magalhaes UNQUALIFIED
Nicolas G CaudyArgentinaXuxue Feng PROPOSAL
Mujtaba J FollerJapanAnna Fali RENEWAL
Chavez C PoquetteCanadaOnyama Limba QUALIFIED
Salvatore F StockhamGermanyAmy Elsner QUALIFIED
Ivar W SlusarskiBrazilOnyama Limba NEW
Darci F ShinkoItalyAmy Elsner NEW
Juan C NickaIndiaIvan Magalhaes NEW
Juan O BologniaIndiaIoni Bowcher NEGOTIATION
Claire V FerenczSpainAsiya Javayant RENEWAL
Adams C MacleadUnited KingdomAmy Elsner RENEWAL
Darci H FlosiBrazilBernardo Dominic UNQUALIFIED
Munro B CampainSpainAsiya Javayant RENEWAL
Alejandro J SlusarskiArgentinaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas E MaletItalyOnyama Limba RENEWAL
Stacey T NickaArgentinaIoni Bowcher UNQUALIFIED
Claire K AlbaresIndiaIoni Bowcher PROPOSAL
Murillo B CaudyIndiaStephen Shaw RENEWAL
Aditya Q AlbaresUnited KingdomOnyama Limba RENEWAL
Isabel W FollerUnited KingdomXuxue Feng QUALIFIED
Tony S VocelkaAustraliaAsiya Javayant UNQUALIFIED
Isabel O TollnerSpainElwin Sharvill NEGOTIATION
Salvatore Z NestleBrazilIoni Bowcher PROPOSAL
Costa Y SergiIndiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody V KuskoIndia2025-08-20King, Christopher A Esq QUALIFIED94Xuxue Feng
1001Darci V PoquetteFrance2025-08-10Benton, John B Jr RENEWAL63Anna Fali
1002Jefferson V GarufiIndia2025-08-19Buckley Miller Wright RENEWAL41Elwin Sharvill
1003Jones J KolmetzUnited Kingdom2025-08-25Commercial Press NEGOTIATION96Amy Elsner
1004Adams N DoeFrance2025-08-02Morlong Associates QUALIFIED29Bernardo Dominic
1005Tony O RutaJapan2025-08-07Dorl, James J Esq QUALIFIED6Elwin Sharvill
1006Jefferson A IturbideArgentina2025-08-18Commercial Press QUALIFIED15Bernardo Dominic
1007Maria J KuskoItaly2025-08-15Buckley Miller Wright UNQUALIFIED89Asiya Javayant
1008Costa A MorascaCanada2025-08-27Commercial Press UNQUALIFIED39Onyama Limba
1009Aika G KuskoUnited Kingdom2025-08-04King, Christopher A Esq QUALIFIED17Stephen Shaw
1010Wickens R FollerBrazil2025-08-08Truhlar And Truhlar Attys PROPOSAL87Stephen Shaw
1011Leon L SchemmerCanada2025-08-18Chanay, Jeffrey A Esq UNQUALIFIED14Amy Elsner
1012Munro G SergiRussia2025-08-03Dorl, James J Esq NEW80Elwin Sharvill
1013Ivar F RulapaughGermany2025-08-04Printing Dimensions NEGOTIATION31Xuxue Feng
1014Francesco O AlbaresRussia2025-08-04Chemel, James L Cpa QUALIFIED81Asiya Javayant
1015Chavez Y WaycottUnited Kingdom2025-08-19Rangoni Of Florence PROPOSAL13Amy Elsner
1016Misaki N CaldareraUnited Kingdom2025-08-04Feltz Printing Service RENEWAL28Bernardo Dominic
1017Antonio T MaletJapan2025-08-11Feiner Bros NEGOTIATION11Elwin Sharvill
1018Smith A VocelkaGermany2025-08-26Buckley Miller Wright UNQUALIFIED80Ivan Magalhaes
1019Rodrigues R FigeroaIndia2025-08-01Buckley Miller Wright RENEWAL1Ivan Magalhaes
1020Rodrigues C ChuiJapan2025-08-24Chanay, Jeffrey A Esq NEW44Bernardo Dominic
1021Smith A BowleyArgentina2025-08-19Chapman, Ross E Esq QUALIFIED78Stephen Shaw
1022Isabel T BologniaArgentina2025-08-16Truhlar And Truhlar Attys QUALIFIED7Ioni Bowcher
1023David D TollnerItaly2025-07-30Truhlar And Truhlar Attys UNQUALIFIED19Xuxue Feng
1024Kadeem J MorascaJapan2025-08-26Chapman, Ross E Esq RENEWAL20Ioni Bowcher
1025Isabel Z WaycottUnited Kingdom2025-08-14Chapman, Ross E Esq QUALIFIED34Ivan Magalhaes
1026Aruna S IturbideIndia2025-08-12Feltz Printing Service NEW78Stephen Shaw
1027Mujtaba B AmigonSpain2025-08-28Dorl, James J Esq NEGOTIATION60Asiya Javayant
1028Francesco L KuskoBrazil2025-08-20Rangoni Of Florence QUALIFIED8Elwin Sharvill
1029Misaki J DarakjyRussia2025-08-22Truhlar And Truhlar Attys RENEWAL85Bernardo Dominic
1030Leja J ButtJapan2025-07-31Rousseaux, Michael Esq QUALIFIED41Elwin Sharvill
1031Antonio F AmigonGermany2025-08-04Commercial Press NEGOTIATION10Onyama Limba
1032Julie H DoeBrazil2025-08-10Buckley Miller Wright NEW21Bernardo Dominic
1033Wickens Z StockhamFrance2025-08-07Truhlar And Truhlar Attys UNQUALIFIED89Onyama Limba
1034Jones G DarakjyBrazil2025-08-20Rangoni Of Florence PROPOSAL31Asiya Javayant
1035Johnson V PaprockiItaly2025-08-14Truhlar And Truhlar Attys UNQUALIFIED14Stephen Shaw
1036Aruna K MarrierAustralia2025-08-01Chemel, James L Cpa RENEWAL71Amy Elsner
1037Jennifer E PoquetteFrance2025-08-01Rousseaux, Michael Esq UNQUALIFIED28Ioni Bowcher
1038Costa R FigeroaCanada2025-08-09Printing Dimensions PROPOSAL63Stephen Shaw
1039Cody T FlosiItaly2025-08-22Chanay, Jeffrey A Esq UNQUALIFIED30Xuxue Feng
1040Kadeem M MarrierIndia2025-08-01Chapman, Ross E Esq UNQUALIFIED51Ivan Magalhaes
1041Jennifer C MarrierRussia2025-08-11Feltz Printing Service NEGOTIATION62Bernardo Dominic
1042Greenwood H GauchoSpain2025-08-05Buckley Miller Wright QUALIFIED48Xuxue Feng
1043Ricardo T MaletBrazil2025-08-18Chanay, Jeffrey A Esq NEW18Asiya Javayant
1044Leon Q RutaIndia2025-08-22Dorl, James J Esq PROPOSAL4Onyama Limba
1045Jefferson L InouyeJapan2025-08-19Chapman, Ross E Esq UNQUALIFIED18Elwin Sharvill
1046Jeanfrancois T SchemmerItaly2025-08-22Printing Dimensions UNQUALIFIED81Elwin Sharvill
1047Tony L VenereCanada2025-08-13Chapman, Ross E Esq PROPOSAL8Xuxue Feng
1048Arvin D GillianRussia2025-08-26Rousseaux, Michael Esq RENEWAL54Asiya Javayant
1049Aruna N GauchoAustralia2025-08-28Rousseaux, Michael Esq NEGOTIATION7Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams C BriddickBrazilStephen Shaw NEGOTIATION
Chavez M GlickSpainAmy Elsner UNQUALIFIED
Aruna N MaletFranceElwin Sharvill PROPOSAL
Sinclair Z TollnerBrazilAnna Fali PROPOSAL
Arvin B DoeCanadaElwin Sharvill NEW
Clifford N KuskoRussiaIvan Magalhaes RENEWAL
Mayumi A KuskoJapanStephen Shaw RENEWAL
Chavez T AmigonFranceAnna Fali NEGOTIATION
Munro I PerinFranceBernardo Dominic NEGOTIATION
Munro P CaldareraItalyAnna Fali NEW
Wickens U InouyeUnited KingdomIoni Bowcher NEGOTIATION
Faith W GauchoIndiaAnna Fali QUALIFIED
Jefferson Y NestleFranceIoni Bowcher RENEWAL
Ivar V WhobreyItalyIvan Magalhaes NEGOTIATION
Alejandro K DilliardJapanIoni Bowcher PROPOSAL
Silvio K FerenczBrazilElwin Sharvill NEGOTIATION
Jefferson G RutaSpainIvan Magalhaes QUALIFIED
Kaitlin O OstroskyFranceIoni Bowcher NEGOTIATION
Rodrigues Z WaycottItalyBernardo Dominic NEW
Maria E MorascaIndiaIoni Bowcher NEGOTIATION
Cody P DarakjyIndiaIvan Magalhaes PROPOSAL
Kaitlin Q DoeIndiaIoni Bowcher PROPOSAL
Jeanfrancois S BologniaSpainElwin Sharvill NEGOTIATION
Francesco Z InouyeSpainOnyama Limba QUALIFIED
Claire J BowleyFranceAsiya Javayant UNQUALIFIED
Smith M SaylorsUnited KingdomElwin Sharvill QUALIFIED
Kaitlin B RutaItalyXuxue Feng PROPOSAL
Costa A ButtJapanIvan Magalhaes NEW
Ricardo U MaletSpainAnna Fali UNQUALIFIED
Aika Q MacleadRussiaAsiya Javayant UNQUALIFIED
Faith O DoeUnited KingdomStephen Shaw NEW
Jennifer Z OldroydBrazilAnna Fali PROPOSAL
Mayumi W MaletFranceAmy Elsner UNQUALIFIED
Smith G ShinkoArgentinaXuxue Feng QUALIFIED
Faith P ButtGermanyIvan Magalhaes NEW
Emily N BowleyUnited KingdomOnyama Limba RENEWAL
Darci G RulapaughIndiaAsiya Javayant NEW
Tony J FlosiGermanyStephen Shaw NEGOTIATION
Misaki L RutaUnited KingdomXuxue Feng NEW
Maria O MorascaAustraliaXuxue Feng PROPOSAL
Julie G RulapaughRussiaAmy Elsner QUALIFIED
Aditya S SlusarskiGermanyBernardo Dominic QUALIFIED
Jefferson Z MaletArgentinaOnyama Limba NEW
Stacey O PerinUnited KingdomAmy Elsner RENEWAL
Kaitlin R GauchoArgentinaStephen Shaw QUALIFIED
Aditya C ButtJapanAmy Elsner UNQUALIFIED
Kadeem I BriddickFranceAmy Elsner NEW
Claire D DilliardUnited KingdomStephen Shaw NEW
Maria L ButtBrazilAsiya Javayant PROPOSAL
Ashley Z StockhamArgentinaAmy Elsner PROPOSAL
Frozen Columns
Name
Misaki B Campain
Salvatore S Amigon
Wickens Q Briddick
Aditya T Gillian
Leja E Darakjy
Misaki W Nicka
Johnson J Kolmetz
Maisha A Garufi
David B Saylors
Ashley B Malet
Octavia E Foller
Greenwood W Inouye
Murillo Y Poquette
Ivar P Poquette
Tony C Bowley
Ivar O Stenseth
Munro U Bolognia
Emily S Perin
Ivar X Nestle
Julie M Paprocki
David S Marrier
Mayumi A Butt
Mujtaba O Bolognia
Maisha U Stockham
Juan F Doe
David U Amigon
Salvatore L Garufi
Ashley P Gaucho
Leon S Ruta
Munro D Vocelka
Stacey B Shinko
Kaitlin U Rim
Juan F Nicka
Johnson E Dilliard
Julie U Figeroa
Greenwood L Stockham
Jones R Vocelka
Jennifer K Flosi
David A Inouye
Aika L Bolognia
Antonio F Ferencz
Isabel I Perin
Costa F Caldarera
Salvatore P Rulapaugh
Cody C Schemmer
Stacey X Slusarski
James I Stenseth
Kadeem W Foller
Murillo L Ferencz
Octavia G Iturbide
IdCountryDate
1000Australia2025-08-11
1001Japan2025-08-17
1002Russia2025-08-01
1003United Kingdom2025-08-10
1004Argentina2025-08-23
1005Australia2025-08-08
1006Australia2025-08-14
1007Australia2025-08-07
1008Russia2025-08-09
1009Japan2025-08-09
1010Australia2025-08-10
1011Germany2025-08-17
1012Germany2025-07-30
1013Brazil2025-08-14
1014Australia2025-08-02
1015Australia2025-08-27
1016Brazil2025-08-05
1017Australia2025-08-05
1018Germany2025-08-05
1019Australia2025-08-25
1020United Kingdom2025-08-08
1021Germany2025-08-01
1022Japan2025-08-23
1023Canada2025-08-01
1024Argentina2025-08-01
1025Spain2025-08-19
1026France2025-08-20
1027Brazil2025-08-11
1028Germany2025-08-08
1029United Kingdom2025-08-17
1030Argentina2025-08-27
1031France2025-08-03
1032Canada2025-08-23
1033Italy2025-08-05
1034Canada2025-08-20
1035Spain2025-08-07
1036Spain2025-08-15
1037United Kingdom2025-08-01
1038Australia2025-08-27
1039France2025-08-13
1040France2025-08-04
1041Argentina2025-07-30
1042Italy2025-08-03
1043Argentina2025-08-07
1044Spain2025-08-17
1045Japan2025-08-06
1046United Kingdom2025-08-11
1047Russia2025-07-31
1048Japan2025-08-03
1049Brazil2025-07-30

On-Demand Data

NameIdCountryDate
James Z Malet1000Argentina2025-08-13
Octavia D Rulapaugh1001Japan2025-08-17
Salvatore X Oldroyd1002Spain2025-08-04
Alejandro M Waycott1003Argentina2025-08-17
Darci D Malet1004Russia2025-08-27
Salvatore X Flosi1005Australia2025-08-09
Jennifer U Rim1006France2025-08-01
Juan E Schemmer1007Russia2025-08-19
Maria C Marrier1008Japan2025-08-16
Octavia D Campain1009Russia2025-08-26
James E Maclead1010Spain2025-08-04
Arvin X Amigon1011Brazil2025-08-10
Morrow J Garufi1012Germany2025-08-19
Isabel E Ruta1013Russia2025-08-15
Morrow Z Poquette1014France2025-08-14
Isabel A Iturbide1015Brazil2025-08-17
Ashley Y Doe1016Japan2025-08-26
Aditya P Venere1017Brazil2025-08-11
Ricardo E Malet1018Japan2025-08-24
Murillo J Kusko1019Australia2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco A AmigonArgentinaAsiya Javayant QUALIFIED
Jennifer V WhobreyItalyIvan Magalhaes NEGOTIATION
Kaitlin J CaudyAustraliaOnyama Limba RENEWAL
Cody M FerenczUnited KingdomStephen Shaw PROPOSAL
Chavez X BowleyBrazilIoni Bowcher RENEWAL
Aika V CaldareraItalyElwin Sharvill NEGOTIATION
Jeanfrancois E KuskoUnited KingdomXuxue Feng PROPOSAL
Silvio R PerinCanadaOnyama Limba NEGOTIATION
Kadeem M MaletBrazilAsiya Javayant QUALIFIED
Jefferson A MacleadArgentinaAmy Elsner NEW
Aditya P VenereItalyIvan Magalhaes UNQUALIFIED
Misaki H WhobreyIndiaBernardo Dominic RENEWAL
Morrow B GlickAustraliaOnyama Limba QUALIFIED
Sinclair K MaletIndiaBernardo Dominic QUALIFIED
Jennifer N WaycottFranceIvan Magalhaes RENEWAL
Kaitlin U WhobreyAustraliaAnna Fali QUALIFIED
Nicolas F OldroydJapanElwin Sharvill NEW
Julie N VocelkaArgentinaAmy Elsner NEW
Isabel Z GarufiUnited KingdomOnyama Limba PROPOSAL
James T RimFranceAmy Elsner NEW
Ashley Z FerenczUnited KingdomAmy Elsner RENEWAL
Ivar G NestleSpainAsiya Javayant RENEWAL
Mayumi P OldroydIndiaBernardo Dominic NEW
Silvio Y CaudyGermanyOnyama Limba QUALIFIED
Alejandro I PoquetteSpainIoni Bowcher RENEWAL
Smith D StockhamArgentinaAsiya Javayant PROPOSAL
Antonio N BriddickCanadaOnyama Limba NEGOTIATION
Deepesh K RutaUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois E IturbideSpainOnyama Limba UNQUALIFIED
Morrow U OldroydBrazilBernardo Dominic NEGOTIATION
Julie A MacleadAustraliaIoni Bowcher UNQUALIFIED
Wickens V RimIndiaIoni Bowcher NEGOTIATION
Octavia S FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Francesco E GillianJapanXuxue Feng QUALIFIED
Jennifer K CaudyCanadaIvan Magalhaes QUALIFIED
Aruna J RimCanadaOnyama Limba PROPOSAL
Claire J KuskoIndiaStephen Shaw NEW
Maria Q RimSpainElwin Sharvill PROPOSAL
Munro T VenereUnited KingdomAnna Fali NEW
Jones U OstroskySpainAmy Elsner 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>