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
Munro W RimFranceOnyama Limba NEW
Julie H ShinkoIndiaIvan Magalhaes UNQUALIFIED
Jefferson Q CaldareraUnited KingdomOnyama Limba NEGOTIATION
Clifford J DilliardAustraliaElwin Sharvill QUALIFIED
Ivar Z GauchoJapanXuxue Feng NEGOTIATION
Munro U ButtRussiaBernardo Dominic NEW
James S FlosiBrazilAnna Fali PROPOSAL
Sinclair E RoysterIndiaAnna Fali UNQUALIFIED
Morrow C GlickItalyXuxue Feng PROPOSAL
Salvatore M SaylorsJapanBernardo Dominic UNQUALIFIED
Ricardo K VenereFranceBernardo Dominic UNQUALIFIED
Antonio W NickaUnited KingdomAmy Elsner NEGOTIATION
Rodrigues Y FlosiJapanIvan Magalhaes NEGOTIATION
Leja Z TollnerArgentinaAsiya Javayant NEGOTIATION
Antonio Y FerenczBrazilXuxue Feng PROPOSAL
Darci Z WaycottFranceIoni Bowcher NEW
Wickens N PoquetteIndiaAsiya Javayant UNQUALIFIED
Kadeem R MarrierSpainXuxue Feng QUALIFIED
Jones R PoquetteArgentinaOnyama Limba RENEWAL
Ivar D FlosiArgentinaBernardo Dominic RENEWAL
Smith L WaycottIndiaAnna Fali UNQUALIFIED
Chavez G SlusarskiFranceIvan Magalhaes NEGOTIATION
Ashley Q DarakjyArgentinaStephen Shaw RENEWAL
Antonio K RutaRussiaOnyama Limba RENEWAL
Wickens K CaldareraItalyAsiya Javayant UNQUALIFIED
Izzy M ChuiBrazilStephen Shaw NEW
Salvatore I KolmetzGermanyAnna Fali UNQUALIFIED
Rodrigues J CaldareraJapanStephen Shaw PROPOSAL
Isabel O MarrierAustraliaAsiya Javayant PROPOSAL
Kadeem V VenereBrazilIvan Magalhaes NEGOTIATION
Antonio F SlusarskiBrazilAmy Elsner UNQUALIFIED
Smith X GarufiCanadaBernardo Dominic PROPOSAL
Adams R OstroskyUnited KingdomBernardo Dominic RENEWAL
Antonio T StockhamArgentinaAsiya Javayant NEW
Mayumi K WieserRussiaIoni Bowcher NEW
Jones U BriddickRussiaElwin Sharvill NEGOTIATION
Claire V GillianRussiaAsiya Javayant QUALIFIED
Cody Q CaudyArgentinaStephen Shaw NEGOTIATION
Rodrigues V TollnerBrazilIoni Bowcher NEW
Aika O MaletFranceIvan Magalhaes UNQUALIFIED
Faith I AmigonItalyOnyama Limba PROPOSAL
Maisha O WaycottRussiaXuxue Feng NEW
Misaki V AlbaresJapanIvan Magalhaes RENEWAL
Silvio R ChuiArgentinaAsiya Javayant QUALIFIED
James E SergiJapanBernardo Dominic RENEWAL
Kadeem Z MacleadIndiaXuxue Feng NEGOTIATION
Munro Y DilliardJapanXuxue Feng RENEWAL
Leon Z FigeroaRussiaIvan Magalhaes NEGOTIATION
Munro Y OstroskyUnited KingdomAsiya Javayant RENEWAL
Munro J CaldareraIndiaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha S RoysterUnited KingdomAmy Elsner QUALIFIED
Julie R SlusarskiItalyXuxue Feng NEGOTIATION
Chavez M NestleGermanyAnna Fali NEW
Francesco T WaycottCanadaElwin Sharvill RENEWAL
Juan C RulapaughRussiaElwin Sharvill RENEWAL
Antonio B FerenczItalyAsiya Javayant NEW
Leja D VocelkaUnited KingdomOnyama Limba NEGOTIATION
Costa M NestleArgentinaOnyama Limba UNQUALIFIED
Antonio T BriddickFranceAnna Fali QUALIFIED
Claire U SergiJapanStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi S CaldareraFrance2025-08-04Rousseaux, Michael Esq UNQUALIFIED4Stephen Shaw
1001Murillo K OldroydGermany2025-08-16King, Christopher A Esq NEGOTIATION31Xuxue Feng
1002Wickens P AlbaresBrazil2025-08-10Commercial Press NEGOTIATION74Ivan Magalhaes
1003Juan F BologniaBrazil2025-08-14Chapman, Ross E Esq PROPOSAL8Ivan Magalhaes
1004Rodrigues U CaudySpain2025-07-30Buckley Miller Wright NEGOTIATION78Xuxue Feng
1005Francesco D MaletArgentina2025-08-18Morlong Associates NEGOTIATION70Anna Fali
1006Octavia I NestleArgentina2025-07-30Rousseaux, Michael Esq QUALIFIED2Anna Fali
1007Kadeem L PerinUnited Kingdom2025-08-05Morlong Associates PROPOSAL79Ioni Bowcher
1008Adams P FerenczAustralia2025-08-04Chemel, James L Cpa NEGOTIATION27Elwin Sharvill
1009Smith Y BowleyAustralia2025-07-31Benton, John B Jr QUALIFIED14Onyama Limba
1010Munro I RulapaughSpain2025-07-24Chanay, Jeffrey A Esq PROPOSAL91Onyama Limba
1011Leon F SaylorsIndia2025-08-21King, Christopher A Esq UNQUALIFIED9Stephen Shaw
1012Murillo O WieserJapan2025-07-27Chanay, Jeffrey A Esq PROPOSAL85Amy Elsner
1013Emily P FigeroaGermany2025-08-11Chapman, Ross E Esq QUALIFIED6Ioni Bowcher
1014Jones V TollnerRussia2025-08-07Rousseaux, Michael Esq NEGOTIATION38Ivan Magalhaes
1015Leja E PoquetteArgentina2025-08-14Truhlar And Truhlar Attys PROPOSAL80Onyama Limba
1016Misaki C PaprockiAustralia2025-08-06Feiner Bros UNQUALIFIED58Ioni Bowcher
1017Stacey U WhobreySpain2025-07-27Chapman, Ross E Esq NEW53Asiya Javayant
1018Leja Y SlusarskiCanada2025-08-13Printing Dimensions NEGOTIATION93Amy Elsner
1019Mayumi I DoeSpain2025-08-03Truhlar And Truhlar Attys NEW47Ivan Magalhaes
1020Faith Y RulapaughJapan2025-08-13Rangoni Of Florence RENEWAL15Amy Elsner
1021Maria F SergiCanada2025-08-10Benton, John B Jr UNQUALIFIED16Anna Fali
1022Jennifer X StockhamGermany2025-08-08Commercial Press RENEWAL94Onyama Limba
1023Emily M RimSpain2025-07-24Chemel, James L Cpa PROPOSAL0Onyama Limba
1024Greenwood U FollerAustralia2025-08-07Feltz Printing Service UNQUALIFIED46Amy Elsner
1025Jefferson G GlickSpain2025-08-22Printing Dimensions UNQUALIFIED16Elwin Sharvill
1026Juan N DoeIndia2025-07-24Chanay, Jeffrey A Esq NEGOTIATION38Bernardo Dominic
1027Aditya W FollerUnited Kingdom2025-08-01Feiner Bros UNQUALIFIED3Bernardo Dominic
1028Misaki C ChuiRussia2025-08-19Rangoni Of Florence UNQUALIFIED3Stephen Shaw
1029Claire H TollnerRussia2025-07-24Chemel, James L Cpa QUALIFIED9Xuxue Feng
1030Morrow W GlickCanada2025-08-09Feltz Printing Service PROPOSAL76Ioni Bowcher
1031Aditya U CaudyJapan2025-08-21Dorl, James J Esq PROPOSAL19Ivan Magalhaes
1032Faith O IturbideUnited Kingdom2025-08-11Feltz Printing Service RENEWAL20Onyama Limba
1033Ricardo W BriddickSpain2025-08-21Printing Dimensions QUALIFIED20Ivan Magalhaes
1034Misaki P SlusarskiFrance2025-07-30Dorl, James J Esq QUALIFIED10Elwin Sharvill
1035Aditya Z SchemmerIndia2025-08-21Commercial Press NEGOTIATION34Stephen Shaw
1036Misaki U BologniaGermany2025-08-13King, Christopher A Esq RENEWAL74Stephen Shaw
1037Silvio G DilliardGermany2025-07-25Feltz Printing Service NEGOTIATION0Bernardo Dominic
1038James W CaudyAustralia2025-07-26Rousseaux, Michael Esq QUALIFIED38Amy Elsner
1039Tony C FerenczIndia2025-08-02Dorl, James J Esq RENEWAL11Ioni Bowcher
1040Jefferson G MarrierBrazil2025-08-02Feltz Printing Service NEGOTIATION50Xuxue Feng
1041Stacey P OstroskySpain2025-08-20Chapman, Ross E Esq RENEWAL20Amy Elsner
1042Kadeem W BowleyGermany2025-08-01Morlong Associates QUALIFIED82Asiya Javayant
1043Alejandro Q KuskoGermany2025-07-28Chanay, Jeffrey A Esq RENEWAL66Onyama Limba
1044Mujtaba I GlickUnited Kingdom2025-07-28Chapman, Ross E Esq NEW84Stephen Shaw
1045Jeanfrancois M DarakjyUnited Kingdom2025-08-02Commercial Press QUALIFIED21Amy Elsner
1046Faith Q CampainArgentina2025-07-31Buckley Miller Wright RENEWAL22Asiya Javayant
1047Leja D WaycottJapan2025-08-12Commercial Press PROPOSAL39Ioni Bowcher
1048James E ChuiIndia2025-08-08Rangoni Of Florence QUALIFIED65Asiya Javayant
1049Clifford F FlosiFrance2025-08-03Rangoni Of Florence NEW68Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Faith W MaletAustraliaAmy Elsner RENEWAL
Stacey T RulapaughJapanStephen Shaw NEW
Julie O MaletSpainBernardo Dominic NEGOTIATION
Aika C PerinFranceAnna Fali RENEWAL
Aditya A InouyeJapanElwin Sharvill NEGOTIATION
Izzy I ChuiUnited KingdomElwin Sharvill QUALIFIED
Ricardo J MacleadFranceBernardo Dominic QUALIFIED
Izzy B StockhamArgentinaBernardo Dominic RENEWAL
Murillo O DilliardGermanyAmy Elsner UNQUALIFIED
Adams A RoysterRussiaAmy Elsner QUALIFIED
Ashley B SergiJapanStephen Shaw UNQUALIFIED
Leon U RutaCanadaIvan Magalhaes NEW
Arvin P PaprockiIndiaAsiya Javayant PROPOSAL
Deepesh X WhobreyItalyIvan Magalhaes NEW
Alejandro S SchemmerIndiaOnyama Limba UNQUALIFIED
Darci G StockhamGermanyAmy Elsner NEGOTIATION
Clifford U ShinkoBrazilStephen Shaw RENEWAL
Maria V DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Isabel X SchemmerFranceAmy Elsner NEW
Johnson M GillianGermanyAmy Elsner NEGOTIATION
Mujtaba F FigeroaSpainIoni Bowcher UNQUALIFIED
Tony F AlbaresCanadaIvan Magalhaes QUALIFIED
Kadeem O CaldareraItalyAsiya Javayant PROPOSAL
Francesco I MorascaJapanOnyama Limba NEGOTIATION
Isabel O AmigonBrazilXuxue Feng PROPOSAL
James U PaprockiRussiaStephen Shaw UNQUALIFIED
Morrow K SchemmerIndiaAnna Fali RENEWAL
Izzy V MarrierAustraliaAmy Elsner RENEWAL
Chavez C RutaCanadaAsiya Javayant NEGOTIATION
Jeanfrancois Y BowleyGermanyOnyama Limba UNQUALIFIED
Claire S RulapaughIndiaBernardo Dominic NEGOTIATION
Clifford C GarufiIndiaXuxue Feng PROPOSAL
Ricardo I ButtCanadaAsiya Javayant QUALIFIED
Jefferson W DilliardItalyAsiya Javayant RENEWAL
Mayumi E ButtSpainOnyama Limba NEGOTIATION
Munro A WaycottFranceXuxue Feng QUALIFIED
Leon L FollerSpainOnyama Limba NEGOTIATION
Darci T WhobreyJapanIvan Magalhaes NEGOTIATION
Munro N GauchoCanadaStephen Shaw RENEWAL
Emily O MacleadCanadaXuxue Feng QUALIFIED
Octavia M WaycottJapanStephen Shaw QUALIFIED
Munro R RimAustraliaAmy Elsner RENEWAL
Aruna T MacleadJapanAmy Elsner PROPOSAL
Jefferson R ButtUnited KingdomXuxue Feng NEGOTIATION
Wickens I FlosiAustraliaXuxue Feng QUALIFIED
Cody Q FollerRussiaOnyama Limba RENEWAL
Jefferson T BowleyBrazilStephen Shaw NEGOTIATION
Johnson D MaletUnited KingdomAnna Fali QUALIFIED
Johnson O FlosiFranceElwin Sharvill UNQUALIFIED
Jefferson F OstroskyIndiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Kadeem I Venere
Jeanfrancois L Stockham
Tony Y Tollner
Nicolas K Vocelka
Johnson D Malet
Mayumi C Dilliard
Tony W Whobrey
Clifford K Bowley
Misaki M Saylors
Mujtaba G Butt
Adams L Wieser
Costa P Amigon
Emily O Poquette
Aika H Maclead
Murillo O Chui
Greenwood C Nestle
Kaitlin K Dilliard
Jefferson Z Glick
Deepesh H Gaucho
Kaitlin U Vocelka
Aruna Y Ferencz
Leon F Bowley
Aditya P Shinko
Silvio W Figeroa
Emily E Caudy
Chavez N Butt
Tony U Chui
Kaitlin N Slusarski
Leja Z Rim
Claire P Perin
Mujtaba Y Gaucho
Mayumi A Inouye
Izzy X Ferencz
Ashley C Dilliard
Mayumi N Rulapaugh
Alejandro L Iturbide
David J Briddick
Juan W Dilliard
Alejandro A Nestle
Smith D Amigon
Aditya V Venere
Faith B Butt
Morrow P Nestle
Chavez A Marrier
Deepesh D Inouye
Clifford M Schemmer
Emily S Tollner
Salvatore M Shinko
Nicolas J Kusko
Johnson D Malet
IdCountryDate
1000Russia2025-08-10
1001Australia2025-08-14
1002Argentina2025-08-21
1003Australia2025-07-31
1004Russia2025-08-09
1005Spain2025-08-16
1006Italy2025-08-15
1007Russia2025-08-03
1008Canada2025-08-08
1009United Kingdom2025-08-11
1010Brazil2025-08-15
1011Germany2025-07-25
1012Spain2025-07-29
1013Argentina2025-08-21
1014Spain2025-07-26
1015Russia2025-08-13
1016India2025-08-01
1017Russia2025-07-26
1018France2025-08-07
1019Canada2025-08-12
1020India2025-08-17
1021Australia2025-08-09
1022Germany2025-07-30
1023Germany2025-08-06
1024Spain2025-08-13
1025Canada2025-07-28
1026India2025-08-01
1027United Kingdom2025-07-31
1028Argentina2025-08-06
1029Argentina2025-08-16
1030Germany2025-07-30
1031Argentina2025-07-30
1032Germany2025-07-27
1033Russia2025-07-31
1034Australia2025-07-31
1035Brazil2025-07-31
1036Germany2025-08-13
1037Russia2025-08-05
1038India2025-07-25
1039Spain2025-08-21
1040India2025-08-02
1041Australia2025-08-15
1042Spain2025-08-09
1043Argentina2025-07-31
1044Australia2025-08-21
1045Spain2025-07-29
1046Germany2025-08-20
1047Australia2025-08-11
1048France2025-08-10
1049India2025-08-22

On-Demand Data

NameIdCountryDate
Rodrigues H Caldarera1000Brazil2025-07-24
Clifford M Vocelka1001United Kingdom2025-08-14
Deepesh D Schemmer1002Germany2025-08-01
Clifford D Perin1003Australia2025-08-18
Francesco C Slusarski1004France2025-08-18
Costa O Slusarski1005Spain2025-07-26
Murillo C Albares1006Australia2025-08-05
Rodrigues V Glick1007Brazil2025-08-09
Nicolas B Nestle1008Spain2025-08-21
Ivar G Sergi1009Russia2025-08-09
Aika N Slusarski1010France2025-08-03
Munro R Morasca1011Australia2025-08-15
Sinclair A Perin1012Spain2025-08-21
Ivar R Garufi1013Germany2025-08-13
Darci I Sergi1014United Kingdom2025-07-26
Octavia N Briddick1015India2025-08-06
Munro A Sergi1016Spain2025-08-11
James A Gillian1017Argentina2025-08-02
Ashley H Flosi1018Australia2025-08-10
Morrow T Shinko1019Japan2025-07-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James A OstroskyAustraliaBernardo Dominic RENEWAL
Darci N SaylorsIndiaAmy Elsner PROPOSAL
Deepesh T KuskoItalyXuxue Feng UNQUALIFIED
Jeanfrancois V MarrierGermanyBernardo Dominic RENEWAL
Francesco O WhobreyBrazilOnyama Limba NEGOTIATION
Aruna Y VenereArgentinaAnna Fali PROPOSAL
Smith J ButtGermanyBernardo Dominic NEGOTIATION
Wickens G BologniaArgentinaAmy Elsner RENEWAL
Kadeem B BowleyGermanyAnna Fali NEW
Mujtaba O PerinIndiaAsiya Javayant UNQUALIFIED
Izzy L DoeGermanyStephen Shaw NEW
Munro D MarrierItalyElwin Sharvill PROPOSAL
Jeanfrancois A PerinJapanAsiya Javayant PROPOSAL
Kadeem C StockhamRussiaElwin Sharvill QUALIFIED
Tony M FigeroaFranceAmy Elsner NEGOTIATION
Maisha U AmigonRussiaIoni Bowcher NEGOTIATION
Smith Z RimUnited KingdomAmy Elsner NEGOTIATION
Greenwood H CaudyIndiaOnyama Limba NEGOTIATION
Johnson G RoysterJapanStephen Shaw NEGOTIATION
Salvatore X MaletItalyAmy Elsner QUALIFIED
Sinclair A ChuiJapanBernardo Dominic RENEWAL
Clifford Z IturbideJapanAsiya Javayant RENEWAL
Emily G FigeroaGermanyBernardo Dominic RENEWAL
Costa B FlosiSpainBernardo Dominic NEW
Sinclair S GarufiItalyBernardo Dominic NEGOTIATION
Salvatore N MacleadJapanAsiya Javayant QUALIFIED
Tony R MarrierUnited KingdomBernardo Dominic NEW
Darci X SlusarskiGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois T BologniaSpainAnna Fali NEGOTIATION
Aditya Y TollnerFranceIoni Bowcher NEGOTIATION
Rodrigues U MorascaSpainElwin Sharvill QUALIFIED
Maria D GlickArgentinaXuxue Feng NEW
Ricardo I CaudyCanadaBernardo Dominic RENEWAL
Antonio B OldroydCanadaAmy Elsner QUALIFIED
Aika B AlbaresGermanyIoni Bowcher RENEWAL
Cody L BriddickRussiaXuxue Feng PROPOSAL
Murillo D DoeBrazilXuxue Feng RENEWAL
Claire H GillianAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues V OldroydItalyIvan Magalhaes PROPOSAL
Morrow B MarrierBrazilOnyama Limba RENEWAL

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