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

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Sinclair F GillianAustraliaIoni Bowcher NEGOTIATION
Aruna H BriddickRussiaBernardo Dominic NEGOTIATION
Murillo X NickaSpainXuxue Feng UNQUALIFIED
Wickens L MaletSpainElwin Sharvill NEW
Darci H RoysterCanadaAnna Fali UNQUALIFIED
Chavez F IturbideSpainBernardo Dominic NEGOTIATION
Aditya M BriddickJapanOnyama Limba RENEWAL
Morrow F DoeAustraliaAnna Fali PROPOSAL
Mujtaba F VocelkaFranceElwin Sharvill PROPOSAL
Claire R MarrierItalyAnna Fali NEW
Morrow Y VenereItalyXuxue Feng UNQUALIFIED
Jennifer W FlosiCanadaOnyama Limba PROPOSAL
Alejandro W RutaIndiaStephen Shaw RENEWAL
Aditya I IturbideAustraliaAsiya Javayant PROPOSAL
Salvatore E ButtFranceIvan Magalhaes UNQUALIFIED
Morrow U PerinItalyOnyama Limba RENEWAL
Kaitlin P PerinRussiaBernardo Dominic NEW
Rodrigues P FerenczGermanyOnyama Limba NEW
Kaitlin B FerenczArgentinaIvan Magalhaes NEW
Kaitlin Z ShinkoIndiaXuxue Feng UNQUALIFIED
Alejandro R StensethBrazilXuxue Feng NEGOTIATION
Jeanfrancois M MorascaAustraliaXuxue Feng QUALIFIED
Leon P SchemmerJapanAsiya Javayant NEGOTIATION
Stacey B AlbaresSpainStephen Shaw NEGOTIATION
Adams Z SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Kaitlin B DilliardIndiaStephen Shaw UNQUALIFIED
Misaki H BologniaUnited KingdomIvan Magalhaes RENEWAL
Darci H RulapaughRussiaIoni Bowcher NEGOTIATION
Chavez Y BowleySpainStephen Shaw RENEWAL
Jeanfrancois F SaylorsGermanyIvan Magalhaes RENEWAL
Adams C StensethItalyStephen Shaw NEW
Juan P FerenczGermanyBernardo Dominic NEGOTIATION
Salvatore C BologniaArgentinaStephen Shaw QUALIFIED
Ivar P NestleArgentinaAmy Elsner RENEWAL
Maisha H DilliardGermanyAmy Elsner NEGOTIATION
Smith N GauchoAustraliaStephen Shaw NEGOTIATION
Izzy Y SergiAustraliaAmy Elsner PROPOSAL
Darci D ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Morrow B RimAustraliaAsiya Javayant QUALIFIED
Mayumi M FollerFranceBernardo Dominic RENEWAL
Leon I MorascaUnited KingdomBernardo Dominic PROPOSAL
Francesco B PerinSpainIvan Magalhaes QUALIFIED
Nicolas X MarrierCanadaOnyama Limba UNQUALIFIED
Clifford S MorascaUnited KingdomIvan Magalhaes RENEWAL
Jefferson E PaprockiBrazilOnyama Limba NEGOTIATION
Juan U GillianItalyXuxue Feng RENEWAL
Stacey U ChuiCanadaAmy Elsner PROPOSAL
Costa O DoeArgentinaIvan Magalhaes NEGOTIATION
Ivar O SaylorsSpainBernardo Dominic QUALIFIED
Ricardo A InouyeJapanXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh J PerinFranceStephen Shaw NEGOTIATION
Aditya T OldroydUnited KingdomOnyama Limba NEGOTIATION
Claire N RutaUnited KingdomIvan Magalhaes NEGOTIATION
Octavia P GlickJapanIoni Bowcher NEGOTIATION
Alejandro Q ChuiRussiaAsiya Javayant NEW
Maisha H BriddickCanadaBernardo Dominic NEW
Aditya T VocelkaSpainOnyama Limba PROPOSAL
Costa Q MarrierAustraliaStephen Shaw NEGOTIATION
Leja R SlusarskiRussiaIoni Bowcher QUALIFIED
Smith V GarufiBrazilElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar C RutaFrance2024-06-07Feiner Bros UNQUALIFIED97Anna Fali
1001Jeanfrancois G ShinkoFrance2024-05-26Chanay, Jeffrey A Esq NEGOTIATION34Anna Fali
1002Jeanfrancois O ButtIndia2024-05-31Feltz Printing Service PROPOSAL90Ioni Bowcher
1003Isabel N KuskoItaly2024-05-23Morlong Associates RENEWAL12Ioni Bowcher
1004Octavia X BriddickItaly2024-05-22King, Christopher A Esq RENEWAL29Amy Elsner
1005Francesco O CaldareraSpain2024-05-27Chemel, James L Cpa NEW46Stephen Shaw
1006Sinclair Z SchemmerJapan2024-06-15Dorl, James J Esq NEW84Anna Fali
1007Francesco I CampainBrazil2024-06-14Morlong Associates NEW4Onyama Limba
1008Murillo Q MaletIndia2024-06-11Rangoni Of Florence QUALIFIED78Bernardo Dominic
1009Mujtaba V ShinkoItaly2024-05-22Benton, John B Jr PROPOSAL24Onyama Limba
1010Morrow F WieserItaly2024-06-08Printing Dimensions NEGOTIATION81Ivan Magalhaes
1011Smith H DoeGermany2024-05-31Commercial Press NEW56Ioni Bowcher
1012Ricardo H FigeroaItaly2024-06-17Buckley Miller Wright RENEWAL12Stephen Shaw
1013Darci T StensethBrazil2024-05-22Morlong Associates PROPOSAL94Ioni Bowcher
1014Claire R RimIndia2024-06-19Truhlar And Truhlar Attys NEGOTIATION21Anna Fali
1015Leja A PerinAustralia2024-06-01Truhlar And Truhlar Attys NEGOTIATION46Stephen Shaw
1016Murillo W ChuiAustralia2024-06-08Truhlar And Truhlar Attys RENEWAL55Bernardo Dominic
1017Julie D BriddickIndia2024-05-30Buckley Miller Wright UNQUALIFIED51Ioni Bowcher
1018Greenwood A ButtRussia2024-05-28King, Christopher A Esq NEW98Bernardo Dominic
1019Francesco M InouyeArgentina2024-06-03Chapman, Ross E Esq NEGOTIATION56Onyama Limba
1020Kaitlin K CaldareraAustralia2024-06-04Benton, John B Jr QUALIFIED26Bernardo Dominic
1021Octavia Y AlbaresArgentina2024-05-28Buckley Miller Wright PROPOSAL23Ioni Bowcher
1022Maisha B FollerIndia2024-05-22Truhlar And Truhlar Attys NEW87Onyama Limba
1023Kadeem I OstroskySpain2024-06-09Chemel, James L Cpa UNQUALIFIED24Amy Elsner
1024Leja V RimIndia2024-06-16Printing Dimensions RENEWAL24Elwin Sharvill
1025Claire K TollnerCanada2024-05-23Truhlar And Truhlar Attys PROPOSAL37Elwin Sharvill
1026Darci U AlbaresGermany2024-06-11King, Christopher A Esq NEGOTIATION59Xuxue Feng
1027Cody T StockhamAustralia2024-06-02Buckley Miller Wright QUALIFIED61Bernardo Dominic
1028Ivar E SchemmerBrazil2024-05-28Commercial Press PROPOSAL45Asiya Javayant
1029Kaitlin N FlosiBrazil2024-05-26Dorl, James J Esq NEW95Ivan Magalhaes
1030Costa U SchemmerUnited Kingdom2024-06-18Commercial Press PROPOSAL10Asiya Javayant
1031Julie P SlusarskiItaly2024-06-06Benton, John B Jr RENEWAL93Onyama Limba
1032Costa M RutaFrance2024-05-24Morlong Associates QUALIFIED52Asiya Javayant
1033Greenwood K BriddickFrance2024-06-04Feiner Bros NEW43Asiya Javayant
1034Jones K FigeroaCanada2024-05-25Morlong Associates RENEWAL23Xuxue Feng
1035Costa B AlbaresItaly2024-05-29Rangoni Of Florence QUALIFIED90Asiya Javayant
1036Ricardo T SaylorsRussia2024-05-26Commercial Press QUALIFIED68Ivan Magalhaes
1037Ashley K PaprockiAustralia2024-06-16Chanay, Jeffrey A Esq RENEWAL61Stephen Shaw
1038Silvio W NestleFrance2024-06-08Printing Dimensions NEGOTIATION21Ivan Magalhaes
1039David S TollnerAustralia2024-05-23King, Christopher A Esq PROPOSAL17Anna Fali
1040Leja W GauchoRussia2024-06-13Chanay, Jeffrey A Esq QUALIFIED50Amy Elsner
1041Isabel P PerinSpain2024-05-26Rangoni Of Florence NEGOTIATION1Ivan Magalhaes
1042Jefferson S FlosiBrazil2024-05-23Morlong Associates PROPOSAL23Asiya Javayant
1043Jones C KuskoRussia2024-06-19Benton, John B Jr UNQUALIFIED30Ioni Bowcher
1044Ricardo L ButtAustralia2024-06-18Printing Dimensions RENEWAL81Onyama Limba
1045Johnson D ShinkoGermany2024-06-01Dorl, James J Esq NEW98Onyama Limba
1046Misaki Q RutaGermany2024-06-06Feltz Printing Service PROPOSAL78Asiya Javayant
1047David M FollerIndia2024-06-01Dorl, James J Esq PROPOSAL25Stephen Shaw
1048Jones I SchemmerItaly2024-06-18Rousseaux, Michael Esq NEW57Onyama Limba
1049Ashley P NestleUnited Kingdom2024-05-25Morlong Associates NEW56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mayumi P BriddickSpainIvan Magalhaes UNQUALIFIED
Sinclair U WieserJapanIvan Magalhaes NEW
Faith L StensethBrazilAnna Fali NEW
Stacey R PaprockiFranceAnna Fali NEW
Aruna G WhobreyFranceAsiya Javayant RENEWAL
Stacey V StensethJapanStephen Shaw PROPOSAL
Misaki S MarrierArgentinaIoni Bowcher NEGOTIATION
Kadeem S GarufiJapanBernardo Dominic RENEWAL
Jones Q PoquetteBrazilBernardo Dominic UNQUALIFIED
Mayumi U RulapaughRussiaElwin Sharvill QUALIFIED
David I FigeroaArgentinaBernardo Dominic RENEWAL
Maria Z RimBrazilIoni Bowcher QUALIFIED
Johnson X CampainFranceXuxue Feng UNQUALIFIED
Aruna I StensethJapanElwin Sharvill NEW
Johnson J SchemmerCanadaAnna Fali UNQUALIFIED
Aditya N CaldareraJapanOnyama Limba NEW
Ivar R PerinArgentinaXuxue Feng QUALIFIED
Cody C BologniaItalyIvan Magalhaes PROPOSAL
Julie P MaletGermanyBernardo Dominic NEW
Maisha B RoysterJapanAnna Fali QUALIFIED
Aditya U MacleadCanadaIvan Magalhaes NEW
Salvatore P DilliardRussiaAsiya Javayant QUALIFIED
Ricardo A MacleadFranceIvan Magalhaes PROPOSAL
Costa A RulapaughAustraliaAnna Fali NEW
Aruna L AlbaresIndiaAsiya Javayant NEW
Darci V StockhamGermanyBernardo Dominic NEW
Ashley Q VenereFranceStephen Shaw NEGOTIATION
Leja K KolmetzUnited KingdomBernardo Dominic PROPOSAL
Chavez A SlusarskiRussiaIoni Bowcher NEW
Ivar T TollnerArgentinaXuxue Feng QUALIFIED
Claire Z MaletCanadaAmy Elsner RENEWAL
Wickens B FigeroaItalyAsiya Javayant PROPOSAL
Johnson G RutaRussiaIvan Magalhaes QUALIFIED
Kaitlin V SlusarskiRussiaOnyama Limba QUALIFIED
Maisha H CaldareraRussiaXuxue Feng RENEWAL
Greenwood K GillianUnited KingdomElwin Sharvill NEW
Leon I WieserCanadaIoni Bowcher UNQUALIFIED
Octavia E FlosiItalyOnyama Limba PROPOSAL
Nicolas S WhobreyItalyAmy Elsner UNQUALIFIED
Cody H FerenczAustraliaAmy Elsner QUALIFIED
Greenwood E MaletFranceXuxue Feng PROPOSAL
Darci J OldroydIndiaAmy Elsner UNQUALIFIED
Wickens P VenereItalyOnyama Limba RENEWAL
Tony S RoysterCanadaOnyama Limba UNQUALIFIED
Ashley Z GillianGermanyIoni Bowcher NEGOTIATION
Octavia A OldroydBrazilIoni Bowcher RENEWAL
David J MaletFranceXuxue Feng UNQUALIFIED
Jennifer C FlosiFranceElwin Sharvill QUALIFIED
Deepesh X StensethBrazilAmy Elsner NEW
Ricardo G PoquetteSpainXuxue Feng NEW
Frozen Columns
Name
Leon L Stenseth
Julie Y Waycott
Claire L Glick
Maria X Whobrey
Jefferson B Ferencz
Alejandro X Doe
Ashley G Malet
Jennifer P Morasca
Clifford V Campain
Silvio C Iturbide
Alejandro F Poquette
Greenwood F Ruta
Salvatore N Stenseth
Jones Z Oldroyd
Greenwood O Nicka
Smith T Gillian
Leja W Sergi
Jeanfrancois U Gillian
Antonio X Gillian
Leja U Albares
Claire M Ostrosky
Maisha B Doe
Jennifer U Foller
Francesco P Butt
Wickens I Kusko
Aditya C Malet
David L Iturbide
Jones S Tollner
Ivar P Foller
Aruna X Bolognia
Darci H Caldarera
Rodrigues Q Perin
Smith F Figeroa
Morrow Z Gillian
Jennifer O Chui
Smith S Campain
Greenwood S Maclead
Smith Q Poquette
Smith X Rulapaugh
Kadeem K Butt
Murillo J Gillian
Aditya N Dilliard
Juan W Malet
Wickens G Chui
Claire X Perin
Juan E Briddick
Deepesh K Kolmetz
Maisha N Ruta
Nicolas T Marrier
Jones A Ferencz
IdCountryDate
1000France2024-05-30
1001United Kingdom2024-06-01
1002Canada2024-06-15
1003France2024-06-20
1004Brazil2024-05-28
1005Japan2024-05-26
1006United Kingdom2024-05-30
1007Italy2024-05-26
1008Australia2024-06-16
1009Italy2024-06-08
1010Argentina2024-06-16
1011Japan2024-06-01
1012Japan2024-05-28
1013Germany2024-06-01
1014Japan2024-06-01
1015India2024-05-27
1016Italy2024-05-29
1017Australia2024-06-04
1018Australia2024-06-05
1019Russia2024-05-30
1020Canada2024-05-29
1021Japan2024-06-08
1022Australia2024-06-15
1023Australia2024-05-27
1024Japan2024-06-05
1025Italy2024-06-07
1026Canada2024-06-02
1027Japan2024-06-19
1028Canada2024-06-10
1029Australia2024-06-15
1030Spain2024-05-31
1031Argentina2024-05-25
1032Brazil2024-06-16
1033France2024-06-13
1034Argentina2024-06-13
1035Spain2024-06-13
1036Brazil2024-05-27
1037Russia2024-06-10
1038Canada2024-05-31
1039Argentina2024-06-02
1040Japan2024-06-19
1041Russia2024-05-26
1042Japan2024-06-09
1043Argentina2024-06-15
1044Germany2024-06-08
1045India2024-06-20
1046Spain2024-06-20
1047Canada2024-06-04
1048Brazil2024-06-08
1049Australia2024-06-14

On-Demand Data

NameIdCountryDate
Chavez S Rim1000Russia2024-06-13
Jefferson P Glick1001India2024-06-04
Sinclair O Amigon1002Germany2024-06-12
Cody J Poquette1003Spain2024-05-30
Francesco N Amigon1004Japan2024-06-08
James H Darakjy1005Canada2024-06-09
Mayumi W Poquette1006United Kingdom2024-06-09
Rodrigues C Caudy1007Japan2024-06-20
Salvatore R Inouye1008Argentina2024-06-09
Arvin J Rim1009Japan2024-05-25
Jennifer M Bowley1010Germany2024-06-14
Costa J Amigon1011India2024-05-28
Emily I Maclead1012Italy2024-06-10
Maisha X Ostrosky1013India2024-05-28
Greenwood J Dilliard1014India2024-05-26
Jennifer D Stockham1015Brazil2024-06-03
Munro V Marrier1016Argentina2024-06-20
Aruna N Marrier1017Canada2024-06-10
Morrow Q Glick1018Spain2024-05-28
David Q Slusarski1019India2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson X StockhamUnited KingdomAnna Fali QUALIFIED
Ashley C MorascaRussiaXuxue Feng NEW
Deepesh O DarakjyJapanAsiya Javayant PROPOSAL
Octavia P VenereIndiaIvan Magalhaes NEW
Misaki K DilliardItalyElwin Sharvill PROPOSAL
Mayumi K FollerRussiaIoni Bowcher RENEWAL
Aika X ShinkoSpainXuxue Feng QUALIFIED
Francesco F InouyeSpainElwin Sharvill PROPOSAL
James C MacleadUnited KingdomStephen Shaw RENEWAL
Jeanfrancois Q SaylorsGermanyStephen Shaw PROPOSAL
Emily H StensethArgentinaAnna Fali RENEWAL
Kaitlin T TollnerRussiaBernardo Dominic UNQUALIFIED
Jennifer S BologniaJapanXuxue Feng RENEWAL
Deepesh L BriddickItalyIoni Bowcher NEGOTIATION
Cody E FlosiGermanyAsiya Javayant NEGOTIATION
Morrow E CaudyRussiaIvan Magalhaes RENEWAL
Tony N DoeJapanXuxue Feng NEW
Maisha K StensethUnited KingdomOnyama Limba QUALIFIED
Jones R CaldareraCanadaOnyama Limba NEGOTIATION
Francesco Q BowleySpainStephen Shaw NEW
Deepesh N CampainArgentinaOnyama Limba NEGOTIATION
Salvatore S KuskoBrazilBernardo Dominic QUALIFIED
Rodrigues M WhobreyIndiaAnna Fali NEW
Darci M GillianJapanIoni Bowcher NEGOTIATION
Smith F GlickFranceIvan Magalhaes PROPOSAL
Mujtaba R VocelkaAustraliaAsiya Javayant RENEWAL
Aruna A GauchoArgentinaElwin Sharvill UNQUALIFIED
Mayumi I StensethGermanyOnyama Limba PROPOSAL
Murillo Y BowleyRussiaBernardo Dominic NEGOTIATION
Kaitlin I MaletAustraliaXuxue Feng NEGOTIATION
David K CaldareraAustraliaAnna Fali QUALIFIED
Mayumi F MaletUnited KingdomAnna Fali QUALIFIED
Stacey J GillianJapanIoni Bowcher NEW
Aditya X BowleyRussiaAsiya Javayant QUALIFIED
Aditya A RoysterArgentinaXuxue Feng QUALIFIED
Aika L StockhamSpainElwin Sharvill NEGOTIATION
Mayumi E CaldareraFranceAmy Elsner QUALIFIED
David Q RimFranceAsiya Javayant RENEWAL
Aika J CaldareraArgentinaAmy Elsner UNQUALIFIED
Francesco N FlosiCanadaStephen Shaw 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">
            <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>