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
Emily C RoysterUnited KingdomOnyama Limba RENEWAL
Juan L KuskoIndiaIoni Bowcher UNQUALIFIED
Mayumi F BowleyCanadaElwin Sharvill UNQUALIFIED
Kadeem E SchemmerCanadaAsiya Javayant UNQUALIFIED
Darci B BriddickBrazilElwin Sharvill NEW
Octavia W RoysterGermanyElwin Sharvill UNQUALIFIED
Mayumi Z VocelkaJapanAmy Elsner UNQUALIFIED
Arvin D ChuiRussiaElwin Sharvill PROPOSAL
Octavia X GauchoRussiaIoni Bowcher NEGOTIATION
Leja C InouyeFranceAnna Fali RENEWAL
Leja Z FollerAustraliaAmy Elsner QUALIFIED
Wickens I NickaFranceAnna Fali PROPOSAL
Antonio Y FigeroaAustraliaAnna Fali RENEWAL
Octavia D ShinkoItalyElwin Sharvill NEGOTIATION
Cody N MarrierIndiaElwin Sharvill NEGOTIATION
Francesco Q MaletFranceAnna Fali PROPOSAL
Nicolas R PaprockiJapanIvan Magalhaes NEGOTIATION
Cody P WieserFranceBernardo Dominic PROPOSAL
Wickens G MorascaGermanyXuxue Feng NEW
Leon C OstroskyCanadaAsiya Javayant PROPOSAL
Chavez D RimIndiaAmy Elsner RENEWAL
Leja R PaprockiJapanBernardo Dominic UNQUALIFIED
Maisha E BologniaArgentinaStephen Shaw NEW
Adams R WhobreyJapanIoni Bowcher NEW
Misaki Q CaudyAustraliaAsiya Javayant UNQUALIFIED
Nicolas H FollerJapanElwin Sharvill PROPOSAL
Ashley R GlickArgentinaStephen Shaw PROPOSAL
Isabel Z VenereUnited KingdomAnna Fali NEGOTIATION
Maria X BologniaBrazilAmy Elsner RENEWAL
Ivar B KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki Q FigeroaBrazilAsiya Javayant NEW
Silvio Q WhobreyIndiaBernardo Dominic NEW
Alejandro L NestleSpainIvan Magalhaes RENEWAL
Leja N SaylorsJapanXuxue Feng PROPOSAL
Munro X StensethCanadaAnna Fali PROPOSAL
Kaitlin B RulapaughBrazilBernardo Dominic QUALIFIED
Isabel W VenereRussiaAmy Elsner RENEWAL
Leja F FerenczRussiaXuxue Feng QUALIFIED
Wickens C CaudyIndiaOnyama Limba NEW
Julie V IturbideIndiaBernardo Dominic NEW
Rodrigues D GarufiSpainAnna Fali NEGOTIATION
Aditya U RutaSpainIvan Magalhaes NEW
Adams O MorascaBrazilAsiya Javayant NEW
Costa W GarufiRussiaIoni Bowcher NEGOTIATION
Kaitlin D OldroydUnited KingdomOnyama Limba QUALIFIED
Jefferson D VocelkaSpainOnyama Limba UNQUALIFIED
Clifford T ButtSpainXuxue Feng NEGOTIATION
Aika D RimAustraliaXuxue Feng PROPOSAL
Arvin O IturbideCanadaAnna Fali RENEWAL
Tony I IturbideIndiaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin D FerenczIndiaIoni Bowcher NEGOTIATION
Stacey M GillianFranceXuxue Feng PROPOSAL
Misaki P SergiRussiaXuxue Feng UNQUALIFIED
Kaitlin I RulapaughIndiaAmy Elsner NEW
Izzy G AmigonGermanyOnyama Limba UNQUALIFIED
Chavez P FerenczIndiaStephen Shaw RENEWAL
Ricardo J KolmetzAustraliaAnna Fali NEGOTIATION
Salvatore D SergiJapanIvan Magalhaes NEW
Silvio K WhobreyJapanAnna Fali NEGOTIATION
Jones U InouyeUnited KingdomOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F SaylorsJapan2024-05-23Feltz Printing Service QUALIFIED91Asiya Javayant
1001Antonio Z WhobreyCanada2024-06-06Feltz Printing Service NEGOTIATION43Elwin Sharvill
1002Smith Z MarrierIndia2024-06-20Truhlar And Truhlar Attys RENEWAL89Onyama Limba
1003Nicolas Z PerinRussia2024-05-25Chanay, Jeffrey A Esq RENEWAL32Anna Fali
1004Chavez L TollnerIndia2024-06-21Truhlar And Truhlar Attys QUALIFIED96Xuxue Feng
1005Maisha H PaprockiBrazil2024-05-26Truhlar And Truhlar Attys UNQUALIFIED88Elwin Sharvill
1006Misaki X AlbaresBrazil2024-05-28Morlong Associates PROPOSAL59Ioni Bowcher
1007Costa L RulapaughRussia2024-05-23Commercial Press QUALIFIED82Onyama Limba
1008James T GlickSpain2024-05-25Benton, John B Jr NEGOTIATION96Bernardo Dominic
1009Jeanfrancois H StockhamIndia2024-06-15Commercial Press NEW49Asiya Javayant
1010Greenwood M DilliardSpain2024-06-20Truhlar And Truhlar Attys NEGOTIATION69Asiya Javayant
1011Ashley R KuskoJapan2024-05-25Printing Dimensions RENEWAL66Ioni Bowcher
1012Adams O KuskoArgentina2024-06-03Chanay, Jeffrey A Esq NEGOTIATION35Anna Fali
1013Aditya I FlosiIndia2024-05-27Feltz Printing Service NEGOTIATION79Elwin Sharvill
1014Maisha C AlbaresArgentina2024-06-13Feiner Bros QUALIFIED21Elwin Sharvill
1015Tony M AmigonGermany2024-05-27Chapman, Ross E Esq UNQUALIFIED55Xuxue Feng
1016Greenwood Z RutaItaly2024-06-11Truhlar And Truhlar Attys NEGOTIATION84Amy Elsner
1017Francesco Q BowleyIndia2024-06-14Printing Dimensions PROPOSAL41Bernardo Dominic
1018Aika H DilliardItaly2024-06-09Benton, John B Jr UNQUALIFIED16Stephen Shaw
1019Faith V SergiCanada2024-06-19Chemel, James L Cpa PROPOSAL62Stephen Shaw
1020Emily F DoeBrazil2024-05-29Feiner Bros QUALIFIED38Ivan Magalhaes
1021Antonio Y StensethFrance2024-06-12Truhlar And Truhlar Attys NEGOTIATION9Anna Fali
1022Juan L GlickRussia2024-06-02Buckley Miller Wright NEGOTIATION17Amy Elsner
1023Murillo S KolmetzAustralia2024-06-19Dorl, James J Esq NEGOTIATION77Anna Fali
1024James U MarrierIndia2024-05-28Rangoni Of Florence QUALIFIED90Xuxue Feng
1025Misaki J FerenczJapan2024-05-28Benton, John B Jr RENEWAL88Elwin Sharvill
1026Rodrigues H GlickCanada2024-05-23Chanay, Jeffrey A Esq RENEWAL73Bernardo Dominic
1027Jeanfrancois E DarakjyIndia2024-06-08Chanay, Jeffrey A Esq PROPOSAL0Bernardo Dominic
1028Antonio W FlosiUnited Kingdom2024-06-12Chanay, Jeffrey A Esq PROPOSAL90Elwin Sharvill
1029Aika D GarufiUnited Kingdom2024-06-19Truhlar And Truhlar Attys RENEWAL81Ivan Magalhaes
1030Francesco D WhobreyFrance2024-06-01Benton, John B Jr NEW29Amy Elsner
1031Leja J AlbaresSpain2024-06-14Buckley Miller Wright PROPOSAL44Bernardo Dominic
1032Leja M RulapaughJapan2024-06-10Chapman, Ross E Esq NEW99Asiya Javayant
1033Clifford K KolmetzSpain2024-06-17Feltz Printing Service PROPOSAL62Xuxue Feng
1034Adams Y GarufiUnited Kingdom2024-05-25Chapman, Ross E Esq NEGOTIATION98Amy Elsner
1035Costa P InouyeJapan2024-06-12Feltz Printing Service NEW13Anna Fali
1036Jones Q TollnerCanada2024-05-26Commercial Press RENEWAL79Elwin Sharvill
1037Ivar I MacleadFrance2024-05-25Buckley Miller Wright UNQUALIFIED28Bernardo Dominic
1038Misaki F InouyeFrance2024-06-03Feiner Bros UNQUALIFIED53Bernardo Dominic
1039Francesco Q BologniaCanada2024-06-18Truhlar And Truhlar Attys UNQUALIFIED80Bernardo Dominic
1040Deepesh F KuskoGermany2024-06-10Chapman, Ross E Esq NEW9Anna Fali
1041Greenwood F FigeroaArgentina2024-05-25Feiner Bros QUALIFIED55Stephen Shaw
1042Chavez K NickaRussia2024-05-24Chanay, Jeffrey A Esq NEGOTIATION89Stephen Shaw
1043Emily E StensethCanada2024-06-11Rousseaux, Michael Esq RENEWAL33Ioni Bowcher
1044Ivar G MacleadItaly2024-05-26Chapman, Ross E Esq NEW0Stephen Shaw
1045Claire D InouyeAustralia2024-06-15Chanay, Jeffrey A Esq RENEWAL74Asiya Javayant
1046Izzy X TollnerJapan2024-06-21Feiner Bros NEW84Onyama Limba
1047Ricardo F KuskoGermany2024-06-09Commercial Press NEW57Asiya Javayant
1048Cody W OldroydUnited Kingdom2024-05-23Buckley Miller Wright UNQUALIFIED39Ioni Bowcher
1049Octavia X MaletIndia2024-06-10Feiner Bros NEGOTIATION10Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh J SaylorsUnited KingdomIoni Bowcher PROPOSAL
Darci H FerenczAustraliaAsiya Javayant QUALIFIED
Silvio R InouyeSpainBernardo Dominic NEGOTIATION
Maisha H RulapaughFranceElwin Sharvill RENEWAL
Octavia E OstroskySpainIoni Bowcher RENEWAL
Costa V FlosiAustraliaXuxue Feng PROPOSAL
Aditya O MarrierBrazilAnna Fali RENEWAL
Jeanfrancois Z CampainSpainAnna Fali NEW
Mujtaba J KolmetzGermanyIoni Bowcher NEW
Deepesh G RulapaughUnited KingdomBernardo Dominic PROPOSAL
Alejandro U DoeAustraliaIoni Bowcher RENEWAL
Nicolas J GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro V BriddickCanadaElwin Sharvill PROPOSAL
Greenwood J VenereUnited KingdomAsiya Javayant NEW
Morrow L FerenczSpainStephen Shaw QUALIFIED
Claire C SaylorsArgentinaXuxue Feng RENEWAL
Misaki J PerinGermanyIvan Magalhaes PROPOSAL
Morrow X ChuiBrazilIvan Magalhaes NEW
Octavia T FlosiRussiaBernardo Dominic NEW
Antonio Z PerinBrazilElwin Sharvill PROPOSAL
Francesco I RoysterUnited KingdomOnyama Limba RENEWAL
Arvin M GillianSpainXuxue Feng NEGOTIATION
Aditya C FollerIndiaAmy Elsner RENEWAL
Adams X CaldareraAustraliaIoni Bowcher QUALIFIED
Claire T MarrierItalyIvan Magalhaes RENEWAL
Maria R ShinkoIndiaIoni Bowcher QUALIFIED
Aika K WieserItalyElwin Sharvill RENEWAL
Stacey L DilliardItalyElwin Sharvill NEGOTIATION
Emily B OldroydGermanyOnyama Limba NEW
Mayumi Q MacleadGermanyIvan Magalhaes QUALIFIED
Claire H NickaUnited KingdomXuxue Feng PROPOSAL
Cody K MaletCanadaAmy Elsner PROPOSAL
Darci F InouyeAustraliaIvan Magalhaes NEW
Deepesh G FigeroaItalyAnna Fali QUALIFIED
Misaki N PoquetteBrazilAmy Elsner PROPOSAL
Leon H FlosiJapanOnyama Limba PROPOSAL
Morrow I PaprockiIndiaAmy Elsner QUALIFIED
Ashley Z BowleySpainIvan Magalhaes UNQUALIFIED
Isabel F BriddickUnited KingdomOnyama Limba QUALIFIED
Kadeem S MaletFranceIvan Magalhaes NEGOTIATION
Leon K ChuiBrazilAnna Fali NEGOTIATION
Kaitlin V RoysterBrazilXuxue Feng RENEWAL
Rodrigues B FigeroaJapanBernardo Dominic RENEWAL
Sinclair N VocelkaItalyAmy Elsner RENEWAL
Stacey X BologniaAustraliaOnyama Limba PROPOSAL
Darci W MarrierItalyAnna Fali QUALIFIED
Morrow C FollerJapanBernardo Dominic NEW
Ricardo N GlickArgentinaBernardo Dominic NEGOTIATION
Chavez Z DoeAustraliaAnna Fali NEGOTIATION
Isabel N WieserFranceStephen Shaw NEW
Frozen Columns
Name
Aditya U Gaucho
Izzy D Rim
Wickens C Garufi
Morrow O Marrier
Emily Q Morasca
Faith T Butt
Maisha B Ostrosky
Costa T Figeroa
Ashley E Iturbide
Stacey N Oldroyd
Aditya O Schemmer
Mujtaba F Inouye
Ashley Z Schemmer
Antonio Q Bolognia
Sinclair G Darakjy
Jennifer Z Marrier
Costa R Stockham
Cody B Poquette
Greenwood P Stenseth
Costa C Flosi
Murillo A Doe
Arvin S Morasca
Salvatore V Nicka
Tony G Albares
Isabel X Caudy
Arvin A Darakjy
Ivar Y Maclead
Leon S Iturbide
Chavez D Marrier
Emily P Venere
David P Nicka
Aika E Garufi
Jeanfrancois G Glick
Francesco Z Poquette
David T Saylors
Jennifer W Maclead
Costa J Royster
Silvio Q Nicka
Emily I Nicka
Antonio O Kolmetz
Costa L Glick
Kaitlin G Oldroyd
Cody W Wieser
Arvin Z Malet
Ashley L Caldarera
Kaitlin H Gillian
Mujtaba O Bolognia
Tony Q Chui
Arvin L Maclead
Jennifer Q Amigon
IdCountryDate
1000Germany2024-06-10
1001Australia2024-06-03
1002Russia2024-06-01
1003Japan2024-06-07
1004France2024-06-13
1005United Kingdom2024-06-07
1006France2024-06-15
1007Australia2024-06-21
1008Japan2024-06-21
1009Canada2024-06-11
1010Canada2024-06-07
1011United Kingdom2024-06-11
1012United Kingdom2024-06-21
1013Brazil2024-05-28
1014Japan2024-06-13
1015Germany2024-06-21
1016Brazil2024-05-24
1017Spain2024-05-25
1018Germany2024-06-11
1019United Kingdom2024-06-16
1020Brazil2024-06-15
1021Russia2024-06-09
1022Japan2024-06-07
1023Brazil2024-06-01
1024Russia2024-05-28
1025India2024-05-27
1026Italy2024-06-21
1027Canada2024-06-13
1028Japan2024-05-28
1029Spain2024-06-03
1030United Kingdom2024-05-23
1031Russia2024-06-07
1032France2024-06-01
1033Spain2024-06-03
1034United Kingdom2024-05-25
1035Australia2024-05-27
1036Argentina2024-06-09
1037Spain2024-05-30
1038Australia2024-05-30
1039Canada2024-06-11
1040India2024-06-14
1041Argentina2024-05-23
1042Canada2024-06-07
1043Russia2024-06-07
1044Brazil2024-05-29
1045Brazil2024-06-14
1046Argentina2024-06-01
1047Italy2024-05-23
1048Argentina2024-06-09
1049Australia2024-05-28

On-Demand Data

NameIdCountryDate
Deepesh J Ruta1000France2024-06-17
Isabel C Nicka1001Argentina2024-06-13
Aika T Butt1002Canada2024-06-06
Antonio V Ostrosky1003Germany2024-05-25
Ricardo B Doe1004Canada2024-05-29
Maria G Waycott1005Brazil2024-05-28
Alejandro A Sergi1006Argentina2024-06-07
Maisha G Maclead1007Italy2024-06-20
Jennifer G Slusarski1008India2024-05-28
Wickens U Kolmetz1009Brazil2024-06-20
Munro N Bowley1010India2024-05-27
Jones N Saylors1011Japan2024-05-30
Sinclair D Garufi1012United Kingdom2024-05-30
Ashley X Ferencz1013Australia2024-06-13
Aruna G Gillian1014Canada2024-06-20
Claire D Vocelka1015France2024-05-27
Aditya D Gillian1016Japan2024-06-08
Cody G Stockham1017Spain2024-06-12
Francesco C Chui1018Canada2024-06-02
Jones P Slusarski1019Germany2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens N WaycottJapanAsiya Javayant NEW
Ashley Z FigeroaArgentinaElwin Sharvill RENEWAL
Aika E BowleySpainIoni Bowcher UNQUALIFIED
Claire B WaycottItalyElwin Sharvill NEGOTIATION
Adams U NestleArgentinaIvan Magalhaes PROPOSAL
Mujtaba D AlbaresAustraliaElwin Sharvill NEW
David K WaycottFranceAmy Elsner UNQUALIFIED
Jones T CaldareraBrazilIoni Bowcher PROPOSAL
Ashley U PoquetteJapanAsiya Javayant PROPOSAL
Aditya V BologniaSpainIoni Bowcher RENEWAL
Aruna Y MacleadAustraliaStephen Shaw NEGOTIATION
Octavia E SlusarskiGermanyAnna Fali UNQUALIFIED
Misaki R CampainRussiaOnyama Limba PROPOSAL
Emily H MaletArgentinaElwin Sharvill NEW
Aditya G GarufiRussiaAsiya Javayant RENEWAL
Aruna M CaudyCanadaXuxue Feng QUALIFIED
Johnson Q DilliardBrazilAmy Elsner PROPOSAL
Ashley L NickaArgentinaXuxue Feng PROPOSAL
Isabel A ButtFranceXuxue Feng NEGOTIATION
Chavez C ChuiArgentinaStephen Shaw PROPOSAL
Wickens S KuskoBrazilAsiya Javayant UNQUALIFIED
Jeanfrancois E InouyeJapanXuxue Feng QUALIFIED
Chavez D DilliardRussiaIvan Magalhaes NEGOTIATION
Octavia D CampainBrazilAsiya Javayant NEGOTIATION
Sinclair A GauchoBrazilAnna Fali PROPOSAL
Cody W VenereIndiaAsiya Javayant NEGOTIATION
Tony N FlosiGermanyIvan Magalhaes UNQUALIFIED
Adams C OldroydCanadaIvan Magalhaes UNQUALIFIED
Faith O WieserGermanyAnna Fali NEGOTIATION
Chavez L FollerBrazilAnna Fali QUALIFIED
Ashley T GillianArgentinaBernardo Dominic NEGOTIATION
Smith F RutaRussiaElwin Sharvill NEW
Maria N FollerRussiaAmy Elsner QUALIFIED
Costa O GauchoJapanStephen Shaw NEW
Jeanfrancois U FerenczUnited KingdomIoni Bowcher RENEWAL
Maria N PerinUnited KingdomAmy Elsner UNQUALIFIED
Sinclair Q OstroskyJapanOnyama Limba PROPOSAL
Leon G OldroydItalyAmy Elsner NEGOTIATION
Clifford K WieserFranceStephen Shaw PROPOSAL
Chavez D SergiArgentinaXuxue Feng 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>