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
Maisha P RutaAustraliaBernardo Dominic PROPOSAL
Isabel A OstroskyRussiaAmy Elsner QUALIFIED
Izzy Y MacleadAustraliaStephen Shaw PROPOSAL
Ricardo J DilliardRussiaStephen Shaw NEGOTIATION
Faith U OstroskySpainElwin Sharvill NEW
Ivar L AmigonAustraliaBernardo Dominic NEW
Jennifer A NickaUnited KingdomIvan Magalhaes NEGOTIATION
Murillo U RoysterBrazilOnyama Limba PROPOSAL
Arvin S SergiBrazilIoni Bowcher NEGOTIATION
Mujtaba V GarufiSpainAmy Elsner PROPOSAL
Costa Z DilliardAustraliaXuxue Feng RENEWAL
Clifford K StockhamGermanyAmy Elsner RENEWAL
James B AlbaresBrazilStephen Shaw QUALIFIED
Faith E MaletBrazilAsiya Javayant QUALIFIED
Nicolas H KolmetzRussiaIoni Bowcher RENEWAL
Isabel G CaudyIndiaAsiya Javayant RENEWAL
Alejandro O ShinkoIndiaAmy Elsner UNQUALIFIED
Jeanfrancois I DilliardArgentinaAmy Elsner RENEWAL
Faith G WieserBrazilAmy Elsner NEW
Darci Y TollnerIndiaAmy Elsner QUALIFIED
James W CaudyItalyAnna Fali PROPOSAL
Salvatore G DilliardIndiaIoni Bowcher PROPOSAL
Munro P MaletUnited KingdomIvan Magalhaes PROPOSAL
Darci G FlosiAustraliaIvan Magalhaes RENEWAL
Antonio L RimItalyAsiya Javayant RENEWAL
Claire O ButtJapanOnyama Limba UNQUALIFIED
Costa O RoysterUnited KingdomOnyama Limba PROPOSAL
David M FigeroaUnited KingdomOnyama Limba NEGOTIATION
Arvin O WhobreyJapanXuxue Feng PROPOSAL
Murillo Z DilliardItalyOnyama Limba NEW
Johnson J SlusarskiItalyIvan Magalhaes NEW
Greenwood N RimSpainIoni Bowcher RENEWAL
Jefferson D MorascaCanadaStephen Shaw UNQUALIFIED
Clifford C ChuiSpainElwin Sharvill PROPOSAL
Chavez H ShinkoItalyXuxue Feng NEW
Kadeem P CampainIndiaBernardo Dominic UNQUALIFIED
Juan J SlusarskiJapanAsiya Javayant PROPOSAL
Nicolas B GillianUnited KingdomAnna Fali NEGOTIATION
Maisha B WieserBrazilElwin Sharvill NEW
Izzy K MaletIndiaXuxue Feng QUALIFIED
Misaki S MacleadFranceIvan Magalhaes UNQUALIFIED
Tony V GauchoUnited KingdomAmy Elsner UNQUALIFIED
Johnson A NestleUnited KingdomOnyama Limba NEW
Antonio D VenereRussiaOnyama Limba RENEWAL
James S SaylorsRussiaAsiya Javayant RENEWAL
Murillo T StensethFranceStephen Shaw RENEWAL
Jennifer Q SergiCanadaOnyama Limba NEW
Jeanfrancois L BowleyGermanyOnyama Limba NEW
Faith H GlickCanadaIvan Magalhaes PROPOSAL
Octavia A OstroskyBrazilXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore U BriddickSpainAsiya Javayant NEGOTIATION
Deepesh F RimRussiaBernardo Dominic NEGOTIATION
Tony L ButtCanadaAnna Fali UNQUALIFIED
Antonio X MaletRussiaXuxue Feng QUALIFIED
Octavia G PaprockiArgentinaXuxue Feng QUALIFIED
Morrow G PerinIndiaXuxue Feng NEGOTIATION
Clifford M FigeroaGermanyStephen Shaw PROPOSAL
Stacey W GillianFranceBernardo Dominic QUALIFIED
James F MacleadArgentinaBernardo Dominic PROPOSAL
Ivar C GauchoItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi G PaprockiCanada2025-05-21Commercial Press RENEWAL14Amy Elsner
1001Kadeem E DilliardIndia2025-05-28Benton, John B Jr NEW90Ivan Magalhaes
1002Adams Y CampainAustralia2025-05-27Chemel, James L Cpa RENEWAL96Bernardo Dominic
1003Smith T VenereArgentina2025-05-31Feiner Bros PROPOSAL3Bernardo Dominic
1004Ivar V DoeCanada2025-06-07Truhlar And Truhlar Attys QUALIFIED77Amy Elsner
1005James I CaudyJapan2025-05-20Feiner Bros PROPOSAL76Elwin Sharvill
1006Leon S WaycottArgentina2025-06-15Dorl, James J Esq NEGOTIATION13Xuxue Feng
1007Aditya X StensethSpain2025-05-20Printing Dimensions UNQUALIFIED26Asiya Javayant
1008Cody R NickaRussia2025-05-27Feiner Bros NEGOTIATION98Asiya Javayant
1009Ashley N ChuiGermany2025-05-19Chanay, Jeffrey A Esq UNQUALIFIED52Bernardo Dominic
1010Jeanfrancois Q RimBrazil2025-06-07King, Christopher A Esq PROPOSAL90Xuxue Feng
1011Nicolas O OstroskyJapan2025-06-13King, Christopher A Esq PROPOSAL73Xuxue Feng
1012Jeanfrancois L GauchoBrazil2025-06-08Dorl, James J Esq UNQUALIFIED0Asiya Javayant
1013Silvio A PerinArgentina2025-06-05King, Christopher A Esq PROPOSAL91Amy Elsner
1014Leja G FerenczGermany2025-05-22Benton, John B Jr NEW62Elwin Sharvill
1015Maisha H MaletUnited Kingdom2025-06-01Feiner Bros UNQUALIFIED88Bernardo Dominic
1016Maria E SchemmerAustralia2025-05-23Chanay, Jeffrey A Esq RENEWAL81Ioni Bowcher
1017Leja U GillianRussia2025-06-02Morlong Associates NEGOTIATION65Stephen Shaw
1018Stacey W PoquetteJapan2025-05-24Morlong Associates PROPOSAL94Elwin Sharvill
1019Wickens W OldroydBrazil2025-05-19Chapman, Ross E Esq NEW37Onyama Limba
1020Chavez O MacleadItaly2025-06-13Chemel, James L Cpa UNQUALIFIED38Asiya Javayant
1021Kaitlin A SergiArgentina2025-06-06King, Christopher A Esq PROPOSAL25Anna Fali
1022Jennifer O RimCanada2025-05-29Rousseaux, Michael Esq RENEWAL43Anna Fali
1023Deepesh W ShinkoAustralia2025-05-29Feltz Printing Service NEGOTIATION93Elwin Sharvill
1024Emily C DilliardBrazil2025-05-25Feiner Bros NEGOTIATION89Stephen Shaw
1025Kaitlin C SchemmerItaly2025-05-20Rangoni Of Florence UNQUALIFIED25Ivan Magalhaes
1026Jones H WieserBrazil2025-05-20Printing Dimensions RENEWAL60Elwin Sharvill
1027Juan L CaldareraGermany2025-06-12Buckley Miller Wright RENEWAL54Onyama Limba
1028Rodrigues A CaldareraSpain2025-05-25Feiner Bros NEGOTIATION92Elwin Sharvill
1029Johnson D WaycottSpain2025-06-01Commercial Press RENEWAL50Anna Fali
1030Francesco N RulapaughIndia2025-06-03Rangoni Of Florence RENEWAL15Ioni Bowcher
1031Aika E ShinkoItaly2025-06-15Morlong Associates PROPOSAL10Bernardo Dominic
1032Chavez R VenereCanada2025-06-15Chapman, Ross E Esq RENEWAL29Onyama Limba
1033Mujtaba I MacleadUnited Kingdom2025-06-12Feltz Printing Service RENEWAL61Anna Fali
1034Rodrigues X GillianAustralia2025-06-05Morlong Associates QUALIFIED97Ivan Magalhaes
1035Leja V StensethGermany2025-05-26Truhlar And Truhlar Attys PROPOSAL56Xuxue Feng
1036Emily X GlickItaly2025-06-08Commercial Press NEGOTIATION64Elwin Sharvill
1037Mujtaba Q NickaGermany2025-05-19Buckley Miller Wright NEGOTIATION87Onyama Limba
1038Antonio H MacleadAustralia2025-06-09Commercial Press NEGOTIATION12Asiya Javayant
1039Sinclair A DoeCanada2025-06-15Morlong Associates UNQUALIFIED74Anna Fali
1040Greenwood P FlosiBrazil2025-06-07Printing Dimensions PROPOSAL2Elwin Sharvill
1041Darci S GauchoGermany2025-05-29Morlong Associates QUALIFIED90Anna Fali
1042Mujtaba K ChuiAustralia2025-05-18Benton, John B Jr PROPOSAL50Stephen Shaw
1043Leon R DilliardFrance2025-06-04Rangoni Of Florence RENEWAL48Amy Elsner
1044Mujtaba S ButtArgentina2025-05-22Feltz Printing Service PROPOSAL60Ioni Bowcher
1045Kadeem P ShinkoRussia2025-06-05Dorl, James J Esq UNQUALIFIED29Amy Elsner
1046Stacey W IturbideArgentina2025-06-10Feiner Bros NEGOTIATION36Xuxue Feng
1047James S GillianAustralia2025-06-07Chanay, Jeffrey A Esq NEGOTIATION93Ioni Bowcher
1048Sinclair T RulapaughJapan2025-06-13Truhlar And Truhlar Attys NEGOTIATION65Bernardo Dominic
1049Ivar X ChuiGermany2025-06-07Feltz Printing Service RENEWAL25Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Morrow D WieserRussiaOnyama Limba NEW
Wickens H FerenczArgentinaStephen Shaw PROPOSAL
Salvatore Q CaldareraCanadaElwin Sharvill PROPOSAL
Jefferson X CaudyFranceIvan Magalhaes NEGOTIATION
Claire A ShinkoRussiaAnna Fali NEGOTIATION
Greenwood U SlusarskiAustraliaAsiya Javayant PROPOSAL
Maisha J AmigonIndiaXuxue Feng QUALIFIED
Murillo R FerenczIndiaElwin Sharvill RENEWAL
Leon V ChuiJapanStephen Shaw PROPOSAL
Mayumi H PerinArgentinaXuxue Feng RENEWAL
Murillo K DoeRussiaAmy Elsner UNQUALIFIED
Johnson P DilliardRussiaStephen Shaw PROPOSAL
Mujtaba G MaletJapanBernardo Dominic QUALIFIED
Rodrigues A AmigonAustraliaBernardo Dominic QUALIFIED
Jeanfrancois V MarrierItalyBernardo Dominic QUALIFIED
Cody V GarufiCanadaElwin Sharvill NEW
Salvatore V AlbaresItalyAsiya Javayant QUALIFIED
Francesco X SchemmerRussiaOnyama Limba QUALIFIED
Adams M PoquetteUnited KingdomAsiya Javayant QUALIFIED
Chavez G InouyeRussiaAsiya Javayant RENEWAL
Nicolas V FlosiSpainAsiya Javayant QUALIFIED
Alejandro G GillianAustraliaXuxue Feng UNQUALIFIED
Leon S BologniaUnited KingdomAnna Fali UNQUALIFIED
Ricardo M BriddickUnited KingdomElwin Sharvill RENEWAL
Isabel G BowleyGermanyXuxue Feng UNQUALIFIED
Izzy S CaldareraIndiaBernardo Dominic NEW
David I KuskoJapanStephen Shaw QUALIFIED
Silvio G FlosiUnited KingdomXuxue Feng PROPOSAL
Emily Y ButtUnited KingdomStephen Shaw NEGOTIATION
Tony Q GlickBrazilAmy Elsner UNQUALIFIED
Maisha D StockhamCanadaXuxue Feng PROPOSAL
Aruna T PoquetteFranceOnyama Limba PROPOSAL
Ivar Y CampainUnited KingdomXuxue Feng QUALIFIED
Deepesh V DarakjyItalyOnyama Limba RENEWAL
James F RimCanadaOnyama Limba RENEWAL
Cody K VocelkaRussiaOnyama Limba PROPOSAL
Murillo G VenereArgentinaAmy Elsner UNQUALIFIED
Silvio C InouyeUnited KingdomAmy Elsner QUALIFIED
Stacey H OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Aditya A SaylorsBrazilAsiya Javayant RENEWAL
Rodrigues P MaletBrazilIoni Bowcher RENEWAL
Chavez A BologniaRussiaAmy Elsner PROPOSAL
Aika R FigeroaGermanyAnna Fali NEW
Francesco W FigeroaUnited KingdomXuxue Feng RENEWAL
Wickens J FlosiJapanAsiya Javayant PROPOSAL
Jeanfrancois O IturbideIndiaXuxue Feng RENEWAL
Munro J GauchoIndiaXuxue Feng QUALIFIED
Misaki A InouyeCanadaXuxue Feng NEW
Izzy V SchemmerFranceIoni Bowcher RENEWAL
James Z NickaGermanyOnyama Limba NEW
Frozen Columns
Name
Maisha X Doe
Darci M Rulapaugh
Jefferson X Nestle
Alejandro T Ferencz
Kadeem V Bolognia
Aruna T Kusko
David T Stenseth
Kadeem I Inouye
Costa L Morasca
Alejandro H Garufi
Morrow X Stenseth
Jeanfrancois O Venere
Faith B Garufi
Jefferson I Amigon
Smith K Rulapaugh
Ricardo T Kolmetz
Misaki P Bolognia
Izzy F Flosi
Isabel T Figeroa
Alejandro V Iturbide
Maria T Glick
Deepesh L Paprocki
Kadeem T Flosi
David H Dilliard
Nicolas H Maclead
Maria C Whobrey
Smith V Maclead
Adams L Kusko
Octavia D Sergi
Murillo Q Perin
Kaitlin N Amigon
Ivar U Campain
Jefferson P Chui
Antonio A Figeroa
Tony Z Flosi
Alejandro V Nestle
Stacey L Dilliard
Maria N Inouye
James M Bowley
Aika P Venere
Leon J Maclead
Stacey E Shinko
Julie Y Kolmetz
Kaitlin H Sergi
Costa R Bowley
Antonio U Kusko
Adams X Poquette
Mujtaba U Bowley
Juan O Kusko
James I Royster
IdCountryDate
1000Spain2025-06-01
1001Germany2025-05-24
1002Russia2025-06-04
1003Canada2025-06-09
1004Canada2025-06-14
1005Argentina2025-06-07
1006Germany2025-06-04
1007Canada2025-06-02
1008Brazil2025-06-09
1009Canada2025-05-22
1010Russia2025-06-13
1011Brazil2025-06-03
1012Italy2025-06-11
1013Brazil2025-06-07
1014Argentina2025-06-04
1015India2025-06-04
1016Argentina2025-06-02
1017France2025-05-23
1018Brazil2025-05-19
1019Japan2025-05-28
1020Germany2025-05-19
1021Russia2025-05-31
1022Australia2025-06-09
1023France2025-06-11
1024Brazil2025-06-11
1025Australia2025-06-12
1026Spain2025-05-29
1027India2025-05-20
1028Spain2025-05-29
1029Germany2025-05-27
1030Japan2025-06-16
1031Germany2025-05-27
1032Russia2025-06-05
1033Germany2025-05-19
1034Japan2025-06-03
1035Germany2025-05-29
1036Argentina2025-06-02
1037Italy2025-05-20
1038Argentina2025-06-04
1039France2025-05-28
1040Brazil2025-06-16
1041Canada2025-05-20
1042Japan2025-05-22
1043Spain2025-05-28
1044Russia2025-06-13
1045Italy2025-06-14
1046France2025-05-23
1047Argentina2025-06-02
1048Russia2025-05-20
1049Canada2025-06-04

On-Demand Data

NameIdCountryDate
Arvin Q Stenseth1000Argentina2025-06-02
Francesco M Poquette1001France2025-05-25
Aditya P Iturbide1002Germany2025-05-27
Wickens A Bowley1003Australia2025-05-30
Ashley K Ferencz1004Spain2025-06-11
Jones H Paprocki1005Argentina2025-06-11
Tony Q Figeroa1006Spain2025-06-04
Adams H Paprocki1007Italy2025-06-05
Stacey Q Garufi1008France2025-05-20
Claire W Royster1009Russia2025-06-14
Arvin L Poquette1010India2025-06-09
Morrow W Stockham1011France2025-05-26
James T Iturbide1012India2025-06-07
Silvio G Vocelka1013Germany2025-06-04
Murillo O Bolognia1014Japan2025-06-09
Salvatore B Marrier1015Argentina2025-06-07
Johnson P Butt1016France2025-05-23
Claire O Marrier1017Spain2025-06-03
Deepesh X Saylors1018India2025-05-25
Darci S Perin1019Canada2025-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo I SergiArgentinaXuxue Feng NEW
Faith T WieserRussiaAnna Fali PROPOSAL
Isabel M RoysterFranceXuxue Feng PROPOSAL
Smith M PerinItalyXuxue Feng NEW
Aika X SlusarskiItalyStephen Shaw RENEWAL
Mujtaba T AmigonArgentinaIoni Bowcher QUALIFIED
Wickens F FollerGermanyAnna Fali UNQUALIFIED
Jeanfrancois S TollnerIndiaStephen Shaw UNQUALIFIED
Aditya Z StockhamJapanOnyama Limba PROPOSAL
Murillo G MaletUnited KingdomAsiya Javayant PROPOSAL
Isabel K DilliardIndiaAnna Fali NEW
Francesco W CaldareraCanadaAmy Elsner UNQUALIFIED
Rodrigues G AlbaresItalyIoni Bowcher UNQUALIFIED
Cody W GauchoCanadaAsiya Javayant PROPOSAL
Ricardo S SlusarskiFranceAsiya Javayant QUALIFIED
David P VocelkaJapanAmy Elsner UNQUALIFIED
Munro W IturbideJapanAsiya Javayant RENEWAL
Octavia Q KuskoUnited KingdomAsiya Javayant RENEWAL
Aika S FollerJapanXuxue Feng UNQUALIFIED
Tony F DarakjyBrazilOnyama Limba NEGOTIATION
Tony H PaprockiRussiaAsiya Javayant UNQUALIFIED
Costa X SchemmerAustraliaIvan Magalhaes RENEWAL
Jeanfrancois S WaycottItalyBernardo Dominic QUALIFIED
Jones G NickaAustraliaIoni Bowcher QUALIFIED
Cody C AmigonSpainAnna Fali NEGOTIATION
Mujtaba H PoquetteIndiaXuxue Feng RENEWAL
Aruna U VenereSpainBernardo Dominic NEW
Misaki B FerenczGermanyXuxue Feng QUALIFIED
Wickens S MaletRussiaElwin Sharvill PROPOSAL
Juan H FollerJapanXuxue Feng UNQUALIFIED
Murillo W BowleyCanadaIoni Bowcher RENEWAL
Antonio Z WaycottJapanIvan Magalhaes QUALIFIED
Kaitlin J FollerJapanBernardo Dominic UNQUALIFIED
Murillo Q FollerRussiaIoni Bowcher UNQUALIFIED
Maisha V VenereFranceStephen Shaw RENEWAL
Ivar M WaycottJapanAsiya Javayant NEGOTIATION
Alejandro B MaletSpainXuxue Feng UNQUALIFIED
Deepesh U ChuiIndiaAmy Elsner UNQUALIFIED
Ricardo I RutaSpainAmy Elsner UNQUALIFIED
Jeanfrancois T GauchoAustraliaOnyama Limba NEGOTIATION

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