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
Juan N SergiRussiaAsiya Javayant NEGOTIATION
Johnson W WhobreyItalyStephen Shaw NEW
Aditya X PaprockiItalyAsiya Javayant QUALIFIED
Leon E InouyeGermanyIoni Bowcher UNQUALIFIED
Leon Q KolmetzArgentinaIoni Bowcher NEGOTIATION
Julie J WhobreyItalyIvan Magalhaes RENEWAL
David Y SlusarskiGermanyOnyama Limba NEGOTIATION
Aditya K StensethAustraliaXuxue Feng NEW
Misaki U RulapaughItalyAmy Elsner UNQUALIFIED
Alejandro C RoysterSpainAmy Elsner NEGOTIATION
Izzy Q MaletFranceElwin Sharvill PROPOSAL
Faith E PerinFranceAmy Elsner UNQUALIFIED
Juan F RulapaughJapanAnna Fali NEW
Jennifer O InouyeItalyBernardo Dominic QUALIFIED
Johnson P AmigonArgentinaIoni Bowcher UNQUALIFIED
Octavia A FollerItalyAmy Elsner NEGOTIATION
Misaki H TollnerBrazilOnyama Limba RENEWAL
Kadeem V RimIndiaStephen Shaw PROPOSAL
Leja A RutaFranceAmy Elsner UNQUALIFIED
Faith C RutaUnited KingdomOnyama Limba NEW
Mayumi T FigeroaSpainAnna Fali QUALIFIED
Sinclair U NickaArgentinaStephen Shaw NEW
Morrow P WaycottFranceIoni Bowcher UNQUALIFIED
Munro D GarufiBrazilIvan Magalhaes NEW
Clifford I SlusarskiJapanIvan Magalhaes NEW
Aruna M PerinItalyAsiya Javayant RENEWAL
Claire H OstroskyBrazilAsiya Javayant QUALIFIED
Adams C RoysterSpainAsiya Javayant UNQUALIFIED
Leon M ButtIndiaAnna Fali NEW
Greenwood S WhobreyArgentinaStephen Shaw NEGOTIATION
Jefferson K MacleadUnited KingdomAmy Elsner NEW
Leja C OldroydIndiaIvan Magalhaes PROPOSAL
James P NestleAustraliaAsiya Javayant PROPOSAL
Cody O RoysterFranceAmy Elsner NEGOTIATION
Ivar M GauchoGermanyStephen Shaw PROPOSAL
Claire A KolmetzSpainAnna Fali UNQUALIFIED
Aditya R WieserJapanAmy Elsner RENEWAL
James R GlickFranceIoni Bowcher PROPOSAL
Rodrigues E BologniaFranceXuxue Feng QUALIFIED
Jeanfrancois Q OstroskyArgentinaBernardo Dominic UNQUALIFIED
Greenwood P NickaRussiaOnyama Limba NEW
Aruna U DilliardSpainElwin Sharvill RENEWAL
Emily C RutaAustraliaAnna Fali NEW
Murillo A KolmetzSpainIoni Bowcher QUALIFIED
Aditya Z DoeItalyIvan Magalhaes RENEWAL
Faith U TollnerRussiaElwin Sharvill NEGOTIATION
Misaki Q VenereRussiaOnyama Limba PROPOSAL
Mayumi S KolmetzSpainIvan Magalhaes NEGOTIATION
Smith W OldroydUnited KingdomIvan Magalhaes RENEWAL
Arvin A VenereGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Alejandro F KuskoJapanStephen Shaw RENEWAL
Ashley K ButtCanadaXuxue Feng QUALIFIED
Deepesh S SlusarskiCanadaElwin Sharvill NEW
Leja W TollnerIndiaAsiya Javayant NEW
Jennifer D RimUnited KingdomIvan Magalhaes NEW
James C ShinkoArgentinaIvan Magalhaes RENEWAL
Leja C FerenczItalyAmy Elsner UNQUALIFIED
Leon W BowleyGermanyStephen Shaw NEW
Morrow F RulapaughGermanyIoni Bowcher RENEWAL
Johnson U FollerCanadaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio G FollerArgentina2024-08-26Rangoni Of Florence PROPOSAL66Onyama Limba
1001Morrow G SaylorsIndia2024-09-17Truhlar And Truhlar Attys NEGOTIATION40Xuxue Feng
1002Clifford H OldroydCanada2024-09-05Feiner Bros QUALIFIED72Stephen Shaw
1003Rodrigues F CaudyRussia2024-09-05Rangoni Of Florence NEW12Stephen Shaw
1004Jefferson R BriddickFrance2024-08-28Buckley Miller Wright RENEWAL35Stephen Shaw
1005Mayumi K FerenczItaly2024-09-17Chemel, James L Cpa RENEWAL23Anna Fali
1006Deepesh B NickaCanada2024-09-09Rangoni Of Florence RENEWAL27Xuxue Feng
1007Wickens Y StockhamGermany2024-08-27Benton, John B Jr NEGOTIATION50Anna Fali
1008Tony Z SchemmerSpain2024-09-22Buckley Miller Wright QUALIFIED21Onyama Limba
1009James J MaletIndia2024-09-17Rangoni Of Florence PROPOSAL65Bernardo Dominic
1010Antonio I ChuiGermany2024-09-01Rousseaux, Michael Esq UNQUALIFIED36Amy Elsner
1011Misaki B FigeroaAustralia2024-09-21Feltz Printing Service UNQUALIFIED74Xuxue Feng
1012David H WaycottAustralia2024-09-17Dorl, James J Esq QUALIFIED10Amy Elsner
1013Isabel O CaldareraArgentina2024-09-12Chemel, James L Cpa QUALIFIED26Ivan Magalhaes
1014Mayumi S BologniaCanada2024-09-08Chapman, Ross E Esq QUALIFIED82Elwin Sharvill
1015Juan U ButtArgentina2024-09-22Rangoni Of Florence PROPOSAL11Elwin Sharvill
1016Arvin T OstroskyRussia2024-09-03Commercial Press NEW26Elwin Sharvill
1017Morrow W DarakjyRussia2024-09-16Benton, John B Jr RENEWAL67Xuxue Feng
1018Rodrigues N MacleadUnited Kingdom2024-09-12Rangoni Of Florence NEGOTIATION26Bernardo Dominic
1019Nicolas I RoysterGermany2024-09-09Buckley Miller Wright UNQUALIFIED74Ivan Magalhaes
1020Stacey S OldroydAustralia2024-09-15Rousseaux, Michael Esq RENEWAL41Anna Fali
1021Nicolas A WieserFrance2024-09-15Commercial Press NEGOTIATION45Ioni Bowcher
1022Leon G WieserAustralia2024-08-30Feiner Bros RENEWAL73Onyama Limba
1023James H FigeroaAustralia2024-09-19Benton, John B Jr NEGOTIATION65Bernardo Dominic
1024Murillo C FerenczSpain2024-09-06Feiner Bros NEGOTIATION18Ioni Bowcher
1025Faith J ChuiAustralia2024-09-04Chapman, Ross E Esq NEGOTIATION78Elwin Sharvill
1026Morrow Y OldroydUnited Kingdom2024-09-02Chemel, James L Cpa RENEWAL0Onyama Limba
1027Kaitlin H RoysterUnited Kingdom2024-09-17Rangoni Of Florence NEGOTIATION41Stephen Shaw
1028Jones H RutaJapan2024-09-22Commercial Press RENEWAL81Onyama Limba
1029Leon V PoquetteSpain2024-09-11Feltz Printing Service NEGOTIATION38Onyama Limba
1030Alejandro G GauchoGermany2024-09-13Commercial Press NEW82Ivan Magalhaes
1031Clifford Y RulapaughSpain2024-09-09Dorl, James J Esq PROPOSAL27Amy Elsner
1032Antonio B SlusarskiAustralia2024-08-28Printing Dimensions NEGOTIATION4Bernardo Dominic
1033Ivar W MorascaAustralia2024-09-21Truhlar And Truhlar Attys UNQUALIFIED98Stephen Shaw
1034David A PaprockiAustralia2024-09-12Chanay, Jeffrey A Esq NEGOTIATION65Ioni Bowcher
1035Kaitlin B MaletFrance2024-08-26Rangoni Of Florence QUALIFIED59Bernardo Dominic
1036Stacey K SchemmerRussia2024-09-07Chanay, Jeffrey A Esq NEW26Ivan Magalhaes
1037Maisha I CampainJapan2024-09-10Chapman, Ross E Esq UNQUALIFIED61Xuxue Feng
1038Stacey M MaletGermany2024-08-27Commercial Press QUALIFIED89Asiya Javayant
1039Ashley N DarakjyIndia2024-09-10Chapman, Ross E Esq QUALIFIED85Ioni Bowcher
1040Johnson W GlickGermany2024-09-18Chemel, James L Cpa NEW73Xuxue Feng
1041Octavia B OldroydFrance2024-09-14Printing Dimensions QUALIFIED68Stephen Shaw
1042Izzy A RutaJapan2024-09-18Truhlar And Truhlar Attys PROPOSAL20Asiya Javayant
1043Morrow F PaprockiAustralia2024-09-03King, Christopher A Esq RENEWAL63Anna Fali
1044Greenwood W StensethArgentina2024-09-10Chemel, James L Cpa NEGOTIATION46Xuxue Feng
1045Tony V ButtCanada2024-09-18Truhlar And Truhlar Attys NEW15Stephen Shaw
1046Leja J FerenczAustralia2024-08-31King, Christopher A Esq PROPOSAL45Ioni Bowcher
1047Stacey M OstroskyJapan2024-08-24Buckley Miller Wright NEGOTIATION11Bernardo Dominic
1048Silvio N FerenczGermany2024-09-22Feiner Bros UNQUALIFIED96Asiya Javayant
1049Kadeem P PaprockiItaly2024-09-02Rousseaux, Michael Esq PROPOSAL98Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Greenwood P GlickSpainBernardo Dominic NEGOTIATION
Aika R AmigonArgentinaIoni Bowcher NEGOTIATION
Aruna L BriddickSpainAsiya Javayant UNQUALIFIED
Tony R BriddickArgentinaOnyama Limba NEGOTIATION
Maisha Q ButtArgentinaBernardo Dominic UNQUALIFIED
Deepesh Z PerinGermanyXuxue Feng UNQUALIFIED
Silvio P MaletArgentinaElwin Sharvill UNQUALIFIED
Aika J DarakjySpainAsiya Javayant QUALIFIED
Maria T MaletSpainAnna Fali RENEWAL
Silvio U BowleyAustraliaXuxue Feng QUALIFIED
Murillo M MaletGermanyIoni Bowcher UNQUALIFIED
Wickens V FollerSpainAmy Elsner PROPOSAL
Juan J BologniaCanadaAsiya Javayant RENEWAL
Wickens C NestleJapanIoni Bowcher NEGOTIATION
Alejandro L StockhamGermanyAmy Elsner PROPOSAL
Leon M FigeroaJapanAnna Fali NEW
Ashley A NestleRussiaStephen Shaw NEGOTIATION
Kadeem K CaldareraCanadaXuxue Feng QUALIFIED
Mayumi D WhobreyArgentinaAnna Fali QUALIFIED
Mujtaba R KolmetzFranceIvan Magalhaes NEGOTIATION
Costa B StockhamIndiaOnyama Limba UNQUALIFIED
Nicolas D FerenczCanadaAmy Elsner NEGOTIATION
Maisha T WhobreySpainOnyama Limba RENEWAL
Nicolas D BowleySpainElwin Sharvill QUALIFIED
Ashley J GlickRussiaIvan Magalhaes PROPOSAL
Jefferson D DilliardCanadaElwin Sharvill NEW
Aika F VocelkaCanadaBernardo Dominic PROPOSAL
David U CaudyAustraliaIvan Magalhaes RENEWAL
Aditya Z RulapaughItalyXuxue Feng NEW
Mayumi H GillianIndiaStephen Shaw PROPOSAL
Ashley C GlickFranceBernardo Dominic NEGOTIATION
Julie X SchemmerCanadaIoni Bowcher UNQUALIFIED
Misaki U DilliardBrazilOnyama Limba RENEWAL
Smith V TollnerFranceElwin Sharvill NEGOTIATION
Isabel G StensethBrazilStephen Shaw RENEWAL
Octavia A GauchoGermanyOnyama Limba UNQUALIFIED
Deepesh U BologniaFranceAsiya Javayant PROPOSAL
James J RoysterFranceAnna Fali NEW
Jeanfrancois A WaycottFranceAnna Fali UNQUALIFIED
Emily A MacleadSpainBernardo Dominic NEGOTIATION
Mayumi I WhobreyAustraliaAsiya Javayant RENEWAL
Greenwood H CaudyBrazilIoni Bowcher RENEWAL
Juan N GlickArgentinaAsiya Javayant RENEWAL
Maisha U StensethRussiaStephen Shaw RENEWAL
Julie J NickaSpainBernardo Dominic RENEWAL
Silvio A GillianArgentinaIvan Magalhaes PROPOSAL
Leon Z DarakjyAustraliaOnyama Limba PROPOSAL
Murillo D SchemmerRussiaIoni Bowcher NEGOTIATION
Costa Q PoquetteJapanAsiya Javayant NEW
Clifford S BologniaItalyXuxue Feng NEGOTIATION
Frozen Columns
Name
Antonio Q Campain
Aruna L Chui
Faith P Saylors
Greenwood P Saylors
Ivar S Oldroyd
Chavez U Perin
Salvatore W Doe
Jones B Sergi
Arvin X Saylors
Arvin N Butt
Adams N Caldarera
Kadeem R Albares
Stacey N Foller
Jefferson K Iturbide
Antonio O Chui
Emily W Flosi
Mujtaba F Glick
Jeanfrancois B Vocelka
Misaki Y Briddick
Maisha F Kusko
Julie B Shinko
Maisha E Ostrosky
Clifford G Amigon
Jennifer T Butt
Mujtaba J Stockham
Murillo O Venere
Julie L Caudy
Silvio C Wieser
Leja C Marrier
Jennifer W Bowley
Antonio D Slusarski
Stacey Y Venere
Leja D Garufi
Silvio P Waycott
Leon C Nicka
Stacey I Chui
James J Maclead
Salvatore K Paprocki
Salvatore H Flosi
Antonio A Amigon
Jeanfrancois O Marrier
Silvio E Malet
Morrow A Amigon
Aika Y Perin
Jones Y Stockham
Aika R Oldroyd
Clifford V Nestle
Adams G Caudy
Greenwood K Paprocki
Maisha J Paprocki
IdCountryDate
1000France2024-09-05
1001India2024-09-02
1002France2024-09-04
1003Germany2024-08-31
1004Brazil2024-09-03
1005Canada2024-08-27
1006United Kingdom2024-09-10
1007France2024-08-29
1008France2024-09-03
1009Spain2024-08-29
1010Canada2024-09-19
1011Brazil2024-08-28
1012Russia2024-09-05
1013Spain2024-09-02
1014Spain2024-09-10
1015Argentina2024-08-29
1016Argentina2024-08-26
1017Spain2024-09-08
1018Spain2024-09-09
1019Brazil2024-09-04
1020Brazil2024-09-11
1021Italy2024-09-04
1022Japan2024-09-17
1023Brazil2024-09-16
1024Spain2024-09-20
1025Japan2024-08-24
1026Italy2024-09-21
1027Canada2024-08-28
1028Germany2024-09-21
1029Canada2024-08-26
1030Spain2024-09-20
1031Italy2024-09-14
1032Germany2024-09-06
1033United Kingdom2024-09-13
1034United Kingdom2024-09-02
1035Japan2024-08-24
1036India2024-09-01
1037Australia2024-08-30
1038India2024-09-03
1039Canada2024-09-02
1040India2024-08-25
1041Italy2024-09-22
1042Italy2024-09-19
1043Spain2024-09-22
1044Germany2024-09-16
1045United Kingdom2024-09-16
1046France2024-08-31
1047Japan2024-09-17
1048India2024-08-29
1049Spain2024-08-29

On-Demand Data

NameIdCountryDate
Greenwood L Slusarski1000Italy2024-09-05
Chavez B Sergi1001Australia2024-09-11
Morrow H Bowley1002Argentina2024-09-10
Julie V Venere1003Spain2024-09-10
Smith O Flosi1004United Kingdom2024-09-16
Mujtaba R Slusarski1005Germany2024-08-29
Misaki M Kolmetz1006India2024-08-27
Salvatore R Whobrey1007France2024-09-19
Chavez W Bowley1008Argentina2024-08-26
Murillo U Caudy1009Brazil2024-09-10
Ashley Y Albares1010Canada2024-09-20
Izzy U Caldarera1011France2024-09-12
Isabel M Stockham1012Germany2024-09-01
Aditya Q Royster1013Brazil2024-09-22
Darci I Kolmetz1014Italy2024-08-28
Leon V Maclead1015France2024-09-11
Smith D Slusarski1016Germany2024-08-30
Isabel F Iturbide1017France2024-09-10
Leon L Stenseth1018France2024-09-04
Misaki M Kusko1019India2024-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens U PerinItalyStephen Shaw PROPOSAL
Nicolas I AlbaresSpainStephen Shaw RENEWAL
Maria B FlosiRussiaAsiya Javayant UNQUALIFIED
Morrow U MorascaRussiaIvan Magalhaes RENEWAL
Morrow K PaprockiJapanOnyama Limba QUALIFIED
Juan I RutaItalyBernardo Dominic PROPOSAL
Wickens F PoquetteAustraliaXuxue Feng NEGOTIATION
Claire X PoquetteItalyBernardo Dominic PROPOSAL
Juan M SchemmerCanadaAmy Elsner PROPOSAL
Jones P PerinJapanAmy Elsner RENEWAL
Murillo Y StensethCanadaIvan Magalhaes NEW
Kadeem N NestleCanadaOnyama Limba PROPOSAL
Sinclair J SaylorsGermanyXuxue Feng NEGOTIATION
Isabel L KolmetzAustraliaBernardo Dominic RENEWAL
Juan X SaylorsItalyXuxue Feng PROPOSAL
Aika F RoysterAustraliaStephen Shaw QUALIFIED
Stacey K NestleAustraliaAnna Fali NEW
Maisha N FigeroaCanadaIvan Magalhaes UNQUALIFIED
Salvatore F VocelkaSpainXuxue Feng NEGOTIATION
Octavia M StockhamGermanyAsiya Javayant QUALIFIED
Cody F NestleRussiaIoni Bowcher QUALIFIED
Smith P NestleIndiaXuxue Feng QUALIFIED
Murillo K VenereBrazilIoni Bowcher QUALIFIED
Kaitlin O StockhamAustraliaAmy Elsner QUALIFIED
Maisha M OstroskyItalyElwin Sharvill PROPOSAL
Mujtaba A ShinkoItalyElwin Sharvill PROPOSAL
Juan T SaylorsRussiaOnyama Limba RENEWAL
Mayumi U BriddickCanadaElwin Sharvill RENEWAL
Antonio J StensethFranceAmy Elsner RENEWAL
Maisha M MarrierSpainAmy Elsner PROPOSAL
Nicolas O AmigonAustraliaAnna Fali UNQUALIFIED
Francesco S WaycottAustraliaAsiya Javayant UNQUALIFIED
Claire L NickaSpainAsiya Javayant QUALIFIED
Adams H FerenczIndiaAnna Fali RENEWAL
Maria X GlickCanadaIvan Magalhaes NEW
Silvio X BologniaRussiaAsiya Javayant UNQUALIFIED
Misaki H MaletFranceAnna Fali NEGOTIATION
Morrow M MorascaSpainAmy Elsner UNQUALIFIED
Claire B FlosiBrazilXuxue Feng PROPOSAL
Julie P RimUnited KingdomAsiya Javayant QUALIFIED

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