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
Ricardo Z BowleySpainOnyama Limba NEGOTIATION
Jennifer N MorascaItalyStephen Shaw RENEWAL
Sinclair B RutaJapanBernardo Dominic RENEWAL
Smith D ShinkoIndiaIoni Bowcher UNQUALIFIED
Nicolas C GauchoIndiaIoni Bowcher QUALIFIED
Maria T CampainSpainElwin Sharvill NEGOTIATION
Julie B FollerBrazilElwin Sharvill RENEWAL
Jeanfrancois L CaldareraItalyElwin Sharvill NEW
Salvatore G CaldareraBrazilElwin Sharvill UNQUALIFIED
Cody O CampainJapanIoni Bowcher NEW
Darci V SlusarskiJapanXuxue Feng NEW
Sinclair U KuskoItalyOnyama Limba NEW
Leja Y SergiBrazilOnyama Limba UNQUALIFIED
Wickens B WieserIndiaAmy Elsner NEW
Claire H RulapaughBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois Z SchemmerAustraliaAmy Elsner QUALIFIED
Antonio D NestleIndiaBernardo Dominic RENEWAL
Misaki E BologniaUnited KingdomStephen Shaw PROPOSAL
Aditya B GarufiItalyOnyama Limba NEW
Faith T SlusarskiCanadaOnyama Limba NEGOTIATION
Ivar Z KolmetzGermanyAnna Fali RENEWAL
Chavez U RimJapanAnna Fali QUALIFIED
Leon C BriddickSpainOnyama Limba NEGOTIATION
Jeanfrancois N OstroskyUnited KingdomBernardo Dominic QUALIFIED
Stacey A BowleyUnited KingdomAsiya Javayant NEW
David Q PaprockiGermanyIoni Bowcher RENEWAL
Wickens Q AmigonAustraliaAsiya Javayant PROPOSAL
Arvin N KolmetzFranceStephen Shaw RENEWAL
Ashley N InouyeItalyAmy Elsner QUALIFIED
Jennifer Z RutaUnited KingdomOnyama Limba RENEWAL
Kaitlin Q GarufiJapanIvan Magalhaes PROPOSAL
Claire G FollerCanadaAsiya Javayant RENEWAL
Arvin N MorascaItalyElwin Sharvill UNQUALIFIED
Jones F NickaRussiaIvan Magalhaes QUALIFIED
Murillo U OldroydSpainElwin Sharvill NEW
Mayumi K PerinRussiaOnyama Limba NEW
David G WaycottItalyAnna Fali NEGOTIATION
Kaitlin G BowleyCanadaIoni Bowcher NEGOTIATION
Maria T WhobreyGermanyOnyama Limba QUALIFIED
Faith Y GlickIndiaOnyama Limba PROPOSAL
Jeanfrancois R SergiCanadaIvan Magalhaes UNQUALIFIED
David Q DilliardGermanyStephen Shaw UNQUALIFIED
Aika Q DoeJapanBernardo Dominic NEGOTIATION
Chavez T CampainGermanyOnyama Limba NEW
Costa D DilliardFranceAsiya Javayant RENEWAL
Wickens U InouyeCanadaBernardo Dominic NEW
Jeanfrancois P RimJapanIoni Bowcher PROPOSAL
Smith F DoeGermanyAsiya Javayant NEW
Izzy P RimItalyAnna Fali QUALIFIED
Octavia A WaycottUnited KingdomOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Johnson P KolmetzBrazilElwin Sharvill NEGOTIATION
David R MaletJapanXuxue Feng NEGOTIATION
Salvatore L VocelkaIndiaIvan Magalhaes UNQUALIFIED
Maisha T StensethItalyStephen Shaw UNQUALIFIED
Leon T InouyeRussiaOnyama Limba PROPOSAL
Nicolas A CaldareraSpainAsiya Javayant UNQUALIFIED
Aruna G KuskoBrazilStephen Shaw NEGOTIATION
Nicolas H StockhamRussiaIvan Magalhaes NEW
Claire E OstroskyUnited KingdomAsiya Javayant QUALIFIED
Mayumi F GauchoIndiaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika R KolmetzGermany2024-05-26Rousseaux, Michael Esq PROPOSAL48Ivan Magalhaes
1001Isabel Q FigeroaArgentina2024-06-19Feltz Printing Service RENEWAL4Amy Elsner
1002Emily Z VenereItaly2024-06-17Benton, John B Jr NEGOTIATION30Anna Fali
1003Maisha D SlusarskiUnited Kingdom2024-06-11Printing Dimensions QUALIFIED79Bernardo Dominic
1004Aditya L KuskoAustralia2024-06-03Feltz Printing Service RENEWAL46Ioni Bowcher
1005Greenwood A IturbideAustralia2024-06-16Dorl, James J Esq NEW57Ivan Magalhaes
1006Salvatore K IturbideSpain2024-06-07Commercial Press PROPOSAL90Amy Elsner
1007Leon L DilliardUnited Kingdom2024-05-31Benton, John B Jr NEW37Amy Elsner
1008Morrow I RutaJapan2024-05-30Dorl, James J Esq RENEWAL46Bernardo Dominic
1009Munro K GillianJapan2024-05-28Chemel, James L Cpa RENEWAL42Ivan Magalhaes
1010Aruna V FerenczItaly2024-06-16Feiner Bros RENEWAL20Anna Fali
1011Ivar Z RutaJapan2024-06-18King, Christopher A Esq RENEWAL79Onyama Limba
1012Arvin N StockhamBrazil2024-06-19Feltz Printing Service UNQUALIFIED79Ivan Magalhaes
1013Octavia N SchemmerGermany2024-06-09King, Christopher A Esq NEW19Asiya Javayant
1014Faith G NestleBrazil2024-06-20Buckley Miller Wright NEW36Ioni Bowcher
1015Isabel Y KuskoJapan2024-06-11Dorl, James J Esq NEGOTIATION60Onyama Limba
1016Greenwood B MarrierAustralia2024-06-02Buckley Miller Wright NEW62Onyama Limba
1017Octavia W RoysterGermany2024-06-06Chemel, James L Cpa UNQUALIFIED86Elwin Sharvill
1018Maisha W WaycottBrazil2024-05-30Chanay, Jeffrey A Esq QUALIFIED57Ioni Bowcher
1019Deepesh N ChuiItaly2024-06-06Printing Dimensions NEGOTIATION36Asiya Javayant
1020Aika V StensethBrazil2024-06-07Chanay, Jeffrey A Esq PROPOSAL62Asiya Javayant
1021Ivar E OstroskyJapan2024-06-11Feltz Printing Service PROPOSAL83Elwin Sharvill
1022Ashley G PaprockiGermany2024-06-01Morlong Associates PROPOSAL61Amy Elsner
1023Sinclair Z StockhamRussia2024-05-26Benton, John B Jr NEW47Bernardo Dominic
1024Maisha P ShinkoCanada2024-06-08Chemel, James L Cpa UNQUALIFIED74Anna Fali
1025Aditya K PerinUnited Kingdom2024-05-30Rousseaux, Michael Esq NEW27Ivan Magalhaes
1026Adams I GarufiAustralia2024-06-11Printing Dimensions RENEWAL3Ioni Bowcher
1027Juan T WieserFrance2024-06-18Truhlar And Truhlar Attys QUALIFIED45Ivan Magalhaes
1028Leja C SlusarskiCanada2024-06-02Morlong Associates NEGOTIATION2Anna Fali
1029Izzy R ChuiArgentina2024-05-30Morlong Associates NEGOTIATION60Stephen Shaw
1030Maria I BriddickArgentina2024-06-14Chanay, Jeffrey A Esq NEW69Amy Elsner
1031Jefferson H TollnerAustralia2024-06-20Feltz Printing Service QUALIFIED11Ivan Magalhaes
1032Chavez O PaprockiSpain2024-06-11Feltz Printing Service UNQUALIFIED45Xuxue Feng
1033Julie L RulapaughFrance2024-06-17Truhlar And Truhlar Attys PROPOSAL29Stephen Shaw
1034Wickens B StensethAustralia2024-06-11Rangoni Of Florence UNQUALIFIED29Elwin Sharvill
1035Johnson A SlusarskiGermany2024-06-09Printing Dimensions UNQUALIFIED29Elwin Sharvill
1036Francesco I VocelkaIndia2024-06-08Commercial Press QUALIFIED41Stephen Shaw
1037Antonio Y DilliardGermany2024-05-27Benton, John B Jr QUALIFIED10Elwin Sharvill
1038Maria O GauchoCanada2024-05-31Printing Dimensions NEGOTIATION36Onyama Limba
1039Alejandro G PerinAustralia2024-05-26Feltz Printing Service PROPOSAL5Ivan Magalhaes
1040Adams Y KolmetzGermany2024-06-13Feiner Bros PROPOSAL43Bernardo Dominic
1041Wickens B MaletAustralia2024-06-15King, Christopher A Esq NEGOTIATION15Elwin Sharvill
1042Chavez X IturbideAustralia2024-06-10Dorl, James J Esq QUALIFIED56Ivan Magalhaes
1043Chavez J AmigonAustralia2024-06-09Feltz Printing Service NEGOTIATION82Stephen Shaw
1044Maisha K BriddickRussia2024-05-26Truhlar And Truhlar Attys QUALIFIED26Xuxue Feng
1045Stacey R FigeroaRussia2024-06-09Buckley Miller Wright RENEWAL4Onyama Limba
1046Murillo N IturbideSpain2024-06-19Morlong Associates RENEWAL98Bernardo Dominic
1047Silvio W SaylorsItaly2024-05-26Rangoni Of Florence RENEWAL88Elwin Sharvill
1048Jeanfrancois T RimFrance2024-05-31Morlong Associates PROPOSAL7Ivan Magalhaes
1049Emily N SaylorsUnited Kingdom2024-05-28Feltz Printing Service UNQUALIFIED8Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David R ShinkoItalyAsiya Javayant RENEWAL
Wickens Z FigeroaArgentinaIvan Magalhaes NEGOTIATION
Aruna H CampainAustraliaElwin Sharvill RENEWAL
Maisha X OstroskyFranceAnna Fali NEGOTIATION
Leon E OldroydRussiaAmy Elsner RENEWAL
Alejandro U TollnerBrazilIvan Magalhaes PROPOSAL
Jeanfrancois U WaycottGermanyOnyama Limba QUALIFIED
Ashley G KuskoIndiaXuxue Feng PROPOSAL
Jones L VenereAustraliaAmy Elsner PROPOSAL
Munro C VocelkaGermanyIvan Magalhaes NEGOTIATION
Stacey W FerenczRussiaElwin Sharvill NEGOTIATION
Jennifer Z PerinJapanIvan Magalhaes QUALIFIED
Costa Z CaudyBrazilAmy Elsner PROPOSAL
Claire J ShinkoSpainElwin Sharvill RENEWAL
Ivar I ShinkoRussiaAnna Fali QUALIFIED
Kadeem A TollnerCanadaIoni Bowcher NEGOTIATION
Claire I DarakjyBrazilAnna Fali NEW
Kaitlin I ChuiItalyOnyama Limba NEW
Rodrigues O GillianAustraliaAnna Fali RENEWAL
Greenwood K VocelkaJapanOnyama Limba QUALIFIED
Morrow Z BriddickBrazilAnna Fali RENEWAL
Cody W FollerAustraliaElwin Sharvill PROPOSAL
Silvio R KolmetzGermanyXuxue Feng RENEWAL
Aditya V PerinRussiaBernardo Dominic PROPOSAL
Chavez M SaylorsBrazilXuxue Feng UNQUALIFIED
Jefferson C NestleFranceAsiya Javayant UNQUALIFIED
Chavez L NickaIndiaXuxue Feng RENEWAL
Faith N CaldareraArgentinaAsiya Javayant QUALIFIED
Nicolas C MaletIndiaXuxue Feng PROPOSAL
Mayumi T BologniaArgentinaAnna Fali UNQUALIFIED
Chavez N ButtArgentinaAsiya Javayant RENEWAL
Leon Z WieserArgentinaAnna Fali NEW
Leja P ButtFranceOnyama Limba NEGOTIATION
David H IturbideArgentinaAsiya Javayant UNQUALIFIED
Stacey Z DarakjyJapanXuxue Feng NEW
Nicolas I AlbaresBrazilAmy Elsner QUALIFIED
Aditya T PoquetteFranceAsiya Javayant PROPOSAL
Emily E KolmetzItalyXuxue Feng UNQUALIFIED
Juan X VenereUnited KingdomAnna Fali PROPOSAL
Alejandro E WhobreyAustraliaElwin Sharvill QUALIFIED
Deepesh R VenereIndiaElwin Sharvill UNQUALIFIED
Smith U BriddickIndiaAnna Fali NEW
Claire D GillianSpainAsiya Javayant NEGOTIATION
Aruna E ChuiBrazilStephen Shaw NEGOTIATION
Kaitlin K VocelkaBrazilIoni Bowcher UNQUALIFIED
Maisha Q MaletBrazilStephen Shaw PROPOSAL
Kaitlin Z BologniaFranceIvan Magalhaes PROPOSAL
Jeanfrancois J VocelkaArgentinaAsiya Javayant RENEWAL
Costa M OstroskySpainAmy Elsner PROPOSAL
Jones L ShinkoBrazilStephen Shaw QUALIFIED
Frozen Columns
Name
Morrow J Briddick
Octavia X Caudy
Cody E Amigon
Jeanfrancois G Wieser
Claire X Campain
Silvio C Waycott
Misaki O Kusko
Maria L Gillian
Maisha M Albares
James Q Gaucho
Faith N Rim
Maisha C Nestle
Leon K Flosi
Cody U Malet
Greenwood L Stenseth
Tony A Tollner
Mayumi G Darakjy
Jefferson I Kusko
Ivar M Iturbide
Izzy I Whobrey
Tony C Nicka
Mujtaba J Campain
Jennifer D Oldroyd
Cody M Perin
Kaitlin K Garufi
Julie T Bolognia
Julie C Rulapaugh
Aika J Inouye
Chavez F Malet
Nicolas S Doe
Smith C Ruta
Tony J Albares
Maria H Malet
Rodrigues H Marrier
Leon U Perin
Julie L Vocelka
Darci M Dilliard
Wickens V Stenseth
Emily J Darakjy
Jones S Chui
Leja L Maclead
Ashley Y Albares
Misaki A Stockham
Aruna A Tollner
Clifford H Figeroa
Francesco I Briddick
Nicolas P Rulapaugh
Jeanfrancois U Kolmetz
Clifford B Foller
Mujtaba V Schemmer
IdCountryDate
1000Germany2024-06-23
1001France2024-05-30
1002United Kingdom2024-06-11
1003Australia2024-06-04
1004France2024-06-16
1005United Kingdom2024-06-19
1006United Kingdom2024-05-28
1007Russia2024-06-20
1008Russia2024-06-01
1009Russia2024-06-18
1010France2024-06-11
1011Spain2024-06-05
1012Germany2024-06-13
1013United Kingdom2024-06-14
1014France2024-06-24
1015India2024-06-22
1016Italy2024-06-03
1017India2024-06-12
1018Russia2024-06-11
1019Canada2024-06-03
1020United Kingdom2024-06-18
1021France2024-05-28
1022Russia2024-05-27
1023Japan2024-06-18
1024Russia2024-06-05
1025Russia2024-05-31
1026Spain2024-06-07
1027Russia2024-06-21
1028Spain2024-06-08
1029Brazil2024-06-15
1030India2024-06-03
1031Australia2024-06-15
1032Argentina2024-06-18
1033Italy2024-06-05
1034France2024-05-29
1035Germany2024-06-16
1036Australia2024-06-14
1037Germany2024-06-01
1038Spain2024-06-03
1039Argentina2024-06-21
1040Canada2024-06-01
1041Spain2024-05-26
1042Japan2024-05-31
1043Japan2024-05-29
1044Spain2024-06-07
1045Japan2024-05-30
1046Spain2024-06-11
1047Canada2024-06-04
1048Spain2024-06-08
1049Canada2024-06-15

On-Demand Data

NameIdCountryDate
Mayumi Z Butt1000Russia2024-06-02
Aika V Amigon1001Australia2024-06-15
Izzy C Chui1002Australia2024-06-03
Kadeem V Vocelka1003Japan2024-06-20
Ashley A Wieser1004France2024-06-18
Mujtaba I Figeroa1005Germany2024-06-21
Silvio T Perin1006Russia2024-06-20
Johnson M Gaucho1007India2024-06-17
Leja V Iturbide1008Japan2024-06-03
Ashley U Bolognia1009Japan2024-06-22
Julie F Ruta1010Italy2024-06-05
Faith B Nestle1011Spain2024-06-14
Tony F Venere1012Germany2024-06-14
Munro T Flosi1013India2024-06-05
Faith F Nicka1014India2024-05-30
Nicolas R Wieser1015Germany2024-05-26
Leja R Gaucho1016Argentina2024-06-09
Aika D Glick1017United Kingdom2024-06-23
Izzy F Foller1018Japan2024-06-12
Sinclair U Oldroyd1019India2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson L MarrierIndiaStephen Shaw NEGOTIATION
Arvin Q GauchoFranceElwin Sharvill QUALIFIED
Aruna S StockhamFranceElwin Sharvill PROPOSAL
Mujtaba F PerinAustraliaStephen Shaw NEGOTIATION
David Z DarakjyFranceXuxue Feng RENEWAL
Clifford O GauchoGermanyXuxue Feng PROPOSAL
Morrow N KuskoBrazilAnna Fali UNQUALIFIED
Alejandro R BriddickIndiaStephen Shaw NEW
Darci Y PaprockiFranceBernardo Dominic NEW
Faith L OstroskyCanadaXuxue Feng PROPOSAL
Jennifer P PoquetteJapanBernardo Dominic PROPOSAL
Munro Q BologniaFranceAmy Elsner NEW
Octavia H StockhamCanadaElwin Sharvill RENEWAL
Murillo P BowleyFranceStephen Shaw NEW
Mujtaba X AlbaresItalyAnna Fali RENEWAL
Deepesh S MaletItalyXuxue Feng RENEWAL
Stacey V InouyeRussiaIvan Magalhaes QUALIFIED
Arvin H RoysterAustraliaStephen Shaw QUALIFIED
Wickens E SlusarskiArgentinaOnyama Limba RENEWAL
Morrow A GarufiRussiaIoni Bowcher UNQUALIFIED
Arvin Y RutaGermanyIvan Magalhaes UNQUALIFIED
Tony F RimCanadaAmy Elsner UNQUALIFIED
Morrow U StockhamArgentinaElwin Sharvill UNQUALIFIED
Wickens M MarrierUnited KingdomElwin Sharvill RENEWAL
Deepesh Y GauchoCanadaAsiya Javayant PROPOSAL
Silvio H StockhamSpainIvan Magalhaes UNQUALIFIED
Faith P RimItalyIvan Magalhaes NEGOTIATION
Emily E BowleyJapanIoni Bowcher NEGOTIATION
Cody R SaylorsBrazilIvan Magalhaes QUALIFIED
Tony S BriddickFranceIvan Magalhaes PROPOSAL
Darci C RimFranceBernardo Dominic NEW
Jefferson R MaletItalyBernardo Dominic NEGOTIATION
Kaitlin E PoquetteGermanyIoni Bowcher NEW
Aika K SergiSpainAmy Elsner NEGOTIATION
Ashley Y GauchoGermanyStephen Shaw PROPOSAL
Aruna C SaylorsGermanyIoni Bowcher NEW
Sinclair I DilliardItalyXuxue Feng RENEWAL
Nicolas C SlusarskiFranceAsiya Javayant PROPOSAL
Jones R ShinkoUnited KingdomXuxue Feng NEW
Maisha Q MorascaJapanElwin Sharvill NEGOTIATION

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