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
David W PerinSpainBernardo Dominic NEGOTIATION
Julie L GauchoItalyAmy Elsner UNQUALIFIED
Darci K CaudyIndiaElwin Sharvill PROPOSAL
Sinclair L VenereJapanBernardo Dominic NEW
Chavez U SlusarskiIndiaAnna Fali PROPOSAL
Maisha S AlbaresAustraliaIvan Magalhaes QUALIFIED
Ivar I IturbideAustraliaAsiya Javayant NEW
Antonio P SergiSpainOnyama Limba NEGOTIATION
Rodrigues U SchemmerRussiaAsiya Javayant UNQUALIFIED
Johnson G FerenczFranceAsiya Javayant NEGOTIATION
Sinclair Z PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Jefferson I KolmetzFranceElwin Sharvill NEGOTIATION
Julie G PerinJapanAnna Fali PROPOSAL
Alejandro D BriddickSpainAnna Fali NEGOTIATION
Tony B KuskoRussiaStephen Shaw UNQUALIFIED
Cody Q RimRussiaOnyama Limba UNQUALIFIED
Alejandro G WieserRussiaIvan Magalhaes NEW
Johnson Y GauchoIndiaBernardo Dominic PROPOSAL
Izzy E SaylorsCanadaAnna Fali NEGOTIATION
Maisha T ChuiCanadaElwin Sharvill UNQUALIFIED
Tony I CaudyFranceAsiya Javayant RENEWAL
Munro N WaycottItalyIoni Bowcher NEGOTIATION
James O RimGermanyIoni Bowcher PROPOSAL
Maria B RoysterJapanElwin Sharvill QUALIFIED
Ivar W MorascaJapanBernardo Dominic UNQUALIFIED
Antonio O KolmetzIndiaIoni Bowcher RENEWAL
Darci Z PerinSpainIvan Magalhaes QUALIFIED
Antonio L SaylorsCanadaIvan Magalhaes UNQUALIFIED
Cody T DoeFranceIoni Bowcher UNQUALIFIED
Mujtaba Q FigeroaJapanIvan Magalhaes PROPOSAL
Silvio I RoysterJapanIoni Bowcher QUALIFIED
Darci Z FigeroaCanadaAnna Fali NEW
Morrow D NickaAustraliaIvan Magalhaes QUALIFIED
Darci D DarakjySpainAsiya Javayant RENEWAL
Mujtaba W MorascaJapanAnna Fali NEW
Francesco N ShinkoItalyIvan Magalhaes NEW
Johnson F RimUnited KingdomIvan Magalhaes UNQUALIFIED
Darci N BowleyUnited KingdomAsiya Javayant PROPOSAL
Claire X KuskoRussiaAsiya Javayant RENEWAL
Morrow K BriddickBrazilAsiya Javayant PROPOSAL
Murillo S SaylorsJapanAnna Fali NEW
Greenwood G MorascaIndiaIoni Bowcher NEW
Francesco A DoeUnited KingdomStephen Shaw PROPOSAL
Leon H FerenczSpainStephen Shaw UNQUALIFIED
Alejandro F CaldareraGermanyIoni Bowcher PROPOSAL
Deepesh M BologniaRussiaIoni Bowcher RENEWAL
Kaitlin M DarakjyFranceAnna Fali UNQUALIFIED
Leon V KuskoArgentinaIoni Bowcher PROPOSAL
Munro H WieserJapanXuxue Feng NEW
Kaitlin J SlusarskiBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha X OldroydJapanXuxue Feng NEW
Nicolas Z VenereIndiaStephen Shaw QUALIFIED
Costa Y MacleadBrazilElwin Sharvill PROPOSAL
Johnson K SlusarskiItalyBernardo Dominic QUALIFIED
Maria P StensethUnited KingdomBernardo Dominic RENEWAL
Jefferson I ChuiBrazilElwin Sharvill UNQUALIFIED
Maria I MaletFranceAnna Fali QUALIFIED
Leja D ChuiUnited KingdomAmy Elsner PROPOSAL
Emily E NickaGermanyXuxue Feng NEW
Sinclair N RulapaughRussiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair D CampainUnited Kingdom2024-06-13Rousseaux, Michael Esq NEGOTIATION90Anna Fali
1001Rodrigues G FollerRussia2024-06-03Commercial Press NEGOTIATION71Xuxue Feng
1002Mayumi W SaylorsRussia2024-06-06Printing Dimensions PROPOSAL49Amy Elsner
1003Cody I GauchoIndia2024-06-06Feiner Bros QUALIFIED48Elwin Sharvill
1004Aika R DilliardUnited Kingdom2024-06-02Truhlar And Truhlar Attys UNQUALIFIED13Stephen Shaw
1005Maisha G NestleAustralia2024-06-02Chanay, Jeffrey A Esq NEGOTIATION18Xuxue Feng
1006James V StensethBrazil2024-05-26Rangoni Of Florence NEW52Ioni Bowcher
1007Morrow C KuskoIndia2024-06-14Commercial Press RENEWAL15Stephen Shaw
1008Emily Q StensethArgentina2024-06-16Morlong Associates UNQUALIFIED66Xuxue Feng
1009Juan L BowleyIndia2024-06-19Chapman, Ross E Esq UNQUALIFIED93Anna Fali
1010Misaki Q WieserArgentina2024-06-15Chapman, Ross E Esq PROPOSAL27Ioni Bowcher
1011Johnson T FerenczGermany2024-06-01Benton, John B Jr NEW51Amy Elsner
1012Cody X RulapaughSpain2024-05-30Chapman, Ross E Esq QUALIFIED96Amy Elsner
1013Aika Z BowleyJapan2024-05-25King, Christopher A Esq UNQUALIFIED42Anna Fali
1014Faith V NestleSpain2024-05-30King, Christopher A Esq RENEWAL35Asiya Javayant
1015Francesco L SaylorsIndia2024-06-08Commercial Press NEW22Stephen Shaw
1016Chavez Y StensethArgentina2024-06-13Chapman, Ross E Esq NEW24Anna Fali
1017Silvio G MarrierIndia2024-06-02Chapman, Ross E Esq RENEWAL21Ioni Bowcher
1018Francesco L GauchoBrazil2024-05-25Benton, John B Jr RENEWAL62Ioni Bowcher
1019Clifford K ChuiJapan2024-06-09Commercial Press QUALIFIED64Onyama Limba
1020Munro R VenereCanada2024-06-13Morlong Associates UNQUALIFIED76Ioni Bowcher
1021David B ButtJapan2024-05-30Truhlar And Truhlar Attys NEW81Onyama Limba
1022David H MarrierRussia2024-06-07Dorl, James J Esq QUALIFIED43Xuxue Feng
1023Ivar E MarrierUnited Kingdom2024-06-15Commercial Press PROPOSAL53Ioni Bowcher
1024Costa K WhobreyItaly2024-06-14Chemel, James L Cpa PROPOSAL46Stephen Shaw
1025Ivar B FlosiCanada2024-05-25Chapman, Ross E Esq RENEWAL95Stephen Shaw
1026Jones Q RimIndia2024-06-05Benton, John B Jr RENEWAL99Ivan Magalhaes
1027David R MaletAustralia2024-06-12Dorl, James J Esq QUALIFIED79Asiya Javayant
1028Ricardo M DilliardUnited Kingdom2024-05-24King, Christopher A Esq NEGOTIATION76Onyama Limba
1029Munro X WieserJapan2024-06-08Chapman, Ross E Esq UNQUALIFIED20Ivan Magalhaes
1030Maria B WhobreyCanada2024-06-16Printing Dimensions RENEWAL38Ioni Bowcher
1031Aika M SlusarskiJapan2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED6Elwin Sharvill
1032Aika W CampainIndia2024-06-10King, Christopher A Esq NEW74Elwin Sharvill
1033Antonio U RimArgentina2024-05-27Dorl, James J Esq QUALIFIED92Ivan Magalhaes
1034Arvin I PoquetteGermany2024-06-06Chapman, Ross E Esq QUALIFIED80Amy Elsner
1035Jones S VocelkaGermany2024-05-28King, Christopher A Esq PROPOSAL96Stephen Shaw
1036Cody P IturbideArgentina2024-06-02Printing Dimensions RENEWAL76Onyama Limba
1037Kadeem F WhobreyBrazil2024-06-08King, Christopher A Esq UNQUALIFIED22Ioni Bowcher
1038Smith O GarufiFrance2024-06-19Chapman, Ross E Esq NEGOTIATION28Xuxue Feng
1039Aruna S OstroskyFrance2024-05-24Rousseaux, Michael Esq QUALIFIED62Anna Fali
1040Stacey S VocelkaJapan2024-05-27Morlong Associates NEGOTIATION6Ioni Bowcher
1041Maisha W PaprockiGermany2024-05-24Benton, John B Jr NEGOTIATION41Asiya Javayant
1042Darci B WaycottSpain2024-06-04Feiner Bros QUALIFIED94Anna Fali
1043Maria C RutaItaly2024-06-12Rousseaux, Michael Esq PROPOSAL54Ioni Bowcher
1044Alejandro B KuskoBrazil2024-06-13Morlong Associates UNQUALIFIED72Stephen Shaw
1045Maria N SergiGermany2024-06-14Chanay, Jeffrey A Esq NEW57Stephen Shaw
1046Chavez Q DilliardIndia2024-05-25Rangoni Of Florence RENEWAL69Asiya Javayant
1047Isabel C BriddickCanada2024-06-05Morlong Associates QUALIFIED29Bernardo Dominic
1048Clifford R BologniaRussia2024-06-08King, Christopher A Esq PROPOSAL67Ivan Magalhaes
1049Tony J MorascaBrazil2024-06-11Rousseaux, Michael Esq PROPOSAL86Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Adams E ButtItalyAsiya Javayant PROPOSAL
Aditya C AmigonSpainAsiya Javayant QUALIFIED
Smith F CampainGermanyXuxue Feng QUALIFIED
Munro P ChuiGermanyIoni Bowcher QUALIFIED
Julie M OldroydAustraliaStephen Shaw UNQUALIFIED
Chavez I CaudyIndiaOnyama Limba RENEWAL
Smith L StensethItalyXuxue Feng PROPOSAL
Arvin C NickaJapanIvan Magalhaes PROPOSAL
Leja J GarufiCanadaStephen Shaw RENEWAL
Munro P MaletRussiaAsiya Javayant PROPOSAL
Adams D ChuiRussiaAnna Fali PROPOSAL
Claire G VocelkaUnited KingdomStephen Shaw NEW
Greenwood P SergiJapanIoni Bowcher PROPOSAL
Salvatore K MaletBrazilIvan Magalhaes RENEWAL
Munro H CaldareraRussiaOnyama Limba UNQUALIFIED
Kaitlin C PaprockiAustraliaElwin Sharvill PROPOSAL
Faith K AlbaresSpainElwin Sharvill UNQUALIFIED
Octavia I AmigonItalyElwin Sharvill RENEWAL
Alejandro M MaletSpainStephen Shaw PROPOSAL
Costa K OstroskyUnited KingdomBernardo Dominic RENEWAL
Isabel N ShinkoBrazilAnna Fali NEGOTIATION
Silvio H TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio S InouyeFranceIoni Bowcher NEW
Darci W VocelkaGermanyIvan Magalhaes NEGOTIATION
Jennifer Y SaylorsItalyElwin Sharvill NEW
Jeanfrancois Z MaletUnited KingdomAnna Fali NEGOTIATION
Francesco G GauchoCanadaStephen Shaw UNQUALIFIED
Maria W SergiItalyBernardo Dominic UNQUALIFIED
Mayumi T OldroydCanadaXuxue Feng NEW
Johnson E PaprockiSpainAnna Fali NEW
Faith R MaletRussiaOnyama Limba QUALIFIED
Arvin S MaletBrazilIvan Magalhaes UNQUALIFIED
Tony Z RutaIndiaXuxue Feng NEGOTIATION
Kaitlin Q CampainAustraliaXuxue Feng NEGOTIATION
Smith O FlosiIndiaXuxue Feng UNQUALIFIED
Francesco S MorascaUnited KingdomOnyama Limba QUALIFIED
Munro Z IturbideUnited KingdomAsiya Javayant NEGOTIATION
Clifford S KuskoRussiaElwin Sharvill RENEWAL
Kaitlin H VocelkaAustraliaIoni Bowcher PROPOSAL
Ivar H TollnerGermanyIvan Magalhaes QUALIFIED
Kadeem Z SlusarskiCanadaBernardo Dominic RENEWAL
Arvin Y RutaAustraliaAmy Elsner NEGOTIATION
Maria R BowleyIndiaOnyama Limba UNQUALIFIED
Jefferson R WieserSpainAmy Elsner QUALIFIED
Cody Q NickaUnited KingdomBernardo Dominic RENEWAL
Deepesh R SaylorsFranceAsiya Javayant RENEWAL
Adams G VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer A GlickItalyAsiya Javayant UNQUALIFIED
Smith K NestleIndiaIoni Bowcher RENEWAL
Salvatore Z CampainGermanyOnyama Limba QUALIFIED
Frozen Columns
Name
Nicolas P Shinko
Juan X Venere
Faith I Glick
Cody C Glick
Silvio W Malet
Rodrigues Y Nestle
Costa M Kusko
Stacey S Ferencz
Aika M Tollner
Morrow I Wieser
Maria E Maclead
Murillo U Kolmetz
Faith E Marrier
Murillo V Venere
Kaitlin X Royster
Isabel M Paprocki
Maisha G Royster
Kaitlin R Perin
Greenwood U Foller
Johnson C Sergi
Jones K Kolmetz
Stacey E Morasca
Rodrigues O Ruta
Faith D Ruta
Chavez U Briddick
Salvatore U Dilliard
Aika T Paprocki
Ivar M Venere
Murillo H Kusko
Johnson L Ruta
Cody P Wieser
Faith U Paprocki
Isabel Z Garufi
Leja C Gaucho
Johnson F Kolmetz
Juan F Slusarski
Deepesh E Chui
Maisha D Vocelka
Nicolas X Caldarera
Octavia I Morasca
Wickens N Malet
Antonio Z Tollner
James B Caudy
Aika U Figeroa
Maria L Oldroyd
Wickens Z Caldarera
Alejandro Q Nestle
Claire A Dilliard
Sinclair D Flosi
Juan V Poquette
IdCountryDate
1000Spain2024-05-25
1001Japan2024-06-13
1002United Kingdom2024-06-05
1003United Kingdom2024-05-30
1004India2024-06-09
1005France2024-06-11
1006Spain2024-06-08
1007Spain2024-05-24
1008Australia2024-05-31
1009United Kingdom2024-05-30
1010United Kingdom2024-06-08
1011France2024-06-06
1012Russia2024-05-24
1013Italy2024-06-21
1014India2024-05-24
1015Canada2024-06-11
1016Brazil2024-06-13
1017Germany2024-06-17
1018Spain2024-06-06
1019Australia2024-05-24
1020France2024-06-13
1021Spain2024-06-09
1022Argentina2024-05-31
1023Japan2024-06-06
1024Russia2024-06-08
1025Germany2024-06-21
1026Canada2024-06-04
1027Russia2024-06-17
1028Argentina2024-06-18
1029Russia2024-05-28
1030Russia2024-06-02
1031United Kingdom2024-05-25
1032United Kingdom2024-06-04
1033Germany2024-06-19
1034Italy2024-06-10
1035India2024-06-20
1036Spain2024-05-30
1037Spain2024-05-24
1038Italy2024-06-07
1039Argentina2024-06-19
1040Australia2024-06-17
1041Spain2024-06-07
1042Canada2024-06-11
1043Germany2024-06-12
1044Germany2024-06-18
1045Germany2024-06-14
1046Australia2024-06-03
1047Brazil2024-06-13
1048Germany2024-06-01
1049Spain2024-06-21

On-Demand Data

NameIdCountryDate
Izzy D Garufi1000India2024-06-22
Salvatore F Malet1001Germany2024-06-15
Adams P Kolmetz1002United Kingdom2024-06-12
Francesco S Campain1003Germany2024-06-13
Johnson V Vocelka1004Canada2024-05-27
Clifford S Iturbide1005Canada2024-06-01
Greenwood P Royster1006Australia2024-06-06
Tony X Tollner1007Argentina2024-05-31
Emily J Schemmer1008Australia2024-06-09
Leja U Flosi1009Canada2024-05-25
Francesco B Malet1010United Kingdom2024-06-15
Leon K Butt1011Spain2024-06-08
Jennifer X Royster1012India2024-06-11
Rodrigues C Waycott1013Russia2024-05-27
Mayumi L Glick1014Brazil2024-06-08
Morrow D Perin1015Spain2024-06-10
Octavia Q Dilliard1016Australia2024-06-14
Jeanfrancois K Albares1017India2024-06-11
Nicolas G Caudy1018France2024-06-11
Adams U Iturbide1019France2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin C GarufiArgentinaStephen Shaw UNQUALIFIED
Stacey Y FollerArgentinaIvan Magalhaes RENEWAL
Alejandro E DoeItalyOnyama Limba PROPOSAL
Sinclair N OldroydGermanyIvan Magalhaes NEGOTIATION
Francesco M CampainIndiaBernardo Dominic NEGOTIATION
Smith X DoeRussiaAnna Fali NEGOTIATION
Jones F VocelkaRussiaBernardo Dominic RENEWAL
Alejandro C TollnerGermanyStephen Shaw UNQUALIFIED
Morrow V VocelkaRussiaStephen Shaw NEW
Izzy G PaprockiAustraliaAsiya Javayant NEW
Leja U FerenczCanadaIoni Bowcher NEGOTIATION
Costa S RoysterArgentinaElwin Sharvill NEGOTIATION
Alejandro I KuskoFranceIvan Magalhaes QUALIFIED
Jefferson A SlusarskiGermanyStephen Shaw QUALIFIED
Arvin F CaldareraAustraliaXuxue Feng QUALIFIED
Darci M GauchoCanadaOnyama Limba PROPOSAL
Stacey D VenereGermanyIoni Bowcher NEW
Chavez I GauchoItalyAmy Elsner NEW
Cody Z DilliardSpainIvan Magalhaes RENEWAL
David Q PerinItalyStephen Shaw NEW
Costa E RulapaughAustraliaAnna Fali QUALIFIED
Alejandro N MaletItalyBernardo Dominic NEW
Silvio T WhobreyBrazilIvan Magalhaes PROPOSAL
Munro U FerenczBrazilAmy Elsner PROPOSAL
Maria T PaprockiGermanyIoni Bowcher NEGOTIATION
Octavia F RulapaughFranceElwin Sharvill NEW
David K FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi G NickaBrazilXuxue Feng UNQUALIFIED
Kaitlin O GillianIndiaElwin Sharvill NEGOTIATION
Jefferson T AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Ivar O ButtItalyAsiya Javayant UNQUALIFIED
Maisha S IturbideRussiaIvan Magalhaes PROPOSAL
Jefferson W BriddickCanadaBernardo Dominic PROPOSAL
Aruna G RulapaughAustraliaElwin Sharvill QUALIFIED
Jefferson C SlusarskiFranceAsiya Javayant RENEWAL
Deepesh P KuskoArgentinaXuxue Feng PROPOSAL
Misaki C VenereUnited KingdomBernardo Dominic QUALIFIED
Nicolas X IturbideRussiaOnyama Limba QUALIFIED
Ricardo Q CaldareraRussiaIoni Bowcher UNQUALIFIED
Silvio N GauchoCanadaElwin Sharvill 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>