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
Silvio R DoeItalyXuxue Feng NEW
Mayumi W ChuiBrazilXuxue Feng QUALIFIED
Clifford F RutaSpainElwin Sharvill UNQUALIFIED
Morrow W NestleIndiaBernardo Dominic RENEWAL
Mayumi C WieserItalyOnyama Limba NEGOTIATION
Greenwood S PerinBrazilAsiya Javayant QUALIFIED
Stacey B OstroskyCanadaOnyama Limba UNQUALIFIED
Ashley R SlusarskiBrazilBernardo Dominic NEW
Leon I RoysterCanadaStephen Shaw RENEWAL
Juan Q RulapaughFranceAmy Elsner RENEWAL
Mayumi O DoeJapanAsiya Javayant NEW
Leja D CaldareraSpainIvan Magalhaes QUALIFIED
Morrow Q PerinAustraliaAmy Elsner QUALIFIED
Silvio E GlickSpainAsiya Javayant QUALIFIED
Kadeem X MaletGermanyBernardo Dominic PROPOSAL
Aditya Q DilliardFranceStephen Shaw UNQUALIFIED
Maisha U InouyeCanadaStephen Shaw RENEWAL
Costa N FlosiUnited KingdomAnna Fali UNQUALIFIED
Juan G FerenczAustraliaStephen Shaw NEGOTIATION
Faith W ButtSpainOnyama Limba NEGOTIATION
Munro R CaldareraSpainAsiya Javayant RENEWAL
Emily Y RulapaughJapanIoni Bowcher PROPOSAL
Murillo F SergiGermanyStephen Shaw PROPOSAL
James E KolmetzGermanyAsiya Javayant NEW
Emily F BologniaUnited KingdomAnna Fali RENEWAL
Isabel Q StensethSpainIvan Magalhaes UNQUALIFIED
Smith P FigeroaCanadaOnyama Limba QUALIFIED
Mujtaba V PerinBrazilAmy Elsner NEW
Deepesh W MarrierFranceXuxue Feng NEGOTIATION
Izzy C TollnerFranceAmy Elsner NEGOTIATION
Aika X BriddickSpainXuxue Feng PROPOSAL
Silvio F PerinSpainBernardo Dominic NEW
Aika R TollnerIndiaOnyama Limba PROPOSAL
Aruna V FerenczJapanAmy Elsner RENEWAL
Salvatore T KolmetzGermanyXuxue Feng NEW
Munro L VenereItalyBernardo Dominic PROPOSAL
Nicolas S PerinCanadaAmy Elsner RENEWAL
Murillo T DarakjyCanadaBernardo Dominic QUALIFIED
Francesco Z OldroydIndiaIvan Magalhaes PROPOSAL
Izzy F FollerUnited KingdomAsiya Javayant PROPOSAL
Kadeem H ChuiJapanOnyama Limba PROPOSAL
Costa C RoysterCanadaAmy Elsner PROPOSAL
Leon Q FlosiBrazilStephen Shaw PROPOSAL
Maisha A InouyeBrazilAnna Fali RENEWAL
Jones M ChuiJapanAsiya Javayant NEGOTIATION
Darci X MarrierAustraliaAmy Elsner QUALIFIED
Maria S NickaAustraliaBernardo Dominic NEGOTIATION
Jones E FollerFranceAsiya Javayant UNQUALIFIED
Mujtaba V IturbideItalyOnyama Limba NEW
Antonio X BowleyRussiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson G GillianJapanAsiya Javayant NEGOTIATION
Munro T IturbideJapanOnyama Limba NEGOTIATION
Salvatore I ChuiArgentinaOnyama Limba NEGOTIATION
Morrow U BowleyFranceStephen Shaw NEW
Jones J MorascaUnited KingdomElwin Sharvill NEGOTIATION
Alejandro B WieserJapanXuxue Feng QUALIFIED
Arvin Z AmigonUnited KingdomElwin Sharvill RENEWAL
Mayumi L GarufiCanadaOnyama Limba PROPOSAL
Jeanfrancois R FollerSpainAmy Elsner UNQUALIFIED
Salvatore Q SchemmerAustraliaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro K KuskoAustralia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED5Elwin Sharvill
1001James O GauchoSpain2024-06-12Buckley Miller Wright PROPOSAL72Stephen Shaw
1002Aika O TollnerSpain2024-06-08Buckley Miller Wright NEW33Onyama Limba
1003Clifford Y DilliardArgentina2024-05-26Rousseaux, Michael Esq UNQUALIFIED33Anna Fali
1004Clifford O PerinUnited Kingdom2024-06-08Chemel, James L Cpa QUALIFIED62Anna Fali
1005Isabel R ShinkoRussia2024-06-01Rousseaux, Michael Esq NEW5Ivan Magalhaes
1006Sinclair H StockhamAustralia2024-06-19Rangoni Of Florence NEGOTIATION59Anna Fali
1007David Q OldroydIndia2024-06-02Benton, John B Jr PROPOSAL25Ioni Bowcher
1008Misaki D MaletItaly2024-06-21Chapman, Ross E Esq PROPOSAL5Xuxue Feng
1009Ashley A GarufiBrazil2024-06-21Rangoni Of Florence UNQUALIFIED17Elwin Sharvill
1010Morrow S DarakjySpain2024-06-22Rousseaux, Michael Esq NEGOTIATION44Bernardo Dominic
1011Johnson R RoysterCanada2024-06-06Rousseaux, Michael Esq NEW61Bernardo Dominic
1012Francesco P DoeArgentina2024-06-13Morlong Associates NEGOTIATION32Asiya Javayant
1013James W GarufiCanada2024-06-22Morlong Associates RENEWAL13Stephen Shaw
1014Kadeem B DarakjyBrazil2024-06-14Rousseaux, Michael Esq QUALIFIED38Elwin Sharvill
1015Faith P FerenczCanada2024-06-03Buckley Miller Wright NEGOTIATION78Anna Fali
1016Maria I GlickJapan2024-06-10Dorl, James J Esq NEGOTIATION69Bernardo Dominic
1017Smith S SaylorsAustralia2024-06-21Feltz Printing Service PROPOSAL69Ivan Magalhaes
1018Ricardo B BriddickBrazil2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED71Ivan Magalhaes
1019Misaki Q PerinSpain2024-05-24Rangoni Of Florence NEW40Ivan Magalhaes
1020Misaki X CampainIndia2024-06-03Chemel, James L Cpa NEGOTIATION22Bernardo Dominic
1021Rodrigues P DilliardUnited Kingdom2024-06-04Rousseaux, Michael Esq NEGOTIATION81Amy Elsner
1022Jennifer V WieserUnited Kingdom2024-05-26Chemel, James L Cpa QUALIFIED40Bernardo Dominic
1023Kaitlin Y ButtFrance2024-06-19Benton, John B Jr NEW0Stephen Shaw
1024Claire P AlbaresCanada2024-06-03Benton, John B Jr RENEWAL39Amy Elsner
1025Tony D SergiBrazil2024-05-28Benton, John B Jr UNQUALIFIED42Anna Fali
1026Maria X MacleadBrazil2024-06-10Buckley Miller Wright QUALIFIED18Ioni Bowcher
1027David Y NestleSpain2024-06-19Commercial Press UNQUALIFIED18Ivan Magalhaes
1028Leja M ButtArgentina2024-06-04Rangoni Of Florence NEW50Onyama Limba
1029Costa G FigeroaUnited Kingdom2024-06-08Chapman, Ross E Esq UNQUALIFIED32Anna Fali
1030Jeanfrancois D ChuiItaly2024-06-06Chemel, James L Cpa PROPOSAL7Bernardo Dominic
1031James N OldroydGermany2024-06-01Chemel, James L Cpa PROPOSAL39Stephen Shaw
1032Stacey U CaldareraGermany2024-06-15Feiner Bros PROPOSAL84Ivan Magalhaes
1033Mujtaba M ButtAustralia2024-06-10Chemel, James L Cpa NEW83Xuxue Feng
1034Smith E InouyeBrazil2024-06-22Feiner Bros QUALIFIED95Bernardo Dominic
1035Cody S FigeroaIndia2024-06-08Benton, John B Jr QUALIFIED80Stephen Shaw
1036Juan T OstroskyRussia2024-06-14Feiner Bros UNQUALIFIED97Bernardo Dominic
1037Johnson I VocelkaItaly2024-05-31Dorl, James J Esq RENEWAL38Onyama Limba
1038Rodrigues P RoysterItaly2024-06-14Chemel, James L Cpa NEW87Elwin Sharvill
1039Nicolas H MaletFrance2024-06-21Benton, John B Jr QUALIFIED80Elwin Sharvill
1040Izzy U MaletItaly2024-06-12King, Christopher A Esq RENEWAL31Amy Elsner
1041Leon R GillianItaly2024-06-18Chemel, James L Cpa PROPOSAL27Bernardo Dominic
1042Leon J WieserFrance2024-05-25Rangoni Of Florence PROPOSAL35Elwin Sharvill
1043Jones K RulapaughIndia2024-06-22Feltz Printing Service UNQUALIFIED52Bernardo Dominic
1044Wickens P OstroskyAustralia2024-06-09Chapman, Ross E Esq UNQUALIFIED78Asiya Javayant
1045Sinclair Z FigeroaIndia2024-05-25Benton, John B Jr NEGOTIATION4Anna Fali
1046Stacey S PoquetteJapan2024-06-12Feiner Bros PROPOSAL60Xuxue Feng
1047Aruna Z FlosiUnited Kingdom2024-06-04Benton, John B Jr PROPOSAL31Elwin Sharvill
1048Darci C RoysterSpain2024-05-25Feiner Bros RENEWAL36Bernardo Dominic
1049Costa T AlbaresGermany2024-06-20Printing Dimensions UNQUALIFIED20Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Munro W OstroskyRussiaXuxue Feng NEGOTIATION
Emily D TollnerItalyIoni Bowcher NEW
Ivar K RimUnited KingdomAmy Elsner NEGOTIATION
Francesco B KolmetzRussiaXuxue Feng NEW
Munro Y BowleyCanadaAnna Fali NEGOTIATION
Mayumi Y FollerCanadaOnyama Limba QUALIFIED
Salvatore X VenereCanadaXuxue Feng PROPOSAL
Jefferson O FigeroaRussiaIoni Bowcher PROPOSAL
Ashley Y FlosiAustraliaIvan Magalhaes QUALIFIED
Smith J PerinItalyBernardo Dominic RENEWAL
Kadeem U RutaAustraliaIvan Magalhaes PROPOSAL
Kadeem U PoquetteSpainElwin Sharvill QUALIFIED
Greenwood O DarakjyJapanElwin Sharvill RENEWAL
Clifford V WhobreyItalyIoni Bowcher UNQUALIFIED
Mayumi P MaletRussiaElwin Sharvill RENEWAL
Arvin K SlusarskiItalyIvan Magalhaes NEW
Salvatore T MaletIndiaBernardo Dominic RENEWAL
Maria B MarrierArgentinaAsiya Javayant UNQUALIFIED
Julie D SaylorsSpainXuxue Feng PROPOSAL
Jeanfrancois L GillianJapanAnna Fali NEGOTIATION
Murillo T PaprockiAustraliaBernardo Dominic NEW
Ivar W NickaBrazilElwin Sharvill NEGOTIATION
Johnson D MaletItalyElwin Sharvill QUALIFIED
Morrow W RutaUnited KingdomOnyama Limba NEGOTIATION
Tony A FlosiArgentinaXuxue Feng UNQUALIFIED
Claire M MacleadSpainElwin Sharvill PROPOSAL
Darci S InouyeItalyIvan Magalhaes NEGOTIATION
Francesco O RoysterGermanyIvan Magalhaes NEW
Mayumi L AmigonIndiaIoni Bowcher NEGOTIATION
Smith V GauchoCanadaStephen Shaw NEW
Faith J DarakjyUnited KingdomIoni Bowcher PROPOSAL
Emily E WhobreyUnited KingdomAmy Elsner NEGOTIATION
Isabel A DilliardUnited KingdomAsiya Javayant PROPOSAL
Darci B BowleyBrazilAsiya Javayant NEW
Smith Z VocelkaCanadaIvan Magalhaes PROPOSAL
Leon S SlusarskiBrazilAnna Fali RENEWAL
Francesco Q BowleyAustraliaAsiya Javayant UNQUALIFIED
Salvatore Y ButtFranceAsiya Javayant UNQUALIFIED
Leon I MarrierUnited KingdomIvan Magalhaes RENEWAL
Clifford V VenereGermanyAnna Fali UNQUALIFIED
Francesco O CaudyGermanyIvan Magalhaes RENEWAL
Munro I OstroskyItalyXuxue Feng NEGOTIATION
Rodrigues W MacleadJapanAsiya Javayant UNQUALIFIED
Greenwood F MacleadItalyXuxue Feng RENEWAL
Mujtaba C MaletGermanyIvan Magalhaes NEGOTIATION
Silvio I GarufiArgentinaOnyama Limba NEW
Johnson W ButtUnited KingdomBernardo Dominic QUALIFIED
Munro N SaylorsGermanyAmy Elsner UNQUALIFIED
Arvin V RulapaughJapanElwin Sharvill NEGOTIATION
Morrow J ButtSpainBernardo Dominic NEW
Frozen Columns
Name
Tony C Saylors
Maria D Rim
Francesco H Foller
Emily B Darakjy
Clifford Y Maclead
Claire T Schemmer
Stacey T Campain
Johnson C Inouye
Cody O Malet
Rodrigues E Ostrosky
Antonio K Kolmetz
Emily K Royster
Jones H Garufi
Ashley K Flosi
Rodrigues E Whobrey
Salvatore D Sergi
Morrow A Stenseth
Murillo B Shinko
Wickens J Waycott
Morrow F Briddick
Octavia A Nicka
Francesco Q Ruta
Munro O Inouye
Izzy I Caudy
Maria E Briddick
Munro T Bolognia
Ashley Q Iturbide
Ashley G Maclead
Aika F Flosi
Faith L Flosi
Tony O Caldarera
Rodrigues A Dilliard
Ashley K Iturbide
Juan M Amigon
Clifford G Saylors
Leja T Slusarski
Jefferson B Poquette
Chavez V Nestle
Costa X Oldroyd
Salvatore T Gaucho
Kaitlin H Gaucho
Jeanfrancois V Rim
Tony B Saylors
Maria X Wieser
Salvatore Q Garufi
Smith J Chui
Munro S Vocelka
Ivar X Waycott
Adams V Poquette
Deepesh D Glick
IdCountryDate
1000Argentina2024-06-15
1001Russia2024-06-17
1002Germany2024-05-27
1003Russia2024-06-20
1004Canada2024-06-07
1005India2024-05-25
1006Spain2024-06-20
1007Russia2024-06-05
1008Argentina2024-06-11
1009Canada2024-06-19
1010India2024-06-10
1011Germany2024-05-29
1012Italy2024-05-25
1013France2024-06-07
1014France2024-05-25
1015France2024-06-10
1016Australia2024-06-20
1017India2024-06-06
1018Brazil2024-05-29
1019Canada2024-06-07
1020Australia2024-05-31
1021Spain2024-06-20
1022Russia2024-06-12
1023Japan2024-06-16
1024Russia2024-06-14
1025Canada2024-06-04
1026Spain2024-05-29
1027Brazil2024-06-02
1028France2024-06-05
1029Italy2024-06-04
1030Germany2024-06-08
1031Canada2024-06-04
1032Japan2024-06-16
1033Italy2024-05-25
1034India2024-06-01
1035Russia2024-05-31
1036India2024-06-10
1037Germany2024-06-11
1038United Kingdom2024-06-11
1039Canada2024-06-12
1040Italy2024-06-10
1041Argentina2024-06-11
1042Brazil2024-05-26
1043Australia2024-06-21
1044Spain2024-05-24
1045Russia2024-06-05
1046Canada2024-05-25
1047Spain2024-06-05
1048Japan2024-06-05
1049Australia2024-06-02

On-Demand Data

NameIdCountryDate
Jones F Perin1000Brazil2024-06-18
Isabel J Chui1001Italy2024-06-06
Kaitlin M Garufi1002Canada2024-05-30
Ivar H Chui1003Canada2024-06-22
Costa H Nicka1004Germany2024-05-29
Sinclair R Figeroa1005France2024-06-06
Faith E Kolmetz1006Russia2024-05-29
Mayumi G Kusko1007Germany2024-06-09
Clifford S Stenseth1008France2024-06-18
Izzy V Saylors1009Canada2024-05-28
Jefferson G Gillian1010Canada2024-05-25
Maisha K Butt1011India2024-06-04
Silvio V Schemmer1012Italy2024-05-25
Emily X Whobrey1013Australia2024-05-30
Arvin R Schemmer1014Spain2024-06-11
James W Kolmetz1015France2024-06-10
Jennifer W Perin1016Brazil2024-06-18
Emily O Nicka1017Italy2024-05-31
Aruna T Figeroa1018Brazil2024-06-02
Greenwood N Shinko1019Canada2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika O DilliardIndiaOnyama Limba QUALIFIED
Jefferson D PoquetteIndiaBernardo Dominic PROPOSAL
Jefferson X GillianRussiaOnyama Limba NEW
Costa L StockhamAustraliaElwin Sharvill UNQUALIFIED
Tony X RimFranceOnyama Limba QUALIFIED
Antonio J FerenczJapanStephen Shaw PROPOSAL
Jennifer I KolmetzJapanElwin Sharvill NEGOTIATION
Aika S AmigonFranceIoni Bowcher RENEWAL
Ashley G MorascaJapanAsiya Javayant RENEWAL
Julie F RimFranceIvan Magalhaes NEGOTIATION
Jeanfrancois G MaletUnited KingdomIvan Magalhaes NEW
Greenwood Z StensethItalyAnna Fali NEW
Mayumi O RutaIndiaIoni Bowcher UNQUALIFIED
Greenwood E DilliardGermanyIvan Magalhaes RENEWAL
Maria L DilliardUnited KingdomAnna Fali UNQUALIFIED
Rodrigues A StockhamAustraliaAsiya Javayant RENEWAL
Isabel Q AlbaresSpainElwin Sharvill QUALIFIED
Johnson W BowleyRussiaIvan Magalhaes NEW
Mujtaba L SaylorsArgentinaStephen Shaw RENEWAL
Alejandro Z MacleadAustraliaAsiya Javayant NEGOTIATION
Clifford H AmigonJapanAmy Elsner UNQUALIFIED
Aruna W FollerSpainElwin Sharvill PROPOSAL
Aditya I StensethArgentinaElwin Sharvill QUALIFIED
Emily N KolmetzGermanyAnna Fali RENEWAL
David N StockhamSpainIoni Bowcher QUALIFIED
James K NestleIndiaOnyama Limba PROPOSAL
Stacey Q CampainCanadaIvan Magalhaes PROPOSAL
Johnson T NickaGermanyOnyama Limba UNQUALIFIED
Maria B PerinItalyXuxue Feng QUALIFIED
Julie E FlosiBrazilOnyama Limba PROPOSAL
Wickens A SaylorsBrazilBernardo Dominic RENEWAL
Aditya R SergiFranceIvan Magalhaes NEW
Chavez P NickaJapanAmy Elsner PROPOSAL
Francesco M GillianCanadaOnyama Limba NEW
Nicolas W TollnerGermanyElwin Sharvill UNQUALIFIED
Ricardo I StockhamGermanyOnyama Limba QUALIFIED
Silvio U WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Aika U MarrierArgentinaAmy Elsner NEW
Leja I RutaJapanIvan Magalhaes UNQUALIFIED
Chavez H VenereGermanyOnyama Limba NEW

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