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
Johnson X FerenczItalyXuxue Feng PROPOSAL
Maria L BriddickItalyBernardo Dominic RENEWAL
Salvatore N VocelkaIndiaAmy Elsner NEGOTIATION
Jones H FerenczFranceIvan Magalhaes UNQUALIFIED
Izzy V RoysterJapanXuxue Feng RENEWAL
Rodrigues S BowleyAustraliaAsiya Javayant UNQUALIFIED
Costa G GarufiIndiaElwin Sharvill PROPOSAL
Aruna M RoysterItalyBernardo Dominic NEW
Kaitlin S MaletRussiaXuxue Feng NEGOTIATION
Faith B SlusarskiUnited KingdomOnyama Limba QUALIFIED
Deepesh A WieserUnited KingdomXuxue Feng UNQUALIFIED
Johnson D CaldareraSpainXuxue Feng QUALIFIED
Faith K FerenczJapanIvan Magalhaes PROPOSAL
Jefferson U TollnerJapanXuxue Feng RENEWAL
Aruna W DilliardRussiaXuxue Feng QUALIFIED
Misaki D WieserFranceBernardo Dominic NEGOTIATION
Mayumi B StensethFranceIvan Magalhaes QUALIFIED
Juan M WaycottSpainXuxue Feng QUALIFIED
Julie H SchemmerFranceOnyama Limba QUALIFIED
Emily S MacleadCanadaAnna Fali PROPOSAL
Aika Y CaudySpainXuxue Feng UNQUALIFIED
Juan W WaycottBrazilIoni Bowcher NEGOTIATION
Deepesh F NestleBrazilXuxue Feng RENEWAL
Mujtaba V RimFranceBernardo Dominic UNQUALIFIED
Murillo D KolmetzFranceBernardo Dominic PROPOSAL
Isabel C GlickArgentinaElwin Sharvill PROPOSAL
Izzy L GauchoSpainAmy Elsner RENEWAL
Antonio P OstroskyAustraliaAmy Elsner QUALIFIED
Jones G DarakjyJapanAnna Fali UNQUALIFIED
Silvio A MaletArgentinaOnyama Limba NEGOTIATION
Maria U WaycottCanadaIoni Bowcher NEW
Tony N BologniaItalyStephen Shaw RENEWAL
Clifford K CaudyAustraliaBernardo Dominic NEGOTIATION
Murillo I GauchoAustraliaStephen Shaw QUALIFIED
Emily A MacleadAustraliaAnna Fali RENEWAL
Darci Q FollerRussiaBernardo Dominic UNQUALIFIED
Isabel K CaldareraIndiaAnna Fali UNQUALIFIED
Octavia F NickaJapanIoni Bowcher UNQUALIFIED
Jennifer Z OstroskySpainElwin Sharvill NEGOTIATION
Clifford P RimFranceElwin Sharvill NEW
Maria X ShinkoUnited KingdomAsiya Javayant RENEWAL
Mayumi I MaletSpainOnyama Limba UNQUALIFIED
Ashley C FlosiArgentinaOnyama Limba NEW
Jennifer J VocelkaIndiaAsiya Javayant UNQUALIFIED
Smith Z WieserSpainXuxue Feng PROPOSAL
James D GillianArgentinaAmy Elsner UNQUALIFIED
Isabel A RulapaughCanadaAnna Fali PROPOSAL
Emily S FollerJapanAsiya Javayant PROPOSAL
Antonio R PerinArgentinaOnyama Limba NEGOTIATION
Rodrigues A GarufiRussiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja I VenereSpainIvan Magalhaes QUALIFIED
Misaki Q AlbaresIndiaAsiya Javayant RENEWAL
Octavia I CampainIndiaElwin Sharvill PROPOSAL
Jones L GlickBrazilElwin Sharvill NEGOTIATION
Jefferson W BowleyAustraliaXuxue Feng QUALIFIED
Leon O NickaFranceXuxue Feng QUALIFIED
David D NickaUnited KingdomIoni Bowcher PROPOSAL
Emily W PoquetteSpainAsiya Javayant NEGOTIATION
Aika E WhobreyBrazilAnna Fali RENEWAL
Chavez J GillianCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson A SchemmerArgentina2026-08-20Feiner Bros NEW98Onyama Limba
1001Silvio T CaldareraCanada2026-08-01King, Christopher A Esq RENEWAL6Anna Fali
1002Arvin C WaycottIndia2026-08-19Truhlar And Truhlar Attys QUALIFIED54Bernardo Dominic
1003Nicolas J RutaFrance2026-08-03Commercial Press QUALIFIED87Xuxue Feng
1004Stacey L SaylorsAustralia2026-08-01Chemel, James L Cpa QUALIFIED1Xuxue Feng
1005Aika K DilliardAustralia2026-08-24Rangoni Of Florence QUALIFIED28Bernardo Dominic
1006Izzy W GarufiSpain2026-08-17Truhlar And Truhlar Attys NEGOTIATION10Ioni Bowcher
1007Morrow K WieserBrazil2026-08-13Morlong Associates PROPOSAL45Bernardo Dominic
1008Darci D MorascaBrazil2026-08-03Chapman, Ross E Esq QUALIFIED19Amy Elsner
1009Mujtaba S AlbaresBrazil2026-08-18Feiner Bros RENEWAL30Stephen Shaw
1010Greenwood E FollerIndia2026-08-04Rousseaux, Michael Esq NEW8Amy Elsner
1011Costa D KolmetzFrance2026-08-18Feltz Printing Service RENEWAL0Onyama Limba
1012Darci U MaletJapan2026-08-10Dorl, James J Esq QUALIFIED33Anna Fali
1013Mujtaba P MaletUnited Kingdom2026-08-01Printing Dimensions RENEWAL74Stephen Shaw
1014David X GauchoIndia2026-08-27Rangoni Of Florence NEGOTIATION77Anna Fali
1015Ivar F RoysterIndia2026-08-07Benton, John B Jr PROPOSAL31Ivan Magalhaes
1016Aika T WhobreySpain2026-08-22King, Christopher A Esq UNQUALIFIED2Ioni Bowcher
1017Tony W CaudyItaly2026-08-08Benton, John B Jr UNQUALIFIED63Amy Elsner
1018Maria X SchemmerIndia2026-08-18Buckley Miller Wright PROPOSAL10Xuxue Feng
1019Jones I WieserSpain2026-08-04King, Christopher A Esq QUALIFIED40Asiya Javayant
1020Mayumi J SlusarskiUnited Kingdom2026-08-11Printing Dimensions PROPOSAL13Stephen Shaw
1021Kaitlin O VocelkaAustralia2026-08-02Benton, John B Jr PROPOSAL15Ioni Bowcher
1022Emily C RimAustralia2026-08-25Buckley Miller Wright QUALIFIED74Ioni Bowcher
1023Izzy S RimBrazil2026-08-21Truhlar And Truhlar Attys RENEWAL15Xuxue Feng
1024Morrow N AlbaresCanada2026-08-20Rangoni Of Florence RENEWAL74Bernardo Dominic
1025Francesco B RutaCanada2026-08-03Buckley Miller Wright UNQUALIFIED4Asiya Javayant
1026Chavez E TollnerItaly2026-08-10Morlong Associates PROPOSAL85Onyama Limba
1027Mayumi C CampainGermany2026-08-08Printing Dimensions UNQUALIFIED16Asiya Javayant
1028Kaitlin Q BologniaGermany2026-08-17Chanay, Jeffrey A Esq PROPOSAL63Onyama Limba
1029Aika B CaldareraArgentina2026-08-20Feiner Bros NEGOTIATION69Bernardo Dominic
1030Arvin Y SlusarskiUnited Kingdom2026-08-21Feltz Printing Service RENEWAL44Amy Elsner
1031Juan Q RimJapan2026-08-05Rousseaux, Michael Esq NEW54Ioni Bowcher
1032Aika R OldroydGermany2026-08-18Truhlar And Truhlar Attys RENEWAL25Bernardo Dominic
1033Johnson Z AmigonFrance2026-08-01Buckley Miller Wright PROPOSAL8Bernardo Dominic
1034Aika M WieserSpain2026-08-01Morlong Associates RENEWAL74Onyama Limba
1035Maisha P PoquetteCanada2026-08-16Benton, John B Jr RENEWAL16Anna Fali
1036Darci U SchemmerSpain2026-08-26Truhlar And Truhlar Attys RENEWAL91Asiya Javayant
1037Isabel T MorascaAustralia2026-08-05Chanay, Jeffrey A Esq NEGOTIATION43Onyama Limba
1038Cody F FerenczUnited Kingdom2026-08-04Feiner Bros NEW31Amy Elsner
1039James X AmigonGermany2026-08-29King, Christopher A Esq NEGOTIATION56Ivan Magalhaes
1040Salvatore R PoquetteIndia2026-08-13Truhlar And Truhlar Attys UNQUALIFIED61Elwin Sharvill
1041Leja G InouyeSpain2026-08-03Chanay, Jeffrey A Esq NEGOTIATION8Onyama Limba
1042Julie V BologniaJapan2026-08-05Dorl, James J Esq PROPOSAL82Anna Fali
1043Jones W VenereAustralia2026-08-11Chemel, James L Cpa NEW60Stephen Shaw
1044Julie W ShinkoCanada2026-08-09Commercial Press UNQUALIFIED75Xuxue Feng
1045Costa D KolmetzFrance2026-08-22Rousseaux, Michael Esq NEW25Amy Elsner
1046Jeanfrancois W RulapaughRussia2026-08-21Truhlar And Truhlar Attys QUALIFIED87Asiya Javayant
1047Nicolas V MarrierSpain2026-08-18Benton, John B Jr NEGOTIATION89Bernardo Dominic
1048Ricardo C GlickJapan2026-08-15Feiner Bros NEGOTIATION82Anna Fali
1049Stacey Z WhobreyJapan2026-08-04Truhlar And Truhlar Attys NEGOTIATION60Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro X OldroydCanadaStephen Shaw PROPOSAL
Costa F IturbideCanadaIoni Bowcher NEW
Sinclair J WhobreySpainElwin Sharvill PROPOSAL
Misaki G StensethFranceStephen Shaw RENEWAL
Cody A MaletGermanyAnna Fali RENEWAL
Maria S ButtFranceBernardo Dominic QUALIFIED
Smith P SchemmerSpainAnna Fali PROPOSAL
Deepesh A CaudyIndiaXuxue Feng RENEWAL
Antonio Z SchemmerFranceBernardo Dominic PROPOSAL
Juan K MaletJapanAmy Elsner RENEWAL
Octavia Z FigeroaItalyStephen Shaw PROPOSAL
Morrow G TollnerFranceElwin Sharvill PROPOSAL
Deepesh Y FlosiJapanElwin Sharvill NEW
James S RutaUnited KingdomAmy Elsner NEW
Sinclair P ButtJapanElwin Sharvill UNQUALIFIED
Aditya V MorascaUnited KingdomIvan Magalhaes QUALIFIED
Cody B CampainJapanBernardo Dominic UNQUALIFIED
Adams F DoeItalyIoni Bowcher NEGOTIATION
Juan D WieserGermanyStephen Shaw QUALIFIED
Sinclair L GauchoAustraliaAnna Fali RENEWAL
Jefferson M PoquetteSpainXuxue Feng NEGOTIATION
Murillo M DarakjySpainIvan Magalhaes PROPOSAL
Jennifer W VenereAustraliaAnna Fali QUALIFIED
Jennifer V RulapaughRussiaIvan Magalhaes PROPOSAL
Jones R ShinkoRussiaAmy Elsner NEW
Ashley N RutaItalyBernardo Dominic RENEWAL
Francesco X CaldareraFranceXuxue Feng UNQUALIFIED
Tony F GillianItalyOnyama Limba PROPOSAL
Cody M WhobreyItalyAnna Fali PROPOSAL
Antonio F BologniaArgentinaAsiya Javayant NEW
Jefferson S FerenczItalyAmy Elsner NEGOTIATION
Greenwood K SergiRussiaElwin Sharvill NEGOTIATION
Maria N DoeArgentinaBernardo Dominic UNQUALIFIED
Deepesh J VenereJapanIoni Bowcher NEW
Isabel Z AmigonArgentinaStephen Shaw RENEWAL
Aika G GlickSpainAsiya Javayant PROPOSAL
Mujtaba S GarufiSpainAmy Elsner RENEWAL
Aditya L RoysterBrazilXuxue Feng NEW
Jefferson N VenereRussiaAsiya Javayant PROPOSAL
Murillo A CaldareraItalyStephen Shaw PROPOSAL
Jefferson S BriddickIndiaIoni Bowcher RENEWAL
Faith W DarakjyIndiaOnyama Limba PROPOSAL
Julie B FerenczIndiaAsiya Javayant NEGOTIATION
Izzy W PaprockiAustraliaBernardo Dominic PROPOSAL
Maisha N GarufiGermanyBernardo Dominic NEGOTIATION
Munro T MorascaFranceStephen Shaw RENEWAL
Izzy K ButtCanadaAnna Fali NEGOTIATION
Murillo A TollnerRussiaAsiya Javayant PROPOSAL
Sinclair G DilliardItalyAmy Elsner QUALIFIED
Aditya G WhobreyJapanElwin Sharvill QUALIFIED
Frozen Columns
Name
Mayumi O Wieser
Juan T Malet
Aika E Dilliard
Maisha R Ruta
Ricardo J Perin
Aditya D Maclead
Leja H Garufi
Ivar T Schemmer
Morrow L Chui
Kadeem W Stenseth
Emily R Malet
Munro Z Saylors
Leon A Malet
Claire N Bolognia
Costa L Poquette
Darci X Campain
Aruna V Oldroyd
Aruna H Campain
David S Ferencz
Juan N Venere
Stacey V Glick
Darci J Schemmer
Chavez E Morasca
Octavia I Inouye
Nicolas D Figeroa
Antonio D Maclead
Emily A Saylors
Ivar X Rim
Misaki L Waycott
Misaki M Chui
Jefferson O Saylors
Aruna H Bolognia
Mujtaba Z Venere
Aruna G Nicka
Cody R Nestle
Isabel Z Waycott
Johnson Y Dilliard
Smith M Poquette
Jefferson K Bolognia
Antonio D Schemmer
Salvatore F Gillian
Mujtaba Y Kolmetz
Ricardo W Ruta
Octavia S Ostrosky
Leon L Sergi
Costa B Ostrosky
Juan P Rim
Sinclair N Slusarski
Costa N Nicka
Tony Q Royster
IdCountryDate
1000Japan2026-08-06
1001France2026-08-26
1002Brazil2026-08-24
1003Italy2026-08-20
1004Germany2026-08-24
1005Japan2026-08-11
1006Australia2026-08-04
1007Italy2026-08-03
1008Japan2026-08-06
1009Italy2026-08-24
1010Japan2026-08-12
1011Brazil2026-08-23
1012United Kingdom2026-08-08
1013Germany2026-08-06
1014Russia2026-08-25
1015Brazil2026-08-14
1016India2026-08-15
1017Russia2026-08-02
1018Japan2026-08-24
1019Japan2026-08-05
1020France2026-07-31
1021Japan2026-08-09
1022Italy2026-08-22
1023Argentina2026-08-24
1024United Kingdom2026-08-04
1025Australia2026-08-07
1026Russia2026-08-04
1027Brazil2026-08-25
1028Argentina2026-08-17
1029Argentina2026-08-22
1030France2026-08-12
1031France2026-08-12
1032Russia2026-08-16
1033Brazil2026-08-23
1034Argentina2026-08-14
1035Japan2026-07-31
1036Brazil2026-08-01
1037France2026-08-26
1038United Kingdom2026-08-24
1039Canada2026-08-01
1040Russia2026-08-19
1041Russia2026-08-09
1042India2026-08-11
1043Canada2026-08-17
1044India2026-08-12
1045Australia2026-08-07
1046Russia2026-08-19
1047France2026-08-15
1048Spain2026-08-17
1049Canada2026-08-23

On-Demand Data

NameIdCountryDate
Stacey J Amigon1000Canada2026-08-14
Cody K Dilliard1001Russia2026-08-09
Rodrigues H Kusko1002Argentina2026-08-07
Costa J Caudy1003Argentina2026-08-24
Maria P Nestle1004Italy2026-08-22
Maisha M Marrier1005Germany2026-08-22
Francesco A Poquette1006Brazil2026-08-22
Sinclair H Bowley1007Australia2026-08-10
Costa S Albares1008Italy2026-08-07
Ashley W Tollner1009United Kingdom2026-08-25
Tony J Tollner1010Russia2026-08-28
Tony S Saylors1011Argentina2026-08-13
Maria H Rulapaugh1012Argentina2026-07-31
Kaitlin I Gaucho1013Canada2026-08-20
Salvatore Y Foller1014Brazil2026-08-16
Faith R Inouye1015Japan2026-08-12
Julie E Whobrey1016Australia2026-08-09
Costa M Butt1017Australia2026-08-16
Octavia J Morasca1018India2026-08-02
Aditya F Wieser1019Italy2026-08-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David S FollerArgentinaIvan Magalhaes NEGOTIATION
Sinclair B AlbaresGermanyOnyama Limba NEGOTIATION
Kadeem D WaycottUnited KingdomStephen Shaw PROPOSAL
Kaitlin H FlosiGermanyStephen Shaw QUALIFIED
Darci Z SergiGermanyXuxue Feng NEW
Deepesh H FigeroaFranceIoni Bowcher PROPOSAL
Octavia Y VenereGermanyStephen Shaw QUALIFIED
Cody S InouyeItalyIvan Magalhaes NEGOTIATION
Arvin G FollerIndiaBernardo Dominic RENEWAL
Jones F MaletItalyOnyama Limba RENEWAL
Juan W BriddickBrazilAmy Elsner UNQUALIFIED
Rodrigues W PaprockiSpainAnna Fali RENEWAL
Maria V BowleySpainXuxue Feng UNQUALIFIED
David J RoysterJapanStephen Shaw PROPOSAL
Aditya U RimItalyBernardo Dominic PROPOSAL
Maisha G IturbideCanadaOnyama Limba QUALIFIED
Ashley D CaldareraAustraliaIoni Bowcher NEGOTIATION
Cody E SlusarskiArgentinaAsiya Javayant QUALIFIED
Kadeem X PoquetteAustraliaXuxue Feng NEW
Jeanfrancois P KuskoRussiaBernardo Dominic NEGOTIATION
James V AmigonGermanyOnyama Limba NEW
Alejandro B MacleadCanadaAsiya Javayant RENEWAL
Cody O GlickCanadaIvan Magalhaes NEGOTIATION
Misaki F RoysterItalyAnna Fali NEW
Julie W CaldareraCanadaIvan Magalhaes QUALIFIED
Darci H ButtFranceElwin Sharvill UNQUALIFIED
Aika I WieserItalyOnyama Limba NEGOTIATION
Mujtaba P ShinkoAustraliaIvan Magalhaes NEGOTIATION
Aika N GarufiRussiaXuxue Feng NEGOTIATION
Costa C AlbaresBrazilOnyama Limba PROPOSAL
Chavez Y NestleFranceIvan Magalhaes PROPOSAL
Aditya W PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Emily U AmigonRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois G GillianArgentinaAmy Elsner RENEWAL
Munro P GarufiJapanAmy Elsner PROPOSAL
Octavia K AlbaresSpainStephen Shaw NEW
David O SlusarskiIndiaIoni Bowcher NEGOTIATION
Faith B OstroskyArgentinaAsiya Javayant QUALIFIED
Octavia C OstroskyCanadaAsiya Javayant NEGOTIATION
Mujtaba C OstroskyAustraliaBernardo Dominic 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>