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 X AmigonItalyAsiya Javayant NEW
Sinclair V GlickAustraliaIvan Magalhaes RENEWAL
Maria R SlusarskiAustraliaBernardo Dominic NEW
Faith V NickaAustraliaAmy Elsner RENEWAL
Jennifer A MacleadJapanIvan Magalhaes NEGOTIATION
Jefferson Y VenereUnited KingdomIvan Magalhaes NEGOTIATION
Misaki Q WieserCanadaElwin Sharvill UNQUALIFIED
Isabel I WaycottJapanAmy Elsner NEW
David Z AmigonUnited KingdomIvan Magalhaes QUALIFIED
James P BologniaArgentinaIoni Bowcher RENEWAL
Ricardo L WieserRussiaOnyama Limba NEGOTIATION
Jefferson H CaudyItalyXuxue Feng NEGOTIATION
David M WhobreyRussiaAsiya Javayant NEGOTIATION
James A FerenczAustraliaAmy Elsner NEW
Juan F NickaItalyXuxue Feng PROPOSAL
Jefferson X BowleyItalyStephen Shaw QUALIFIED
David T GarufiCanadaIvan Magalhaes NEW
Isabel X FerenczFranceElwin Sharvill NEGOTIATION
Cody T MaletFranceElwin Sharvill UNQUALIFIED
Aika O PerinGermanyIvan Magalhaes PROPOSAL
Wickens E ChuiItalyIoni Bowcher RENEWAL
Claire S AlbaresArgentinaElwin Sharvill PROPOSAL
Wickens Q FerenczAustraliaAsiya Javayant UNQUALIFIED
Silvio X ShinkoItalyBernardo Dominic NEW
Greenwood L RulapaughAustraliaBernardo Dominic NEGOTIATION
Mujtaba W MorascaArgentinaBernardo Dominic UNQUALIFIED
Arvin B RimIndiaIvan Magalhaes NEGOTIATION
Cody D DarakjyArgentinaStephen Shaw NEW
Chavez E RutaCanadaOnyama Limba QUALIFIED
Leja A KuskoJapanElwin Sharvill UNQUALIFIED
Smith B FlosiUnited KingdomStephen Shaw QUALIFIED
Mayumi H PaprockiRussiaStephen Shaw NEW
Maria X SchemmerUnited KingdomAnna Fali UNQUALIFIED
Jones L KolmetzBrazilAsiya Javayant UNQUALIFIED
Alejandro E DarakjyItalyOnyama Limba NEW
Chavez B AlbaresGermanyXuxue Feng NEGOTIATION
Morrow Z RimSpainStephen Shaw NEW
David Z OldroydItalyIoni Bowcher UNQUALIFIED
Kadeem X NestleBrazilXuxue Feng QUALIFIED
Leon N MarrierItalyStephen Shaw NEGOTIATION
Misaki X KuskoArgentinaOnyama Limba NEGOTIATION
Clifford H ShinkoGermanyBernardo Dominic QUALIFIED
Chavez B FollerAustraliaStephen Shaw QUALIFIED
Clifford S DoeItalyXuxue Feng RENEWAL
Chavez M GillianBrazilIoni Bowcher PROPOSAL
Aika T SchemmerCanadaAmy Elsner PROPOSAL
Misaki D ChuiFranceBernardo Dominic UNQUALIFIED
Sinclair U VocelkaSpainXuxue Feng UNQUALIFIED
Darci A InouyeAustraliaIvan Magalhaes NEW
Arvin H VocelkaCanadaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore Y AlbaresFranceIoni Bowcher NEGOTIATION
Wickens C RimIndiaAnna Fali NEW
Tony O SlusarskiBrazilBernardo Dominic NEW
Silvio T RoysterItalyStephen Shaw QUALIFIED
Jones L SchemmerGermanyAsiya Javayant NEGOTIATION
Morrow O SaylorsRussiaBernardo Dominic NEW
Octavia K MorascaUnited KingdomXuxue Feng RENEWAL
James K MaletGermanyXuxue Feng NEW
Darci X InouyeAustraliaBernardo Dominic RENEWAL
Julie W PaprockiIndiaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford E ShinkoBrazil2024-06-15Rousseaux, Michael Esq UNQUALIFIED67Bernardo Dominic
1001Murillo A RimBrazil2024-05-29Chemel, James L Cpa NEW15Bernardo Dominic
1002Costa U WieserAustralia2024-06-16Truhlar And Truhlar Attys RENEWAL36Anna Fali
1003Jones E WhobreyRussia2024-06-12Feiner Bros NEGOTIATION28Amy Elsner
1004Ricardo Y KolmetzRussia2024-06-21Chanay, Jeffrey A Esq NEGOTIATION28Amy Elsner
1005Rodrigues B SaylorsCanada2024-06-10Rangoni Of Florence QUALIFIED93Bernardo Dominic
1006Mayumi P ButtFrance2024-06-02Benton, John B Jr NEW17Onyama Limba
1007Munro E NickaGermany2024-06-07Rangoni Of Florence QUALIFIED27Onyama Limba
1008Leon G KolmetzItaly2024-06-03Buckley Miller Wright NEGOTIATION18Ioni Bowcher
1009Emily J VenereRussia2024-05-25Benton, John B Jr UNQUALIFIED64Ioni Bowcher
1010Jefferson J MacleadBrazil2024-06-16Buckley Miller Wright UNQUALIFIED40Ioni Bowcher
1011James A RutaUnited Kingdom2024-05-30Printing Dimensions NEGOTIATION48Onyama Limba
1012Costa I NestleGermany2024-05-31Chapman, Ross E Esq UNQUALIFIED45Ivan Magalhaes
1013Jeanfrancois C BowleyBrazil2024-06-05Rangoni Of Florence UNQUALIFIED32Stephen Shaw
1014Aditya L WaycottCanada2024-06-06Rangoni Of Florence PROPOSAL92Onyama Limba
1015Stacey L MarrierFrance2024-06-14Commercial Press PROPOSAL24Bernardo Dominic
1016James U FollerCanada2024-06-14Chapman, Ross E Esq UNQUALIFIED73Ivan Magalhaes
1017James I SaylorsArgentina2024-06-18Feltz Printing Service NEW59Stephen Shaw
1018Alejandro A KolmetzBrazil2024-06-15Chanay, Jeffrey A Esq QUALIFIED83Ivan Magalhaes
1019Aika A PerinAustralia2024-06-17Printing Dimensions NEGOTIATION56Anna Fali
1020Nicolas B DilliardGermany2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED19Asiya Javayant
1021Arvin T DoeItaly2024-05-25Rousseaux, Michael Esq NEW14Bernardo Dominic
1022Tony K ChuiAustralia2024-05-26Commercial Press NEGOTIATION94Xuxue Feng
1023Octavia I FigeroaCanada2024-05-25Feltz Printing Service PROPOSAL53Ioni Bowcher
1024Silvio D OstroskyIndia2024-06-13Rousseaux, Michael Esq UNQUALIFIED63Elwin Sharvill
1025Chavez T FlosiUnited Kingdom2024-06-20Buckley Miller Wright RENEWAL11Bernardo Dominic
1026Isabel H SchemmerJapan2024-05-25Printing Dimensions QUALIFIED39Stephen Shaw
1027Kadeem W GillianJapan2024-06-18Truhlar And Truhlar Attys NEW14Xuxue Feng
1028Sinclair K BriddickCanada2024-05-25Benton, John B Jr QUALIFIED42Ioni Bowcher
1029Julie G FollerUnited Kingdom2024-05-31Feiner Bros UNQUALIFIED39Amy Elsner
1030Johnson K RutaAustralia2024-06-08Dorl, James J Esq NEW25Bernardo Dominic
1031Aika E WhobreyUnited Kingdom2024-06-12Chapman, Ross E Esq RENEWAL98Onyama Limba
1032Kadeem J GlickFrance2024-05-25Rousseaux, Michael Esq RENEWAL36Xuxue Feng
1033Ricardo T AmigonItaly2024-06-08Buckley Miller Wright PROPOSAL95Stephen Shaw
1034Murillo K FlosiFrance2024-05-29Morlong Associates NEGOTIATION89Asiya Javayant
1035Jones V ChuiAustralia2024-06-22Feiner Bros RENEWAL34Stephen Shaw
1036Murillo W SaylorsFrance2024-06-10Chemel, James L Cpa PROPOSAL75Onyama Limba
1037Maria T ButtGermany2024-06-19Chanay, Jeffrey A Esq RENEWAL43Bernardo Dominic
1038Faith F MaletBrazil2024-06-11Chanay, Jeffrey A Esq NEW2Bernardo Dominic
1039Costa D FerenczItaly2024-06-10Printing Dimensions NEW56Anna Fali
1040Aika N SergiCanada2024-06-10Dorl, James J Esq PROPOSAL29Anna Fali
1041Jones C VenereIndia2024-06-02Truhlar And Truhlar Attys RENEWAL5Asiya Javayant
1042Ricardo Y SchemmerCanada2024-06-11Morlong Associates UNQUALIFIED59Onyama Limba
1043Silvio I StensethGermany2024-06-10Morlong Associates RENEWAL81Stephen Shaw
1044Chavez R FlosiGermany2024-06-21Benton, John B Jr QUALIFIED46Amy Elsner
1045Aika H MacleadIndia2024-06-19Rousseaux, Michael Esq QUALIFIED46Ivan Magalhaes
1046Greenwood U SchemmerGermany2024-06-21Truhlar And Truhlar Attys PROPOSAL20Xuxue Feng
1047Isabel A CaldareraAustralia2024-06-07Feltz Printing Service UNQUALIFIED18Bernardo Dominic
1048Jones V BowleyArgentina2024-06-03Buckley Miller Wright UNQUALIFIED13Elwin Sharvill
1049Silvio W GlickUnited Kingdom2024-06-04Buckley Miller Wright NEW9Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Salvatore W RulapaughUnited KingdomIvan Magalhaes NEW
Leja L KolmetzAustraliaStephen Shaw NEW
Adams U ShinkoCanadaAsiya Javayant PROPOSAL
Alejandro C ButtIndiaOnyama Limba RENEWAL
Juan L RoysterBrazilAmy Elsner UNQUALIFIED
Sinclair B BologniaItalyAmy Elsner NEGOTIATION
Wickens T NestleIndiaIvan Magalhaes NEGOTIATION
Leon F SaylorsFranceAsiya Javayant NEW
Jennifer N PaprockiGermanyIoni Bowcher NEGOTIATION
Mayumi L VocelkaFranceElwin Sharvill NEW
Misaki S BriddickSpainBernardo Dominic NEW
Sinclair E FigeroaAustraliaElwin Sharvill RENEWAL
Jennifer M GillianIndiaOnyama Limba UNQUALIFIED
Antonio U GarufiSpainOnyama Limba PROPOSAL
Isabel Y VenereJapanIvan Magalhaes NEW
Julie Z VenereSpainIvan Magalhaes NEW
Faith J SergiBrazilXuxue Feng PROPOSAL
Rodrigues Y CaldareraAustraliaOnyama Limba QUALIFIED
Izzy S AmigonItalyIvan Magalhaes QUALIFIED
Aditya R RoysterJapanAmy Elsner PROPOSAL
Antonio N GlickRussiaIvan Magalhaes NEGOTIATION
Greenwood O CaudyUnited KingdomIvan Magalhaes QUALIFIED
Francesco Q ShinkoCanadaAnna Fali NEGOTIATION
Rodrigues I KolmetzRussiaXuxue Feng QUALIFIED
Emily Q CaldareraIndiaOnyama Limba QUALIFIED
Smith L GlickIndiaStephen Shaw UNQUALIFIED
Nicolas R OldroydItalyIvan Magalhaes NEW
Kadeem S CaudySpainStephen Shaw UNQUALIFIED
Faith D FollerCanadaXuxue Feng NEW
Deepesh J FerenczRussiaAsiya Javayant NEW
Aika Z FlosiJapanIoni Bowcher NEGOTIATION
Octavia G CaldareraBrazilStephen Shaw UNQUALIFIED
Wickens P KuskoRussiaBernardo Dominic NEW
James G BowleyJapanAsiya Javayant NEGOTIATION
Mayumi L FerenczUnited KingdomAnna Fali NEGOTIATION
Aruna Q CampainUnited KingdomOnyama Limba NEW
Morrow R FerenczUnited KingdomOnyama Limba PROPOSAL
Alejandro F BowleyIndiaIvan Magalhaes NEGOTIATION
Jones X PaprockiItalyAmy Elsner NEW
Cody S FlosiJapanAnna Fali RENEWAL
Ivar U ChuiItalyBernardo Dominic NEGOTIATION
Sinclair T TollnerFranceElwin Sharvill NEW
Juan A WhobreyRussiaAmy Elsner QUALIFIED
Mayumi L SlusarskiBrazilXuxue Feng UNQUALIFIED
Leja E FollerAustraliaStephen Shaw UNQUALIFIED
Costa K DilliardUnited KingdomStephen Shaw QUALIFIED
Ashley B MaletUnited KingdomAmy Elsner NEGOTIATION
James A NestleFranceAnna Fali NEW
Cody H WhobreyJapanElwin Sharvill UNQUALIFIED
Nicolas M WhobreyFranceXuxue Feng UNQUALIFIED
Frozen Columns
Name
Leon W Briddick
Antonio B Iturbide
Ashley C Bowley
Aruna I Royster
Jones F Schemmer
Ashley L Caudy
Stacey K Gillian
Nicolas S Perin
Julie X Slusarski
Leja S Oldroyd
Murillo O Flosi
James A Doe
Izzy T Poquette
Rodrigues Q Campain
Munro W Kolmetz
Aruna W Nestle
Sinclair Y Stenseth
Aruna U Doe
Ashley V Tollner
Ivar A Royster
Isabel M Paprocki
Munro T Butt
Jeanfrancois B Poquette
Mayumi Q Kusko
Aditya H Inouye
Murillo T Doe
Jefferson S Glick
Murillo U Morasca
Adams N Poquette
James F Morasca
Aika D Marrier
Ivar O Albares
Izzy M Venere
Aditya H Dilliard
Rodrigues J Butt
Clifford I Caldarera
Kaitlin I Bowley
Julie O Gillian
Mujtaba S Ostrosky
Salvatore Z Saylors
Aika I Darakjy
Tony L Sergi
Jefferson L Paprocki
David H Kolmetz
Maria J Venere
Isabel B Flosi
Faith P Garufi
Jeanfrancois M Morasca
Tony K Malet
Darci Y Royster
IdCountryDate
1000United Kingdom2024-06-22
1001Australia2024-06-03
1002Japan2024-06-19
1003Brazil2024-06-07
1004India2024-05-26
1005Australia2024-05-30
1006Italy2024-06-10
1007United Kingdom2024-06-21
1008Japan2024-06-08
1009Italy2024-05-26
1010Spain2024-06-21
1011Spain2024-06-20
1012Canada2024-06-19
1013India2024-06-19
1014Germany2024-05-27
1015Canada2024-06-11
1016Argentina2024-05-27
1017Spain2024-06-10
1018Brazil2024-05-25
1019Canada2024-06-11
1020Brazil2024-06-19
1021Germany2024-05-31
1022France2024-06-19
1023India2024-06-14
1024United Kingdom2024-05-25
1025Canada2024-06-14
1026Canada2024-06-05
1027Germany2024-06-20
1028Russia2024-06-18
1029India2024-06-16
1030Brazil2024-06-15
1031France2024-06-03
1032Russia2024-06-01
1033Japan2024-06-02
1034India2024-06-03
1035India2024-06-20
1036Italy2024-06-16
1037Argentina2024-06-12
1038Australia2024-06-11
1039Canada2024-06-07
1040Japan2024-05-27
1041Russia2024-06-19
1042France2024-05-25
1043France2024-06-13
1044Russia2024-06-20
1045Italy2024-06-21
1046United Kingdom2024-06-21
1047Russia2024-06-14
1048Japan2024-06-01
1049India2024-06-15

On-Demand Data

NameIdCountryDate
Jefferson H Nicka1000Brazil2024-05-29
Antonio I Tollner1001Brazil2024-06-19
Ashley L Flosi1002Australia2024-06-03
Emily O Maclead1003France2024-05-24
Kadeem C Gillian1004Australia2024-06-19
Murillo G Caudy1005Australia2024-06-20
Deepesh M Poquette1006United Kingdom2024-06-07
Aruna L Campain1007Japan2024-06-06
Sinclair W Stockham1008United Kingdom2024-06-01
Adams K Wieser1009Canada2024-06-18
Misaki B Waycott1010United Kingdom2024-06-12
Leja D Kolmetz1011Argentina2024-05-30
Mayumi K Whobrey1012Spain2024-06-05
Tony N Amigon1013United Kingdom2024-06-03
Smith U Whobrey1014Japan2024-06-16
Kaitlin L Malet1015Argentina2024-06-02
Jefferson V Figeroa1016Russia2024-06-19
Aika U Slusarski1017Australia2024-06-09
Silvio S Briddick1018Germany2024-06-07
Wickens C Stenseth1019Canada2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams V MaletFranceAsiya Javayant UNQUALIFIED
Kaitlin A CaldareraJapanAnna Fali RENEWAL
Chavez J BowleyIndiaBernardo Dominic NEW
Francesco S GarufiGermanyAnna Fali UNQUALIFIED
Rodrigues Y ShinkoCanadaIoni Bowcher UNQUALIFIED
Izzy W BowleyFranceBernardo Dominic RENEWAL
Octavia A StensethGermanyIvan Magalhaes PROPOSAL
Antonio W NestleSpainElwin Sharvill QUALIFIED
Claire R ButtBrazilElwin Sharvill NEGOTIATION
Ivar A MaletUnited KingdomAsiya Javayant RENEWAL
Jennifer N WieserGermanyXuxue Feng RENEWAL
Tony H RimArgentinaXuxue Feng RENEWAL
Maria Q SergiJapanBernardo Dominic UNQUALIFIED
Ivar C OstroskyJapanAsiya Javayant NEW
Clifford E MarrierItalyOnyama Limba NEW
Mujtaba W OstroskyArgentinaAmy Elsner QUALIFIED
Mayumi Q WaycottSpainElwin Sharvill NEGOTIATION
Chavez D BologniaUnited KingdomStephen Shaw NEW
Ashley C GarufiCanadaAmy Elsner RENEWAL
Mayumi E SergiUnited KingdomAmy Elsner RENEWAL
Nicolas Y VocelkaAustraliaIvan Magalhaes NEGOTIATION
Isabel P StensethJapanXuxue Feng QUALIFIED
Murillo H MaletRussiaAnna Fali NEGOTIATION
Leja H AmigonIndiaAnna Fali UNQUALIFIED
Kaitlin P StensethJapanIoni Bowcher QUALIFIED
Jefferson G InouyeBrazilIoni Bowcher NEGOTIATION
Arvin W IturbideItalyAnna Fali UNQUALIFIED
Faith S BowleyIndiaIoni Bowcher QUALIFIED
Smith X ButtAustraliaAsiya Javayant PROPOSAL
Ashley S SaylorsJapanElwin Sharvill NEW
Sinclair O VocelkaCanadaIoni Bowcher NEW
Cody V DilliardItalyXuxue Feng NEGOTIATION
Alejandro T GlickGermanyIoni Bowcher NEW
Silvio L GarufiGermanyIvan Magalhaes NEGOTIATION
Arvin W MarrierJapanElwin Sharvill NEGOTIATION
Kaitlin F InouyeUnited KingdomAnna Fali UNQUALIFIED
Maisha V PaprockiFranceIvan Magalhaes PROPOSAL
Emily W FlosiCanadaIoni Bowcher NEW
Morrow T ButtArgentinaOnyama Limba NEW
James I ChuiUnited KingdomIoni Bowcher 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>