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 C WieserItalyIoni Bowcher RENEWAL
Jeanfrancois R SergiIndiaAnna Fali UNQUALIFIED
Deepesh Z MaletAustraliaStephen Shaw NEGOTIATION
Emily D GillianBrazilOnyama Limba NEGOTIATION
Juan V FollerGermanyOnyama Limba QUALIFIED
Stacey R AmigonItalyElwin Sharvill QUALIFIED
Antonio Z IturbideIndiaAsiya Javayant NEW
Kadeem O FigeroaCanadaStephen Shaw PROPOSAL
Francesco S CaldareraFranceOnyama Limba QUALIFIED
Jones E WhobreyRussiaIvan Magalhaes PROPOSAL
Octavia J DoeIndiaAnna Fali QUALIFIED
Darci D ButtIndiaStephen Shaw UNQUALIFIED
Rodrigues G TollnerItalyAsiya Javayant NEGOTIATION
Aditya Q FigeroaCanadaAsiya Javayant NEGOTIATION
Antonio G SchemmerGermanyAsiya Javayant UNQUALIFIED
Aruna N WaycottUnited KingdomIoni Bowcher RENEWAL
Greenwood U ChuiCanadaBernardo Dominic PROPOSAL
Julie M GillianUnited KingdomAsiya Javayant NEGOTIATION
James V PoquetteSpainElwin Sharvill NEW
Francesco J GauchoUnited KingdomAsiya Javayant PROPOSAL
Aruna I FigeroaIndiaIoni Bowcher QUALIFIED
Chavez I GlickRussiaStephen Shaw RENEWAL
Maisha C BriddickIndiaXuxue Feng NEGOTIATION
Cody B MorascaIndiaElwin Sharvill NEW
Morrow T BowleyCanadaOnyama Limba RENEWAL
Darci M OstroskyItalyAmy Elsner RENEWAL
Ricardo P RutaIndiaOnyama Limba NEW
Misaki F NestleArgentinaStephen Shaw PROPOSAL
Maria M ShinkoGermanyBernardo Dominic NEGOTIATION
Aditya B NickaArgentinaIvan Magalhaes UNQUALIFIED
Salvatore E GillianFranceAmy Elsner NEGOTIATION
Ricardo G KuskoGermanyStephen Shaw NEGOTIATION
Sinclair B KolmetzJapanStephen Shaw NEGOTIATION
Mayumi F InouyeItalyIvan Magalhaes UNQUALIFIED
Maisha B ChuiAustraliaXuxue Feng RENEWAL
Ricardo Z IturbideAustraliaOnyama Limba QUALIFIED
Nicolas G BriddickGermanyStephen Shaw QUALIFIED
Isabel E CaudySpainXuxue Feng PROPOSAL
Antonio G BologniaArgentinaIoni Bowcher NEGOTIATION
Aruna D WaycottRussiaOnyama Limba PROPOSAL
Darci R WieserUnited KingdomAsiya Javayant PROPOSAL
Tony D MorascaAustraliaAsiya Javayant NEW
Isabel H OldroydIndiaIoni Bowcher NEW
Aditya D GlickBrazilXuxue Feng PROPOSAL
Maisha S WaycottIndiaStephen Shaw NEGOTIATION
Salvatore K WaycottBrazilIoni Bowcher QUALIFIED
Izzy L AlbaresAustraliaIvan Magalhaes NEW
Aika K VenereGermanyOnyama Limba QUALIFIED
Rodrigues L MacleadItalyOnyama Limba PROPOSAL
James S DoeGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley O FollerAustraliaStephen Shaw PROPOSAL
Jones J DoeRussiaOnyama Limba QUALIFIED
Ivar G WhobreyAustraliaBernardo Dominic UNQUALIFIED
Stacey T NickaFranceAmy Elsner UNQUALIFIED
Costa O PaprockiGermanyElwin Sharvill PROPOSAL
Kadeem N GarufiItalyIvan Magalhaes UNQUALIFIED
Murillo Z DilliardJapanAsiya Javayant NEW
Tony W NickaAustraliaBernardo Dominic QUALIFIED
Leja F BriddickBrazilOnyama Limba NEGOTIATION
Isabel U SaylorsFranceElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo H BriddickFrance2025-09-05Benton, John B Jr QUALIFIED94Ioni Bowcher
1001Sinclair Z SchemmerSpain2025-09-12Chanay, Jeffrey A Esq QUALIFIED70Anna Fali
1002Octavia O NestleRussia2025-09-05Truhlar And Truhlar Attys QUALIFIED28Elwin Sharvill
1003Ricardo S PaprockiUnited Kingdom2025-09-21Feiner Bros PROPOSAL69Asiya Javayant
1004Juan J MorascaIndia2025-09-30Commercial Press NEW29Ioni Bowcher
1005Misaki C GarufiItaly2025-09-18Chanay, Jeffrey A Esq NEGOTIATION71Onyama Limba
1006Emily A SaylorsFrance2025-09-12Feltz Printing Service PROPOSAL2Bernardo Dominic
1007Misaki B GillianBrazil2025-09-19Feiner Bros NEW99Bernardo Dominic
1008Aditya Q MarrierFrance2025-09-28Feltz Printing Service PROPOSAL21Ioni Bowcher
1009Ashley D StensethArgentina2025-09-13Printing Dimensions UNQUALIFIED0Xuxue Feng
1010Isabel Y DarakjyCanada2025-09-17Rousseaux, Michael Esq PROPOSAL38Anna Fali
1011Aika Z AmigonSpain2025-09-24Morlong Associates RENEWAL43Stephen Shaw
1012Maisha F DoeRussia2025-09-25Dorl, James J Esq PROPOSAL76Anna Fali
1013Clifford S DoeCanada2025-09-28Benton, John B Jr PROPOSAL84Ivan Magalhaes
1014Francesco B StensethUnited Kingdom2025-09-02Benton, John B Jr QUALIFIED61Ioni Bowcher
1015Jefferson E PerinFrance2025-09-11Commercial Press RENEWAL84Asiya Javayant
1016Smith Y FerenczCanada2025-09-24Chanay, Jeffrey A Esq PROPOSAL15Bernardo Dominic
1017Aika J KolmetzItaly2025-09-21Morlong Associates QUALIFIED30Bernardo Dominic
1018Deepesh V RulapaughGermany2025-09-06Printing Dimensions NEW9Amy Elsner
1019Antonio P WaycottAustralia2025-09-12Morlong Associates NEGOTIATION37Stephen Shaw
1020Aika C CampainIndia2025-09-01Printing Dimensions RENEWAL20Elwin Sharvill
1021Adams M SergiGermany2025-09-30Feltz Printing Service PROPOSAL26Xuxue Feng
1022Chavez P ChuiUnited Kingdom2025-09-17Printing Dimensions UNQUALIFIED7Asiya Javayant
1023Leon Y WieserGermany2025-09-10Feltz Printing Service NEGOTIATION92Amy Elsner
1024Maisha N DarakjyCanada2025-09-03Rangoni Of Florence NEW70Stephen Shaw
1025Jefferson Y TollnerCanada2025-09-11Morlong Associates QUALIFIED30Ioni Bowcher
1026Jefferson E MarrierFrance2025-09-04Feltz Printing Service RENEWAL66Anna Fali
1027Julie T OstroskyAustralia2025-09-29Chemel, James L Cpa NEGOTIATION32Anna Fali
1028David H KolmetzRussia2025-09-13Rangoni Of Florence RENEWAL16Elwin Sharvill
1029Faith J DarakjyUnited Kingdom2025-09-01Commercial Press NEW58Elwin Sharvill
1030Misaki U ButtSpain2025-09-16King, Christopher A Esq NEW93Ivan Magalhaes
1031Mujtaba L DarakjyBrazil2025-09-15Dorl, James J Esq PROPOSAL56Anna Fali
1032Rodrigues N NickaRussia2025-09-04Dorl, James J Esq RENEWAL13Elwin Sharvill
1033Juan O GillianSpain2025-09-03Truhlar And Truhlar Attys UNQUALIFIED28Elwin Sharvill
1034Ashley T CaldareraGermany2025-09-20Feltz Printing Service NEGOTIATION82Ioni Bowcher
1035Leja O CaudyIndia2025-09-21Chemel, James L Cpa UNQUALIFIED31Xuxue Feng
1036Aruna M FollerItaly2025-09-01Dorl, James J Esq RENEWAL67Ivan Magalhaes
1037Francesco M PaprockiCanada2025-09-22Dorl, James J Esq NEGOTIATION63Xuxue Feng
1038Adams Q StockhamBrazil2025-09-23King, Christopher A Esq PROPOSAL88Stephen Shaw
1039Silvio B PerinSpain2025-09-03Dorl, James J Esq QUALIFIED99Bernardo Dominic
1040Aditya G TollnerUnited Kingdom2025-09-26Printing Dimensions NEGOTIATION52Ivan Magalhaes
1041Maisha J RutaAustralia2025-09-08Buckley Miller Wright QUALIFIED19Ivan Magalhaes
1042Maria X PaprockiUnited Kingdom2025-09-28Benton, John B Jr NEGOTIATION55Asiya Javayant
1043Costa S SaylorsItaly2025-09-18Rousseaux, Michael Esq NEW34Stephen Shaw
1044David Y MaletArgentina2025-09-06Chanay, Jeffrey A Esq UNQUALIFIED41Ioni Bowcher
1045Rodrigues R MorascaCanada2025-09-22Feiner Bros NEW3Xuxue Feng
1046Nicolas A CaldareraAustralia2025-09-14Rousseaux, Michael Esq QUALIFIED6Ivan Magalhaes
1047Wickens A WieserSpain2025-09-07Chemel, James L Cpa RENEWAL72Ivan Magalhaes
1048Jefferson E MorascaArgentina2025-09-30Rousseaux, Michael Esq UNQUALIFIED94Elwin Sharvill
1049Salvatore D WhobreyUnited Kingdom2025-09-02Rangoni Of Florence UNQUALIFIED15Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba L BowleyBrazilAsiya Javayant NEGOTIATION
Francesco B RutaArgentinaXuxue Feng UNQUALIFIED
Misaki F GlickGermanyAmy Elsner NEW
Silvio H MacleadJapanElwin Sharvill UNQUALIFIED
Juan O MacleadIndiaOnyama Limba UNQUALIFIED
Tony V SaylorsArgentinaXuxue Feng RENEWAL
Mujtaba G MacleadIndiaElwin Sharvill QUALIFIED
Darci Y BologniaGermanyAnna Fali UNQUALIFIED
Munro G MorascaItalyStephen Shaw PROPOSAL
Darci V SergiFranceIoni Bowcher PROPOSAL
Juan N GlickFranceBernardo Dominic NEGOTIATION
Emily O RimSpainAsiya Javayant QUALIFIED
Jennifer N SergiIndiaAnna Fali RENEWAL
Maria Y CaudyUnited KingdomIoni Bowcher NEW
Sinclair C VocelkaFranceXuxue Feng RENEWAL
Ashley O KuskoRussiaIvan Magalhaes QUALIFIED
Rodrigues E FollerCanadaAsiya Javayant PROPOSAL
Kaitlin K CampainIndiaAsiya Javayant NEW
Maria K TollnerArgentinaAmy Elsner NEGOTIATION
Tony M FerenczCanadaStephen Shaw PROPOSAL
Mayumi Q OldroydItalyIoni Bowcher NEGOTIATION
Silvio N DoeIndiaStephen Shaw QUALIFIED
Rodrigues C OstroskyJapanElwin Sharvill UNQUALIFIED
James Z DoeFranceAnna Fali UNQUALIFIED
Stacey J SchemmerIndiaAsiya Javayant UNQUALIFIED
Tony B DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore A BowleyRussiaAnna Fali RENEWAL
James X CaudyArgentinaOnyama Limba PROPOSAL
Alejandro K BologniaCanadaIoni Bowcher RENEWAL
Leon M FollerSpainIoni Bowcher NEW
Arvin R SaylorsArgentinaBernardo Dominic QUALIFIED
Murillo O CaudyBrazilAmy Elsner QUALIFIED
Faith T RoysterJapanStephen Shaw NEW
Mayumi T NickaCanadaStephen Shaw QUALIFIED
Maria V BologniaGermanyIvan Magalhaes UNQUALIFIED
Kaitlin S InouyeFranceBernardo Dominic QUALIFIED
Julie L CampainAustraliaAnna Fali PROPOSAL
Adams Y GarufiIndiaStephen Shaw NEGOTIATION
Ivar C OstroskyFranceStephen Shaw NEGOTIATION
Jefferson F CampainRussiaElwin Sharvill RENEWAL
Emily U RulapaughArgentinaIoni Bowcher NEGOTIATION
Aruna X SergiRussiaAnna Fali RENEWAL
Juan K TollnerUnited KingdomBernardo Dominic PROPOSAL
Stacey O SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Deepesh M MaletArgentinaAnna Fali PROPOSAL
Clifford A BologniaSpainXuxue Feng NEW
Johnson Q CaldareraFranceAmy Elsner QUALIFIED
Sinclair R PerinUnited KingdomAmy Elsner RENEWAL
Chavez F PaprockiSpainBernardo Dominic NEGOTIATION
Misaki G NickaArgentinaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Adams L Slusarski
Francesco M Poquette
Jennifer J Dilliard
Johnson X Slusarski
Stacey X Paprocki
Darci W Kusko
Kadeem N Oldroyd
Faith U Briddick
Greenwood F Oldroyd
Ivar F Stenseth
Jones L Wieser
Mayumi A Dilliard
Aika L Dilliard
Tony X Doe
Stacey X Figeroa
Johnson J Schemmer
Ivar S Poquette
Ashley I Saylors
Deepesh F Butt
Aruna V Malet
Aika D Garufi
Ricardo I Venere
Maria I Stockham
Costa H Schemmer
Misaki M Kolmetz
David A Stockham
Julie G Ruta
Jones Z Dilliard
Aditya Y Oldroyd
Johnson W Venere
Munro C Wieser
Jennifer E Flosi
Ricardo T Briddick
Arvin Z Iturbide
Alejandro F Doe
Sinclair V Maclead
Greenwood T Whobrey
Sinclair X Schemmer
Aika Q Shinko
Isabel R Maclead
Silvio I Albares
Morrow D Rim
Deepesh O Shinko
Faith Q Stockham
Arvin K Venere
Francesco M Paprocki
Leon P Stenseth
Darci W Flosi
Nicolas V Nestle
Clifford X Shinko
IdCountryDate
1000Spain2025-09-25
1001Italy2025-09-23
1002Japan2025-09-07
1003Brazil2025-09-28
1004India2025-09-19
1005France2025-09-12
1006United Kingdom2025-09-26
1007United Kingdom2025-09-21
1008Italy2025-09-10
1009Argentina2025-09-02
1010France2025-09-08
1011Canada2025-09-21
1012Russia2025-09-08
1013Spain2025-09-24
1014Canada2025-09-05
1015Australia2025-09-10
1016France2025-09-22
1017Australia2025-09-18
1018France2025-09-21
1019Germany2025-09-25
1020Germany2025-09-01
1021Brazil2025-09-22
1022Brazil2025-09-07
1023Argentina2025-09-14
1024Russia2025-09-12
1025Argentina2025-09-26
1026Spain2025-09-21
1027Argentina2025-09-29
1028Russia2025-09-06
1029India2025-09-30
1030Spain2025-09-13
1031Japan2025-09-04
1032Germany2025-09-07
1033Japan2025-09-17
1034Australia2025-09-09
1035Australia2025-09-11
1036Germany2025-09-10
1037Argentina2025-09-27
1038France2025-09-29
1039Germany2025-09-24
1040United Kingdom2025-09-30
1041Argentina2025-09-14
1042Russia2025-09-02
1043Spain2025-09-21
1044India2025-09-06
1045Spain2025-09-13
1046Japan2025-09-05
1047United Kingdom2025-09-02
1048Italy2025-09-04
1049United Kingdom2025-09-03

On-Demand Data

NameIdCountryDate
Alejandro I Royster1000Japan2025-09-17
Tony J Slusarski1001Italy2025-09-09
Isabel C Glick1002Japan2025-09-13
Claire B Sergi1003United Kingdom2025-09-27
Darci Z Bolognia1004Japan2025-09-27
Alejandro A Flosi1005Japan2025-09-09
Adams C Inouye1006India2025-09-22
David A Rulapaugh1007Canada2025-09-25
Wickens I Iturbide1008United Kingdom2025-09-04
Chavez B Kolmetz1009Italy2025-09-29
Nicolas J Inouye1010Canada2025-09-16
Aika H Glick1011Canada2025-09-04
Greenwood M Iturbide1012France2025-09-17
Rodrigues D Foller1013United Kingdom2025-09-14
Johnson I Darakjy1014Brazil2025-09-27
Izzy R Ferencz1015United Kingdom2025-09-01
Costa Y Inouye1016Australia2025-09-21
Wickens V Kolmetz1017Italy2025-09-13
Alejandro C Morasca1018Germany2025-09-12
Isabel W Schemmer1019Argentina2025-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony Z StensethRussiaAmy Elsner NEGOTIATION
Mujtaba H NestleIndiaBernardo Dominic NEW
Aika G SchemmerItalyAmy Elsner NEGOTIATION
Aruna R WhobreyJapanXuxue Feng PROPOSAL
Johnson T StensethCanadaAmy Elsner RENEWAL
Faith P PoquetteGermanyIvan Magalhaes NEW
Ashley W MarrierBrazilAmy Elsner PROPOSAL
Emily N StensethCanadaIoni Bowcher QUALIFIED
Julie T FigeroaItalyStephen Shaw NEGOTIATION
Misaki H BologniaUnited KingdomIvan Magalhaes PROPOSAL
Silvio V BologniaArgentinaIvan Magalhaes NEGOTIATION
Ashley N PaprockiCanadaIvan Magalhaes NEGOTIATION
Emily O WhobreyUnited KingdomAmy Elsner QUALIFIED
Izzy U FigeroaCanadaAnna Fali UNQUALIFIED
Silvio M GarufiRussiaAmy Elsner PROPOSAL
Isabel S ButtIndiaIvan Magalhaes RENEWAL
Rodrigues S OstroskyArgentinaAmy Elsner QUALIFIED
Rodrigues Z KolmetzCanadaOnyama Limba PROPOSAL
Aditya W RimAustraliaAmy Elsner QUALIFIED
Maisha X WhobreyCanadaIoni Bowcher RENEWAL
Emily F OldroydBrazilElwin Sharvill QUALIFIED
Chavez M StockhamGermanyAnna Fali RENEWAL
Morrow X RutaFranceAsiya Javayant NEW
James K OldroydIndiaElwin Sharvill NEGOTIATION
Jennifer N ShinkoJapanBernardo Dominic NEGOTIATION
Aika O AmigonItalyIoni Bowcher PROPOSAL
Cody Q VenereJapanStephen Shaw PROPOSAL
Julie N DoeUnited KingdomElwin Sharvill QUALIFIED
Rodrigues K GlickArgentinaIvan Magalhaes PROPOSAL
James K CaudyAustraliaAsiya Javayant NEW
Jennifer X OldroydFranceIoni Bowcher RENEWAL
Tony J PaprockiBrazilAsiya Javayant NEGOTIATION
Jones X PoquetteArgentinaElwin Sharvill UNQUALIFIED
Faith J MaletCanadaBernardo Dominic NEGOTIATION
Aruna W StensethJapanXuxue Feng NEGOTIATION
Aika P GauchoIndiaElwin Sharvill QUALIFIED
Faith W AmigonJapanOnyama Limba RENEWAL
Deepesh S RutaItalyBernardo Dominic PROPOSAL
Emily O KolmetzItalyAnna Fali NEGOTIATION
Mujtaba L OldroydUnited KingdomOnyama 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>