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
Nicolas N SaylorsFranceXuxue Feng UNQUALIFIED
Francesco H MorascaArgentinaXuxue Feng QUALIFIED
Kaitlin H StensethUnited KingdomAmy Elsner UNQUALIFIED
Stacey P KolmetzItalyIvan Magalhaes RENEWAL
Kadeem A MaletBrazilXuxue Feng NEW
Mujtaba Y MorascaUnited KingdomIvan Magalhaes RENEWAL
Maisha C KuskoGermanyIoni Bowcher RENEWAL
Clifford Q AlbaresRussiaIvan Magalhaes UNQUALIFIED
Cody B GlickArgentinaAsiya Javayant NEGOTIATION
Morrow S MarrierFranceAmy Elsner QUALIFIED
Kaitlin U MarrierCanadaOnyama Limba NEW
Faith F ButtItalyAmy Elsner NEGOTIATION
Rodrigues U MaletIndiaElwin Sharvill RENEWAL
Aditya V StensethBrazilIvan Magalhaes NEW
Ricardo C GillianSpainStephen Shaw RENEWAL
Greenwood I VenereSpainAmy Elsner UNQUALIFIED
Alejandro M CampainIndiaIvan Magalhaes PROPOSAL
Johnson R NestleSpainOnyama Limba QUALIFIED
Jennifer Y BowleyArgentinaElwin Sharvill QUALIFIED
Silvio M TollnerRussiaAmy Elsner QUALIFIED
Greenwood O RutaArgentinaAsiya Javayant QUALIFIED
Julie I MarrierFranceIvan Magalhaes NEW
Aditya O DarakjyGermanyXuxue Feng RENEWAL
Alejandro W AmigonBrazilBernardo Dominic RENEWAL
Johnson S RutaUnited KingdomIvan Magalhaes NEGOTIATION
Clifford Z KolmetzSpainAmy Elsner NEGOTIATION
Jefferson D KuskoSpainOnyama Limba UNQUALIFIED
Mayumi R OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Ivar B RulapaughJapanXuxue Feng RENEWAL
Arvin N FlosiRussiaIvan Magalhaes QUALIFIED
Misaki V PerinCanadaOnyama Limba PROPOSAL
Maria M SergiArgentinaAnna Fali RENEWAL
Sinclair M GillianArgentinaAnna Fali NEGOTIATION
Kaitlin P MorascaFranceStephen Shaw NEGOTIATION
Darci Z ShinkoGermanyOnyama Limba UNQUALIFIED
Sinclair Z ButtIndiaAnna Fali NEGOTIATION
Jennifer I GarufiGermanyOnyama Limba NEW
Aditya A RutaBrazilAmy Elsner PROPOSAL
Nicolas P MorascaBrazilXuxue Feng RENEWAL
Mayumi K NestleUnited KingdomAnna Fali NEW
Maisha N WieserUnited KingdomAmy Elsner QUALIFIED
David F InouyeGermanyElwin Sharvill UNQUALIFIED
Costa K SaylorsIndiaStephen Shaw NEGOTIATION
Emily X VocelkaUnited KingdomXuxue Feng RENEWAL
Aditya L MaletAustraliaIvan Magalhaes PROPOSAL
Alejandro Y RoysterRussiaXuxue Feng PROPOSAL
Faith G MaletSpainAsiya Javayant NEGOTIATION
Mayumi X KuskoItalyElwin Sharvill QUALIFIED
Kaitlin U FerenczAustraliaAnna Fali RENEWAL
Aika W MorascaJapanBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Maria R CaudyItalyStephen Shaw NEGOTIATION
Chavez X WaycottSpainStephen Shaw QUALIFIED
Johnson P InouyeCanadaIoni Bowcher RENEWAL
Antonio U SaylorsFranceIvan Magalhaes NEGOTIATION
Mayumi Y FigeroaArgentinaBernardo Dominic RENEWAL
Wickens X BologniaSpainIvan Magalhaes PROPOSAL
Sinclair F MaletGermanyIvan Magalhaes QUALIFIED
Ricardo B PerinIndiaBernardo Dominic NEW
Jones H MaletArgentinaAsiya Javayant QUALIFIED
Johnson K DilliardItalyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika M ChuiRussia2024-06-13Rangoni Of Florence QUALIFIED36Amy Elsner
1001Kadeem S MorascaGermany2024-06-13Truhlar And Truhlar Attys NEW43Xuxue Feng
1002Mujtaba T SaylorsJapan2024-05-24Dorl, James J Esq RENEWAL90Amy Elsner
1003Murillo K GillianBrazil2024-06-15Feltz Printing Service QUALIFIED42Bernardo Dominic
1004James T CaudyArgentina2024-06-20Rousseaux, Michael Esq NEGOTIATION12Asiya Javayant
1005David V DoeUnited Kingdom2024-05-30King, Christopher A Esq PROPOSAL80Ioni Bowcher
1006Murillo K KolmetzJapan2024-05-25Commercial Press NEW27Asiya Javayant
1007James E IturbideSpain2024-06-11Chanay, Jeffrey A Esq NEW8Xuxue Feng
1008Tony A StockhamRussia2024-06-17Morlong Associates UNQUALIFIED89Ioni Bowcher
1009Misaki I SlusarskiFrance2024-06-08Rousseaux, Michael Esq PROPOSAL36Amy Elsner
1010Isabel D PaprockiSpain2024-05-30Commercial Press QUALIFIED80Elwin Sharvill
1011Kaitlin Z IturbideUnited Kingdom2024-06-17Chapman, Ross E Esq QUALIFIED87Elwin Sharvill
1012Kaitlin P DoeItaly2024-06-08Rangoni Of Florence RENEWAL58Anna Fali
1013Rodrigues K NestleItaly2024-06-06Truhlar And Truhlar Attys UNQUALIFIED91Xuxue Feng
1014Misaki S SaylorsBrazil2024-06-14Rangoni Of Florence PROPOSAL39Onyama Limba
1015Costa M InouyeItaly2024-05-29Truhlar And Truhlar Attys UNQUALIFIED66Onyama Limba
1016Ashley C MarrierSpain2024-06-07Dorl, James J Esq UNQUALIFIED76Asiya Javayant
1017Antonio P RimIndia2024-06-07Buckley Miller Wright NEW93Xuxue Feng
1018Silvio I TollnerCanada2024-06-09Morlong Associates NEW58Amy Elsner
1019Francesco O MacleadCanada2024-06-05Rangoni Of Florence RENEWAL47Asiya Javayant
1020Deepesh I WieserSpain2024-06-06Buckley Miller Wright QUALIFIED5Elwin Sharvill
1021Leon K DarakjyFrance2024-05-31Feiner Bros RENEWAL47Stephen Shaw
1022James H AmigonFrance2024-05-27King, Christopher A Esq RENEWAL78Onyama Limba
1023Munro O OldroydRussia2024-06-13Chanay, Jeffrey A Esq NEGOTIATION64Anna Fali
1024Nicolas C GarufiSpain2024-06-17Rousseaux, Michael Esq QUALIFIED14Bernardo Dominic
1025Ivar L RutaIndia2024-06-18Dorl, James J Esq QUALIFIED84Asiya Javayant
1026Sinclair B RoysterArgentina2024-06-17Benton, John B Jr NEGOTIATION92Ivan Magalhaes
1027Greenwood X CaldareraUnited Kingdom2024-06-06Commercial Press QUALIFIED78Amy Elsner
1028Clifford G SergiArgentina2024-06-16Feiner Bros NEGOTIATION47Amy Elsner
1029Emily J MacleadCanada2024-06-06Benton, John B Jr PROPOSAL34Bernardo Dominic
1030Chavez U CaldareraUnited Kingdom2024-05-26Dorl, James J Esq NEGOTIATION73Anna Fali
1031Leja H ChuiGermany2024-06-04Morlong Associates QUALIFIED37Asiya Javayant
1032Ivar W OstroskyAustralia2024-06-09Benton, John B Jr PROPOSAL38Asiya Javayant
1033Aika M OldroydCanada2024-05-27Commercial Press RENEWAL29Anna Fali
1034Munro M MaletItaly2024-05-29Chemel, James L Cpa NEW29Asiya Javayant
1035Emily A GillianBrazil2024-06-16Chemel, James L Cpa PROPOSAL89Onyama Limba
1036Stacey M AlbaresIndia2024-06-06Buckley Miller Wright UNQUALIFIED53Amy Elsner
1037Stacey O FollerArgentina2024-06-06Benton, John B Jr RENEWAL90Ioni Bowcher
1038Alejandro N RutaRussia2024-06-10Rousseaux, Michael Esq QUALIFIED62Onyama Limba
1039Deepesh U VenereAustralia2024-06-16Rousseaux, Michael Esq PROPOSAL51Onyama Limba
1040Aika N ShinkoIndia2024-05-23Chapman, Ross E Esq NEGOTIATION46Bernardo Dominic
1041Ashley W PaprockiGermany2024-06-10Rangoni Of Florence NEGOTIATION91Asiya Javayant
1042Francesco F MaletJapan2024-05-30Commercial Press NEGOTIATION42Amy Elsner
1043Misaki N GillianRussia2024-05-26Morlong Associates UNQUALIFIED99Anna Fali
1044Munro R OstroskyRussia2024-05-30Printing Dimensions NEGOTIATION0Amy Elsner
1045Johnson U BologniaUnited Kingdom2024-05-31Truhlar And Truhlar Attys NEW35Anna Fali
1046Murillo D GillianJapan2024-06-11Chemel, James L Cpa RENEWAL96Bernardo Dominic
1047Maisha L BriddickCanada2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED38Onyama Limba
1048Aika G ShinkoCanada2024-06-04King, Christopher A Esq NEW93Xuxue Feng
1049Rodrigues A DoeJapan2024-06-04Commercial Press NEGOTIATION20Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues N WieserArgentinaAnna Fali QUALIFIED
Octavia P AlbaresIndiaElwin Sharvill PROPOSAL
Darci F StensethRussiaOnyama Limba RENEWAL
Juan L SaylorsCanadaAsiya Javayant QUALIFIED
Sinclair U OstroskyJapanOnyama Limba NEGOTIATION
Maria X FollerGermanyIvan Magalhaes NEGOTIATION
Leon R CaudyIndiaXuxue Feng NEW
Costa A SaylorsUnited KingdomBernardo Dominic QUALIFIED
Leon N NestleFranceStephen Shaw PROPOSAL
Leon N DilliardUnited KingdomAmy Elsner QUALIFIED
Maria P WieserItalyOnyama Limba NEW
Greenwood T PoquetteItalyElwin Sharvill PROPOSAL
Rodrigues A TollnerGermanyElwin Sharvill UNQUALIFIED
Mayumi Q InouyeFranceIoni Bowcher RENEWAL
Kaitlin N DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Cody S VenereItalyAmy Elsner NEGOTIATION
Juan Q RimGermanyElwin Sharvill QUALIFIED
Darci A WaycottBrazilXuxue Feng RENEWAL
Morrow E RutaFranceIoni Bowcher NEW
Smith S DilliardGermanyStephen Shaw QUALIFIED
Francesco C ChuiJapanXuxue Feng PROPOSAL
Maria Y RutaUnited KingdomStephen Shaw NEGOTIATION
Tony E NickaRussiaIvan Magalhaes NEW
Octavia T FerenczSpainBernardo Dominic NEGOTIATION
Aruna J BowleyJapanElwin Sharvill UNQUALIFIED
Cody M GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Adams K AmigonItalyIvan Magalhaes NEW
Salvatore B ButtArgentinaAsiya Javayant PROPOSAL
Munro D PerinItalyElwin Sharvill PROPOSAL
David U CaldareraSpainXuxue Feng PROPOSAL
Chavez O BologniaUnited KingdomAmy Elsner QUALIFIED
Isabel X OldroydBrazilIoni Bowcher NEW
Alejandro H MorascaCanadaIoni Bowcher NEW
Ashley C WieserJapanXuxue Feng NEGOTIATION
Emily A BologniaJapanElwin Sharvill UNQUALIFIED
Deepesh Y VocelkaIndiaAnna Fali UNQUALIFIED
Silvio N TollnerGermanyXuxue Feng UNQUALIFIED
Julie Q PerinBrazilStephen Shaw NEW
Costa V DoeIndiaBernardo Dominic PROPOSAL
Mayumi A CaudyFranceAnna Fali UNQUALIFIED
Rodrigues D GlickBrazilBernardo Dominic QUALIFIED
Wickens G OldroydUnited KingdomOnyama Limba UNQUALIFIED
Claire F ShinkoIndiaOnyama Limba PROPOSAL
Salvatore H FlosiGermanyAnna Fali PROPOSAL
Jefferson P CaudyArgentinaElwin Sharvill NEGOTIATION
Costa N PerinItalyAmy Elsner RENEWAL
Tony W NestleJapanIoni Bowcher NEW
David W WaycottRussiaBernardo Dominic RENEWAL
Ashley Z SlusarskiJapanOnyama Limba RENEWAL
Morrow Y CampainRussiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Kaitlin X Paprocki
Costa M Slusarski
Mujtaba S Venere
Darci K Amigon
Silvio G Inouye
Murillo V Bowley
Jones Y Darakjy
Wickens M Amigon
Jones Q Nicka
Cody J Ferencz
Kadeem F Schemmer
Smith B Garufi
Salvatore A Saylors
Juan F Nicka
Kadeem N Inouye
Aruna X Saylors
Misaki B Rim
David A Nicka
Antonio H Marrier
Wickens Y Rulapaugh
Jones M Garufi
Smith C Sergi
Adams W Albares
Leja N Tollner
Alejandro K Morasca
Julie O Briddick
Leja B Glick
Alejandro A Marrier
Antonio Z Nestle
Silvio L Briddick
Jones X Inouye
Jeanfrancois Q Caudy
Cody P Bolognia
Leja D Foller
Leja A Albares
Aditya L Nestle
Adams P Garufi
Leja C Stenseth
Deepesh W Sergi
Jennifer A Rim
Tony X Shinko
Claire P Kusko
Nicolas L Darakjy
Jennifer W Nicka
Izzy Q Dilliard
Octavia R Oldroyd
Mujtaba P Rulapaugh
Misaki X Figeroa
Ricardo Y Shinko
Claire H Flosi
IdCountryDate
1000France2024-06-20
1001France2024-05-25
1002United Kingdom2024-05-24
1003Spain2024-06-17
1004India2024-06-01
1005Japan2024-05-28
1006Australia2024-06-17
1007Spain2024-06-04
1008Argentina2024-06-01
1009Australia2024-06-03
1010United Kingdom2024-06-19
1011France2024-05-28
1012Brazil2024-06-01
1013France2024-06-17
1014Spain2024-06-12
1015United Kingdom2024-06-07
1016Italy2024-05-24
1017Canada2024-06-05
1018United Kingdom2024-06-17
1019Australia2024-06-12
1020France2024-05-31
1021Russia2024-06-21
1022Canada2024-06-11
1023Japan2024-05-26
1024Australia2024-05-26
1025Australia2024-05-29
1026Australia2024-06-14
1027Canada2024-06-14
1028India2024-05-29
1029Germany2024-06-09
1030Italy2024-06-15
1031United Kingdom2024-06-03
1032Spain2024-06-11
1033Australia2024-05-30
1034Germany2024-06-01
1035Australia2024-06-16
1036Italy2024-06-07
1037Australia2024-05-23
1038Germany2024-06-07
1039Brazil2024-06-21
1040Spain2024-05-28
1041Australia2024-06-10
1042Brazil2024-06-07
1043Germany2024-05-25
1044Russia2024-06-03
1045Brazil2024-06-02
1046Spain2024-05-25
1047Australia2024-06-14
1048Japan2024-06-12
1049France2024-06-07

On-Demand Data

NameIdCountryDate
Munro W Garufi1000Russia2024-06-14
Arvin X Figeroa1001Japan2024-05-27
Aditya Z Gaucho1002Canada2024-06-20
Clifford O Flosi1003Australia2024-05-26
Ivar K Inouye1004France2024-06-10
Aika G Garufi1005Argentina2024-06-17
Cody Q Inouye1006United Kingdom2024-06-12
Maisha S Royster1007Canada2024-06-11
Munro U Paprocki1008Canada2024-05-29
Ivar G Foller1009Canada2024-05-30
Ricardo B Gillian1010Argentina2024-05-31
David D Rulapaugh1011Germany2024-05-27
Jennifer X Paprocki1012Australia2024-06-21
Octavia D Garufi1013Japan2024-05-24
Clifford N Darakjy1014France2024-06-05
Maria A Vocelka1015Australia2024-06-10
Chavez C Foller1016Argentina2024-05-24
Kadeem V Inouye1017France2024-06-02
Murillo B Rulapaugh1018India2024-05-30
Julie O Gaucho1019Russia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony J VenereItalyAnna Fali QUALIFIED
Rodrigues I BriddickJapanAmy Elsner NEW
Darci T FigeroaUnited KingdomAmy Elsner NEGOTIATION
Cody C BriddickItalyOnyama Limba NEGOTIATION
Jefferson L SaylorsFranceAmy Elsner NEW
Greenwood S MarrierBrazilElwin Sharvill PROPOSAL
Smith S MaletItalyElwin Sharvill QUALIFIED
Francesco S WhobreyArgentinaXuxue Feng UNQUALIFIED
Mujtaba E SaylorsBrazilStephen Shaw QUALIFIED
Kaitlin Q FollerGermanyIoni Bowcher PROPOSAL
Jennifer V OstroskyGermanyBernardo Dominic NEW
Cody A VenereIndiaIvan Magalhaes UNQUALIFIED
Maisha M StensethBrazilOnyama Limba NEW
Emily N KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues X GauchoGermanyBernardo Dominic QUALIFIED
Wickens E OstroskyJapanXuxue Feng PROPOSAL
Clifford E GauchoSpainIoni Bowcher NEGOTIATION
Aditya H DarakjyUnited KingdomIvan Magalhaes NEW
Mayumi F NickaGermanyIoni Bowcher PROPOSAL
Maisha D GarufiGermanyElwin Sharvill NEGOTIATION
Mayumi S BowleyUnited KingdomIoni Bowcher NEW
Costa Z ShinkoSpainOnyama Limba PROPOSAL
Tony Q NestleBrazilBernardo Dominic PROPOSAL
Deepesh W CampainJapanAsiya Javayant NEW
Kaitlin I ShinkoAustraliaIvan Magalhaes RENEWAL
Cody W DoeCanadaIvan Magalhaes NEW
Clifford P MaletGermanyAnna Fali NEW
Johnson A VocelkaArgentinaAmy Elsner RENEWAL
Murillo Q DoeJapanIoni Bowcher RENEWAL
Maisha Y SchemmerJapanXuxue Feng NEGOTIATION
Jefferson P WaycottSpainStephen Shaw PROPOSAL
Salvatore X SaylorsGermanyElwin Sharvill QUALIFIED
Murillo M OstroskyJapanAsiya Javayant QUALIFIED
Isabel B VocelkaArgentinaBernardo Dominic PROPOSAL
Smith H MacleadRussiaBernardo Dominic UNQUALIFIED
Ivar M SchemmerCanadaElwin Sharvill NEW
Kadeem W WieserRussiaIoni Bowcher RENEWAL
Mujtaba S PaprockiBrazilElwin Sharvill QUALIFIED
Alejandro L StockhamCanadaElwin Sharvill NEGOTIATION
Maisha V BologniaArgentinaStephen Shaw QUALIFIED

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