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
Arvin R CaudyItalyXuxue Feng UNQUALIFIED
Costa W CaldareraGermanyBernardo Dominic QUALIFIED
Munro M FlosiArgentinaAsiya Javayant RENEWAL
Isabel M GauchoIndiaBernardo Dominic NEW
Mayumi H MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem B SaylorsBrazilElwin Sharvill QUALIFIED
Maisha C ShinkoRussiaAsiya Javayant QUALIFIED
Claire U StockhamRussiaAmy Elsner NEW
Maria Z CaldareraSpainIoni Bowcher UNQUALIFIED
Clifford O BowleyGermanyIoni Bowcher UNQUALIFIED
Costa M InouyeAustraliaAnna Fali QUALIFIED
Morrow D VocelkaJapanStephen Shaw RENEWAL
Kadeem Q GlickFranceBernardo Dominic QUALIFIED
Nicolas Z NestleRussiaStephen Shaw PROPOSAL
Leja E VenereAustraliaAnna Fali NEGOTIATION
Cody W WaycottAustraliaAnna Fali UNQUALIFIED
Ricardo Y MaletJapanAmy Elsner PROPOSAL
Kaitlin J BriddickCanadaStephen Shaw QUALIFIED
James U PoquetteBrazilAnna Fali NEGOTIATION
Aika J FlosiIndiaStephen Shaw NEW
Darci R RutaCanadaOnyama Limba RENEWAL
Emily B PerinSpainOnyama Limba QUALIFIED
Morrow I SaylorsFranceElwin Sharvill PROPOSAL
Chavez K MacleadArgentinaStephen Shaw NEW
Costa D FlosiIndiaAnna Fali QUALIFIED
Smith H RoysterJapanIvan Magalhaes RENEWAL
Izzy A WhobreyJapanAsiya Javayant NEW
Smith D MaletUnited KingdomBernardo Dominic NEGOTIATION
Aditya L InouyeRussiaBernardo Dominic UNQUALIFIED
Juan V GauchoUnited KingdomAnna Fali NEGOTIATION
Kaitlin Z StensethIndiaIoni Bowcher UNQUALIFIED
Ashley F FerenczGermanyAsiya Javayant NEW
Aditya W GillianUnited KingdomStephen Shaw NEGOTIATION
Jennifer Y WieserArgentinaIoni Bowcher RENEWAL
Octavia S MaletSpainXuxue Feng NEW
Jones W RulapaughFranceIvan Magalhaes UNQUALIFIED
Mujtaba B PaprockiJapanIvan Magalhaes NEGOTIATION
Maisha I CampainRussiaIoni Bowcher NEGOTIATION
Smith Q DoeIndiaIvan Magalhaes UNQUALIFIED
Mujtaba Q DilliardRussiaOnyama Limba NEGOTIATION
Francesco C SergiArgentinaStephen Shaw QUALIFIED
Darci R SlusarskiFranceAmy Elsner NEW
Aika A MorascaCanadaElwin Sharvill NEGOTIATION
Nicolas O RulapaughItalyBernardo Dominic UNQUALIFIED
Tony A NestleIndiaElwin Sharvill NEW
Aruna V AmigonArgentinaAmy Elsner UNQUALIFIED
Leja I TollnerCanadaAsiya Javayant NEGOTIATION
Antonio Z PoquetteBrazilElwin Sharvill NEGOTIATION
Izzy W StockhamIndiaOnyama Limba NEGOTIATION
Tony H MarrierUnited KingdomXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika K MaletJapanIvan Magalhaes PROPOSAL
Rodrigues Q FerenczBrazilAnna Fali RENEWAL
Izzy Q StensethGermanyBernardo Dominic UNQUALIFIED
Isabel A StensethSpainAnna Fali RENEWAL
Jennifer X RutaCanadaStephen Shaw RENEWAL
Salvatore M WhobreyIndiaXuxue Feng NEW
Kaitlin Q PaprockiFranceIvan Magalhaes RENEWAL
Maria G OldroydAustraliaXuxue Feng NEGOTIATION
Ivar K BowleyBrazilAnna Fali UNQUALIFIED
Rodrigues N ChuiJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna H FigeroaItaly2024-06-08Truhlar And Truhlar Attys NEW55Xuxue Feng
1001Cody D ShinkoArgentina2024-06-04Buckley Miller Wright NEW61Bernardo Dominic
1002Mayumi P RutaBrazil2024-06-18Chapman, Ross E Esq QUALIFIED91Stephen Shaw
1003Julie Z SchemmerGermany2024-06-21Chanay, Jeffrey A Esq NEW11Asiya Javayant
1004Juan K ButtBrazil2024-05-27Rangoni Of Florence UNQUALIFIED29Amy Elsner
1005Misaki C WhobreyAustralia2024-05-29Dorl, James J Esq RENEWAL45Onyama Limba
1006Clifford C PoquetteBrazil2024-06-18Chemel, James L Cpa RENEWAL39Onyama Limba
1007Sinclair O SaylorsJapan2024-05-28Feiner Bros UNQUALIFIED90Stephen Shaw
1008Julie D FigeroaArgentina2024-06-02Feltz Printing Service QUALIFIED46Xuxue Feng
1009Maisha P CampainFrance2024-06-06Feiner Bros NEW63Onyama Limba
1010Leon M AmigonArgentina2024-06-01Benton, John B Jr UNQUALIFIED82Asiya Javayant
1011Jefferson H StensethArgentina2024-06-10Rangoni Of Florence RENEWAL5Xuxue Feng
1012Julie S GarufiIndia2024-05-25Chapman, Ross E Esq PROPOSAL22Xuxue Feng
1013Julie H CampainCanada2024-06-13Benton, John B Jr QUALIFIED37Amy Elsner
1014Claire M SchemmerJapan2024-06-07Feltz Printing Service UNQUALIFIED62Onyama Limba
1015Julie D VenereJapan2024-06-09Feltz Printing Service NEGOTIATION94Stephen Shaw
1016Isabel O RoysterItaly2024-05-29Rangoni Of Florence PROPOSAL60Anna Fali
1017Jeanfrancois P GlickArgentina2024-06-09Commercial Press NEGOTIATION69Onyama Limba
1018Wickens N BologniaCanada2024-06-01Chanay, Jeffrey A Esq NEGOTIATION59Amy Elsner
1019Smith K NestleBrazil2024-06-21Buckley Miller Wright NEW33Asiya Javayant
1020Claire I PoquetteSpain2024-06-22King, Christopher A Esq UNQUALIFIED18Stephen Shaw
1021Costa X GillianCanada2024-06-01Printing Dimensions UNQUALIFIED44Stephen Shaw
1022Arvin U BriddickGermany2024-06-05Morlong Associates RENEWAL62Onyama Limba
1023Octavia T WaycottRussia2024-06-18Morlong Associates RENEWAL71Ivan Magalhaes
1024Silvio P CaudyItaly2024-06-10Morlong Associates NEW14Onyama Limba
1025Emily W ButtFrance2024-06-02Feltz Printing Service UNQUALIFIED54Ivan Magalhaes
1026Stacey K CampainIndia2024-06-16Printing Dimensions NEGOTIATION95Amy Elsner
1027Deepesh X ButtIndia2024-06-19Chapman, Ross E Esq NEW4Anna Fali
1028Emily U OstroskyBrazil2024-05-25Chemel, James L Cpa NEW96Ioni Bowcher
1029Costa J DilliardItaly2024-05-24Benton, John B Jr PROPOSAL6Ioni Bowcher
1030Salvatore P StensethItaly2024-05-29Chanay, Jeffrey A Esq NEW99Ioni Bowcher
1031Cody J OldroydJapan2024-06-13Chapman, Ross E Esq RENEWAL74Onyama Limba
1032David U WieserCanada2024-05-25Rangoni Of Florence UNQUALIFIED69Ioni Bowcher
1033Ivar S BowleyFrance2024-06-13Rangoni Of Florence PROPOSAL68Ivan Magalhaes
1034Emily I DoeGermany2024-06-07Dorl, James J Esq RENEWAL33Asiya Javayant
1035Nicolas U BowleyFrance2024-06-16Chemel, James L Cpa UNQUALIFIED97Amy Elsner
1036Jeanfrancois Z SaylorsFrance2024-05-28Morlong Associates UNQUALIFIED80Ioni Bowcher
1037Izzy I ShinkoJapan2024-06-11Morlong Associates NEW59Stephen Shaw
1038Maisha D RutaFrance2024-05-29Truhlar And Truhlar Attys NEW27Asiya Javayant
1039Cody B CampainRussia2024-05-30Benton, John B Jr RENEWAL27Asiya Javayant
1040David L OldroydSpain2024-06-11Morlong Associates RENEWAL95Bernardo Dominic
1041Misaki S KolmetzRussia2024-06-20Morlong Associates PROPOSAL39Xuxue Feng
1042Cody P MarrierUnited Kingdom2024-06-03Morlong Associates UNQUALIFIED76Anna Fali
1043Ashley N CaudyIndia2024-06-01Chemel, James L Cpa UNQUALIFIED35Bernardo Dominic
1044Antonio Z RoysterGermany2024-06-01Chapman, Ross E Esq UNQUALIFIED97Elwin Sharvill
1045Jones Y RimAustralia2024-06-01Chanay, Jeffrey A Esq RENEWAL95Anna Fali
1046Cody H PerinIndia2024-06-18Chapman, Ross E Esq PROPOSAL42Asiya Javayant
1047Morrow G GauchoRussia2024-06-11Chapman, Ross E Esq PROPOSAL12Asiya Javayant
1048Murillo F BowleyAustralia2024-06-16Rangoni Of Florence UNQUALIFIED30Ivan Magalhaes
1049Chavez F OstroskyUnited Kingdom2024-06-09Morlong Associates NEW14Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin D SaylorsIndiaAnna Fali QUALIFIED
Nicolas W NickaRussiaStephen Shaw PROPOSAL
Maisha H StensethGermanyXuxue Feng NEW
Jones E WaycottCanadaElwin Sharvill QUALIFIED
Arvin D MarrierItalyXuxue Feng NEGOTIATION
Morrow N WieserCanadaBernardo Dominic NEGOTIATION
Deepesh B SlusarskiJapanAmy Elsner PROPOSAL
Kaitlin V ButtFranceBernardo Dominic NEW
Rodrigues H DilliardJapanStephen Shaw NEGOTIATION
Chavez I RimIndiaIvan Magalhaes QUALIFIED
Jefferson D KuskoJapanStephen Shaw QUALIFIED
Leon W KolmetzJapanElwin Sharvill QUALIFIED
Adams U MaletFranceStephen Shaw UNQUALIFIED
Mujtaba K SaylorsRussiaIvan Magalhaes QUALIFIED
Tony W FerenczJapanXuxue Feng QUALIFIED
Faith F PoquetteGermanyAsiya Javayant NEGOTIATION
Misaki G NestleIndiaIoni Bowcher NEW
Johnson O CaudyAustraliaStephen Shaw QUALIFIED
Wickens A CampainArgentinaOnyama Limba NEW
Silvio C StensethJapanAsiya Javayant NEGOTIATION
Munro Z MorascaCanadaXuxue Feng NEGOTIATION
Alejandro V CaldareraJapanStephen Shaw NEW
Salvatore E TollnerSpainIoni Bowcher UNQUALIFIED
Mujtaba M MaletJapanAmy Elsner QUALIFIED
Leja V StockhamIndiaAsiya Javayant PROPOSAL
James M GillianGermanyElwin Sharvill RENEWAL
Leon K RimFranceAmy Elsner PROPOSAL
Kaitlin X InouyeSpainAmy Elsner NEW
Costa K SergiGermanyAsiya Javayant QUALIFIED
Adams B NestleRussiaOnyama Limba PROPOSAL
Juan L SchemmerJapanAnna Fali RENEWAL
Leon V BriddickArgentinaXuxue Feng RENEWAL
Johnson J SergiBrazilBernardo Dominic NEW
Smith K GarufiBrazilAnna Fali RENEWAL
Antonio I SergiArgentinaElwin Sharvill PROPOSAL
Rodrigues M SergiFranceOnyama Limba PROPOSAL
Octavia F AlbaresSpainStephen Shaw UNQUALIFIED
Ashley H WaycottAustraliaXuxue Feng QUALIFIED
Salvatore G DoeSpainOnyama Limba NEW
Kadeem X RulapaughIndiaStephen Shaw PROPOSAL
Jones Z BologniaGermanyAmy Elsner NEW
Jones Z VocelkaCanadaAsiya Javayant RENEWAL
Claire Z PaprockiAustraliaAnna Fali RENEWAL
Francesco Q SergiArgentinaStephen Shaw NEGOTIATION
Kadeem R StockhamItalyStephen Shaw NEW
Mujtaba U TollnerBrazilAmy Elsner NEW
Jefferson K FigeroaUnited KingdomOnyama Limba RENEWAL
Isabel M MaletBrazilOnyama Limba NEW
Alejandro R BologniaJapanAmy Elsner NEGOTIATION
Francesco M MaletCanadaStephen Shaw RENEWAL
Frozen Columns
Name
Silvio N Butt
Isabel Z Saylors
Ashley V Campain
Octavia Q Nicka
Kaitlin T Stenseth
Deepesh H Campain
Chavez G Stenseth
Wickens A Sergi
Aruna T Rulapaugh
Stacey A Albares
Aika B Rim
Maria H Bowley
Stacey Z Inouye
Leja A Caudy
Juan Q Venere
Tony C Flosi
Antonio M Perin
Mujtaba J Ruta
Nicolas A Maclead
Sinclair H Darakjy
Stacey B Iturbide
Rodrigues M Sergi
Ashley R Briddick
Ivar V Maclead
Sinclair H Darakjy
Morrow C Bowley
Cody Z Rim
Wickens W Malet
Jefferson L Whobrey
Misaki Z Iturbide
Leon J Bowley
Jefferson M Ferencz
Stacey E Campain
Clifford F Albares
Julie L Butt
Aika I Rulapaugh
Leja D Albares
David J Caldarera
Maisha G Whobrey
Jefferson B Sergi
Adams H Whobrey
Salvatore C Figeroa
Murillo F Butt
Aruna V Morasca
Silvio W Morasca
Greenwood O Oldroyd
Chavez O Maclead
Antonio P Glick
Leon D Paprocki
Ashley Q Figeroa
IdCountryDate
1000Spain2024-06-16
1001Germany2024-05-30
1002Spain2024-06-06
1003Canada2024-06-14
1004United Kingdom2024-05-26
1005Germany2024-06-04
1006Japan2024-06-21
1007Japan2024-05-24
1008Brazil2024-06-15
1009Argentina2024-05-29
1010Spain2024-05-26
1011Russia2024-06-05
1012United Kingdom2024-06-06
1013France2024-06-06
1014Brazil2024-06-09
1015Italy2024-05-24
1016Russia2024-06-12
1017Argentina2024-06-14
1018Canada2024-06-08
1019Italy2024-05-25
1020Russia2024-06-03
1021Spain2024-05-27
1022Brazil2024-06-01
1023Germany2024-05-30
1024Canada2024-06-17
1025India2024-06-14
1026Argentina2024-06-19
1027United Kingdom2024-06-09
1028Canada2024-06-02
1029Italy2024-06-06
1030United Kingdom2024-05-30
1031Canada2024-06-07
1032Canada2024-05-26
1033Spain2024-06-09
1034Germany2024-06-16
1035Spain2024-05-27
1036Germany2024-06-14
1037Brazil2024-06-02
1038France2024-06-16
1039Spain2024-06-14
1040Spain2024-05-29
1041France2024-06-10
1042Russia2024-06-03
1043Brazil2024-06-05
1044Australia2024-05-31
1045Italy2024-06-17
1046France2024-05-25
1047Canada2024-06-07
1048India2024-06-10
1049Italy2024-05-30

On-Demand Data

NameIdCountryDate
Alejandro R Nestle1000Russia2024-06-10
Ashley C Iturbide1001Australia2024-06-09
Claire Y Slusarski1002Germany2024-06-04
David W Flosi1003Spain2024-06-11
Aika Y Maclead1004France2024-06-04
Clifford B Perin1005Japan2024-06-17
Aruna L Stenseth1006Japan2024-06-10
Isabel Q Poquette1007United Kingdom2024-06-21
Adams O Shinko1008Spain2024-06-12
Deepesh U Kusko1009France2024-06-02
Antonio O Whobrey1010Spain2024-06-20
Costa X Butt1011Germany2024-06-03
Deepesh K Wieser1012India2024-05-28
Misaki Y Saylors1013Argentina2024-06-05
Jennifer D Darakjy1014Russia2024-06-20
Stacey S Waycott1015Italy2024-06-03
Stacey C Bowley1016Germany2024-06-02
Antonio E Sergi1017Brazil2024-06-16
Izzy Q Poquette1018France2024-05-26
Salvatore M Kolmetz1019Japan2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna W MaletGermanyStephen Shaw NEW
Misaki U CaudyJapanAsiya Javayant PROPOSAL
Sinclair O SergiArgentinaAnna Fali QUALIFIED
Jeanfrancois S WieserItalyAnna Fali UNQUALIFIED
Nicolas Y SchemmerAustraliaAmy Elsner NEGOTIATION
Sinclair F GlickIndiaElwin Sharvill QUALIFIED
Jefferson R WaycottUnited KingdomAsiya Javayant NEW
Tony P FollerJapanIoni Bowcher RENEWAL
Kadeem I PaprockiArgentinaXuxue Feng PROPOSAL
Claire S WaycottRussiaOnyama Limba PROPOSAL
Leja D CaudyIndiaXuxue Feng PROPOSAL
Francesco P GlickSpainAsiya Javayant NEGOTIATION
Alejandro I MacleadJapanAsiya Javayant NEW
Deepesh U AmigonBrazilIoni Bowcher UNQUALIFIED
Ashley H FerenczItalyOnyama Limba UNQUALIFIED
Julie S FerenczCanadaAnna Fali NEW
Sinclair Y BologniaFranceIvan Magalhaes RENEWAL
Stacey I DarakjyArgentinaElwin Sharvill NEW
Chavez B MarrierSpainOnyama Limba PROPOSAL
Ivar E AmigonFranceStephen Shaw NEGOTIATION
Stacey M StockhamItalyAmy Elsner PROPOSAL
Misaki P MacleadFranceOnyama Limba UNQUALIFIED
Ashley X BowleyJapanAnna Fali UNQUALIFIED
Aruna Q MarrierJapanIoni Bowcher UNQUALIFIED
Chavez B MorascaUnited KingdomAnna Fali RENEWAL
Chavez J MacleadFranceBernardo Dominic PROPOSAL
Deepesh H RoysterAustraliaIvan Magalhaes QUALIFIED
Morrow A FollerJapanIvan Magalhaes NEGOTIATION
Chavez S StockhamRussiaIvan Magalhaes NEW
Izzy B CaldareraAustraliaAsiya Javayant PROPOSAL
Munro Q GlickJapanBernardo Dominic RENEWAL
Aruna I SchemmerGermanyIvan Magalhaes NEGOTIATION
Izzy I SlusarskiJapanIoni Bowcher NEW
Jeanfrancois I MarrierSpainXuxue Feng UNQUALIFIED
Leja H GarufiFranceAsiya Javayant RENEWAL
Misaki H RimFranceElwin Sharvill RENEWAL
Isabel Y RimRussiaStephen Shaw NEGOTIATION
Leon W OldroydArgentinaOnyama Limba UNQUALIFIED
Kadeem O MaletCanadaIoni Bowcher UNQUALIFIED
Maisha A RutaGermanyIoni Bowcher 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>