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
Jeanfrancois Q ButtBrazilAmy Elsner RENEWAL
Julie X IturbideSpainElwin Sharvill UNQUALIFIED
Murillo Q RutaBrazilIoni Bowcher QUALIFIED
Claire J FollerJapanBernardo Dominic RENEWAL
Claire O RulapaughBrazilXuxue Feng QUALIFIED
Mujtaba X PoquetteAustraliaIvan Magalhaes RENEWAL
Maria C SlusarskiAustraliaAmy Elsner NEW
Tony A AmigonRussiaAmy Elsner RENEWAL
Juan F SlusarskiBrazilAsiya Javayant RENEWAL
Faith P RulapaughArgentinaAnna Fali PROPOSAL
Arvin W RulapaughFranceIvan Magalhaes RENEWAL
Cody T AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Johnson C BriddickArgentinaIoni Bowcher PROPOSAL
Ricardo O MorascaUnited KingdomXuxue Feng NEGOTIATION
Antonio W IturbideUnited KingdomOnyama Limba PROPOSAL
Antonio L NestleBrazilStephen Shaw RENEWAL
Munro M SlusarskiBrazilAmy Elsner UNQUALIFIED
Darci D GillianBrazilElwin Sharvill UNQUALIFIED
Stacey H SlusarskiGermanyXuxue Feng RENEWAL
Arvin K BriddickIndiaAmy Elsner NEW
Silvio C StensethAustraliaElwin Sharvill PROPOSAL
Murillo M PoquetteSpainAsiya Javayant PROPOSAL
Kaitlin M MacleadUnited KingdomIoni Bowcher QUALIFIED
Juan T DarakjyJapanStephen Shaw NEW
Jones F DarakjyItalyAmy Elsner RENEWAL
Costa E RulapaughRussiaIoni Bowcher QUALIFIED
Julie I CaudyFranceIvan Magalhaes NEW
Octavia O NestleGermanyAmy Elsner RENEWAL
Maisha R WhobreyGermanyBernardo Dominic QUALIFIED
Sinclair B DarakjySpainAmy Elsner QUALIFIED
Nicolas L FlosiFranceIvan Magalhaes NEW
Munro R AlbaresBrazilXuxue Feng QUALIFIED
Francesco R CampainIndiaAnna Fali PROPOSAL
Isabel H MaletAustraliaIoni Bowcher NEW
Arvin F PoquetteGermanyAsiya Javayant NEW
Faith X GauchoGermanyStephen Shaw QUALIFIED
Juan M OstroskyCanadaOnyama Limba QUALIFIED
Jennifer K VocelkaCanadaOnyama Limba RENEWAL
Kadeem M PerinItalyIoni Bowcher RENEWAL
Emily Y DarakjyJapanElwin Sharvill NEW
Kadeem H StensethFranceElwin Sharvill PROPOSAL
Leja Y ChuiAustraliaOnyama Limba NEW
Sinclair A GauchoRussiaElwin Sharvill NEGOTIATION
Kaitlin L NestleIndiaAnna Fali UNQUALIFIED
Morrow R VenereUnited KingdomAmy Elsner NEW
Mayumi I FerenczBrazilIoni Bowcher NEGOTIATION
Maisha T WhobreyIndiaIvan Magalhaes NEW
James M VenereIndiaAsiya Javayant NEW
Costa U DilliardAustraliaAmy Elsner NEGOTIATION
Nicolas A MarrierItalyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Adams G CaldareraCanadaElwin Sharvill NEW
Leon B GauchoJapanIvan Magalhaes QUALIFIED
Morrow F WaycottSpainOnyama Limba NEW
Deepesh O FigeroaIndiaElwin Sharvill PROPOSAL
Emily H FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
Ivar V WieserIndiaBernardo Dominic QUALIFIED
Aika F FigeroaGermanyIvan Magalhaes NEW
Greenwood H BriddickUnited KingdomAmy Elsner QUALIFIED
Alejandro B SlusarskiSpainStephen Shaw QUALIFIED
Clifford O SlusarskiRussiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo V PaprockiSpain2024-05-28Rangoni Of Florence PROPOSAL86Xuxue Feng
1001Greenwood U WieserBrazil2024-06-20Morlong Associates QUALIFIED52Elwin Sharvill
1002Greenwood P CaldareraArgentina2024-06-18Benton, John B Jr RENEWAL27Xuxue Feng
1003Chavez J ShinkoAustralia2024-06-22Commercial Press PROPOSAL35Amy Elsner
1004Ivar R SergiItaly2024-06-22Chapman, Ross E Esq PROPOSAL32Bernardo Dominic
1005Jeanfrancois N KolmetzArgentina2024-06-24Rousseaux, Michael Esq NEW50Amy Elsner
1006Nicolas M VenereSpain2024-05-26Morlong Associates NEW77Amy Elsner
1007Cody C KolmetzIndia2024-06-07Buckley Miller Wright PROPOSAL9Onyama Limba
1008Jeanfrancois Y MaletAustralia2024-06-09Morlong Associates QUALIFIED93Xuxue Feng
1009Leja Z MaletItaly2024-06-08Morlong Associates NEW76Ioni Bowcher
1010Alejandro W WhobreySpain2024-06-19Truhlar And Truhlar Attys PROPOSAL50Anna Fali
1011Sinclair A AmigonItaly2024-06-16Chanay, Jeffrey A Esq PROPOSAL72Amy Elsner
1012James C MarrierRussia2024-06-09Benton, John B Jr QUALIFIED39Anna Fali
1013Isabel S InouyeAustralia2024-06-21Chapman, Ross E Esq NEW79Elwin Sharvill
1014Jefferson P AmigonRussia2024-06-16Buckley Miller Wright UNQUALIFIED62Anna Fali
1015Leja D ButtRussia2024-06-08Rousseaux, Michael Esq PROPOSAL80Stephen Shaw
1016Deepesh G MacleadArgentina2024-06-01Chemel, James L Cpa UNQUALIFIED66Anna Fali
1017Aditya M ChuiArgentina2024-05-26Rousseaux, Michael Esq UNQUALIFIED35Ioni Bowcher
1018Francesco X WhobreyCanada2024-06-01Truhlar And Truhlar Attys QUALIFIED76Asiya Javayant
1019Silvio K InouyeBrazil2024-06-02Chapman, Ross E Esq RENEWAL20Elwin Sharvill
1020Leon I InouyeAustralia2024-05-31Feltz Printing Service PROPOSAL89Ivan Magalhaes
1021Aditya R StockhamFrance2024-06-05Chapman, Ross E Esq UNQUALIFIED67Stephen Shaw
1022Cody R DilliardUnited Kingdom2024-06-14Chemel, James L Cpa RENEWAL9Ioni Bowcher
1023Deepesh V GillianGermany2024-06-07Printing Dimensions QUALIFIED99Ivan Magalhaes
1024Murillo E FollerUnited Kingdom2024-06-14Benton, John B Jr QUALIFIED96Elwin Sharvill
1025Smith J GlickUnited Kingdom2024-06-22Benton, John B Jr QUALIFIED93Elwin Sharvill
1026Jeanfrancois H ShinkoFrance2024-06-03Feltz Printing Service PROPOSAL36Stephen Shaw
1027Izzy W OldroydItaly2024-06-04King, Christopher A Esq QUALIFIED18Anna Fali
1028Chavez U DarakjyArgentina2024-06-11Chapman, Ross E Esq PROPOSAL26Elwin Sharvill
1029James F RutaJapan2024-06-24Dorl, James J Esq NEGOTIATION79Amy Elsner
1030Stacey U DarakjyCanada2024-06-20Printing Dimensions NEW27Ivan Magalhaes
1031Kaitlin R TollnerItaly2024-06-10Truhlar And Truhlar Attys RENEWAL21Ivan Magalhaes
1032David D TollnerFrance2024-06-15Rangoni Of Florence UNQUALIFIED21Elwin Sharvill
1033Arvin Z DarakjyItaly2024-06-16Rangoni Of Florence NEGOTIATION1Onyama Limba
1034Chavez G CaudyAustralia2024-05-31Feiner Bros NEW69Amy Elsner
1035Costa A BologniaFrance2024-06-20King, Christopher A Esq QUALIFIED45Ioni Bowcher
1036Silvio D WaycottIndia2024-06-19Printing Dimensions NEGOTIATION69Onyama Limba
1037Faith V VenereItaly2024-06-05Chapman, Ross E Esq NEGOTIATION76Asiya Javayant
1038Faith S VocelkaItaly2024-06-10Rousseaux, Michael Esq PROPOSAL29Elwin Sharvill
1039Maisha C BowleyJapan2024-06-04Feiner Bros UNQUALIFIED8Amy Elsner
1040Aditya U CampainFrance2024-06-06Printing Dimensions QUALIFIED33Ivan Magalhaes
1041Alejandro N MaletGermany2024-06-24Chemel, James L Cpa NEGOTIATION13Elwin Sharvill
1042Ricardo Q IturbideFrance2024-06-21Chapman, Ross E Esq NEGOTIATION72Ioni Bowcher
1043Sinclair O DilliardAustralia2024-06-08Feltz Printing Service NEGOTIATION18Bernardo Dominic
1044Maria G FigeroaBrazil2024-06-14Truhlar And Truhlar Attys RENEWAL46Amy Elsner
1045Aruna N GauchoIndia2024-05-27King, Christopher A Esq QUALIFIED18Amy Elsner
1046Stacey D ButtAustralia2024-06-18Morlong Associates NEW92Bernardo Dominic
1047Greenwood R ChuiUnited Kingdom2024-06-11Rangoni Of Florence NEGOTIATION40Amy Elsner
1048Sinclair T WaycottUnited Kingdom2024-06-17Morlong Associates NEW31Stephen Shaw
1049Chavez O RulapaughArgentina2024-06-03Rousseaux, Michael Esq NEGOTIATION57Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leon B ButtGermanyIoni Bowcher QUALIFIED
Darci Q WhobreySpainAsiya Javayant UNQUALIFIED
Antonio O KuskoCanadaAnna Fali RENEWAL
Ivar A StensethFranceAnna Fali NEGOTIATION
Francesco N DarakjyGermanyOnyama Limba PROPOSAL
Maria A DoeCanadaAnna Fali RENEWAL
Salvatore A RimGermanyOnyama Limba NEGOTIATION
Aditya P BologniaItalyAnna Fali NEGOTIATION
Ashley D RoysterCanadaBernardo Dominic RENEWAL
David F RutaRussiaElwin Sharvill UNQUALIFIED
Claire Q GlickBrazilIvan Magalhaes QUALIFIED
James V WhobreyAustraliaAsiya Javayant NEGOTIATION
Clifford H KolmetzArgentinaIoni Bowcher UNQUALIFIED
Francesco X BriddickSpainAnna Fali NEW
Alejandro J FlosiArgentinaAmy Elsner NEW
Johnson O WieserGermanyStephen Shaw NEGOTIATION
Cody W StensethRussiaBernardo Dominic PROPOSAL
Juan S VocelkaSpainStephen Shaw NEGOTIATION
Mayumi A FollerBrazilAsiya Javayant NEW
Deepesh D BologniaCanadaIvan Magalhaes PROPOSAL
Salvatore N PoquetteRussiaXuxue Feng NEGOTIATION
Johnson D GlickAustraliaOnyama Limba RENEWAL
Murillo W FerenczIndiaAnna Fali PROPOSAL
Ashley O StockhamFranceAmy Elsner NEGOTIATION
Jeanfrancois Q OstroskyIndiaAnna Fali NEW
Greenwood C InouyeFranceBernardo Dominic NEGOTIATION
Johnson C SchemmerRussiaIvan Magalhaes NEW
Tony R ButtFranceIvan Magalhaes NEW
Stacey E MarrierSpainIoni Bowcher NEGOTIATION
Adams P FlosiCanadaAsiya Javayant QUALIFIED
Arvin P WhobreyJapanAnna Fali PROPOSAL
Jefferson T CaldareraGermanyAmy Elsner PROPOSAL
Juan Z NestleFranceBernardo Dominic NEGOTIATION
Isabel R DoeIndiaIvan Magalhaes NEW
Maria D VenereJapanIvan Magalhaes PROPOSAL
Darci J SlusarskiCanadaIvan Magalhaes PROPOSAL
Jefferson D PaprockiBrazilXuxue Feng QUALIFIED
Maisha M RulapaughArgentinaBernardo Dominic QUALIFIED
Stacey T SchemmerJapanElwin Sharvill QUALIFIED
Misaki V StensethIndiaStephen Shaw QUALIFIED
Antonio A WaycottItalyAmy Elsner PROPOSAL
David I NestleItalyElwin Sharvill QUALIFIED
Tony M ChuiAustraliaAsiya Javayant RENEWAL
Aruna U DilliardRussiaOnyama Limba NEW
Kaitlin Q StensethUnited KingdomBernardo Dominic PROPOSAL
Aruna K MarrierArgentinaAnna Fali UNQUALIFIED
Nicolas G DarakjyGermanyOnyama Limba PROPOSAL
Faith L PaprockiUnited KingdomOnyama Limba PROPOSAL
Isabel J GillianSpainIoni Bowcher NEW
Faith K IturbideBrazilIoni Bowcher NEW
Frozen Columns
Name
Tony I Gaucho
Julie G Venere
Clifford H Amigon
Leja G Bowley
Munro M Slusarski
Kaitlin D Bowley
Wickens K Stockham
Kaitlin H Nestle
Greenwood H Morasca
Faith Z Maclead
Nicolas B Poquette
Chavez E Maclead
Misaki H Ostrosky
Greenwood R Darakjy
Mayumi Q Maclead
Juan V Schemmer
Faith D Malet
Claire Z Paprocki
Octavia J Glick
Munro G Vocelka
Rodrigues I Iturbide
Mujtaba Q Campain
Silvio B Oldroyd
Ashley N Rim
Leon T Briddick
Tony Y Saylors
Morrow S Waycott
Silvio U Amigon
Leja R Chui
Costa G Glick
Jones I Waycott
Emily O Wieser
Sinclair X Marrier
Julie N Stenseth
Munro T Bowley
Chavez L Sergi
Smith E Foller
Johnson R Slusarski
Clifford A Royster
Sinclair T Schemmer
Smith T Venere
Chavez D Venere
Leja M Royster
Aditya N Shinko
Murillo Q Perin
Ashley P Doe
Nicolas A Briddick
Chavez T Albares
Jeanfrancois Q Darakjy
Aika L Rulapaugh
IdCountryDate
1000France2024-05-31
1001Russia2024-06-03
1002Spain2024-06-17
1003Argentina2024-06-15
1004Canada2024-05-27
1005Spain2024-06-18
1006Spain2024-06-04
1007France2024-06-21
1008Canada2024-06-19
1009Brazil2024-06-17
1010Japan2024-06-20
1011Germany2024-05-28
1012Australia2024-05-30
1013Italy2024-05-26
1014Japan2024-06-23
1015Russia2024-05-28
1016India2024-06-20
1017India2024-06-07
1018India2024-05-31
1019Russia2024-06-11
1020France2024-06-24
1021Russia2024-06-13
1022Italy2024-06-17
1023Italy2024-06-15
1024Argentina2024-06-24
1025Italy2024-06-03
1026Australia2024-06-05
1027Germany2024-06-12
1028Australia2024-06-09
1029France2024-05-26
1030France2024-06-13
1031Canada2024-06-13
1032Russia2024-05-26
1033Russia2024-06-11
1034India2024-06-10
1035India2024-05-26
1036Russia2024-06-24
1037United Kingdom2024-06-23
1038Russia2024-06-09
1039Japan2024-06-16
1040United Kingdom2024-06-06
1041Spain2024-06-22
1042Spain2024-06-04
1043Japan2024-06-04
1044Argentina2024-06-20
1045Brazil2024-05-30
1046France2024-06-02
1047Japan2024-05-26
1048Argentina2024-06-23
1049India2024-06-09

On-Demand Data

NameIdCountryDate
Aika F Briddick1000France2024-05-27
Wickens K Chui1001India2024-06-15
Wickens W Ruta1002Canada2024-06-15
Stacey B Stenseth1003Russia2024-06-20
Costa S Doe1004United Kingdom2024-06-22
Stacey R Rulapaugh1005United Kingdom2024-06-07
Julie A Ferencz1006United Kingdom2024-06-21
Jennifer V Oldroyd1007United Kingdom2024-06-07
Ricardo S Marrier1008India2024-06-17
Stacey Q Slusarski1009France2024-06-24
Rodrigues D Gaucho1010Canada2024-05-28
Wickens C Doe1011Russia2024-06-01
Leon E Amigon1012Argentina2024-06-11
Juan A Albares1013India2024-06-13
Jennifer L Stenseth1014Japan2024-06-12
Aika Y Amigon1015Canada2024-05-29
Morrow T Foller1016Australia2024-06-10
Clifford Y Shinko1017Australia2024-06-21
Maisha K Marrier1018United Kingdom2024-06-11
Leon N Rulapaugh1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams N RutaSpainIvan Magalhaes RENEWAL
Ashley Z NickaRussiaAmy Elsner NEW
Francesco J AlbaresFranceElwin Sharvill QUALIFIED
Jennifer T AlbaresItalyIoni Bowcher UNQUALIFIED
Tony P ButtFranceBernardo Dominic UNQUALIFIED
Wickens E CaldareraArgentinaStephen Shaw QUALIFIED
Munro Y SchemmerBrazilAmy Elsner PROPOSAL
Salvatore A RutaCanadaBernardo Dominic NEGOTIATION
Stacey U PerinAustraliaIoni Bowcher UNQUALIFIED
Jennifer C SchemmerFranceStephen Shaw UNQUALIFIED
Leja E InouyeBrazilIoni Bowcher NEW
Greenwood C WieserRussiaAnna Fali QUALIFIED
Mujtaba B GillianFranceStephen Shaw NEW
Mujtaba C NickaAustraliaBernardo Dominic PROPOSAL
Aruna X VocelkaRussiaStephen Shaw QUALIFIED
Clifford H KuskoCanadaBernardo Dominic RENEWAL
Morrow X ShinkoJapanAnna Fali UNQUALIFIED
Ashley P AmigonRussiaAmy Elsner UNQUALIFIED
Faith B SergiFranceIvan Magalhaes NEGOTIATION
Wickens B CaudyUnited KingdomOnyama Limba RENEWAL
Salvatore T PoquetteIndiaIoni Bowcher UNQUALIFIED
Emily Q WaycottUnited KingdomStephen Shaw NEW
Salvatore Y FerenczItalyBernardo Dominic UNQUALIFIED
Emily N BologniaCanadaIoni Bowcher QUALIFIED
Greenwood P RutaAustraliaAmy Elsner RENEWAL
Salvatore Z RutaGermanyIoni Bowcher NEGOTIATION
Francesco H MorascaJapanXuxue Feng RENEWAL
Aika B SaylorsJapanAnna Fali UNQUALIFIED
James F MacleadItalyXuxue Feng NEGOTIATION
Octavia T CampainFranceXuxue Feng PROPOSAL
Aruna X RoysterFranceIoni Bowcher PROPOSAL
Leon X BriddickAustraliaElwin Sharvill UNQUALIFIED
Isabel G MacleadItalyStephen Shaw QUALIFIED
Antonio D SaylorsBrazilAnna Fali RENEWAL
Morrow M ButtItalyIvan Magalhaes PROPOSAL
Maisha M FollerSpainBernardo Dominic QUALIFIED
Ashley P AlbaresFranceAsiya Javayant NEGOTIATION
Faith Q SlusarskiBrazilAsiya Javayant PROPOSAL
Faith H IturbideIndiaXuxue Feng NEW
James B MaletItalyAmy Elsner 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>