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
Aditya M DoeCanadaIoni Bowcher NEGOTIATION
Mayumi C FollerIndiaIoni Bowcher RENEWAL
Morrow A SchemmerRussiaElwin Sharvill QUALIFIED
Stacey P SergiUnited KingdomAnna Fali RENEWAL
Ashley A OldroydItalyOnyama Limba RENEWAL
Nicolas L SchemmerItalyIvan Magalhaes PROPOSAL
Maisha C SaylorsAustraliaBernardo Dominic NEW
Jeanfrancois E SaylorsRussiaBernardo Dominic UNQUALIFIED
Nicolas E RutaJapanAsiya Javayant NEGOTIATION
Tony E BologniaIndiaBernardo Dominic NEGOTIATION
Mujtaba X SchemmerGermanyAsiya Javayant NEGOTIATION
Nicolas B MarrierRussiaStephen Shaw NEGOTIATION
Clifford U MarrierGermanyAsiya Javayant RENEWAL
Aruna Z DoeArgentinaElwin Sharvill UNQUALIFIED
Rodrigues C ShinkoItalyAmy Elsner NEGOTIATION
Jefferson M SlusarskiCanadaStephen Shaw NEW
Darci Y BriddickArgentinaAsiya Javayant PROPOSAL
Ashley S RimAustraliaBernardo Dominic QUALIFIED
Alejandro U RulapaughItalyAmy Elsner UNQUALIFIED
Wickens M AlbaresJapanStephen Shaw QUALIFIED
Tony A VocelkaAustraliaAsiya Javayant NEW
Aruna L NickaBrazilIoni Bowcher PROPOSAL
Juan K MorascaCanadaAmy Elsner PROPOSAL
Nicolas L ButtBrazilAsiya Javayant PROPOSAL
Francesco E PoquetteIndiaAnna Fali NEW
Leja P NickaUnited KingdomBernardo Dominic UNQUALIFIED
Aditya K AmigonArgentinaXuxue Feng PROPOSAL
Murillo I MacleadAustraliaBernardo Dominic QUALIFIED
Rodrigues O GarufiJapanXuxue Feng QUALIFIED
Arvin R DilliardAustraliaIvan Magalhaes NEW
Silvio P DarakjyItalyAnna Fali PROPOSAL
Jeanfrancois P NickaUnited KingdomAnna Fali RENEWAL
Stacey X BologniaJapanBernardo Dominic QUALIFIED
Aditya X FerenczRussiaBernardo Dominic NEGOTIATION
Rodrigues H OldroydFranceAmy Elsner RENEWAL
Aika H VenereRussiaBernardo Dominic QUALIFIED
Stacey W DilliardRussiaIvan Magalhaes PROPOSAL
Isabel T DilliardFranceAnna Fali PROPOSAL
Johnson G WaycottFranceAmy Elsner PROPOSAL
Ashley M FerenczIndiaAnna Fali RENEWAL
Emily K GlickSpainElwin Sharvill PROPOSAL
Claire N KolmetzJapanBernardo Dominic PROPOSAL
Smith O NickaRussiaIoni Bowcher NEW
Deepesh H IturbideCanadaElwin Sharvill UNQUALIFIED
Ivar S ShinkoBrazilStephen Shaw NEGOTIATION
Aditya F AmigonBrazilAsiya Javayant QUALIFIED
Misaki H ShinkoUnited KingdomAsiya Javayant PROPOSAL
Aditya U ChuiItalyOnyama Limba UNQUALIFIED
Alejandro H MaletIndiaXuxue Feng RENEWAL
Isabel Y AlbaresGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow X RulapaughBrazilOnyama Limba PROPOSAL
Rodrigues W GillianCanadaIoni Bowcher NEGOTIATION
Maria T ShinkoAustraliaOnyama Limba NEW
Leja Y StockhamRussiaStephen Shaw NEW
Darci Z IturbideCanadaBernardo Dominic NEW
Salvatore V GlickSpainAsiya Javayant PROPOSAL
Aika L BowleyIndiaIoni Bowcher QUALIFIED
Maria B PoquetteGermanyXuxue Feng QUALIFIED
Johnson L WieserUnited KingdomStephen Shaw RENEWAL
Jefferson I IturbideIndiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas X TollnerUnited Kingdom2025-06-13Morlong Associates NEGOTIATION65Ioni Bowcher
1001Faith K MacleadAustralia2025-06-05Rangoni Of Florence NEGOTIATION6Onyama Limba
1002Antonio F TollnerSpain2025-06-25Rangoni Of Florence QUALIFIED72Ioni Bowcher
1003Julie O RulapaughFrance2025-06-21Buckley Miller Wright NEW93Bernardo Dominic
1004Julie W RutaBrazil2025-06-03Feltz Printing Service NEGOTIATION84Xuxue Feng
1005Arvin U GillianAustralia2025-06-07Commercial Press QUALIFIED19Elwin Sharvill
1006Mayumi Q InouyeFrance2025-06-03Commercial Press NEGOTIATION18Elwin Sharvill
1007Octavia I WieserSpain2025-06-23Dorl, James J Esq NEGOTIATION11Onyama Limba
1008Maisha P MarrierUnited Kingdom2025-06-25King, Christopher A Esq QUALIFIED75Xuxue Feng
1009Isabel T SaylorsUnited Kingdom2025-06-06Truhlar And Truhlar Attys UNQUALIFIED58Ivan Magalhaes
1010Jennifer F WaycottUnited Kingdom2025-06-16Morlong Associates NEW22Elwin Sharvill
1011Mujtaba S InouyeUnited Kingdom2025-06-16Rangoni Of Florence NEGOTIATION32Bernardo Dominic
1012Mayumi K BriddickBrazil2025-06-17Morlong Associates PROPOSAL64Ioni Bowcher
1013Clifford V GauchoJapan2025-06-08Benton, John B Jr NEW90Ivan Magalhaes
1014Jefferson Q SaylorsGermany2025-06-27Chapman, Ross E Esq NEW55Bernardo Dominic
1015Aruna U DoeJapan2025-06-10Benton, John B Jr UNQUALIFIED55Onyama Limba
1016Morrow S FerenczCanada2025-06-21Chapman, Ross E Esq QUALIFIED76Asiya Javayant
1017Munro C SergiFrance2025-06-09Feiner Bros QUALIFIED85Xuxue Feng
1018Mujtaba Y PerinArgentina2025-06-14Printing Dimensions PROPOSAL25Ivan Magalhaes
1019Adams O PerinAustralia2025-06-27Rangoni Of Florence RENEWAL3Bernardo Dominic
1020Julie D GarufiCanada2025-06-10Buckley Miller Wright UNQUALIFIED44Stephen Shaw
1021James A MaletAustralia2025-06-17Buckley Miller Wright NEW98Stephen Shaw
1022James Q SchemmerItaly2025-06-09Printing Dimensions NEGOTIATION11Xuxue Feng
1023Leja P VenereAustralia2025-06-19Dorl, James J Esq PROPOSAL19Onyama Limba
1024Tony Y GillianUnited Kingdom2025-06-21Feltz Printing Service PROPOSAL73Onyama Limba
1025Jefferson S TollnerAustralia2025-06-13Buckley Miller Wright UNQUALIFIED27Stephen Shaw
1026Ashley K RimUnited Kingdom2025-06-04Chanay, Jeffrey A Esq NEW86Anna Fali
1027Salvatore Y OstroskyFrance2025-06-06Buckley Miller Wright NEGOTIATION87Xuxue Feng
1028Jennifer S VocelkaItaly2025-06-11Printing Dimensions NEGOTIATION9Xuxue Feng
1029Leja N FlosiCanada2025-06-08Buckley Miller Wright NEGOTIATION91Xuxue Feng
1030Mujtaba F PerinCanada2025-06-07King, Christopher A Esq NEGOTIATION73Stephen Shaw
1031Ivar E DarakjyAustralia2025-06-06Benton, John B Jr PROPOSAL49Stephen Shaw
1032Jefferson C RutaRussia2025-06-14Printing Dimensions UNQUALIFIED12Stephen Shaw
1033Wickens V IturbideGermany2025-06-18Commercial Press UNQUALIFIED38Ioni Bowcher
1034Silvio K ChuiFrance2025-06-30Rousseaux, Michael Esq UNQUALIFIED30Anna Fali
1035Morrow W AlbaresArgentina2025-06-22Buckley Miller Wright QUALIFIED27Bernardo Dominic
1036Munro K KuskoItaly2025-06-04King, Christopher A Esq UNQUALIFIED94Elwin Sharvill
1037Aruna W AlbaresSpain2025-06-29Buckley Miller Wright RENEWAL76Ivan Magalhaes
1038Claire T DarakjyBrazil2025-06-20Buckley Miller Wright PROPOSAL6Xuxue Feng
1039David N RutaGermany2025-06-11Chemel, James L Cpa PROPOSAL88Elwin Sharvill
1040James M BowleyJapan2025-06-29Benton, John B Jr PROPOSAL62Anna Fali
1041Maria H CaldareraAustralia2025-06-02Rangoni Of Florence PROPOSAL4Asiya Javayant
1042Nicolas N MaletJapan2025-06-28King, Christopher A Esq UNQUALIFIED63Xuxue Feng
1043Emily Q FollerGermany2025-06-14Chemel, James L Cpa QUALIFIED65Onyama Limba
1044Murillo O WieserFrance2025-06-16Chapman, Ross E Esq NEGOTIATION11Onyama Limba
1045Octavia V IturbideFrance2025-06-13Benton, John B Jr QUALIFIED24Xuxue Feng
1046Murillo J SlusarskiIndia2025-06-22Rangoni Of Florence QUALIFIED72Stephen Shaw
1047Izzy M SergiJapan2025-06-27Rousseaux, Michael Esq PROPOSAL59Amy Elsner
1048Ivar M MarrierBrazil2025-06-06Buckley Miller Wright RENEWAL12Xuxue Feng
1049Clifford J MaletFrance2025-06-11Truhlar And Truhlar Attys RENEWAL48Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois Z SergiBrazilAsiya Javayant QUALIFIED
Jennifer W MaletItalyXuxue Feng RENEWAL
Izzy Y VocelkaFranceAnna Fali NEGOTIATION
Jeanfrancois O SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Francesco V MacleadRussiaBernardo Dominic NEGOTIATION
Nicolas T ChuiItalyElwin Sharvill RENEWAL
Juan Q FlosiJapanXuxue Feng UNQUALIFIED
Aditya M BowleySpainAmy Elsner QUALIFIED
Silvio D FigeroaItalyIoni Bowcher NEW
Salvatore J WaycottAustraliaOnyama Limba RENEWAL
Tony L FerenczJapanIvan Magalhaes UNQUALIFIED
Francesco V MaletGermanyXuxue Feng UNQUALIFIED
Francesco P KolmetzArgentinaXuxue Feng RENEWAL
Maria K ShinkoBrazilBernardo Dominic QUALIFIED
Silvio B FerenczUnited KingdomElwin Sharvill NEGOTIATION
Ashley P TollnerAustraliaXuxue Feng UNQUALIFIED
Leja R PerinArgentinaIvan Magalhaes QUALIFIED
Munro N NestleAustraliaAsiya Javayant PROPOSAL
Jeanfrancois K GarufiRussiaElwin Sharvill PROPOSAL
Adams A DilliardAustraliaOnyama Limba RENEWAL
Costa J MarrierFranceStephen Shaw PROPOSAL
Tony F OldroydIndiaIoni Bowcher NEGOTIATION
Darci T SchemmerFranceElwin Sharvill NEGOTIATION
Stacey V MacleadCanadaBernardo Dominic NEW
Morrow M DilliardUnited KingdomAsiya Javayant PROPOSAL
Isabel Y PerinAustraliaOnyama Limba PROPOSAL
Jones Y WieserSpainOnyama Limba QUALIFIED
Aika W RimSpainOnyama Limba UNQUALIFIED
Deepesh R DoeJapanXuxue Feng UNQUALIFIED
Costa P WhobreyGermanyOnyama Limba NEGOTIATION
Alejandro I WieserItalyXuxue Feng RENEWAL
Chavez I KolmetzAustraliaOnyama Limba NEW
Claire Y OstroskyBrazilOnyama Limba QUALIFIED
Claire H DilliardGermanyBernardo Dominic RENEWAL
Leja A KolmetzRussiaIvan Magalhaes UNQUALIFIED
Rodrigues X MarrierRussiaIoni Bowcher UNQUALIFIED
Stacey H FlosiJapanAnna Fali NEGOTIATION
Tony W NickaJapanOnyama Limba NEGOTIATION
Alejandro S GillianIndiaElwin Sharvill QUALIFIED
Chavez O MaletJapanXuxue Feng QUALIFIED
Jennifer J ChuiFranceAsiya Javayant QUALIFIED
Costa X AmigonRussiaAmy Elsner RENEWAL
Johnson Y WhobreyCanadaAnna Fali UNQUALIFIED
Tony N SlusarskiSpainAmy Elsner NEW
Alejandro C OstroskyJapanAsiya Javayant NEW
Arvin Z ShinkoGermanyAsiya Javayant RENEWAL
Misaki G SaylorsCanadaIoni Bowcher PROPOSAL
Jones S OstroskyJapanXuxue Feng NEW
Maria T MarrierIndiaOnyama Limba NEW
Claire I GarufiUnited KingdomStephen Shaw PROPOSAL
Frozen Columns
Name
Leja P Campain
Leon K Slusarski
Jennifer L Royster
Jeanfrancois J Nestle
Kadeem L Briddick
Octavia F Rim
Alejandro Y Whobrey
Aruna I Campain
Darci Y Venere
Cody Q Figeroa
Kaitlin D Oldroyd
David X Glick
Ivar F Waycott
Munro R Waycott
Jennifer K Perin
Costa J Iturbide
Chavez F Nestle
Emily J Kolmetz
Mujtaba S Maclead
Wickens W Shinko
Aruna V Amigon
Munro I Doe
Silvio B Kolmetz
Jones I Royster
Stacey Q Bolognia
Darci J Tollner
Tony V Marrier
Arvin K Stenseth
Salvatore G Inouye
Aruna S Ferencz
Alejandro L Bowley
Silvio K Albares
Kaitlin Y Albares
Francesco C Schemmer
Chavez J Wieser
Izzy I Royster
Darci Z Caudy
Antonio O Caldarera
Octavia E Malet
James D Ostrosky
Sinclair S Glick
Aditya F Iturbide
Julie X Briddick
Misaki F Figeroa
Antonio Z Caudy
Nicolas S Shinko
Francesco S Tollner
Greenwood J Flosi
Faith H Tollner
Jennifer C Stenseth
IdCountryDate
1000Argentina2025-06-23
1001Russia2025-06-13
1002India2025-06-02
1003Germany2025-06-29
1004France2025-06-06
1005India2025-06-30
1006India2025-06-09
1007Australia2025-06-21
1008Spain2025-06-25
1009Spain2025-06-13
1010Australia2025-06-05
1011Germany2025-06-17
1012United Kingdom2025-06-29
1013Canada2025-06-18
1014United Kingdom2025-06-25
1015Australia2025-06-29
1016Canada2025-06-30
1017Argentina2025-06-20
1018Australia2025-06-28
1019France2025-06-15
1020Germany2025-06-16
1021India2025-06-14
1022Brazil2025-06-24
1023Italy2025-06-12
1024India2025-06-08
1025India2025-06-04
1026France2025-06-25
1027Canada2025-06-26
1028Spain2025-06-11
1029Spain2025-06-10
1030Italy2025-06-23
1031United Kingdom2025-06-13
1032Russia2025-06-12
1033Australia2025-06-25
1034Italy2025-06-28
1035India2025-06-20
1036Argentina2025-06-27
1037Canada2025-06-12
1038Brazil2025-06-22
1039Russia2025-06-15
1040Argentina2025-06-08
1041France2025-06-26
1042Italy2025-06-13
1043Japan2025-06-26
1044Russia2025-06-07
1045Italy2025-06-14
1046United Kingdom2025-06-23
1047Argentina2025-06-13
1048United Kingdom2025-06-20
1049Italy2025-06-25

On-Demand Data

NameIdCountryDate
Arvin S Tollner1000Italy2025-06-04
Wickens T Campain1001France2025-06-30
Adams M Kolmetz1002Germany2025-06-29
Costa A Rulapaugh1003Russia2025-06-14
Octavia T Butt1004Germany2025-06-30
Wickens K Darakjy1005Japan2025-06-30
Julie O Albares1006Canada2025-06-09
Sinclair A Kusko1007Japan2025-06-28
Antonio Q Wieser1008Russia2025-06-20
Faith S Ferencz1009Germany2025-06-05
Emily P Dilliard1010Brazil2025-07-01
Kaitlin X Morasca1011Japan2025-06-29
Murillo U Albares1012France2025-06-27
Claire C Saylors1013India2025-06-21
Maisha C Vocelka1014Italy2025-06-04
Aika W Whobrey1015United Kingdom2025-06-13
Julie T Malet1016Brazil2025-06-17
Claire Y Kusko1017India2025-06-30
Salvatore W Darakjy1018Germany2025-06-05
Salvatore V Ostrosky1019India2025-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria M MacleadArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues D StensethJapanXuxue Feng QUALIFIED
Jefferson S IturbideAustraliaStephen Shaw PROPOSAL
Aditya J GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey R MaletFranceOnyama Limba NEGOTIATION
Kaitlin R FlosiArgentinaAmy Elsner RENEWAL
Alejandro U FerenczRussiaStephen Shaw NEW
Mujtaba X KolmetzGermanyAnna Fali QUALIFIED
Wickens P IturbideUnited KingdomXuxue Feng RENEWAL
Nicolas A RoysterBrazilAnna Fali QUALIFIED
Jefferson E OstroskyAustraliaAsiya Javayant QUALIFIED
Arvin D CampainFranceElwin Sharvill PROPOSAL
Ashley F BologniaJapanAmy Elsner QUALIFIED
Aika X StensethArgentinaXuxue Feng NEGOTIATION
Stacey T WhobreyJapanAmy Elsner PROPOSAL
Julie Z MaletArgentinaXuxue Feng RENEWAL
Jeanfrancois G CaldareraSpainIoni Bowcher NEGOTIATION
Alejandro W WaycottBrazilElwin Sharvill PROPOSAL
Chavez F KolmetzUnited KingdomOnyama Limba NEGOTIATION
Tony H StensethCanadaAsiya Javayant NEW
Ivar Q FlosiUnited KingdomOnyama Limba PROPOSAL
Smith Y FigeroaBrazilStephen Shaw UNQUALIFIED
Clifford L PerinUnited KingdomIvan Magalhaes RENEWAL
Aika H StensethArgentinaStephen Shaw UNQUALIFIED
Wickens I GillianAustraliaElwin Sharvill QUALIFIED
Jeanfrancois E TollnerUnited KingdomAsiya Javayant NEW
Izzy R RulapaughBrazilElwin Sharvill UNQUALIFIED
Kadeem F SlusarskiIndiaIvan Magalhaes QUALIFIED
Arvin P WaycottCanadaAmy Elsner QUALIFIED
Aika V WhobreyIndiaAmy Elsner UNQUALIFIED
Aruna X KolmetzJapanXuxue Feng NEW
Maisha G SergiJapanXuxue Feng QUALIFIED
Cody N BologniaSpainIoni Bowcher QUALIFIED
Stacey V NickaBrazilXuxue Feng QUALIFIED
Arvin X SaylorsArgentinaElwin Sharvill PROPOSAL
Arvin A WieserAustraliaAnna Fali NEW
Jefferson Y ChuiUnited KingdomOnyama Limba NEW
Munro I MacleadArgentinaAnna Fali NEGOTIATION
Chavez E ChuiCanadaOnyama Limba QUALIFIED
Faith Q FigeroaFranceAmy Elsner 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>