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
Costa T SergiArgentinaAnna Fali NEW
Mujtaba D IturbideSpainElwin Sharvill PROPOSAL
David R WieserItalyAnna Fali QUALIFIED
Morrow K VocelkaBrazilIoni Bowcher NEGOTIATION
Chavez N CaldareraItalyXuxue Feng NEW
Rodrigues U OldroydJapanAsiya Javayant NEGOTIATION
Jeanfrancois R CaldareraItalyOnyama Limba QUALIFIED
Isabel N BriddickFranceIvan Magalhaes PROPOSAL
Isabel G WaycottIndiaStephen Shaw UNQUALIFIED
Izzy Q StensethBrazilOnyama Limba RENEWAL
Kadeem K GarufiArgentinaIoni Bowcher NEW
Aruna O FollerUnited KingdomElwin Sharvill RENEWAL
Wickens B SaylorsItalyAnna Fali UNQUALIFIED
Morrow W ButtCanadaAmy Elsner UNQUALIFIED
Mujtaba G MacleadJapanXuxue Feng NEGOTIATION
Costa Z ShinkoSpainBernardo Dominic RENEWAL
Mujtaba Q StensethItalyStephen Shaw PROPOSAL
Isabel P NestleFranceBernardo Dominic QUALIFIED
Izzy J PerinCanadaAmy Elsner NEW
Aika D FollerRussiaAsiya Javayant PROPOSAL
Kaitlin S IturbideCanadaAsiya Javayant NEW
Stacey M SergiJapanAsiya Javayant QUALIFIED
Mujtaba O PoquetteGermanyOnyama Limba QUALIFIED
Cody C RimIndiaXuxue Feng UNQUALIFIED
Jefferson A GauchoAustraliaAmy Elsner PROPOSAL
Jones W FigeroaItalyStephen Shaw RENEWAL
Kaitlin B SchemmerIndiaAnna Fali QUALIFIED
Smith X BologniaCanadaIvan Magalhaes UNQUALIFIED
Aika N DoeSpainIoni Bowcher PROPOSAL
Deepesh J FigeroaAustraliaIvan Magalhaes PROPOSAL
Jefferson Q SchemmerJapanOnyama Limba UNQUALIFIED
Jefferson B OstroskyAustraliaOnyama Limba NEGOTIATION
Aditya O AlbaresSpainXuxue Feng PROPOSAL
Leja R StensethBrazilAsiya Javayant NEGOTIATION
Maisha H CaudyFranceXuxue Feng PROPOSAL
Chavez C SergiItalyStephen Shaw UNQUALIFIED
Aditya D PaprockiUnited KingdomXuxue Feng NEW
Morrow D NickaSpainIvan Magalhaes PROPOSAL
Claire M FollerGermanyXuxue Feng NEW
Murillo X FollerIndiaOnyama Limba UNQUALIFIED
Alejandro E CaldareraSpainIoni Bowcher UNQUALIFIED
Greenwood M MarrierCanadaAnna Fali NEW
Arvin F GlickFranceIoni Bowcher QUALIFIED
Costa F OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues W MorascaRussiaIvan Magalhaes QUALIFIED
Deepesh P KuskoSpainAsiya Javayant QUALIFIED
Tony F NickaIndiaIvan Magalhaes NEGOTIATION
Stacey M RutaItalyIvan Magalhaes PROPOSAL
Leon Y ShinkoJapanXuxue Feng QUALIFIED
Cody F InouyeGermanyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Francesco P DarakjyAustraliaStephen Shaw PROPOSAL
Wickens W TollnerArgentinaIvan Magalhaes UNQUALIFIED
Maisha G StensethBrazilIvan Magalhaes PROPOSAL
Darci G MaletItalyAnna Fali PROPOSAL
Adams N SergiGermanyAnna Fali NEW
Rodrigues O VenereAustraliaBernardo Dominic PROPOSAL
Adams U ButtRussiaIoni Bowcher NEW
Jennifer Q RimBrazilIoni Bowcher NEGOTIATION
Antonio R FigeroaIndiaAsiya Javayant PROPOSAL
Octavia T FerenczAustraliaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire K BowleyBrazil2024-06-13Chemel, James L Cpa QUALIFIED20Bernardo Dominic
1001Smith U NestleFrance2024-06-13Truhlar And Truhlar Attys RENEWAL5Asiya Javayant
1002Izzy J WieserItaly2024-06-07Benton, John B Jr UNQUALIFIED17Stephen Shaw
1003Arvin C FerenczAustralia2024-05-31King, Christopher A Esq PROPOSAL64Anna Fali
1004Mayumi F CampainAustralia2024-05-17King, Christopher A Esq NEGOTIATION62Bernardo Dominic
1005Francesco A RimAustralia2024-05-22Benton, John B Jr UNQUALIFIED8Stephen Shaw
1006Murillo I InouyeAustralia2024-06-12Buckley Miller Wright PROPOSAL14Asiya Javayant
1007Claire T WhobreyItaly2024-05-29Rangoni Of Florence QUALIFIED41Ioni Bowcher
1008Chavez K SergiFrance2024-06-08Dorl, James J Esq UNQUALIFIED63Stephen Shaw
1009Costa T RoysterItaly2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED70Elwin Sharvill
1010Mayumi Y CaldareraRussia2024-05-17Chapman, Ross E Esq UNQUALIFIED53Asiya Javayant
1011Ivar X FigeroaItaly2024-06-13King, Christopher A Esq UNQUALIFIED77Onyama Limba
1012Costa L SlusarskiAustralia2024-05-17Chapman, Ross E Esq PROPOSAL18Amy Elsner
1013Juan J DarakjyRussia2024-06-03Morlong Associates RENEWAL96Ivan Magalhaes
1014Kadeem M GarufiRussia2024-06-01Buckley Miller Wright RENEWAL69Ioni Bowcher
1015Johnson B MaletArgentina2024-06-12King, Christopher A Esq RENEWAL44Asiya Javayant
1016Octavia I KuskoAustralia2024-05-15Truhlar And Truhlar Attys QUALIFIED53Amy Elsner
1017Kadeem G GauchoFrance2024-05-23Feltz Printing Service QUALIFIED11Bernardo Dominic
1018Ricardo Y MarrierGermany2024-06-10Chemel, James L Cpa NEW32Anna Fali
1019Murillo W TollnerUnited Kingdom2024-05-19Buckley Miller Wright QUALIFIED17Asiya Javayant
1020Johnson Q TollnerJapan2024-05-31Printing Dimensions NEGOTIATION37Anna Fali
1021Greenwood K WieserBrazil2024-05-31Feltz Printing Service UNQUALIFIED68Asiya Javayant
1022Mayumi W MaletFrance2024-05-24Morlong Associates PROPOSAL18Amy Elsner
1023Nicolas Z DoeAustralia2024-05-25Feiner Bros RENEWAL15Stephen Shaw
1024Antonio Q DoeFrance2024-06-02Morlong Associates PROPOSAL16Ioni Bowcher
1025Darci R StockhamUnited Kingdom2024-05-21Commercial Press RENEWAL25Onyama Limba
1026Aditya U BologniaRussia2024-06-12Feltz Printing Service QUALIFIED43Ioni Bowcher
1027Darci V OldroydFrance2024-06-01Morlong Associates UNQUALIFIED8Stephen Shaw
1028Emily L MorascaItaly2024-06-03Truhlar And Truhlar Attys UNQUALIFIED49Onyama Limba
1029Jeanfrancois F MaletGermany2024-05-24Chanay, Jeffrey A Esq RENEWAL27Bernardo Dominic
1030Maisha M SaylorsFrance2024-06-12Rousseaux, Michael Esq NEW17Anna Fali
1031Chavez Z VenereAustralia2024-06-11King, Christopher A Esq QUALIFIED84Ioni Bowcher
1032Ashley X SergiJapan2024-06-10Rousseaux, Michael Esq NEW59Amy Elsner
1033Juan K CaudySpain2024-06-02Chanay, Jeffrey A Esq RENEWAL47Elwin Sharvill
1034Nicolas K RoysterAustralia2024-06-13Printing Dimensions RENEWAL83Ivan Magalhaes
1035Tony F VocelkaIndia2024-06-11Chapman, Ross E Esq UNQUALIFIED46Asiya Javayant
1036Francesco C DoeArgentina2024-05-17Printing Dimensions NEGOTIATION5Stephen Shaw
1037Maisha Z OstroskySpain2024-05-28Feltz Printing Service UNQUALIFIED4Amy Elsner
1038Johnson J CaldareraIndia2024-06-09Feltz Printing Service UNQUALIFIED91Amy Elsner
1039Smith F SaylorsAustralia2024-05-29Commercial Press NEGOTIATION57Ioni Bowcher
1040Misaki K GauchoBrazil2024-05-20Chemel, James L Cpa UNQUALIFIED93Asiya Javayant
1041Leon P RimItaly2024-05-19Buckley Miller Wright PROPOSAL90Anna Fali
1042Antonio P AmigonItaly2024-06-13Benton, John B Jr QUALIFIED0Ioni Bowcher
1043Antonio P WaycottCanada2024-05-22King, Christopher A Esq RENEWAL95Ivan Magalhaes
1044Jefferson X CampainAustralia2024-06-04King, Christopher A Esq NEW45Bernardo Dominic
1045Nicolas G FigeroaAustralia2024-05-31Feltz Printing Service QUALIFIED97Asiya Javayant
1046Chavez T SaylorsGermany2024-05-27Chemel, James L Cpa UNQUALIFIED58Stephen Shaw
1047Murillo D BologniaRussia2024-06-08Dorl, James J Esq NEGOTIATION84Ivan Magalhaes
1048Arvin W MaletGermany2024-05-24Morlong Associates UNQUALIFIED62Elwin Sharvill
1049Stacey R VenereUnited Kingdom2024-05-23Dorl, James J Esq QUALIFIED7Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Izzy H KolmetzJapanIvan Magalhaes RENEWAL
Leon Z WieserRussiaOnyama Limba NEW
Murillo K KuskoGermanyIvan Magalhaes NEW
Aruna J MorascaSpainXuxue Feng RENEWAL
Salvatore O SaylorsAustraliaXuxue Feng NEGOTIATION
Jefferson K CaldareraSpainBernardo Dominic RENEWAL
Cody P GarufiItalyAsiya Javayant UNQUALIFIED
Jefferson S BowleyUnited KingdomOnyama Limba QUALIFIED
Deepesh J RimAustraliaAsiya Javayant RENEWAL
Aruna R PoquetteJapanAmy Elsner QUALIFIED
Maisha K NickaSpainIoni Bowcher RENEWAL
James Q CaudyJapanElwin Sharvill NEGOTIATION
Clifford L KuskoArgentinaOnyama Limba NEW
Misaki X GauchoAustraliaStephen Shaw NEGOTIATION
Francesco H DoeSpainAmy Elsner PROPOSAL
Aika N StensethFranceOnyama Limba RENEWAL
Octavia X MacleadCanadaAsiya Javayant QUALIFIED
Misaki X AmigonGermanyIoni Bowcher QUALIFIED
Cody J CaudyAustraliaOnyama Limba UNQUALIFIED
Ashley J FigeroaItalyBernardo Dominic NEW
Sinclair C VenereRussiaAnna Fali NEW
Mayumi M KolmetzItalyStephen Shaw QUALIFIED
Jones K CaldareraIndiaStephen Shaw QUALIFIED
Salvatore Y PerinIndiaStephen Shaw UNQUALIFIED
Darci U MaletFranceIvan Magalhaes PROPOSAL
Leon S FlosiJapanIoni Bowcher NEW
Francesco P PaprockiGermanyBernardo Dominic PROPOSAL
Deepesh D FigeroaRussiaOnyama Limba UNQUALIFIED
Darci H InouyeItalyIvan Magalhaes NEGOTIATION
Chavez B GlickSpainIoni Bowcher NEGOTIATION
Costa J RulapaughUnited KingdomStephen Shaw NEW
Leon M GarufiIndiaIoni Bowcher RENEWAL
Adams S RutaFranceBernardo Dominic PROPOSAL
Maria H ButtItalyStephen Shaw NEW
Antonio G SchemmerGermanyStephen Shaw UNQUALIFIED
Arvin N GarufiItalyAmy Elsner QUALIFIED
Alejandro Y ButtCanadaOnyama Limba NEGOTIATION
Maisha I GlickBrazilBernardo Dominic RENEWAL
James V MarrierCanadaIoni Bowcher PROPOSAL
Tony L AlbaresArgentinaIoni Bowcher NEGOTIATION
Faith Y OstroskyBrazilOnyama Limba NEW
Cody C DoeArgentinaAnna Fali RENEWAL
Munro E SchemmerRussiaAsiya Javayant NEGOTIATION
Mayumi C ButtFranceAnna Fali NEGOTIATION
Emily O WaycottRussiaAsiya Javayant PROPOSAL
Aruna D SlusarskiSpainStephen Shaw UNQUALIFIED
Julie L MaletGermanyBernardo Dominic RENEWAL
Maisha J WaycottBrazilXuxue Feng QUALIFIED
Claire I DilliardAustraliaAsiya Javayant RENEWAL
Aruna V InouyeUnited KingdomBernardo Dominic RENEWAL
Frozen Columns
Name
Arvin L Amigon
David Q Iturbide
Jennifer R Caldarera
Silvio S Malet
Silvio X Malet
Arvin Y Wieser
Kadeem J Morasca
Wickens Q Inouye
Octavia S Maclead
Antonio M Wieser
Wickens L Poquette
Isabel A Wieser
Nicolas M Venere
Izzy M Tollner
Ivar H Ruta
Wickens V Stockham
Adams U Kusko
Jeanfrancois A Nicka
Jeanfrancois Y Saylors
Jennifer I Albares
Sinclair L Marrier
Murillo K Campain
Murillo R Venere
Johnson I Morasca
Leja S Marrier
Maria K Nicka
Claire W Albares
Kaitlin M Saylors
Jones J Poquette
James E Kolmetz
Aika P Foller
Chavez L Tollner
Adams E Bowley
Clifford R Rulapaugh
Izzy V Briddick
Misaki K Butt
Izzy W Gillian
Johnson Y Butt
Aruna O Rim
Ivar M Whobrey
Deepesh Z Oldroyd
Francesco G Venere
Nicolas L Briddick
Jefferson M Marrier
Silvio D Malet
Munro O Whobrey
Cody C Garufi
Mujtaba Z Marrier
Nicolas E Ruta
Leja K Royster
IdCountryDate
1000Argentina2024-06-07
1001France2024-05-21
1002Spain2024-06-01
1003India2024-05-17
1004Italy2024-06-04
1005Canada2024-05-19
1006Germany2024-06-06
1007Australia2024-05-30
1008Australia2024-06-03
1009Italy2024-05-28
1010Argentina2024-05-29
1011Australia2024-05-21
1012Spain2024-05-20
1013Russia2024-05-27
1014France2024-05-22
1015Argentina2024-06-13
1016Australia2024-05-29
1017Japan2024-05-22
1018Argentina2024-06-03
1019Spain2024-06-10
1020Germany2024-05-28
1021Canada2024-05-30
1022Japan2024-05-20
1023Germany2024-05-19
1024United Kingdom2024-05-26
1025France2024-05-23
1026France2024-05-24
1027Germany2024-05-21
1028Japan2024-05-18
1029Brazil2024-06-08
1030Italy2024-05-28
1031Brazil2024-06-12
1032Australia2024-05-28
1033Brazil2024-06-07
1034Germany2024-06-11
1035Germany2024-06-01
1036Italy2024-06-12
1037Brazil2024-06-08
1038France2024-06-10
1039Canada2024-05-20
1040France2024-05-20
1041Australia2024-06-11
1042Brazil2024-05-30
1043United Kingdom2024-06-06
1044France2024-06-06
1045Russia2024-05-23
1046Spain2024-06-06
1047United Kingdom2024-06-06
1048Canada2024-06-11
1049Brazil2024-06-08

On-Demand Data

NameIdCountryDate
David W Morasca1000France2024-05-19
Jones I Nicka1001Brazil2024-06-11
Aditya L Rim1002Italy2024-06-10
Wickens G Vocelka1003Spain2024-05-30
Salvatore Y Poquette1004Spain2024-05-18
Mayumi O Albares1005Spain2024-05-15
Aruna N Dilliard1006Argentina2024-06-12
Stacey B Ostrosky1007India2024-05-31
Ricardo K Malet1008Canada2024-06-01
Mayumi D Ferencz1009Japan2024-05-15
Jennifer R Whobrey1010India2024-06-10
Maisha J Rulapaugh1011France2024-05-28
Julie K Maclead1012Australia2024-05-28
Izzy R Rim1013Italy2024-05-27
Deepesh N Bolognia1014France2024-06-10
Leja N Inouye1015Brazil2024-05-27
Claire G Rim1016Australia2024-05-25
Clifford M Morasca1017Brazil2024-06-07
Francesco J Slusarski1018Argentina2024-05-24
James X Gaucho1019Germany2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro G SaylorsItalyAmy Elsner UNQUALIFIED
Johnson I MarrierCanadaAmy Elsner NEGOTIATION
Deepesh X ButtIndiaBernardo Dominic NEGOTIATION
Nicolas A NestleItalyOnyama Limba UNQUALIFIED
Smith J SlusarskiGermanyStephen Shaw QUALIFIED
Emily W AmigonIndiaIvan Magalhaes QUALIFIED
Alejandro I VocelkaIndiaBernardo Dominic PROPOSAL
Ashley M FlosiAustraliaOnyama Limba PROPOSAL
Murillo O MaletAustraliaStephen Shaw RENEWAL
Emily X StensethGermanyBernardo Dominic NEGOTIATION
Jefferson Z PerinItalyIvan Magalhaes QUALIFIED
Jefferson Z ShinkoArgentinaStephen Shaw NEGOTIATION
Alejandro O MarrierIndiaAnna Fali UNQUALIFIED
Arvin J PoquetteGermanyOnyama Limba RENEWAL
Deepesh Y ShinkoUnited KingdomOnyama Limba PROPOSAL
Maisha T InouyeCanadaElwin Sharvill NEW
James S OldroydItalyXuxue Feng NEW
Aika W RimArgentinaIoni Bowcher RENEWAL
Tony I GillianBrazilElwin Sharvill QUALIFIED
Emily G KuskoRussiaOnyama Limba NEGOTIATION
Claire U VocelkaCanadaIvan Magalhaes UNQUALIFIED
Darci V GillianRussiaElwin Sharvill PROPOSAL
Nicolas W DarakjyFranceOnyama Limba NEW
Smith Y FollerUnited KingdomOnyama Limba NEW
Izzy A OldroydCanadaAsiya Javayant PROPOSAL
Antonio G StensethItalyAmy Elsner PROPOSAL
Alejandro C MaletFranceIoni Bowcher NEGOTIATION
Mayumi D StensethAustraliaAnna Fali UNQUALIFIED
Clifford J SergiCanadaBernardo Dominic NEGOTIATION
Ivar F RutaSpainStephen Shaw NEGOTIATION
Cody O KuskoBrazilStephen Shaw UNQUALIFIED
Ricardo V FlosiArgentinaElwin Sharvill RENEWAL
Jeanfrancois U CaldareraJapanBernardo Dominic PROPOSAL
Aruna S MaletJapanStephen Shaw QUALIFIED
Greenwood V SlusarskiSpainStephen Shaw QUALIFIED
Leon J GlickRussiaOnyama Limba PROPOSAL
Jeanfrancois G DoeRussiaStephen Shaw NEW
Julie N SlusarskiItalyAmy Elsner NEW
Misaki L MarrierSpainOnyama Limba QUALIFIED
Sinclair X VenereBrazilBernardo Dominic PROPOSAL

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