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
Leon G InouyeUnited KingdomElwin Sharvill PROPOSAL
Arvin R OstroskyCanadaAnna Fali NEGOTIATION
Nicolas C WieserBrazilOnyama Limba RENEWAL
Stacey E FigeroaUnited KingdomIvan Magalhaes RENEWAL
Clifford T OldroydArgentinaIoni Bowcher PROPOSAL
Jeanfrancois B GarufiIndiaAnna Fali UNQUALIFIED
Isabel K CaudyArgentinaAnna Fali PROPOSAL
Nicolas S IturbideIndiaBernardo Dominic RENEWAL
Maria L RimRussiaElwin Sharvill UNQUALIFIED
David N GillianBrazilOnyama Limba QUALIFIED
Darci N MaletUnited KingdomAsiya Javayant UNQUALIFIED
Leon K GlickAustraliaOnyama Limba UNQUALIFIED
Darci F GlickBrazilBernardo Dominic PROPOSAL
Mujtaba G PerinArgentinaIoni Bowcher RENEWAL
Leon P AmigonFranceBernardo Dominic PROPOSAL
Chavez F GarufiArgentinaAmy Elsner NEGOTIATION
Kaitlin P MaletBrazilIoni Bowcher NEGOTIATION
Munro R MaletBrazilAsiya Javayant UNQUALIFIED
Ricardo F BologniaAustraliaIvan Magalhaes RENEWAL
Greenwood I DilliardSpainIvan Magalhaes QUALIFIED
Ashley W SaylorsArgentinaIvan Magalhaes NEW
Adams Y MacleadJapanAsiya Javayant QUALIFIED
Morrow M BologniaItalyAsiya Javayant QUALIFIED
Misaki X MarrierAustraliaStephen Shaw QUALIFIED
Tony J GillianArgentinaIvan Magalhaes RENEWAL
Faith O ShinkoBrazilStephen Shaw RENEWAL
Antonio U NestleItalyIoni Bowcher RENEWAL
Claire X NestleUnited KingdomIvan Magalhaes NEW
Izzy Q DoeAustraliaElwin Sharvill NEW
Alejandro O WhobreySpainIoni Bowcher NEGOTIATION
Leja T IturbideFranceElwin Sharvill UNQUALIFIED
Ashley S NickaBrazilIoni Bowcher RENEWAL
Wickens E NestleCanadaXuxue Feng NEGOTIATION
Isabel P OstroskyUnited KingdomAmy Elsner RENEWAL
Wickens J RoysterArgentinaStephen Shaw QUALIFIED
Deepesh A DoeGermanyAsiya Javayant NEGOTIATION
Adams K PerinAustraliaIvan Magalhaes NEW
Sinclair S MaletFranceElwin Sharvill NEGOTIATION
Wickens D TollnerArgentinaStephen Shaw NEGOTIATION
Aika R CaldareraItalyAmy Elsner PROPOSAL
Clifford C SaylorsRussiaIoni Bowcher NEW
James B BowleyCanadaStephen Shaw NEGOTIATION
Sinclair Z FollerJapanStephen Shaw NEW
Clifford L MorascaItalyElwin Sharvill RENEWAL
Aditya V ButtIndiaXuxue Feng RENEWAL
Octavia V GillianFranceBernardo Dominic QUALIFIED
Misaki B RulapaughIndiaIvan Magalhaes UNQUALIFIED
Leon L WaycottFranceIoni Bowcher NEGOTIATION
Ricardo G RoysterJapanOnyama Limba NEGOTIATION
Jefferson G ShinkoBrazilXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro I MaletRussiaStephen Shaw RENEWAL
Stacey W StockhamCanadaOnyama Limba QUALIFIED
Juan J IturbideCanadaIvan Magalhaes QUALIFIED
Mujtaba F PoquetteRussiaAsiya Javayant UNQUALIFIED
Wickens S FollerArgentinaAsiya Javayant RENEWAL
Silvio J PaprockiGermanyAmy Elsner NEW
Juan A DoeAustraliaIvan Magalhaes UNQUALIFIED
Silvio P SergiAustraliaElwin Sharvill UNQUALIFIED
Rodrigues G ChuiFranceIoni Bowcher NEW
Costa G MorascaSpainIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore V MaletArgentina2024-05-20King, Christopher A Esq UNQUALIFIED15Ivan Magalhaes
1001Jennifer J SlusarskiSpain2024-05-28Buckley Miller Wright PROPOSAL8Anna Fali
1002Silvio V RulapaughUnited Kingdom2024-06-10Rangoni Of Florence QUALIFIED19Asiya Javayant
1003Salvatore T PaprockiUnited Kingdom2024-06-17King, Christopher A Esq RENEWAL46Anna Fali
1004Ashley O ButtJapan2024-06-02Feltz Printing Service PROPOSAL29Xuxue Feng
1005Julie I NestleGermany2024-06-11Benton, John B Jr NEGOTIATION40Bernardo Dominic
1006Jennifer Z RoysterRussia2024-05-22Buckley Miller Wright QUALIFIED73Asiya Javayant
1007Faith H MaletJapan2024-06-12Commercial Press NEW98Stephen Shaw
1008Isabel F ChuiFrance2024-05-20Commercial Press QUALIFIED65Ioni Bowcher
1009Juan A ButtCanada2024-05-26Dorl, James J Esq PROPOSAL41Elwin Sharvill
1010Mayumi H GlickRussia2024-05-27Benton, John B Jr PROPOSAL94Amy Elsner
1011David I OstroskyRussia2024-05-27King, Christopher A Esq PROPOSAL38Anna Fali
1012Aika P PoquetteCanada2024-06-13Chapman, Ross E Esq UNQUALIFIED58Anna Fali
1013Tony Q IturbideSpain2024-06-13Truhlar And Truhlar Attys NEW41Stephen Shaw
1014Tony W GlickCanada2024-05-21Feltz Printing Service QUALIFIED75Asiya Javayant
1015Emily H MorascaCanada2024-06-16Chanay, Jeffrey A Esq NEGOTIATION70Ioni Bowcher
1016Kaitlin Z MacleadItaly2024-06-16Chemel, James L Cpa PROPOSAL81Ivan Magalhaes
1017Leja C GlickJapan2024-05-28Truhlar And Truhlar Attys RENEWAL19Anna Fali
1018Maria H AmigonFrance2024-05-29Buckley Miller Wright NEGOTIATION34Ioni Bowcher
1019Arvin U FlosiAustralia2024-05-21Feiner Bros NEGOTIATION32Onyama Limba
1020Rodrigues K WieserUnited Kingdom2024-06-17Rousseaux, Michael Esq RENEWAL46Asiya Javayant
1021Cody X KuskoBrazil2024-06-15Printing Dimensions UNQUALIFIED16Ivan Magalhaes
1022Alejandro G CampainSpain2024-05-21King, Christopher A Esq NEGOTIATION86Bernardo Dominic
1023Costa A StensethArgentina2024-05-19Chemel, James L Cpa QUALIFIED80Ioni Bowcher
1024Faith R ButtSpain2024-05-31Dorl, James J Esq NEGOTIATION49Elwin Sharvill
1025Darci O ButtItaly2024-06-09Dorl, James J Esq NEW7Stephen Shaw
1026Sinclair B GarufiArgentina2024-06-07Morlong Associates RENEWAL44Ivan Magalhaes
1027Jefferson J KuskoJapan2024-06-15Rangoni Of Florence PROPOSAL89Elwin Sharvill
1028Jeanfrancois Z RulapaughGermany2024-06-07King, Christopher A Esq NEGOTIATION80Stephen Shaw
1029Wickens O FollerAustralia2024-05-28Truhlar And Truhlar Attys UNQUALIFIED73Amy Elsner
1030Greenwood Y MarrierUnited Kingdom2024-05-26Chapman, Ross E Esq UNQUALIFIED30Asiya Javayant
1031Emily N SaylorsRussia2024-06-02Chanay, Jeffrey A Esq QUALIFIED9Elwin Sharvill
1032Adams Y OstroskyJapan2024-05-19Feltz Printing Service NEGOTIATION73Asiya Javayant
1033Mayumi B PoquetteSpain2024-05-30Feiner Bros NEGOTIATION44Stephen Shaw
1034Greenwood B CampainUnited Kingdom2024-05-20Printing Dimensions UNQUALIFIED31Amy Elsner
1035Mayumi T VenereRussia2024-06-03Feiner Bros QUALIFIED45Asiya Javayant
1036Murillo T RoysterRussia2024-06-07Commercial Press UNQUALIFIED83Stephen Shaw
1037Ashley C TollnerBrazil2024-05-30Feltz Printing Service UNQUALIFIED86Elwin Sharvill
1038Nicolas Z AmigonItaly2024-06-12Chanay, Jeffrey A Esq PROPOSAL19Ioni Bowcher
1039Antonio M GauchoCanada2024-06-02Commercial Press NEGOTIATION62Ioni Bowcher
1040Salvatore Y CampainUnited Kingdom2024-05-31Buckley Miller Wright PROPOSAL4Anna Fali
1041Kaitlin F BriddickFrance2024-06-15Rangoni Of Florence NEGOTIATION60Amy Elsner
1042Misaki M CaldareraUnited Kingdom2024-05-26King, Christopher A Esq PROPOSAL59Asiya Javayant
1043Clifford D AmigonIndia2024-06-11Feltz Printing Service RENEWAL38Elwin Sharvill
1044Arvin Z GlickCanada2024-05-24Rousseaux, Michael Esq PROPOSAL88Asiya Javayant
1045Ivar G PoquetteArgentina2024-06-13Truhlar And Truhlar Attys NEGOTIATION55Stephen Shaw
1046Murillo U ShinkoCanada2024-06-09Chapman, Ross E Esq NEW5Ioni Bowcher
1047Aruna M VenereSpain2024-05-23Chemel, James L Cpa NEW59Amy Elsner
1048Ivar J OstroskyArgentina2024-05-31Buckley Miller Wright NEGOTIATION61Stephen Shaw
1049Maisha N DarakjyItaly2024-06-03King, Christopher A Esq NEGOTIATION97Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Sinclair D ButtCanadaElwin Sharvill QUALIFIED
Aditya Q GillianRussiaAnna Fali PROPOSAL
Jefferson J NestleItalyElwin Sharvill RENEWAL
Aika N NestleJapanIvan Magalhaes PROPOSAL
Darci A ShinkoGermanyOnyama Limba UNQUALIFIED
Kadeem Y VocelkaArgentinaAmy Elsner NEW
Emily D OstroskyFranceOnyama Limba PROPOSAL
Maisha F GauchoGermanyAnna Fali RENEWAL
Munro E PaprockiJapanAnna Fali NEW
Murillo Q InouyeItalyElwin Sharvill UNQUALIFIED
Juan F BriddickGermanyXuxue Feng RENEWAL
Faith Q SaylorsUnited KingdomOnyama Limba NEGOTIATION
Jones R WieserArgentinaAsiya Javayant NEW
Leja I RimArgentinaIoni Bowcher NEW
Smith T SchemmerBrazilOnyama Limba PROPOSAL
Clifford X ChuiFranceAnna Fali QUALIFIED
Kaitlin X PoquetteSpainAsiya Javayant NEGOTIATION
Emily D OldroydSpainElwin Sharvill NEW
Tony B GillianBrazilOnyama Limba UNQUALIFIED
Claire Z CaudyArgentinaBernardo Dominic RENEWAL
Jeanfrancois B DilliardFranceBernardo Dominic UNQUALIFIED
Kadeem B NestleRussiaAmy Elsner QUALIFIED
Aruna M DilliardFranceIoni Bowcher QUALIFIED
Silvio V NestleFranceAmy Elsner QUALIFIED
Wickens P MorascaCanadaAmy Elsner PROPOSAL
Cody S WieserRussiaOnyama Limba QUALIFIED
Kaitlin E OldroydFranceElwin Sharvill PROPOSAL
Silvio L KolmetzFranceIvan Magalhaes QUALIFIED
Francesco E VocelkaBrazilOnyama Limba RENEWAL
Costa T RimGermanyAmy Elsner PROPOSAL
Aika D DarakjyRussiaAsiya Javayant NEW
Silvio U BologniaIndiaOnyama Limba PROPOSAL
James B MacleadGermanyXuxue Feng QUALIFIED
Smith Q SergiJapanIoni Bowcher QUALIFIED
Costa U KuskoCanadaAnna Fali RENEWAL
Murillo B MorascaSpainAmy Elsner NEW
Chavez Y FollerSpainXuxue Feng RENEWAL
Cody T MaletSpainBernardo Dominic QUALIFIED
Silvio P DarakjyFranceBernardo Dominic NEGOTIATION
Alejandro O BriddickRussiaAnna Fali QUALIFIED
Alejandro G GauchoGermanyAnna Fali NEGOTIATION
Izzy H MacleadItalyAsiya Javayant RENEWAL
Johnson C CaudyUnited KingdomAmy Elsner NEGOTIATION
Kaitlin Q DoeBrazilIvan Magalhaes RENEWAL
Juan K ButtIndiaAsiya Javayant PROPOSAL
David R NickaGermanyIvan Magalhaes UNQUALIFIED
Adams Z GauchoBrazilStephen Shaw UNQUALIFIED
Stacey Q GarufiGermanyAmy Elsner NEW
Mayumi C CaudyFranceIoni Bowcher PROPOSAL
Tony P WieserUnited KingdomAnna Fali QUALIFIED
Frozen Columns
Name
Costa O Slusarski
Kaitlin U Oldroyd
Mujtaba B Chui
Darci C Albares
Nicolas H Foller
Julie Q Shinko
Rodrigues H Shinko
Jones S Oldroyd
Aditya G Nicka
Octavia Z Nicka
Isabel C Iturbide
Stacey P Vocelka
Aruna U Kolmetz
Jefferson Y Doe
Chavez G Nestle
Claire B Iturbide
Chavez P Nestle
Rodrigues C Maclead
James U Dilliard
Misaki G Kusko
Sinclair D Albares
Ricardo G Garufi
Arvin I Venere
Emily C Kusko
Antonio B Bowley
Silvio S Kolmetz
Greenwood W Gaucho
Ivar V Dilliard
Isabel Y Malet
Emily M Glick
Morrow P Sergi
Silvio I Campain
Claire J Marrier
Deepesh C Butt
Leja V Maclead
Arvin Z Amigon
Isabel A Shinko
Francesco A Gaucho
Juan H Ostrosky
Alejandro L Rim
Stacey Q Morasca
Mujtaba M Campain
James Q Waycott
Faith Q Saylors
Aruna I Flosi
Juan K Doe
David E Perin
Morrow O Amigon
Kadeem P Wieser
Octavia C Caldarera
IdCountryDate
1000Spain2024-06-05
1001United Kingdom2024-05-20
1002United Kingdom2024-06-14
1003Spain2024-05-19
1004Japan2024-05-23
1005Germany2024-05-30
1006Italy2024-06-13
1007Argentina2024-05-31
1008Canada2024-06-11
1009Canada2024-06-17
1010India2024-05-24
1011United Kingdom2024-06-01
1012Spain2024-06-14
1013Spain2024-06-15
1014Australia2024-06-09
1015Canada2024-05-28
1016Japan2024-06-07
1017Australia2024-05-26
1018United Kingdom2024-05-24
1019Canada2024-06-08
1020United Kingdom2024-06-08
1021France2024-06-12
1022Russia2024-05-26
1023Japan2024-05-31
1024France2024-06-10
1025Canada2024-06-10
1026Brazil2024-05-23
1027Russia2024-05-28
1028Russia2024-06-14
1029Russia2024-06-10
1030United Kingdom2024-05-22
1031India2024-06-01
1032Brazil2024-05-23
1033Argentina2024-06-12
1034Spain2024-06-01
1035Italy2024-06-15
1036India2024-05-20
1037Canada2024-05-26
1038Brazil2024-06-06
1039Canada2024-05-27
1040Germany2024-06-17
1041Japan2024-05-25
1042France2024-05-30
1043France2024-06-12
1044India2024-05-26
1045United Kingdom2024-05-28
1046United Kingdom2024-05-21
1047India2024-05-22
1048Canada2024-06-01
1049Italy2024-06-13

On-Demand Data

NameIdCountryDate
Kaitlin H Gillian1000United Kingdom2024-05-20
Nicolas S Kusko1001India2024-05-21
Antonio Y Perin1002Australia2024-06-07
Ashley I Iturbide1003Australia2024-05-29
Rodrigues Z Campain1004Russia2024-05-19
Leja C Paprocki1005India2024-06-08
Stacey J Caldarera1006Canada2024-05-28
Leja X Bowley1007Italy2024-05-24
Adams Y Kolmetz1008Argentina2024-06-14
Leja S Rulapaugh1009Germany2024-05-29
Aika X Vocelka1010Australia2024-06-06
Emily Y Whobrey1011Russia2024-05-20
Darci L Iturbide1012Italy2024-05-30
Izzy L Briddick1013Italy2024-06-13
Aruna B Ostrosky1014Japan2024-06-09
Kaitlin A Nicka1015Canada2024-06-14
James W Darakjy1016Germany2024-06-07
David Q Nicka1017Argentina2024-06-14
Jones L Inouye1018Russia2024-06-01
Maisha C Saylors1019United Kingdom2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois L ChuiJapanStephen Shaw NEW
Tony H GillianCanadaIvan Magalhaes QUALIFIED
Leja I AmigonBrazilAsiya Javayant QUALIFIED
Munro P BriddickBrazilAsiya Javayant NEW
Jones X RutaSpainBernardo Dominic UNQUALIFIED
Kadeem M KuskoJapanStephen Shaw PROPOSAL
Ashley Y MacleadSpainBernardo Dominic QUALIFIED
David T ChuiJapanStephen Shaw QUALIFIED
Murillo T KuskoGermanyAmy Elsner NEGOTIATION
Cody C KuskoFranceAnna Fali QUALIFIED
Morrow E PerinRussiaIoni Bowcher PROPOSAL
Sinclair A FlosiJapanAnna Fali QUALIFIED
Greenwood G IturbideFranceStephen Shaw UNQUALIFIED
Cody Q MaletBrazilElwin Sharvill NEW
Sinclair C GillianJapanAmy Elsner RENEWAL
Kaitlin U NickaGermanyAmy Elsner PROPOSAL
Arvin D AlbaresUnited KingdomAnna Fali QUALIFIED
Nicolas Q FigeroaArgentinaOnyama Limba NEW
Aruna P MaletIndiaXuxue Feng NEGOTIATION
Nicolas H RutaCanadaIvan Magalhaes PROPOSAL
Maria N GarufiFranceAnna Fali QUALIFIED
Maria C WaycottBrazilAsiya Javayant QUALIFIED
Julie K FlosiCanadaStephen Shaw QUALIFIED
Aditya O PaprockiArgentinaElwin Sharvill PROPOSAL
Rodrigues Z DoeItalyBernardo Dominic QUALIFIED
Izzy R PaprockiIndiaBernardo Dominic UNQUALIFIED
Octavia G WhobreyUnited KingdomIvan Magalhaes NEW
Maria J MacleadUnited KingdomAmy Elsner PROPOSAL
Isabel A GarufiFranceBernardo Dominic QUALIFIED
Morrow X MarrierUnited KingdomAsiya Javayant PROPOSAL
Jefferson F GarufiBrazilAsiya Javayant NEGOTIATION
Jennifer U KolmetzRussiaIoni Bowcher NEW
Silvio U SlusarskiGermanyAnna Fali UNQUALIFIED
Antonio Q PoquetteItalyElwin Sharvill NEGOTIATION
Arvin F IturbideBrazilBernardo Dominic PROPOSAL
Maria S TollnerCanadaAnna Fali NEGOTIATION
Maria W NestleAustraliaAsiya Javayant UNQUALIFIED
Rodrigues B ShinkoSpainAnna Fali NEGOTIATION
Aika A MaletCanadaAnna Fali NEW
Izzy C WieserArgentinaElwin Sharvill 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>