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
Antonio A GillianArgentinaAmy Elsner UNQUALIFIED
Izzy M OstroskyItalyAsiya Javayant NEW
Juan T AmigonCanadaXuxue Feng PROPOSAL
Jones C PaprockiAustraliaIoni Bowcher NEW
Stacey S SergiItalyBernardo Dominic NEGOTIATION
Mayumi L RoysterJapanXuxue Feng NEGOTIATION
Ivar W AmigonRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois O WhobreyBrazilAsiya Javayant NEGOTIATION
Jefferson G MarrierRussiaIvan Magalhaes UNQUALIFIED
Octavia J RimIndiaElwin Sharvill UNQUALIFIED
Ashley I WaycottUnited KingdomAsiya Javayant NEGOTIATION
Ricardo K BologniaBrazilAnna Fali RENEWAL
Arvin G WieserUnited KingdomBernardo Dominic NEW
Clifford E GlickIndiaAnna Fali UNQUALIFIED
Jefferson R CaudySpainBernardo Dominic QUALIFIED
Nicolas D AlbaresJapanAmy Elsner NEGOTIATION
Claire H ShinkoGermanyElwin Sharvill NEW
Misaki X FlosiCanadaBernardo Dominic UNQUALIFIED
Leja H SchemmerFranceStephen Shaw NEGOTIATION
Alejandro T PerinUnited KingdomAnna Fali NEGOTIATION
Maisha B GillianSpainAsiya Javayant QUALIFIED
Francesco I InouyeIndiaIoni Bowcher QUALIFIED
Aruna G AlbaresSpainStephen Shaw UNQUALIFIED
Smith P GillianUnited KingdomAsiya Javayant RENEWAL
Murillo J OstroskyCanadaAmy Elsner RENEWAL
Claire T BowleyBrazilAmy Elsner PROPOSAL
Emily A FlosiJapanAnna Fali NEGOTIATION
Darci P StensethUnited KingdomElwin Sharvill QUALIFIED
Kaitlin B CampainItalyXuxue Feng NEGOTIATION
Stacey X BologniaAustraliaAsiya Javayant PROPOSAL
Leon D SergiAustraliaIoni Bowcher NEGOTIATION
Juan O CaudyJapanAsiya Javayant NEGOTIATION
Ashley M DilliardCanadaBernardo Dominic RENEWAL
Munro F OldroydArgentinaStephen Shaw NEGOTIATION
Izzy U CampainJapanAmy Elsner UNQUALIFIED
Francesco D GauchoSpainIvan Magalhaes UNQUALIFIED
Ivar C MaletSpainXuxue Feng NEW
Mayumi D MaletCanadaStephen Shaw NEW
Ricardo M MorascaFranceAsiya Javayant QUALIFIED
Jefferson P IturbideFranceXuxue Feng PROPOSAL
Aruna H IturbideGermanyIoni Bowcher NEW
Johnson A CampainBrazilOnyama Limba RENEWAL
Leja Z RulapaughAustraliaStephen Shaw PROPOSAL
Francesco V MaletJapanAnna Fali UNQUALIFIED
Leja Q WhobreyFranceOnyama Limba RENEWAL
Antonio U ChuiCanadaAnna Fali UNQUALIFIED
Maisha K BowleyBrazilIvan Magalhaes RENEWAL
Stacey A IturbideBrazilXuxue Feng UNQUALIFIED
Morrow F FollerAustraliaBernardo Dominic QUALIFIED
Aruna V GillianAustraliaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody F RutaGermanyXuxue Feng UNQUALIFIED
Salvatore W PoquetteGermanyBernardo Dominic QUALIFIED
Rodrigues B VocelkaItalyIvan Magalhaes NEW
Maisha H GauchoItalyAmy Elsner NEGOTIATION
Isabel U DoeArgentinaStephen Shaw UNQUALIFIED
Aruna Z WieserRussiaOnyama Limba NEGOTIATION
Antonio W CampainAustraliaAmy Elsner UNQUALIFIED
Octavia G GarufiAustraliaIoni Bowcher PROPOSAL
Nicolas F MaletRussiaXuxue Feng PROPOSAL
Octavia X RoysterFranceOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody P MacleadCanada2024-06-02Benton, John B Jr RENEWAL58Xuxue Feng
1001Johnson P VocelkaRussia2024-06-02Benton, John B Jr PROPOSAL68Bernardo Dominic
1002Faith A AmigonItaly2024-05-20Chemel, James L Cpa UNQUALIFIED66Asiya Javayant
1003Morrow E FigeroaIndia2024-05-26King, Christopher A Esq PROPOSAL68Anna Fali
1004Ricardo W ChuiSpain2024-05-27Morlong Associates NEGOTIATION88Bernardo Dominic
1005Silvio R KuskoGermany2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED15Asiya Javayant
1006Chavez K MaletAustralia2024-06-07Truhlar And Truhlar Attys RENEWAL29Elwin Sharvill
1007Cody B MaletJapan2024-05-20Benton, John B Jr PROPOSAL4Anna Fali
1008David M VenereAustralia2024-06-07Chapman, Ross E Esq PROPOSAL84Stephen Shaw
1009Kadeem J BriddickUnited Kingdom2024-05-22Chanay, Jeffrey A Esq RENEWAL49Onyama Limba
1010Izzy X KolmetzItaly2024-05-18Feltz Printing Service RENEWAL53Xuxue Feng
1011Ivar S MorascaSpain2024-05-20Printing Dimensions UNQUALIFIED49Ioni Bowcher
1012Jennifer B RimItaly2024-05-30Feiner Bros RENEWAL6Asiya Javayant
1013Jeanfrancois A MorascaBrazil2024-06-13Feiner Bros PROPOSAL39Bernardo Dominic
1014Aditya W CaldareraIndia2024-06-15Feiner Bros RENEWAL93Onyama Limba
1015James H StockhamJapan2024-06-02Benton, John B Jr NEW77Stephen Shaw
1016Julie T SchemmerArgentina2024-05-18Feltz Printing Service QUALIFIED26Ivan Magalhaes
1017Aika R WhobreySpain2024-06-15Rangoni Of Florence QUALIFIED84Xuxue Feng
1018Murillo Y CaldareraRussia2024-06-09Chapman, Ross E Esq PROPOSAL28Anna Fali
1019Arvin C TollnerAustralia2024-05-18Chemel, James L Cpa UNQUALIFIED3Ivan Magalhaes
1020Juan L RulapaughArgentina2024-05-21Morlong Associates QUALIFIED15Amy Elsner
1021Tony D VocelkaRussia2024-05-20Commercial Press NEW63Anna Fali
1022Aika M RimRussia2024-06-11Buckley Miller Wright NEW4Asiya Javayant
1023Claire A InouyeUnited Kingdom2024-06-02Commercial Press NEW94Bernardo Dominic
1024Morrow K BologniaCanada2024-05-30Chemel, James L Cpa RENEWAL14Amy Elsner
1025Stacey P GarufiFrance2024-05-22Buckley Miller Wright NEGOTIATION52Elwin Sharvill
1026Wickens O BowleyCanada2024-06-06Feiner Bros RENEWAL87Anna Fali
1027Clifford L VocelkaUnited Kingdom2024-06-08Dorl, James J Esq UNQUALIFIED67Stephen Shaw
1028Izzy E RimJapan2024-05-31Benton, John B Jr NEGOTIATION57Amy Elsner
1029James R NickaJapan2024-05-24Chapman, Ross E Esq QUALIFIED13Bernardo Dominic
1030Greenwood Z TollnerAustralia2024-06-12Rangoni Of Florence RENEWAL6Ioni Bowcher
1031Ivar F InouyeRussia2024-05-20Buckley Miller Wright UNQUALIFIED23Asiya Javayant
1032Nicolas R SlusarskiJapan2024-05-24Chapman, Ross E Esq PROPOSAL10Onyama Limba
1033Cody B DarakjyJapan2024-06-09Rousseaux, Michael Esq PROPOSAL4Ivan Magalhaes
1034Cody A BologniaIndia2024-06-13Printing Dimensions RENEWAL32Elwin Sharvill
1035Salvatore A SaylorsItaly2024-06-06Chapman, Ross E Esq QUALIFIED75Amy Elsner
1036Stacey J InouyeFrance2024-06-10King, Christopher A Esq PROPOSAL19Stephen Shaw
1037Aika R FlosiArgentina2024-06-13Morlong Associates RENEWAL28Asiya Javayant
1038Murillo P WieserArgentina2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED51Stephen Shaw
1039Jones H MaletIndia2024-05-23King, Christopher A Esq NEW93Stephen Shaw
1040Nicolas W NestleFrance2024-06-09Printing Dimensions NEGOTIATION44Stephen Shaw
1041Darci L BriddickCanada2024-06-15Chapman, Ross E Esq QUALIFIED74Bernardo Dominic
1042David K KuskoCanada2024-06-15Chanay, Jeffrey A Esq QUALIFIED77Xuxue Feng
1043Deepesh N DilliardRussia2024-05-21Benton, John B Jr NEGOTIATION81Bernardo Dominic
1044Alejandro B DilliardRussia2024-06-02Rangoni Of Florence QUALIFIED20Xuxue Feng
1045Antonio G GlickCanada2024-05-22Truhlar And Truhlar Attys NEW20Onyama Limba
1046Munro G CaudyCanada2024-05-30Rangoni Of Florence RENEWAL15Ivan Magalhaes
1047Aruna W GillianUnited Kingdom2024-05-25Rangoni Of Florence NEGOTIATION5Ivan Magalhaes
1048Faith X SaylorsGermany2024-05-29Chemel, James L Cpa PROPOSAL81Stephen Shaw
1049Misaki D FigeroaRussia2024-05-20Truhlar And Truhlar Attys PROPOSAL0Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony F RimArgentinaIvan Magalhaes RENEWAL
Claire O StensethCanadaStephen Shaw RENEWAL
Stacey M RoysterArgentinaXuxue Feng QUALIFIED
Octavia F OstroskySpainAsiya Javayant RENEWAL
Izzy J BowleyArgentinaIvan Magalhaes NEW
Darci K SchemmerCanadaAsiya Javayant UNQUALIFIED
Julie W NestleAustraliaOnyama Limba NEGOTIATION
Julie T RoysterRussiaIvan Magalhaes UNQUALIFIED
Costa Z DarakjyJapanElwin Sharvill NEW
Darci P GarufiBrazilOnyama Limba RENEWAL
Jefferson M ButtJapanAmy Elsner PROPOSAL
Maisha C KuskoRussiaIoni Bowcher UNQUALIFIED
Juan R IturbideGermanyBernardo Dominic UNQUALIFIED
James H OstroskyAustraliaOnyama Limba NEW
Faith V NestleItalyIoni Bowcher PROPOSAL
Cody Q InouyeFranceOnyama Limba PROPOSAL
Smith S FigeroaAustraliaXuxue Feng UNQUALIFIED
Costa A DarakjyBrazilElwin Sharvill PROPOSAL
Cody E FlosiGermanyOnyama Limba RENEWAL
Octavia F SchemmerFranceStephen Shaw PROPOSAL
Kaitlin Y RoysterBrazilXuxue Feng PROPOSAL
Darci Z StensethIndiaElwin Sharvill RENEWAL
Mayumi C DilliardItalyAmy Elsner RENEWAL
Jones R AlbaresRussiaIvan Magalhaes UNQUALIFIED
Nicolas J GillianIndiaElwin Sharvill QUALIFIED
Murillo C InouyeSpainStephen Shaw QUALIFIED
Aika Z WhobreyGermanyIvan Magalhaes RENEWAL
Nicolas F WhobreyBrazilElwin Sharvill UNQUALIFIED
Ashley M GlickGermanyAmy Elsner RENEWAL
Aditya A CaudyAustraliaElwin Sharvill PROPOSAL
Emily X GauchoRussiaElwin Sharvill PROPOSAL
Maria H PerinUnited KingdomIvan Magalhaes PROPOSAL
Aika C WieserSpainStephen Shaw UNQUALIFIED
Wickens K MacleadAustraliaXuxue Feng QUALIFIED
Murillo J SlusarskiFranceAmy Elsner NEGOTIATION
Leja A SergiArgentinaXuxue Feng PROPOSAL
Ivar M ChuiCanadaOnyama Limba QUALIFIED
Mayumi X SergiBrazilBernardo Dominic RENEWAL
Kaitlin I AmigonRussiaIvan Magalhaes PROPOSAL
Claire L GlickGermanyXuxue Feng PROPOSAL
Aditya Z TollnerUnited KingdomStephen Shaw PROPOSAL
David S OstroskySpainElwin Sharvill RENEWAL
Nicolas J WieserRussiaBernardo Dominic NEGOTIATION
Leon Z WieserAustraliaIoni Bowcher QUALIFIED
Jennifer P RulapaughBrazilIoni Bowcher NEGOTIATION
Aruna L MacleadRussiaAsiya Javayant NEGOTIATION
Emily Q SlusarskiFranceElwin Sharvill UNQUALIFIED
Jeanfrancois L SlusarskiJapanElwin Sharvill NEGOTIATION
Greenwood I MaletFranceAsiya Javayant NEGOTIATION
Isabel W FerenczIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Maria O Oldroyd
Aika H Briddick
Smith W Dilliard
James Z Bolognia
Jones H Kusko
Aika K Amigon
Clifford S Saylors
Faith Y Whobrey
Kadeem X Ferencz
Claire X Ruta
Alejandro O Butt
Costa C Caldarera
Leon I Waycott
Aditya B Bolognia
Mujtaba M Kolmetz
Kaitlin W Bolognia
Tony M Sergi
Deepesh G Chui
Ivar Y Chui
Munro Z Gaucho
Faith K Shinko
Stacey B Butt
Isabel E Whobrey
Misaki T Poquette
Stacey T Maclead
Claire U Iturbide
Francesco P Bowley
Leon G Rulapaugh
Francesco A Stenseth
Kadeem U Poquette
Jeanfrancois Z Briddick
Antonio A Maclead
Chavez T Flosi
Salvatore G Slusarski
James K Ostrosky
Adams Q Vocelka
Murillo L Inouye
Izzy K Stenseth
Nicolas Z Perin
Ivar N Perin
Jefferson L Morasca
Rodrigues J Flosi
Ricardo R Gillian
David N Bolognia
Alejandro X Whobrey
Maria U Dilliard
Jefferson L Ostrosky
Antonio M Butt
Morrow Q Flosi
Emily G Waycott
IdCountryDate
1000Spain2024-05-27
1001Japan2024-06-13
1002Italy2024-06-10
1003Italy2024-06-09
1004Brazil2024-05-22
1005Spain2024-06-14
1006Brazil2024-06-09
1007Italy2024-05-21
1008Germany2024-06-04
1009Brazil2024-05-26
1010Brazil2024-06-10
1011Italy2024-05-22
1012Russia2024-06-05
1013United Kingdom2024-05-26
1014Japan2024-06-06
1015Spain2024-05-28
1016Spain2024-06-13
1017Italy2024-06-15
1018Japan2024-05-18
1019Italy2024-06-07
1020Canada2024-05-28
1021Japan2024-05-23
1022Argentina2024-05-29
1023Spain2024-05-29
1024India2024-05-30
1025Spain2024-06-15
1026United Kingdom2024-06-10
1027Brazil2024-06-08
1028Canada2024-06-06
1029India2024-05-23
1030France2024-06-09
1031Spain2024-05-22
1032Italy2024-06-02
1033France2024-05-31
1034Argentina2024-06-13
1035Germany2024-06-07
1036Japan2024-06-14
1037Brazil2024-05-28
1038Japan2024-06-09
1039Canada2024-05-27
1040France2024-06-14
1041Australia2024-05-30
1042Brazil2024-05-30
1043Canada2024-05-19
1044France2024-06-15
1045Canada2024-05-26
1046Brazil2024-05-18
1047Japan2024-06-04
1048Russia2024-05-28
1049Russia2024-06-06

On-Demand Data

NameIdCountryDate
Faith N Glick1000Canada2024-06-04
Costa A Ferencz1001Italy2024-06-15
David J Sergi1002Russia2024-06-06
Johnson D Nestle1003Japan2024-05-31
Wickens K Ostrosky1004Germany2024-05-21
Claire Z Malet1005Spain2024-05-28
Misaki Q Schemmer1006Spain2024-06-11
Aika M Whobrey1007Brazil2024-05-30
Aika M Bolognia1008Brazil2024-06-09
Alejandro O Campain1009Argentina2024-05-20
Jennifer R Oldroyd1010Russia2024-06-02
Aika E Inouye1011France2024-06-01
Jones J Oldroyd1012Japan2024-06-04
Izzy F Vocelka1013India2024-06-13
Rodrigues S Shinko1014Brazil2024-06-02
Greenwood M Butt1015Italy2024-06-05
Clifford X Vocelka1016Russia2024-05-22
Darci R Whobrey1017Australia2024-05-24
Cody J Doe1018Canada2024-06-09
Maisha F Chui1019France2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones T StockhamItalyAnna Fali PROPOSAL
Sinclair X SchemmerJapanOnyama Limba RENEWAL
Aika G SchemmerSpainXuxue Feng RENEWAL
Aditya W FollerSpainBernardo Dominic NEGOTIATION
Alejandro T ButtUnited KingdomStephen Shaw PROPOSAL
Morrow J OstroskyAustraliaIoni Bowcher QUALIFIED
Nicolas W TollnerGermanyIoni Bowcher PROPOSAL
Costa D RulapaughRussiaBernardo Dominic RENEWAL
Jennifer C MorascaSpainOnyama Limba PROPOSAL
Nicolas A IturbideFranceAmy Elsner NEW
Francesco N BriddickIndiaBernardo Dominic QUALIFIED
Munro T BriddickSpainXuxue Feng RENEWAL
Aika C RulapaughAustraliaXuxue Feng PROPOSAL
Jones I RutaItalyStephen Shaw RENEWAL
Deepesh N NestleBrazilAnna Fali UNQUALIFIED
Smith R IturbideCanadaAmy Elsner QUALIFIED
Salvatore J KolmetzIndiaIoni Bowcher UNQUALIFIED
Ivar L WhobreyRussiaAnna Fali RENEWAL
Jones M TollnerJapanAnna Fali NEW
Francesco I SchemmerUnited KingdomStephen Shaw QUALIFIED
Darci L CaudySpainXuxue Feng NEGOTIATION
Arvin J RulapaughBrazilIvan Magalhaes NEW
Jennifer J InouyeCanadaOnyama Limba PROPOSAL
Smith B PerinCanadaElwin Sharvill QUALIFIED
Darci U FollerUnited KingdomIvan Magalhaes RENEWAL
Izzy N PerinUnited KingdomElwin Sharvill RENEWAL
Clifford Y PoquetteCanadaIoni Bowcher QUALIFIED
David D PerinCanadaOnyama Limba NEGOTIATION
Greenwood I SlusarskiFranceAmy Elsner QUALIFIED
Izzy P VocelkaSpainAnna Fali UNQUALIFIED
Stacey U GarufiIndiaAmy Elsner QUALIFIED
Mayumi R KuskoUnited KingdomOnyama Limba QUALIFIED
James I MaletItalyAnna Fali RENEWAL
Ashley G SaylorsBrazilAmy Elsner RENEWAL
Aika H StockhamRussiaAnna Fali QUALIFIED
Murillo P MaletFranceAsiya Javayant PROPOSAL
Jennifer W VenereBrazilAmy Elsner RENEWAL
Silvio W PoquetteBrazilElwin Sharvill RENEWAL
Mujtaba R PaprockiArgentinaOnyama Limba QUALIFIED
Jefferson J GillianJapanAsiya Javayant 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>