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
Francesco U CaldareraCanadaElwin Sharvill RENEWAL
Wickens U KolmetzRussiaIoni Bowcher PROPOSAL
Silvio U NickaUnited KingdomBernardo Dominic RENEWAL
Ricardo Q BriddickFranceStephen Shaw RENEWAL
David Y MaletUnited KingdomBernardo Dominic QUALIFIED
Rodrigues K FollerItalyElwin Sharvill NEGOTIATION
Tony R PaprockiFranceAsiya Javayant UNQUALIFIED
Salvatore D PoquetteRussiaIvan Magalhaes NEW
Leja C SchemmerGermanyElwin Sharvill UNQUALIFIED
Johnson E RoysterIndiaAmy Elsner UNQUALIFIED
Francesco I FollerSpainIvan Magalhaes PROPOSAL
Adams E WieserIndiaOnyama Limba RENEWAL
Antonio E GauchoItalyXuxue Feng NEGOTIATION
Arvin V FerenczJapanXuxue Feng RENEWAL
Jeanfrancois R WieserItalyStephen Shaw QUALIFIED
Octavia Z CampainFranceXuxue Feng RENEWAL
Faith I KuskoJapanIoni Bowcher RENEWAL
Isabel T SchemmerRussiaStephen Shaw NEW
Sinclair G PoquetteBrazilElwin Sharvill NEGOTIATION
Darci U InouyeAustraliaAsiya Javayant NEW
Aruna M StensethRussiaStephen Shaw QUALIFIED
Smith K GlickItalyBernardo Dominic QUALIFIED
Munro N NestleBrazilAmy Elsner UNQUALIFIED
James R SergiIndiaIvan Magalhaes QUALIFIED
Francesco I GauchoGermanyStephen Shaw QUALIFIED
Nicolas P MorascaJapanXuxue Feng PROPOSAL
Morrow E GlickAustraliaStephen Shaw NEGOTIATION
Nicolas S ButtGermanyBernardo Dominic NEW
Clifford L GillianItalyElwin Sharvill RENEWAL
Rodrigues G PaprockiBrazilOnyama Limba RENEWAL
Maisha L KuskoItalyXuxue Feng RENEWAL
Aruna Z MaletItalyBernardo Dominic QUALIFIED
Kaitlin O GillianIndiaIvan Magalhaes QUALIFIED
Deepesh Y WieserAustraliaBernardo Dominic PROPOSAL
Leon J KolmetzCanadaOnyama Limba PROPOSAL
Jones N StockhamJapanAsiya Javayant NEGOTIATION
Silvio S BriddickAustraliaElwin Sharvill NEW
Ivar V StensethSpainAsiya Javayant NEGOTIATION
Nicolas G VocelkaRussiaBernardo Dominic UNQUALIFIED
Antonio L OldroydUnited KingdomAnna Fali NEGOTIATION
Nicolas K DilliardUnited KingdomAmy Elsner RENEWAL
Aika S SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Silvio C DilliardAustraliaBernardo Dominic NEGOTIATION
Alejandro M StensethUnited KingdomStephen Shaw PROPOSAL
Francesco M RimArgentinaStephen Shaw UNQUALIFIED
Juan Y WhobreyAustraliaAmy Elsner UNQUALIFIED
Aruna B OstroskyBrazilIvan Magalhaes RENEWAL
David K AlbaresAustraliaStephen Shaw PROPOSAL
Chavez D RulapaughSpainXuxue Feng QUALIFIED
Maisha V NickaSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro V GillianUnited KingdomIoni Bowcher UNQUALIFIED
James S VocelkaGermanyAmy Elsner RENEWAL
Murillo G GlickFranceAsiya Javayant NEGOTIATION
Mujtaba N PoquetteBrazilAnna Fali RENEWAL
Aruna X GillianBrazilBernardo Dominic PROPOSAL
Arvin Y WieserItalyStephen Shaw UNQUALIFIED
David O SchemmerFranceBernardo Dominic QUALIFIED
Jones K AlbaresSpainStephen Shaw RENEWAL
Octavia P PerinCanadaAsiya Javayant RENEWAL
Izzy F FlosiUnited KingdomAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan Y VenereJapan2024-06-07Dorl, James J Esq NEW47Bernardo Dominic
1001Jennifer C IturbideArgentina2024-05-26King, Christopher A Esq NEW32Ioni Bowcher
1002Ricardo N AmigonAustralia2024-06-02Benton, John B Jr UNQUALIFIED26Amy Elsner
1003Antonio Z GlickBrazil2024-06-01Feltz Printing Service RENEWAL43Xuxue Feng
1004Izzy I FollerRussia2024-06-09Printing Dimensions RENEWAL12Asiya Javayant
1005Maisha J MacleadItaly2024-05-22Rangoni Of Florence PROPOSAL5Bernardo Dominic
1006Jones X StensethGermany2024-06-16Rangoni Of Florence NEGOTIATION43Anna Fali
1007Tony K ShinkoRussia2024-06-11Rousseaux, Michael Esq QUALIFIED7Amy Elsner
1008Nicolas F AmigonAustralia2024-06-16Buckley Miller Wright QUALIFIED11Asiya Javayant
1009Sinclair N CampainRussia2024-06-04Feiner Bros RENEWAL47Amy Elsner
1010Emily K WieserArgentina2024-06-04Rangoni Of Florence RENEWAL79Asiya Javayant
1011Costa I SchemmerSpain2024-06-04Feltz Printing Service QUALIFIED24Stephen Shaw
1012Ivar X MarrierAustralia2024-05-22Truhlar And Truhlar Attys QUALIFIED84Bernardo Dominic
1013Maria V WhobreySpain2024-05-21Commercial Press UNQUALIFIED6Bernardo Dominic
1014Claire O ChuiJapan2024-06-14Truhlar And Truhlar Attys PROPOSAL23Ivan Magalhaes
1015Ivar A PerinAustralia2024-06-12Morlong Associates RENEWAL70Anna Fali
1016Izzy M FollerItaly2024-05-28Benton, John B Jr NEGOTIATION99Anna Fali
1017James G SaylorsRussia2024-05-25Feltz Printing Service PROPOSAL95Ioni Bowcher
1018Kaitlin O DilliardItaly2024-05-23King, Christopher A Esq UNQUALIFIED96Bernardo Dominic
1019Wickens L OstroskyArgentina2024-06-12Truhlar And Truhlar Attys QUALIFIED73Amy Elsner
1020Ricardo L CaldareraGermany2024-05-31Buckley Miller Wright NEGOTIATION70Xuxue Feng
1021James A FigeroaBrazil2024-05-19Truhlar And Truhlar Attys RENEWAL30Xuxue Feng
1022Silvio A SaylorsFrance2024-05-21Feiner Bros RENEWAL17Ivan Magalhaes
1023Antonio R GillianFrance2024-05-20Chemel, James L Cpa RENEWAL47Asiya Javayant
1024Antonio S AmigonIndia2024-06-08Rangoni Of Florence PROPOSAL84Asiya Javayant
1025Kaitlin Z RutaBrazil2024-06-17King, Christopher A Esq PROPOSAL29Anna Fali
1026Leon E FigeroaRussia2024-06-12Buckley Miller Wright QUALIFIED48Stephen Shaw
1027David A WaycottUnited Kingdom2024-05-19Rousseaux, Michael Esq PROPOSAL78Amy Elsner
1028Rodrigues K FollerBrazil2024-06-05Chemel, James L Cpa QUALIFIED20Onyama Limba
1029Kadeem U FollerIndia2024-06-15Chemel, James L Cpa NEW95Elwin Sharvill
1030Costa H DarakjyArgentina2024-06-07King, Christopher A Esq UNQUALIFIED10Ioni Bowcher
1031Maria Y IturbideAustralia2024-06-01Buckley Miller Wright NEW37Asiya Javayant
1032Jones R InouyeRussia2024-06-05Feltz Printing Service RENEWAL65Ioni Bowcher
1033Smith W CampainUnited Kingdom2024-06-13King, Christopher A Esq UNQUALIFIED50Ivan Magalhaes
1034Leja A ChuiFrance2024-06-06Chemel, James L Cpa UNQUALIFIED71Stephen Shaw
1035Alejandro B DoeArgentina2024-06-10Rousseaux, Michael Esq PROPOSAL5Stephen Shaw
1036Tony A BriddickJapan2024-05-27Benton, John B Jr QUALIFIED2Asiya Javayant
1037Tony R SergiIndia2024-06-04Rangoni Of Florence NEW41Elwin Sharvill
1038Deepesh I FollerFrance2024-05-22Printing Dimensions RENEWAL24Ioni Bowcher
1039Faith L StockhamRussia2024-06-14Chanay, Jeffrey A Esq NEGOTIATION45Ivan Magalhaes
1040Jones Q RutaBrazil2024-05-22Dorl, James J Esq UNQUALIFIED47Anna Fali
1041Maisha Y RoysterFrance2024-05-29Truhlar And Truhlar Attys RENEWAL84Stephen Shaw
1042Murillo X DarakjySpain2024-06-17Chapman, Ross E Esq UNQUALIFIED81Asiya Javayant
1043Adams X CaldareraJapan2024-05-24Buckley Miller Wright NEGOTIATION97Asiya Javayant
1044Francesco G FlosiUnited Kingdom2024-06-01King, Christopher A Esq PROPOSAL0Amy Elsner
1045Chavez Q DilliardFrance2024-05-31Truhlar And Truhlar Attys NEGOTIATION74Onyama Limba
1046Deepesh B FollerGermany2024-05-20Feltz Printing Service UNQUALIFIED62Elwin Sharvill
1047Nicolas I VocelkaAustralia2024-05-24Commercial Press NEW29Bernardo Dominic
1048Arvin M AlbaresSpain2024-06-12Chanay, Jeffrey A Esq NEGOTIATION37Amy Elsner
1049Alejandro Y OldroydGermany2024-05-30Dorl, James J Esq UNQUALIFIED13Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois F StockhamAustraliaElwin Sharvill RENEWAL
Mayumi C DarakjyArgentinaStephen Shaw UNQUALIFIED
Arvin E IturbideSpainAmy Elsner RENEWAL
Mayumi D VenereItalyIvan Magalhaes RENEWAL
Clifford Z RutaUnited KingdomIoni Bowcher RENEWAL
Smith M PoquetteSpainXuxue Feng NEGOTIATION
Silvio E ShinkoGermanyOnyama Limba RENEWAL
Aruna P PerinArgentinaAsiya Javayant PROPOSAL
Emily R GauchoBrazilOnyama Limba RENEWAL
Murillo U FollerRussiaBernardo Dominic QUALIFIED
Munro N MacleadGermanyAsiya Javayant RENEWAL
Mayumi G OstroskyJapanAmy Elsner RENEWAL
Morrow U MaletSpainStephen Shaw PROPOSAL
Octavia P FigeroaGermanyStephen Shaw UNQUALIFIED
James T MacleadCanadaOnyama Limba PROPOSAL
Maisha P SlusarskiSpainXuxue Feng NEW
Silvio T KolmetzItalyAsiya Javayant UNQUALIFIED
Isabel H RutaJapanIoni Bowcher PROPOSAL
Salvatore C ButtUnited KingdomStephen Shaw PROPOSAL
Julie X RulapaughSpainAsiya Javayant PROPOSAL
Darci N InouyeRussiaOnyama Limba NEW
Julie D RulapaughGermanyOnyama Limba NEGOTIATION
Leja B MarrierCanadaAsiya Javayant PROPOSAL
Francesco U AmigonIndiaXuxue Feng NEGOTIATION
Munro T SlusarskiFranceIoni Bowcher UNQUALIFIED
Munro G DilliardSpainAnna Fali NEW
Costa I CampainCanadaAmy Elsner PROPOSAL
Kaitlin P DarakjyBrazilOnyama Limba NEW
Ivar V WaycottFranceIoni Bowcher NEGOTIATION
Munro X RutaIndiaElwin Sharvill UNQUALIFIED
Morrow I DilliardItalyStephen Shaw RENEWAL
Silvio D IturbideUnited KingdomOnyama Limba NEW
Morrow F MorascaRussiaAnna Fali NEGOTIATION
Adams N ChuiItalyXuxue Feng NEGOTIATION
Cody S MaletRussiaAnna Fali RENEWAL
Wickens D AlbaresSpainAmy Elsner PROPOSAL
Leon Q KuskoRussiaAmy Elsner RENEWAL
Maria T RimUnited KingdomIvan Magalhaes UNQUALIFIED
James G MacleadArgentinaAsiya Javayant NEGOTIATION
Juan L BologniaAustraliaIoni Bowcher RENEWAL
James G ButtBrazilAnna Fali RENEWAL
Ashley E VenereGermanyAnna Fali NEW
Arvin Q KolmetzCanadaStephen Shaw QUALIFIED
Maria N GauchoGermanyIoni Bowcher QUALIFIED
Misaki D FerenczJapanAnna Fali NEW
Kaitlin L FollerJapanBernardo Dominic QUALIFIED
Nicolas Z PerinFranceBernardo Dominic RENEWAL
Juan W RutaBrazilElwin Sharvill PROPOSAL
Mayumi G RimSpainElwin Sharvill NEW
Kadeem F DarakjyItalyAmy Elsner RENEWAL
Frozen Columns
Name
Aditya H Vocelka
Emily K Slusarski
Adams Y Iturbide
Faith V Malet
Murillo S Flosi
Clifford U Kolmetz
Morrow O Tollner
Leon E Schemmer
Stacey W Venere
Jeanfrancois Y Malet
Isabel X Nicka
Tony D Whobrey
Mayumi L Campain
Tony Y Morasca
Wickens G Paprocki
Jones D Iturbide
David T Slusarski
Silvio V Kolmetz
Cody N Saylors
Deepesh H Morasca
Ivar X Garufi
Morrow C Stenseth
Costa G Marrier
Salvatore W Figeroa
Jefferson E Kolmetz
Jeanfrancois F Maclead
Ricardo K Garufi
Maisha H Butt
Tony L Briddick
Sinclair I Nestle
Leon P Gillian
Jeanfrancois S Caldarera
Ricardo B Bowley
Clifford M Darakjy
Salvatore L Waycott
Jefferson D Gaucho
Izzy M Kolmetz
Jefferson H Shinko
Jefferson B Campain
Aditya F Whobrey
Kaitlin K Butt
Antonio E Glick
Nicolas D Paprocki
Johnson X Tollner
Misaki J Rulapaugh
Alejandro N Kolmetz
Kadeem M Sergi
David Y Saylors
Aditya Q Oldroyd
Wickens S Rim
IdCountryDate
1000Brazil2024-06-14
1001Australia2024-06-05
1002France2024-05-24
1003United Kingdom2024-05-31
1004Canada2024-05-30
1005France2024-06-15
1006Japan2024-05-27
1007Canada2024-06-01
1008France2024-05-29
1009Australia2024-06-05
1010United Kingdom2024-06-02
1011Germany2024-06-16
1012United Kingdom2024-06-05
1013France2024-06-03
1014France2024-06-03
1015United Kingdom2024-06-06
1016Australia2024-06-04
1017Australia2024-06-03
1018Australia2024-06-05
1019Germany2024-06-01
1020India2024-05-26
1021Italy2024-05-29
1022Italy2024-05-27
1023Italy2024-05-26
1024Spain2024-06-10
1025France2024-06-16
1026Canada2024-05-26
1027Argentina2024-06-14
1028Japan2024-06-13
1029Russia2024-06-16
1030Argentina2024-05-29
1031France2024-05-26
1032Australia2024-06-10
1033United Kingdom2024-05-31
1034Australia2024-05-29
1035Argentina2024-05-27
1036Italy2024-06-09
1037Canada2024-06-14
1038United Kingdom2024-06-16
1039Germany2024-06-10
1040Australia2024-05-22
1041Russia2024-06-11
1042Russia2024-05-29
1043Australia2024-06-13
1044Canada2024-06-04
1045Brazil2024-05-24
1046Australia2024-05-30
1047Argentina2024-05-23
1048France2024-05-25
1049Japan2024-05-21

On-Demand Data

NameIdCountryDate
Adams B Nicka1000Argentina2024-06-04
Cody M Stenseth1001United Kingdom2024-06-16
Aruna Q Waycott1002Australia2024-05-20
Jennifer N Shinko1003Argentina2024-06-15
Munro H Ostrosky1004France2024-06-07
Greenwood P Rim1005Russia2024-05-29
Claire F Whobrey1006Russia2024-06-02
Kaitlin S Poquette1007Russia2024-06-02
Sinclair R Ostrosky1008Australia2024-05-24
Leja L Butt1009Russia2024-05-26
Isabel T Marrier1010India2024-06-03
Ashley W Waycott1011Japan2024-06-09
Adams U Glick1012Canada2024-06-08
Darci P Marrier1013Brazil2024-05-26
Greenwood W Maclead1014Australia2024-05-26
Salvatore B Kusko1015Germany2024-05-25
Adams O Albares1016Spain2024-06-12
Tony Z Nicka1017Spain2024-06-04
Octavia A Caudy1018Japan2024-05-31
Ricardo O Saylors1019United Kingdom2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin C FlosiArgentinaAnna Fali RENEWAL
Rodrigues U RulapaughUnited KingdomAmy Elsner RENEWAL
Johnson Q MaletUnited KingdomAnna Fali QUALIFIED
Ricardo B StockhamAustraliaAnna Fali NEW
Chavez S StensethItalyElwin Sharvill UNQUALIFIED
Aruna V WhobreyCanadaAnna Fali RENEWAL
Isabel C BowleyCanadaAsiya Javayant QUALIFIED
Clifford K RutaRussiaBernardo Dominic NEGOTIATION
Alejandro E ChuiArgentinaIvan Magalhaes NEGOTIATION
Kadeem T CaudyGermanyOnyama Limba RENEWAL
Darci P GauchoCanadaStephen Shaw NEGOTIATION
Stacey Z AlbaresAustraliaXuxue Feng QUALIFIED
Leon E GlickFranceAmy Elsner NEW
Emily F FigeroaAustraliaAnna Fali QUALIFIED
James U KuskoGermanyIvan Magalhaes NEGOTIATION
Tony J RimBrazilBernardo Dominic RENEWAL
Ashley L DoeItalyXuxue Feng PROPOSAL
Johnson B VenereGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois U CaldareraFranceIvan Magalhaes NEGOTIATION
Smith X PoquetteJapanXuxue Feng UNQUALIFIED
Leja C PaprockiAustraliaAsiya Javayant NEW
Salvatore M CampainBrazilAmy Elsner NEW
Murillo F SlusarskiUnited KingdomAsiya Javayant NEW
Maria M FlosiCanadaIoni Bowcher PROPOSAL
Nicolas P PerinJapanXuxue Feng NEGOTIATION
Juan X DilliardGermanyElwin Sharvill RENEWAL
Izzy B DilliardIndiaStephen Shaw QUALIFIED
Jeanfrancois L WaycottItalyElwin Sharvill NEW
Julie C MaletGermanyStephen Shaw PROPOSAL
Clifford Y CaldareraItalyIvan Magalhaes RENEWAL
Tony E RulapaughAustraliaOnyama Limba NEGOTIATION
Clifford K ButtSpainIvan Magalhaes RENEWAL
Ashley N CampainIndiaAsiya Javayant RENEWAL
Nicolas S KolmetzJapanAnna Fali PROPOSAL
Mayumi Q AmigonAustraliaAnna Fali NEW
Wickens B FerenczJapanIvan Magalhaes NEGOTIATION
Johnson U BologniaSpainIoni Bowcher RENEWAL
Isabel F DarakjyRussiaStephen Shaw PROPOSAL
Emily N NestleFranceIvan Magalhaes NEGOTIATION
Aruna U BriddickRussiaElwin Sharvill 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>