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
Morrow Q StensethJapanAmy Elsner NEW
Stacey H CaldareraArgentinaAsiya Javayant NEW
Aika N SaylorsIndiaBernardo Dominic NEGOTIATION
Johnson Q VocelkaAustraliaXuxue Feng NEGOTIATION
Smith T SaylorsItalyAnna Fali PROPOSAL
Aruna L DilliardAustraliaIvan Magalhaes RENEWAL
Silvio O ShinkoAustraliaIvan Magalhaes NEGOTIATION
Munro D RutaBrazilBernardo Dominic NEW
Darci W PerinIndiaAmy Elsner NEW
Tony D RutaArgentinaXuxue Feng RENEWAL
Costa Z ShinkoIndiaAsiya Javayant PROPOSAL
Leon A FollerUnited KingdomAmy Elsner QUALIFIED
Francesco O MacleadAustraliaAsiya Javayant PROPOSAL
Mujtaba A DarakjySpainIvan Magalhaes RENEWAL
Ivar Z ChuiItalyElwin Sharvill NEGOTIATION
Darci T RoysterAustraliaIvan Magalhaes UNQUALIFIED
Ricardo V BriddickItalyElwin Sharvill RENEWAL
Mujtaba H SlusarskiRussiaStephen Shaw QUALIFIED
Misaki G OldroydGermanyStephen Shaw NEW
Smith N RulapaughArgentinaAsiya Javayant UNQUALIFIED
Costa K CampainAustraliaAnna Fali NEW
Maisha Q BologniaJapanAmy Elsner NEGOTIATION
Emily U SergiAustraliaXuxue Feng QUALIFIED
James A WaycottRussiaStephen Shaw NEGOTIATION
Ivar I BologniaFranceElwin Sharvill NEW
Mayumi V SergiArgentinaOnyama Limba NEW
Antonio G MorascaItalyAnna Fali PROPOSAL
Darci Z OstroskyFranceElwin Sharvill NEW
Munro I SaylorsAustraliaStephen Shaw NEGOTIATION
Mayumi Z ShinkoItalyIoni Bowcher UNQUALIFIED
Juan N VenereUnited KingdomAnna Fali UNQUALIFIED
Aditya E StockhamBrazilXuxue Feng UNQUALIFIED
Misaki T NestleIndiaAsiya Javayant UNQUALIFIED
Sinclair N FollerSpainBernardo Dominic NEGOTIATION
Julie L BriddickRussiaXuxue Feng RENEWAL
Kadeem C GauchoUnited KingdomBernardo Dominic NEW
Deepesh D DilliardBrazilBernardo Dominic NEW
Stacey D NestleRussiaAmy Elsner PROPOSAL
Claire O BowleyBrazilAmy Elsner RENEWAL
Deepesh N OldroydAustraliaAmy Elsner RENEWAL
Emily R AmigonItalyIvan Magalhaes RENEWAL
Jefferson Y MarrierCanadaOnyama Limba RENEWAL
James V FerenczItalyIvan Magalhaes NEW
Jennifer X PoquetteSpainXuxue Feng RENEWAL
Murillo Z BriddickArgentinaOnyama Limba RENEWAL
Smith R SlusarskiIndiaElwin Sharvill QUALIFIED
Stacey C DoeCanadaOnyama Limba UNQUALIFIED
Adams A KolmetzGermanyAmy Elsner UNQUALIFIED
Cody S PerinSpainIoni Bowcher UNQUALIFIED
Clifford L FollerBrazilBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki L VocelkaIndiaXuxue Feng NEW
Aditya C WaycottIndiaAsiya Javayant PROPOSAL
Salvatore O AmigonItalyXuxue Feng QUALIFIED
Jeanfrancois L GlickItalyAmy Elsner NEGOTIATION
Maisha O AlbaresGermanyXuxue Feng QUALIFIED
Darci S BriddickArgentinaIvan Magalhaes PROPOSAL
Mayumi V MacleadSpainXuxue Feng UNQUALIFIED
Juan S StensethBrazilElwin Sharvill NEW
Juan O ChuiAustraliaAmy Elsner PROPOSAL
Ashley K BowleyJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha U SergiUnited Kingdom2024-06-01Chanay, Jeffrey A Esq PROPOSAL75Onyama Limba
1001Antonio H NestleFrance2024-06-11Truhlar And Truhlar Attys UNQUALIFIED34Ivan Magalhaes
1002Salvatore M MaletSpain2024-05-26Feltz Printing Service NEW42Bernardo Dominic
1003Silvio I PoquetteFrance2024-05-29Rousseaux, Michael Esq UNQUALIFIED85Stephen Shaw
1004Clifford F CaudyJapan2024-05-30Feltz Printing Service UNQUALIFIED41Bernardo Dominic
1005Isabel E GillianAustralia2024-06-09Dorl, James J Esq QUALIFIED42Ivan Magalhaes
1006Arvin U BologniaArgentina2024-06-07Benton, John B Jr PROPOSAL64Ioni Bowcher
1007Octavia X InouyeItaly2024-05-26Printing Dimensions UNQUALIFIED75Stephen Shaw
1008Kaitlin U PerinSpain2024-06-08Rousseaux, Michael Esq PROPOSAL19Elwin Sharvill
1009Jennifer G ChuiGermany2024-06-18Printing Dimensions PROPOSAL0Ivan Magalhaes
1010Misaki W AmigonGermany2024-06-22Morlong Associates PROPOSAL0Stephen Shaw
1011Silvio M KuskoFrance2024-06-16Truhlar And Truhlar Attys RENEWAL50Anna Fali
1012Sinclair Y SlusarskiAustralia2024-06-21Feltz Printing Service NEW88Elwin Sharvill
1013Julie W StensethIndia2024-06-22Morlong Associates NEGOTIATION49Asiya Javayant
1014Jeanfrancois Q PaprockiSpain2024-06-15Feltz Printing Service QUALIFIED40Ioni Bowcher
1015Clifford W RulapaughJapan2024-06-01Rousseaux, Michael Esq UNQUALIFIED15Amy Elsner
1016Munro O NestleArgentina2024-06-09King, Christopher A Esq PROPOSAL70Xuxue Feng
1017Kadeem I SlusarskiGermany2024-05-26Chanay, Jeffrey A Esq PROPOSAL55Amy Elsner
1018Jennifer X KolmetzJapan2024-05-28Commercial Press UNQUALIFIED28Bernardo Dominic
1019Darci M RimAustralia2024-06-01Dorl, James J Esq NEGOTIATION24Anna Fali
1020Ashley T NestleGermany2024-06-03Chapman, Ross E Esq RENEWAL75Xuxue Feng
1021Jeanfrancois Q FigeroaArgentina2024-06-20Dorl, James J Esq PROPOSAL35Amy Elsner
1022Tony G WieserGermany2024-06-14Buckley Miller Wright RENEWAL77Bernardo Dominic
1023Juan P MaletItaly2024-06-04Commercial Press NEGOTIATION10Ivan Magalhaes
1024Greenwood J GillianItaly2024-06-11Morlong Associates NEW61Stephen Shaw
1025Adams H RimJapan2024-05-27Feltz Printing Service UNQUALIFIED71Onyama Limba
1026Misaki J FollerItaly2024-05-30Rousseaux, Michael Esq UNQUALIFIED43Asiya Javayant
1027David Y VocelkaRussia2024-06-22Morlong Associates PROPOSAL67Onyama Limba
1028Deepesh Z OldroydIndia2024-05-30Benton, John B Jr RENEWAL90Ivan Magalhaes
1029Wickens P SchemmerAustralia2024-06-11Buckley Miller Wright NEW72Stephen Shaw
1030Jeanfrancois Q SlusarskiGermany2024-06-08Dorl, James J Esq RENEWAL7Ivan Magalhaes
1031David Y BowleyAustralia2024-06-16Buckley Miller Wright NEGOTIATION64Stephen Shaw
1032Adams J AmigonSpain2024-05-31Benton, John B Jr RENEWAL7Elwin Sharvill
1033Faith L BriddickItaly2024-06-17Feltz Printing Service UNQUALIFIED55Xuxue Feng
1034Jefferson G BriddickItaly2024-06-08Rangoni Of Florence UNQUALIFIED87Ioni Bowcher
1035Silvio H NickaAustralia2024-05-24Feiner Bros RENEWAL19Elwin Sharvill
1036Jones W OstroskyRussia2024-06-04Rangoni Of Florence UNQUALIFIED33Stephen Shaw
1037Jeanfrancois L TollnerRussia2024-06-19Commercial Press RENEWAL69Bernardo Dominic
1038Antonio Q DoeBrazil2024-06-22Feltz Printing Service NEGOTIATION88Onyama Limba
1039Juan S TollnerCanada2024-06-13Rangoni Of Florence UNQUALIFIED65Ivan Magalhaes
1040Ivar U RulapaughAustralia2024-06-01Feltz Printing Service RENEWAL33Bernardo Dominic
1041Aditya O PerinItaly2024-06-17Dorl, James J Esq PROPOSAL27Anna Fali
1042Mayumi G MarrierFrance2024-06-02Chapman, Ross E Esq QUALIFIED61Ivan Magalhaes
1043Faith A PerinUnited Kingdom2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED52Ivan Magalhaes
1044David V SergiAustralia2024-06-01Feltz Printing Service NEGOTIATION84Ivan Magalhaes
1045Maria B GillianIndia2024-05-24Benton, John B Jr NEW80Asiya Javayant
1046Jones Q FerenczJapan2024-05-25Benton, John B Jr UNQUALIFIED98Ivan Magalhaes
1047Munro J NickaFrance2024-06-09Feltz Printing Service PROPOSAL57Asiya Javayant
1048Jefferson Y NestleUnited Kingdom2024-06-21Commercial Press UNQUALIFIED13Anna Fali
1049Faith Y ChuiBrazil2024-06-04Rangoni Of Florence RENEWAL2Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio P KolmetzAustraliaElwin Sharvill UNQUALIFIED
Smith R RoysterIndiaBernardo Dominic QUALIFIED
Salvatore H AlbaresRussiaOnyama Limba RENEWAL
Greenwood M WhobreyAustraliaBernardo Dominic NEGOTIATION
Deepesh X GauchoFranceIoni Bowcher NEW
Nicolas T SchemmerIndiaElwin Sharvill PROPOSAL
Misaki Q GauchoBrazilXuxue Feng NEGOTIATION
Jones V CampainArgentinaBernardo Dominic NEGOTIATION
Cody K PaprockiItalyAnna Fali QUALIFIED
Maria D OldroydCanadaAnna Fali NEGOTIATION
Julie E CaudyIndiaBernardo Dominic QUALIFIED
Emily W KuskoAustraliaElwin Sharvill RENEWAL
Alejandro Y KuskoSpainAmy Elsner PROPOSAL
James D CaudyCanadaAsiya Javayant NEW
Wickens P IturbideCanadaXuxue Feng NEGOTIATION
Antonio J RutaBrazilIvan Magalhaes NEW
Ashley G RoysterJapanAsiya Javayant RENEWAL
Aditya H VenereCanadaXuxue Feng UNQUALIFIED
Nicolas E GlickUnited KingdomAnna Fali RENEWAL
Julie E CampainFranceAmy Elsner QUALIFIED
Chavez K MarrierSpainAsiya Javayant UNQUALIFIED
Clifford K NestleCanadaIoni Bowcher NEW
Jones T BologniaCanadaXuxue Feng NEGOTIATION
Tony E BologniaIndiaAmy Elsner UNQUALIFIED
Ricardo R GarufiArgentinaStephen Shaw QUALIFIED
Izzy K NickaItalyAsiya Javayant NEGOTIATION
Juan Q FerenczSpainAsiya Javayant NEW
Greenwood N MaletJapanIoni Bowcher NEW
Sinclair H SchemmerGermanyXuxue Feng UNQUALIFIED
Octavia N TollnerItalyAsiya Javayant PROPOSAL
Ivar X WieserFranceStephen Shaw QUALIFIED
Clifford D IturbideSpainBernardo Dominic NEGOTIATION
Ricardo Y DarakjyItalyBernardo Dominic PROPOSAL
Jennifer B GarufiArgentinaStephen Shaw UNQUALIFIED
Octavia Y DilliardRussiaOnyama Limba RENEWAL
Mayumi Z PaprockiAustraliaOnyama Limba UNQUALIFIED
Maria K WhobreyJapanIvan Magalhaes PROPOSAL
Morrow Q GarufiGermanyIvan Magalhaes PROPOSAL
Mujtaba B OldroydIndiaOnyama Limba QUALIFIED
Deepesh V AlbaresCanadaAnna Fali RENEWAL
Mujtaba C GillianItalyAsiya Javayant UNQUALIFIED
Salvatore C FigeroaJapanOnyama Limba UNQUALIFIED
Darci H OstroskyFranceElwin Sharvill NEW
Mujtaba G CaudyFranceXuxue Feng RENEWAL
Emily L MaletGermanyOnyama Limba PROPOSAL
Maisha I MarrierFranceOnyama Limba NEGOTIATION
Misaki K InouyeSpainAnna Fali RENEWAL
Octavia V OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Silvio D VenereJapanStephen Shaw QUALIFIED
James B GauchoJapanAnna Fali NEGOTIATION
Frozen Columns
Name
Mujtaba Q Malet
Deepesh N Ostrosky
Ricardo G Waycott
Jefferson G Campain
Tony H Paprocki
Leon X Ferencz
Leja M Iturbide
Jefferson U Oldroyd
Greenwood S Glick
Jennifer I Briddick
Kaitlin Q Perin
Mayumi X Doe
Mayumi D Paprocki
Darci T Royster
Clifford C Nicka
Arvin B Ostrosky
Misaki C Stockham
Ricardo D Schemmer
Stacey F Shinko
Jefferson G Slusarski
Misaki Z Oldroyd
Deepesh Z Slusarski
Alejandro I Malet
Julie G Perin
Isabel S Kusko
Emily T Briddick
Johnson L Saylors
Emily U Malet
Arvin F Malet
Juan R Nestle
Maria F Chui
Nicolas Z Kusko
Smith S Caldarera
Leja M Nicka
Sinclair U Nestle
Ivar I Malet
Maria P Sergi
Murillo Q Darakjy
Silvio N Bolognia
Izzy B Vocelka
Nicolas R Ruta
Ivar O Dilliard
Jefferson L Venere
Nicolas E Darakjy
Salvatore M Kolmetz
Leja Y Campain
Aika H Nicka
Silvio B Morasca
Mayumi E Venere
Darci L Gaucho
IdCountryDate
1000Australia2024-06-09
1001France2024-06-15
1002Italy2024-06-09
1003Russia2024-05-25
1004France2024-06-12
1005Russia2024-06-14
1006Germany2024-06-07
1007Argentina2024-06-16
1008Spain2024-06-02
1009Brazil2024-06-14
1010Canada2024-06-09
1011France2024-06-08
1012India2024-06-04
1013Japan2024-06-11
1014France2024-06-21
1015India2024-06-02
1016Spain2024-06-15
1017Brazil2024-06-20
1018Brazil2024-06-19
1019India2024-06-12
1020Argentina2024-06-16
1021Argentina2024-06-21
1022Japan2024-05-30
1023India2024-06-15
1024India2024-06-02
1025United Kingdom2024-06-10
1026Italy2024-06-10
1027Italy2024-06-14
1028Russia2024-06-16
1029Japan2024-06-19
1030Australia2024-06-07
1031Germany2024-05-29
1032United Kingdom2024-06-05
1033Canada2024-06-02
1034France2024-06-11
1035Canada2024-06-11
1036Germany2024-06-02
1037Japan2024-06-04
1038India2024-06-07
1039France2024-05-24
1040Canada2024-05-25
1041India2024-05-26
1042India2024-06-07
1043India2024-06-11
1044Argentina2024-05-31
1045Germany2024-05-27
1046United Kingdom2024-06-03
1047Australia2024-06-21
1048Japan2024-06-21
1049Spain2024-05-29

On-Demand Data

NameIdCountryDate
David S Royster1000Australia2024-06-08
Mujtaba K Amigon1001Brazil2024-05-29
Costa K Figeroa1002France2024-05-28
Wickens X Paprocki1003France2024-05-25
Morrow W Foller1004India2024-05-30
Emily H Shinko1005India2024-06-02
Costa Q Schemmer1006Argentina2024-06-20
Deepesh P Briddick1007Canada2024-06-06
Leon Q Whobrey1008Germany2024-05-30
Antonio R Dilliard1009Brazil2024-06-05
Leon P Kusko1010Australia2024-06-01
Chavez A Caudy1011Japan2024-06-21
Juan C Marrier1012Spain2024-06-03
Adams O Stockham1013France2024-05-28
Deepesh R Wieser1014Russia2024-06-08
Mayumi F Rulapaugh1015Russia2024-06-11
Sinclair S Garufi1016United Kingdom2024-06-17
Smith U Butt1017Italy2024-06-06
Tony E Briddick1018Brazil2024-05-24
Aditya Q Albares1019United Kingdom2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer U ButtRussiaXuxue Feng PROPOSAL
Chavez C NestleItalyXuxue Feng NEGOTIATION
Claire H GauchoBrazilAnna Fali NEW
Jeanfrancois W WaycottFranceElwin Sharvill RENEWAL
Isabel E RulapaughSpainOnyama Limba NEW
Aditya I BowleyCanadaIvan Magalhaes UNQUALIFIED
Maisha E CaudyRussiaAmy Elsner RENEWAL
Jones B SergiJapanAsiya Javayant QUALIFIED
Emily G DarakjyBrazilAnna Fali NEGOTIATION
Kaitlin A MorascaArgentinaAnna Fali PROPOSAL
Smith S PaprockiAustraliaAmy Elsner RENEWAL
Ivar G FollerIndiaBernardo Dominic RENEWAL
Costa F OstroskyIndiaAnna Fali NEGOTIATION
Sinclair K WieserAustraliaXuxue Feng PROPOSAL
James N MacleadRussiaAsiya Javayant QUALIFIED
Octavia T OldroydBrazilXuxue Feng RENEWAL
Clifford C KuskoRussiaStephen Shaw UNQUALIFIED
Rodrigues P ButtSpainAsiya Javayant PROPOSAL
Aruna F FerenczIndiaOnyama Limba RENEWAL
Johnson Q BriddickCanadaBernardo Dominic NEW
Munro J NestleJapanAmy Elsner QUALIFIED
Ricardo A PerinRussiaElwin Sharvill NEW
Misaki V RimSpainBernardo Dominic UNQUALIFIED
Stacey I MaletUnited KingdomIvan Magalhaes QUALIFIED
Morrow P OldroydGermanyStephen Shaw RENEWAL
Chavez C RutaBrazilAmy Elsner NEGOTIATION
Sinclair X DarakjyGermanyOnyama Limba PROPOSAL
Juan J ButtArgentinaXuxue Feng RENEWAL
Sinclair L StensethUnited KingdomBernardo Dominic QUALIFIED
Aditya P PerinCanadaAmy Elsner NEGOTIATION
Aika F MarrierGermanyIoni Bowcher RENEWAL
David E MorascaGermanyOnyama Limba UNQUALIFIED
Faith Q PoquetteArgentinaBernardo Dominic UNQUALIFIED
Smith P CaudyJapanStephen Shaw RENEWAL
Chavez W CaudyBrazilElwin Sharvill NEW
Jeanfrancois O VocelkaIndiaStephen Shaw QUALIFIED
Misaki M OldroydJapanBernardo Dominic UNQUALIFIED
Leon A DilliardSpainIoni Bowcher UNQUALIFIED
Clifford D NickaBrazilIvan Magalhaes QUALIFIED
Clifford Q InouyeItalyOnyama Limba RENEWAL

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