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
Adams M FlosiCanadaAsiya Javayant NEW
Nicolas B ButtArgentinaOnyama Limba NEW
Julie Q FigeroaGermanyBernardo Dominic PROPOSAL
Misaki N CaldareraArgentinaElwin Sharvill NEW
Jefferson W MaletAustraliaAmy Elsner PROPOSAL
Faith S DilliardSpainIoni Bowcher UNQUALIFIED
Adams K SlusarskiAustraliaIoni Bowcher NEW
Salvatore T MaletJapanAnna Fali QUALIFIED
Julie W RoysterCanadaIoni Bowcher PROPOSAL
Izzy V GauchoIndiaAsiya Javayant NEW
Francesco E FerenczGermanyStephen Shaw PROPOSAL
Chavez P MacleadJapanOnyama Limba NEGOTIATION
Kaitlin T SergiFranceElwin Sharvill QUALIFIED
Sinclair P SergiGermanyIvan Magalhaes NEGOTIATION
Rodrigues U ButtRussiaElwin Sharvill PROPOSAL
Aika M MorascaFranceIvan Magalhaes QUALIFIED
Emily A StensethItalyElwin Sharvill NEGOTIATION
Ricardo I OldroydArgentinaIoni Bowcher PROPOSAL
Adams Z CaldareraSpainAsiya Javayant PROPOSAL
Maisha Z IturbideFranceOnyama Limba PROPOSAL
Kadeem Y RoysterFranceAsiya Javayant NEGOTIATION
Juan Y RutaFranceOnyama Limba PROPOSAL
Leon S FollerRussiaIvan Magalhaes PROPOSAL
Adams U MaletIndiaAmy Elsner RENEWAL
Tony W SergiBrazilAsiya Javayant NEGOTIATION
Ivar V OstroskyRussiaAsiya Javayant NEW
Deepesh Z GauchoItalyOnyama Limba NEW
Jefferson O MarrierFranceIoni Bowcher UNQUALIFIED
Greenwood I FigeroaGermanyIoni Bowcher QUALIFIED
Smith I WaycottItalyIoni Bowcher RENEWAL
Costa U WieserAustraliaAmy Elsner PROPOSAL
Kaitlin D WieserCanadaElwin Sharvill UNQUALIFIED
Alejandro O WieserItalyBernardo Dominic UNQUALIFIED
Ivar R WieserBrazilAmy Elsner PROPOSAL
James U PaprockiJapanOnyama Limba NEGOTIATION
Aditya U MacleadArgentinaIoni Bowcher QUALIFIED
Munro V AlbaresCanadaIoni Bowcher RENEWAL
Aditya Q RulapaughArgentinaIoni Bowcher NEGOTIATION
Faith G IturbideJapanOnyama Limba NEGOTIATION
James R TollnerSpainElwin Sharvill QUALIFIED
Kadeem M AlbaresAustraliaXuxue Feng UNQUALIFIED
Emily F VenereFranceElwin Sharvill RENEWAL
Aditya Z KuskoJapanBernardo Dominic NEGOTIATION
Francesco H ShinkoCanadaXuxue Feng NEGOTIATION
Tony J DilliardAustraliaElwin Sharvill PROPOSAL
Aika O ShinkoRussiaAmy Elsner PROPOSAL
Aruna X BowleyAustraliaOnyama Limba QUALIFIED
Nicolas M SaylorsItalyOnyama Limba RENEWAL
Faith M PoquetteSpainIvan Magalhaes NEW
Smith A DarakjyGermanyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones F VocelkaFranceAnna Fali UNQUALIFIED
Jennifer L RulapaughIndiaAnna Fali PROPOSAL
Murillo R NickaCanadaAsiya Javayant NEGOTIATION
Deepesh H KolmetzItalyAsiya Javayant UNQUALIFIED
Munro L PoquetteFranceAnna Fali RENEWAL
Ivar M RimAustraliaAmy Elsner NEW
Ashley Y RoysterGermanyStephen Shaw NEW
Juan Z PerinItalyAmy Elsner NEW
Alejandro G KuskoGermanyAsiya Javayant RENEWAL
Aika R SaylorsArgentinaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley J AlbaresRussia2024-06-03Commercial Press NEGOTIATION63Ioni Bowcher
1001Morrow C AlbaresFrance2024-05-25Morlong Associates NEW34Anna Fali
1002Jeanfrancois R MarrierAustralia2024-06-06Dorl, James J Esq RENEWAL26Asiya Javayant
1003Alejandro F FerenczFrance2024-05-24Feltz Printing Service QUALIFIED49Amy Elsner
1004Kadeem G MaletJapan2024-06-12King, Christopher A Esq RENEWAL53Stephen Shaw
1005Aika E WhobreyRussia2024-06-04Truhlar And Truhlar Attys NEW44Bernardo Dominic
1006Faith O NestleItaly2024-06-07Morlong Associates RENEWAL87Stephen Shaw
1007Aika U WieserAustralia2024-06-21Chemel, James L Cpa UNQUALIFIED19Amy Elsner
1008Adams J StensethJapan2024-05-26Commercial Press UNQUALIFIED81Ioni Bowcher
1009Clifford N MacleadIndia2024-06-03Chanay, Jeffrey A Esq RENEWAL11Asiya Javayant
1010Kaitlin M FigeroaUnited Kingdom2024-05-24Dorl, James J Esq QUALIFIED92Stephen Shaw
1011Mayumi R IturbideUnited Kingdom2024-06-05Buckley Miller Wright RENEWAL7Amy Elsner
1012Jeanfrancois T OldroydArgentina2024-06-20Dorl, James J Esq NEGOTIATION66Elwin Sharvill
1013Cody D VocelkaUnited Kingdom2024-06-11Feltz Printing Service PROPOSAL33Xuxue Feng
1014Nicolas P VenereUnited Kingdom2024-06-11Morlong Associates PROPOSAL90Ivan Magalhaes
1015Maria D ShinkoIndia2024-05-25Printing Dimensions QUALIFIED87Elwin Sharvill
1016Ricardo B StockhamRussia2024-05-26Truhlar And Truhlar Attys PROPOSAL5Xuxue Feng
1017Alejandro C PoquetteJapan2024-05-30Printing Dimensions NEGOTIATION93Asiya Javayant
1018Silvio E ButtCanada2024-06-21Truhlar And Truhlar Attys QUALIFIED53Asiya Javayant
1019Mujtaba H PerinUnited Kingdom2024-06-05Commercial Press RENEWAL90Ioni Bowcher
1020Nicolas O MarrierFrance2024-06-04Commercial Press NEGOTIATION29Anna Fali
1021Ivar U BowleyFrance2024-06-18Rousseaux, Michael Esq RENEWAL86Anna Fali
1022Adams K DoeBrazil2024-05-25Buckley Miller Wright QUALIFIED67Xuxue Feng
1023Ivar C VocelkaIndia2024-05-28Chemel, James L Cpa RENEWAL45Elwin Sharvill
1024Mujtaba A OstroskyAustralia2024-06-16King, Christopher A Esq NEW19Stephen Shaw
1025Emily C CaudyGermany2024-06-04Buckley Miller Wright PROPOSAL45Onyama Limba
1026Cody E BologniaUnited Kingdom2024-05-31Rousseaux, Michael Esq NEW82Xuxue Feng
1027Mayumi A OldroydFrance2024-06-03Chapman, Ross E Esq NEGOTIATION64Ioni Bowcher
1028Stacey Y PerinRussia2024-06-12Rousseaux, Michael Esq NEGOTIATION20Elwin Sharvill
1029Mayumi I WhobreyRussia2024-06-06Feltz Printing Service NEW38Stephen Shaw
1030David Q OstroskyGermany2024-06-15Commercial Press QUALIFIED28Amy Elsner
1031Smith Q StensethCanada2024-06-16Morlong Associates NEW17Amy Elsner
1032Aika V RulapaughUnited Kingdom2024-06-07Buckley Miller Wright RENEWAL87Anna Fali
1033Morrow W GarufiRussia2024-06-21Morlong Associates RENEWAL10Amy Elsner
1034Kadeem I VocelkaGermany2024-06-21Commercial Press NEW32Stephen Shaw
1035James P CaldareraGermany2024-06-18Morlong Associates NEW27Elwin Sharvill
1036Sinclair A MorascaIndia2024-06-12Dorl, James J Esq UNQUALIFIED74Ioni Bowcher
1037Izzy F StockhamFrance2024-06-16Printing Dimensions NEW45Anna Fali
1038Munro E FlosiBrazil2024-06-10Morlong Associates RENEWAL74Onyama Limba
1039Johnson K AlbaresRussia2024-06-12Benton, John B Jr NEW48Asiya Javayant
1040Aika E RoysterUnited Kingdom2024-06-02Dorl, James J Esq UNQUALIFIED48Amy Elsner
1041Wickens Y AlbaresItaly2024-05-29Chanay, Jeffrey A Esq NEW53Anna Fali
1042Sinclair K GlickJapan2024-06-21Dorl, James J Esq UNQUALIFIED50Xuxue Feng
1043Adams C WhobreyCanada2024-06-19Chemel, James L Cpa PROPOSAL75Anna Fali
1044Ivar X OldroydJapan2024-06-19King, Christopher A Esq RENEWAL94Asiya Javayant
1045Juan P RoysterBrazil2024-06-19Morlong Associates UNQUALIFIED51Stephen Shaw
1046David R ChuiFrance2024-06-13Chapman, Ross E Esq NEW29Onyama Limba
1047Misaki U InouyeAustralia2024-06-09Benton, John B Jr NEGOTIATION40Asiya Javayant
1048Smith M BriddickArgentina2024-06-18Chemel, James L Cpa UNQUALIFIED31Onyama Limba
1049Wickens P WaycottFrance2024-06-19Rousseaux, Michael Esq QUALIFIED33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kadeem C GauchoJapanElwin Sharvill RENEWAL
Mujtaba W InouyeAustraliaAnna Fali UNQUALIFIED
Darci B FollerItalyBernardo Dominic PROPOSAL
Isabel Y GillianGermanyOnyama Limba NEGOTIATION
Munro P AmigonUnited KingdomAmy Elsner RENEWAL
Leon P BowleyFranceAsiya Javayant NEGOTIATION
Jefferson J KolmetzItalyStephen Shaw RENEWAL
David S RulapaughIndiaIoni Bowcher RENEWAL
Octavia X GlickAustraliaAmy Elsner NEGOTIATION
Chavez G RulapaughItalyAnna Fali PROPOSAL
Isabel Z VenereItalyStephen Shaw NEGOTIATION
Faith Z CaudySpainIvan Magalhaes UNQUALIFIED
Kaitlin C VocelkaRussiaAnna Fali RENEWAL
Chavez K AmigonIndiaOnyama Limba NEW
Rodrigues U OstroskySpainElwin Sharvill NEGOTIATION
Octavia S WaycottRussiaAmy Elsner UNQUALIFIED
Mujtaba T CaudyRussiaAnna Fali UNQUALIFIED
Aruna V StensethFranceStephen Shaw QUALIFIED
Kadeem Z KuskoCanadaOnyama Limba QUALIFIED
Leon X GlickCanadaAsiya Javayant NEW
Izzy T CaldareraBrazilBernardo Dominic UNQUALIFIED
Emily Y GarufiJapanIoni Bowcher RENEWAL
Jeanfrancois X VocelkaSpainAmy Elsner NEGOTIATION
Costa Q NickaAustraliaBernardo Dominic NEW
Rodrigues J MacleadBrazilBernardo Dominic RENEWAL
Leja P OldroydUnited KingdomIvan Magalhaes RENEWAL
Cody H MaletSpainAnna Fali RENEWAL
Misaki Z StockhamIndiaBernardo Dominic QUALIFIED
Nicolas E SchemmerGermanyAnna Fali NEW
James Y SaylorsCanadaAmy Elsner QUALIFIED
Jefferson C ButtArgentinaAsiya Javayant NEGOTIATION
Arvin H FlosiCanadaXuxue Feng PROPOSAL
Francesco S OldroydSpainAsiya Javayant RENEWAL
Arvin Y VocelkaFranceIoni Bowcher UNQUALIFIED
Francesco Y CampainRussiaIvan Magalhaes NEW
Jones B SergiUnited KingdomAnna Fali NEW
Adams A SaylorsJapanAsiya Javayant RENEWAL
Morrow N TollnerArgentinaBernardo Dominic UNQUALIFIED
Antonio P DoeGermanyStephen Shaw NEW
James M BriddickSpainStephen Shaw UNQUALIFIED
Tony F RoysterUnited KingdomAsiya Javayant NEW
Antonio I AlbaresAustraliaOnyama Limba PROPOSAL
Claire G GauchoItalyElwin Sharvill NEW
Ivar J RutaUnited KingdomElwin Sharvill RENEWAL
James Z MacleadUnited KingdomStephen Shaw UNQUALIFIED
Cody S KuskoAustraliaBernardo Dominic QUALIFIED
Aruna L DilliardJapanIvan Magalhaes NEGOTIATION
Adams E WhobreyAustraliaElwin Sharvill QUALIFIED
Aditya B CaudyRussiaIvan Magalhaes NEGOTIATION
Greenwood C NickaSpainOnyama Limba QUALIFIED
Frozen Columns
Name
Silvio P Venere
Rodrigues B Shinko
Munro H Waycott
Stacey L Vocelka
Emily M Caudy
Mujtaba X Flosi
Aika A Venere
Misaki C Doe
Ashley P Whobrey
Faith X Caldarera
Juan W Malet
Morrow Y Schemmer
Faith Z Gillian
Ashley K Marrier
Mayumi A Schemmer
Stacey I Schemmer
Maria Z Ostrosky
Faith I Waycott
Mujtaba X Wieser
Francesco E Campain
Emily I Stenseth
Costa L Rulapaugh
Cody U Doe
Arvin A Dilliard
Maisha G Caldarera
Cody V Iturbide
Claire S Stockham
Tony D Ruta
Izzy W Paprocki
Sinclair B Bowley
Alejandro P Whobrey
Juan B Stockham
Greenwood V Schemmer
Mujtaba Y Figeroa
Maisha F Stockham
Silvio W Campain
Jeanfrancois O Marrier
Julie Y Darakjy
Maria F Venere
Costa M Kusko
Misaki Z Caldarera
Adams U Gaucho
Adams K Glick
Mujtaba X Ruta
Kadeem W Kolmetz
Chavez L Oldroyd
Jennifer P Stenseth
Faith F Garufi
Greenwood Q Saylors
Tony K Nicka
IdCountryDate
1000Spain2024-06-09
1001Germany2024-06-19
1002India2024-06-03
1003Argentina2024-06-15
1004Canada2024-06-08
1005Argentina2024-06-16
1006United Kingdom2024-06-19
1007Italy2024-06-10
1008Japan2024-05-27
1009Argentina2024-06-07
1010Australia2024-05-26
1011United Kingdom2024-06-18
1012India2024-05-24
1013Germany2024-06-14
1014Canada2024-06-10
1015Russia2024-06-10
1016Russia2024-06-12
1017Spain2024-05-25
1018Germany2024-06-21
1019Spain2024-06-11
1020Japan2024-05-29
1021Spain2024-06-09
1022Japan2024-06-16
1023France2024-06-06
1024Argentina2024-06-21
1025France2024-05-27
1026Italy2024-06-11
1027Australia2024-05-28
1028Italy2024-06-15
1029Italy2024-06-14
1030Australia2024-05-28
1031Australia2024-06-14
1032Spain2024-06-11
1033Spain2024-06-21
1034India2024-06-03
1035France2024-06-16
1036Canada2024-05-31
1037India2024-06-09
1038Brazil2024-05-27
1039Italy2024-06-14
1040Germany2024-06-14
1041Japan2024-06-06
1042France2024-05-27
1043Italy2024-06-16
1044France2024-06-20
1045Canada2024-05-26
1046Italy2024-06-20
1047Germany2024-06-16
1048United Kingdom2024-06-10
1049France2024-06-08

On-Demand Data

NameIdCountryDate
Aika J Caudy1000Spain2024-06-15
Johnson C Ferencz1001Italy2024-05-31
Jefferson E Wieser1002Australia2024-05-27
Izzy S Iturbide1003Germany2024-05-23
Ivar E Flosi1004Spain2024-06-05
Emily K Sergi1005Canada2024-06-16
Wickens P Bowley1006France2024-06-14
Sinclair K Stenseth1007Spain2024-06-20
Octavia S Figeroa1008Italy2024-06-04
Murillo T Nicka1009Australia2024-06-17
Mayumi N Kusko1010United Kingdom2024-06-21
Maria S Kusko1011Russia2024-06-06
Aruna G Darakjy1012Brazil2024-06-02
Johnson G Flosi1013Italy2024-05-23
Maria P Whobrey1014Brazil2024-05-24
Sinclair Z Rim1015Argentina2024-06-21
Ivar H Malet1016India2024-06-14
Leon H Stockham1017Canada2024-05-29
James Y Bolognia1018Canada2024-06-03
Izzy X Stenseth1019Canada2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez W RutaUnited KingdomIoni Bowcher PROPOSAL
Jefferson V RutaSpainBernardo Dominic PROPOSAL
Francesco V RimItalyXuxue Feng PROPOSAL
David Q TollnerIndiaOnyama Limba NEGOTIATION
Murillo Q SaylorsJapanBernardo Dominic PROPOSAL
David W SaylorsUnited KingdomAnna Fali RENEWAL
Leon G OstroskyItalyIoni Bowcher PROPOSAL
Antonio O StensethIndiaIvan Magalhaes NEW
Leon Y ChuiIndiaBernardo Dominic NEGOTIATION
Morrow E MaletArgentinaAsiya Javayant PROPOSAL
Morrow J SergiItalyOnyama Limba PROPOSAL
Ivar Q PerinItalyIoni Bowcher QUALIFIED
Chavez J CampainArgentinaElwin Sharvill QUALIFIED
Cody L BowleyItalyAmy Elsner PROPOSAL
Arvin R FollerGermanyBernardo Dominic NEW
Kaitlin U NestleBrazilAmy Elsner NEGOTIATION
Sinclair K RutaSpainIvan Magalhaes UNQUALIFIED
Munro R BriddickBrazilAsiya Javayant UNQUALIFIED
Jennifer R DoeItalyXuxue Feng RENEWAL
Kaitlin N ButtIndiaOnyama Limba NEW
Silvio W RulapaughFranceAsiya Javayant RENEWAL
Murillo A RulapaughRussiaIoni Bowcher NEW
Juan A WaycottArgentinaBernardo Dominic PROPOSAL
Antonio L GlickIndiaElwin Sharvill PROPOSAL
Johnson H GillianJapanBernardo Dominic PROPOSAL
Jones N PerinAustraliaAnna Fali RENEWAL
James S CampainItalyStephen Shaw UNQUALIFIED
Antonio M DarakjyItalyAmy Elsner NEGOTIATION
Francesco O MarrierBrazilXuxue Feng PROPOSAL
Leja G CampainAustraliaIoni Bowcher PROPOSAL
Leja S PerinUnited KingdomIvan Magalhaes NEW
Juan R OstroskyJapanXuxue Feng NEW
Nicolas X FigeroaCanadaIoni Bowcher PROPOSAL
Francesco X PaprockiBrazilStephen Shaw NEW
Izzy C WieserAustraliaXuxue Feng RENEWAL
Tony Q MorascaAustraliaIvan Magalhaes QUALIFIED
Sinclair Y FigeroaAustraliaIoni Bowcher QUALIFIED
Faith G SergiArgentinaAsiya Javayant NEGOTIATION
Emily A StockhamJapanAsiya Javayant RENEWAL
Ivar C SlusarskiCanadaIvan Magalhaes RENEWAL

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