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
Isabel M ButtGermanyAmy Elsner NEGOTIATION
Darci G MaletFranceAnna Fali UNQUALIFIED
Cody R RoysterGermanyStephen Shaw NEW
Nicolas X BriddickJapanOnyama Limba QUALIFIED
Deepesh J DilliardFranceIoni Bowcher NEW
Ashley A NickaIndiaElwin Sharvill QUALIFIED
Faith I MaletCanadaStephen Shaw PROPOSAL
Ricardo C NickaGermanyElwin Sharvill UNQUALIFIED
Morrow B BowleyItalyXuxue Feng PROPOSAL
Johnson Z GillianCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois N RutaIndiaOnyama Limba UNQUALIFIED
Nicolas W FerenczArgentinaElwin Sharvill QUALIFIED
Jones G MaletIndiaOnyama Limba RENEWAL
Greenwood A NestleArgentinaAmy Elsner UNQUALIFIED
James T PaprockiJapanIoni Bowcher QUALIFIED
Faith W StensethJapanAnna Fali QUALIFIED
Kaitlin V SlusarskiBrazilElwin Sharvill NEGOTIATION
Greenwood B WaycottFranceStephen Shaw PROPOSAL
Francesco H TollnerArgentinaAsiya Javayant NEGOTIATION
Kadeem G PaprockiCanadaStephen Shaw NEGOTIATION
Mayumi Q DoeRussiaAsiya Javayant NEGOTIATION
Silvio U SaylorsJapanStephen Shaw QUALIFIED
Octavia F VenereArgentinaElwin Sharvill PROPOSAL
Maisha D KuskoCanadaXuxue Feng RENEWAL
Isabel Q GlickFranceAmy Elsner NEGOTIATION
Ivar B WhobreyArgentinaXuxue Feng NEGOTIATION
Kaitlin K NestleAustraliaBernardo Dominic QUALIFIED
Wickens H BriddickUnited KingdomBernardo Dominic QUALIFIED
Deepesh L SergiCanadaIoni Bowcher UNQUALIFIED
Leon D FerenczFranceStephen Shaw PROPOSAL
Emily I DarakjyBrazilAmy Elsner NEGOTIATION
Leja J CaldareraUnited KingdomElwin Sharvill PROPOSAL
James M WaycottItalyXuxue Feng NEGOTIATION
Aditya P StockhamSpainBernardo Dominic NEW
Mayumi M FigeroaRussiaAsiya Javayant NEW
Darci O StensethSpainIoni Bowcher QUALIFIED
James M VenereItalyAmy Elsner NEGOTIATION
Salvatore O StockhamSpainStephen Shaw QUALIFIED
Salvatore R OstroskyArgentinaStephen Shaw NEW
Arvin L CaldareraRussiaAnna Fali NEGOTIATION
David Q SlusarskiItalyAsiya Javayant NEW
Octavia K OstroskyCanadaElwin Sharvill UNQUALIFIED
Faith R InouyeItalyIoni Bowcher QUALIFIED
Jefferson W CampainBrazilOnyama Limba UNQUALIFIED
Deepesh X CampainJapanXuxue Feng UNQUALIFIED
Arvin H AlbaresSpainElwin Sharvill RENEWAL
Sinclair M WaycottBrazilAnna Fali RENEWAL
Aruna B GarufiCanadaElwin Sharvill QUALIFIED
Faith I InouyeSpainIvan Magalhaes NEGOTIATION
Jennifer Q AlbaresUnited KingdomAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams X VocelkaRussiaOnyama Limba QUALIFIED
Ashley C MorascaSpainStephen Shaw PROPOSAL
Julie X WhobreyBrazilAnna Fali UNQUALIFIED
Chavez C RoysterAustraliaBernardo Dominic RENEWAL
Wickens B VenereCanadaAmy Elsner UNQUALIFIED
Arvin Q TollnerItalyIoni Bowcher PROPOSAL
Silvio E MaletSpainAsiya Javayant NEW
Leon M AlbaresGermanyAnna Fali RENEWAL
Chavez A PoquetteItalyBernardo Dominic UNQUALIFIED
Johnson Z DarakjyIndiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya T MaletFrance2025-04-28King, Christopher A Esq NEGOTIATION79Onyama Limba
1001Tony W WaycottAustralia2025-04-01King, Christopher A Esq PROPOSAL12Bernardo Dominic
1002Aditya A KolmetzAustralia2025-04-21Buckley Miller Wright UNQUALIFIED98Xuxue Feng
1003Jennifer O NestleItaly2025-04-13Chapman, Ross E Esq QUALIFIED80Onyama Limba
1004Kaitlin T StockhamGermany2025-04-21Rousseaux, Michael Esq QUALIFIED77Onyama Limba
1005Claire K FerenczJapan2025-04-10Feiner Bros NEGOTIATION73Asiya Javayant
1006David V MaletAustralia2025-04-12Truhlar And Truhlar Attys NEGOTIATION6Ioni Bowcher
1007Adams H MacleadItaly2025-04-19Feiner Bros NEGOTIATION32Elwin Sharvill
1008Wickens T FlosiJapan2025-04-29Chapman, Ross E Esq PROPOSAL32Stephen Shaw
1009Antonio D GlickAustralia2025-04-27Morlong Associates RENEWAL30Asiya Javayant
1010Tony O CampainItaly2025-04-29Morlong Associates QUALIFIED95Stephen Shaw
1011Aditya Q WieserFrance2025-04-15Chapman, Ross E Esq NEW60Amy Elsner
1012Darci N PaprockiBrazil2025-04-09Rangoni Of Florence NEGOTIATION51Onyama Limba
1013Sinclair M GlickArgentina2025-04-03Chapman, Ross E Esq NEGOTIATION26Ioni Bowcher
1014Juan Z KuskoSpain2025-04-12Truhlar And Truhlar Attys QUALIFIED76Stephen Shaw
1015Izzy M MorascaAustralia2025-04-24Commercial Press QUALIFIED27Bernardo Dominic
1016Nicolas L RoysterRussia2025-04-15Chemel, James L Cpa UNQUALIFIED66Ioni Bowcher
1017Claire E AlbaresUnited Kingdom2025-04-03Chapman, Ross E Esq RENEWAL57Asiya Javayant
1018Aditya V ShinkoSpain2025-04-24King, Christopher A Esq UNQUALIFIED2Ivan Magalhaes
1019Adams O RutaCanada2025-04-14Buckley Miller Wright RENEWAL4Asiya Javayant
1020Clifford S CaldareraFrance2025-04-11Feltz Printing Service RENEWAL10Asiya Javayant
1021Deepesh B GauchoJapan2025-04-11Dorl, James J Esq PROPOSAL50Amy Elsner
1022Kadeem M RutaCanada2025-04-06Rangoni Of Florence NEW53Onyama Limba
1023Johnson L DarakjyCanada2025-04-27Commercial Press NEW76Anna Fali
1024Alejandro T GarufiSpain2025-04-15Feiner Bros QUALIFIED65Asiya Javayant
1025Jeanfrancois F ShinkoSpain2025-04-27Dorl, James J Esq NEGOTIATION62Ioni Bowcher
1026Aika O CaldareraCanada2025-04-20Commercial Press RENEWAL10Onyama Limba
1027James B NestleFrance2025-04-14Morlong Associates QUALIFIED43Xuxue Feng
1028Clifford N GillianRussia2025-04-09Rangoni Of Florence NEGOTIATION33Ivan Magalhaes
1029Emily P MorascaJapan2025-04-15Benton, John B Jr NEGOTIATION51Ivan Magalhaes
1030David B RoysterArgentina2025-04-18Rangoni Of Florence QUALIFIED43Amy Elsner
1031Ashley Y WieserFrance2025-04-02Chapman, Ross E Esq NEGOTIATION17Stephen Shaw
1032Clifford F SaylorsCanada2025-04-12Printing Dimensions RENEWAL40Xuxue Feng
1033Maisha K DilliardCanada2025-04-04Commercial Press RENEWAL94Ioni Bowcher
1034Greenwood I RimRussia2025-04-25Printing Dimensions UNQUALIFIED9Anna Fali
1035Juan N StockhamUnited Kingdom2025-04-13Dorl, James J Esq PROPOSAL33Amy Elsner
1036Wickens Z GlickBrazil2025-04-05Chanay, Jeffrey A Esq NEGOTIATION75Anna Fali
1037Kaitlin W ButtGermany2025-04-20Rangoni Of Florence RENEWAL0Asiya Javayant
1038Cody U VocelkaIndia2025-04-05Buckley Miller Wright NEW80Stephen Shaw
1039Kaitlin L ChuiJapan2025-04-03Benton, John B Jr NEW3Onyama Limba
1040Tony Z RoysterIndia2025-04-15Printing Dimensions PROPOSAL62Ioni Bowcher
1041Leja Z CaldareraSpain2025-04-20Chanay, Jeffrey A Esq RENEWAL56Ioni Bowcher
1042Cody D OldroydGermany2025-04-23Commercial Press PROPOSAL0Xuxue Feng
1043Antonio W FlosiItaly2025-04-13Commercial Press NEW6Stephen Shaw
1044Clifford P ChuiCanada2025-04-11Dorl, James J Esq NEW63Stephen Shaw
1045David L GauchoArgentina2025-04-13King, Christopher A Esq QUALIFIED36Anna Fali
1046Sinclair S RulapaughFrance2025-04-16Chanay, Jeffrey A Esq RENEWAL3Ivan Magalhaes
1047James A BriddickUnited Kingdom2025-04-10Chapman, Ross E Esq NEW28Elwin Sharvill
1048Smith P MacleadRussia2025-04-30Rangoni Of Florence NEGOTIATION75Ioni Bowcher
1049Greenwood F ChuiBrazil2025-04-19Benton, John B Jr RENEWAL20Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas F CaldareraAustraliaIvan Magalhaes NEGOTIATION
Salvatore R StensethJapanElwin Sharvill NEGOTIATION
Murillo H SchemmerItalyStephen Shaw UNQUALIFIED
Faith F RoysterAustraliaIoni Bowcher NEW
Claire D OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Greenwood A DoeArgentinaElwin Sharvill NEW
Jones Y PaprockiIndiaElwin Sharvill UNQUALIFIED
Tony M BologniaIndiaAmy Elsner NEGOTIATION
James O WieserArgentinaOnyama Limba UNQUALIFIED
Francesco L PaprockiCanadaIoni Bowcher NEGOTIATION
Deepesh Z AmigonBrazilElwin Sharvill NEW
Izzy M FerenczIndiaOnyama Limba NEGOTIATION
Maisha A SlusarskiArgentinaIvan Magalhaes RENEWAL
Francesco E StockhamBrazilStephen Shaw QUALIFIED
Kaitlin D GlickGermanyStephen Shaw RENEWAL
Leon L DilliardRussiaXuxue Feng PROPOSAL
Aika H StockhamUnited KingdomAmy Elsner PROPOSAL
Aruna L DarakjyRussiaXuxue Feng PROPOSAL
Morrow P WhobreyAustraliaStephen Shaw RENEWAL
Darci V SergiArgentinaAsiya Javayant UNQUALIFIED
Silvio O BologniaCanadaOnyama Limba NEGOTIATION
Aruna B PaprockiIndiaIoni Bowcher QUALIFIED
Murillo C FollerFranceIvan Magalhaes NEW
Aditya N PaprockiCanadaBernardo Dominic NEW
Maria X RutaGermanyBernardo Dominic PROPOSAL
Antonio A AmigonBrazilOnyama Limba PROPOSAL
Jefferson S MacleadBrazilXuxue Feng PROPOSAL
Faith X AmigonItalyOnyama Limba RENEWAL
Aditya X CaudyItalyElwin Sharvill PROPOSAL
Johnson O DarakjyBrazilAnna Fali RENEWAL
Claire T TollnerCanadaXuxue Feng NEW
Greenwood Z SchemmerJapanXuxue Feng NEW
Chavez V MacleadCanadaIvan Magalhaes NEW
Antonio I CaldareraJapanAmy Elsner PROPOSAL
Jennifer X MorascaArgentinaOnyama Limba QUALIFIED
Murillo L SlusarskiCanadaElwin Sharvill PROPOSAL
Leon S ChuiSpainIoni Bowcher NEGOTIATION
Mujtaba B RutaItalyAmy Elsner UNQUALIFIED
Aruna E RulapaughFranceIoni Bowcher RENEWAL
Smith L StensethArgentinaXuxue Feng RENEWAL
Faith N ButtUnited KingdomOnyama Limba PROPOSAL
Rodrigues L DilliardFranceAmy Elsner PROPOSAL
Mujtaba J FollerJapanIoni Bowcher NEW
Ashley Q NestleGermanyAnna Fali QUALIFIED
Antonio M RutaJapanStephen Shaw PROPOSAL
Deepesh V BologniaRussiaBernardo Dominic QUALIFIED
Leon I WieserAustraliaAsiya Javayant PROPOSAL
Julie Y MaletCanadaIoni Bowcher NEW
Murillo Y RimRussiaOnyama Limba NEGOTIATION
Clifford N DilliardAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Alejandro Y Schemmer
Maria S Shinko
Francesco B Kolmetz
Stacey X Royster
Antonio B Foller
Tony J Whobrey
Izzy R Garufi
Mujtaba K Figeroa
Darci Y Rim
Murillo A Darakjy
Munro Q Ostrosky
Clifford Y Tollner
Francesco P Darakjy
Deepesh H Waycott
Murillo Y Venere
Claire S Gaucho
Leja T Butt
Alejandro V Malet
Maisha H Stockham
Silvio H Foller
Greenwood T Albares
James Z Bolognia
Jones I Stenseth
Clifford N Nestle
Ricardo P Rulapaugh
Antonio A Saylors
Sinclair E Nestle
Mujtaba Q Dilliard
Ivar S Stockham
Francesco A Marrier
Silvio W Shinko
Ashley Z Shinko
Mayumi Q Malet
James O Glick
Antonio D Gillian
Munro D Caldarera
Tony A Rim
Mayumi U Glick
Johnson A Kolmetz
Aika Y Bolognia
Kaitlin C Bolognia
Francesco L Doe
Antonio B Garufi
Faith S Darakjy
Juan E Albares
Jones T Ruta
Kaitlin E Saylors
Sinclair M Iturbide
Misaki L Kusko
Julie D Amigon
IdCountryDate
1000Spain2025-04-24
1001Argentina2025-04-08
1002France2025-04-23
1003Italy2025-04-07
1004Australia2025-04-01
1005India2025-04-29
1006France2025-04-24
1007Argentina2025-04-28
1008Japan2025-04-25
1009Canada2025-04-29
1010United Kingdom2025-04-09
1011France2025-04-04
1012Australia2025-04-19
1013Canada2025-04-22
1014Spain2025-04-16
1015Japan2025-04-25
1016India2025-04-09
1017Argentina2025-04-22
1018Japan2025-04-04
1019Brazil2025-04-13
1020Germany2025-04-25
1021United Kingdom2025-04-18
1022Russia2025-04-23
1023Spain2025-04-01
1024Japan2025-04-09
1025Brazil2025-04-22
1026Argentina2025-04-02
1027Russia2025-04-19
1028Spain2025-04-03
1029Italy2025-04-20
1030India2025-04-13
1031Argentina2025-04-28
1032United Kingdom2025-04-30
1033Russia2025-04-09
1034Germany2025-04-27
1035Argentina2025-04-10
1036United Kingdom2025-04-28
1037Brazil2025-04-24
1038Japan2025-04-11
1039Australia2025-04-25
1040Australia2025-04-28
1041Germany2025-04-18
1042Argentina2025-04-20
1043Germany2025-04-03
1044France2025-04-03
1045Italy2025-04-11
1046Italy2025-04-11
1047Japan2025-04-25
1048Australia2025-04-13
1049United Kingdom2025-04-29

On-Demand Data

NameIdCountryDate
Ashley T Paprocki1000Australia2025-04-11
Leja F Perin1001Australia2025-04-28
Nicolas C Stenseth1002India2025-04-18
Izzy W Kolmetz1003Russia2025-04-08
Aika J Paprocki1004France2025-04-25
Cody Z Venere1005Japan2025-04-26
Greenwood F Nestle1006Australia2025-04-09
Cody P Poquette1007Italy2025-04-01
Stacey Y Oldroyd1008Spain2025-04-22
Smith D Paprocki1009Argentina2025-04-29
Greenwood W Dilliard1010Italy2025-04-07
Morrow A Morasca1011Australia2025-04-09
Wickens F Stockham1012Japan2025-04-07
Cody R Stockham1013Russia2025-04-03
Octavia Q Perin1014Argentina2025-04-27
Morrow F Vocelka1015India2025-04-15
Sinclair Z Amigon1016Spain2025-04-26
Silvio H Perin1017Germany2025-04-08
Jones L Perin1018Argentina2025-04-07
Antonio B Ostrosky1019India2025-04-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha M BologniaSpainElwin Sharvill QUALIFIED
Isabel V OstroskyArgentinaBernardo Dominic NEW
Jefferson H BologniaCanadaBernardo Dominic NEGOTIATION
Jeanfrancois Z GarufiGermanyXuxue Feng UNQUALIFIED
Salvatore I WieserIndiaIoni Bowcher UNQUALIFIED
Johnson A CaldareraArgentinaAsiya Javayant NEW
Rodrigues B BologniaIndiaIoni Bowcher PROPOSAL
Kaitlin T GlickJapanAsiya Javayant UNQUALIFIED
Cody O AlbaresGermanyElwin Sharvill RENEWAL
Salvatore K WieserJapanStephen Shaw RENEWAL
Juan L KolmetzAustraliaElwin Sharvill UNQUALIFIED
Mayumi Y SergiRussiaOnyama Limba PROPOSAL
Sinclair D BriddickArgentinaOnyama Limba QUALIFIED
Sinclair D BologniaFranceXuxue Feng NEW
Rodrigues P StockhamCanadaBernardo Dominic UNQUALIFIED
Julie T MaletSpainAmy Elsner QUALIFIED
Antonio K KolmetzRussiaAmy Elsner NEGOTIATION
Arvin N AmigonItalyIvan Magalhaes RENEWAL
Cody E GillianArgentinaAsiya Javayant NEGOTIATION
Jefferson E PerinAustraliaXuxue Feng RENEWAL
Faith L PaprockiItalyAmy Elsner NEGOTIATION
Maria A ShinkoGermanyAsiya Javayant QUALIFIED
Silvio R OldroydGermanyElwin Sharvill NEW
Stacey O AmigonBrazilXuxue Feng NEGOTIATION
Claire Z OldroydSpainBernardo Dominic QUALIFIED
Misaki R GarufiRussiaIvan Magalhaes QUALIFIED
Ricardo O MaletRussiaIoni Bowcher NEGOTIATION
Mayumi P StockhamCanadaIvan Magalhaes QUALIFIED
Jones S MacleadAustraliaElwin Sharvill PROPOSAL
Aika R SaylorsBrazilElwin Sharvill QUALIFIED
Jones K DoeFranceOnyama Limba RENEWAL
Leja V AlbaresAustraliaIoni Bowcher UNQUALIFIED
Tony G DarakjyIndiaAsiya Javayant PROPOSAL
Aditya X CaudyRussiaAmy Elsner NEW
Misaki G AmigonSpainIoni Bowcher NEGOTIATION
Isabel I ButtArgentinaIoni Bowcher QUALIFIED
Aika P RimArgentinaAnna Fali UNQUALIFIED
Aditya L WhobreySpainStephen Shaw UNQUALIFIED
Izzy Y OstroskyCanadaStephen Shaw QUALIFIED
Mayumi J PaprockiJapanAnna Fali 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>