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
Maisha N OldroydIndiaElwin Sharvill RENEWAL
Sinclair E WieserJapanIoni Bowcher PROPOSAL
Julie J BowleyIndiaStephen Shaw QUALIFIED
Nicolas X AlbaresUnited KingdomXuxue Feng NEW
Johnson B OstroskySpainStephen Shaw RENEWAL
Morrow X PoquetteBrazilOnyama Limba UNQUALIFIED
Maisha C DarakjyAustraliaAmy Elsner NEW
Stacey Y DoeIndiaElwin Sharvill QUALIFIED
Aika N IturbideRussiaAnna Fali NEGOTIATION
Maria D StockhamUnited KingdomIvan Magalhaes PROPOSAL
Leon J StockhamRussiaStephen Shaw QUALIFIED
Izzy S RulapaughIndiaIvan Magalhaes QUALIFIED
Adams X PoquetteSpainAmy Elsner PROPOSAL
Octavia Y BriddickGermanyXuxue Feng UNQUALIFIED
Jones E KolmetzGermanyAsiya Javayant RENEWAL
Nicolas Q GillianArgentinaAnna Fali UNQUALIFIED
Aditya V DoeGermanyAsiya Javayant NEGOTIATION
Aditya U OldroydIndiaElwin Sharvill NEGOTIATION
Francesco I TollnerGermanyAmy Elsner NEGOTIATION
Johnson G RimIndiaXuxue Feng QUALIFIED
Arvin N PoquetteBrazilIvan Magalhaes PROPOSAL
Kadeem M FerenczCanadaAsiya Javayant NEGOTIATION
Faith F DarakjyItalyOnyama Limba UNQUALIFIED
Rodrigues R GarufiCanadaStephen Shaw NEW
Alejandro C KolmetzSpainAnna Fali UNQUALIFIED
James L FollerUnited KingdomAmy Elsner PROPOSAL
Ashley E SchemmerJapanBernardo Dominic NEGOTIATION
Munro T OldroydGermanyIoni Bowcher RENEWAL
Murillo M KuskoRussiaBernardo Dominic QUALIFIED
Tony E PaprockiGermanyElwin Sharvill NEW
Smith Q GauchoFranceAnna Fali UNQUALIFIED
Wickens D BowleyAustraliaBernardo Dominic NEW
Chavez X KolmetzFranceElwin Sharvill UNQUALIFIED
Ricardo D NestleCanadaOnyama Limba RENEWAL
Julie Z MarrierJapanBernardo Dominic PROPOSAL
Jeanfrancois O RulapaughItalyAsiya Javayant PROPOSAL
Emily X CaudyFranceAmy Elsner NEGOTIATION
Aika L DarakjyGermanyStephen Shaw NEW
Arvin U StockhamGermanyIvan Magalhaes NEW
Johnson X FigeroaItalyAnna Fali UNQUALIFIED
Misaki G SlusarskiItalyElwin Sharvill RENEWAL
Morrow N StockhamUnited KingdomXuxue Feng RENEWAL
Sinclair J IturbideAustraliaOnyama Limba RENEWAL
Aruna B CaldareraJapanXuxue Feng RENEWAL
Chavez G DoeIndiaAsiya Javayant RENEWAL
Jefferson Y RulapaughGermanyIoni Bowcher NEGOTIATION
Wickens L InouyeJapanBernardo Dominic RENEWAL
Misaki P DoeRussiaOnyama Limba QUALIFIED
Adams I ButtGermanyIoni Bowcher QUALIFIED
Sinclair A FerenczItalyXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh Q BowleyUnited KingdomIoni Bowcher QUALIFIED
Tony J IturbideSpainElwin Sharvill QUALIFIED
Aruna U CampainItalyIvan Magalhaes NEGOTIATION
Emily F FerenczJapanStephen Shaw UNQUALIFIED
Tony O FlosiIndiaAsiya Javayant PROPOSAL
Greenwood V SlusarskiGermanyXuxue Feng UNQUALIFIED
Aruna W BologniaGermanyAmy Elsner NEW
Adams J VenereAustraliaAmy Elsner PROPOSAL
Maria X MaletCanadaXuxue Feng UNQUALIFIED
Izzy F MorascaCanadaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio Z VenereIndia2024-05-25Chapman, Ross E Esq PROPOSAL96Stephen Shaw
1001Rodrigues Z MaletFrance2024-05-26Feiner Bros RENEWAL48Elwin Sharvill
1002Maria O MaletAustralia2024-06-17Buckley Miller Wright UNQUALIFIED74Xuxue Feng
1003Jones D OldroydArgentina2024-06-18Chapman, Ross E Esq QUALIFIED53Asiya Javayant
1004Kaitlin F CaldareraRussia2024-06-10Feltz Printing Service UNQUALIFIED77Ivan Magalhaes
1005Murillo F GillianIndia2024-05-29Chapman, Ross E Esq NEGOTIATION95Elwin Sharvill
1006Greenwood K FollerSpain2024-06-22Chanay, Jeffrey A Esq RENEWAL46Ioni Bowcher
1007Deepesh C GlickCanada2024-06-10Rangoni Of Florence UNQUALIFIED52Stephen Shaw
1008Francesco Q ShinkoIndia2024-06-12Feiner Bros QUALIFIED58Anna Fali
1009Smith E NestleFrance2024-06-10Feiner Bros UNQUALIFIED40Anna Fali
1010Cody I KuskoRussia2024-06-13Truhlar And Truhlar Attys RENEWAL17Xuxue Feng
1011Alejandro E FigeroaCanada2024-06-12Commercial Press QUALIFIED4Xuxue Feng
1012Leja Z RimBrazil2024-05-30Benton, John B Jr RENEWAL65Bernardo Dominic
1013Jennifer J PerinIndia2024-06-04Truhlar And Truhlar Attys NEW48Onyama Limba
1014Tony U PerinJapan2024-05-29Feiner Bros RENEWAL38Elwin Sharvill
1015Nicolas G ButtJapan2024-06-20Dorl, James J Esq PROPOSAL40Xuxue Feng
1016Kaitlin J FerenczIndia2024-06-19Chapman, Ross E Esq NEGOTIATION97Xuxue Feng
1017Julie G FlosiArgentina2024-05-24King, Christopher A Esq RENEWAL81Stephen Shaw
1018Leja B VenereIndia2024-06-17Chapman, Ross E Esq UNQUALIFIED61Anna Fali
1019Maisha X FollerGermany2024-05-29Rousseaux, Michael Esq UNQUALIFIED85Xuxue Feng
1020Jefferson L OstroskyAustralia2024-06-05Rangoni Of Florence RENEWAL97Ivan Magalhaes
1021Cody W NestleIndia2024-06-15Rousseaux, Michael Esq NEGOTIATION66Ivan Magalhaes
1022Ricardo C WaycottIndia2024-06-03Feltz Printing Service QUALIFIED4Bernardo Dominic
1023Morrow Y NickaArgentina2024-06-14King, Christopher A Esq QUALIFIED97Anna Fali
1024Silvio H CaldareraJapan2024-06-22Commercial Press PROPOSAL12Anna Fali
1025Leja H WhobreyArgentina2024-06-21Printing Dimensions NEGOTIATION84Stephen Shaw
1026Isabel X RoysterItaly2024-05-31Dorl, James J Esq QUALIFIED46Ivan Magalhaes
1027Costa K StockhamJapan2024-06-12Chemel, James L Cpa QUALIFIED98Asiya Javayant
1028Aditya Y DilliardRussia2024-06-21Feiner Bros QUALIFIED17Bernardo Dominic
1029Maria A NestleUnited Kingdom2024-06-10Morlong Associates NEW9Stephen Shaw
1030Jennifer U AmigonIndia2024-06-19Dorl, James J Esq NEW46Anna Fali
1031Faith S GarufiJapan2024-06-21Commercial Press PROPOSAL44Ioni Bowcher
1032Silvio S SlusarskiArgentina2024-06-13Commercial Press QUALIFIED19Asiya Javayant
1033Clifford K PoquetteJapan2024-06-20Chapman, Ross E Esq UNQUALIFIED53Stephen Shaw
1034James I RoysterBrazil2024-05-31Commercial Press NEW18Elwin Sharvill
1035Aika T PerinAustralia2024-05-31Rousseaux, Michael Esq UNQUALIFIED4Xuxue Feng
1036Smith M PoquetteFrance2024-06-16Buckley Miller Wright QUALIFIED60Stephen Shaw
1037Leon O WhobreySpain2024-06-16Commercial Press NEGOTIATION69Onyama Limba
1038Misaki E BologniaJapan2024-06-12Benton, John B Jr PROPOSAL86Ivan Magalhaes
1039Ricardo N SergiJapan2024-06-02Rangoni Of Florence NEGOTIATION33Ioni Bowcher
1040Silvio T RutaGermany2024-06-06King, Christopher A Esq PROPOSAL10Xuxue Feng
1041Costa R ChuiSpain2024-06-17King, Christopher A Esq NEW88Onyama Limba
1042Juan Y RimArgentina2024-06-21Commercial Press QUALIFIED21Onyama Limba
1043Maisha G KolmetzFrance2024-06-03Chemel, James L Cpa RENEWAL51Asiya Javayant
1044James A GauchoCanada2024-05-25Dorl, James J Esq NEGOTIATION58Ioni Bowcher
1045Salvatore U ShinkoItaly2024-05-25Rousseaux, Michael Esq PROPOSAL76Elwin Sharvill
1046Emily G NickaArgentina2024-05-27Dorl, James J Esq RENEWAL82Amy Elsner
1047James O SlusarskiArgentina2024-06-18Chanay, Jeffrey A Esq RENEWAL22Ivan Magalhaes
1048Tony V WaycottIndia2024-05-30Morlong Associates PROPOSAL8Ivan Magalhaes
1049Jones N FlosiIndia2024-05-24Buckley Miller Wright QUALIFIED55Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony C CaudySpainElwin Sharvill NEGOTIATION
Jefferson K KolmetzJapanBernardo Dominic NEW
Juan Q SaylorsRussiaXuxue Feng RENEWAL
Octavia Y GillianRussiaIoni Bowcher PROPOSAL
Stacey S FerenczSpainAsiya Javayant NEW
Kaitlin I BologniaArgentinaXuxue Feng NEW
Rodrigues O PaprockiFranceIoni Bowcher NEW
Misaki Y VocelkaGermanyIvan Magalhaes UNQUALIFIED
Darci O MarrierAustraliaIoni Bowcher NEGOTIATION
Arvin Z BologniaUnited KingdomAmy Elsner QUALIFIED
Sinclair C MaletBrazilAmy Elsner NEW
Julie P SaylorsGermanyAsiya Javayant QUALIFIED
Aika U MaletItalyIvan Magalhaes RENEWAL
Jeanfrancois E SchemmerCanadaOnyama Limba PROPOSAL
Alejandro M IturbideItalyOnyama Limba UNQUALIFIED
Jefferson A AlbaresUnited KingdomElwin Sharvill PROPOSAL
Greenwood B DilliardSpainIvan Magalhaes NEGOTIATION
Munro A MaletUnited KingdomStephen Shaw UNQUALIFIED
Aditya P NestleUnited KingdomStephen Shaw QUALIFIED
Kaitlin D CaldareraFranceAmy Elsner QUALIFIED
Greenwood P MorascaIndiaAmy Elsner NEW
Octavia U WieserBrazilAsiya Javayant NEGOTIATION
Wickens B OstroskyJapanAnna Fali QUALIFIED
Stacey O DarakjyJapanIoni Bowcher NEGOTIATION
Johnson H StensethSpainBernardo Dominic PROPOSAL
Johnson F IturbideCanadaAmy Elsner PROPOSAL
Cody Q NestleIndiaAsiya Javayant NEW
Leon M PaprockiCanadaElwin Sharvill RENEWAL
Sinclair Q FigeroaSpainBernardo Dominic UNQUALIFIED
Salvatore A DilliardBrazilAnna Fali RENEWAL
Aika B CaudyArgentinaAnna Fali RENEWAL
Murillo H MarrierFranceIoni Bowcher NEW
Misaki P WhobreySpainIoni Bowcher PROPOSAL
Silvio M NestleAustraliaOnyama Limba QUALIFIED
Ivar L MaletFranceAmy Elsner QUALIFIED
Juan T VenereCanadaStephen Shaw RENEWAL
Cody R AlbaresBrazilAnna Fali PROPOSAL
Greenwood X RutaUnited KingdomAmy Elsner QUALIFIED
Kaitlin Q PerinRussiaXuxue Feng PROPOSAL
Morrow V PerinGermanyXuxue Feng PROPOSAL
Costa W SchemmerFranceStephen Shaw PROPOSAL
Izzy O GillianAustraliaAmy Elsner UNQUALIFIED
Jones B SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Antonio T ButtArgentinaStephen Shaw NEW
Mujtaba K DoeItalyStephen Shaw RENEWAL
Aika K RoysterBrazilXuxue Feng PROPOSAL
Jeanfrancois C StensethCanadaXuxue Feng RENEWAL
Alejandro J PoquetteArgentinaStephen Shaw QUALIFIED
Rodrigues M NickaItalyAsiya Javayant NEGOTIATION
Julie M IturbideSpainAmy Elsner QUALIFIED
Frozen Columns
Name
Cody J Rim
Jefferson A Tollner
Jefferson Z Nestle
Antonio I Dilliard
Leja K Inouye
Morrow P Gaucho
Rodrigues U Rim
Nicolas O Bowley
Arvin X Perin
Jeanfrancois C Doe
Aruna O Marrier
Deepesh Y Marrier
Isabel A Ferencz
Smith X Caldarera
Aika S Dilliard
Emily G Waycott
Murillo I Waycott
Kadeem T Ferencz
Salvatore B Slusarski
Jefferson S Ruta
Darci H Slusarski
Ivar X Kusko
Nicolas B Poquette
Kaitlin G Ruta
Smith G Slusarski
Kaitlin A Kusko
Faith B Schemmer
Kaitlin X Bolognia
Julie N Schemmer
Cody I Inouye
Julie G Perin
Adams H Perin
Aika N Malet
Aika Z Amigon
Faith N Rulapaugh
Clifford T Perin
Maria T Darakjy
Faith S Malet
Morrow E Morasca
David F Poquette
Leja M Stockham
Aruna Q Oldroyd
Johnson G Sergi
David I Slusarski
Cody S Sergi
Nicolas D Figeroa
Kaitlin M Morasca
Claire V Inouye
Izzy Q Bolognia
Antonio H Darakjy
IdCountryDate
1000India2024-06-20
1001Italy2024-06-12
1002Canada2024-06-10
1003Italy2024-05-26
1004Argentina2024-05-24
1005France2024-06-14
1006Argentina2024-06-21
1007Italy2024-05-29
1008Spain2024-05-30
1009Australia2024-05-26
1010Spain2024-06-20
1011Canada2024-05-26
1012Spain2024-05-25
1013Japan2024-06-16
1014Russia2024-05-27
1015Russia2024-05-27
1016Argentina2024-06-22
1017Italy2024-06-12
1018Japan2024-06-15
1019Australia2024-06-06
1020Brazil2024-06-09
1021Argentina2024-05-30
1022Russia2024-06-16
1023Brazil2024-06-08
1024Spain2024-06-09
1025Argentina2024-06-14
1026Germany2024-06-20
1027Canada2024-06-13
1028Argentina2024-06-03
1029France2024-05-27
1030Spain2024-06-07
1031Germany2024-05-27
1032Australia2024-06-16
1033Spain2024-06-03
1034Spain2024-06-20
1035India2024-06-19
1036Italy2024-06-16
1037Russia2024-06-09
1038Russia2024-05-25
1039Brazil2024-05-28
1040United Kingdom2024-06-22
1041Italy2024-06-08
1042United Kingdom2024-06-14
1043Spain2024-06-17
1044France2024-06-14
1045Argentina2024-06-02
1046India2024-05-28
1047United Kingdom2024-06-09
1048Spain2024-05-30
1049Russia2024-05-26

On-Demand Data

NameIdCountryDate
Maisha J Caudy1000India2024-06-03
Antonio J Bolognia1001India2024-05-28
Aruna L Whobrey1002France2024-05-27
Rodrigues P Foller1003Japan2024-06-21
Rodrigues Y Rulapaugh1004India2024-06-05
Murillo X Caldarera1005Japan2024-06-10
Salvatore P Rulapaugh1006United Kingdom2024-05-28
Ricardo V Ruta1007Italy2024-06-01
Munro U Bowley1008Australia2024-06-13
Aruna M Darakjy1009Germany2024-06-04
Silvio S Gillian1010Russia2024-06-10
Octavia Z Caldarera1011France2024-06-21
Aruna Q Paprocki1012Italy2024-06-15
Faith X Darakjy1013Brazil2024-06-10
Salvatore U Whobrey1014Italy2024-06-05
Silvio R Darakjy1015India2024-05-27
Mujtaba L Garufi1016Italy2024-06-08
Munro D Figeroa1017France2024-06-05
Darci J Malet1018Italy2024-06-12
Stacey N Tollner1019Brazil2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci Z SchemmerGermanyAmy Elsner RENEWAL
James U BologniaJapanElwin Sharvill RENEWAL
James Y FollerItalyIvan Magalhaes NEW
Munro U MaletItalyAmy Elsner NEW
Wickens K TollnerBrazilBernardo Dominic RENEWAL
Clifford R CaudyAustraliaBernardo Dominic PROPOSAL
Kadeem B SergiIndiaXuxue Feng RENEWAL
David G FerenczGermanyIvan Magalhaes NEGOTIATION
Sinclair E RimAustraliaStephen Shaw RENEWAL
Alejandro V SergiAustraliaAmy Elsner PROPOSAL
Kadeem C NickaBrazilBernardo Dominic QUALIFIED
Kaitlin Z DarakjyCanadaOnyama Limba UNQUALIFIED
James T NestleFranceOnyama Limba RENEWAL
Adams R MaletAustraliaBernardo Dominic RENEWAL
Wickens F FollerIndiaElwin Sharvill PROPOSAL
David W StockhamRussiaOnyama Limba PROPOSAL
Misaki V InouyeAustraliaAnna Fali QUALIFIED
Jeanfrancois R PerinSpainXuxue Feng NEGOTIATION
Francesco Z CaudySpainAsiya Javayant RENEWAL
Cody X MaletRussiaStephen Shaw PROPOSAL
Misaki T IturbideSpainIoni Bowcher NEW
Misaki I SchemmerBrazilIvan Magalhaes NEGOTIATION
Kadeem B IturbideFranceBernardo Dominic NEGOTIATION
Cody S RulapaughBrazilElwin Sharvill PROPOSAL
Darci X StensethAustraliaAnna Fali UNQUALIFIED
Octavia I RimSpainBernardo Dominic UNQUALIFIED
Faith N CampainArgentinaBernardo Dominic QUALIFIED
Sinclair V ChuiJapanIvan Magalhaes RENEWAL
Kaitlin Q BriddickBrazilOnyama Limba QUALIFIED
Jeanfrancois I GlickCanadaBernardo Dominic RENEWAL
Leon O FollerIndiaElwin Sharvill NEGOTIATION
Aika N BologniaBrazilOnyama Limba PROPOSAL
Silvio X RutaIndiaStephen Shaw RENEWAL
David D MarrierIndiaStephen Shaw NEGOTIATION
Aruna R ChuiSpainOnyama Limba PROPOSAL
Antonio I MaletArgentinaBernardo Dominic PROPOSAL
Darci E GauchoUnited KingdomElwin Sharvill RENEWAL
Aditya V AmigonArgentinaStephen Shaw NEW
Aruna C OstroskyJapanAsiya Javayant UNQUALIFIED
Ricardo U DilliardUnited KingdomElwin Sharvill UNQUALIFIED

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