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
Costa U GlickJapanOnyama Limba PROPOSAL
Claire B FerenczJapanAmy Elsner PROPOSAL
Costa J PaprockiRussiaBernardo Dominic RENEWAL
Darci W MarrierBrazilAmy Elsner RENEWAL
Deepesh B ButtFranceXuxue Feng RENEWAL
Munro A MacleadJapanAnna Fali UNQUALIFIED
Jones X RoysterSpainBernardo Dominic PROPOSAL
Jennifer Y AlbaresFranceStephen Shaw RENEWAL
Stacey Z ShinkoItalyIoni Bowcher NEGOTIATION
Julie J SaylorsRussiaBernardo Dominic PROPOSAL
James N KolmetzRussiaElwin Sharvill QUALIFIED
Salvatore D MorascaSpainXuxue Feng NEGOTIATION
Silvio J StensethJapanAsiya Javayant QUALIFIED
Juan U StockhamCanadaIoni Bowcher NEGOTIATION
Misaki M RimAustraliaIvan Magalhaes UNQUALIFIED
Adams L WhobreyIndiaStephen Shaw PROPOSAL
Kadeem I AmigonAustraliaStephen Shaw PROPOSAL
Izzy N GauchoJapanAnna Fali PROPOSAL
Jones V InouyeArgentinaAnna Fali QUALIFIED
Deepesh F WhobreyCanadaBernardo Dominic PROPOSAL
Tony Q OstroskyBrazilIvan Magalhaes NEGOTIATION
Leja G KolmetzBrazilXuxue Feng NEW
Maria M SaylorsFranceOnyama Limba NEW
Aditya R GillianBrazilAnna Fali PROPOSAL
Francesco R MaletJapanOnyama Limba NEW
Tony M IturbideJapanAnna Fali QUALIFIED
Aruna R KuskoFranceStephen Shaw UNQUALIFIED
Murillo G VenereGermanyElwin Sharvill QUALIFIED
Kaitlin O InouyeIndiaAmy Elsner PROPOSAL
Aruna D KolmetzJapanAmy Elsner NEW
Kadeem V RulapaughArgentinaElwin Sharvill QUALIFIED
Aditya F RulapaughIndiaElwin Sharvill QUALIFIED
Sinclair B KolmetzArgentinaAmy Elsner NEW
Chavez W RulapaughSpainAnna Fali NEW
Kadeem D OldroydFranceXuxue Feng RENEWAL
Jeanfrancois F RulapaughRussiaBernardo Dominic QUALIFIED
Francesco R KuskoCanadaBernardo Dominic RENEWAL
Ivar T BriddickIndiaElwin Sharvill NEW
Greenwood P RoysterJapanOnyama Limba UNQUALIFIED
Antonio U VocelkaJapanAmy Elsner QUALIFIED
Ivar Z WieserRussiaXuxue Feng NEGOTIATION
Isabel K StensethCanadaAsiya Javayant RENEWAL
Sinclair H FerenczUnited KingdomXuxue Feng NEW
Chavez N DoeIndiaAsiya Javayant UNQUALIFIED
Morrow C OstroskyAustraliaAnna Fali NEW
James X CaudyItalyAnna Fali NEGOTIATION
Julie N ButtSpainAnna Fali NEGOTIATION
Francesco J WhobreyArgentinaBernardo Dominic PROPOSAL
Juan Y WieserSpainOnyama Limba RENEWAL
Misaki G AlbaresCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba I MorascaArgentinaXuxue Feng RENEWAL
David X DarakjyCanadaStephen Shaw NEW
Clifford X InouyeAustraliaAnna Fali NEGOTIATION
Aditya T RimAustraliaAmy Elsner UNQUALIFIED
Deepesh R FollerFranceAmy Elsner PROPOSAL
Aruna Y AlbaresSpainStephen Shaw QUALIFIED
Tony S SaylorsRussiaAmy Elsner NEW
Misaki Q CaldareraAustraliaOnyama Limba RENEWAL
Smith O MaletJapanBernardo Dominic PROPOSAL
Munro Y PerinGermanyAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois I MacleadSpain2024-05-10Printing Dimensions UNQUALIFIED23Onyama Limba
1001Kaitlin P CampainUnited Kingdom2024-05-20Chapman, Ross E Esq UNQUALIFIED29Bernardo Dominic
1002Leon E StensethUnited Kingdom2024-05-14Benton, John B Jr RENEWAL13Elwin Sharvill
1003Costa W FlosiBrazil2024-04-29Commercial Press PROPOSAL81Elwin Sharvill
1004Kaitlin B FerenczBrazil2024-05-25Chapman, Ross E Esq UNQUALIFIED85Ioni Bowcher
1005James M GillianSpain2024-05-26Chapman, Ross E Esq NEW97Bernardo Dominic
1006Antonio R InouyeCanada2024-05-11Morlong Associates PROPOSAL53Xuxue Feng
1007Mujtaba W AmigonUnited Kingdom2024-05-15Rangoni Of Florence RENEWAL25Amy Elsner
1008Emily Q ChuiRussia2024-05-04Truhlar And Truhlar Attys NEW50Onyama Limba
1009Ivar R GlickGermany2024-05-05Chanay, Jeffrey A Esq UNQUALIFIED21Elwin Sharvill
1010Kaitlin I IturbideCanada2024-05-13Chemel, James L Cpa RENEWAL8Asiya Javayant
1011Wickens F PoquetteCanada2024-04-29Buckley Miller Wright NEGOTIATION35Ioni Bowcher
1012Leon P FigeroaGermany2024-05-08Chapman, Ross E Esq RENEWAL59Asiya Javayant
1013Morrow V GarufiRussia2024-05-01Rousseaux, Michael Esq NEGOTIATION42Stephen Shaw
1014Alejandro T SaylorsIndia2024-05-11King, Christopher A Esq PROPOSAL78Xuxue Feng
1015Maria B FlosiArgentina2024-05-09Chemel, James L Cpa UNQUALIFIED72Stephen Shaw
1016Morrow S MorascaItaly2024-05-20Commercial Press UNQUALIFIED19Bernardo Dominic
1017Smith I AlbaresCanada2024-04-30Dorl, James J Esq NEW38Stephen Shaw
1018Silvio O DarakjyItaly2024-05-04Benton, John B Jr NEGOTIATION60Stephen Shaw
1019Costa E TollnerArgentina2024-05-04Chemel, James L Cpa NEGOTIATION3Anna Fali
1020Jeanfrancois U AmigonIndia2024-05-09Feiner Bros QUALIFIED2Ioni Bowcher
1021Nicolas P PoquetteArgentina2024-05-24Rousseaux, Michael Esq RENEWAL74Ivan Magalhaes
1022Juan G BriddickUnited Kingdom2024-05-13Chemel, James L Cpa QUALIFIED93Stephen Shaw
1023Stacey J VocelkaIndia2024-05-10Buckley Miller Wright NEW48Elwin Sharvill
1024Ivar K SaylorsJapan2024-04-28Dorl, James J Esq NEGOTIATION47Amy Elsner
1025Rodrigues Z MaletArgentina2024-05-18King, Christopher A Esq NEW9Xuxue Feng
1026Maisha Z KolmetzJapan2024-05-07Rangoni Of Florence NEGOTIATION65Ivan Magalhaes
1027Aruna I MaletUnited Kingdom2024-05-07Morlong Associates PROPOSAL42Ioni Bowcher
1028Munro J MaletSpain2024-05-03King, Christopher A Esq QUALIFIED23Stephen Shaw
1029Mujtaba Z ButtJapan2024-05-11Commercial Press NEGOTIATION58Asiya Javayant
1030David Z BowleyBrazil2024-05-20Dorl, James J Esq NEGOTIATION50Xuxue Feng
1031Misaki N FollerIndia2024-05-19Printing Dimensions QUALIFIED43Anna Fali
1032Isabel B FollerGermany2024-04-30Chapman, Ross E Esq NEGOTIATION13Ivan Magalhaes
1033Leon F RoysterIndia2024-05-20Commercial Press NEGOTIATION57Asiya Javayant
1034Izzy T NickaCanada2024-05-10Dorl, James J Esq RENEWAL94Elwin Sharvill
1035David X NickaArgentina2024-05-20Printing Dimensions NEGOTIATION51Bernardo Dominic
1036Cody G NickaAustralia2024-05-02Rousseaux, Michael Esq NEW24Elwin Sharvill
1037Antonio C FlosiJapan2024-05-24Rousseaux, Michael Esq QUALIFIED6Amy Elsner
1038Maisha K AlbaresCanada2024-05-17Truhlar And Truhlar Attys RENEWAL85Ioni Bowcher
1039Rodrigues Z InouyeItaly2024-05-08Buckley Miller Wright QUALIFIED26Stephen Shaw
1040Greenwood Y MorascaRussia2024-04-28Morlong Associates QUALIFIED25Stephen Shaw
1041Misaki Z MacleadArgentina2024-05-21Morlong Associates NEGOTIATION58Ivan Magalhaes
1042Munro D GarufiIndia2024-05-01Commercial Press PROPOSAL18Ioni Bowcher
1043Ricardo R RulapaughAustralia2024-05-10Printing Dimensions QUALIFIED92Elwin Sharvill
1044Cody A DilliardUnited Kingdom2024-05-16Chapman, Ross E Esq UNQUALIFIED68Onyama Limba
1045Jefferson G BriddickCanada2024-05-06Buckley Miller Wright UNQUALIFIED7Ioni Bowcher
1046Morrow C NestleRussia2024-05-02Chemel, James L Cpa PROPOSAL39Onyama Limba
1047Smith U DarakjyBrazil2024-05-04Dorl, James J Esq NEGOTIATION69Amy Elsner
1048Leon V GauchoAustralia2024-05-12King, Christopher A Esq NEGOTIATION67Ivan Magalhaes
1049Ivar X WhobreyGermany2024-05-04Dorl, James J Esq NEW49Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Stacey I RulapaughRussiaElwin Sharvill NEGOTIATION
Francesco V CaldareraUnited KingdomIvan Magalhaes NEW
Claire Z WaycottFranceStephen Shaw RENEWAL
Claire N MorascaFranceIvan Magalhaes NEW
Darci E InouyeGermanyIvan Magalhaes QUALIFIED
Clifford M SchemmerCanadaAnna Fali RENEWAL
Nicolas D FlosiCanadaAnna Fali RENEWAL
Misaki C StensethItalyStephen Shaw PROPOSAL
Clifford J GlickBrazilOnyama Limba UNQUALIFIED
Mujtaba R StockhamUnited KingdomBernardo Dominic QUALIFIED
Antonio U WaycottSpainAsiya Javayant RENEWAL
Jeanfrancois K BriddickAustraliaIvan Magalhaes NEW
Faith S MacleadIndiaIvan Magalhaes NEW
Antonio M RoysterUnited KingdomAmy Elsner NEW
Alejandro K StockhamItalyIvan Magalhaes RENEWAL
Juan P SergiGermanyXuxue Feng RENEWAL
Jones P KuskoAustraliaIvan Magalhaes RENEWAL
Darci G FigeroaBrazilAsiya Javayant QUALIFIED
Octavia R KuskoFranceAmy Elsner NEGOTIATION
Sinclair P ChuiFranceIvan Magalhaes RENEWAL
Costa P SlusarskiBrazilIoni Bowcher QUALIFIED
Stacey M ShinkoRussiaIvan Magalhaes PROPOSAL
Darci R DoeGermanyAsiya Javayant UNQUALIFIED
Morrow L RimAustraliaOnyama Limba UNQUALIFIED
Juan L MaletJapanIoni Bowcher PROPOSAL
Greenwood N AmigonBrazilOnyama Limba UNQUALIFIED
Ashley C IturbideAustraliaAsiya Javayant UNQUALIFIED
Jennifer U VenereGermanyAmy Elsner QUALIFIED
Emily Z SlusarskiCanadaIoni Bowcher NEW
Emily K SergiIndiaAsiya Javayant RENEWAL
Deepesh S SaylorsItalyIoni Bowcher PROPOSAL
Silvio C GarufiUnited KingdomElwin Sharvill NEW
David X MorascaJapanIvan Magalhaes NEGOTIATION
Ricardo L FigeroaItalyXuxue Feng NEW
Nicolas T OldroydAustraliaAnna Fali NEW
Jennifer R AlbaresArgentinaAnna Fali PROPOSAL
Mayumi P DoeJapanElwin Sharvill RENEWAL
Maria M MorascaArgentinaElwin Sharvill NEGOTIATION
Izzy I DarakjyRussiaIoni Bowcher PROPOSAL
Leja N BologniaIndiaAsiya Javayant QUALIFIED
Kadeem Q MorascaRussiaXuxue Feng UNQUALIFIED
Kadeem A WieserRussiaIoni Bowcher NEGOTIATION
Sinclair C MacleadArgentinaBernardo Dominic NEW
Aruna K GlickRussiaAmy Elsner QUALIFIED
Salvatore G InouyeUnited KingdomIvan Magalhaes PROPOSAL
Greenwood D RulapaughFranceStephen Shaw NEGOTIATION
Sinclair Z RulapaughCanadaIvan Magalhaes UNQUALIFIED
Kaitlin B MarrierArgentinaXuxue Feng PROPOSAL
Francesco Z FigeroaCanadaAmy Elsner PROPOSAL
Alejandro A DoeItalyAnna Fali QUALIFIED
Frozen Columns
Name
Costa L Shinko
David I Briddick
Adams V Shinko
Jefferson G Schemmer
Octavia R Morasca
Emily Q Whobrey
Jefferson B Butt
Aditya B Kusko
Jefferson I Campain
Mujtaba G Ferencz
Smith W Gillian
Emily D Foller
Leja Y Glick
Stacey R Stenseth
Silvio U Caldarera
Mujtaba T Ostrosky
Cody J Malet
Darci R Poquette
Johnson Z Royster
Faith U Shinko
Morrow P Foller
Julie K Sergi
Aruna E Rim
Faith J Venere
James W Maclead
Jeanfrancois H Kusko
David T Foller
Jennifer S Oldroyd
Antonio Z Morasca
Jeanfrancois L Caudy
Jeanfrancois F Rim
Kadeem G Wieser
Maisha V Shinko
Morrow J Nestle
Mayumi I Vocelka
Murillo U Shinko
Sinclair G Whobrey
Cody N Malet
Leja N Sergi
Jeanfrancois N Briddick
Silvio R Ferencz
Jefferson V Shinko
Nicolas C Wieser
Johnson U Kolmetz
Smith T Stenseth
Emily P Foller
Ricardo B Perin
Silvio U Chui
Aditya Q Doe
Johnson B Gillian
IdCountryDate
1000Spain2024-05-23
1001India2024-04-28
1002Japan2024-05-14
1003India2024-05-15
1004Germany2024-04-28
1005Spain2024-05-16
1006Germany2024-05-21
1007Argentina2024-05-01
1008France2024-05-10
1009Japan2024-05-21
1010Russia2024-05-23
1011India2024-05-02
1012Japan2024-05-17
1013Russia2024-05-17
1014India2024-05-27
1015France2024-05-14
1016Brazil2024-05-03
1017Italy2024-05-27
1018Canada2024-05-06
1019United Kingdom2024-05-26
1020Italy2024-05-19
1021Japan2024-05-06
1022Canada2024-05-12
1023Argentina2024-04-28
1024Germany2024-05-16
1025United Kingdom2024-05-05
1026Brazil2024-05-12
1027Argentina2024-05-26
1028Australia2024-05-23
1029France2024-05-13
1030Italy2024-05-15
1031Germany2024-05-24
1032Brazil2024-05-07
1033India2024-05-05
1034United Kingdom2024-05-23
1035Spain2024-05-05
1036Russia2024-05-27
1037Brazil2024-05-14
1038Canada2024-05-09
1039Argentina2024-05-22
1040India2024-05-17
1041United Kingdom2024-05-19
1042Spain2024-05-25
1043Germany2024-05-20
1044Canada2024-05-25
1045Italy2024-04-28
1046India2024-05-26
1047Australia2024-05-01
1048Italy2024-05-07
1049Australia2024-05-13

On-Demand Data

NameIdCountryDate
Greenwood L Perin1000Brazil2024-04-30
Jennifer S Foller1001Russia2024-05-13
Salvatore E Morasca1002Canada2024-05-25
Leon J Kolmetz1003Japan2024-05-02
Munro T Perin1004Japan2024-05-22
Kaitlin S Inouye1005Brazil2024-05-23
Emily O Tollner1006India2024-05-16
Smith A Morasca1007Russia2024-05-02
Darci Z Inouye1008France2024-05-01
Costa Y Kolmetz1009Italy2024-05-01
Costa Z Marrier1010United Kingdom2024-04-28
Antonio K Stockham1011United Kingdom2024-05-20
Ricardo Y Malet1012Russia2024-04-29
David E Oldroyd1013Brazil2024-05-12
Arvin J Caudy1014India2024-05-06
Isabel R Amigon1015India2024-05-24
Maria V Nicka1016Germany2024-05-07
Murillo F Oldroyd1017Spain2024-05-25
Deepesh B Bowley1018Germany2024-04-29
Aruna X Malet1019Brazil2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo R WieserUnited KingdomAnna Fali NEGOTIATION
David I OldroydIndiaElwin Sharvill NEW
Ricardo W DilliardFranceIvan Magalhaes QUALIFIED
Antonio R WhobreyGermanyAmy Elsner RENEWAL
Alejandro X ButtBrazilAnna Fali NEW
Jeanfrancois K CampainRussiaIvan Magalhaes UNQUALIFIED
Isabel L AlbaresRussiaBernardo Dominic NEGOTIATION
Johnson K BriddickArgentinaIoni Bowcher UNQUALIFIED
Francesco H SlusarskiSpainStephen Shaw PROPOSAL
Faith E InouyeAustraliaAmy Elsner RENEWAL
Darci I VenereGermanyElwin Sharvill NEW
Cody A AmigonBrazilAnna Fali QUALIFIED
Deepesh S WieserItalyAsiya Javayant PROPOSAL
Emily X MarrierJapanElwin Sharvill NEGOTIATION
Darci J AlbaresItalyAsiya Javayant NEW
Jefferson T DarakjyJapanIvan Magalhaes NEW
Misaki L CampainIndiaXuxue Feng QUALIFIED
Leja T MacleadArgentinaAsiya Javayant PROPOSAL
Cody G KuskoRussiaAnna Fali PROPOSAL
Aika L WieserArgentinaOnyama Limba PROPOSAL
Izzy L FerenczRussiaAnna Fali RENEWAL
Aika D KuskoGermanyIoni Bowcher QUALIFIED
Isabel Y CaudyFranceAmy Elsner PROPOSAL
Mayumi W VenereJapanIvan Magalhaes QUALIFIED
Kaitlin A OstroskyIndiaAsiya Javayant UNQUALIFIED
Julie I ButtIndiaOnyama Limba UNQUALIFIED
Ashley S RoysterArgentinaIoni Bowcher PROPOSAL
Emily F BriddickRussiaBernardo Dominic RENEWAL
Stacey T ChuiArgentinaIvan Magalhaes RENEWAL
Kadeem D InouyeBrazilIoni Bowcher QUALIFIED
Maria W RulapaughJapanStephen Shaw PROPOSAL
Aruna M KuskoGermanyElwin Sharvill NEW
Octavia E SergiRussiaBernardo Dominic QUALIFIED
Isabel Q DoeRussiaOnyama Limba NEW
Antonio M StensethCanadaBernardo Dominic QUALIFIED
James A PerinRussiaIvan Magalhaes NEGOTIATION
Claire Q DilliardGermanyAmy Elsner QUALIFIED
Claire W CampainRussiaIvan Magalhaes RENEWAL
Maria R ChuiBrazilIvan Magalhaes PROPOSAL
Chavez P FigeroaFranceAnna Fali PROPOSAL

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