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
Kaitlin V SergiSpainIvan Magalhaes RENEWAL
Morrow S WieserBrazilAnna Fali NEGOTIATION
James H StensethSpainIoni Bowcher NEGOTIATION
Johnson A TollnerJapanIvan Magalhaes UNQUALIFIED
Maisha B RimSpainXuxue Feng RENEWAL
Alejandro P InouyeSpainBernardo Dominic RENEWAL
Maisha N RutaSpainStephen Shaw NEGOTIATION
Clifford R AlbaresSpainAmy Elsner PROPOSAL
Emily P PerinRussiaIvan Magalhaes NEGOTIATION
Ashley G SchemmerGermanyAsiya Javayant PROPOSAL
Jones Z OstroskyFranceElwin Sharvill QUALIFIED
Antonio Z DilliardGermanyIvan Magalhaes NEW
Leja D SaylorsItalyXuxue Feng UNQUALIFIED
Francesco B SaylorsAustraliaAmy Elsner NEGOTIATION
David V TollnerJapanIvan Magalhaes UNQUALIFIED
Kadeem L SergiItalyStephen Shaw NEGOTIATION
Julie G KolmetzFranceElwin Sharvill QUALIFIED
David D StockhamItalyStephen Shaw PROPOSAL
Salvatore Q OldroydItalyAsiya Javayant PROPOSAL
James S BriddickUnited KingdomAmy Elsner UNQUALIFIED
Silvio T RimBrazilAnna Fali RENEWAL
Mayumi P OstroskyCanadaIvan Magalhaes NEGOTIATION
Jefferson H CaudyIndiaAsiya Javayant RENEWAL
Julie S SlusarskiSpainAmy Elsner PROPOSAL
Greenwood K InouyeRussiaXuxue Feng UNQUALIFIED
Silvio P StockhamBrazilOnyama Limba UNQUALIFIED
Antonio Y FlosiAustraliaIvan Magalhaes NEGOTIATION
Isabel K MarrierSpainElwin Sharvill PROPOSAL
Jennifer C WaycottIndiaBernardo Dominic QUALIFIED
Faith W StensethJapanIoni Bowcher NEGOTIATION
Clifford N AmigonSpainIvan Magalhaes UNQUALIFIED
Isabel Y NestleCanadaOnyama Limba NEW
Kaitlin P SaylorsUnited KingdomElwin Sharvill PROPOSAL
Cody I FerenczUnited KingdomAmy Elsner NEW
Salvatore T FerenczCanadaStephen Shaw NEGOTIATION
Ricardo X WieserRussiaIoni Bowcher NEGOTIATION
James V OldroydUnited KingdomBernardo Dominic RENEWAL
Smith X NestleBrazilAnna Fali QUALIFIED
Cody X WhobreySpainAsiya Javayant NEGOTIATION
Octavia X WieserIndiaElwin Sharvill PROPOSAL
Sinclair I BriddickUnited KingdomAmy Elsner RENEWAL
Claire X OldroydBrazilIvan Magalhaes PROPOSAL
Francesco C GauchoItalyXuxue Feng NEGOTIATION
Salvatore Y PerinIndiaIoni Bowcher QUALIFIED
Kadeem G MaletCanadaElwin Sharvill PROPOSAL
Mayumi B WieserSpainElwin Sharvill NEW
Silvio N IturbideArgentinaOnyama Limba NEGOTIATION
Sinclair B FlosiItalyAnna Fali NEGOTIATION
Maisha L IturbideGermanyAmy Elsner PROPOSAL
Murillo I RoysterAustraliaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja M RutaIndiaStephen Shaw QUALIFIED
Alejandro R BriddickJapanIoni Bowcher UNQUALIFIED
David V GarufiAustraliaStephen Shaw RENEWAL
Emily J FollerUnited KingdomStephen Shaw PROPOSAL
Munro Y DoeIndiaBernardo Dominic NEW
Arvin W CampainGermanyOnyama Limba NEW
Tony R StensethUnited KingdomElwin Sharvill QUALIFIED
Isabel N FlosiCanadaAsiya Javayant QUALIFIED
Alejandro A OstroskyUnited KingdomOnyama Limba RENEWAL
Emily N SlusarskiUnited KingdomOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily S MaletJapan2024-06-01Morlong Associates NEGOTIATION5Ivan Magalhaes
1001Deepesh U FigeroaIndia2024-05-29Rousseaux, Michael Esq NEGOTIATION61Elwin Sharvill
1002Misaki W MarrierAustralia2024-06-01Chapman, Ross E Esq NEGOTIATION90Amy Elsner
1003Julie T NestleItaly2024-06-08Dorl, James J Esq UNQUALIFIED35Asiya Javayant
1004Salvatore P ButtSpain2024-06-17Feiner Bros PROPOSAL98Onyama Limba
1005Adams P FlosiCanada2024-06-18Feltz Printing Service RENEWAL59Stephen Shaw
1006Jennifer J MarrierArgentina2024-06-02Chemel, James L Cpa NEGOTIATION57Onyama Limba
1007Julie U GauchoCanada2024-06-23Morlong Associates PROPOSAL60Stephen Shaw
1008Silvio K ChuiGermany2024-06-23Feiner Bros UNQUALIFIED95Bernardo Dominic
1009Ashley O OstroskyJapan2024-05-31Printing Dimensions QUALIFIED64Stephen Shaw
1010Alejandro G RoysterArgentina2024-06-22Truhlar And Truhlar Attys NEGOTIATION40Ivan Magalhaes
1011Nicolas D BologniaSpain2024-06-21Printing Dimensions PROPOSAL48Ivan Magalhaes
1012Adams V GillianAustralia2024-05-30Commercial Press UNQUALIFIED87Amy Elsner
1013Julie Z WaycottIndia2024-06-21Morlong Associates UNQUALIFIED87Asiya Javayant
1014Juan P MarrierAustralia2024-05-27Morlong Associates NEW42Ioni Bowcher
1015Greenwood F InouyeIndia2024-05-29King, Christopher A Esq QUALIFIED62Bernardo Dominic
1016Nicolas Z InouyeGermany2024-06-20Printing Dimensions QUALIFIED90Elwin Sharvill
1017James I WaycottIndia2024-06-17Buckley Miller Wright PROPOSAL60Xuxue Feng
1018Tony T ShinkoJapan2024-06-17Chemel, James L Cpa PROPOSAL99Bernardo Dominic
1019Greenwood U GauchoCanada2024-06-13Morlong Associates QUALIFIED22Amy Elsner
1020Leon G AmigonAustralia2024-06-16Morlong Associates NEGOTIATION75Ivan Magalhaes
1021Jefferson F DarakjyFrance2024-06-12Chemel, James L Cpa PROPOSAL26Bernardo Dominic
1022Ivar P SergiFrance2024-06-22Buckley Miller Wright NEGOTIATION55Onyama Limba
1023Darci R IturbideSpain2024-06-08King, Christopher A Esq UNQUALIFIED76Onyama Limba
1024Antonio H FigeroaCanada2024-06-04Buckley Miller Wright RENEWAL2Ioni Bowcher
1025Mujtaba I SlusarskiAustralia2024-06-06Chanay, Jeffrey A Esq NEGOTIATION20Anna Fali
1026Ivar B FollerUnited Kingdom2024-06-09Morlong Associates NEGOTIATION46Ivan Magalhaes
1027Izzy A PerinBrazil2024-06-23Chemel, James L Cpa NEGOTIATION58Asiya Javayant
1028Leon V FlosiItaly2024-06-20Commercial Press QUALIFIED87Elwin Sharvill
1029Aika A MaletUnited Kingdom2024-06-22Chapman, Ross E Esq NEW8Anna Fali
1030Salvatore Q SchemmerJapan2024-06-02Buckley Miller Wright QUALIFIED76Elwin Sharvill
1031Costa J ButtRussia2024-06-22Feiner Bros QUALIFIED19Amy Elsner
1032Arvin J FollerJapan2024-06-20Dorl, James J Esq QUALIFIED65Bernardo Dominic
1033Izzy E CaudyJapan2024-05-26Chapman, Ross E Esq RENEWAL64Anna Fali
1034Leja Z DoeGermany2024-06-18Feiner Bros RENEWAL91Xuxue Feng
1035Leon D ShinkoRussia2024-05-30Printing Dimensions UNQUALIFIED65Ivan Magalhaes
1036Mujtaba N PoquetteSpain2024-05-27Benton, John B Jr PROPOSAL81Anna Fali
1037Juan S KuskoIndia2024-06-13Rousseaux, Michael Esq UNQUALIFIED85Anna Fali
1038Juan A VenereArgentina2024-06-09Commercial Press UNQUALIFIED20Xuxue Feng
1039Sinclair L DilliardCanada2024-06-22Benton, John B Jr PROPOSAL13Asiya Javayant
1040Sinclair L FollerFrance2024-06-01Chapman, Ross E Esq NEW39Ivan Magalhaes
1041Francesco C VocelkaIndia2024-05-29Chemel, James L Cpa QUALIFIED89Ivan Magalhaes
1042Maisha N MarrierItaly2024-06-23Morlong Associates PROPOSAL13Stephen Shaw
1043Munro E WieserJapan2024-05-25Truhlar And Truhlar Attys NEGOTIATION81Stephen Shaw
1044Chavez E InouyeUnited Kingdom2024-05-31Buckley Miller Wright RENEWAL40Anna Fali
1045Arvin M InouyeUnited Kingdom2024-06-13Feltz Printing Service UNQUALIFIED74Onyama Limba
1046Izzy O FerenczJapan2024-06-08King, Christopher A Esq RENEWAL15Elwin Sharvill
1047Isabel W FlosiAustralia2024-05-28King, Christopher A Esq UNQUALIFIED19Asiya Javayant
1048Cody D MaletSpain2024-06-12Rousseaux, Michael Esq RENEWAL62Onyama Limba
1049Wickens E WhobreyUnited Kingdom2024-06-09Rangoni Of Florence NEGOTIATION92Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Y PoquetteBrazilXuxue Feng RENEWAL
Morrow X CaldareraFranceElwin Sharvill UNQUALIFIED
Stacey Y GauchoCanadaAmy Elsner NEGOTIATION
Leja E FollerItalyAsiya Javayant PROPOSAL
Munro C StockhamIndiaOnyama Limba RENEWAL
Leon Y OldroydFranceElwin Sharvill UNQUALIFIED
Munro E ShinkoBrazilOnyama Limba NEW
Sinclair T BowleyFranceBernardo Dominic NEGOTIATION
Clifford V DoeAustraliaStephen Shaw UNQUALIFIED
Chavez A VenereArgentinaOnyama Limba PROPOSAL
Izzy V BowleyUnited KingdomStephen Shaw UNQUALIFIED
Francesco S DilliardJapanBernardo Dominic PROPOSAL
Cody L MaletIndiaAmy Elsner QUALIFIED
James K DilliardBrazilAmy Elsner RENEWAL
Francesco T WhobreyBrazilStephen Shaw QUALIFIED
Maisha V BowleyCanadaAnna Fali UNQUALIFIED
Isabel J MaletGermanyBernardo Dominic NEGOTIATION
Jeanfrancois O StockhamGermanyBernardo Dominic NEGOTIATION
Deepesh L KuskoItalyAsiya Javayant RENEWAL
Emily A MaletGermanyElwin Sharvill PROPOSAL
Isabel D GlickSpainElwin Sharvill QUALIFIED
Stacey H RulapaughSpainIoni Bowcher UNQUALIFIED
Rodrigues S InouyeAustraliaStephen Shaw PROPOSAL
Munro P AmigonItalyOnyama Limba NEGOTIATION
Salvatore T SergiFranceOnyama Limba RENEWAL
Rodrigues X NickaUnited KingdomAsiya Javayant NEW
Smith G BriddickArgentinaXuxue Feng NEGOTIATION
Leja S GauchoIndiaIoni Bowcher PROPOSAL
Nicolas P BowleySpainStephen Shaw UNQUALIFIED
Aditya I WaycottIndiaAmy Elsner NEW
James M StockhamRussiaAmy Elsner QUALIFIED
Cody S RoysterFranceAsiya Javayant NEW
Cody F VocelkaGermanyIoni Bowcher RENEWAL
Tony B KolmetzArgentinaAnna Fali UNQUALIFIED
Aika H IturbideAustraliaElwin Sharvill PROPOSAL
Claire W WieserCanadaOnyama Limba RENEWAL
Mujtaba Y ShinkoBrazilAnna Fali NEGOTIATION
Clifford P VenereJapanAnna Fali NEW
Maria J VenereFranceOnyama Limba RENEWAL
Misaki T KuskoAustraliaAnna Fali PROPOSAL
Leon S MorascaUnited KingdomAmy Elsner NEW
Johnson W SaylorsSpainIoni Bowcher PROPOSAL
Alejandro R SchemmerRussiaXuxue Feng UNQUALIFIED
Juan D StensethRussiaAmy Elsner NEW
Ashley F ButtFranceAsiya Javayant PROPOSAL
Ashley G SaylorsItalyOnyama Limba PROPOSAL
Faith C FollerJapanStephen Shaw QUALIFIED
James H WhobreySpainElwin Sharvill QUALIFIED
Adams T AmigonAustraliaIvan Magalhaes UNQUALIFIED
Clifford T BologniaGermanyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Leon J Malet
Leon K Kusko
Aruna F Shinko
Izzy V Vocelka
Jones T Foller
Salvatore W Campain
Mujtaba C Paprocki
Faith B Nestle
Maria T Darakjy
Clifford A Marrier
Nicolas Z Bolognia
Aika T Wieser
Salvatore Q Oldroyd
Mujtaba R Ostrosky
Aika Y Iturbide
Murillo J Poquette
Alejandro A Waycott
Nicolas K Whobrey
Emily R Campain
James M Bolognia
Aika O Schemmer
Stacey A Stenseth
Emily B Glick
Francesco G Amigon
Alejandro J Iturbide
David H Paprocki
Francesco R Paprocki
Arvin M Sergi
David Q Oldroyd
Leja N Rulapaugh
Mayumi G Tollner
James E Figeroa
Silvio Z Albares
Emily N Rulapaugh
David W Foller
Julie R Vocelka
Wickens K Whobrey
Jones G Caldarera
Smith F Kusko
Leon W Flosi
Aika U Caudy
Munro D Darakjy
Juan G Rim
Greenwood L Royster
Julie P Schemmer
Kadeem A Ferencz
Emily A Foller
Johnson Y Caldarera
Cody Y Venere
Octavia Y Whobrey
IdCountryDate
1000Brazil2024-06-17
1001India2024-05-26
1002Germany2024-06-11
1003United Kingdom2024-06-11
1004Brazil2024-05-29
1005Germany2024-06-03
1006Russia2024-06-03
1007Argentina2024-06-19
1008Italy2024-05-26
1009Australia2024-06-14
1010France2024-06-04
1011France2024-06-13
1012France2024-06-03
1013United Kingdom2024-06-10
1014Australia2024-06-23
1015Argentina2024-05-30
1016Russia2024-06-04
1017Australia2024-05-25
1018United Kingdom2024-05-27
1019United Kingdom2024-05-29
1020Canada2024-06-07
1021Japan2024-06-20
1022India2024-06-20
1023Spain2024-06-20
1024Brazil2024-06-07
1025Canada2024-06-06
1026Germany2024-05-27
1027Germany2024-06-16
1028Canada2024-05-29
1029France2024-06-06
1030Argentina2024-06-05
1031Argentina2024-06-05
1032Brazil2024-06-20
1033Russia2024-06-21
1034Russia2024-06-05
1035Argentina2024-06-20
1036Brazil2024-06-17
1037Japan2024-05-27
1038Argentina2024-06-02
1039Germany2024-05-31
1040Japan2024-06-12
1041Japan2024-05-31
1042Canada2024-06-01
1043Italy2024-06-08
1044Germany2024-06-23
1045Canada2024-06-20
1046Germany2024-06-21
1047Russia2024-06-18
1048Brazil2024-06-15
1049Italy2024-06-17

On-Demand Data

NameIdCountryDate
Rodrigues C Nestle1000Australia2024-06-22
Aika M Rulapaugh1001Canada2024-06-01
Smith V Darakjy1002Australia2024-06-19
Jennifer M Ostrosky1003Russia2024-05-29
Julie I Marrier1004Canada2024-06-10
Jones H Kusko1005Japan2024-06-13
Wickens K Paprocki1006Argentina2024-06-08
Ashley K Oldroyd1007Germany2024-05-27
Aruna N Bowley1008Canada2024-06-08
Darci V Oldroyd1009Australia2024-06-08
Juan J Garufi1010Australia2024-05-30
Leja A Stenseth1011France2024-06-06
Arvin F Paprocki1012Japan2024-06-20
Ricardo T Amigon1013Japan2024-06-22
Octavia B Inouye1014France2024-06-21
Wickens Z Glick1015Argentina2024-06-11
James O Nestle1016Italy2024-06-02
Ricardo P Wieser1017India2024-05-25
Tony P Campain1018Japan2024-06-14
Mayumi G Saylors1019Italy2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia M RulapaughJapanOnyama Limba QUALIFIED
Adams O RoysterRussiaAnna Fali RENEWAL
Darci M AlbaresCanadaAmy Elsner NEGOTIATION
Aruna W AmigonBrazilIvan Magalhaes RENEWAL
Silvio X WieserArgentinaStephen Shaw RENEWAL
Aruna A KolmetzUnited KingdomAmy Elsner PROPOSAL
Rodrigues A CaldareraFranceAsiya Javayant PROPOSAL
Jones C NickaArgentinaAsiya Javayant UNQUALIFIED
Greenwood Y BowleyAustraliaXuxue Feng RENEWAL
Jefferson N SergiSpainElwin Sharvill QUALIFIED
Rodrigues C ChuiRussiaIoni Bowcher NEGOTIATION
Costa B ShinkoAustraliaElwin Sharvill PROPOSAL
Darci H CampainGermanyIvan Magalhaes UNQUALIFIED
Tony Y DilliardItalyIoni Bowcher NEW
Jennifer O KuskoGermanyElwin Sharvill NEGOTIATION
Jeanfrancois M FlosiAustraliaOnyama Limba RENEWAL
Ivar D GillianUnited KingdomOnyama Limba NEGOTIATION
Greenwood F AlbaresSpainIoni Bowcher NEGOTIATION
Aika H AmigonJapanStephen Shaw NEGOTIATION
Greenwood S ChuiCanadaAmy Elsner RENEWAL
Darci E AlbaresUnited KingdomAnna Fali NEW
Rodrigues P VocelkaAustraliaIvan Magalhaes NEW
Tony F KuskoJapanOnyama Limba PROPOSAL
Chavez X IturbideIndiaAnna Fali UNQUALIFIED
Sinclair L DilliardFranceXuxue Feng NEW
Kadeem A AlbaresArgentinaAnna Fali UNQUALIFIED
Stacey R ButtItalyBernardo Dominic RENEWAL
Johnson J BriddickBrazilXuxue Feng PROPOSAL
Adams Q BologniaUnited KingdomAmy Elsner NEGOTIATION
Rodrigues W ButtItalyAnna Fali PROPOSAL
Murillo C CaldareraUnited KingdomStephen Shaw RENEWAL
Jeanfrancois C DoeGermanyBernardo Dominic NEGOTIATION
Greenwood I ButtBrazilIoni Bowcher RENEWAL
Mayumi C FerenczItalyXuxue Feng NEGOTIATION
Greenwood R RimIndiaOnyama Limba PROPOSAL
Cody O SergiAustraliaOnyama Limba NEGOTIATION
Mujtaba B MaletUnited KingdomIoni Bowcher PROPOSAL
Julie B FigeroaFranceElwin Sharvill NEW
Julie Y VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba R StensethUnited KingdomOnyama Limba 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>