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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Tony K IturbideFranceAsiya Javayant PROPOSAL
Misaki J KolmetzBrazilIoni Bowcher UNQUALIFIED
Murillo H SchemmerItalyIvan Magalhaes UNQUALIFIED
David G RimBrazilXuxue Feng NEW
Nicolas W RoysterIndiaStephen Shaw PROPOSAL
Mujtaba G NickaFranceXuxue Feng NEW
Izzy N PaprockiBrazilElwin Sharvill UNQUALIFIED
Chavez V InouyeSpainAnna Fali RENEWAL
Aditya W AlbaresItalyBernardo Dominic PROPOSAL
Francesco V CaudyCanadaIoni Bowcher PROPOSAL
Cody Z AlbaresSpainStephen Shaw NEGOTIATION
Munro H DilliardAustraliaIoni Bowcher QUALIFIED
Clifford P ChuiUnited KingdomXuxue Feng QUALIFIED
Aruna U CaldareraCanadaAmy Elsner PROPOSAL
Kadeem I GillianRussiaAmy Elsner PROPOSAL
Misaki X FerenczAustraliaStephen Shaw PROPOSAL
Ashley P GauchoIndiaOnyama Limba UNQUALIFIED
Jennifer H AlbaresJapanOnyama Limba NEGOTIATION
Claire Z WhobreyGermanyAnna Fali PROPOSAL
Salvatore G DoeSpainXuxue Feng NEW
Costa K ShinkoSpainElwin Sharvill RENEWAL
Misaki S BologniaAustraliaElwin Sharvill UNQUALIFIED
Adams B DarakjyAustraliaOnyama Limba NEGOTIATION
Stacey B MacleadSpainElwin Sharvill NEGOTIATION
Smith X FlosiItalyStephen Shaw PROPOSAL
Mayumi A DarakjyItalyAsiya Javayant NEGOTIATION
Maria Y MarrierAustraliaAmy Elsner NEGOTIATION
Nicolas A MaletCanadaAmy Elsner PROPOSAL
Kadeem U GillianFranceElwin Sharvill NEGOTIATION
Nicolas I CampainItalyOnyama Limba QUALIFIED
Antonio C WieserFranceAsiya Javayant RENEWAL
Alejandro D CaudyBrazilAnna Fali PROPOSAL
Juan A IturbideUnited KingdomStephen Shaw PROPOSAL
Julie Y BowleyRussiaBernardo Dominic NEGOTIATION
Octavia O FigeroaBrazilBernardo Dominic UNQUALIFIED
Adams M BriddickGermanyIvan Magalhaes UNQUALIFIED
Silvio M FlosiIndiaOnyama Limba PROPOSAL
James Q WaycottCanadaIvan Magalhaes RENEWAL
Salvatore H WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Aditya Y GillianArgentinaIoni Bowcher QUALIFIED
Smith W VocelkaUnited KingdomAnna Fali NEW
Clifford X VenereBrazilStephen Shaw NEGOTIATION
Misaki Z MorascaUnited KingdomBernardo Dominic NEGOTIATION
Chavez N BologniaItalyIoni Bowcher RENEWAL
Mayumi X OstroskyBrazilElwin Sharvill QUALIFIED
Kaitlin Z AmigonSpainIvan Magalhaes UNQUALIFIED
Stacey Z PaprockiIndiaAmy Elsner QUALIFIED
Leon N WaycottFranceOnyama Limba NEGOTIATION
Stacey V PoquetteArgentinaStephen Shaw NEW
Francesco J WieserBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria P CaudyArgentinaStephen Shaw NEGOTIATION
Adams T BriddickIndiaXuxue Feng RENEWAL
Antonio J KuskoSpainAsiya Javayant NEGOTIATION
Izzy Q VenereGermanyStephen Shaw NEW
Ashley F IturbideItalyStephen Shaw PROPOSAL
Leon Z DoeGermanyAmy Elsner RENEWAL
Misaki F SaylorsJapanOnyama Limba NEW
Jennifer J FollerFranceXuxue Feng NEW
Mujtaba P AlbaresFranceBernardo Dominic RENEWAL
Jones W WaycottFranceAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams J RutaGermany2025-06-29Morlong Associates RENEWAL29Asiya Javayant
1001Salvatore O RoysterArgentina2025-06-11Feltz Printing Service UNQUALIFIED55Onyama Limba
1002Jeanfrancois K StensethArgentina2025-06-04Dorl, James J Esq PROPOSAL50Asiya Javayant
1003Misaki X OldroydFrance2025-06-08Chanay, Jeffrey A Esq PROPOSAL7Xuxue Feng
1004Claire B WaycottCanada2025-06-12Chanay, Jeffrey A Esq NEW35Xuxue Feng
1005Cody B BriddickUnited Kingdom2025-06-09King, Christopher A Esq NEGOTIATION69Stephen Shaw
1006Johnson O StensethRussia2025-06-18Benton, John B Jr QUALIFIED5Onyama Limba
1007Munro A MarrierCanada2025-06-28Chemel, James L Cpa RENEWAL68Ivan Magalhaes
1008Ashley E TollnerSpain2025-06-18Commercial Press UNQUALIFIED48Ioni Bowcher
1009Ashley Q PaprockiCanada2025-06-13Benton, John B Jr NEGOTIATION74Ivan Magalhaes
1010Greenwood G SaylorsCanada2025-06-07King, Christopher A Esq NEGOTIATION63Bernardo Dominic
1011Greenwood Z StockhamCanada2025-06-28Dorl, James J Esq NEW9Stephen Shaw
1012Stacey V SergiFrance2025-06-26Chemel, James L Cpa UNQUALIFIED35Elwin Sharvill
1013Johnson U NickaCanada2025-06-23Rangoni Of Florence QUALIFIED23Stephen Shaw
1014Aika M IturbideSpain2025-06-14Morlong Associates RENEWAL75Asiya Javayant
1015Jeanfrancois I KuskoIndia2025-06-13Morlong Associates NEW83Ivan Magalhaes
1016Leon Q MorascaAustralia2025-06-14Commercial Press PROPOSAL47Ivan Magalhaes
1017Ricardo P KuskoSpain2025-06-10Rousseaux, Michael Esq RENEWAL42Onyama Limba
1018Ivar I ButtRussia2025-06-26Buckley Miller Wright RENEWAL94Asiya Javayant
1019Claire C NestleFrance2025-06-03Truhlar And Truhlar Attys RENEWAL8Stephen Shaw
1020Aika Y CampainBrazil2025-06-23Dorl, James J Esq UNQUALIFIED19Amy Elsner
1021Leon X MorascaIndia2025-06-28Chemel, James L Cpa QUALIFIED53Amy Elsner
1022Munro A WaycottGermany2025-06-14Buckley Miller Wright RENEWAL57Anna Fali
1023Morrow R ShinkoItaly2025-06-07King, Christopher A Esq UNQUALIFIED54Anna Fali
1024Ashley I GlickIndia2025-06-20Buckley Miller Wright NEW27Elwin Sharvill
1025Jeanfrancois B WhobreyUnited Kingdom2025-06-09Chemel, James L Cpa NEGOTIATION2Elwin Sharvill
1026Jeanfrancois I RulapaughItaly2025-06-16Rangoni Of Florence QUALIFIED62Ioni Bowcher
1027Silvio X SaylorsGermany2025-06-21Buckley Miller Wright UNQUALIFIED26Ivan Magalhaes
1028Morrow H DoeAustralia2025-06-16Chapman, Ross E Esq RENEWAL50Asiya Javayant
1029Mujtaba E GlickBrazil2025-06-21Chemel, James L Cpa NEW37Elwin Sharvill
1030Ivar B MaletUnited Kingdom2025-06-06Chapman, Ross E Esq QUALIFIED7Stephen Shaw
1031Aditya P FerenczIndia2025-06-29Dorl, James J Esq NEW27Stephen Shaw
1032Jennifer W GillianIndia2025-06-01Feiner Bros UNQUALIFIED98Asiya Javayant
1033Francesco Y GillianCanada2025-06-28Printing Dimensions NEGOTIATION28Asiya Javayant
1034Murillo G WaycottRussia2025-06-28Buckley Miller Wright QUALIFIED47Elwin Sharvill
1035Arvin O MorascaFrance2025-06-16Commercial Press NEGOTIATION68Onyama Limba
1036Claire A MorascaGermany2025-06-01Commercial Press PROPOSAL38Xuxue Feng
1037Emily H VocelkaJapan2025-06-02Printing Dimensions RENEWAL57Stephen Shaw
1038Nicolas A RoysterRussia2025-06-02Truhlar And Truhlar Attys QUALIFIED66Ioni Bowcher
1039Sinclair Q InouyeGermany2025-06-05Morlong Associates RENEWAL9Bernardo Dominic
1040Costa K OldroydItaly2025-06-27Morlong Associates PROPOSAL42Xuxue Feng
1041Mayumi Q GlickIndia2025-06-15King, Christopher A Esq QUALIFIED95Anna Fali
1042Juan X WieserCanada2025-06-22Buckley Miller Wright UNQUALIFIED13Xuxue Feng
1043Ricardo D RimAustralia2025-06-09Chemel, James L Cpa QUALIFIED85Asiya Javayant
1044Kaitlin U RutaAustralia2025-06-04Chanay, Jeffrey A Esq UNQUALIFIED48Onyama Limba
1045Octavia Y CampainIndia2025-06-10Feiner Bros NEGOTIATION5Stephen Shaw
1046David R DoeJapan2025-06-20Benton, John B Jr QUALIFIED50Ioni Bowcher
1047Alejandro W BriddickGermany2025-06-01Morlong Associates QUALIFIED70Onyama Limba
1048Ricardo T PaprockiCanada2025-06-12Rousseaux, Michael Esq PROPOSAL51Elwin Sharvill
1049Izzy O KolmetzBrazil2025-06-09Buckley Miller Wright NEGOTIATION42Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jones L GauchoFranceBernardo Dominic NEW
Rodrigues Z StockhamCanadaXuxue Feng RENEWAL
Ashley U InouyeAustraliaOnyama Limba NEGOTIATION
Wickens T BowleyItalyAmy Elsner NEGOTIATION
Jeanfrancois W CampainBrazilOnyama Limba QUALIFIED
Adams A BowleyFranceIvan Magalhaes UNQUALIFIED
Kaitlin Y BologniaArgentinaAnna Fali UNQUALIFIED
Maisha F TollnerFranceAmy Elsner NEGOTIATION
Aika B BriddickAustraliaIvan Magalhaes NEW
Ricardo J MaletItalyXuxue Feng NEGOTIATION
Claire D DilliardJapanStephen Shaw NEGOTIATION
Munro E VocelkaIndiaOnyama Limba RENEWAL
Kadeem C BriddickRussiaOnyama Limba QUALIFIED
Chavez L SergiIndiaIvan Magalhaes NEW
Leja E GauchoArgentinaAsiya Javayant UNQUALIFIED
Deepesh Q IturbideItalyAnna Fali RENEWAL
Maria L ShinkoItalyIoni Bowcher QUALIFIED
Johnson I FerenczAustraliaIvan Magalhaes UNQUALIFIED
Emily Y GlickUnited KingdomXuxue Feng QUALIFIED
Faith J DarakjyAustraliaIoni Bowcher QUALIFIED
Aruna H StensethCanadaElwin Sharvill QUALIFIED
Mayumi Z StensethIndiaOnyama Limba UNQUALIFIED
Mayumi C BowleyGermanyIvan Magalhaes PROPOSAL
Aruna G BologniaAustraliaIoni Bowcher NEW
Cody D OldroydCanadaAmy Elsner RENEWAL
James U TollnerItalyIvan Magalhaes RENEWAL
Adams H GillianFranceStephen Shaw PROPOSAL
Maisha Q KolmetzBrazilElwin Sharvill NEW
Smith N ShinkoRussiaStephen Shaw PROPOSAL
Johnson T RoysterBrazilAnna Fali PROPOSAL
Mujtaba G GauchoGermanyStephen Shaw PROPOSAL
Arvin N DarakjyRussiaOnyama Limba NEGOTIATION
Silvio Z FollerFranceElwin Sharvill QUALIFIED
Ashley B BriddickFranceStephen Shaw NEGOTIATION
Ashley O DilliardIndiaIvan Magalhaes NEGOTIATION
Octavia J WaycottArgentinaStephen Shaw NEW
Emily L AmigonAustraliaAmy Elsner QUALIFIED
Chavez P NickaIndiaElwin Sharvill UNQUALIFIED
Morrow G MaletGermanyElwin Sharvill NEGOTIATION
Murillo M SchemmerCanadaElwin Sharvill NEW
David M FigeroaSpainOnyama Limba QUALIFIED
Faith D VocelkaRussiaOnyama Limba NEGOTIATION
James G PaprockiAustraliaXuxue Feng UNQUALIFIED
Maisha P CampainSpainXuxue Feng NEW
Costa A VocelkaBrazilAnna Fali NEGOTIATION
Faith K StensethAustraliaBernardo Dominic RENEWAL
Jeanfrancois F OstroskyJapanIvan Magalhaes UNQUALIFIED
Greenwood X MacleadCanadaAsiya Javayant UNQUALIFIED
Francesco H RoysterBrazilOnyama Limba QUALIFIED
Murillo K FlosiBrazilElwin Sharvill PROPOSAL
Frozen Columns
Name
James H Nestle
Johnson G Rim
Rodrigues X Malet
Darci E Tollner
Izzy Z Ruta
Sinclair U Oldroyd
Kadeem I Kolmetz
Sinclair O Slusarski
Mujtaba I Chui
Leon M Dilliard
Octavia E Iturbide
Costa R Glick
Juan G Foller
Misaki K Foller
Alejandro D Sergi
Aika S Stockham
Smith C Schemmer
Antonio P Ruta
James N Caldarera
Antonio C Garufi
Kaitlin B Ferencz
Darci J Caudy
Silvio V Darakjy
Maisha T Sergi
Tony E Rulapaugh
Ashley Q Paprocki
Rodrigues E Perin
Chavez L Figeroa
Jeanfrancois J Chui
Leja G Vocelka
Adams X Marrier
Cody D Royster
Alejandro I Kusko
Mujtaba Y Nestle
Octavia I Caldarera
Clifford H Caldarera
Nicolas C Ruta
Kadeem Y Bowley
Juan K Perin
Octavia T Paprocki
Juan B Iturbide
Jeanfrancois K Campain
Aruna H Kusko
Maisha U Gillian
Ivar N Bowley
James T Albares
Ricardo C Chui
Nicolas P Kolmetz
Johnson Y Garufi
James L Malet
IdCountryDate
1000Italy2025-06-14
1001India2025-06-29
1002Russia2025-06-06
1003Russia2025-06-25
1004Australia2025-06-07
1005Germany2025-06-13
1006Italy2025-06-19
1007Australia2025-06-15
1008France2025-06-01
1009France2025-06-22
1010France2025-06-07
1011Russia2025-06-28
1012Canada2025-06-06
1013Russia2025-06-22
1014Russia2025-06-21
1015United Kingdom2025-06-30
1016Brazil2025-06-29
1017United Kingdom2025-06-07
1018Spain2025-06-03
1019Canada2025-06-08
1020Italy2025-06-13
1021Russia2025-06-15
1022Russia2025-06-10
1023Japan2025-06-04
1024France2025-06-18
1025Australia2025-06-26
1026Australia2025-06-14
1027Germany2025-06-01
1028Argentina2025-06-12
1029Canada2025-06-10
1030France2025-06-04
1031Germany2025-06-01
1032India2025-06-17
1033India2025-06-16
1034Russia2025-06-01
1035Italy2025-06-16
1036France2025-06-26
1037United Kingdom2025-06-27
1038Russia2025-06-27
1039Italy2025-06-25
1040Canada2025-06-18
1041United Kingdom2025-06-15
1042France2025-06-22
1043Russia2025-06-06
1044Australia2025-06-26
1045Argentina2025-06-22
1046Russia2025-06-25
1047Australia2025-06-12
1048Argentina2025-06-24
1049Argentina2025-06-17

On-Demand Data

NameIdCountryDate
James F Maclead1000Russia2025-06-11
Adams Q Malet1001Australia2025-06-12
Chavez S Kusko1002India2025-06-15
Murillo S Darakjy1003France2025-06-12
Salvatore E Rulapaugh1004Brazil2025-06-12
Deepesh Y Foller1005Canada2025-06-29
David A Poquette1006Argentina2025-06-09
Adams V Chui1007Japan2025-06-03
Tony K Ostrosky1008Italy2025-06-01
Deepesh T Whobrey1009Germany2025-06-14
Tony E Maclead1010Australia2025-06-08
Morrow T Stockham1011India2025-06-17
Kaitlin S Caudy1012India2025-06-11
Sinclair Z Doe1013Spain2025-06-27
Mujtaba Z Doe1014France2025-06-24
Misaki J Waycott1015Brazil2025-06-14
Claire D Oldroyd1016Argentina2025-06-25
Sinclair E Rulapaugh1017India2025-06-25
Ricardo U Doe1018Australia2025-06-03
Aditya F Slusarski1019France2025-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey V SchemmerJapanIoni Bowcher NEW
Clifford O VocelkaItalyAnna Fali RENEWAL
Ashley D CaudySpainAmy Elsner NEW
Jennifer C RimIndiaXuxue Feng NEGOTIATION
Misaki O SchemmerSpainIvan Magalhaes RENEWAL
Juan K WhobreySpainBernardo Dominic PROPOSAL
Leja M BowleySpainOnyama Limba NEW
Mayumi U FigeroaIndiaElwin Sharvill NEGOTIATION
Jones R ShinkoSpainStephen Shaw NEW
Maria C MorascaRussiaIoni Bowcher QUALIFIED
Jennifer X SchemmerCanadaXuxue Feng UNQUALIFIED
James Y TollnerFranceStephen Shaw PROPOSAL
Jennifer V CaldareraArgentinaElwin Sharvill NEGOTIATION
Munro Q TollnerAustraliaIoni Bowcher QUALIFIED
Silvio H InouyeSpainBernardo Dominic NEGOTIATION
Sinclair K FlosiIndiaBernardo Dominic QUALIFIED
Maria J StockhamGermanyXuxue Feng NEW
Deepesh N VenereFranceElwin Sharvill NEGOTIATION
Antonio H BowleyItalyBernardo Dominic NEGOTIATION
Deepesh G SergiUnited KingdomAsiya Javayant RENEWAL
Smith Q RimRussiaBernardo Dominic NEW
Francesco M BologniaAustraliaAsiya Javayant QUALIFIED
David O GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens V GauchoJapanXuxue Feng NEW
Munro U DilliardAustraliaAsiya Javayant NEW
Sinclair V VocelkaJapanAsiya Javayant QUALIFIED
Cody Q SchemmerCanadaBernardo Dominic NEW
Isabel X KuskoFranceElwin Sharvill UNQUALIFIED
Adams N ButtGermanyElwin Sharvill RENEWAL
Johnson K OldroydIndiaAsiya Javayant NEGOTIATION
Maria Z MorascaIndiaIoni Bowcher QUALIFIED
Aika I RutaFranceOnyama Limba QUALIFIED
Julie D MaletUnited KingdomAmy Elsner RENEWAL
Costa T NestleJapanOnyama Limba NEW
Rodrigues J VocelkaUnited KingdomStephen Shaw NEW
Claire T GillianCanadaAsiya Javayant QUALIFIED
Darci P WhobreyAustraliaOnyama Limba RENEWAL
Jeanfrancois N FlosiFranceStephen Shaw NEW
Silvio S ButtUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois V CampainCanadaIoni Bowcher 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" frozenColumnsAlignment="left">
            <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>