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
Isabel X ShinkoIndiaElwin Sharvill NEW
Murillo G ButtItalyIoni Bowcher UNQUALIFIED
David Z PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem W KuskoSpainAsiya Javayant UNQUALIFIED
Leon J CaldareraRussiaIoni Bowcher NEW
Jefferson A PaprockiGermanyStephen Shaw NEGOTIATION
Misaki S RutaIndiaAmy Elsner PROPOSAL
Deepesh P FollerCanadaIoni Bowcher PROPOSAL
Nicolas E FigeroaSpainOnyama Limba PROPOSAL
Octavia G IturbideItalyOnyama Limba NEW
Jones R RimIndiaStephen Shaw NEW
Julie Q RutaGermanyIvan Magalhaes PROPOSAL
Rodrigues L BriddickBrazilIoni Bowcher RENEWAL
Clifford J AmigonCanadaAmy Elsner NEGOTIATION
David B CaldareraRussiaAsiya Javayant QUALIFIED
Alejandro V SergiFranceIoni Bowcher UNQUALIFIED
Ricardo L MaletAustraliaAsiya Javayant PROPOSAL
Mujtaba L RoysterBrazilXuxue Feng UNQUALIFIED
James G VenereUnited KingdomElwin Sharvill NEW
Tony Z PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Deepesh Q DoeFranceAnna Fali NEW
Arvin U AlbaresUnited KingdomOnyama Limba NEGOTIATION
Darci X SergiGermanyStephen Shaw UNQUALIFIED
Faith S SchemmerAustraliaStephen Shaw RENEWAL
Greenwood I VenereItalyIoni Bowcher PROPOSAL
Clifford N DarakjyUnited KingdomXuxue Feng QUALIFIED
Cody R CaudyItalyAsiya Javayant RENEWAL
Alejandro Q GillianSpainIoni Bowcher NEGOTIATION
Alejandro F NickaSpainElwin Sharvill RENEWAL
Ivar U AlbaresJapanElwin Sharvill NEGOTIATION
Faith E WaycottArgentinaIoni Bowcher QUALIFIED
Smith S MaletBrazilIoni Bowcher NEGOTIATION
Johnson I GlickJapanIvan Magalhaes PROPOSAL
Jones K GarufiAustraliaBernardo Dominic NEGOTIATION
Emily E CaldareraBrazilBernardo Dominic QUALIFIED
Jefferson D GauchoFranceAsiya Javayant PROPOSAL
Chavez Q RulapaughUnited KingdomIoni Bowcher PROPOSAL
Arvin R ShinkoSpainElwin Sharvill RENEWAL
Izzy H KuskoBrazilXuxue Feng QUALIFIED
James B AlbaresJapanIoni Bowcher NEW
Isabel G VocelkaGermanyElwin Sharvill NEW
Jeanfrancois K SergiFranceStephen Shaw PROPOSAL
David Y FollerArgentinaStephen Shaw PROPOSAL
Greenwood I ChuiGermanyAnna Fali NEW
Mujtaba V CaldareraGermanyBernardo Dominic UNQUALIFIED
Clifford G FerenczItalyXuxue Feng QUALIFIED
Clifford A WhobreyAustraliaOnyama Limba NEGOTIATION
Wickens E GlickCanadaElwin Sharvill NEGOTIATION
Mayumi X PoquetteBrazilAsiya Javayant PROPOSAL
Francesco P MacleadGermanyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi K InouyeIndiaAsiya Javayant QUALIFIED
Deepesh A SaylorsGermanyIvan Magalhaes NEW
Kadeem Q MaletBrazilIvan Magalhaes NEW
Rodrigues F RoysterBrazilIvan Magalhaes UNQUALIFIED
Kaitlin R BriddickArgentinaIoni Bowcher QUALIFIED
Tony I WhobreyArgentinaAmy Elsner QUALIFIED
Jeanfrancois C MaletRussiaAsiya Javayant UNQUALIFIED
Murillo K SergiGermanyBernardo Dominic PROPOSAL
Greenwood M BowleyIndiaElwin Sharvill PROPOSAL
Aditya Z MacleadCanadaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Y FlosiAustralia2024-05-29Benton, John B Jr NEGOTIATION80Xuxue Feng
1001Kadeem I SaylorsArgentina2024-06-07Dorl, James J Esq QUALIFIED45Anna Fali
1002Greenwood X RimIndia2024-06-11Rangoni Of Florence RENEWAL63Elwin Sharvill
1003James P SaylorsGermany2024-06-17Commercial Press UNQUALIFIED92Amy Elsner
1004Alejandro H GauchoCanada2024-06-09Printing Dimensions PROPOSAL54Amy Elsner
1005Maria Q IturbideBrazil2024-05-29Chapman, Ross E Esq UNQUALIFIED50Asiya Javayant
1006Rodrigues J ButtJapan2024-06-05Chapman, Ross E Esq NEGOTIATION93Anna Fali
1007Octavia G RoysterAustralia2024-05-31Truhlar And Truhlar Attys NEW46Bernardo Dominic
1008Francesco T DoeJapan2024-06-20Rousseaux, Michael Esq NEW44Asiya Javayant
1009Aditya R CaudyUnited Kingdom2024-06-08Printing Dimensions UNQUALIFIED57Onyama Limba
1010Rodrigues X FlosiRussia2024-06-05Feiner Bros RENEWAL24Xuxue Feng
1011Ashley R FollerCanada2024-05-28Chemel, James L Cpa NEW1Xuxue Feng
1012Deepesh T RulapaughFrance2024-06-18Rangoni Of Florence PROPOSAL12Xuxue Feng
1013Kaitlin A BriddickGermany2024-05-29Printing Dimensions NEW0Bernardo Dominic
1014Murillo P ButtSpain2024-05-26Dorl, James J Esq PROPOSAL35Onyama Limba
1015Jefferson R CaldareraUnited Kingdom2024-06-04Printing Dimensions NEGOTIATION90Asiya Javayant
1016Nicolas J OstroskyRussia2024-05-30Rousseaux, Michael Esq NEGOTIATION80Elwin Sharvill
1017Sinclair E NickaAustralia2024-06-14Rousseaux, Michael Esq QUALIFIED49Stephen Shaw
1018Jeanfrancois Q NickaBrazil2024-05-28King, Christopher A Esq UNQUALIFIED37Ioni Bowcher
1019Jefferson I GlickFrance2024-05-31Chanay, Jeffrey A Esq PROPOSAL62Elwin Sharvill
1020Juan I SlusarskiItaly2024-05-26Feiner Bros QUALIFIED90Elwin Sharvill
1021Salvatore R ShinkoRussia2024-06-01Feltz Printing Service RENEWAL33Amy Elsner
1022Jeanfrancois Y MacleadItaly2024-06-20Chemel, James L Cpa RENEWAL34Anna Fali
1023Ashley G SergiJapan2024-06-11Rangoni Of Florence QUALIFIED84Amy Elsner
1024Kaitlin J IturbideItaly2024-06-13Truhlar And Truhlar Attys NEW54Bernardo Dominic
1025Salvatore M GarufiAustralia2024-05-28Dorl, James J Esq NEW94Ioni Bowcher
1026Emily C DoeBrazil2024-06-09Feltz Printing Service QUALIFIED18Stephen Shaw
1027Juan C BologniaUnited Kingdom2024-06-11Commercial Press NEGOTIATION8Ivan Magalhaes
1028Maria V GauchoRussia2024-06-15Feiner Bros NEW59Amy Elsner
1029Adams K WieserGermany2024-06-02Feiner Bros QUALIFIED11Bernardo Dominic
1030Misaki Q TollnerGermany2024-05-31Chapman, Ross E Esq NEW2Anna Fali
1031Silvio L AmigonCanada2024-06-24Morlong Associates UNQUALIFIED45Ioni Bowcher
1032Ricardo Z FlosiFrance2024-06-16Feltz Printing Service NEGOTIATION58Ivan Magalhaes
1033Mujtaba L WieserJapan2024-06-19Commercial Press NEW23Ioni Bowcher
1034Adams O RutaSpain2024-06-10Feiner Bros NEGOTIATION80Asiya Javayant
1035Kadeem Y TollnerGermany2024-05-30King, Christopher A Esq UNQUALIFIED52Anna Fali
1036Adams B RoysterUnited Kingdom2024-06-23Printing Dimensions RENEWAL72Anna Fali
1037Wickens Z IturbideJapan2024-05-31Dorl, James J Esq QUALIFIED52Xuxue Feng
1038Kadeem L MaletBrazil2024-06-20Chemel, James L Cpa NEW16Asiya Javayant
1039Faith H InouyeBrazil2024-06-23King, Christopher A Esq RENEWAL51Amy Elsner
1040Munro T NickaJapan2024-06-01Commercial Press PROPOSAL55Asiya Javayant
1041Jeanfrancois Y RutaItaly2024-06-17Chemel, James L Cpa UNQUALIFIED52Amy Elsner
1042Johnson X WieserAustralia2024-06-11Dorl, James J Esq PROPOSAL98Elwin Sharvill
1043Kadeem K WieserArgentina2024-06-07Printing Dimensions UNQUALIFIED54Onyama Limba
1044Jeanfrancois P GarufiRussia2024-06-22Chanay, Jeffrey A Esq RENEWAL89Ivan Magalhaes
1045Kadeem V MaletIndia2024-06-03Feltz Printing Service UNQUALIFIED8Anna Fali
1046Clifford B DoeUnited Kingdom2024-06-21Dorl, James J Esq NEGOTIATION13Stephen Shaw
1047Faith A FigeroaArgentina2024-06-21Buckley Miller Wright NEW87Amy Elsner
1048Darci V FerenczAustralia2024-06-24Rousseaux, Michael Esq NEGOTIATION7Ivan Magalhaes
1049Ivar M RoysterJapan2024-06-14Chapman, Ross E Esq QUALIFIED52Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith H ShinkoGermanyIvan Magalhaes NEW
Octavia N GauchoUnited KingdomXuxue Feng PROPOSAL
Jefferson O OstroskyIndiaAnna Fali RENEWAL
Octavia K ShinkoAustraliaOnyama Limba PROPOSAL
Kaitlin M OldroydSpainXuxue Feng RENEWAL
Francesco G MaletUnited KingdomXuxue Feng QUALIFIED
Juan G BologniaFranceIvan Magalhaes UNQUALIFIED
Emily S CaldareraArgentinaBernardo Dominic NEW
Salvatore R CaldareraItalyStephen Shaw PROPOSAL
Claire K GarufiSpainAsiya Javayant NEGOTIATION
David Z TollnerArgentinaAnna Fali PROPOSAL
Kaitlin T VocelkaItalyIvan Magalhaes NEW
Leja S WaycottUnited KingdomIvan Magalhaes NEW
Aika I KuskoCanadaAmy Elsner PROPOSAL
Misaki D GauchoJapanAnna Fali NEW
Cody X RimUnited KingdomXuxue Feng UNQUALIFIED
Maria L PaprockiAustraliaOnyama Limba PROPOSAL
Wickens R WaycottUnited KingdomAmy Elsner QUALIFIED
Julie L SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Emily G SergiRussiaStephen Shaw NEW
Izzy C PoquetteArgentinaIoni Bowcher QUALIFIED
Jones P NickaRussiaBernardo Dominic RENEWAL
Deepesh F VenereIndiaElwin Sharvill UNQUALIFIED
Stacey C IturbideSpainAmy Elsner RENEWAL
Costa W BowleyItalyStephen Shaw NEW
Misaki Z SaylorsAustraliaAnna Fali NEGOTIATION
Silvio H IturbideCanadaStephen Shaw RENEWAL
Francesco G GillianFranceXuxue Feng PROPOSAL
Kaitlin H NestleSpainXuxue Feng NEW
Morrow D TollnerUnited KingdomXuxue Feng NEW
Leon Y SaylorsRussiaAnna Fali RENEWAL
Octavia H GauchoAustraliaAnna Fali NEGOTIATION
Greenwood B OldroydCanadaBernardo Dominic QUALIFIED
Octavia E GlickFranceAmy Elsner PROPOSAL
Aditya I DarakjyJapanIoni Bowcher QUALIFIED
Julie R BriddickBrazilBernardo Dominic NEW
Aditya N MorascaArgentinaStephen Shaw NEW
Jefferson D StockhamGermanyIvan Magalhaes RENEWAL
Antonio F OldroydCanadaXuxue Feng PROPOSAL
Aika X RoysterCanadaAsiya Javayant UNQUALIFIED
Aika J MorascaArgentinaIoni Bowcher NEGOTIATION
Wickens M WieserJapanAsiya Javayant QUALIFIED
Jeanfrancois O CaldareraGermanyOnyama Limba QUALIFIED
Johnson E TollnerBrazilOnyama Limba NEW
Julie U PaprockiRussiaElwin Sharvill RENEWAL
Emily V WieserCanadaIvan Magalhaes PROPOSAL
Munro S StockhamArgentinaXuxue Feng RENEWAL
Kadeem R MacleadRussiaAmy Elsner RENEWAL
Darci T ChuiIndiaBernardo Dominic NEW
Silvio C SergiSpainIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Adams A Morasca
Aditya P Kusko
David C Bolognia
Deepesh X Poquette
Wickens R Garufi
Juan R Waycott
Leja E Stockham
Greenwood T Royster
Leja A Rim
Izzy N Shinko
Aditya D Nicka
Octavia V Paprocki
Chavez S Inouye
Jennifer G Wieser
Ashley D Shinko
Munro K Amigon
Julie D Nicka
David W Gillian
Darci O Gillian
Rodrigues R Paprocki
Arvin Y Bolognia
Nicolas J Glick
Sinclair D Schemmer
Antonio W Waycott
Morrow A Kusko
Claire J Morasca
Ricardo K Rim
Izzy T Paprocki
Kadeem L Slusarski
Leja O Poquette
Ricardo R Albares
James X Slusarski
David F Schemmer
Leja A Chui
Morrow E Bowley
Aika G Kolmetz
Aika I Doe
Adams W Poquette
Kaitlin B Ostrosky
Isabel X Rulapaugh
Maria S Butt
Isabel C Garufi
Johnson V Iturbide
Silvio J Ferencz
Sinclair E Flosi
Misaki N Iturbide
Octavia G Morasca
Johnson M Dilliard
Sinclair P Tollner
Kadeem N Doe
IdCountryDate
1000France2024-06-19
1001Australia2024-05-27
1002Argentina2024-06-04
1003Russia2024-06-07
1004Russia2024-05-28
1005United Kingdom2024-05-29
1006Russia2024-05-31
1007United Kingdom2024-06-08
1008Russia2024-06-21
1009Germany2024-06-02
1010Italy2024-06-24
1011Argentina2024-06-24
1012India2024-06-12
1013India2024-06-19
1014Germany2024-06-24
1015Spain2024-05-28
1016Australia2024-05-26
1017Germany2024-06-11
1018Brazil2024-06-18
1019Argentina2024-06-10
1020Japan2024-06-21
1021Brazil2024-06-12
1022Argentina2024-06-20
1023Argentina2024-05-27
1024Japan2024-06-07
1025Russia2024-06-21
1026Canada2024-06-15
1027India2024-06-13
1028Brazil2024-06-18
1029Italy2024-05-28
1030United Kingdom2024-05-27
1031Italy2024-06-21
1032France2024-06-13
1033Canada2024-06-19
1034Italy2024-05-27
1035Argentina2024-06-11
1036Canada2024-06-10
1037Australia2024-06-12
1038Japan2024-06-04
1039Germany2024-05-28
1040France2024-05-27
1041India2024-06-15
1042Russia2024-05-26
1043Australia2024-06-07
1044France2024-06-15
1045Spain2024-06-14
1046Australia2024-06-10
1047Germany2024-06-05
1048India2024-06-21
1049Canada2024-06-18

On-Demand Data

NameIdCountryDate
Mujtaba R Caldarera1000France2024-06-09
Wickens R Amigon1001Australia2024-06-24
Clifford I Bolognia1002United Kingdom2024-06-08
Ricardo Z Shinko1003Russia2024-06-18
Ashley Q Bowley1004Russia2024-06-11
Ivar T Nestle1005France2024-06-13
Juan S Bolognia1006Brazil2024-06-08
Wickens H Nestle1007Australia2024-06-07
Greenwood I Ruta1008India2024-06-09
Jeanfrancois E Malet1009Argentina2024-05-30
Leja A Rulapaugh1010Canada2024-06-08
Deepesh G Caudy1011Argentina2024-06-11
Silvio U Doe1012Italy2024-06-20
Ricardo W Garufi1013Japan2024-05-31
Aika G Briddick1014India2024-06-14
Mayumi O Oldroyd1015Australia2024-06-02
Leja K Campain1016Canada2024-05-30
Cody D Shinko1017United Kingdom2024-06-19
Mujtaba K Garufi1018Brazil2024-06-14
Julie A Stockham1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha R OstroskyBrazilBernardo Dominic QUALIFIED
Jeanfrancois B RutaBrazilAsiya Javayant UNQUALIFIED
Jones C WhobreyUnited KingdomAmy Elsner PROPOSAL
Greenwood S CaldareraAustraliaBernardo Dominic NEGOTIATION
Ricardo X ShinkoRussiaOnyama Limba RENEWAL
Murillo C GarufiRussiaStephen Shaw RENEWAL
Greenwood Y DoeArgentinaAnna Fali PROPOSAL
Isabel G SlusarskiJapanOnyama Limba QUALIFIED
Leja S PerinJapanAnna Fali NEW
Aditya G DoeArgentinaXuxue Feng QUALIFIED
Jennifer M SlusarskiArgentinaElwin Sharvill RENEWAL
Murillo Y KolmetzItalyIoni Bowcher NEW
Maisha T NickaIndiaAnna Fali RENEWAL
Salvatore P ChuiGermanyXuxue Feng NEGOTIATION
Maria I SaylorsIndiaIvan Magalhaes NEW
Izzy C WhobreyFranceOnyama Limba RENEWAL
Jennifer T MaletArgentinaAmy Elsner RENEWAL
Antonio Z MaletRussiaOnyama Limba NEGOTIATION
James K RutaSpainAsiya Javayant NEW
Darci P AlbaresRussiaElwin Sharvill NEW
Ivar D NestleUnited KingdomOnyama Limba NEGOTIATION
Cody N RoysterArgentinaIvan Magalhaes NEGOTIATION
Nicolas J InouyeCanadaIvan Magalhaes QUALIFIED
Ivar B BowleyAustraliaAnna Fali NEW
Jennifer M SchemmerJapanBernardo Dominic NEW
Ivar H MacleadSpainOnyama Limba NEW
Jones M WieserFranceStephen Shaw UNQUALIFIED
Ashley Q OldroydFranceAmy Elsner UNQUALIFIED
Ashley G IturbideAustraliaXuxue Feng NEW
Adams V BologniaAustraliaXuxue Feng NEGOTIATION
James P CaudyUnited KingdomIoni Bowcher PROPOSAL
Tony B NestleSpainXuxue Feng UNQUALIFIED
Wickens Y SchemmerSpainElwin Sharvill NEW
Octavia D DarakjyFranceBernardo Dominic PROPOSAL
Costa I SchemmerItalyAmy Elsner RENEWAL
Ricardo Q NestleArgentinaIoni Bowcher RENEWAL
Aditya D FlosiFranceAnna Fali UNQUALIFIED
Ricardo M GlickRussiaAsiya Javayant QUALIFIED
Wickens T KuskoGermanyXuxue Feng NEGOTIATION
Ashley M GarufiCanadaBernardo Dominic 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>