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
Juan S GarufiJapanBernardo Dominic PROPOSAL
Francesco G InouyeIndiaElwin Sharvill RENEWAL
Antonio J AlbaresAustraliaAnna Fali NEW
Adams C TollnerGermanyIvan Magalhaes RENEWAL
Mujtaba Z FigeroaJapanBernardo Dominic UNQUALIFIED
Maria O SlusarskiBrazilElwin Sharvill UNQUALIFIED
Jennifer X OstroskyRussiaElwin Sharvill UNQUALIFIED
Izzy L SlusarskiCanadaAmy Elsner NEGOTIATION
Maria P DoeAustraliaElwin Sharvill PROPOSAL
Maisha E SaylorsCanadaAmy Elsner QUALIFIED
James M FerenczSpainAnna Fali NEGOTIATION
Antonio W InouyeBrazilElwin Sharvill NEW
Leon O PoquetteCanadaIoni Bowcher NEGOTIATION
Ivar H GlickUnited KingdomIoni Bowcher NEGOTIATION
Isabel X FigeroaAustraliaBernardo Dominic RENEWAL
Kadeem R TollnerCanadaStephen Shaw NEGOTIATION
Alejandro B GauchoIndiaIoni Bowcher QUALIFIED
Salvatore J StensethRussiaIoni Bowcher QUALIFIED
Morrow V WieserCanadaOnyama Limba UNQUALIFIED
Leon L MaletRussiaBernardo Dominic QUALIFIED
Greenwood G OldroydFranceBernardo Dominic PROPOSAL
James Z MacleadGermanyElwin Sharvill NEGOTIATION
Morrow B GauchoSpainXuxue Feng NEGOTIATION
Darci D FigeroaItalyElwin Sharvill NEGOTIATION
Smith S InouyeItalyAsiya Javayant NEW
Jeanfrancois E TollnerItalyOnyama Limba RENEWAL
Johnson Y KolmetzCanadaAsiya Javayant RENEWAL
Salvatore F KolmetzRussiaBernardo Dominic QUALIFIED
Aditya I PaprockiIndiaElwin Sharvill PROPOSAL
Stacey M OldroydSpainAnna Fali RENEWAL
Smith R ShinkoRussiaBernardo Dominic RENEWAL
Isabel Y OldroydItalyOnyama Limba NEW
Ivar K DilliardIndiaAnna Fali QUALIFIED
Aruna Z DoeAustraliaIvan Magalhaes PROPOSAL
Greenwood Z MaletItalyIvan Magalhaes NEGOTIATION
Nicolas R NickaItalyOnyama Limba PROPOSAL
Greenwood Y CaudyArgentinaIvan Magalhaes QUALIFIED
Maria A GarufiGermanyStephen Shaw RENEWAL
Aditya T KolmetzAustraliaAmy Elsner RENEWAL
Arvin M VenereRussiaXuxue Feng NEW
Claire L SaylorsFranceStephen Shaw RENEWAL
Smith A WaycottRussiaIoni Bowcher PROPOSAL
Misaki K IturbideBrazilAnna Fali RENEWAL
Leon T SlusarskiBrazilOnyama Limba NEGOTIATION
Tony K DilliardFranceAnna Fali QUALIFIED
Antonio J MaletAustraliaAnna Fali NEGOTIATION
Smith C ShinkoAustraliaElwin Sharvill QUALIFIED
Aika E PoquetteFranceAmy Elsner PROPOSAL
Smith Z MaletArgentinaAsiya Javayant QUALIFIED
Costa A TollnerCanadaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro W StockhamAustraliaIvan Magalhaes QUALIFIED
Ashley P ChuiJapanElwin Sharvill RENEWAL
Mayumi J SaylorsFranceAmy Elsner PROPOSAL
Francesco C AmigonGermanyIoni Bowcher NEW
Mujtaba Y WaycottArgentinaAmy Elsner NEGOTIATION
Nicolas X OldroydFranceAsiya Javayant UNQUALIFIED
Rodrigues G KolmetzGermanyOnyama Limba NEW
Octavia X MaletArgentinaBernardo Dominic NEGOTIATION
Jefferson P RimGermanyXuxue Feng RENEWAL
Francesco V FollerBrazilXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues V MaletBrazil2024-05-16Chanay, Jeffrey A Esq QUALIFIED16Ioni Bowcher
1001Julie S GarufiSpain2024-05-30Commercial Press UNQUALIFIED39Asiya Javayant
1002Chavez Y IturbideGermany2024-06-11Rousseaux, Michael Esq NEGOTIATION17Ivan Magalhaes
1003Darci V WieserIndia2024-05-26Dorl, James J Esq PROPOSAL60Asiya Javayant
1004Jennifer X PerinArgentina2024-06-12Feiner Bros NEW0Ioni Bowcher
1005Izzy Y PoquetteFrance2024-06-05Printing Dimensions RENEWAL80Bernardo Dominic
1006Francesco U VocelkaRussia2024-06-12Chapman, Ross E Esq NEGOTIATION46Ioni Bowcher
1007Chavez D PerinCanada2024-05-18Chanay, Jeffrey A Esq NEW40Amy Elsner
1008Aditya F GauchoJapan2024-05-29Commercial Press NEGOTIATION23Ioni Bowcher
1009Costa T VocelkaItaly2024-05-16King, Christopher A Esq PROPOSAL89Elwin Sharvill
1010Leja K WieserRussia2024-05-27Buckley Miller Wright UNQUALIFIED80Asiya Javayant
1011Alejandro V SaylorsSpain2024-05-20Feiner Bros RENEWAL7Anna Fali
1012Johnson M FerenczGermany2024-05-18Rousseaux, Michael Esq NEW65Bernardo Dominic
1013Maisha K TollnerGermany2024-05-20Truhlar And Truhlar Attys UNQUALIFIED86Xuxue Feng
1014Ashley B RutaArgentina2024-05-15Feiner Bros RENEWAL70Anna Fali
1015Adams T SaylorsRussia2024-05-27King, Christopher A Esq UNQUALIFIED77Ivan Magalhaes
1016Jennifer G CampainJapan2024-05-29Chapman, Ross E Esq RENEWAL53Ivan Magalhaes
1017Aruna G StensethSpain2024-05-31Benton, John B Jr NEW22Elwin Sharvill
1018Johnson B OldroydIndia2024-06-10Feiner Bros NEGOTIATION97Asiya Javayant
1019Munro Y PoquetteGermany2024-05-24Rangoni Of Florence QUALIFIED74Ivan Magalhaes
1020Mujtaba V OldroydArgentina2024-05-22Benton, John B Jr NEGOTIATION54Bernardo Dominic
1021Munro J OldroydRussia2024-06-11Benton, John B Jr UNQUALIFIED28Ioni Bowcher
1022Octavia N OldroydBrazil2024-06-10Truhlar And Truhlar Attys RENEWAL38Anna Fali
1023Jennifer W RulapaughSpain2024-06-11Buckley Miller Wright QUALIFIED54Amy Elsner
1024Juan S PaprockiRussia2024-06-01Buckley Miller Wright UNQUALIFIED71Ioni Bowcher
1025Antonio M VocelkaArgentina2024-06-04Commercial Press RENEWAL11Ivan Magalhaes
1026Emily G FlosiJapan2024-06-05Printing Dimensions RENEWAL86Asiya Javayant
1027Leon D RimIndia2024-05-28Rangoni Of Florence QUALIFIED12Xuxue Feng
1028Aruna Q StockhamJapan2024-05-25King, Christopher A Esq NEW13Elwin Sharvill
1029Misaki F CaudyBrazil2024-06-09Rangoni Of Florence NEGOTIATION24Onyama Limba
1030Johnson Y VenereCanada2024-05-26Chemel, James L Cpa NEGOTIATION73Asiya Javayant
1031Clifford S FollerArgentina2024-06-10Benton, John B Jr NEW45Ivan Magalhaes
1032Jennifer L InouyeRussia2024-06-12Rousseaux, Michael Esq NEW87Bernardo Dominic
1033Jennifer R ButtJapan2024-06-08Benton, John B Jr RENEWAL72Bernardo Dominic
1034Isabel I BowleySpain2024-06-05Chemel, James L Cpa RENEWAL62Stephen Shaw
1035Stacey D BologniaJapan2024-05-23Dorl, James J Esq NEW16Bernardo Dominic
1036Clifford D WhobreyArgentina2024-05-17Chapman, Ross E Esq PROPOSAL95Ivan Magalhaes
1037Silvio C PaprockiCanada2024-05-19Buckley Miller Wright RENEWAL2Ivan Magalhaes
1038Jennifer M VocelkaItaly2024-06-04Printing Dimensions QUALIFIED8Elwin Sharvill
1039Aika M RimItaly2024-05-18Rousseaux, Michael Esq PROPOSAL46Elwin Sharvill
1040Deepesh Z MarrierBrazil2024-05-31Printing Dimensions RENEWAL57Anna Fali
1041Julie P DarakjyAustralia2024-06-08Buckley Miller Wright NEGOTIATION98Onyama Limba
1042Jones N SchemmerBrazil2024-06-12Rousseaux, Michael Esq QUALIFIED67Amy Elsner
1043Morrow B IturbideAustralia2024-05-24Chemel, James L Cpa QUALIFIED34Bernardo Dominic
1044Francesco B SergiCanada2024-05-16Morlong Associates UNQUALIFIED75Ivan Magalhaes
1045Costa N AlbaresAustralia2024-05-16Chanay, Jeffrey A Esq PROPOSAL70Amy Elsner
1046Ashley T ButtSpain2024-05-20Dorl, James J Esq NEGOTIATION39Onyama Limba
1047Munro O SaylorsBrazil2024-06-07Truhlar And Truhlar Attys RENEWAL55Anna Fali
1048Claire S CaudyFrance2024-05-15Rangoni Of Florence NEW59Amy Elsner
1049Nicolas G GlickAustralia2024-06-06Rousseaux, Michael Esq NEW75Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Morrow N SlusarskiItalyIoni Bowcher QUALIFIED
Rodrigues O FlosiUnited KingdomAnna Fali QUALIFIED
Aruna O AmigonRussiaElwin Sharvill QUALIFIED
Jennifer M MarrierCanadaBernardo Dominic UNQUALIFIED
Munro H CaldareraAustraliaAmy Elsner UNQUALIFIED
Costa N FerenczUnited KingdomIoni Bowcher NEGOTIATION
Isabel S GillianJapanIoni Bowcher NEW
Cody F DarakjyBrazilXuxue Feng RENEWAL
Julie A ChuiAustraliaAsiya Javayant NEGOTIATION
David I BologniaRussiaOnyama Limba RENEWAL
Izzy X FollerItalyIvan Magalhaes NEW
Morrow Y SchemmerJapanXuxue Feng PROPOSAL
Jefferson E ChuiGermanyIvan Magalhaes NEW
Aika G SchemmerArgentinaElwin Sharvill RENEWAL
Rodrigues U KuskoUnited KingdomXuxue Feng PROPOSAL
Mayumi M KolmetzUnited KingdomOnyama Limba PROPOSAL
James G CampainJapanXuxue Feng NEW
Misaki U FlosiArgentinaAsiya Javayant QUALIFIED
Mayumi O FigeroaGermanyIoni Bowcher RENEWAL
Francesco U VocelkaJapanXuxue Feng PROPOSAL
Silvio G DarakjyArgentinaIvan Magalhaes NEGOTIATION
Greenwood K ChuiIndiaAnna Fali QUALIFIED
Maisha T CaldareraGermanyElwin Sharvill UNQUALIFIED
Leja Q CaldareraArgentinaBernardo Dominic UNQUALIFIED
Aruna W RoysterBrazilXuxue Feng NEGOTIATION
Greenwood V WieserSpainXuxue Feng PROPOSAL
James W SchemmerSpainElwin Sharvill UNQUALIFIED
Costa H ShinkoCanadaOnyama Limba NEW
Darci M KolmetzIndiaAnna Fali PROPOSAL
Leon E AlbaresFranceStephen Shaw UNQUALIFIED
Alejandro I RoysterGermanyAsiya Javayant RENEWAL
Misaki X ShinkoIndiaStephen Shaw PROPOSAL
Leon Z FlosiCanadaStephen Shaw PROPOSAL
Cody H CaudyUnited KingdomIvan Magalhaes RENEWAL
Rodrigues E MacleadRussiaXuxue Feng UNQUALIFIED
Aditya W AlbaresIndiaXuxue Feng RENEWAL
Misaki S NestleGermanyElwin Sharvill NEW
Leja N PaprockiUnited KingdomElwin Sharvill RENEWAL
Silvio O BriddickJapanStephen Shaw NEW
Francesco X ShinkoItalyStephen Shaw UNQUALIFIED
Morrow F InouyeItalyIvan Magalhaes QUALIFIED
Jennifer G TollnerArgentinaOnyama Limba UNQUALIFIED
Stacey P AlbaresAustraliaIoni Bowcher PROPOSAL
Silvio V PoquetteItalyIvan Magalhaes NEGOTIATION
Julie K PerinUnited KingdomAsiya Javayant NEW
Murillo B RoysterAustraliaIoni Bowcher UNQUALIFIED
Kadeem Y OldroydArgentinaBernardo Dominic PROPOSAL
Adams D WaycottGermanyElwin Sharvill PROPOSAL
Isabel F MaletAustraliaOnyama Limba RENEWAL
Ashley C OstroskyItalyOnyama Limba NEGOTIATION
Frozen Columns
Name
Julie Y Tollner
Tony K Kusko
Aika M Malet
Costa P Malet
Aditya F Slusarski
Clifford A Paprocki
Morrow U Nicka
Claire P Nestle
Misaki D Inouye
Wickens V Sergi
Leja F Chui
Morrow T Venere
Nicolas S Saylors
Juan L Oldroyd
Chavez N Perin
Faith W Caldarera
Julie U Maclead
Aditya B Butt
Kaitlin U Slusarski
Aruna P Saylors
Francesco N Sergi
Ricardo N Rim
Mayumi S Nicka
Darci X Oldroyd
James G Flosi
Misaki C Vocelka
Jones A Garufi
Stacey E Iturbide
Chavez A Figeroa
Antonio Z Marrier
Izzy O Vocelka
Emily B Ostrosky
James R Stenseth
Ivar P Nestle
Isabel Z Ostrosky
Francesco J Schemmer
Greenwood O Amigon
Cody A Malet
Sinclair X Amigon
David F Waycott
Isabel Y Wieser
Ashley C Glick
Jefferson N Venere
Munro K Butt
Kadeem D Albares
Mujtaba J Chui
Kaitlin V Caldarera
Mayumi R Darakjy
Ivar G Royster
Arvin W Slusarski
IdCountryDate
1000Germany2024-06-03
1001Japan2024-05-20
1002Russia2024-05-22
1003France2024-06-10
1004Argentina2024-06-10
1005Canada2024-06-13
1006United Kingdom2024-05-24
1007India2024-05-24
1008Canada2024-06-04
1009United Kingdom2024-06-01
1010Brazil2024-05-23
1011India2024-05-25
1012Brazil2024-05-15
1013Japan2024-05-26
1014Australia2024-06-06
1015Argentina2024-05-19
1016Brazil2024-06-09
1017Brazil2024-05-28
1018Australia2024-05-21
1019Japan2024-06-01
1020Spain2024-06-08
1021Italy2024-05-21
1022United Kingdom2024-05-22
1023Spain2024-06-13
1024Canada2024-05-15
1025Canada2024-06-09
1026France2024-05-22
1027India2024-05-25
1028Brazil2024-05-31
1029Italy2024-06-12
1030Argentina2024-06-02
1031Japan2024-05-20
1032Canada2024-06-06
1033Italy2024-06-12
1034India2024-05-20
1035France2024-06-11
1036India2024-05-16
1037Italy2024-06-07
1038Japan2024-05-27
1039Japan2024-05-25
1040Spain2024-06-01
1041Japan2024-06-04
1042United Kingdom2024-05-31
1043Canada2024-06-01
1044United Kingdom2024-05-25
1045Russia2024-06-01
1046India2024-06-01
1047Japan2024-05-20
1048Australia2024-05-29
1049United Kingdom2024-05-26

On-Demand Data

NameIdCountryDate
Wickens Z Vocelka1000Argentina2024-06-07
David X Ferencz1001France2024-05-19
Rodrigues K Nestle1002Italy2024-05-30
Maisha U Albares1003United Kingdom2024-06-04
Salvatore N Rulapaugh1004Japan2024-06-10
Arvin Y Shinko1005Russia2024-05-31
Stacey E Whobrey1006Germany2024-05-23
Ricardo G Stenseth1007Argentina2024-05-20
Aruna K Waycott1008India2024-05-23
Izzy V Kusko1009Australia2024-06-13
Faith F Ruta1010Canada2024-06-10
Aika G Flosi1011Japan2024-05-20
Juan Q Garufi1012India2024-05-18
Murillo A Rim1013Australia2024-05-23
Smith N Campain1014Argentina2024-05-18
Leja X Kusko1015Germany2024-06-04
Ivar U Dilliard1016United Kingdom2024-05-28
Murillo N Paprocki1017India2024-06-02
Kadeem K Caldarera1018Germany2024-05-18
Ricardo L Royster1019United Kingdom2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith N CaudyGermanyOnyama Limba RENEWAL
Ivar C MorascaArgentinaIvan Magalhaes NEW
Ashley D MarrierGermanyElwin Sharvill NEW
Chavez W AmigonRussiaAmy Elsner NEW
Aruna X StensethIndiaBernardo Dominic RENEWAL
Ashley G WieserIndiaXuxue Feng RENEWAL
Salvatore C WieserBrazilAsiya Javayant QUALIFIED
Tony M BologniaCanadaElwin Sharvill NEW
Maisha O RutaRussiaStephen Shaw PROPOSAL
Isabel W MacleadUnited KingdomElwin Sharvill NEGOTIATION
Kadeem Y MaletArgentinaOnyama Limba NEGOTIATION
Faith H ShinkoFranceElwin Sharvill NEW
Mayumi R CaldareraArgentinaAnna Fali QUALIFIED
Salvatore Q GarufiRussiaOnyama Limba PROPOSAL
David L FerenczIndiaBernardo Dominic RENEWAL
Francesco K SchemmerJapanAnna Fali NEGOTIATION
Maria P DarakjyGermanyXuxue Feng UNQUALIFIED
Francesco O ChuiFranceXuxue Feng NEW
Jefferson Y GillianRussiaOnyama Limba NEW
Octavia S SchemmerAustraliaStephen Shaw RENEWAL
Munro C SchemmerIndiaAsiya Javayant NEW
Mujtaba I SlusarskiItalyBernardo Dominic PROPOSAL
Jones I DoeIndiaAsiya Javayant QUALIFIED
Juan V WaycottRussiaXuxue Feng NEGOTIATION
Octavia I GlickCanadaAmy Elsner QUALIFIED
Aruna Y BologniaBrazilIvan Magalhaes PROPOSAL
Smith P OstroskyJapanAsiya Javayant NEW
Kadeem K MorascaFranceIoni Bowcher UNQUALIFIED
Jefferson D MaletRussiaAmy Elsner UNQUALIFIED
Kaitlin J StensethBrazilOnyama Limba QUALIFIED
Arvin J OldroydBrazilAnna Fali NEGOTIATION
Jennifer R CaldareraGermanyIoni Bowcher NEGOTIATION
Cody E RoysterIndiaAnna Fali UNQUALIFIED
Smith R RutaUnited KingdomElwin Sharvill RENEWAL
Alejandro Q MacleadBrazilOnyama Limba NEW
Mayumi I WhobreySpainStephen Shaw QUALIFIED
Greenwood F GlickFranceAsiya Javayant NEW
Octavia H BowleyGermanyElwin Sharvill QUALIFIED
Leon M DoeCanadaXuxue Feng PROPOSAL
Tony V MarrierAustraliaAnna Fali NEGOTIATION

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