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
Jones O IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Stacey M CaldareraJapanOnyama Limba UNQUALIFIED
Emily X KolmetzIndiaAsiya Javayant QUALIFIED
Silvio K SergiIndiaElwin Sharvill PROPOSAL
Isabel P RutaArgentinaElwin Sharvill RENEWAL
David W MacleadFranceBernardo Dominic RENEWAL
Darci N StensethBrazilXuxue Feng UNQUALIFIED
Johnson I PoquetteBrazilIoni Bowcher NEGOTIATION
Stacey P SchemmerRussiaXuxue Feng QUALIFIED
Octavia K SergiJapanAnna Fali RENEWAL
Maria F FlosiIndiaStephen Shaw RENEWAL
Morrow L TollnerItalyOnyama Limba NEW
Juan V ChuiSpainStephen Shaw NEGOTIATION
Ashley U TollnerAustraliaIoni Bowcher NEGOTIATION
Silvio H MacleadFranceAmy Elsner PROPOSAL
Chavez U MorascaIndiaBernardo Dominic RENEWAL
Faith A FollerGermanyAnna Fali RENEWAL
Stacey D PaprockiRussiaAnna Fali QUALIFIED
Francesco M DoeItalyAmy Elsner NEGOTIATION
Stacey I CaldareraSpainOnyama Limba PROPOSAL
Tony S KuskoSpainAmy Elsner RENEWAL
Silvio P GauchoSpainBernardo Dominic RENEWAL
Stacey P FerenczJapanStephen Shaw PROPOSAL
Chavez Y KuskoUnited KingdomXuxue Feng RENEWAL
Sinclair V NickaJapanIvan Magalhaes PROPOSAL
Nicolas U MaletRussiaBernardo Dominic QUALIFIED
Jeanfrancois W ButtFranceIvan Magalhaes NEW
Chavez A VenereBrazilElwin Sharvill PROPOSAL
Sinclair D VenereJapanStephen Shaw NEW
Leja I StockhamUnited KingdomXuxue Feng RENEWAL
Misaki J CampainIndiaIvan Magalhaes PROPOSAL
Johnson U TollnerSpainAmy Elsner NEW
Johnson Y KuskoItalyBernardo Dominic PROPOSAL
Aruna T GauchoRussiaIoni Bowcher QUALIFIED
Jeanfrancois S OstroskyBrazilBernardo Dominic QUALIFIED
Jeanfrancois F NestleArgentinaStephen Shaw RENEWAL
Chavez A StockhamJapanOnyama Limba UNQUALIFIED
Izzy Q RoysterUnited KingdomIoni Bowcher RENEWAL
Ashley R SaylorsJapanAmy Elsner UNQUALIFIED
Maria P VocelkaFranceXuxue Feng NEGOTIATION
David A WieserAustraliaAnna Fali NEGOTIATION
Smith B OstroskyFranceElwin Sharvill QUALIFIED
Rodrigues P MarrierAustraliaElwin Sharvill PROPOSAL
Deepesh E WieserUnited KingdomIoni Bowcher RENEWAL
Tony P InouyeUnited KingdomAsiya Javayant QUALIFIED
Izzy R BriddickFranceAmy Elsner NEGOTIATION
Misaki C ButtRussiaXuxue Feng PROPOSAL
Aika E RimBrazilAsiya Javayant RENEWAL
Ashley I IturbideItalyOnyama Limba RENEWAL
Faith N AmigonSpainAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Johnson V CaudySpainBernardo Dominic QUALIFIED
Maisha L WieserCanadaAsiya Javayant NEW
Maisha W FerenczJapanBernardo Dominic NEGOTIATION
Jones L MaletCanadaAmy Elsner NEGOTIATION
Wickens R MacleadSpainStephen Shaw PROPOSAL
Izzy M IturbideSpainAmy Elsner NEW
Jones B NestleGermanyStephen Shaw NEGOTIATION
Ricardo C CaudyJapanStephen Shaw UNQUALIFIED
Wickens F GarufiAustraliaOnyama Limba NEW
Wickens N StensethFranceStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez R SaylorsJapan2024-06-23Printing Dimensions RENEWAL10Bernardo Dominic
1001Johnson B PoquetteJapan2024-06-09Benton, John B Jr RENEWAL71Amy Elsner
1002Johnson Y DarakjyBrazil2024-06-21King, Christopher A Esq NEGOTIATION69Ioni Bowcher
1003Greenwood T BriddickGermany2024-06-01Commercial Press QUALIFIED58Ioni Bowcher
1004Silvio H NestleCanada2024-05-29Benton, John B Jr UNQUALIFIED31Elwin Sharvill
1005Aruna E BowleyArgentina2024-06-06King, Christopher A Esq PROPOSAL43Bernardo Dominic
1006Francesco C InouyeRussia2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED4Ioni Bowcher
1007Antonio F ButtArgentina2024-06-09King, Christopher A Esq NEW85Onyama Limba
1008Clifford E StockhamItaly2024-06-04Dorl, James J Esq UNQUALIFIED47Ivan Magalhaes
1009Rodrigues C SergiGermany2024-05-26Rousseaux, Michael Esq PROPOSAL36Elwin Sharvill
1010Greenwood A ButtIndia2024-06-20Chanay, Jeffrey A Esq QUALIFIED5Ioni Bowcher
1011Rodrigues C GlickSpain2024-06-16King, Christopher A Esq NEGOTIATION9Elwin Sharvill
1012Kadeem B DoeArgentina2024-06-21Rousseaux, Michael Esq QUALIFIED43Stephen Shaw
1013Juan I DilliardItaly2024-06-05Dorl, James J Esq PROPOSAL81Bernardo Dominic
1014Ashley W ShinkoUnited Kingdom2024-06-07Buckley Miller Wright NEGOTIATION8Stephen Shaw
1015Izzy F RulapaughBrazil2024-06-09Feltz Printing Service NEGOTIATION2Xuxue Feng
1016Maisha L GlickAustralia2024-05-27Rangoni Of Florence RENEWAL95Ioni Bowcher
1017Octavia R PerinItaly2024-06-21Dorl, James J Esq QUALIFIED91Asiya Javayant
1018Smith U AlbaresCanada2024-06-06Chemel, James L Cpa NEGOTIATION90Elwin Sharvill
1019Deepesh H ShinkoItaly2024-06-21Rangoni Of Florence RENEWAL81Onyama Limba
1020Antonio I FerenczUnited Kingdom2024-06-10Morlong Associates NEW56Ivan Magalhaes
1021Cody H GauchoItaly2024-06-07Morlong Associates RENEWAL65Asiya Javayant
1022Faith U GauchoCanada2024-06-03Rangoni Of Florence RENEWAL14Ioni Bowcher
1023Costa F RimAustralia2024-06-20Rangoni Of Florence NEW28Xuxue Feng
1024Nicolas M WhobreyJapan2024-06-12Commercial Press QUALIFIED34Stephen Shaw
1025Faith Z FerenczIndia2024-06-08Rangoni Of Florence NEGOTIATION36Ivan Magalhaes
1026Cody I DoeItaly2024-05-26Commercial Press PROPOSAL40Stephen Shaw
1027Jefferson D ChuiCanada2024-06-24Dorl, James J Esq RENEWAL42Stephen Shaw
1028Jennifer X GauchoFrance2024-06-23Chemel, James L Cpa QUALIFIED1Bernardo Dominic
1029Misaki V BologniaItaly2024-06-02King, Christopher A Esq NEW50Asiya Javayant
1030Johnson H GlickUnited Kingdom2024-06-01Rangoni Of Florence PROPOSAL41Bernardo Dominic
1031Antonio E PaprockiUnited Kingdom2024-06-13Morlong Associates PROPOSAL83Amy Elsner
1032Silvio X NestleSpain2024-06-15Benton, John B Jr NEW82Amy Elsner
1033Smith Y TollnerRussia2024-06-04Buckley Miller Wright RENEWAL37Amy Elsner
1034Mayumi Z ShinkoItaly2024-05-31Commercial Press NEGOTIATION27Ivan Magalhaes
1035Emily A PerinArgentina2024-06-13Dorl, James J Esq RENEWAL50Ioni Bowcher
1036Jennifer Z OstroskySpain2024-06-23Feiner Bros QUALIFIED85Onyama Limba
1037James J AmigonSpain2024-06-24Truhlar And Truhlar Attys NEGOTIATION33Amy Elsner
1038Octavia B MacleadUnited Kingdom2024-06-12Rousseaux, Michael Esq RENEWAL90Asiya Javayant
1039Juan L StockhamBrazil2024-06-10Chemel, James L Cpa NEW65Anna Fali
1040Smith R RutaGermany2024-06-08Printing Dimensions QUALIFIED25Amy Elsner
1041Kadeem S SlusarskiRussia2024-06-20Buckley Miller Wright UNQUALIFIED3Amy Elsner
1042Aruna Z RutaAustralia2024-06-07Chemel, James L Cpa QUALIFIED22Stephen Shaw
1043Sinclair N StensethUnited Kingdom2024-06-18Buckley Miller Wright PROPOSAL23Onyama Limba
1044Salvatore A GillianAustralia2024-06-01Feltz Printing Service QUALIFIED78Onyama Limba
1045Leon U WhobreyIndia2024-05-29Rousseaux, Michael Esq UNQUALIFIED24Stephen Shaw
1046Ivar G DarakjyBrazil2024-06-04Benton, John B Jr QUALIFIED48Amy Elsner
1047Ashley C BriddickSpain2024-06-18Commercial Press RENEWAL96Amy Elsner
1048Leja B DarakjyItaly2024-05-27Buckley Miller Wright PROPOSAL45Elwin Sharvill
1049Jefferson A StockhamCanada2024-06-11Printing Dimensions PROPOSAL78Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aruna Z PoquetteFranceBernardo Dominic PROPOSAL
Mujtaba J MaletUnited KingdomXuxue Feng NEGOTIATION
Aditya N ChuiGermanyOnyama Limba RENEWAL
Kadeem Z MaletSpainIvan Magalhaes NEGOTIATION
Francesco J NestleJapanIvan Magalhaes UNQUALIFIED
Aruna M TollnerGermanyIvan Magalhaes RENEWAL
Faith P NestleBrazilElwin Sharvill NEW
Kadeem N KolmetzRussiaBernardo Dominic QUALIFIED
Aruna K WhobreyBrazilOnyama Limba QUALIFIED
Aruna E CaldareraSpainOnyama Limba QUALIFIED
Kadeem J GarufiIndiaOnyama Limba UNQUALIFIED
Kaitlin I MarrierUnited KingdomAsiya Javayant PROPOSAL
Wickens U WhobreyJapanStephen Shaw UNQUALIFIED
Izzy W FerenczCanadaElwin Sharvill RENEWAL
Jones H DoeCanadaXuxue Feng NEW
Chavez E SchemmerArgentinaStephen Shaw NEGOTIATION
Morrow S RoysterAustraliaElwin Sharvill RENEWAL
Aika V KuskoJapanBernardo Dominic RENEWAL
James V TollnerFranceAmy Elsner RENEWAL
Leja E RimCanadaIoni Bowcher UNQUALIFIED
Chavez Z VenereCanadaIvan Magalhaes QUALIFIED
Kadeem Z KolmetzIndiaStephen Shaw NEGOTIATION
Maisha V KolmetzCanadaOnyama Limba UNQUALIFIED
Tony A GlickAustraliaOnyama Limba QUALIFIED
Kaitlin P OldroydCanadaAmy Elsner PROPOSAL
Darci K DoeIndiaStephen Shaw PROPOSAL
Julie P FlosiArgentinaXuxue Feng RENEWAL
Mujtaba T PaprockiUnited KingdomOnyama Limba QUALIFIED
James S PoquetteBrazilAnna Fali NEGOTIATION
Juan T WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Claire J DilliardItalyOnyama Limba RENEWAL
Deepesh F MaletArgentinaIoni Bowcher NEGOTIATION
Deepesh X FerenczCanadaAsiya Javayant PROPOSAL
Octavia D ChuiCanadaStephen Shaw QUALIFIED
Juan W MaletGermanyIoni Bowcher UNQUALIFIED
Ricardo W BriddickItalyAnna Fali QUALIFIED
Stacey Y ShinkoItalyElwin Sharvill UNQUALIFIED
Jones T CaldareraCanadaIoni Bowcher QUALIFIED
Faith I NickaIndiaIoni Bowcher UNQUALIFIED
Darci R SlusarskiGermanyElwin Sharvill NEGOTIATION
Munro Z WaycottJapanIoni Bowcher UNQUALIFIED
Clifford Y MaletAustraliaXuxue Feng NEGOTIATION
Maisha D RutaFranceElwin Sharvill UNQUALIFIED
Cody Y ShinkoJapanAmy Elsner PROPOSAL
Stacey C RoysterCanadaAnna Fali QUALIFIED
Leja U DoeRussiaIoni Bowcher NEGOTIATION
Clifford G FlosiJapanElwin Sharvill UNQUALIFIED
Maisha P FlosiBrazilStephen Shaw QUALIFIED
Darci E GarufiAustraliaAmy Elsner NEGOTIATION
Jones H SaylorsItalyBernardo Dominic PROPOSAL
Frozen Columns
Name
Salvatore P Venere
Maria D Poquette
Clifford K Caudy
Maria E Bolognia
Isabel G Gaucho
Adams Y Garufi
Rodrigues D Oldroyd
Julie F Flosi
Aditya Z Stockham
Isabel C Perin
Maria Y Nicka
Morrow N Iturbide
Munro N Maclead
Kadeem S Ferencz
Leja P Inouye
Aika W Royster
Rodrigues K Perin
Smith H Iturbide
Adams O Inouye
Arvin D Saylors
Deepesh F Marrier
David P Stenseth
David X Rim
Wickens D Slusarski
Aditya V Tollner
Isabel N Doe
Leon H Kolmetz
Jeanfrancois P Darakjy
David T Iturbide
Jeanfrancois K Maclead
Costa G Ruta
Faith L Venere
Salvatore T Butt
Rodrigues U Bowley
Costa G Figeroa
Juan H Maclead
Emily C Kolmetz
Kadeem V Perin
Jefferson K Briddick
Jennifer A Kolmetz
David T Whobrey
Adams D Foller
Kaitlin Q Slusarski
Maria H Perin
Stacey W Shinko
Morrow E Caldarera
Isabel E Malet
James V Ferencz
Aika V Garufi
Leja F Ostrosky
IdCountryDate
1000Japan2024-06-19
1001Germany2024-06-11
1002Canada2024-06-19
1003France2024-06-19
1004Italy2024-06-23
1005Germany2024-06-17
1006Australia2024-06-16
1007Japan2024-06-11
1008Australia2024-05-26
1009Australia2024-06-03
1010Argentina2024-05-26
1011Italy2024-06-01
1012Australia2024-06-17
1013Brazil2024-05-31
1014Argentina2024-06-14
1015Russia2024-06-11
1016United Kingdom2024-06-13
1017Japan2024-05-26
1018Argentina2024-06-02
1019Italy2024-06-23
1020United Kingdom2024-05-30
1021Russia2024-05-26
1022Australia2024-05-31
1023France2024-06-07
1024Brazil2024-06-20
1025United Kingdom2024-06-17
1026Japan2024-06-07
1027Germany2024-05-27
1028India2024-06-19
1029Canada2024-06-14
1030Germany2024-06-05
1031Russia2024-06-09
1032Argentina2024-06-01
1033France2024-06-09
1034Australia2024-06-20
1035Germany2024-06-11
1036France2024-06-08
1037Italy2024-05-27
1038Japan2024-05-30
1039Spain2024-06-10
1040United Kingdom2024-05-31
1041Brazil2024-06-01
1042United Kingdom2024-06-19
1043Japan2024-06-11
1044Argentina2024-05-26
1045Spain2024-06-05
1046Italy2024-06-10
1047India2024-06-18
1048Spain2024-06-19
1049India2024-06-11

On-Demand Data

NameIdCountryDate
Costa P Waycott1000Argentina2024-05-26
Mujtaba V Bowley1001Japan2024-06-22
Aruna H Foller1002Russia2024-06-08
Nicolas G Paprocki1003Russia2024-06-03
Faith M Sergi1004Russia2024-06-17
Ivar S Oldroyd1005Germany2024-05-28
Julie T Tollner1006Germany2024-06-23
Maisha W Foller1007Japan2024-06-20
Antonio F Flosi1008India2024-06-17
Morrow Y Paprocki1009Canada2024-06-11
Antonio L Nestle1010United Kingdom2024-05-31
Aika O Ruta1011Brazil2024-06-11
Maria E Bolognia1012Italy2024-05-28
Antonio Y Ferencz1013Spain2024-06-06
Morrow L Bowley1014Spain2024-06-07
Antonio P Chui1015United Kingdom2024-06-12
Morrow X Schemmer1016Japan2024-05-29
James S Gillian1017Russia2024-06-15
Emily P Butt1018Argentina2024-06-11
Chavez A Tollner1019United Kingdom2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy R DoeAustraliaElwin Sharvill QUALIFIED
Faith M PaprockiGermanyElwin Sharvill NEGOTIATION
Rodrigues D NestleArgentinaElwin Sharvill PROPOSAL
Kaitlin I VenereSpainAnna Fali RENEWAL
Misaki O KolmetzUnited KingdomAnna Fali PROPOSAL
Arvin H KuskoFranceStephen Shaw UNQUALIFIED
Wickens N VocelkaCanadaAmy Elsner QUALIFIED
Maisha W GarufiJapanAsiya Javayant NEGOTIATION
Johnson C NestleJapanAmy Elsner QUALIFIED
Mayumi D RoysterItalyAsiya Javayant UNQUALIFIED
Claire H FollerGermanyElwin Sharvill QUALIFIED
Maisha T GillianRussiaElwin Sharvill NEGOTIATION
Costa I ShinkoJapanStephen Shaw RENEWAL
Aditya R DilliardGermanyAnna Fali RENEWAL
Smith E GlickJapanElwin Sharvill RENEWAL
Mujtaba X GarufiAustraliaAnna Fali QUALIFIED
Leon H FigeroaCanadaStephen Shaw QUALIFIED
Munro D BologniaCanadaAmy Elsner NEGOTIATION
Murillo D ButtGermanyOnyama Limba UNQUALIFIED
Maisha L BriddickBrazilAmy Elsner PROPOSAL
Jones Y PerinRussiaIoni Bowcher RENEWAL
Alejandro Y BologniaFranceAmy Elsner UNQUALIFIED
Munro D CaldareraItalyIoni Bowcher RENEWAL
Smith Q MaletGermanyXuxue Feng PROPOSAL
David S RoysterCanadaBernardo Dominic PROPOSAL
Octavia C AmigonRussiaAsiya Javayant NEW
Kadeem T NickaAustraliaXuxue Feng RENEWAL
Salvatore K PerinItalyAsiya Javayant RENEWAL
Sinclair X SergiIndiaAmy Elsner QUALIFIED
Izzy W CampainCanadaAnna Fali NEGOTIATION
Nicolas Y NestleGermanyAsiya Javayant UNQUALIFIED
Juan V CaldareraItalyAnna Fali RENEWAL
Leja M StensethSpainStephen Shaw UNQUALIFIED
Adams D CaldareraIndiaIvan Magalhaes QUALIFIED
Cody R VocelkaRussiaXuxue Feng UNQUALIFIED
Misaki H OstroskyRussiaElwin Sharvill NEGOTIATION
Leja W RulapaughItalyBernardo Dominic QUALIFIED
Juan A ButtFranceBernardo Dominic NEW
Deepesh Z AlbaresBrazilElwin Sharvill QUALIFIED
Kadeem P SaylorsGermanyElwin Sharvill NEGOTIATION

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