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
David H PerinUnited KingdomAnna Fali RENEWAL
Greenwood J PerinUnited KingdomElwin Sharvill NEW
Kaitlin U MarrierAustraliaElwin Sharvill NEGOTIATION
Leon W ChuiJapanXuxue Feng QUALIFIED
Izzy E GlickBrazilElwin Sharvill NEGOTIATION
Jones X ChuiIndiaAsiya Javayant UNQUALIFIED
James U MarrierRussiaElwin Sharvill NEW
Darci B DoeUnited KingdomIvan Magalhaes NEW
Emily A ChuiArgentinaIoni Bowcher QUALIFIED
Johnson C NestleCanadaIvan Magalhaes PROPOSAL
Faith S WieserArgentinaAsiya Javayant PROPOSAL
Jefferson P VenereBrazilXuxue Feng NEW
Murillo K CaldareraRussiaIvan Magalhaes NEW
Sinclair L MaletIndiaXuxue Feng PROPOSAL
Adams M InouyeSpainAmy Elsner RENEWAL
Faith O InouyeIndiaStephen Shaw RENEWAL
Costa B ButtGermanyXuxue Feng QUALIFIED
Sinclair I IturbideSpainXuxue Feng UNQUALIFIED
Johnson C RulapaughGermanyBernardo Dominic QUALIFIED
Aditya A OldroydCanadaAnna Fali NEGOTIATION
Nicolas J NickaSpainElwin Sharvill QUALIFIED
Smith I VenereItalyAnna Fali NEW
Cody G FollerArgentinaIoni Bowcher RENEWAL
Octavia R SchemmerBrazilXuxue Feng UNQUALIFIED
Deepesh M TollnerBrazilXuxue Feng NEW
Antonio C KolmetzBrazilStephen Shaw QUALIFIED
Octavia Y CaldareraGermanyOnyama Limba RENEWAL
Ivar U PerinGermanyStephen Shaw NEGOTIATION
Rodrigues Y SlusarskiArgentinaElwin Sharvill QUALIFIED
Juan X ChuiFranceIvan Magalhaes NEGOTIATION
Ivar O InouyeRussiaBernardo Dominic NEW
Francesco V WaycottBrazilIoni Bowcher NEGOTIATION
Mujtaba K AmigonBrazilAmy Elsner QUALIFIED
Adams T SchemmerSpainIoni Bowcher RENEWAL
Maria F NestleFranceAmy Elsner NEGOTIATION
Jennifer B GlickGermanyIvan Magalhaes UNQUALIFIED
Nicolas O MorascaRussiaStephen Shaw RENEWAL
Jones T RutaSpainAnna Fali QUALIFIED
James O GarufiBrazilIvan Magalhaes NEW
Kadeem R CaudyIndiaAmy Elsner QUALIFIED
Ricardo R OldroydAustraliaIoni Bowcher RENEWAL
Kaitlin J DoeFranceBernardo Dominic QUALIFIED
Cody Z AmigonRussiaOnyama Limba NEGOTIATION
Smith Y OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Johnson E BriddickItalyIvan Magalhaes RENEWAL
Silvio W OstroskyGermanyStephen Shaw NEW
Ashley Y NestleIndiaOnyama Limba RENEWAL
Ricardo X MorascaGermanyIoni Bowcher NEW
Maria H VocelkaGermanyOnyama Limba UNQUALIFIED
Clifford R TollnerJapanElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia P IturbideUnited KingdomAnna Fali PROPOSAL
Julie U MarrierCanadaXuxue Feng PROPOSAL
Rodrigues M FollerIndiaStephen Shaw UNQUALIFIED
Kaitlin Q NestleFranceIoni Bowcher PROPOSAL
Deepesh J WhobreyGermanyElwin Sharvill NEW
Stacey G DarakjyRussiaOnyama Limba PROPOSAL
Emily Y KolmetzUnited KingdomIoni Bowcher QUALIFIED
Kadeem M NestleUnited KingdomAnna Fali RENEWAL
Darci P GillianIndiaIvan Magalhaes RENEWAL
Cody R MarrierCanadaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio I AlbaresBrazil2024-05-28King, Christopher A Esq RENEWAL85Xuxue Feng
1001Maria Q DoeIndia2024-06-14Printing Dimensions NEGOTIATION52Bernardo Dominic
1002Chavez H PerinUnited Kingdom2024-06-03Dorl, James J Esq NEGOTIATION30Onyama Limba
1003Costa I TollnerBrazil2024-06-07Benton, John B Jr QUALIFIED30Ioni Bowcher
1004Octavia Z GlickAustralia2024-05-29Buckley Miller Wright QUALIFIED9Ivan Magalhaes
1005Salvatore M WhobreyBrazil2024-06-06Chemel, James L Cpa NEW69Elwin Sharvill
1006Salvatore O BowleyIndia2024-05-29Printing Dimensions NEGOTIATION65Onyama Limba
1007Mujtaba A GauchoAustralia2024-06-17Rousseaux, Michael Esq NEW25Asiya Javayant
1008Ashley K FigeroaFrance2024-06-13Printing Dimensions RENEWAL30Ioni Bowcher
1009Faith T TollnerCanada2024-05-20Chapman, Ross E Esq PROPOSAL5Amy Elsner
1010Deepesh J GillianArgentina2024-05-29Dorl, James J Esq PROPOSAL75Onyama Limba
1011Antonio O SlusarskiFrance2024-06-03Commercial Press RENEWAL25Anna Fali
1012Jefferson M CampainFrance2024-06-16Feiner Bros NEGOTIATION93Ioni Bowcher
1013Isabel W RoysterRussia2024-05-28Rousseaux, Michael Esq RENEWAL77Ivan Magalhaes
1014Izzy W FollerRussia2024-06-14King, Christopher A Esq PROPOSAL55Stephen Shaw
1015James T AmigonItaly2024-05-22Chemel, James L Cpa NEGOTIATION25Asiya Javayant
1016Kadeem Q WaycottJapan2024-06-12Truhlar And Truhlar Attys PROPOSAL50Asiya Javayant
1017David B AlbaresRussia2024-05-25Feiner Bros QUALIFIED22Ioni Bowcher
1018Leja C SaylorsUnited Kingdom2024-05-23Rousseaux, Michael Esq RENEWAL69Amy Elsner
1019Leja C ButtArgentina2024-05-24Buckley Miller Wright NEGOTIATION94Stephen Shaw
1020Stacey L BriddickSpain2024-06-02Commercial Press RENEWAL80Amy Elsner
1021Silvio G RutaIndia2024-05-23King, Christopher A Esq UNQUALIFIED60Asiya Javayant
1022Nicolas O AmigonRussia2024-06-15Feiner Bros QUALIFIED88Stephen Shaw
1023Maria X WaycottBrazil2024-06-17Buckley Miller Wright RENEWAL8Stephen Shaw
1024Jennifer V TollnerSpain2024-06-16Feiner Bros NEW23Bernardo Dominic
1025Julie C MaletJapan2024-06-16Benton, John B Jr NEGOTIATION59Stephen Shaw
1026Smith F SchemmerRussia2024-06-12Feiner Bros UNQUALIFIED36Stephen Shaw
1027Sinclair F CaldareraJapan2024-05-25Commercial Press NEGOTIATION3Bernardo Dominic
1028Ricardo G MacleadBrazil2024-05-22Dorl, James J Esq NEGOTIATION9Ivan Magalhaes
1029Octavia Z MorascaUnited Kingdom2024-05-31Feltz Printing Service UNQUALIFIED2Bernardo Dominic
1030Wickens G FerenczRussia2024-05-29Feiner Bros PROPOSAL44Stephen Shaw
1031Mujtaba C RulapaughFrance2024-06-13Printing Dimensions RENEWAL61Asiya Javayant
1032Jefferson P MarrierJapan2024-05-25Morlong Associates NEW89Amy Elsner
1033Mayumi W BriddickJapan2024-05-24Commercial Press NEGOTIATION65Asiya Javayant
1034Julie I OldroydJapan2024-06-17Buckley Miller Wright RENEWAL25Elwin Sharvill
1035Jones V MaletBrazil2024-05-29Feltz Printing Service RENEWAL11Stephen Shaw
1036Ricardo O DarakjyArgentina2024-06-03Benton, John B Jr RENEWAL9Ivan Magalhaes
1037Cody N GlickAustralia2024-06-06Feiner Bros RENEWAL82Asiya Javayant
1038Aditya D WhobreyArgentina2024-05-25King, Christopher A Esq UNQUALIFIED46Stephen Shaw
1039Clifford R GauchoBrazil2024-05-25King, Christopher A Esq QUALIFIED43Ioni Bowcher
1040Ivar A OldroydAustralia2024-05-20Feltz Printing Service PROPOSAL21Onyama Limba
1041Sinclair N StockhamAustralia2024-06-14King, Christopher A Esq PROPOSAL80Ioni Bowcher
1042Izzy T MarrierIndia2024-05-24Benton, John B Jr PROPOSAL70Elwin Sharvill
1043Francesco V RulapaughFrance2024-05-26Benton, John B Jr QUALIFIED42Ivan Magalhaes
1044Costa Y SaylorsGermany2024-06-04Chapman, Ross E Esq RENEWAL35Anna Fali
1045Mayumi U PerinArgentina2024-05-24Rangoni Of Florence UNQUALIFIED96Asiya Javayant
1046Francesco P RutaFrance2024-06-02Feiner Bros RENEWAL60Asiya Javayant
1047Maisha L StensethCanada2024-06-02Printing Dimensions NEW40Ivan Magalhaes
1048Kadeem S OldroydRussia2024-06-17Commercial Press RENEWAL59Ivan Magalhaes
1049Misaki H NestleFrance2024-06-09Commercial Press RENEWAL2Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leon A SchemmerIndiaStephen Shaw RENEWAL
Antonio B SergiAustraliaOnyama Limba RENEWAL
Francesco B SaylorsSpainElwin Sharvill PROPOSAL
Tony T AlbaresGermanyStephen Shaw RENEWAL
Costa M RulapaughCanadaAsiya Javayant QUALIFIED
Ivar B GarufiSpainElwin Sharvill RENEWAL
Aruna P AmigonUnited KingdomElwin Sharvill PROPOSAL
Munro K DoeRussiaIoni Bowcher QUALIFIED
Misaki P ShinkoCanadaAsiya Javayant RENEWAL
Ashley X DilliardBrazilElwin Sharvill QUALIFIED
Jennifer I BowleyRussiaAnna Fali UNQUALIFIED
Murillo D IturbideItalyBernardo Dominic NEW
Silvio Z RoysterBrazilElwin Sharvill NEGOTIATION
Mayumi T BowleyItalyOnyama Limba UNQUALIFIED
Jefferson O KuskoGermanyElwin Sharvill PROPOSAL
Salvatore O SchemmerRussiaStephen Shaw UNQUALIFIED
Costa J MaletRussiaIoni Bowcher UNQUALIFIED
Smith Z FigeroaGermanyXuxue Feng NEGOTIATION
Cody Q ShinkoItalyOnyama Limba NEGOTIATION
Sinclair Z MaletGermanyXuxue Feng QUALIFIED
Ricardo O RulapaughArgentinaBernardo Dominic QUALIFIED
Aika L GauchoCanadaIoni Bowcher PROPOSAL
Costa U RimUnited KingdomOnyama Limba RENEWAL
Izzy M StockhamGermanyOnyama Limba PROPOSAL
Jeanfrancois Y CaudyJapanElwin Sharvill PROPOSAL
Johnson X VenereAustraliaXuxue Feng QUALIFIED
Claire U OldroydFranceIvan Magalhaes NEW
Tony Y KuskoAustraliaBernardo Dominic PROPOSAL
Octavia W TollnerSpainAnna Fali NEGOTIATION
Tony L RutaArgentinaIvan Magalhaes UNQUALIFIED
Ivar U VocelkaCanadaXuxue Feng NEGOTIATION
Murillo K RimSpainXuxue Feng QUALIFIED
Misaki Z GauchoJapanAmy Elsner NEGOTIATION
Leja Z SlusarskiCanadaIoni Bowcher RENEWAL
Smith F RutaJapanIoni Bowcher RENEWAL
James S StockhamCanadaXuxue Feng RENEWAL
Leja Y TollnerIndiaElwin Sharvill RENEWAL
Tony Q FlosiItalyOnyama Limba NEW
Ricardo M IturbideIndiaAsiya Javayant NEGOTIATION
Johnson C CaudySpainXuxue Feng NEGOTIATION
Salvatore U CaudySpainIvan Magalhaes RENEWAL
Deepesh A ButtSpainOnyama Limba NEGOTIATION
Juan R TollnerUnited KingdomBernardo Dominic RENEWAL
Francesco S SchemmerBrazilElwin Sharvill NEGOTIATION
Faith Q DilliardAustraliaAsiya Javayant RENEWAL
Nicolas F AlbaresArgentinaBernardo Dominic PROPOSAL
Chavez Q RutaBrazilAsiya Javayant NEW
Ashley M ShinkoIndiaAnna Fali UNQUALIFIED
Leon G GarufiSpainIvan Magalhaes RENEWAL
James O DoeIndiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Adams G Amigon
Claire L Glick
Octavia J Slusarski
Salvatore Z Figeroa
Nicolas A Ruta
Costa N Royster
Stacey C Darakjy
Jefferson B Whobrey
Costa S Glick
Mayumi Z Stenseth
Tony V Stenseth
Sinclair J Kusko
Claire L Paprocki
Jennifer Q Briddick
Greenwood P Caldarera
Nicolas V Campain
Deepesh J Rulapaugh
Murillo J Wieser
Aditya C Doe
Kaitlin G Briddick
Maisha B Figeroa
Deepesh B Gillian
Silvio X Butt
Julie Y Paprocki
Tony W Glick
Tony O Amigon
Misaki U Royster
Tony D Glick
Rodrigues Y Darakjy
Costa M Ferencz
Aditya W Schemmer
Tony P Butt
Kaitlin D Ruta
Juan X Morasca
Johnson V Caldarera
Mayumi S Wieser
Francesco M Royster
Izzy B Bowley
Wickens A Butt
Deepesh C Waycott
Wickens E Dilliard
Silvio N Royster
Ivar C Wieser
Murillo A Royster
Cody C Slusarski
Kadeem P Ruta
Faith H Perin
Adams T Dilliard
Kadeem H Saylors
Claire G Waycott
IdCountryDate
1000Italy2024-05-22
1001Japan2024-05-29
1002Japan2024-06-15
1003United Kingdom2024-06-09
1004India2024-05-26
1005Russia2024-05-21
1006Australia2024-05-26
1007India2024-05-30
1008Australia2024-05-31
1009Russia2024-05-24
1010United Kingdom2024-06-11
1011Brazil2024-06-08
1012Russia2024-06-17
1013Canada2024-05-26
1014Russia2024-06-17
1015Brazil2024-06-07
1016Russia2024-05-25
1017Canada2024-06-02
1018Russia2024-06-10
1019France2024-05-20
1020Russia2024-06-10
1021Spain2024-05-29
1022India2024-05-28
1023Germany2024-05-24
1024Japan2024-05-28
1025Brazil2024-06-04
1026Argentina2024-06-09
1027Germany2024-06-08
1028Russia2024-05-24
1029Spain2024-05-30
1030Argentina2024-06-16
1031Russia2024-06-08
1032France2024-06-10
1033Japan2024-06-17
1034Germany2024-06-03
1035Japan2024-05-27
1036Russia2024-06-12
1037India2024-05-30
1038Japan2024-06-02
1039United Kingdom2024-06-05
1040Italy2024-06-17
1041France2024-05-30
1042Argentina2024-06-09
1043Italy2024-06-12
1044Russia2024-06-14
1045Japan2024-06-06
1046Australia2024-05-27
1047Brazil2024-06-13
1048Spain2024-05-27
1049France2024-05-20

On-Demand Data

NameIdCountryDate
Maria V Campain1000Canada2024-06-17
Adams U Whobrey1001Russia2024-06-09
Ashley H Tollner1002United Kingdom2024-06-09
Chavez F Morasca1003Russia2024-06-15
Aditya E Marrier1004Germany2024-06-18
Arvin B Inouye1005Spain2024-05-30
Jeanfrancois R Figeroa1006France2024-05-30
Darci Z Rulapaugh1007Germany2024-06-17
Francesco A Poquette1008India2024-06-05
Octavia A Garufi1009United Kingdom2024-06-13
Jeanfrancois B Oldroyd1010Italy2024-06-15
Deepesh K Kolmetz1011Spain2024-05-25
Emily O Vocelka1012Argentina2024-05-20
David Z Iturbide1013Germany2024-05-25
Johnson E Darakjy1014Russia2024-05-29
Wickens L Bolognia1015Canada2024-06-06
Aika S Butt1016Argentina2024-06-04
Aditya M Slusarski1017France2024-06-16
Silvio J Briddick1018Italy2024-06-08
Maria W Darakjy1019Japan2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey O SergiRussiaIoni Bowcher NEW
Adams L StockhamGermanyXuxue Feng QUALIFIED
Cody D BologniaGermanyAnna Fali NEGOTIATION
Darci F ShinkoRussiaOnyama Limba PROPOSAL
David N WhobreyCanadaAmy Elsner QUALIFIED
Wickens P KolmetzAustraliaStephen Shaw RENEWAL
Julie I InouyeUnited KingdomOnyama Limba UNQUALIFIED
Maisha P OstroskyGermanyIoni Bowcher PROPOSAL
Antonio P PaprockiItalyAmy Elsner QUALIFIED
Antonio B ChuiBrazilIoni Bowcher NEGOTIATION
Adams G SergiUnited KingdomElwin Sharvill PROPOSAL
Misaki P GillianItalyAnna Fali PROPOSAL
Leja P InouyeIndiaIvan Magalhaes QUALIFIED
Adams M PaprockiCanadaIvan Magalhaes UNQUALIFIED
James V RulapaughItalyBernardo Dominic PROPOSAL
Darci W AlbaresIndiaXuxue Feng UNQUALIFIED
Tony R SaylorsUnited KingdomElwin Sharvill PROPOSAL
Emily T KuskoIndiaAsiya Javayant PROPOSAL
Mujtaba F FerenczIndiaAsiya Javayant RENEWAL
James H ShinkoCanadaIvan Magalhaes NEW
Deepesh Z StockhamRussiaXuxue Feng QUALIFIED
Juan T InouyeItalyAmy Elsner QUALIFIED
James P GauchoAustraliaIvan Magalhaes NEGOTIATION
Wickens L MaletFranceAsiya Javayant RENEWAL
Jones M FerenczGermanyElwin Sharvill NEW
Stacey O RimIndiaAnna Fali RENEWAL
Clifford X RimJapanXuxue Feng QUALIFIED
Francesco N PaprockiItalyBernardo Dominic NEW
Clifford X GlickFranceAsiya Javayant NEGOTIATION
Stacey H StockhamRussiaOnyama Limba NEW
Antonio L KuskoCanadaIoni Bowcher UNQUALIFIED
Wickens R ShinkoArgentinaAmy Elsner PROPOSAL
Octavia A StockhamSpainAnna Fali NEGOTIATION
Aditya E VenereRussiaOnyama Limba RENEWAL
Darci V RutaFranceAsiya Javayant NEGOTIATION
David V RutaRussiaAsiya Javayant QUALIFIED
Deepesh K MorascaArgentinaOnyama Limba QUALIFIED
Leon Y FlosiSpainBernardo Dominic QUALIFIED
Maria J NestleBrazilOnyama Limba PROPOSAL
Greenwood H SaylorsBrazilElwin Sharvill UNQUALIFIED

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