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
Mujtaba R WieserBrazilAnna Fali NEGOTIATION
Tony J RutaAustraliaElwin Sharvill UNQUALIFIED
Sinclair K WhobreyGermanyIvan Magalhaes QUALIFIED
Faith J GauchoGermanyElwin Sharvill NEGOTIATION
Antonio X RulapaughAustraliaStephen Shaw UNQUALIFIED
Kaitlin R FigeroaIndiaOnyama Limba PROPOSAL
Murillo O InouyeCanadaStephen Shaw NEW
Leja X ButtAustraliaBernardo Dominic PROPOSAL
Kadeem G MorascaUnited KingdomAnna Fali QUALIFIED
Maisha U NickaCanadaXuxue Feng UNQUALIFIED
Nicolas C CaudyFranceAsiya Javayant NEGOTIATION
Francesco N DoeJapanXuxue Feng NEGOTIATION
James C GlickRussiaIoni Bowcher PROPOSAL
Silvio R OstroskyAustraliaIvan Magalhaes QUALIFIED
Ashley G CaldareraJapanElwin Sharvill NEW
Aditya T FerenczCanadaBernardo Dominic RENEWAL
Darci A MorascaFranceAsiya Javayant RENEWAL
Jeanfrancois N WaycottJapanAmy Elsner QUALIFIED
Ashley C PaprockiIndiaOnyama Limba PROPOSAL
Maria S VenereJapanXuxue Feng UNQUALIFIED
Jones K NestleJapanXuxue Feng PROPOSAL
Morrow O SchemmerGermanyAsiya Javayant PROPOSAL
Antonio F MaletRussiaElwin Sharvill NEGOTIATION
Leon Z MaletBrazilElwin Sharvill PROPOSAL
Maisha R RulapaughUnited KingdomOnyama Limba QUALIFIED
Murillo L InouyeRussiaStephen Shaw RENEWAL
Ricardo G CaudyIndiaXuxue Feng RENEWAL
Jefferson B BriddickJapanStephen Shaw NEW
Jeanfrancois A ShinkoUnited KingdomAmy Elsner PROPOSAL
Salvatore L DarakjyJapanIvan Magalhaes PROPOSAL
Chavez W DoeUnited KingdomIoni Bowcher PROPOSAL
Aruna W DilliardAustraliaAsiya Javayant QUALIFIED
Murillo O BriddickCanadaElwin Sharvill NEGOTIATION
Munro Y MaletAustraliaAnna Fali PROPOSAL
Mayumi P MarrierCanadaAsiya Javayant QUALIFIED
James J BowleyFranceOnyama Limba UNQUALIFIED
Murillo U RoysterBrazilStephen Shaw NEGOTIATION
Claire W StensethFranceOnyama Limba QUALIFIED
Ricardo O InouyeRussiaAmy Elsner NEGOTIATION
Aruna O ButtFranceElwin Sharvill UNQUALIFIED
Claire X WieserGermanyAnna Fali NEW
Kadeem I ChuiItalyXuxue Feng RENEWAL
Rodrigues U VenereUnited KingdomIvan Magalhaes NEW
Stacey H MorascaFranceAmy Elsner UNQUALIFIED
Mayumi N GarufiBrazilIvan Magalhaes NEW
Mayumi N PoquetteSpainAmy Elsner NEGOTIATION
Cody Q SergiAustraliaStephen Shaw PROPOSAL
Kaitlin K FlosiIndiaOnyama Limba PROPOSAL
Julie Y RoysterCanadaAmy Elsner QUALIFIED
Adams R InouyeBrazilIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Darci F OldroydIndiaBernardo Dominic NEGOTIATION
Ivar U VenereIndiaBernardo Dominic RENEWAL
Kadeem C MarrierUnited KingdomIvan Magalhaes PROPOSAL
Nicolas Y ButtIndiaXuxue Feng PROPOSAL
Jeanfrancois D MaletFranceOnyama Limba NEW
Claire I SaylorsCanadaAsiya Javayant NEGOTIATION
Julie K CampainSpainStephen Shaw PROPOSAL
Rodrigues F BologniaIndiaOnyama Limba NEW
Costa E StensethItalyBernardo Dominic UNQUALIFIED
Jefferson Y CampainGermanyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer A GauchoGermany2024-06-17Rousseaux, Michael Esq UNQUALIFIED98Stephen Shaw
1001Octavia U InouyeBrazil2024-06-13King, Christopher A Esq NEGOTIATION51Elwin Sharvill
1002Aruna E NestleAustralia2024-06-22Printing Dimensions PROPOSAL59Bernardo Dominic
1003Ricardo P DarakjyAustralia2024-06-23Rangoni Of Florence RENEWAL26Bernardo Dominic
1004Antonio J ChuiFrance2024-05-26Rousseaux, Michael Esq QUALIFIED4Elwin Sharvill
1005Maisha A RutaJapan2024-06-21Printing Dimensions UNQUALIFIED58Amy Elsner
1006Silvio J SaylorsRussia2024-06-06Printing Dimensions UNQUALIFIED78Elwin Sharvill
1007Maria W MarrierBrazil2024-06-14Benton, John B Jr UNQUALIFIED78Bernardo Dominic
1008Stacey G SergiItaly2024-06-02King, Christopher A Esq RENEWAL15Ivan Magalhaes
1009Johnson N OstroskyIndia2024-06-08Feltz Printing Service NEW1Bernardo Dominic
1010Francesco C SergiRussia2024-05-26King, Christopher A Esq RENEWAL47Bernardo Dominic
1011Isabel N DilliardSpain2024-06-06Rousseaux, Michael Esq RENEWAL46Amy Elsner
1012Kaitlin K MacleadUnited Kingdom2024-06-17Rousseaux, Michael Esq PROPOSAL91Bernardo Dominic
1013Darci M IturbideGermany2024-06-20Rangoni Of Florence RENEWAL77Amy Elsner
1014Isabel X RutaIndia2024-06-20Benton, John B Jr PROPOSAL12Asiya Javayant
1015Aika U MaletFrance2024-06-08Truhlar And Truhlar Attys QUALIFIED61Onyama Limba
1016Ricardo S StockhamIndia2024-06-16Commercial Press PROPOSAL12Xuxue Feng
1017Claire N DarakjyFrance2024-06-11Feltz Printing Service PROPOSAL46Xuxue Feng
1018Misaki I AlbaresBrazil2024-06-23Buckley Miller Wright NEGOTIATION23Elwin Sharvill
1019Faith O WieserSpain2024-06-07Morlong Associates UNQUALIFIED88Ivan Magalhaes
1020Maria R SchemmerJapan2024-06-20Commercial Press RENEWAL83Bernardo Dominic
1021Emily I WieserIndia2024-06-09Feltz Printing Service PROPOSAL57Ioni Bowcher
1022Arvin E WhobreyBrazil2024-06-09Rousseaux, Michael Esq PROPOSAL71Bernardo Dominic
1023Aditya J FigeroaUnited Kingdom2024-06-11Feiner Bros NEW18Xuxue Feng
1024Murillo V GlickArgentina2024-05-30Rousseaux, Michael Esq NEW58Stephen Shaw
1025Maisha N BriddickAustralia2024-06-11Truhlar And Truhlar Attys QUALIFIED84Ivan Magalhaes
1026Aruna O AmigonCanada2024-06-15Buckley Miller Wright RENEWAL42Amy Elsner
1027Chavez E MaletRussia2024-05-25King, Christopher A Esq UNQUALIFIED70Amy Elsner
1028Munro H MorascaRussia2024-06-07Benton, John B Jr UNQUALIFIED96Elwin Sharvill
1029Jennifer L ShinkoUnited Kingdom2024-06-08Rousseaux, Michael Esq NEW52Elwin Sharvill
1030Jones B VocelkaItaly2024-06-02Buckley Miller Wright NEW31Onyama Limba
1031Octavia H KuskoUnited Kingdom2024-06-10Feiner Bros PROPOSAL23Elwin Sharvill
1032Maria B StensethSpain2024-05-25Feiner Bros RENEWAL2Anna Fali
1033Jones V SaylorsAustralia2024-06-04Chemel, James L Cpa UNQUALIFIED40Amy Elsner
1034Chavez N WaycottIndia2024-06-05Chanay, Jeffrey A Esq NEW0Onyama Limba
1035Izzy L NickaCanada2024-06-07Truhlar And Truhlar Attys RENEWAL91Asiya Javayant
1036James F FollerItaly2024-06-18Chapman, Ross E Esq PROPOSAL62Elwin Sharvill
1037Emily D IturbideAustralia2024-05-27King, Christopher A Esq NEGOTIATION45Ioni Bowcher
1038Maisha E CaldareraFrance2024-06-14Rousseaux, Michael Esq NEW39Ivan Magalhaes
1039Jennifer Y BriddickUnited Kingdom2024-06-15Chemel, James L Cpa NEGOTIATION26Anna Fali
1040Aika U NestleCanada2024-05-30Commercial Press RENEWAL88Onyama Limba
1041Ashley A KuskoBrazil2024-06-01Truhlar And Truhlar Attys PROPOSAL34Ivan Magalhaes
1042Maria W InouyeRussia2024-06-20Chemel, James L Cpa NEW43Xuxue Feng
1043Julie W OstroskyBrazil2024-05-29Feltz Printing Service UNQUALIFIED31Bernardo Dominic
1044Stacey W PaprockiCanada2024-05-28Truhlar And Truhlar Attys NEGOTIATION59Xuxue Feng
1045Silvio O MaletItaly2024-06-05Morlong Associates NEW61Elwin Sharvill
1046Maria Z VenereAustralia2024-06-10Chemel, James L Cpa NEW34Amy Elsner
1047Jefferson D ChuiAustralia2024-05-26Truhlar And Truhlar Attys NEGOTIATION24Onyama Limba
1048Aruna R GauchoCanada2024-05-28Feiner Bros NEGOTIATION37Bernardo Dominic
1049Costa N VocelkaUnited Kingdom2024-06-22Buckley Miller Wright QUALIFIED49Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow D FollerFranceStephen Shaw NEW
Arvin M SchemmerCanadaOnyama Limba UNQUALIFIED
Mujtaba Y AlbaresIndiaOnyama Limba NEW
Arvin O NestleRussiaElwin Sharvill UNQUALIFIED
Ricardo N WhobreyIndiaAnna Fali PROPOSAL
Aruna M AmigonBrazilAsiya Javayant UNQUALIFIED
Francesco S ChuiRussiaXuxue Feng UNQUALIFIED
Julie F PerinRussiaIoni Bowcher PROPOSAL
Munro U SaylorsFranceIvan Magalhaes UNQUALIFIED
Chavez R KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Murillo Q GlickFranceAmy Elsner PROPOSAL
Ivar E ChuiBrazilOnyama Limba UNQUALIFIED
Leja N SaylorsUnited KingdomXuxue Feng NEGOTIATION
Adams C MaletCanadaAsiya Javayant UNQUALIFIED
Jeanfrancois D IturbideArgentinaElwin Sharvill NEW
Silvio B DilliardArgentinaAnna Fali PROPOSAL
Stacey L OstroskyArgentinaAnna Fali QUALIFIED
Juan G CaudyItalyOnyama Limba PROPOSAL
Aruna T IturbideGermanyIoni Bowcher NEGOTIATION
Aika S FigeroaAustraliaElwin Sharvill PROPOSAL
Silvio W MacleadSpainIvan Magalhaes PROPOSAL
Ricardo M PoquetteRussiaAnna Fali NEGOTIATION
Misaki P RutaUnited KingdomAnna Fali UNQUALIFIED
Clifford N InouyeUnited KingdomStephen Shaw PROPOSAL
Costa H StockhamCanadaAmy Elsner PROPOSAL
Ashley E CampainJapanIoni Bowcher UNQUALIFIED
Darci S TollnerItalyXuxue Feng QUALIFIED
Deepesh M VenereRussiaAnna Fali QUALIFIED
Adams H FigeroaSpainOnyama Limba NEW
Ivar I WieserRussiaOnyama Limba NEW
Tony G RimGermanyStephen Shaw NEW
Aruna S SlusarskiIndiaIvan Magalhaes UNQUALIFIED
Jeanfrancois W RoysterSpainIvan Magalhaes NEW
Clifford R PoquetteItalyStephen Shaw RENEWAL
Jeanfrancois O MaletAustraliaXuxue Feng NEGOTIATION
Emily F KolmetzJapanElwin Sharvill NEW
Octavia W NickaGermanyOnyama Limba UNQUALIFIED
Wickens A CaudyIndiaBernardo Dominic NEGOTIATION
Nicolas M FlosiBrazilStephen Shaw PROPOSAL
Antonio E SaylorsIndiaIvan Magalhaes NEW
Leon K MarrierBrazilAnna Fali RENEWAL
Darci O NestleBrazilIvan Magalhaes QUALIFIED
Murillo U AlbaresGermanyAmy Elsner NEW
Octavia O PerinCanadaOnyama Limba NEW
Kaitlin Y RulapaughCanadaIoni Bowcher NEGOTIATION
Maria Z ShinkoAustraliaIoni Bowcher NEW
Johnson G NickaRussiaIvan Magalhaes NEW
Stacey M SchemmerCanadaBernardo Dominic UNQUALIFIED
Maisha G InouyeFranceElwin Sharvill RENEWAL
Izzy L StockhamRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Faith M Garufi
Adams F Maclead
Julie G Wieser
Leon Q Gaucho
Octavia R Whobrey
Claire H Butt
Kadeem F Chui
Tony V Marrier
Arvin F Perin
Leon Z Stenseth
Costa Z Sergi
Jones H Ferencz
Mayumi R Nestle
Ricardo I Royster
Faith W Nestle
Jeanfrancois Z Whobrey
Leja M Ferencz
Darci K Perin
Wickens C Morasca
Costa C Tollner
Mayumi E Garufi
Smith J Butt
Jones C Glick
Wickens X Gillian
Mujtaba W Inouye
Rodrigues H Kolmetz
Alejandro J Doe
Cody T Schemmer
Antonio E Nicka
Mujtaba X Oldroyd
Deepesh Z Butt
Kaitlin B Bolognia
Clifford P Oldroyd
Nicolas B Malet
Morrow G Gaucho
Mujtaba S Darakjy
David Z Waycott
Stacey K Wieser
Mayumi D Butt
Francesco J Schemmer
Smith Z Bowley
Kadeem U Campain
David L Ruta
Izzy V Saylors
Faith P Gaucho
Emily G Butt
Silvio A Ruta
Costa K Whobrey
Costa U Garufi
Murillo E Schemmer
IdCountryDate
1000Italy2024-06-03
1001Italy2024-06-02
1002Brazil2024-05-27
1003Italy2024-06-11
1004Australia2024-06-01
1005Italy2024-05-26
1006Brazil2024-05-25
1007Russia2024-06-06
1008Japan2024-06-15
1009Australia2024-06-07
1010Argentina2024-06-20
1011Spain2024-06-05
1012India2024-06-19
1013Japan2024-06-18
1014Australia2024-06-02
1015Germany2024-06-04
1016France2024-06-21
1017Italy2024-05-31
1018Russia2024-06-14
1019Italy2024-06-08
1020Russia2024-06-14
1021France2024-06-11
1022Japan2024-06-09
1023Canada2024-05-30
1024Germany2024-06-15
1025Canada2024-06-12
1026Spain2024-05-26
1027Japan2024-06-02
1028Brazil2024-06-14
1029Brazil2024-06-13
1030Russia2024-05-30
1031Russia2024-06-06
1032Australia2024-06-03
1033Brazil2024-06-09
1034Italy2024-06-10
1035Canada2024-06-13
1036Japan2024-06-07
1037Italy2024-06-13
1038France2024-06-08
1039Germany2024-06-13
1040Canada2024-06-16
1041Australia2024-06-20
1042Russia2024-05-30
1043Canada2024-05-28
1044Canada2024-06-02
1045Australia2024-06-09
1046Brazil2024-06-20
1047Argentina2024-05-28
1048France2024-05-30
1049Argentina2024-06-03

On-Demand Data

NameIdCountryDate
Isabel N Figeroa1000Russia2024-05-31
Julie B Saylors1001Brazil2024-06-08
Claire S Paprocki1002Australia2024-06-20
Sinclair Q Foller1003United Kingdom2024-06-23
Smith C Vocelka1004Canada2024-06-03
Greenwood D Kusko1005Japan2024-06-11
Adams R Ferencz1006India2024-06-03
Alejandro U Sergi1007Australia2024-06-20
Izzy S Albares1008Canada2024-06-01
Chavez A Rulapaugh1009Argentina2024-06-12
Nicolas N Chui1010Spain2024-06-21
Julie T Campain1011France2024-05-29
Julie N Inouye1012Canada2024-06-03
Cody A Caudy1013Italy2024-06-21
Mujtaba T Morasca1014Germany2024-05-29
Aditya H Briddick1015Canada2024-05-28
Ivar H Bolognia1016Russia2024-06-15
Aika R Iturbide1017Russia2024-06-10
Isabel R Rulapaugh1018Italy2024-06-16
Johnson L Garufi1019United Kingdom2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David P PaprockiFranceAsiya Javayant QUALIFIED
David O GillianFranceAsiya Javayant RENEWAL
Jennifer K TollnerJapanAnna Fali NEW
Sinclair R DilliardUnited KingdomIoni Bowcher QUALIFIED
Leja N PerinCanadaIvan Magalhaes QUALIFIED
Claire T PerinJapanXuxue Feng PROPOSAL
Cody J MaletArgentinaBernardo Dominic NEGOTIATION
Murillo E RimArgentinaAmy Elsner QUALIFIED
Munro P SergiAustraliaStephen Shaw QUALIFIED
Mayumi R OstroskyBrazilElwin Sharvill NEW
Aditya T MaletItalyAsiya Javayant PROPOSAL
Cody T BologniaJapanAnna Fali RENEWAL
Jennifer V DoeIndiaAmy Elsner NEW
Deepesh C NickaSpainAmy Elsner UNQUALIFIED
Greenwood P PaprockiIndiaStephen Shaw NEW
Darci D RimGermanyIoni Bowcher NEGOTIATION
Octavia F FollerRussiaIvan Magalhaes NEW
Aika C KolmetzIndiaIvan Magalhaes UNQUALIFIED
Octavia A RutaIndiaIvan Magalhaes PROPOSAL
Costa J BologniaItalyStephen Shaw NEW
Arvin A WieserAustraliaAsiya Javayant RENEWAL
Ivar X MacleadGermanyIoni Bowcher NEW
Tony X DarakjyBrazilIvan Magalhaes NEW
Rodrigues Z RoysterArgentinaIoni Bowcher NEGOTIATION
Isabel Y IturbideCanadaAnna Fali QUALIFIED
Nicolas I DoeAustraliaAnna Fali UNQUALIFIED
Aditya S PaprockiGermanyIvan Magalhaes NEW
Juan B FerenczCanadaBernardo Dominic RENEWAL
Stacey A SergiBrazilIoni Bowcher NEW
Johnson Q GauchoAustraliaAmy Elsner NEW
Wickens Z DarakjyJapanIoni Bowcher QUALIFIED
Ashley B GillianCanadaBernardo Dominic NEGOTIATION
Francesco C RoysterItalyBernardo Dominic PROPOSAL
Ashley G MarrierJapanOnyama Limba QUALIFIED
Izzy M BologniaAustraliaAnna Fali PROPOSAL
Costa C PaprockiCanadaAsiya Javayant PROPOSAL
James K GlickSpainElwin Sharvill RENEWAL
Francesco S FollerCanadaAsiya Javayant QUALIFIED
Adams B SlusarskiUnited KingdomStephen Shaw NEW
Murillo S MacleadBrazilAnna Fali 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>