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
Antonio N RulapaughSpainAmy Elsner NEW
Tony C StensethGermanyStephen Shaw QUALIFIED
Ricardo H PaprockiAustraliaElwin Sharvill QUALIFIED
Aditya G WhobreyBrazilOnyama Limba RENEWAL
Johnson Z KolmetzBrazilBernardo Dominic QUALIFIED
Jennifer W DoeGermanyIvan Magalhaes UNQUALIFIED
Sinclair H RoysterItalyXuxue Feng QUALIFIED
Johnson C VocelkaArgentinaXuxue Feng QUALIFIED
Wickens C RoysterItalyBernardo Dominic QUALIFIED
Greenwood S SaylorsGermanyElwin Sharvill UNQUALIFIED
Juan A PoquetteArgentinaElwin Sharvill UNQUALIFIED
Maisha A MaletCanadaAmy Elsner NEGOTIATION
Smith U IturbideCanadaAmy Elsner NEW
Misaki X VocelkaFranceIvan Magalhaes NEW
Ashley M SergiBrazilAnna Fali NEW
Aruna O ShinkoBrazilXuxue Feng NEGOTIATION
Ricardo W InouyeCanadaElwin Sharvill PROPOSAL
Juan C NestleCanadaXuxue Feng PROPOSAL
Aruna W StensethItalyOnyama Limba NEW
Izzy Z FlosiArgentinaBernardo Dominic NEGOTIATION
Misaki A ButtJapanBernardo Dominic NEW
Nicolas U ChuiSpainOnyama Limba QUALIFIED
Morrow D OstroskyUnited KingdomAnna Fali PROPOSAL
Aruna X KuskoBrazilAmy Elsner PROPOSAL
Jones Y KuskoJapanAnna Fali NEW
Silvio V WieserFranceAsiya Javayant QUALIFIED
Aditya N SchemmerCanadaAmy Elsner RENEWAL
Jones W DilliardAustraliaAmy Elsner NEGOTIATION
Izzy L VocelkaItalyStephen Shaw UNQUALIFIED
Aika R StockhamAustraliaElwin Sharvill UNQUALIFIED
Kaitlin R VenereFranceBernardo Dominic NEW
Ivar I SergiUnited KingdomBernardo Dominic QUALIFIED
Maisha S CampainIndiaOnyama Limba UNQUALIFIED
Juan H RulapaughUnited KingdomElwin Sharvill QUALIFIED
Leon U FigeroaGermanyAnna Fali PROPOSAL
Maisha M AmigonItalyStephen Shaw NEGOTIATION
Francesco H OstroskySpainElwin Sharvill RENEWAL
Sinclair G SergiIndiaStephen Shaw PROPOSAL
Costa Q GarufiSpainIoni Bowcher RENEWAL
Francesco K PoquetteIndiaIvan Magalhaes RENEWAL
Sinclair Q SlusarskiIndiaIvan Magalhaes PROPOSAL
Maisha F FigeroaArgentinaBernardo Dominic PROPOSAL
Mayumi H GlickUnited KingdomXuxue Feng UNQUALIFIED
Francesco F FollerBrazilAsiya Javayant NEGOTIATION
Silvio V WhobreyCanadaXuxue Feng NEW
Leon G MarrierCanadaXuxue Feng PROPOSAL
Arvin P KolmetzJapanXuxue Feng NEGOTIATION
Munro U NickaFranceStephen Shaw UNQUALIFIED
Misaki H CaudyJapanXuxue Feng NEW
Clifford M FlosiIndiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer V KolmetzFranceOnyama Limba RENEWAL
Costa I ButtBrazilXuxue Feng QUALIFIED
Ivar G RulapaughItalyIoni Bowcher RENEWAL
Cody G FlosiFranceIoni Bowcher PROPOSAL
Kadeem S OldroydGermanyElwin Sharvill UNQUALIFIED
Darci R AmigonJapanAnna Fali NEW
Jefferson M RoysterUnited KingdomBernardo Dominic RENEWAL
Smith S OstroskyArgentinaIvan Magalhaes PROPOSAL
Misaki F SlusarskiArgentinaAsiya Javayant NEGOTIATION
Munro N BowleyJapanBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Z PerinArgentina2024-05-29Rangoni Of Florence PROPOSAL88Onyama Limba
1001Munro W StockhamJapan2024-06-09Truhlar And Truhlar Attys NEW84Elwin Sharvill
1002Ivar B IturbideIndia2024-05-26Benton, John B Jr RENEWAL96Anna Fali
1003Antonio B WieserGermany2024-06-12Printing Dimensions NEW44Amy Elsner
1004Mujtaba I WaycottGermany2024-05-29Buckley Miller Wright PROPOSAL83Xuxue Feng
1005Ivar U KuskoAustralia2024-05-16Printing Dimensions PROPOSAL43Anna Fali
1006Maisha N CaudySpain2024-06-06Morlong Associates QUALIFIED10Anna Fali
1007Rodrigues R PerinUnited Kingdom2024-06-02Rangoni Of Florence UNQUALIFIED65Onyama Limba
1008Stacey Q GarufiBrazil2024-05-16Commercial Press NEGOTIATION73Onyama Limba
1009Izzy N RimRussia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED19Onyama Limba
1010Mayumi F OstroskySpain2024-06-09Commercial Press NEW9Bernardo Dominic
1011Costa R AmigonJapan2024-05-18Rousseaux, Michael Esq PROPOSAL88Xuxue Feng
1012Kadeem O ShinkoBrazil2024-06-10Feltz Printing Service NEGOTIATION18Ivan Magalhaes
1013Clifford Y DarakjyUnited Kingdom2024-06-09Feiner Bros PROPOSAL60Amy Elsner
1014Tony V RulapaughAustralia2024-06-02Feltz Printing Service QUALIFIED87Elwin Sharvill
1015Greenwood M OstroskyGermany2024-05-30Printing Dimensions UNQUALIFIED97Bernardo Dominic
1016Aruna G InouyeSpain2024-05-25Chemel, James L Cpa PROPOSAL83Ioni Bowcher
1017Nicolas A PerinItaly2024-06-04Benton, John B Jr NEGOTIATION79Asiya Javayant
1018Antonio W RimArgentina2024-05-27Commercial Press QUALIFIED54Onyama Limba
1019Greenwood D VocelkaGermany2024-06-09King, Christopher A Esq QUALIFIED29Bernardo Dominic
1020Adams G MarrierAustralia2024-05-31Benton, John B Jr RENEWAL37Ivan Magalhaes
1021Isabel E FigeroaGermany2024-06-12Chemel, James L Cpa NEW12Anna Fali
1022Leja P TollnerSpain2024-05-17Chanay, Jeffrey A Esq PROPOSAL24Stephen Shaw
1023Rodrigues O StockhamUnited Kingdom2024-06-05Rangoni Of Florence NEW51Bernardo Dominic
1024Juan C WaycottJapan2024-06-01Chanay, Jeffrey A Esq PROPOSAL76Xuxue Feng
1025Mujtaba Y IturbideFrance2024-05-30Buckley Miller Wright UNQUALIFIED96Asiya Javayant
1026Claire J AlbaresAustralia2024-06-13Benton, John B Jr QUALIFIED86Ioni Bowcher
1027Rodrigues W WaycottIndia2024-06-09Morlong Associates PROPOSAL71Asiya Javayant
1028David G RutaBrazil2024-06-04Benton, John B Jr RENEWAL91Ivan Magalhaes
1029Morrow S AlbaresItaly2024-05-18Buckley Miller Wright NEGOTIATION66Elwin Sharvill
1030Jefferson X DarakjyIndia2024-06-11Rangoni Of Florence RENEWAL61Asiya Javayant
1031Munro N NestleSpain2024-05-19Rangoni Of Florence UNQUALIFIED43Bernardo Dominic
1032Aika Z DilliardAustralia2024-06-11Buckley Miller Wright UNQUALIFIED88Ioni Bowcher
1033Leon P StockhamGermany2024-05-26Printing Dimensions UNQUALIFIED94Anna Fali
1034Francesco N SergiCanada2024-06-09Chapman, Ross E Esq PROPOSAL27Ivan Magalhaes
1035Rodrigues Y PaprockiJapan2024-06-11Commercial Press QUALIFIED2Elwin Sharvill
1036Salvatore N OstroskyFrance2024-06-11Feltz Printing Service PROPOSAL5Asiya Javayant
1037Maisha G BowleyUnited Kingdom2024-05-18Benton, John B Jr QUALIFIED61Elwin Sharvill
1038Arvin L ButtAustralia2024-06-12Buckley Miller Wright UNQUALIFIED95Ivan Magalhaes
1039Greenwood V MarrierRussia2024-05-23Benton, John B Jr UNQUALIFIED82Stephen Shaw
1040Stacey U MorascaRussia2024-05-26Chemel, James L Cpa RENEWAL75Elwin Sharvill
1041Stacey U GillianUnited Kingdom2024-05-21Feiner Bros PROPOSAL3Ioni Bowcher
1042Aika O WieserItaly2024-05-17Truhlar And Truhlar Attys RENEWAL74Bernardo Dominic
1043Munro P SergiUnited Kingdom2024-05-29Chapman, Ross E Esq UNQUALIFIED65Amy Elsner
1044Kaitlin Z SaylorsGermany2024-05-20Truhlar And Truhlar Attys RENEWAL97Anna Fali
1045Mujtaba P FollerCanada2024-05-18Chapman, Ross E Esq RENEWAL95Bernardo Dominic
1046James Z BologniaUnited Kingdom2024-06-13Rousseaux, Michael Esq UNQUALIFIED3Anna Fali
1047David G WaycottArgentina2024-05-18Commercial Press PROPOSAL34Ivan Magalhaes
1048Leja Y StensethIndia2024-06-09Printing Dimensions PROPOSAL21Ioni Bowcher
1049Clifford V CampainRussia2024-06-08Chemel, James L Cpa NEGOTIATION60Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Antonio A RimArgentinaStephen Shaw UNQUALIFIED
Isabel U RutaAustraliaAmy Elsner RENEWAL
Juan W MarrierFranceElwin Sharvill PROPOSAL
Julie I NickaIndiaBernardo Dominic NEGOTIATION
Kadeem A PoquetteIndiaAsiya Javayant UNQUALIFIED
Aruna E NickaJapanBernardo Dominic UNQUALIFIED
Aruna O VenereItalyIvan Magalhaes NEW
Maria V DarakjyRussiaIoni Bowcher RENEWAL
Jefferson R GlickRussiaBernardo Dominic PROPOSAL
James R KuskoGermanyIoni Bowcher PROPOSAL
Sinclair M AmigonItalyStephen Shaw NEW
Faith V CaudyFranceOnyama Limba PROPOSAL
Isabel K KuskoIndiaElwin Sharvill UNQUALIFIED
Antonio Z WaycottJapanIvan Magalhaes QUALIFIED
Ricardo M OldroydBrazilBernardo Dominic QUALIFIED
Misaki H AmigonCanadaElwin Sharvill NEW
Ricardo P SaylorsItalyAnna Fali RENEWAL
Emily E InouyeItalyIoni Bowcher PROPOSAL
Francesco E WhobreyArgentinaOnyama Limba QUALIFIED
Aika U OstroskySpainAnna Fali QUALIFIED
Stacey T MaletAustraliaAnna Fali QUALIFIED
Leon U GlickRussiaIoni Bowcher NEGOTIATION
Adams Y NickaItalyAsiya Javayant UNQUALIFIED
Faith K WhobreyBrazilIvan Magalhaes PROPOSAL
Tony G FlosiFranceOnyama Limba UNQUALIFIED
Francesco D MacleadArgentinaStephen Shaw PROPOSAL
Francesco I CaudySpainElwin Sharvill RENEWAL
Munro O IturbideFranceAmy Elsner RENEWAL
Isabel C VenereAustraliaElwin Sharvill PROPOSAL
Ashley Z CampainCanadaIoni Bowcher NEW
Salvatore E RulapaughJapanBernardo Dominic RENEWAL
Stacey Y MacleadRussiaStephen Shaw PROPOSAL
Johnson C WhobreyRussiaXuxue Feng UNQUALIFIED
Tony G FigeroaGermanyAnna Fali PROPOSAL
Munro D KolmetzSpainBernardo Dominic RENEWAL
Leon A CaldareraItalyAsiya Javayant RENEWAL
Munro M SchemmerBrazilXuxue Feng RENEWAL
Maisha R WieserJapanAnna Fali NEW
Ashley C PoquetteFranceAsiya Javayant UNQUALIFIED
Murillo U ChuiIndiaAnna Fali NEW
Jeanfrancois H SchemmerBrazilIvan Magalhaes UNQUALIFIED
Alejandro V PerinFranceAsiya Javayant NEW
Jefferson P PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Leja X WhobreyGermanyStephen Shaw UNQUALIFIED
Nicolas R BriddickGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois J WieserIndiaAsiya Javayant NEGOTIATION
Francesco L CaudySpainOnyama Limba NEGOTIATION
Cody X StockhamAustraliaIoni Bowcher QUALIFIED
Tony S FollerSpainAsiya Javayant QUALIFIED
Chavez T KolmetzGermanyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Ivar E Chui
Maria G Bolognia
Tony D Figeroa
Maria P Vocelka
Smith P Poquette
Izzy G Ostrosky
Aruna L Darakjy
Aditya Y Ferencz
Misaki F Royster
Silvio C Garufi
Octavia K Garufi
Maria K Marrier
Kaitlin N Ostrosky
Misaki A Glick
Leon J Stockham
Salvatore Q Bowley
Silvio K Dilliard
Isabel V Shinko
Silvio D Malet
Jones A Amigon
Octavia J Garufi
Morrow W Maclead
Izzy N Doe
Aika Q Stenseth
Kaitlin R Foller
Chavez I Venere
Ivar U Slusarski
Jennifer E Foller
Arvin Y Inouye
Stacey P Ferencz
Antonio G Foller
Jennifer W Stenseth
Juan Y Venere
Stacey S Dilliard
Octavia O Sergi
Deepesh Z Tollner
Cody J Nicka
Munro C Venere
Costa P Nestle
Misaki Z Dilliard
Costa U Whobrey
Julie K Amigon
Tony D Figeroa
Antonio T Maclead
Claire E Caldarera
Johnson U Oldroyd
Antonio I Chui
Claire T Whobrey
Leon Z Doe
Francesco O Ruta
IdCountryDate
1000United Kingdom2024-05-24
1001United Kingdom2024-06-10
1002India2024-06-14
1003Argentina2024-06-04
1004Brazil2024-06-03
1005Germany2024-05-24
1006Canada2024-06-12
1007Italy2024-06-09
1008India2024-05-20
1009Italy2024-05-28
1010France2024-05-18
1011France2024-05-26
1012Australia2024-06-12
1013Argentina2024-05-31
1014Australia2024-05-27
1015Brazil2024-06-09
1016Spain2024-06-09
1017Japan2024-05-21
1018Italy2024-06-01
1019France2024-05-23
1020Japan2024-06-04
1021Australia2024-06-11
1022France2024-05-23
1023Russia2024-05-17
1024India2024-05-31
1025Canada2024-05-22
1026Brazil2024-05-19
1027Spain2024-05-17
1028India2024-06-11
1029Germany2024-05-24
1030France2024-05-31
1031Canada2024-05-19
1032Brazil2024-05-16
1033Australia2024-05-21
1034Germany2024-05-23
1035Australia2024-05-28
1036United Kingdom2024-06-09
1037United Kingdom2024-05-17
1038Germany2024-05-19
1039India2024-06-06
1040United Kingdom2024-05-19
1041Canada2024-06-05
1042Russia2024-06-03
1043India2024-05-25
1044United Kingdom2024-06-08
1045United Kingdom2024-05-23
1046Canada2024-05-27
1047Spain2024-06-08
1048Japan2024-06-12
1049Italy2024-06-12

On-Demand Data

NameIdCountryDate
Chavez L Royster1000Russia2024-05-31
Aruna S Bowley1001France2024-05-27
Tony O Rim1002Brazil2024-06-08
Julie M Gaucho1003Russia2024-05-30
Adams D Kusko1004Germany2024-06-05
Mujtaba F Shinko1005Argentina2024-06-14
Claire I Poquette1006France2024-05-28
Jeanfrancois O Caudy1007India2024-06-01
Darci P Flosi1008Canada2024-06-14
Mujtaba R Butt1009Canada2024-06-07
Jefferson Z Amigon1010Russia2024-05-23
Ashley Y Sergi1011Argentina2024-05-17
Leon J Bolognia1012United Kingdom2024-05-21
Salvatore P Vocelka1013Brazil2024-05-24
Nicolas F Gaucho1014Australia2024-05-21
Leja D Briddick1015Australia2024-06-11
Emily P Venere1016Italy2024-05-31
Aditya H Vocelka1017Canada2024-06-12
Munro N Butt1018Australia2024-06-08
Greenwood K Iturbide1019Spain2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford J PerinSpainAnna Fali NEW
Munro S FlosiJapanElwin Sharvill QUALIFIED
Stacey B GauchoGermanyAnna Fali NEGOTIATION
Ricardo A PaprockiAustraliaXuxue Feng PROPOSAL
Arvin H CaldareraFranceElwin Sharvill UNQUALIFIED
Clifford G PaprockiGermanyXuxue Feng UNQUALIFIED
Leon N TollnerRussiaAsiya Javayant QUALIFIED
Salvatore G SaylorsCanadaXuxue Feng NEGOTIATION
Isabel U OstroskyFranceAsiya Javayant NEW
Murillo E RimSpainOnyama Limba NEGOTIATION
James Y AmigonCanadaAnna Fali NEGOTIATION
Antonio O BologniaUnited KingdomStephen Shaw RENEWAL
Julie B ButtBrazilAmy Elsner NEGOTIATION
Maisha P MaletJapanAnna Fali PROPOSAL
Emily S SaylorsBrazilAnna Fali QUALIFIED
Clifford B GauchoAustraliaAsiya Javayant NEW
Nicolas P TollnerAustraliaBernardo Dominic PROPOSAL
Emily I NestleRussiaXuxue Feng QUALIFIED
Octavia J VocelkaIndiaIoni Bowcher PROPOSAL
Darci K CaudyRussiaStephen Shaw PROPOSAL
Tony T FollerArgentinaAnna Fali QUALIFIED
Adams C BowleyItalyAsiya Javayant NEW
David V SergiFranceElwin Sharvill NEW
Isabel Z NestleSpainAmy Elsner NEGOTIATION
Jones P MorascaAustraliaAsiya Javayant NEGOTIATION
Smith E CaudySpainBernardo Dominic PROPOSAL
Greenwood Y PerinAustraliaAsiya Javayant NEGOTIATION
Cody Z DilliardBrazilStephen Shaw PROPOSAL
Mayumi Q MaletFranceElwin Sharvill PROPOSAL
Antonio O StockhamAustraliaOnyama Limba UNQUALIFIED
Isabel O ChuiIndiaAsiya Javayant NEW
Munro A MaletItalyIoni Bowcher RENEWAL
Maisha E StensethUnited KingdomBernardo Dominic RENEWAL
Misaki S TollnerAustraliaOnyama Limba UNQUALIFIED
Adams L AlbaresItalyOnyama Limba NEW
Emily B GarufiIndiaAnna Fali RENEWAL
Salvatore O SaylorsGermanyAsiya Javayant RENEWAL
Francesco S FlosiUnited KingdomAsiya Javayant NEGOTIATION
Ivar A SlusarskiArgentinaAnna Fali RENEWAL
Ricardo D RoysterCanadaStephen Shaw 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>