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
Ashley O MorascaRussiaAsiya Javayant PROPOSAL
Silvio Y PoquetteBrazilIvan Magalhaes NEGOTIATION
Francesco I RutaIndiaOnyama Limba PROPOSAL
Smith U PoquetteRussiaAsiya Javayant RENEWAL
Leja Y FlosiUnited KingdomStephen Shaw PROPOSAL
Aditya A StensethItalyIvan Magalhaes NEW
Aika L BowleyItalyElwin Sharvill NEW
Julie M CaldareraSpainBernardo Dominic UNQUALIFIED
Costa E KolmetzRussiaAmy Elsner RENEWAL
Ivar G SaylorsJapanXuxue Feng PROPOSAL
Greenwood N GarufiSpainIoni Bowcher PROPOSAL
Jefferson P FigeroaArgentinaBernardo Dominic NEW
Chavez O GlickArgentinaAsiya Javayant NEGOTIATION
Silvio W BriddickAustraliaIvan Magalhaes NEW
Aruna Y NickaArgentinaIoni Bowcher NEW
Morrow B RutaArgentinaIvan Magalhaes PROPOSAL
Aruna V MorascaFranceAsiya Javayant RENEWAL
Adams I SergiItalyIvan Magalhaes RENEWAL
Maria V RutaJapanElwin Sharvill RENEWAL
Tony W WaycottCanadaXuxue Feng RENEWAL
Leja A GarufiUnited KingdomBernardo Dominic RENEWAL
Silvio Z KuskoIndiaXuxue Feng QUALIFIED
Kaitlin E RulapaughJapanAnna Fali PROPOSAL
Ivar M ShinkoItalyOnyama Limba PROPOSAL
Tony B BologniaBrazilAmy Elsner UNQUALIFIED
Ivar P StockhamJapanElwin Sharvill PROPOSAL
Jeanfrancois G RoysterUnited KingdomAmy Elsner UNQUALIFIED
Izzy C AmigonArgentinaAsiya Javayant NEW
Tony G StensethJapanOnyama Limba QUALIFIED
Johnson I CaudyAustraliaIvan Magalhaes NEW
Juan L WaycottJapanElwin Sharvill NEGOTIATION
Darci M DoeArgentinaAsiya Javayant RENEWAL
Murillo Z NickaRussiaAmy Elsner UNQUALIFIED
Maria X MorascaIndiaBernardo Dominic RENEWAL
Ashley Z PaprockiFranceOnyama Limba UNQUALIFIED
Mujtaba L StockhamAustraliaOnyama Limba RENEWAL
Juan C PerinJapanAmy Elsner UNQUALIFIED
Mujtaba J CaldareraItalyOnyama Limba NEW
David N RimArgentinaIvan Magalhaes QUALIFIED
Mayumi O VocelkaIndiaAsiya Javayant NEW
Misaki U SlusarskiCanadaAmy Elsner UNQUALIFIED
Murillo R MorascaItalyIoni Bowcher NEW
Jeanfrancois W SchemmerCanadaAmy Elsner NEGOTIATION
Maisha X StockhamAustraliaIoni Bowcher RENEWAL
Jefferson W FlosiFranceElwin Sharvill QUALIFIED
Jefferson L KolmetzRussiaBernardo Dominic RENEWAL
Claire F VocelkaSpainIoni Bowcher QUALIFIED
Silvio S KuskoRussiaElwin Sharvill UNQUALIFIED
Chavez J VocelkaJapanBernardo Dominic PROPOSAL
Tony X GauchoRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja J ButtGermanyBernardo Dominic QUALIFIED
Smith C OldroydIndiaAsiya Javayant NEGOTIATION
Arvin X WaycottGermanyAnna Fali RENEWAL
Cody W ShinkoSpainStephen Shaw QUALIFIED
Octavia X OstroskyGermanyIoni Bowcher NEW
Tony S MaletUnited KingdomAsiya Javayant NEW
Jones V CaudyAustraliaBernardo Dominic PROPOSAL
Cody C StockhamRussiaOnyama Limba NEW
Francesco P TollnerAustraliaAmy Elsner QUALIFIED
David G CaudyUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh E VenereGermany2024-05-27Rousseaux, Michael Esq QUALIFIED18Xuxue Feng
1001Emily U PoquetteJapan2024-05-04King, Christopher A Esq NEW47Ivan Magalhaes
1002Mujtaba B StensethBrazil2024-05-26Benton, John B Jr UNQUALIFIED89Asiya Javayant
1003Deepesh G AlbaresArgentina2024-05-31Commercial Press NEGOTIATION79Xuxue Feng
1004Deepesh U MaletGermany2024-05-10Morlong Associates UNQUALIFIED90Ioni Bowcher
1005Munro X PoquetteAustralia2024-05-03Chemel, James L Cpa UNQUALIFIED59Xuxue Feng
1006James U PoquetteArgentina2024-05-03Benton, John B Jr NEW3Amy Elsner
1007Mayumi Z PaprockiAustralia2024-05-24Feiner Bros RENEWAL54Amy Elsner
1008Silvio Y RimBrazil2024-05-08Rangoni Of Florence NEGOTIATION80Ivan Magalhaes
1009Salvatore O AmigonUnited Kingdom2024-05-15Feltz Printing Service PROPOSAL23Elwin Sharvill
1010Isabel J AmigonJapan2024-05-28Feltz Printing Service QUALIFIED10Bernardo Dominic
1011Misaki M MorascaIndia2024-05-12Commercial Press PROPOSAL16Elwin Sharvill
1012Tony G MacleadFrance2024-05-07Printing Dimensions QUALIFIED65Bernardo Dominic
1013Murillo W WieserBrazil2024-05-25Rousseaux, Michael Esq PROPOSAL28Bernardo Dominic
1014James J MaletUnited Kingdom2024-05-09Rousseaux, Michael Esq UNQUALIFIED72Elwin Sharvill
1015Faith E OldroydRussia2024-05-30Benton, John B Jr QUALIFIED74Stephen Shaw
1016Sinclair E BowleyAustralia2024-05-07Dorl, James J Esq PROPOSAL56Stephen Shaw
1017Aruna O WaycottAustralia2024-05-19Feiner Bros RENEWAL81Ioni Bowcher
1018Deepesh V CaldareraUnited Kingdom2024-05-04Benton, John B Jr NEGOTIATION34Ioni Bowcher
1019Tony D WhobreyUnited Kingdom2024-05-02Morlong Associates NEW65Elwin Sharvill
1020Faith U MacleadUnited Kingdom2024-05-08Chemel, James L Cpa RENEWAL98Asiya Javayant
1021Octavia T GarufiUnited Kingdom2024-05-30Chanay, Jeffrey A Esq PROPOSAL33Ivan Magalhaes
1022Chavez X DarakjyArgentina2024-05-02Benton, John B Jr QUALIFIED10Asiya Javayant
1023Jones T RulapaughRussia2024-05-20Benton, John B Jr UNQUALIFIED49Anna Fali
1024Ashley W ButtArgentina2024-05-13Benton, John B Jr UNQUALIFIED12Elwin Sharvill
1025Jefferson I RutaSpain2024-05-31Benton, John B Jr RENEWAL40Amy Elsner
1026Jeanfrancois F SlusarskiRussia2024-05-02Chanay, Jeffrey A Esq RENEWAL11Asiya Javayant
1027Chavez A MaletUnited Kingdom2024-05-23Truhlar And Truhlar Attys PROPOSAL2Stephen Shaw
1028Faith G MaletRussia2024-05-10Feltz Printing Service QUALIFIED14Asiya Javayant
1029Johnson O CaudyCanada2024-05-26King, Christopher A Esq NEW76Anna Fali
1030Nicolas Z StockhamArgentina2024-05-22Commercial Press RENEWAL98Amy Elsner
1031Aruna O RutaAustralia2024-05-28Commercial Press NEGOTIATION19Asiya Javayant
1032Silvio C TollnerIndia2024-05-05Buckley Miller Wright PROPOSAL22Xuxue Feng
1033Ashley M NickaBrazil2024-05-28Chanay, Jeffrey A Esq NEW52Xuxue Feng
1034Kaitlin D ButtFrance2024-05-19Dorl, James J Esq UNQUALIFIED70Stephen Shaw
1035Aditya R ShinkoIndia2024-05-24Rousseaux, Michael Esq PROPOSAL42Bernardo Dominic
1036Sinclair Z GlickJapan2024-05-16Benton, John B Jr UNQUALIFIED17Ioni Bowcher
1037Arvin T RutaBrazil2024-05-15Benton, John B Jr UNQUALIFIED3Onyama Limba
1038Maisha X TollnerFrance2024-05-16Dorl, James J Esq PROPOSAL59Amy Elsner
1039Ivar K FerenczSpain2024-05-30Feiner Bros PROPOSAL55Bernardo Dominic
1040Ivar I CaldareraIndia2024-05-17Chemel, James L Cpa UNQUALIFIED60Amy Elsner
1041Murillo C NestleUnited Kingdom2024-05-02Chapman, Ross E Esq RENEWAL23Xuxue Feng
1042Nicolas K CaudyRussia2024-05-19Feltz Printing Service NEGOTIATION43Amy Elsner
1043Deepesh S FollerJapan2024-05-22Chemel, James L Cpa UNQUALIFIED77Stephen Shaw
1044Alejandro C NickaCanada2024-05-27Truhlar And Truhlar Attys QUALIFIED48Xuxue Feng
1045Leon L OldroydFrance2024-05-12King, Christopher A Esq QUALIFIED22Elwin Sharvill
1046Ashley D CaudyUnited Kingdom2024-05-11Buckley Miller Wright QUALIFIED50Xuxue Feng
1047Chavez A SergiAustralia2024-05-15Printing Dimensions PROPOSAL37Ivan Magalhaes
1048Leja P IturbideUnited Kingdom2024-05-04Morlong Associates QUALIFIED48Elwin Sharvill
1049Aruna M KolmetzUnited Kingdom2024-05-25King, Christopher A Esq QUALIFIED41Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba G CaldareraAustraliaIvan Magalhaes RENEWAL
Greenwood I RimCanadaAmy Elsner PROPOSAL
Maria T SchemmerAustraliaAmy Elsner RENEWAL
Johnson Q NickaItalyOnyama Limba QUALIFIED
Greenwood O BologniaCanadaAnna Fali NEW
Silvio T FigeroaItalyElwin Sharvill RENEWAL
Jefferson N CaldareraFranceOnyama Limba QUALIFIED
Aruna A PerinArgentinaElwin Sharvill NEW
Kadeem F StockhamArgentinaElwin Sharvill RENEWAL
Costa H SlusarskiAustraliaBernardo Dominic RENEWAL
Faith D ShinkoBrazilIvan Magalhaes NEW
Nicolas J FerenczArgentinaXuxue Feng NEW
David I ChuiBrazilOnyama Limba PROPOSAL
Maisha J NestleCanadaOnyama Limba NEGOTIATION
Mujtaba I StensethRussiaStephen Shaw PROPOSAL
Salvatore X BologniaBrazilAsiya Javayant QUALIFIED
Stacey X StensethIndiaAsiya Javayant PROPOSAL
Chavez I ShinkoItalyOnyama Limba NEW
Izzy W SlusarskiArgentinaStephen Shaw RENEWAL
Munro V BologniaCanadaElwin Sharvill PROPOSAL
Rodrigues H InouyeCanadaAsiya Javayant RENEWAL
Jefferson U VenereBrazilXuxue Feng NEW
Isabel N NestleCanadaIvan Magalhaes PROPOSAL
Mujtaba Y WieserItalyIoni Bowcher RENEWAL
Kaitlin O FigeroaJapanAmy Elsner NEGOTIATION
Wickens E AlbaresItalyStephen Shaw RENEWAL
Octavia N FigeroaRussiaAnna Fali UNQUALIFIED
Juan C SergiSpainIoni Bowcher QUALIFIED
Misaki L WhobreyCanadaXuxue Feng RENEWAL
Ivar J IturbideJapanOnyama Limba NEGOTIATION
Mujtaba F KuskoBrazilXuxue Feng NEW
David E BowleyFranceOnyama Limba QUALIFIED
Claire J TollnerGermanyIoni Bowcher NEW
Ashley T CaldareraIndiaOnyama Limba RENEWAL
Julie Q FerenczItalyOnyama Limba NEW
Ashley C MarrierItalyBernardo Dominic QUALIFIED
Leja W DoeJapanOnyama Limba RENEWAL
Aruna N SchemmerBrazilAsiya Javayant RENEWAL
Maisha G CaldareraSpainBernardo Dominic PROPOSAL
Mayumi P PoquetteRussiaAnna Fali QUALIFIED
Aika I NestleCanadaElwin Sharvill NEGOTIATION
Maisha X SergiGermanyAnna Fali PROPOSAL
Darci Q DilliardUnited KingdomIoni Bowcher PROPOSAL
Jennifer R MorascaItalyAmy Elsner QUALIFIED
Cody B SlusarskiItalyOnyama Limba NEGOTIATION
Costa S OldroydJapanElwin Sharvill QUALIFIED
Smith Q GarufiSpainElwin Sharvill PROPOSAL
James D DarakjyFranceOnyama Limba NEGOTIATION
Salvatore J BologniaUnited KingdomIvan Magalhaes PROPOSAL
Salvatore K InouyeRussiaElwin Sharvill NEGOTIATION
Frozen Columns
Name
David H Ferencz
Jeanfrancois H Dilliard
Antonio D Briddick
Johnson P Nestle
Izzy O Darakjy
Julie O Kolmetz
Chavez N Flosi
Johnson A Sergi
Adams X Foller
Aditya O Schemmer
Chavez O Morasca
Morrow X Schemmer
Antonio V Venere
Maisha D Rim
Sinclair N Nestle
Mujtaba K Foller
Salvatore P Morasca
Jones P Stockham
Salvatore D Dilliard
Jeanfrancois X Paprocki
Darci I Ferencz
Salvatore Q Shinko
Tony Q Nicka
Johnson P Paprocki
Salvatore U Slusarski
Jones L Sergi
Kaitlin E Malet
Munro Q Kusko
Chavez Z Tollner
Misaki P Stockham
Murillo J Glick
Leon A Poquette
Adams M Nestle
Sinclair I Shinko
Darci W Saylors
Octavia I Ferencz
Jeanfrancois E Glick
Munro D Oldroyd
Mujtaba C Gillian
Munro W Nestle
Mujtaba W Waycott
Juan Y Marrier
Ivar J Darakjy
Alejandro L Garufi
Aika I Caldarera
Morrow A Amigon
Mujtaba N Foller
Francesco Y Campain
Greenwood T Bowley
Arvin Q Malet
IdCountryDate
1000Russia2024-05-04
1001Australia2024-05-19
1002Canada2024-05-17
1003Australia2024-05-11
1004Russia2024-05-18
1005Australia2024-05-13
1006France2024-05-16
1007Spain2024-05-02
1008Spain2024-05-22
1009Italy2024-05-30
1010Japan2024-05-19
1011United Kingdom2024-05-02
1012Australia2024-05-26
1013Italy2024-05-29
1014Japan2024-05-26
1015Italy2024-05-19
1016Brazil2024-05-22
1017Japan2024-05-17
1018Argentina2024-05-20
1019Argentina2024-05-30
1020United Kingdom2024-05-17
1021Germany2024-05-23
1022Russia2024-05-31
1023Russia2024-05-02
1024United Kingdom2024-05-03
1025Germany2024-05-20
1026Canada2024-05-13
1027Australia2024-05-17
1028France2024-05-23
1029Japan2024-05-14
1030Spain2024-05-19
1031Italy2024-05-09
1032Italy2024-05-23
1033Brazil2024-05-10
1034Germany2024-05-06
1035Germany2024-05-24
1036Germany2024-05-28
1037India2024-05-20
1038Canada2024-05-04
1039United Kingdom2024-05-18
1040India2024-05-25
1041Canada2024-05-10
1042Argentina2024-05-21
1043Spain2024-05-25
1044Spain2024-05-09
1045Germany2024-05-03
1046Brazil2024-05-19
1047Canada2024-05-02
1048Spain2024-05-29
1049Russia2024-05-05

On-Demand Data

NameIdCountryDate
Jennifer N Venere1000Argentina2024-05-28
Jefferson E Waycott1001Brazil2024-05-09
Emily P Poquette1002Russia2024-05-10
Aditya O Briddick1003United Kingdom2024-05-25
Stacey R Paprocki1004Spain2024-05-13
Aditya Y Ferencz1005India2024-05-29
Cody R Kusko1006Japan2024-05-26
Deepesh J Albares1007Germany2024-05-27
Johnson C Albares1008Brazil2024-05-23
Munro J Caudy1009United Kingdom2024-05-09
Morrow K Wieser1010Brazil2024-05-05
Deepesh E Nestle1011Brazil2024-05-07
Jones M Bowley1012Germany2024-05-26
Stacey G Marrier1013India2024-05-18
Juan Y Morasca1014France2024-05-18
Maria X Bolognia1015Russia2024-05-28
Munro K Sergi1016Japan2024-05-07
Munro P Shinko1017Australia2024-05-28
Misaki H Stockham1018Italy2024-05-31
Maisha B Rim1019Japan2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa A PerinFranceIvan Magalhaes RENEWAL
Emily A PerinRussiaStephen Shaw QUALIFIED
Smith S CaudyGermanyIoni Bowcher UNQUALIFIED
Izzy G WaycottItalyStephen Shaw PROPOSAL
Silvio Q BowleyBrazilOnyama Limba NEW
Emily P ShinkoFranceIvan Magalhaes PROPOSAL
Mayumi R GlickArgentinaElwin Sharvill PROPOSAL
Morrow A SaylorsRussiaOnyama Limba QUALIFIED
Maria W BriddickGermanyAnna Fali QUALIFIED
Isabel U VenereUnited KingdomOnyama Limba RENEWAL
Kaitlin P AlbaresCanadaIvan Magalhaes NEGOTIATION
Nicolas Y OldroydSpainAmy Elsner QUALIFIED
Julie L SchemmerItalyElwin Sharvill NEGOTIATION
Arvin F WieserItalyOnyama Limba QUALIFIED
Tony M KolmetzUnited KingdomAmy Elsner QUALIFIED
Aditya W TollnerCanadaAnna Fali PROPOSAL
Julie J FlosiAustraliaBernardo Dominic UNQUALIFIED
Jones Q MarrierFranceStephen Shaw RENEWAL
James Q VocelkaRussiaIvan Magalhaes QUALIFIED
Jeanfrancois J MorascaGermanyStephen Shaw PROPOSAL
Leon X VenereFranceAmy Elsner UNQUALIFIED
Aditya M DilliardGermanyIvan Magalhaes NEGOTIATION
Aruna C MaletFranceIvan Magalhaes QUALIFIED
Stacey F MorascaFranceIvan Magalhaes QUALIFIED
Isabel Z PaprockiFranceAmy Elsner NEW
Clifford B MaletFranceBernardo Dominic NEGOTIATION
Costa T TollnerUnited KingdomIoni Bowcher RENEWAL
Darci U ButtItalyIoni Bowcher PROPOSAL
Julie R MarrierJapanXuxue Feng QUALIFIED
Alejandro H MaletBrazilIoni Bowcher UNQUALIFIED
Darci Z VenereArgentinaAnna Fali UNQUALIFIED
Darci E RutaJapanAnna Fali NEW
Sinclair Z WieserFranceAmy Elsner RENEWAL
Ricardo G FigeroaAustraliaIvan Magalhaes NEGOTIATION
Juan X FollerAustraliaStephen Shaw PROPOSAL
Kadeem Q PerinItalyAnna Fali PROPOSAL
Ricardo V AlbaresBrazilXuxue Feng NEW
Darci Y VocelkaSpainElwin Sharvill NEGOTIATION
Jones D StockhamRussiaXuxue Feng QUALIFIED
Octavia X CaudyGermanyAnna Fali 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>