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
Morrow S RimGermanyAnna Fali QUALIFIED
Arvin J OldroydUnited KingdomStephen Shaw NEGOTIATION
Francesco P FlosiGermanyBernardo Dominic RENEWAL
Aruna C MorascaGermanyAsiya Javayant PROPOSAL
Isabel Y GarufiAustraliaXuxue Feng QUALIFIED
Costa C StensethBrazilXuxue Feng QUALIFIED
Mayumi M DoeRussiaAnna Fali QUALIFIED
Octavia J WaycottUnited KingdomIvan Magalhaes PROPOSAL
James I SlusarskiJapanAmy Elsner NEW
Stacey T StockhamCanadaBernardo Dominic NEW
Leja M TollnerItalyIoni Bowcher NEGOTIATION
Emily D AlbaresGermanyAnna Fali UNQUALIFIED
Maisha I AlbaresBrazilOnyama Limba RENEWAL
Darci P FerenczGermanyAnna Fali NEW
Emily Y MacleadSpainIoni Bowcher QUALIFIED
Antonio C BowleyItalyElwin Sharvill NEGOTIATION
Greenwood N FerenczAustraliaBernardo Dominic UNQUALIFIED
Juan B DilliardGermanyIvan Magalhaes UNQUALIFIED
Darci P FerenczItalyAnna Fali RENEWAL
Morrow C SaylorsSpainIvan Magalhaes NEW
Octavia C MaletUnited KingdomAmy Elsner NEGOTIATION
Wickens I MacleadItalyIoni Bowcher PROPOSAL
Chavez X PaprockiBrazilElwin Sharvill NEW
Mujtaba P OldroydSpainIoni Bowcher PROPOSAL
Claire X WaycottFranceOnyama Limba RENEWAL
Alejandro X RimUnited KingdomIvan Magalhaes RENEWAL
Maria C MorascaUnited KingdomBernardo Dominic UNQUALIFIED
Clifford F MorascaItalyIoni Bowcher UNQUALIFIED
Jennifer T PerinArgentinaStephen Shaw PROPOSAL
Emily A TollnerGermanyStephen Shaw NEW
Juan C OstroskyCanadaElwin Sharvill PROPOSAL
Julie S CaldareraIndiaAnna Fali NEGOTIATION
Jefferson P FigeroaRussiaElwin Sharvill NEGOTIATION
Arvin M MarrierJapanElwin Sharvill NEW
Silvio F OldroydArgentinaIoni Bowcher PROPOSAL
Ashley E StensethSpainIoni Bowcher UNQUALIFIED
Alejandro V MarrierCanadaAmy Elsner PROPOSAL
Aditya C PerinAustraliaBernardo Dominic RENEWAL
Morrow J TollnerJapanOnyama Limba NEGOTIATION
Leon Y GillianJapanAnna Fali NEW
Silvio J WhobreyArgentinaOnyama Limba NEGOTIATION
Rodrigues Y WieserIndiaOnyama Limba PROPOSAL
Isabel I RoysterIndiaOnyama Limba UNQUALIFIED
Arvin L PerinFranceXuxue Feng NEW
Mujtaba H MaletGermanyAnna Fali RENEWAL
Costa K FerenczArgentinaAnna Fali NEGOTIATION
Clifford R FerenczBrazilStephen Shaw RENEWAL
Johnson O RoysterCanadaXuxue Feng PROPOSAL
Rodrigues Q NestleFranceIvan Magalhaes PROPOSAL
Deepesh N WieserUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Darci N SaylorsJapanIvan Magalhaes NEW
Arvin D TollnerCanadaIoni Bowcher NEW
Clifford R MacleadSpainIoni Bowcher QUALIFIED
Costa R FollerCanadaElwin Sharvill PROPOSAL
Sinclair C GlickGermanyAmy Elsner PROPOSAL
Munro K PoquetteFranceAsiya Javayant NEW
Salvatore O DoeRussiaAmy Elsner QUALIFIED
Silvio V SaylorsBrazilAmy Elsner UNQUALIFIED
Isabel B FerenczArgentinaXuxue Feng PROPOSAL
Jeanfrancois D FlosiJapanStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria J NestleAustralia2024-05-23Chemel, James L Cpa QUALIFIED24Amy Elsner
1001Arvin M WieserAustralia2024-05-24Chanay, Jeffrey A Esq PROPOSAL60Onyama Limba
1002Maria F DoeSpain2024-05-18Feltz Printing Service NEW18Amy Elsner
1003Antonio Q DoeBrazil2024-05-20Benton, John B Jr NEW88Ioni Bowcher
1004Claire O GlickSpain2024-05-08Feltz Printing Service NEW66Elwin Sharvill
1005Leja L MacleadJapan2024-05-13King, Christopher A Esq PROPOSAL76Stephen Shaw
1006Johnson A AlbaresIndia2024-05-03Chapman, Ross E Esq RENEWAL49Onyama Limba
1007Darci U DilliardGermany2024-05-10Commercial Press UNQUALIFIED95Bernardo Dominic
1008Cody Q PaprockiIndia2024-05-19Morlong Associates UNQUALIFIED65Bernardo Dominic
1009Izzy B CampainArgentina2024-05-13Chemel, James L Cpa NEGOTIATION28Xuxue Feng
1010Leja Z TollnerFrance2024-05-04Chemel, James L Cpa UNQUALIFIED85Onyama Limba
1011Jeanfrancois N MaletArgentina2024-05-23Chanay, Jeffrey A Esq NEGOTIATION3Ivan Magalhaes
1012Greenwood R KuskoJapan2024-05-22Chanay, Jeffrey A Esq NEW6Anna Fali
1013Aruna L BologniaGermany2024-05-10Printing Dimensions NEW49Elwin Sharvill
1014Jones F RoysterCanada2024-05-06King, Christopher A Esq NEW76Onyama Limba
1015Alejandro B CampainBrazil2024-05-09Chapman, Ross E Esq PROPOSAL36Bernardo Dominic
1016Nicolas E MarrierRussia2024-04-29Rousseaux, Michael Esq RENEWAL22Onyama Limba
1017Jeanfrancois Q FlosiGermany2024-05-15Rousseaux, Michael Esq PROPOSAL54Ioni Bowcher
1018Aditya K FollerBrazil2024-05-04Chanay, Jeffrey A Esq PROPOSAL57Onyama Limba
1019Aditya J AmigonSpain2024-05-14Buckley Miller Wright PROPOSAL87Elwin Sharvill
1020Julie E KolmetzCanada2024-05-12Feltz Printing Service UNQUALIFIED61Stephen Shaw
1021Antonio F MorascaItaly2024-05-01Feiner Bros PROPOSAL88Stephen Shaw
1022Silvio H FigeroaBrazil2024-05-22Chemel, James L Cpa UNQUALIFIED69Ioni Bowcher
1023Arvin I PerinFrance2024-05-06Chemel, James L Cpa UNQUALIFIED25Xuxue Feng
1024Leja A SchemmerJapan2024-05-20Benton, John B Jr RENEWAL43Ivan Magalhaes
1025Salvatore R BowleyRussia2024-05-11Chapman, Ross E Esq NEW93Amy Elsner
1026Juan U RimBrazil2024-05-17Feiner Bros NEW41Elwin Sharvill
1027Tony B SergiItaly2024-05-03Printing Dimensions NEGOTIATION88Asiya Javayant
1028Sinclair Z OldroydArgentina2024-05-01Benton, John B Jr UNQUALIFIED39Ivan Magalhaes
1029Leon B CaldareraArgentina2024-05-23Truhlar And Truhlar Attys NEW99Anna Fali
1030Munro A DarakjyGermany2024-05-16Feiner Bros RENEWAL13Ivan Magalhaes
1031Smith C CaldareraBrazil2024-05-02Morlong Associates NEGOTIATION58Bernardo Dominic
1032Aditya A IturbideCanada2024-05-05Dorl, James J Esq NEW98Onyama Limba
1033Smith G OstroskyUnited Kingdom2024-05-04Morlong Associates PROPOSAL57Anna Fali
1034Silvio X NestleIndia2024-05-08Morlong Associates NEGOTIATION76Anna Fali
1035Leja T FollerItaly2024-05-12Benton, John B Jr PROPOSAL92Ioni Bowcher
1036Julie V GillianCanada2024-05-16Feltz Printing Service NEGOTIATION46Anna Fali
1037Murillo V AmigonBrazil2024-05-03Morlong Associates RENEWAL10Bernardo Dominic
1038Tony L SchemmerUnited Kingdom2024-05-09Feltz Printing Service NEW99Stephen Shaw
1039Costa L GillianGermany2024-05-09Printing Dimensions NEGOTIATION75Elwin Sharvill
1040Costa U RutaJapan2024-05-17Commercial Press PROPOSAL21Amy Elsner
1041Alejandro C RulapaughUnited Kingdom2024-05-20Feiner Bros RENEWAL14Bernardo Dominic
1042Faith Y PaprockiGermany2024-05-09Printing Dimensions QUALIFIED28Bernardo Dominic
1043Darci T DarakjyJapan2024-05-21Morlong Associates RENEWAL34Stephen Shaw
1044Stacey V BriddickFrance2024-05-01Chemel, James L Cpa NEW3Ivan Magalhaes
1045Deepesh I GillianRussia2024-05-03King, Christopher A Esq RENEWAL54Amy Elsner
1046Darci G PaprockiJapan2024-05-08King, Christopher A Esq PROPOSAL83Onyama Limba
1047Ricardo K GillianBrazil2024-05-19Rangoni Of Florence PROPOSAL48Ioni Bowcher
1048Maria H DilliardSpain2024-05-03Rousseaux, Michael Esq NEW71Bernardo Dominic
1049Antonio X WieserIndia2024-05-09Feiner Bros RENEWAL94Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Johnson G CaudyRussiaBernardo Dominic PROPOSAL
James Q MarrierItalyAsiya Javayant NEW
Ivar J IturbideAustraliaStephen Shaw UNQUALIFIED
Julie F SergiArgentinaBernardo Dominic NEW
James U NestleIndiaOnyama Limba NEGOTIATION
David I RulapaughBrazilXuxue Feng RENEWAL
Mayumi K FigeroaSpainStephen Shaw QUALIFIED
Nicolas H MaletSpainOnyama Limba NEW
Alejandro D OldroydFranceXuxue Feng RENEWAL
Juan Y ButtAustraliaIoni Bowcher NEW
Jones T InouyeBrazilIoni Bowcher RENEWAL
Leja B MaletGermanyAsiya Javayant NEGOTIATION
Maria D DilliardSpainStephen Shaw NEGOTIATION
Adams C FlosiItalyOnyama Limba NEW
Alejandro M CampainGermanyAsiya Javayant NEW
Johnson M OstroskyItalyStephen Shaw PROPOSAL
Nicolas C CaldareraAustraliaOnyama Limba PROPOSAL
Emily H MaletArgentinaAnna Fali PROPOSAL
Kadeem V PaprockiRussiaIvan Magalhaes RENEWAL
Nicolas G VenereItalyOnyama Limba UNQUALIFIED
Leja B VocelkaJapanAmy Elsner RENEWAL
Stacey T GlickGermanyAsiya Javayant UNQUALIFIED
Cody G StensethSpainAmy Elsner NEW
Julie E WhobreySpainAnna Fali RENEWAL
Francesco D MorascaJapanElwin Sharvill QUALIFIED
Nicolas Y SaylorsIndiaXuxue Feng UNQUALIFIED
Emily J PoquetteArgentinaOnyama Limba PROPOSAL
Mujtaba Q FerenczJapanAnna Fali RENEWAL
Jeanfrancois G AmigonUnited KingdomElwin Sharvill QUALIFIED
Morrow C FigeroaArgentinaBernardo Dominic NEGOTIATION
Costa W GauchoIndiaIvan Magalhaes PROPOSAL
Aditya O IturbideUnited KingdomAmy Elsner NEW
Tony C TollnerItalyXuxue Feng UNQUALIFIED
Silvio V RulapaughItalyIoni Bowcher RENEWAL
Nicolas Q ChuiIndiaIoni Bowcher RENEWAL
Smith O VocelkaFranceElwin Sharvill NEGOTIATION
James I ButtIndiaAsiya Javayant UNQUALIFIED
Rodrigues Q InouyeUnited KingdomAsiya Javayant PROPOSAL
Ivar C DoeAustraliaAnna Fali QUALIFIED
Leja B RimBrazilBernardo Dominic RENEWAL
Ricardo A StockhamFranceOnyama Limba RENEWAL
Misaki C WhobreyUnited KingdomElwin Sharvill QUALIFIED
Murillo T ChuiJapanXuxue Feng NEGOTIATION
Silvio O OstroskyIndiaElwin Sharvill NEW
Jennifer Y OstroskyCanadaStephen Shaw QUALIFIED
Cody J IturbideUnited KingdomAnna Fali RENEWAL
Claire N AmigonSpainAnna Fali QUALIFIED
Misaki K RoysterIndiaIvan Magalhaes NEW
Leja F AmigonAustraliaIoni Bowcher QUALIFIED
Jennifer P MarrierJapanAsiya Javayant RENEWAL
Frozen Columns
Name
Munro C Kolmetz
Leja H Caudy
Alejandro A Darakjy
Jones R Maclead
Francesco O Kusko
Smith P Gillian
Mayumi G Doe
Maria P Schemmer
Silvio F Shinko
Jones Y Gillian
Leon R Vocelka
Costa T Maclead
Arvin C Morasca
David N Ostrosky
Nicolas K Doe
David L Caudy
Jefferson W Gillian
Maisha K Shinko
Jeanfrancois L Figeroa
Salvatore W Nestle
Wickens U Chui
Francesco W Slusarski
Cody I Nestle
Ricardo X Rulapaugh
Ricardo E Saylors
Misaki D Rim
Francesco G Royster
Ricardo E Whobrey
Adams M Garufi
Kaitlin Y Iturbide
David T Whobrey
Tony X Ruta
Aika C Sergi
Kaitlin L Bolognia
Leja T Bolognia
Adams W Caudy
Faith Y Ruta
Greenwood G Iturbide
Leon T Nestle
Wickens A Darakjy
Octavia D Oldroyd
Kaitlin D Vocelka
Clifford A Maclead
David D Perin
Octavia H Iturbide
Smith Y Venere
Ivar J Gillian
Ashley B Oldroyd
Sinclair N Amigon
Claire I Kusko
IdCountryDate
1000Argentina2024-05-14
1001Russia2024-05-03
1002Russia2024-04-25
1003Spain2024-05-02
1004Italy2024-05-24
1005France2024-05-04
1006United Kingdom2024-05-21
1007France2024-05-23
1008Japan2024-04-26
1009Germany2024-05-18
1010Italy2024-05-03
1011Italy2024-05-21
1012Argentina2024-05-18
1013Canada2024-05-04
1014Germany2024-04-25
1015Brazil2024-05-06
1016Germany2024-05-22
1017Japan2024-05-23
1018Spain2024-04-30
1019Brazil2024-05-12
1020Brazil2024-05-02
1021Germany2024-04-26
1022Brazil2024-04-25
1023Germany2024-05-21
1024Brazil2024-05-02
1025Australia2024-05-01
1026Italy2024-05-22
1027Spain2024-05-13
1028Australia2024-05-01
1029Germany2024-05-24
1030Australia2024-05-17
1031Japan2024-05-24
1032Argentina2024-05-11
1033Russia2024-04-28
1034Japan2024-05-07
1035France2024-05-07
1036Argentina2024-04-25
1037Australia2024-04-30
1038Russia2024-04-25
1039Brazil2024-05-19
1040Spain2024-05-13
1041India2024-05-23
1042Italy2024-05-17
1043Germany2024-05-12
1044Spain2024-05-08
1045Australia2024-04-25
1046Japan2024-05-23
1047Brazil2024-05-24
1048Australia2024-04-30
1049Spain2024-05-21

On-Demand Data

NameIdCountryDate
Alejandro S Waycott1000Italy2024-04-25
Kaitlin D Butt1001Argentina2024-05-15
Emily Y Ruta1002Germany2024-05-07
Darci V Malet1003Russia2024-05-02
Rodrigues L Malet1004India2024-05-17
David L Schemmer1005Russia2024-05-14
Rodrigues O Sergi1006Spain2024-05-07
Faith Z Royster1007Australia2024-05-24
Mayumi O Bowley1008Russia2024-04-27
Clifford Z Shinko1009Russia2024-05-04
Clifford J Malet1010United Kingdom2024-05-15
Sinclair N Chui1011France2024-05-16
Smith F Rulapaugh1012Canada2024-05-23
Clifford V Albares1013India2024-05-24
Morrow K Inouye1014United Kingdom2024-05-08
Kaitlin M Briddick1015Australia2024-05-08
Aditya N Gaucho1016Australia2024-05-16
Morrow B Doe1017Italy2024-05-20
Costa E Figeroa1018Australia2024-05-22
Nicolas H Bowley1019France2024-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia A OldroydGermanyAnna Fali NEW
Claire F NickaBrazilBernardo Dominic NEW
Antonio R BriddickIndiaStephen Shaw UNQUALIFIED
Claire B FerenczUnited KingdomIvan Magalhaes PROPOSAL
Emily Y ChuiItalyElwin Sharvill NEW
Jennifer M WaycottFranceXuxue Feng UNQUALIFIED
Aditya A SlusarskiCanadaAsiya Javayant UNQUALIFIED
Izzy C BriddickArgentinaXuxue Feng UNQUALIFIED
Kadeem Z MorascaCanadaElwin Sharvill PROPOSAL
Leja M OldroydItalyAmy Elsner RENEWAL
Jefferson M FlosiGermanyIoni Bowcher PROPOSAL
Stacey E GillianCanadaBernardo Dominic RENEWAL
Julie J FollerJapanAmy Elsner RENEWAL
Ivar D SchemmerIndiaIvan Magalhaes QUALIFIED
Greenwood X GarufiJapanAsiya Javayant QUALIFIED
Leja O MaletAustraliaStephen Shaw NEW
Murillo Y MacleadItalyStephen Shaw NEW
Faith K KolmetzItalyStephen Shaw RENEWAL
Wickens I BriddickArgentinaXuxue Feng QUALIFIED
Leja X TollnerAustraliaStephen Shaw NEW
Darci X CaldareraFranceOnyama Limba UNQUALIFIED
Antonio R WaycottSpainIvan Magalhaes UNQUALIFIED
Darci R PerinSpainAmy Elsner NEW
Adams Q FigeroaArgentinaAsiya Javayant NEGOTIATION
Leja G TollnerArgentinaIvan Magalhaes NEGOTIATION
Aruna E RimItalyAnna Fali PROPOSAL
Ashley L ShinkoAustraliaAnna Fali QUALIFIED
Alejandro Q TollnerFranceAmy Elsner PROPOSAL
Francesco A SergiFranceAsiya Javayant QUALIFIED
Kadeem M MarrierGermanyStephen Shaw NEW
Aika O SchemmerFranceBernardo Dominic QUALIFIED
Smith E CaudyFranceXuxue Feng NEW
Aruna O BowleyArgentinaAmy Elsner NEGOTIATION
Ashley O FlosiIndiaIoni Bowcher RENEWAL
Rodrigues G MorascaSpainIoni Bowcher NEW
Jefferson K WhobreyIndiaElwin Sharvill NEW
Arvin Z StockhamCanadaXuxue Feng UNQUALIFIED
Antonio A RoysterSpainStephen Shaw NEW
Clifford I CampainArgentinaAmy Elsner UNQUALIFIED
Aika N NestleSpainStephen Shaw 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>