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
Smith Z SaylorsBrazilIvan Magalhaes PROPOSAL
Leja L DilliardSpainIvan Magalhaes NEGOTIATION
Leon G FlosiAustraliaStephen Shaw UNQUALIFIED
Juan Y WhobreyBrazilXuxue Feng PROPOSAL
Aditya H KuskoGermanyIvan Magalhaes NEW
Leja U ShinkoUnited KingdomAmy Elsner QUALIFIED
Mujtaba W ShinkoIndiaIvan Magalhaes QUALIFIED
Mujtaba T CaldareraJapanIvan Magalhaes UNQUALIFIED
Stacey L MorascaFranceOnyama Limba UNQUALIFIED
Cody Z MaletJapanOnyama Limba PROPOSAL
Tony O AlbaresGermanyBernardo Dominic NEW
Maisha Z MaletRussiaBernardo Dominic PROPOSAL
Clifford W FlosiAustraliaIvan Magalhaes RENEWAL
Kadeem T FlosiItalyElwin Sharvill RENEWAL
Misaki L RoysterFranceAmy Elsner NEW
Jefferson N VenereIndiaAsiya Javayant UNQUALIFIED
Aditya U PaprockiRussiaBernardo Dominic UNQUALIFIED
Leon K PaprockiJapanAsiya Javayant PROPOSAL
Leja I IturbideSpainAmy Elsner NEGOTIATION
James A ButtAustraliaAmy Elsner RENEWAL
Faith Q StensethJapanAmy Elsner PROPOSAL
Mayumi T MaletArgentinaAmy Elsner UNQUALIFIED
Arvin T PaprockiUnited KingdomAmy Elsner QUALIFIED
Salvatore P WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo G FlosiSpainAmy Elsner NEGOTIATION
Antonio N FigeroaIndiaIvan Magalhaes QUALIFIED
Stacey G RimCanadaAsiya Javayant QUALIFIED
Rodrigues Q ShinkoItalyAmy Elsner NEW
Deepesh X AlbaresGermanyStephen Shaw NEW
Morrow D VenereUnited KingdomOnyama Limba NEW
Deepesh E RutaFranceAsiya Javayant RENEWAL
Juan O VocelkaArgentinaStephen Shaw QUALIFIED
Salvatore R TollnerArgentinaAsiya Javayant PROPOSAL
Aika P OldroydIndiaIvan Magalhaes RENEWAL
Cody H AmigonGermanyAnna Fali PROPOSAL
Adams V OstroskyBrazilAsiya Javayant NEW
Kaitlin E FigeroaRussiaAnna Fali QUALIFIED
Johnson L CaldareraRussiaBernardo Dominic RENEWAL
Aditya W FlosiCanadaBernardo Dominic UNQUALIFIED
Stacey A WieserGermanyIvan Magalhaes QUALIFIED
Maisha J FollerIndiaElwin Sharvill QUALIFIED
Mujtaba V GarufiCanadaXuxue Feng UNQUALIFIED
Faith B KuskoUnited KingdomIoni Bowcher QUALIFIED
Faith A SchemmerGermanyBernardo Dominic PROPOSAL
Leon C TollnerRussiaIoni Bowcher PROPOSAL
Emily D WaycottBrazilOnyama Limba NEGOTIATION
Clifford N RutaGermanyXuxue Feng PROPOSAL
Cody O GarufiSpainAmy Elsner PROPOSAL
James C RoysterCanadaAsiya Javayant RENEWAL
Faith K CaldareraBrazilAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Wickens U SchemmerSpainElwin Sharvill NEGOTIATION
Francesco S RulapaughJapanIoni Bowcher PROPOSAL
Costa X KolmetzRussiaStephen Shaw NEW
Salvatore F WhobreyArgentinaXuxue Feng QUALIFIED
Morrow K BowleyGermanyBernardo Dominic RENEWAL
Tony D ButtFranceAnna Fali PROPOSAL
Jennifer Q KolmetzItalyAmy Elsner PROPOSAL
Jones G ButtSpainIoni Bowcher UNQUALIFIED
Silvio Z DarakjyUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois A StensethArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh P AmigonUnited Kingdom2024-06-17Morlong Associates UNQUALIFIED74Stephen Shaw
1001Deepesh T GillianIndia2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED96Bernardo Dominic
1002Jeanfrancois Q SlusarskiSpain2024-06-13Chapman, Ross E Esq QUALIFIED85Stephen Shaw
1003Munro L RimIndia2024-06-22Commercial Press UNQUALIFIED92Anna Fali
1004Sinclair B PaprockiRussia2024-05-30Morlong Associates UNQUALIFIED71Elwin Sharvill
1005Stacey J AmigonArgentina2024-06-12Benton, John B Jr NEW29Xuxue Feng
1006Octavia R WaycottFrance2024-06-20Morlong Associates NEGOTIATION81Anna Fali
1007Smith D OstroskyCanada2024-05-29Feiner Bros PROPOSAL86Ivan Magalhaes
1008Cody N DilliardCanada2024-06-12Feltz Printing Service RENEWAL56Anna Fali
1009Sinclair D ButtGermany2024-06-24King, Christopher A Esq UNQUALIFIED94Asiya Javayant
1010Juan C GauchoBrazil2024-06-18Printing Dimensions QUALIFIED81Elwin Sharvill
1011Ashley N OldroydRussia2024-05-28Buckley Miller Wright PROPOSAL70Anna Fali
1012Rodrigues N RutaCanada2024-06-09Commercial Press RENEWAL55Anna Fali
1013Aika P MorascaRussia2024-06-08Feiner Bros NEGOTIATION61Anna Fali
1014Maisha M CaldareraIndia2024-06-15Printing Dimensions UNQUALIFIED6Bernardo Dominic
1015Maria U TollnerIndia2024-06-18Buckley Miller Wright UNQUALIFIED90Elwin Sharvill
1016Emily Y StockhamIndia2024-06-15Rousseaux, Michael Esq PROPOSAL92Stephen Shaw
1017Mujtaba C PaprockiAustralia2024-06-11Chapman, Ross E Esq QUALIFIED32Ivan Magalhaes
1018James H WaycottGermany2024-06-14Morlong Associates NEW62Onyama Limba
1019Maisha W MorascaUnited Kingdom2024-06-05Commercial Press NEGOTIATION20Ioni Bowcher
1020Misaki Z PaprockiUnited Kingdom2024-06-04Morlong Associates NEW56Ivan Magalhaes
1021Jeanfrancois C OstroskySpain2024-06-17Chapman, Ross E Esq QUALIFIED92Bernardo Dominic
1022Julie D NestleUnited Kingdom2024-06-05Rousseaux, Michael Esq RENEWAL0Stephen Shaw
1023Darci M BriddickArgentina2024-06-16Feiner Bros NEGOTIATION69Xuxue Feng
1024Francesco K RoysterAustralia2024-06-09Rousseaux, Michael Esq RENEWAL49Asiya Javayant
1025Tony J InouyeFrance2024-06-17Rangoni Of Florence PROPOSAL40Anna Fali
1026Jennifer E TollnerItaly2024-06-05Printing Dimensions PROPOSAL98Ioni Bowcher
1027Murillo Q FerenczUnited Kingdom2024-06-05Benton, John B Jr NEGOTIATION43Stephen Shaw
1028Leon G WhobreyFrance2024-06-16Rousseaux, Michael Esq NEW8Elwin Sharvill
1029Jeanfrancois I GlickGermany2024-06-08Feiner Bros UNQUALIFIED98Ivan Magalhaes
1030Wickens I StockhamUnited Kingdom2024-06-06Buckley Miller Wright PROPOSAL56Onyama Limba
1031Greenwood S SchemmerRussia2024-06-12Buckley Miller Wright UNQUALIFIED68Amy Elsner
1032Cody X KuskoItaly2024-06-03Buckley Miller Wright RENEWAL62Onyama Limba
1033Ricardo K DarakjyRussia2024-05-28Morlong Associates NEGOTIATION48Ioni Bowcher
1034Morrow N RulapaughGermany2024-06-07King, Christopher A Esq QUALIFIED9Onyama Limba
1035Juan A SergiAustralia2024-06-09Benton, John B Jr UNQUALIFIED83Bernardo Dominic
1036Chavez P BologniaUnited Kingdom2024-06-03Benton, John B Jr RENEWAL6Elwin Sharvill
1037Francesco J OstroskyItaly2024-06-21Benton, John B Jr RENEWAL66Onyama Limba
1038Izzy P ButtGermany2024-05-27Rangoni Of Florence QUALIFIED20Bernardo Dominic
1039Adams G BriddickUnited Kingdom2024-05-30Feiner Bros NEW12Asiya Javayant
1040Nicolas B ButtAustralia2024-06-05Feltz Printing Service PROPOSAL22Anna Fali
1041Misaki X WieserFrance2024-06-20Rousseaux, Michael Esq NEGOTIATION98Asiya Javayant
1042Julie A ButtUnited Kingdom2024-05-26Rangoni Of Florence NEGOTIATION21Elwin Sharvill
1043Murillo V MarrierBrazil2024-05-26Buckley Miller Wright NEW4Stephen Shaw
1044Claire R PerinJapan2024-06-02Chemel, James L Cpa NEGOTIATION60Ivan Magalhaes
1045Murillo A SchemmerRussia2024-06-22Chemel, James L Cpa UNQUALIFIED2Xuxue Feng
1046Jones G StensethSpain2024-06-12Buckley Miller Wright UNQUALIFIED46Ioni Bowcher
1047Jeanfrancois M VocelkaItaly2024-05-31Morlong Associates QUALIFIED78Ivan Magalhaes
1048Aditya S SchemmerCanada2024-06-19Buckley Miller Wright UNQUALIFIED25Bernardo Dominic
1049Murillo N PoquetteUnited Kingdom2024-06-15Rousseaux, Michael Esq NEGOTIATION21Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ashley A ButtJapanIoni Bowcher NEGOTIATION
Octavia M SlusarskiFranceIvan Magalhaes RENEWAL
Kadeem O PerinItalyElwin Sharvill NEGOTIATION
Claire R SlusarskiBrazilAnna Fali RENEWAL
Cody G WaycottFranceXuxue Feng UNQUALIFIED
Chavez W MorascaAustraliaStephen Shaw NEW
Isabel W WhobreyCanadaStephen Shaw PROPOSAL
Greenwood I RimSpainIoni Bowcher NEGOTIATION
Johnson H GarufiCanadaXuxue Feng RENEWAL
Cody R SchemmerCanadaAnna Fali PROPOSAL
Aditya H DarakjyUnited KingdomStephen Shaw RENEWAL
Tony F CaldareraGermanyAsiya Javayant QUALIFIED
Octavia R AmigonSpainStephen Shaw UNQUALIFIED
Morrow D SchemmerRussiaStephen Shaw NEW
Aika I DoeItalyIoni Bowcher QUALIFIED
Faith M VocelkaCanadaStephen Shaw PROPOSAL
Arvin K WhobreyCanadaXuxue Feng QUALIFIED
Juan X PoquetteSpainBernardo Dominic QUALIFIED
Misaki O OldroydCanadaIoni Bowcher PROPOSAL
Antonio W GauchoJapanAsiya Javayant PROPOSAL
Ashley K FerenczUnited KingdomXuxue Feng PROPOSAL
Octavia T TollnerRussiaElwin Sharvill NEW
Izzy D FollerJapanElwin Sharvill QUALIFIED
Francesco O WhobreyGermanyIvan Magalhaes QUALIFIED
Mujtaba U ButtJapanIoni Bowcher NEW
Aditya N PerinIndiaBernardo Dominic NEGOTIATION
Emily C WieserSpainAnna Fali RENEWAL
Smith W VocelkaBrazilBernardo Dominic UNQUALIFIED
Johnson W RimUnited KingdomXuxue Feng NEGOTIATION
Deepesh Q FigeroaItalyAmy Elsner PROPOSAL
Ashley D NickaArgentinaOnyama Limba NEGOTIATION
Adams J CampainIndiaElwin Sharvill NEGOTIATION
Faith S MacleadFranceStephen Shaw RENEWAL
Mayumi V SaylorsAustraliaIvan Magalhaes NEW
Jeanfrancois S FerenczIndiaBernardo Dominic PROPOSAL
Ricardo E WhobreyJapanBernardo Dominic RENEWAL
Kaitlin X OldroydIndiaStephen Shaw PROPOSAL
Juan X ButtArgentinaXuxue Feng QUALIFIED
Cody O BologniaAustraliaOnyama Limba PROPOSAL
Kadeem F NickaItalyXuxue Feng NEW
David S FlosiSpainStephen Shaw NEW
Murillo R VocelkaAustraliaIvan Magalhaes RENEWAL
Munro C StockhamRussiaBernardo Dominic NEW
Kadeem Y NickaRussiaAmy Elsner UNQUALIFIED
Aika Y SergiJapanOnyama Limba NEGOTIATION
Aruna A CampainSpainOnyama Limba RENEWAL
Francesco Y IturbideAustraliaXuxue Feng RENEWAL
Julie Y KuskoSpainXuxue Feng UNQUALIFIED
Wickens I StensethUnited KingdomOnyama Limba QUALIFIED
Rodrigues T MaletSpainIvan Magalhaes QUALIFIED
Frozen Columns
Name
Stacey T Venere
Francesco D Glick
Francesco H Chui
Antonio Q Nicka
Murillo G Nestle
Wickens C Dilliard
Johnson O Rulapaugh
Morrow C Schemmer
Isabel Z Ferencz
Morrow A Figeroa
Mujtaba N Figeroa
Salvatore L Inouye
Aruna N Slusarski
Nicolas Q Kolmetz
Claire R Butt
Julie L Kolmetz
Darci V Malet
Johnson P Albares
Aika H Ruta
Darci M Perin
Julie H Caudy
Smith Z Wieser
Johnson M Stenseth
Leja D Darakjy
Nicolas W Amigon
Octavia Q Caudy
Faith I Schemmer
Munro R Doe
Smith K Malet
Tony C Oldroyd
Rodrigues U Marrier
Jones B Ruta
Leja S Paprocki
Isabel V Schemmer
Tony F Figeroa
Costa H Morasca
Octavia U Nicka
Wickens U Slusarski
David U Nestle
Costa Y Amigon
Juan H Glick
Isabel D Garufi
Wickens B Venere
Chavez U Caudy
Maisha L Ferencz
Morrow N Tollner
Leon Q Ferencz
Jeanfrancois D Saylors
Wickens D Garufi
Misaki Z Perin
IdCountryDate
1000France2024-06-12
1001Canada2024-06-18
1002Germany2024-06-18
1003Argentina2024-06-24
1004France2024-05-27
1005Australia2024-05-30
1006Russia2024-06-15
1007Spain2024-06-11
1008Italy2024-05-28
1009Brazil2024-06-06
1010Australia2024-06-01
1011Canada2024-06-10
1012Spain2024-06-05
1013Australia2024-06-06
1014Japan2024-06-05
1015Japan2024-06-14
1016Germany2024-05-28
1017Argentina2024-05-30
1018Italy2024-06-02
1019France2024-06-18
1020Russia2024-06-08
1021Spain2024-06-21
1022India2024-06-15
1023France2024-05-26
1024India2024-06-06
1025Japan2024-06-23
1026Brazil2024-06-10
1027United Kingdom2024-06-23
1028Russia2024-06-17
1029Argentina2024-05-30
1030Argentina2024-06-22
1031Spain2024-06-08
1032Argentina2024-05-28
1033Argentina2024-06-20
1034Japan2024-06-24
1035Japan2024-06-15
1036Germany2024-06-12
1037Russia2024-06-06
1038Russia2024-06-08
1039United Kingdom2024-06-12
1040Canada2024-06-22
1041Germany2024-05-27
1042Italy2024-06-09
1043Russia2024-06-19
1044France2024-05-29
1045Canada2024-06-14
1046Russia2024-06-11
1047Russia2024-06-17
1048United Kingdom2024-06-10
1049Spain2024-06-17

On-Demand Data

NameIdCountryDate
Maisha J Ostrosky1000Italy2024-06-16
Stacey J Royster1001Australia2024-06-04
Jefferson U Albares1002United Kingdom2024-06-09
Nicolas U Albares1003Germany2024-06-23
Tony X Garufi1004Germany2024-06-21
Rodrigues W Poquette1005Russia2024-06-04
Morrow L Royster1006Spain2024-06-14
Munro U Dilliard1007United Kingdom2024-06-08
Emily F Tollner1008India2024-06-20
Salvatore E Chui1009Russia2024-06-14
James O Caldarera1010Russia2024-06-22
Silvio L Rim1011Australia2024-05-26
Chavez I Rim1012United Kingdom2024-05-30
Mujtaba M Nicka1013Brazil2024-06-13
Aditya P Whobrey1014Russia2024-06-02
Leon Z Saylors1015Spain2024-06-20
Kadeem I Nicka1016India2024-06-15
Aika O Ostrosky1017Canada2024-06-07
Tony K Wieser1018India2024-06-08
Maria R Gaucho1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones X PoquetteUnited KingdomAmy Elsner QUALIFIED
Stacey I StensethAustraliaAmy Elsner QUALIFIED
Smith T CaldareraRussiaStephen Shaw NEW
Mayumi S RoysterUnited KingdomAsiya Javayant QUALIFIED
Cody A VocelkaAustraliaAmy Elsner NEGOTIATION
Claire N KolmetzSpainBernardo Dominic PROPOSAL
Johnson H WhobreyAustraliaIoni Bowcher NEW
Antonio I CaudyArgentinaAsiya Javayant NEW
Greenwood S CampainIndiaAmy Elsner NEGOTIATION
Tony V GillianSpainIoni Bowcher NEW
Octavia B WieserArgentinaAmy Elsner QUALIFIED
Kaitlin I MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Izzy B GlickGermanyAsiya Javayant RENEWAL
Greenwood B PaprockiCanadaElwin Sharvill NEGOTIATION
Munro E FlosiSpainElwin Sharvill NEW
Nicolas W ChuiItalyOnyama Limba UNQUALIFIED
Nicolas E VenereItalyAmy Elsner QUALIFIED
Mujtaba G KuskoArgentinaOnyama Limba UNQUALIFIED
Costa N VocelkaAustraliaIvan Magalhaes QUALIFIED
Mujtaba K RoysterUnited KingdomStephen Shaw PROPOSAL
Ricardo B CaldareraBrazilXuxue Feng QUALIFIED
Claire I OldroydCanadaAsiya Javayant UNQUALIFIED
Rodrigues H CaudyItalyXuxue Feng RENEWAL
Cody A NickaSpainOnyama Limba RENEWAL
Darci G NickaSpainIoni Bowcher NEW
Julie S ButtJapanAmy Elsner QUALIFIED
Jones O CaldareraCanadaIoni Bowcher PROPOSAL
Costa Y AmigonIndiaIoni Bowcher NEGOTIATION
Munro O FerenczArgentinaIoni Bowcher NEGOTIATION
Mayumi E SchemmerBrazilIvan Magalhaes RENEWAL
Costa Y PoquetteJapanOnyama Limba QUALIFIED
Faith P FollerFranceAnna Fali NEW
Darci R KolmetzGermanyXuxue Feng RENEWAL
Julie Y GlickIndiaAnna Fali NEGOTIATION
Aruna U IturbideSpainElwin Sharvill QUALIFIED
Sinclair Z MaletJapanAsiya Javayant NEW
Rodrigues X NickaIndiaAsiya Javayant NEW
Octavia S PoquetteArgentinaAmy Elsner NEW
Smith V ButtArgentinaStephen Shaw UNQUALIFIED
Chavez D VocelkaItalyXuxue Feng 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>