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
Rodrigues V ShinkoSpainBernardo Dominic NEGOTIATION
Antonio R NickaIndiaElwin Sharvill UNQUALIFIED
Sinclair H WaycottCanadaAnna Fali QUALIFIED
Misaki S GauchoFranceAnna Fali PROPOSAL
Murillo E SchemmerCanadaElwin Sharvill RENEWAL
Juan A VocelkaGermanyBernardo Dominic NEGOTIATION
Emily J FollerBrazilAsiya Javayant NEGOTIATION
Sinclair C DarakjyAustraliaOnyama Limba UNQUALIFIED
Murillo Y OstroskySpainAsiya Javayant PROPOSAL
Nicolas X ShinkoAustraliaStephen Shaw NEW
Juan A RoysterItalyElwin Sharvill NEGOTIATION
Mayumi I AmigonItalyBernardo Dominic NEW
David X WieserItalyIvan Magalhaes UNQUALIFIED
Ricardo U GarufiIndiaIvan Magalhaes NEGOTIATION
Faith T PoquetteArgentinaAmy Elsner NEW
Stacey G KuskoCanadaIvan Magalhaes UNQUALIFIED
Smith C WaycottRussiaIvan Magalhaes NEW
Kaitlin I CaldareraJapanOnyama Limba PROPOSAL
Faith X CaudyFranceElwin Sharvill QUALIFIED
Leon D PaprockiSpainAnna Fali UNQUALIFIED
Octavia W WaycottItalyAsiya Javayant PROPOSAL
Sinclair F CampainSpainXuxue Feng UNQUALIFIED
Emily L BologniaItalyAsiya Javayant NEW
Aika U PerinItalyIvan Magalhaes QUALIFIED
Cody Q ChuiCanadaXuxue Feng QUALIFIED
Ashley L SlusarskiCanadaBernardo Dominic PROPOSAL
Smith R NickaSpainStephen Shaw NEW
Jennifer K StockhamRussiaAnna Fali PROPOSAL
Ashley Q DarakjyAustraliaAsiya Javayant RENEWAL
Mayumi J MacleadRussiaAmy Elsner UNQUALIFIED
Faith N AmigonIndiaOnyama Limba NEW
Isabel H GillianUnited KingdomIvan Magalhaes QUALIFIED
Jennifer L InouyeAustraliaIvan Magalhaes PROPOSAL
Juan U SaylorsAustraliaIoni Bowcher NEGOTIATION
Emily M KuskoIndiaStephen Shaw UNQUALIFIED
Jones U PerinRussiaIoni Bowcher QUALIFIED
Adams Q MacleadUnited KingdomStephen Shaw RENEWAL
Clifford J WieserAustraliaBernardo Dominic NEW
Juan A StensethCanadaOnyama Limba NEW
Juan D MaletIndiaAsiya Javayant PROPOSAL
Munro J BologniaFranceAsiya Javayant RENEWAL
Ivar Y SlusarskiArgentinaStephen Shaw RENEWAL
Deepesh Q RulapaughItalyElwin Sharvill RENEWAL
Costa S SchemmerCanadaBernardo Dominic QUALIFIED
Greenwood V GauchoArgentinaAmy Elsner UNQUALIFIED
Francesco Q FollerSpainBernardo Dominic PROPOSAL
Costa O FigeroaSpainElwin Sharvill PROPOSAL
Stacey D MaletArgentinaIoni Bowcher QUALIFIED
Aruna N KuskoIndiaAmy Elsner PROPOSAL
David B VocelkaAustraliaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba U CaldareraGermanyAsiya Javayant UNQUALIFIED
James B GlickFranceOnyama Limba QUALIFIED
Alejandro D BriddickArgentinaBernardo Dominic NEW
Ricardo V SergiItalyStephen Shaw NEW
Kadeem Z FerenczIndiaAsiya Javayant NEGOTIATION
Wickens D RoysterGermanyStephen Shaw RENEWAL
Silvio N WaycottIndiaXuxue Feng RENEWAL
Alejandro Q DilliardGermanyElwin Sharvill NEGOTIATION
Jones C CampainGermanyXuxue Feng QUALIFIED
Izzy A DoeAustraliaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar F ShinkoBrazil2024-05-25Rousseaux, Michael Esq NEGOTIATION70Xuxue Feng
1001Rodrigues B MacleadGermany2024-06-17Feltz Printing Service RENEWAL6Asiya Javayant
1002Stacey O VenereSpain2024-06-01Morlong Associates RENEWAL57Bernardo Dominic
1003Francesco Z SergiIndia2024-06-19Benton, John B Jr RENEWAL75Ioni Bowcher
1004Octavia V CaldareraIndia2024-05-28Chemel, James L Cpa PROPOSAL74Bernardo Dominic
1005Adams N AmigonRussia2024-06-02Chapman, Ross E Esq QUALIFIED99Bernardo Dominic
1006Arvin C OldroydFrance2024-05-27Rousseaux, Michael Esq NEGOTIATION50Onyama Limba
1007Mujtaba Y MorascaArgentina2024-06-19Chanay, Jeffrey A Esq NEGOTIATION5Xuxue Feng
1008Ashley K NickaFrance2024-05-30King, Christopher A Esq QUALIFIED4Amy Elsner
1009Claire O ShinkoFrance2024-06-01Rousseaux, Michael Esq QUALIFIED24Asiya Javayant
1010Juan Y ShinkoIndia2024-06-03Rangoni Of Florence QUALIFIED18Ioni Bowcher
1011Darci D ButtIndia2024-06-07Feltz Printing Service QUALIFIED42Ivan Magalhaes
1012Stacey E CaudyIndia2024-06-06Truhlar And Truhlar Attys NEW81Bernardo Dominic
1013Murillo Q InouyeCanada2024-06-18Printing Dimensions UNQUALIFIED77Bernardo Dominic
1014Antonio C SaylorsArgentina2024-05-28Chemel, James L Cpa UNQUALIFIED51Elwin Sharvill
1015Leon Y TollnerAustralia2024-06-03Feltz Printing Service NEW87Elwin Sharvill
1016Clifford D WaycottBrazil2024-06-20King, Christopher A Esq RENEWAL86Anna Fali
1017Arvin T GarufiCanada2024-06-02Printing Dimensions RENEWAL80Xuxue Feng
1018James L IturbideRussia2024-06-18Commercial Press PROPOSAL94Onyama Limba
1019Costa Y KuskoCanada2024-06-03Feiner Bros UNQUALIFIED70Onyama Limba
1020Munro C OstroskyGermany2024-05-30Morlong Associates PROPOSAL57Ivan Magalhaes
1021Izzy C RulapaughUnited Kingdom2024-05-26Morlong Associates NEW61Amy Elsner
1022Mayumi W WieserIndia2024-06-02Truhlar And Truhlar Attys PROPOSAL63Onyama Limba
1023Morrow N NestleItaly2024-06-07Buckley Miller Wright NEGOTIATION21Ioni Bowcher
1024Smith M KolmetzBrazil2024-06-06Chemel, James L Cpa NEW14Stephen Shaw
1025Sinclair Y KuskoSpain2024-06-12Rangoni Of Florence NEGOTIATION1Anna Fali
1026Maisha H IturbideIndia2024-06-10Rangoni Of Florence QUALIFIED37Ioni Bowcher
1027Maria Y StockhamJapan2024-06-12Chemel, James L Cpa QUALIFIED15Anna Fali
1028Octavia Z FigeroaGermany2024-05-30Chanay, Jeffrey A Esq PROPOSAL23Onyama Limba
1029Aika D CaudyItaly2024-06-10Buckley Miller Wright RENEWAL14Ivan Magalhaes
1030Misaki X KuskoRussia2024-05-28Dorl, James J Esq PROPOSAL21Ioni Bowcher
1031Francesco H CaudyUnited Kingdom2024-06-04Printing Dimensions RENEWAL7Anna Fali
1032Maisha A IturbideItaly2024-06-19Rousseaux, Michael Esq RENEWAL18Amy Elsner
1033Nicolas M FigeroaArgentina2024-06-08Morlong Associates NEGOTIATION22Amy Elsner
1034Deepesh M FerenczFrance2024-06-06Commercial Press NEW44Ioni Bowcher
1035Tony G StockhamFrance2024-05-29Chanay, Jeffrey A Esq QUALIFIED74Asiya Javayant
1036Ivar U CampainIndia2024-06-17Dorl, James J Esq PROPOSAL24Onyama Limba
1037Isabel Q StensethFrance2024-05-28Chanay, Jeffrey A Esq RENEWAL22Xuxue Feng
1038Costa O OstroskySpain2024-06-12Feltz Printing Service QUALIFIED35Xuxue Feng
1039Mujtaba C VenereJapan2024-06-22Rousseaux, Michael Esq NEGOTIATION74Bernardo Dominic
1040Francesco I WaycottGermany2024-06-21Feiner Bros RENEWAL74Ioni Bowcher
1041Adams Z PaprockiBrazil2024-06-12Truhlar And Truhlar Attys PROPOSAL56Onyama Limba
1042Alejandro Z FollerBrazil2024-06-01Feiner Bros UNQUALIFIED17Onyama Limba
1043Smith U MacleadBrazil2024-05-26Rangoni Of Florence UNQUALIFIED0Xuxue Feng
1044Arvin T SlusarskiAustralia2024-05-31Chapman, Ross E Esq QUALIFIED51Stephen Shaw
1045Smith E OstroskyAustralia2024-06-17King, Christopher A Esq NEW50Bernardo Dominic
1046Cody Y GarufiUnited Kingdom2024-06-21Buckley Miller Wright PROPOSAL80Bernardo Dominic
1047Izzy X SlusarskiAustralia2024-05-27Chanay, Jeffrey A Esq QUALIFIED41Asiya Javayant
1048Emily A MacleadUnited Kingdom2024-06-12Printing Dimensions PROPOSAL87Anna Fali
1049Arvin G MarrierSpain2024-05-30Rousseaux, Michael Esq PROPOSAL51Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leon G VenereAustraliaAmy Elsner UNQUALIFIED
Julie L DoeRussiaBernardo Dominic UNQUALIFIED
Chavez E RulapaughFranceXuxue Feng RENEWAL
Claire V NickaJapanAsiya Javayant NEGOTIATION
Jeanfrancois R WieserJapanOnyama Limba RENEWAL
Johnson T StensethSpainXuxue Feng NEGOTIATION
Adams M SaylorsSpainXuxue Feng UNQUALIFIED
Murillo X MorascaJapanXuxue Feng UNQUALIFIED
Adams H BowleySpainAmy Elsner NEW
Murillo L GlickItalyIoni Bowcher NEGOTIATION
Julie A NestleJapanBernardo Dominic RENEWAL
Alejandro Q OstroskyAustraliaAnna Fali QUALIFIED
Jones A MorascaSpainIoni Bowcher UNQUALIFIED
Deepesh X BowleyGermanyIoni Bowcher NEGOTIATION
Misaki A MorascaIndiaIoni Bowcher QUALIFIED
Alejandro W MaletSpainStephen Shaw NEW
Clifford P RutaRussiaAmy Elsner NEW
Rodrigues T SlusarskiSpainBernardo Dominic RENEWAL
Stacey E SergiUnited KingdomStephen Shaw RENEWAL
Maisha N BologniaCanadaElwin Sharvill QUALIFIED
Ashley N RulapaughArgentinaOnyama Limba PROPOSAL
Chavez P SlusarskiIndiaAmy Elsner RENEWAL
Leon B ShinkoJapanAnna Fali UNQUALIFIED
Leon R KuskoFranceAsiya Javayant RENEWAL
Juan P CaudyAustraliaAsiya Javayant PROPOSAL
James X OstroskyItalyBernardo Dominic NEW
Greenwood X PoquetteJapanBernardo Dominic PROPOSAL
Clifford A AlbaresCanadaXuxue Feng QUALIFIED
Mayumi A RimSpainElwin Sharvill NEW
Julie G MacleadGermanyIvan Magalhaes RENEWAL
Tony H IturbideBrazilAnna Fali NEGOTIATION
David N PerinIndiaBernardo Dominic RENEWAL
Misaki F ChuiUnited KingdomAmy Elsner UNQUALIFIED
Jennifer M CaldareraRussiaIoni Bowcher RENEWAL
Cody Z StensethBrazilElwin Sharvill NEGOTIATION
Izzy S GarufiGermanyXuxue Feng NEW
Kadeem W ShinkoFranceAnna Fali QUALIFIED
James T MaletItalyAnna Fali NEGOTIATION
Francesco X RimJapanElwin Sharvill RENEWAL
Kaitlin T GillianAustraliaElwin Sharvill UNQUALIFIED
Octavia I DarakjyJapanIvan Magalhaes RENEWAL
Isabel M RoysterBrazilIoni Bowcher NEGOTIATION
Mayumi J CampainRussiaStephen Shaw PROPOSAL
Aditya P RoysterArgentinaBernardo Dominic QUALIFIED
Mujtaba H RutaGermanyXuxue Feng QUALIFIED
Claire X VocelkaArgentinaXuxue Feng NEGOTIATION
Nicolas U MaletArgentinaOnyama Limba QUALIFIED
Sinclair J PaprockiFranceIoni Bowcher NEW
Julie S DarakjyUnited KingdomIvan Magalhaes RENEWAL
Silvio Y KolmetzFranceIoni Bowcher NEW
Frozen Columns
Name
Costa G Vocelka
Adams S Slusarski
Misaki S Kolmetz
Murillo U Darakjy
Julie D Morasca
Darci V Paprocki
Greenwood P Maclead
Chavez Z Bowley
Salvatore H Shinko
Jeanfrancois Q Foller
Adams L Nicka
Izzy T Kolmetz
Maisha H Perin
Clifford X Doe
Aika G Inouye
Leon Z Royster
Ashley S Vocelka
Salvatore L Morasca
Mayumi R Vocelka
Maisha G Darakjy
Antonio U Stockham
Octavia M Sergi
Clifford T Schemmer
Morrow B Royster
Kaitlin X Kolmetz
Ricardo F Nicka
Aruna A Briddick
Maria A Briddick
Mayumi X Gaucho
Murillo Y Wieser
James C Bolognia
Mujtaba D Nicka
Faith E Kusko
Deepesh A Venere
Silvio U Darakjy
Francesco J Wieser
Julie R Glick
Munro Q Kolmetz
Ricardo J Kolmetz
Costa J Campain
James Q Venere
Jones U Inouye
Stacey X Wieser
Mayumi C Albares
Aditya V Waycott
Cody X Gillian
Maisha H Sergi
Aika R Gillian
Arvin A Oldroyd
Isabel L Ostrosky
IdCountryDate
1000Brazil2024-06-02
1001Italy2024-06-18
1002Japan2024-06-18
1003Italy2024-06-08
1004Canada2024-06-20
1005France2024-06-16
1006France2024-06-14
1007Germany2024-06-13
1008Australia2024-06-06
1009Germany2024-05-28
1010Spain2024-05-26
1011Germany2024-06-02
1012Australia2024-06-16
1013Spain2024-06-22
1014Brazil2024-06-06
1015United Kingdom2024-06-03
1016Australia2024-06-02
1017Argentina2024-06-13
1018Italy2024-06-22
1019Spain2024-05-31
1020Russia2024-06-22
1021France2024-06-16
1022Brazil2024-06-19
1023Italy2024-06-15
1024United Kingdom2024-05-29
1025Spain2024-05-26
1026Germany2024-06-14
1027Argentina2024-06-16
1028Japan2024-05-30
1029Japan2024-06-18
1030United Kingdom2024-06-14
1031Canada2024-06-01
1032Germany2024-06-09
1033France2024-06-21
1034Canada2024-06-23
1035United Kingdom2024-05-27
1036Canada2024-06-07
1037Argentina2024-06-18
1038Italy2024-06-13
1039Germany2024-06-07
1040Argentina2024-05-28
1041Spain2024-06-11
1042United Kingdom2024-06-14
1043Russia2024-05-31
1044Japan2024-05-28
1045Canada2024-05-27
1046Spain2024-05-27
1047Canada2024-06-16
1048Japan2024-05-28
1049United Kingdom2024-06-10

On-Demand Data

NameIdCountryDate
Mujtaba S Maclead1000Italy2024-06-07
Salvatore O Marrier1001United Kingdom2024-06-06
Silvio E Sergi1002Australia2024-06-01
Leon U Shinko1003Japan2024-05-27
Adams F Albares1004United Kingdom2024-06-21
Jones I Chui1005Spain2024-06-06
Jefferson I Garufi1006Italy2024-06-19
Kadeem E Caudy1007Italy2024-06-11
Ivar J Doe1008Brazil2024-05-27
Leja G Sergi1009Spain2024-06-06
Aika J Kusko1010Brazil2024-05-26
Rodrigues X Figeroa1011Italy2024-06-07
Antonio A Vocelka1012Germany2024-06-04
Greenwood X Nicka1013Russia2024-06-20
James Y Nicka1014Russia2024-06-05
Arvin B Poquette1015Germany2024-06-16
Claire P Saylors1016Spain2024-06-02
Jefferson X Ferencz1017Brazil2024-06-18
Jefferson E Kusko1018Russia2024-06-09
Clifford P Briddick1019Brazil2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Z FlosiUnited KingdomXuxue Feng PROPOSAL
Isabel N OstroskyFranceElwin Sharvill NEW
Leon K ButtFranceElwin Sharvill NEW
Octavia H GlickRussiaXuxue Feng NEW
Sinclair N PerinUnited KingdomAmy Elsner RENEWAL
Aruna O FollerSpainXuxue Feng PROPOSAL
Ashley W IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Kadeem Q SergiUnited KingdomElwin Sharvill UNQUALIFIED
Costa B OstroskyJapanElwin Sharvill NEW
Greenwood O KuskoCanadaAmy Elsner NEW
David P GarufiAustraliaIoni Bowcher UNQUALIFIED
Maisha S SlusarskiCanadaAsiya Javayant QUALIFIED
Sinclair Z GlickIndiaIvan Magalhaes PROPOSAL
Sinclair P CampainCanadaAmy Elsner NEGOTIATION
Adams C NickaJapanBernardo Dominic NEGOTIATION
Antonio H BologniaArgentinaBernardo Dominic NEW
Sinclair O AlbaresArgentinaElwin Sharvill QUALIFIED
Misaki I PaprockiBrazilElwin Sharvill PROPOSAL
Jones O GauchoFranceStephen Shaw PROPOSAL
Jones I MorascaUnited KingdomElwin Sharvill RENEWAL
Morrow B StockhamRussiaBernardo Dominic QUALIFIED
Emily S SaylorsIndiaAmy Elsner UNQUALIFIED
Ivar Q GauchoCanadaXuxue Feng RENEWAL
Greenwood D GlickArgentinaAsiya Javayant UNQUALIFIED
Antonio N PerinArgentinaAmy Elsner NEGOTIATION
Clifford Y InouyeSpainOnyama Limba RENEWAL
Leon Y ButtArgentinaOnyama Limba NEW
Jefferson K StensethFranceAsiya Javayant UNQUALIFIED
Antonio L MorascaArgentinaIoni Bowcher RENEWAL
James E FollerUnited KingdomBernardo Dominic RENEWAL
Leja B NickaIndiaXuxue Feng NEW
Aruna O WieserBrazilElwin Sharvill UNQUALIFIED
Emily F SergiBrazilOnyama Limba QUALIFIED
Ivar X KolmetzFranceIoni Bowcher UNQUALIFIED
Munro T ChuiJapanBernardo Dominic PROPOSAL
Antonio A IturbideAustraliaXuxue Feng NEGOTIATION
Juan M CampainUnited KingdomIoni Bowcher PROPOSAL
Munro F RulapaughGermanyIoni Bowcher NEGOTIATION
Julie D MarrierSpainAmy Elsner NEGOTIATION
Aruna W RulapaughBrazilAnna Fali PROPOSAL

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