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
Wickens N PaprockiBrazilBernardo Dominic PROPOSAL
Nicolas R VocelkaCanadaStephen Shaw PROPOSAL
Ashley O StensethFranceXuxue Feng RENEWAL
Adams I CampainItalyStephen Shaw PROPOSAL
Ashley U VenereUnited KingdomAsiya Javayant PROPOSAL
Kaitlin Z TollnerGermanyAsiya Javayant NEGOTIATION
Silvio U WhobreyItalyIoni Bowcher PROPOSAL
Sinclair C PoquetteItalyOnyama Limba PROPOSAL
Chavez M CampainGermanyAnna Fali QUALIFIED
Julie X FigeroaCanadaIoni Bowcher UNQUALIFIED
Smith A IturbideSpainAmy Elsner PROPOSAL
Sinclair O FigeroaAustraliaBernardo Dominic QUALIFIED
Deepesh R ShinkoUnited KingdomAsiya Javayant QUALIFIED
Silvio A FlosiIndiaXuxue Feng NEGOTIATION
Nicolas X DilliardJapanAmy Elsner RENEWAL
Ricardo W MaletIndiaXuxue Feng NEGOTIATION
Deepesh O ShinkoRussiaStephen Shaw NEW
Jefferson J GlickJapanOnyama Limba QUALIFIED
Leja M NestleIndiaIoni Bowcher UNQUALIFIED
Isabel O BowleyUnited KingdomOnyama Limba QUALIFIED
Rodrigues X InouyeCanadaIvan Magalhaes NEGOTIATION
Munro H FerenczSpainAmy Elsner RENEWAL
Jefferson S MorascaArgentinaIoni Bowcher NEW
Stacey D MaletSpainStephen Shaw RENEWAL
Mujtaba L MacleadCanadaIoni Bowcher UNQUALIFIED
Wickens T MorascaRussiaAsiya Javayant NEGOTIATION
Smith N OstroskySpainAnna Fali RENEWAL
Ashley Z IturbideGermanyIvan Magalhaes QUALIFIED
Munro W SlusarskiJapanAsiya Javayant NEW
Adams W DoeIndiaXuxue Feng PROPOSAL
Smith H WieserFranceBernardo Dominic NEW
Tony T WieserSpainOnyama Limba RENEWAL
Rodrigues E ShinkoJapanAmy Elsner NEGOTIATION
Alejandro F NestleJapanXuxue Feng NEGOTIATION
Aika T SaylorsItalyElwin Sharvill QUALIFIED
Alejandro A StockhamBrazilOnyama Limba NEGOTIATION
Adams O DarakjyFranceAsiya Javayant NEGOTIATION
Aditya W ButtUnited KingdomIoni Bowcher PROPOSAL
Julie L MarrierArgentinaBernardo Dominic PROPOSAL
Nicolas I ButtUnited KingdomAnna Fali RENEWAL
Adams W NickaRussiaXuxue Feng NEGOTIATION
Aruna C DoeUnited KingdomAsiya Javayant NEW
James M AlbaresJapanIoni Bowcher UNQUALIFIED
Misaki C WieserUnited KingdomXuxue Feng NEGOTIATION
Smith S SchemmerBrazilXuxue Feng UNQUALIFIED
Maisha D ShinkoFranceAsiya Javayant NEGOTIATION
Kaitlin O RimUnited KingdomBernardo Dominic NEGOTIATION
Costa O SergiRussiaBernardo Dominic NEW
David P FigeroaSpainElwin Sharvill RENEWAL
Jennifer Z FlosiArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David U FerenczCanadaAsiya Javayant RENEWAL
Leon G StensethCanadaElwin Sharvill UNQUALIFIED
Clifford C OldroydCanadaXuxue Feng UNQUALIFIED
Ivar F DarakjyRussiaAnna Fali UNQUALIFIED
Wickens F DilliardAustraliaElwin Sharvill PROPOSAL
Leon K RutaGermanyAmy Elsner UNQUALIFIED
Wickens D TollnerBrazilIvan Magalhaes NEGOTIATION
Johnson L BriddickFranceXuxue Feng UNQUALIFIED
Arvin Q WaycottCanadaElwin Sharvill QUALIFIED
Clifford A PerinUnited KingdomStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson B PaprockiBrazil2024-06-16Chapman, Ross E Esq NEGOTIATION14Bernardo Dominic
1001Wickens J MorascaIndia2024-05-28Truhlar And Truhlar Attys QUALIFIED77Xuxue Feng
1002Smith J CampainIndia2024-06-07Chemel, James L Cpa RENEWAL18Stephen Shaw
1003Munro I OstroskyAustralia2024-06-03Feltz Printing Service NEW70Onyama Limba
1004Antonio F GillianFrance2024-05-29King, Christopher A Esq QUALIFIED58Anna Fali
1005Francesco M DilliardItaly2024-06-08Chanay, Jeffrey A Esq NEW80Onyama Limba
1006Rodrigues N RoysterGermany2024-05-24Rangoni Of Florence UNQUALIFIED81Bernardo Dominic
1007Smith Q ShinkoArgentina2024-06-06King, Christopher A Esq RENEWAL44Elwin Sharvill
1008Jennifer O ShinkoRussia2024-06-12Rangoni Of Florence PROPOSAL43Amy Elsner
1009Leon N DilliardGermany2024-06-10Truhlar And Truhlar Attys RENEWAL12Onyama Limba
1010Kadeem N IturbideArgentina2024-06-05Buckley Miller Wright RENEWAL33Elwin Sharvill
1011Jeanfrancois Z IturbideSpain2024-06-19King, Christopher A Esq UNQUALIFIED37Bernardo Dominic
1012James M BowleyFrance2024-05-26Dorl, James J Esq RENEWAL82Asiya Javayant
1013Alejandro X GauchoArgentina2024-06-17Commercial Press QUALIFIED78Stephen Shaw
1014Morrow L CaudyArgentina2024-05-24Feiner Bros QUALIFIED51Onyama Limba
1015Wickens V ShinkoCanada2024-05-29Buckley Miller Wright QUALIFIED50Onyama Limba
1016Faith P PaprockiRussia2024-06-06Rangoni Of Florence NEGOTIATION43Ioni Bowcher
1017Aika V IturbideAustralia2024-06-04Rangoni Of Florence NEW42Asiya Javayant
1018Octavia I RutaArgentina2024-06-14Commercial Press RENEWAL32Stephen Shaw
1019Ricardo J MacleadUnited Kingdom2024-06-04King, Christopher A Esq UNQUALIFIED82Ioni Bowcher
1020Morrow N RimGermany2024-06-08Rousseaux, Michael Esq PROPOSAL22Asiya Javayant
1021Jennifer R InouyeIndia2024-06-04Dorl, James J Esq QUALIFIED10Asiya Javayant
1022Ashley O MaletJapan2024-06-18Feltz Printing Service PROPOSAL18Xuxue Feng
1023Johnson Q ChuiUnited Kingdom2024-05-27Chapman, Ross E Esq PROPOSAL30Amy Elsner
1024Greenwood N BowleyUnited Kingdom2024-06-05Dorl, James J Esq PROPOSAL96Bernardo Dominic
1025Emily O GlickCanada2024-06-14Morlong Associates QUALIFIED47Xuxue Feng
1026Aika T ChuiFrance2024-06-17Chanay, Jeffrey A Esq RENEWAL97Anna Fali
1027Julie A CaudyCanada2024-06-10Morlong Associates PROPOSAL74Ivan Magalhaes
1028Leja Y FollerItaly2024-06-11Buckley Miller Wright QUALIFIED28Stephen Shaw
1029Isabel H BriddickIndia2024-06-15Feiner Bros NEW47Xuxue Feng
1030Rodrigues N FigeroaArgentina2024-06-13Dorl, James J Esq NEW63Anna Fali
1031Maisha S DilliardFrance2024-06-06King, Christopher A Esq NEW77Ioni Bowcher
1032Sinclair P MaletGermany2024-06-20Buckley Miller Wright QUALIFIED63Amy Elsner
1033Salvatore Z VenereJapan2024-05-31Morlong Associates NEGOTIATION8Asiya Javayant
1034Tony R ButtJapan2024-06-18Chapman, Ross E Esq QUALIFIED83Xuxue Feng
1035Aditya C NickaRussia2024-06-05Feltz Printing Service RENEWAL98Anna Fali
1036Aika J RoysterSpain2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED56Xuxue Feng
1037Clifford A DilliardCanada2024-06-01Feltz Printing Service RENEWAL8Bernardo Dominic
1038Munro I CaldareraItaly2024-06-07Rousseaux, Michael Esq NEW30Bernardo Dominic
1039Francesco F MarrierAustralia2024-05-31Chemel, James L Cpa PROPOSAL2Asiya Javayant
1040Salvatore K OstroskyGermany2024-06-05Benton, John B Jr UNQUALIFIED8Amy Elsner
1041Jones X InouyeBrazil2024-05-28Feltz Printing Service NEW16Elwin Sharvill
1042Izzy I CaldareraSpain2024-06-11Printing Dimensions NEW76Asiya Javayant
1043Ricardo C MarrierCanada2024-06-18King, Christopher A Esq PROPOSAL53Anna Fali
1044Kaitlin K RutaFrance2024-05-31Morlong Associates QUALIFIED19Stephen Shaw
1045Munro H GarufiCanada2024-06-18Morlong Associates QUALIFIED36Anna Fali
1046Nicolas L MaletIndia2024-06-11Rousseaux, Michael Esq NEW31Bernardo Dominic
1047Octavia M BowleyBrazil2024-06-19Chemel, James L Cpa RENEWAL69Ioni Bowcher
1048Jefferson I ChuiJapan2024-05-25King, Christopher A Esq NEGOTIATION98Asiya Javayant
1049Wickens E WieserBrazil2024-06-06King, Christopher A Esq NEGOTIATION16Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Morrow D OstroskyItalyBernardo Dominic QUALIFIED
Aruna P BologniaIndiaXuxue Feng NEGOTIATION
Leon V AmigonIndiaXuxue Feng NEW
Cody A FlosiSpainOnyama Limba NEW
Cody P OldroydCanadaIoni Bowcher RENEWAL
Faith S WaycottJapanAnna Fali NEGOTIATION
Greenwood B ChuiIndiaAnna Fali PROPOSAL
Sinclair J CaldareraJapanIvan Magalhaes RENEWAL
Ashley P GlickArgentinaAmy Elsner PROPOSAL
Jones F AlbaresUnited KingdomAnna Fali PROPOSAL
Aditya H CampainRussiaIvan Magalhaes NEW
Maria A KuskoBrazilStephen Shaw NEW
Nicolas N WieserUnited KingdomOnyama Limba PROPOSAL
Emily H WieserRussiaStephen Shaw QUALIFIED
Jefferson Z GarufiItalyAnna Fali RENEWAL
Greenwood J MacleadAustraliaXuxue Feng NEGOTIATION
Mujtaba N RimUnited KingdomIoni Bowcher PROPOSAL
Salvatore X BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Octavia T DilliardArgentinaAmy Elsner QUALIFIED
Murillo H SlusarskiAustraliaElwin Sharvill QUALIFIED
Arvin O StockhamRussiaBernardo Dominic QUALIFIED
Ashley R DarakjySpainIvan Magalhaes RENEWAL
Ashley K RulapaughItalyAnna Fali QUALIFIED
Tony E SlusarskiBrazilStephen Shaw PROPOSAL
Mujtaba W DoeFranceAnna Fali QUALIFIED
Costa G IturbideSpainBernardo Dominic NEGOTIATION
Julie Y OstroskyIndiaIvan Magalhaes PROPOSAL
Silvio N CaudySpainElwin Sharvill NEGOTIATION
Izzy T DoeGermanyElwin Sharvill QUALIFIED
Aditya S VocelkaBrazilAmy Elsner PROPOSAL
Kaitlin J PerinArgentinaAsiya Javayant UNQUALIFIED
Mujtaba I KolmetzFranceIvan Magalhaes RENEWAL
Cody V GlickRussiaIoni Bowcher UNQUALIFIED
Aruna I FerenczCanadaAmy Elsner PROPOSAL
Cody U MaletRussiaStephen Shaw UNQUALIFIED
Rodrigues M SaylorsSpainAmy Elsner PROPOSAL
Jennifer R GlickJapanOnyama Limba UNQUALIFIED
Murillo H RoysterGermanyAmy Elsner NEGOTIATION
Aruna A VocelkaCanadaXuxue Feng UNQUALIFIED
Darci K StockhamSpainStephen Shaw NEGOTIATION
Maisha J IturbideGermanyXuxue Feng RENEWAL
Deepesh V KolmetzIndiaIvan Magalhaes QUALIFIED
Ivar H MorascaAustraliaBernardo Dominic PROPOSAL
Ricardo J MarrierCanadaAmy Elsner UNQUALIFIED
Juan C WhobreyItalyIvan Magalhaes PROPOSAL
Clifford C OldroydCanadaBernardo Dominic QUALIFIED
Wickens D FlosiJapanElwin Sharvill NEW
Isabel V RutaRussiaAmy Elsner RENEWAL
Smith U BologniaItalyIvan Magalhaes UNQUALIFIED
Sinclair Z DoeCanadaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Isabel H Glick
Costa U Nestle
Maria H Campain
Izzy Z Shinko
Isabel Q Malet
Leja Y Gaucho
Deepesh K Campain
Adams Z Stenseth
James V Nestle
Darci V Amigon
Claire Z Gillian
Darci K Albares
Maisha Z Chui
Mujtaba Q Kusko
Faith Q Schemmer
Alejandro L Gaucho
Francesco L Glick
Clifford E Briddick
Johnson E Waycott
Cody Y Paprocki
Leon Q Inouye
Darci X Vocelka
Juan J Ferencz
Munro F Rim
Murillo P Slusarski
Murillo I Oldroyd
Aruna K Tollner
Greenwood J Whobrey
Deepesh Y Rim
Costa Z Rim
Silvio S Campain
Claire U Darakjy
Tony C Flosi
Aditya A Malet
Misaki E Vocelka
Francesco Z Garufi
Greenwood E Stockham
Julie U Gillian
Ivar F Kusko
Morrow T Butt
Johnson D Perin
Clifford O Bolognia
Kadeem S Campain
Wickens H Vocelka
Mujtaba U Kusko
Jennifer U Morasca
Faith M Marrier
Morrow X Malet
Jefferson M Stenseth
Darci V Bowley
IdCountryDate
1000Argentina2024-06-18
1001Spain2024-06-01
1002Australia2024-06-02
1003Japan2024-06-10
1004Australia2024-06-09
1005Russia2024-06-13
1006India2024-05-28
1007Italy2024-05-27
1008Germany2024-06-04
1009Australia2024-06-16
1010Italy2024-05-31
1011United Kingdom2024-06-20
1012Brazil2024-06-10
1013Australia2024-06-18
1014India2024-06-10
1015Japan2024-06-13
1016India2024-06-15
1017Russia2024-06-07
1018Spain2024-06-05
1019Canada2024-06-15
1020Italy2024-06-11
1021Italy2024-06-06
1022India2024-06-07
1023United Kingdom2024-05-30
1024United Kingdom2024-06-13
1025Italy2024-06-19
1026Italy2024-06-01
1027Argentina2024-06-15
1028France2024-05-23
1029Canada2024-06-09
1030France2024-06-09
1031Argentina2024-06-20
1032Canada2024-06-14
1033United Kingdom2024-06-09
1034Italy2024-06-16
1035France2024-05-29
1036Germany2024-06-02
1037France2024-06-02
1038Germany2024-06-01
1039Spain2024-06-21
1040India2024-06-15
1041Italy2024-06-15
1042Argentina2024-06-09
1043Italy2024-05-31
1044Argentina2024-06-13
1045Italy2024-06-09
1046Italy2024-06-09
1047Italy2024-05-24
1048Germany2024-06-13
1049Australia2024-06-18

On-Demand Data

NameIdCountryDate
Rodrigues H Tollner1000Canada2024-06-01
Ricardo C Malet1001Spain2024-06-11
Leja I Wieser1002Argentina2024-05-26
Murillo W Amigon1003Argentina2024-06-08
Leon K Paprocki1004United Kingdom2024-05-26
Rodrigues W Ferencz1005Spain2024-06-01
Costa X Ruta1006Russia2024-06-17
Francesco M Foller1007Russia2024-06-16
Izzy Y Shinko1008Canada2024-06-18
Maria Y Waycott1009Brazil2024-05-27
Alejandro V Chui1010United Kingdom2024-06-03
Jefferson J Stockham1011Spain2024-06-10
Ashley G Nestle1012India2024-06-11
Izzy M Sergi1013Brazil2024-06-04
Adams J Wieser1014France2024-06-15
Misaki U Butt1015Canada2024-06-06
Aruna Y Vocelka1016France2024-06-12
Adams N Morasca1017Italy2024-06-21
Julie G Venere1018Italy2024-06-01
Leja R Morasca1019India2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar D BowleyUnited KingdomIoni Bowcher QUALIFIED
Tony Z MacleadGermanyIvan Magalhaes QUALIFIED
Silvio Q CaudyBrazilAsiya Javayant UNQUALIFIED
Misaki B PerinBrazilIvan Magalhaes PROPOSAL
Alejandro E NickaFranceIvan Magalhaes NEW
Claire S WieserIndiaXuxue Feng QUALIFIED
Costa N InouyeFranceIoni Bowcher QUALIFIED
Emily T MarrierItalyXuxue Feng RENEWAL
Kadeem S SergiAustraliaIoni Bowcher UNQUALIFIED
Leon P MaletUnited KingdomBernardo Dominic UNQUALIFIED
Francesco E WieserUnited KingdomAnna Fali NEGOTIATION
Jones G KuskoItalyAnna Fali UNQUALIFIED
Jefferson E SergiIndiaXuxue Feng UNQUALIFIED
Greenwood P FollerCanadaStephen Shaw RENEWAL
Clifford C GillianFranceIoni Bowcher PROPOSAL
Sinclair I NestleGermanyXuxue Feng PROPOSAL
Nicolas E SlusarskiCanadaOnyama Limba PROPOSAL
Juan A RulapaughSpainIvan Magalhaes RENEWAL
Clifford V ShinkoCanadaXuxue Feng NEGOTIATION
Nicolas F MaletGermanyBernardo Dominic NEW
Antonio Y DarakjyArgentinaStephen Shaw QUALIFIED
Silvio N BowleyRussiaAmy Elsner PROPOSAL
Adams K CaudyGermanyBernardo Dominic PROPOSAL
Greenwood Y AlbaresFranceXuxue Feng UNQUALIFIED
Misaki K SergiGermanyIoni Bowcher RENEWAL
Jones Z OstroskyCanadaOnyama Limba PROPOSAL
Julie X ChuiIndiaStephen Shaw NEW
Misaki O DilliardGermanyAnna Fali QUALIFIED
Antonio B SergiIndiaIoni Bowcher QUALIFIED
Salvatore F CampainItalyIoni Bowcher NEW
Costa X BologniaRussiaIoni Bowcher NEGOTIATION
James P BologniaFranceAnna Fali NEW
Morrow Y BowleyAustraliaIvan Magalhaes UNQUALIFIED
Leja H CaudyItalyIoni Bowcher RENEWAL
David P RoysterJapanOnyama Limba PROPOSAL
Jeanfrancois P AmigonCanadaIvan Magalhaes RENEWAL
Munro S BowleyRussiaAmy Elsner QUALIFIED
Leon T SaylorsSpainElwin Sharvill UNQUALIFIED
Ivar R ButtUnited KingdomAmy Elsner PROPOSAL
Francesco V PaprockiAustraliaOnyama Limba NEW

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