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
Aruna G StensethUnited KingdomOnyama Limba PROPOSAL
Morrow W NickaSpainAsiya Javayant NEW
Aika S KuskoIndiaIvan Magalhaes UNQUALIFIED
Stacey U VocelkaAustraliaElwin Sharvill QUALIFIED
Johnson W FollerJapanXuxue Feng UNQUALIFIED
Ivar Y KolmetzFranceOnyama Limba NEW
Rodrigues Y VocelkaSpainIoni Bowcher QUALIFIED
Nicolas M IturbideItalyXuxue Feng UNQUALIFIED
Ricardo J MaletBrazilElwin Sharvill PROPOSAL
Deepesh K NestleUnited KingdomIoni Bowcher UNQUALIFIED
Maisha H PoquetteArgentinaElwin Sharvill NEW
Ricardo J CaudyGermanyOnyama Limba QUALIFIED
David G VenereGermanyIoni Bowcher NEW
Chavez F KolmetzIndiaAnna Fali UNQUALIFIED
Claire H MaletFranceAmy Elsner QUALIFIED
James I KolmetzUnited KingdomOnyama Limba RENEWAL
Isabel C GlickGermanyStephen Shaw RENEWAL
Smith I CaldareraSpainIvan Magalhaes NEW
James W BriddickGermanyXuxue Feng PROPOSAL
Deepesh J WaycottGermanyAnna Fali RENEWAL
Ivar P StockhamArgentinaBernardo Dominic RENEWAL
Mayumi M VenereJapanIoni Bowcher PROPOSAL
Greenwood K MarrierJapanAsiya Javayant QUALIFIED
Isabel H MaletRussiaAsiya Javayant NEW
Francesco I BowleyBrazilOnyama Limba PROPOSAL
Mujtaba V PerinFranceOnyama Limba RENEWAL
Sinclair W VocelkaArgentinaOnyama Limba PROPOSAL
Octavia R DilliardSpainIvan Magalhaes RENEWAL
Wickens Y BriddickFranceXuxue Feng NEGOTIATION
Francesco U CaldareraBrazilAnna Fali UNQUALIFIED
Ashley L WaycottJapanIvan Magalhaes RENEWAL
Murillo Z RoysterJapanStephen Shaw RENEWAL
Wickens M RulapaughIndiaIvan Magalhaes NEGOTIATION
Maisha S DoeItalyElwin Sharvill UNQUALIFIED
Morrow N RutaArgentinaIoni Bowcher NEW
Jennifer U MaletCanadaIoni Bowcher PROPOSAL
Kadeem U NestleSpainOnyama Limba NEW
Aika L ButtArgentinaElwin Sharvill PROPOSAL
Deepesh F WieserCanadaOnyama Limba PROPOSAL
Silvio F ShinkoGermanyElwin Sharvill UNQUALIFIED
Johnson F KuskoIndiaAnna Fali NEGOTIATION
Smith K VocelkaIndiaElwin Sharvill NEGOTIATION
Jefferson V CaudyItalyAsiya Javayant PROPOSAL
David D CaudyCanadaXuxue Feng PROPOSAL
Leon N MacleadArgentinaIoni Bowcher PROPOSAL
Jeanfrancois H FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Johnson T KolmetzGermanyStephen Shaw NEW
Alejandro B BologniaArgentinaOnyama Limba UNQUALIFIED
Claire D BriddickAustraliaBernardo Dominic NEW
David F GillianArgentinaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel I AlbaresJapanOnyama Limba UNQUALIFIED
Chavez Y VenereIndiaXuxue Feng PROPOSAL
Aruna W KuskoJapanOnyama Limba NEW
Maria C StensethArgentinaXuxue Feng NEGOTIATION
Isabel N GlickRussiaIoni Bowcher UNQUALIFIED
Aditya K MacleadArgentinaAnna Fali NEGOTIATION
Morrow C InouyeJapanElwin Sharvill RENEWAL
Jones N GauchoJapanBernardo Dominic RENEWAL
Johnson X NestleSpainStephen Shaw QUALIFIED
Claire B MorascaIndiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie K PoquetteArgentina2024-05-31Dorl, James J Esq NEW2Onyama Limba
1001Smith D GarufiJapan2024-06-20Chapman, Ross E Esq UNQUALIFIED49Ivan Magalhaes
1002Nicolas Q WhobreyRussia2024-06-11Dorl, James J Esq RENEWAL62Stephen Shaw
1003Wickens D RutaArgentina2024-06-13Truhlar And Truhlar Attys NEGOTIATION35Xuxue Feng
1004James W KolmetzAustralia2024-06-05Dorl, James J Esq RENEWAL36Ioni Bowcher
1005Kadeem F MorascaSpain2024-06-18Buckley Miller Wright NEGOTIATION76Anna Fali
1006Darci T BriddickUnited Kingdom2024-06-05Chapman, Ross E Esq RENEWAL6Onyama Limba
1007Emily B ButtBrazil2024-05-31Chemel, James L Cpa UNQUALIFIED70Amy Elsner
1008Antonio Q ChuiArgentina2024-05-29Rangoni Of Florence PROPOSAL54Bernardo Dominic
1009Wickens H FollerFrance2024-05-29Chemel, James L Cpa NEW31Onyama Limba
1010Emily C RutaCanada2024-06-05Truhlar And Truhlar Attys NEW84Bernardo Dominic
1011Maisha B AlbaresSpain2024-05-27Feltz Printing Service NEGOTIATION79Amy Elsner
1012Clifford T OldroydIndia2024-06-04Chapman, Ross E Esq PROPOSAL44Anna Fali
1013Deepesh H DarakjySpain2024-06-07Rousseaux, Michael Esq QUALIFIED85Stephen Shaw
1014Leja Y MaletCanada2024-06-09Benton, John B Jr RENEWAL56Bernardo Dominic
1015Morrow V OldroydBrazil2024-06-18Feiner Bros UNQUALIFIED59Asiya Javayant
1016Smith Z ShinkoUnited Kingdom2024-06-01Rangoni Of Florence NEGOTIATION99Bernardo Dominic
1017Jones R RulapaughRussia2024-06-04Buckley Miller Wright RENEWAL89Onyama Limba
1018Ricardo V BowleyUnited Kingdom2024-06-19Feiner Bros NEW48Xuxue Feng
1019Antonio M FlosiJapan2024-06-13Dorl, James J Esq NEGOTIATION11Elwin Sharvill
1020Murillo A PerinRussia2024-06-07Truhlar And Truhlar Attys QUALIFIED38Xuxue Feng
1021Mayumi Y BowleySpain2024-05-30Feltz Printing Service UNQUALIFIED43Anna Fali
1022Darci H BologniaBrazil2024-06-10King, Christopher A Esq PROPOSAL32Ioni Bowcher
1023Cody B MaletRussia2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED9Asiya Javayant
1024Ivar K OstroskyFrance2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED60Anna Fali
1025Wickens P PoquetteBrazil2024-06-12Feiner Bros NEW28Stephen Shaw
1026Maria D AlbaresFrance2024-05-29Chanay, Jeffrey A Esq NEW96Onyama Limba
1027Misaki L SergiBrazil2024-05-30Rousseaux, Michael Esq NEW3Bernardo Dominic
1028Isabel O BologniaFrance2024-06-02King, Christopher A Esq NEW70Anna Fali
1029Deepesh V VocelkaAustralia2024-05-29Rangoni Of Florence QUALIFIED51Onyama Limba
1030Arvin R NestleGermany2024-06-05King, Christopher A Esq NEGOTIATION31Anna Fali
1031Claire C WieserIndia2024-06-06Rousseaux, Michael Esq RENEWAL96Ivan Magalhaes
1032Julie T SergiGermany2024-06-16Feltz Printing Service RENEWAL75Anna Fali
1033Juan I ChuiArgentina2024-06-01Printing Dimensions PROPOSAL64Asiya Javayant
1034Jeanfrancois E MarrierRussia2024-05-24Chemel, James L Cpa QUALIFIED92Ivan Magalhaes
1035Aditya M SaylorsGermany2024-05-29King, Christopher A Esq UNQUALIFIED99Anna Fali
1036Kaitlin W SaylorsIndia2024-05-27Feiner Bros NEGOTIATION54Stephen Shaw
1037Tony F WieserBrazil2024-06-03Chanay, Jeffrey A Esq NEW38Asiya Javayant
1038Jefferson D MaletJapan2024-06-07Chemel, James L Cpa RENEWAL50Asiya Javayant
1039Wickens F DilliardBrazil2024-05-28Benton, John B Jr NEGOTIATION10Amy Elsner
1040Rodrigues F ChuiItaly2024-06-11Morlong Associates NEW31Ivan Magalhaes
1041Maria B AmigonItaly2024-06-01Buckley Miller Wright RENEWAL80Elwin Sharvill
1042Maria U KolmetzFrance2024-05-31Commercial Press RENEWAL17Onyama Limba
1043Morrow Z GillianCanada2024-06-07Feltz Printing Service PROPOSAL61Xuxue Feng
1044Adams C RulapaughItaly2024-06-14Commercial Press PROPOSAL29Anna Fali
1045Johnson B PoquetteGermany2024-06-05Rangoni Of Florence QUALIFIED59Elwin Sharvill
1046Ivar H MaletCanada2024-06-01Rousseaux, Michael Esq NEGOTIATION96Bernardo Dominic
1047Isabel I InouyeBrazil2024-06-18Buckley Miller Wright NEGOTIATION62Bernardo Dominic
1048Wickens R GlickArgentina2024-05-27Commercial Press RENEWAL86Elwin Sharvill
1049Johnson N MaletFrance2024-06-12Chemel, James L Cpa PROPOSAL35Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Darci M AlbaresItalyAsiya Javayant UNQUALIFIED
Johnson O TollnerUnited KingdomAnna Fali UNQUALIFIED
Nicolas D GarufiBrazilElwin Sharvill QUALIFIED
Antonio O MacleadUnited KingdomAnna Fali NEGOTIATION
Johnson L NestleArgentinaBernardo Dominic UNQUALIFIED
David M NestleSpainBernardo Dominic QUALIFIED
Greenwood L NickaUnited KingdomAmy Elsner RENEWAL
Jeanfrancois K WaycottArgentinaIvan Magalhaes UNQUALIFIED
Ashley G RoysterJapanIvan Magalhaes RENEWAL
Aruna J KuskoUnited KingdomOnyama Limba NEW
Ricardo Q VocelkaJapanAsiya Javayant RENEWAL
Alejandro P KuskoBrazilAsiya Javayant UNQUALIFIED
David U StensethArgentinaBernardo Dominic PROPOSAL
Adams T RimItalyIvan Magalhaes NEGOTIATION
Claire G IturbideJapanIoni Bowcher RENEWAL
Ivar A FigeroaItalyOnyama Limba RENEWAL
Kadeem V VocelkaRussiaAsiya Javayant RENEWAL
Jones Z WieserFranceAmy Elsner RENEWAL
Kaitlin E VocelkaGermanyAnna Fali UNQUALIFIED
Mujtaba O CaldareraRussiaStephen Shaw UNQUALIFIED
Maria G GauchoIndiaIvan Magalhaes RENEWAL
Rodrigues C WhobreyCanadaElwin Sharvill QUALIFIED
Clifford J BologniaCanadaAsiya Javayant QUALIFIED
Sinclair B OldroydBrazilStephen Shaw RENEWAL
James W SchemmerSpainIoni Bowcher NEW
Morrow K DilliardIndiaAsiya Javayant NEGOTIATION
Maria P CaldareraAustraliaAmy Elsner NEGOTIATION
Munro A MorascaJapanXuxue Feng QUALIFIED
Stacey U RulapaughRussiaIvan Magalhaes RENEWAL
Stacey X RoysterSpainIvan Magalhaes RENEWAL
James O NestleSpainBernardo Dominic RENEWAL
Jefferson P GillianRussiaBernardo Dominic QUALIFIED
Jennifer B FlosiItalyXuxue Feng NEW
David E GlickFranceIoni Bowcher UNQUALIFIED
Clifford J AlbaresRussiaOnyama Limba RENEWAL
Aika A NickaItalyAmy Elsner RENEWAL
Munro S AmigonIndiaIvan Magalhaes NEGOTIATION
Mayumi L DoeRussiaAsiya Javayant RENEWAL
Munro I NickaFranceIoni Bowcher NEW
Rodrigues T VocelkaBrazilAsiya Javayant RENEWAL
Ashley H AlbaresCanadaAsiya Javayant QUALIFIED
Adams C DilliardIndiaIvan Magalhaes NEGOTIATION
Adams R CampainRussiaIvan Magalhaes NEW
Aruna X BowleyCanadaElwin Sharvill UNQUALIFIED
Mayumi X VocelkaJapanBernardo Dominic RENEWAL
Kaitlin A FigeroaUnited KingdomOnyama Limba NEGOTIATION
Smith R MorascaItalyAmy Elsner QUALIFIED
Faith K TollnerItalyElwin Sharvill QUALIFIED
Jennifer A StockhamItalyXuxue Feng QUALIFIED
Rodrigues O RutaIndiaStephen Shaw NEW
Frozen Columns
Name
Leja M Tollner
Ricardo S Oldroyd
Claire W Doe
Johnson U Kusko
Nicolas B Caldarera
Ivar E Butt
Emily T Albares
Ashley B Gillian
Deepesh Y Malet
Izzy D Shinko
Juan S Darakjy
Costa S Bolognia
Antonio E Sergi
Aruna H Ruta
Rodrigues D Marrier
Juan P Malet
Leja J Darakjy
Maria Z Bowley
Isabel H Sergi
Aruna W Malet
Darci U Darakjy
Alejandro J Glick
Silvio Q Ferencz
James B Perin
Juan Y Amigon
Tony B Glick
Darci H Amigon
Leon H Gaucho
Greenwood B Whobrey
Greenwood X Malet
Adams P Caldarera
Leon M Shinko
Stacey B Amigon
Ricardo V Nestle
Wickens V Stockham
Chavez A Rulapaugh
Leon W Caudy
Maria A Morasca
Ashley U Malet
Rodrigues T Nestle
Munro Z Bowley
Claire Y Tollner
Antonio X Caudy
Maisha A Darakjy
Johnson C Briddick
Arvin C Butt
Francesco P Iturbide
Leon L Wieser
Nicolas H Ferencz
Ricardo Y Albares
IdCountryDate
1000Australia2024-06-04
1001Spain2024-06-19
1002Italy2024-06-09
1003Germany2024-06-11
1004Australia2024-06-03
1005Italy2024-05-27
1006United Kingdom2024-06-16
1007Australia2024-06-21
1008Germany2024-06-21
1009Spain2024-06-08
1010Spain2024-06-09
1011Italy2024-06-19
1012Brazil2024-06-16
1013Russia2024-06-09
1014Brazil2024-06-02
1015Australia2024-06-04
1016Brazil2024-05-31
1017Italy2024-06-13
1018United Kingdom2024-06-15
1019France2024-05-27
1020Australia2024-05-30
1021United Kingdom2024-06-05
1022Canada2024-06-08
1023France2024-06-16
1024Russia2024-06-02
1025Russia2024-06-10
1026Argentina2024-05-30
1027Japan2024-06-21
1028Australia2024-06-14
1029Australia2024-06-09
1030Argentina2024-06-12
1031Australia2024-06-05
1032United Kingdom2024-06-14
1033Italy2024-06-11
1034Spain2024-05-29
1035India2024-05-24
1036Brazil2024-06-17
1037France2024-06-01
1038Germany2024-06-16
1039United Kingdom2024-05-25
1040Argentina2024-06-05
1041France2024-06-08
1042Brazil2024-06-12
1043Japan2024-06-04
1044Argentina2024-06-10
1045Japan2024-06-09
1046Canada2024-06-02
1047Russia2024-05-28
1048India2024-06-19
1049Russia2024-06-05

On-Demand Data

NameIdCountryDate
Ashley C Briddick1000Brazil2024-06-13
Adams J Amigon1001Germany2024-06-03
Jeanfrancois L Wieser1002United Kingdom2024-06-10
Jennifer C Royster1003United Kingdom2024-06-22
Octavia H Garufi1004Argentina2024-06-15
Cody V Caldarera1005Australia2024-06-04
Munro C Foller1006Russia2024-06-07
Octavia Q Darakjy1007Italy2024-06-20
Rodrigues R Kusko1008United Kingdom2024-06-08
Misaki O Perin1009Japan2024-06-15
Wickens Y Perin1010France2024-06-04
Salvatore T Foller1011United Kingdom2024-06-08
Ricardo Y Figeroa1012United Kingdom2024-06-18
Sinclair P Nicka1013India2024-05-28
Julie V Kusko1014United Kingdom2024-06-15
Ricardo G Kolmetz1015Brazil2024-06-10
Chavez M Stockham1016Australia2024-06-06
Munro B Foller1017Argentina2024-05-28
Antonio Z Glick1018Japan2024-05-31
Leon S Stockham1019Italy2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson H PerinSpainIoni Bowcher QUALIFIED
Murillo J KolmetzFranceAnna Fali QUALIFIED
Mayumi T BriddickBrazilBernardo Dominic QUALIFIED
David H RimSpainBernardo Dominic QUALIFIED
Nicolas L DilliardItalyOnyama Limba PROPOSAL
Morrow N DarakjyJapanAsiya Javayant UNQUALIFIED
Murillo V FollerJapanIoni Bowcher NEW
Kaitlin L PerinSpainElwin Sharvill NEW
Rodrigues C ChuiItalyElwin Sharvill QUALIFIED
Francesco B MarrierGermanyIoni Bowcher PROPOSAL
James F CaudyIndiaElwin Sharvill NEGOTIATION
Emily G VenereSpainElwin Sharvill PROPOSAL
Stacey R MacleadJapanOnyama Limba PROPOSAL
Aruna S PaprockiRussiaIoni Bowcher RENEWAL
Ashley T MacleadJapanBernardo Dominic UNQUALIFIED
Leja K GlickSpainElwin Sharvill PROPOSAL
Sinclair I VenereIndiaIvan Magalhaes RENEWAL
Aditya G FollerItalyAsiya Javayant RENEWAL
Morrow B BowleyBrazilBernardo Dominic UNQUALIFIED
Claire B GlickCanadaElwin Sharvill RENEWAL
Nicolas S SlusarskiSpainXuxue Feng QUALIFIED
Greenwood L CaudyGermanyXuxue Feng QUALIFIED
Francesco G OldroydSpainAmy Elsner QUALIFIED
Chavez R GarufiSpainIvan Magalhaes NEW
Aditya B GarufiUnited KingdomXuxue Feng PROPOSAL
Smith S StensethArgentinaXuxue Feng UNQUALIFIED
Aruna A VocelkaIndiaXuxue Feng QUALIFIED
Isabel G CaldareraItalyAmy Elsner UNQUALIFIED
Kadeem S CampainGermanyStephen Shaw QUALIFIED
Tony A DoeFranceElwin Sharvill PROPOSAL
Mayumi F AlbaresCanadaIvan Magalhaes UNQUALIFIED
Stacey L StockhamSpainOnyama Limba QUALIFIED
Adams Z InouyeSpainAmy Elsner PROPOSAL
Antonio U PaprockiRussiaElwin Sharvill NEW
Sinclair T ButtItalyAsiya Javayant RENEWAL
James W OstroskySpainStephen Shaw NEGOTIATION
Emily N SchemmerIndiaAmy Elsner RENEWAL
Maisha R FerenczArgentinaIoni Bowcher NEGOTIATION
Izzy R DarakjyJapanAnna Fali UNQUALIFIED
Alejandro K SergiAustraliaXuxue Feng 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>