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
Darci R RimAustraliaBernardo Dominic UNQUALIFIED
Alejandro L SlusarskiJapanElwin Sharvill NEGOTIATION
Maisha L GarufiBrazilAmy Elsner QUALIFIED
Silvio U WhobreyGermanyElwin Sharvill RENEWAL
Francesco L DilliardItalyAnna Fali RENEWAL
Deepesh H ShinkoIndiaElwin Sharvill UNQUALIFIED
Aditya I RimSpainStephen Shaw NEGOTIATION
Mayumi U CaldareraSpainStephen Shaw UNQUALIFIED
Adams M GlickItalyAnna Fali UNQUALIFIED
Kaitlin T MaletAustraliaAmy Elsner PROPOSAL
Tony T SergiUnited KingdomBernardo Dominic NEW
Francesco F ChuiArgentinaAnna Fali QUALIFIED
Mayumi B GillianGermanyAsiya Javayant NEW
Octavia J BowleyFranceIoni Bowcher NEW
Darci O BowleyRussiaStephen Shaw QUALIFIED
Silvio Q DarakjyCanadaAsiya Javayant QUALIFIED
Isabel P OldroydArgentinaAnna Fali NEW
Ricardo J SergiJapanXuxue Feng RENEWAL
Sinclair Q PerinGermanyXuxue Feng RENEWAL
Emily L NickaGermanyStephen Shaw QUALIFIED
Sinclair B SlusarskiSpainAnna Fali NEW
Jones C InouyeRussiaAnna Fali RENEWAL
Antonio Q VocelkaIndiaElwin Sharvill RENEWAL
Silvio L SchemmerAustraliaElwin Sharvill NEGOTIATION
Octavia R KuskoFranceElwin Sharvill UNQUALIFIED
Murillo K OstroskyIndiaElwin Sharvill UNQUALIFIED
Mayumi K VenereIndiaAnna Fali QUALIFIED
Rodrigues U NestleSpainElwin Sharvill NEW
Aditya L DarakjySpainXuxue Feng PROPOSAL
Kaitlin X KuskoJapanAmy Elsner NEGOTIATION
Jefferson N NickaBrazilXuxue Feng RENEWAL
Sinclair H NestleArgentinaIvan Magalhaes QUALIFIED
Kaitlin L RulapaughCanadaStephen Shaw UNQUALIFIED
Deepesh S BriddickItalyStephen Shaw QUALIFIED
Ricardo Z ChuiSpainAsiya Javayant QUALIFIED
Maisha G MaletFranceElwin Sharvill NEW
Kadeem Y RimRussiaAsiya Javayant PROPOSAL
Nicolas E PoquetteRussiaAmy Elsner NEGOTIATION
Jones O BologniaArgentinaAnna Fali QUALIFIED
Johnson F CampainRussiaStephen Shaw RENEWAL
Wickens E GlickGermanyBernardo Dominic NEW
David A VenereJapanBernardo Dominic NEW
Jefferson K PoquetteFranceStephen Shaw NEGOTIATION
Morrow B RutaJapanElwin Sharvill UNQUALIFIED
Ivar X VenereJapanAmy Elsner PROPOSAL
Ricardo K RoysterArgentinaOnyama Limba PROPOSAL
David Y SchemmerUnited KingdomAsiya Javayant QUALIFIED
David O PoquetteIndiaAmy Elsner UNQUALIFIED
Jefferson M AlbaresArgentinaAmy Elsner NEW
Maisha X MaletUnited KingdomXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Jones W MaletSpainAnna Fali QUALIFIED
David K RutaUnited KingdomBernardo Dominic NEW
Wickens C BowleySpainAnna Fali NEGOTIATION
Adams O MacleadIndiaIoni Bowcher RENEWAL
Mayumi Y AmigonFranceOnyama Limba NEW
Ashley W NickaBrazilXuxue Feng NEW
Wickens W VocelkaItalyStephen Shaw QUALIFIED
Emily G SaylorsSpainStephen Shaw NEW
Mujtaba D FerenczArgentinaXuxue Feng NEGOTIATION
Jeanfrancois H NestleIndiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas F MacleadItaly2024-06-04Chemel, James L Cpa PROPOSAL23Bernardo Dominic
1001Deepesh J CaudyBrazil2024-05-29Feltz Printing Service PROPOSAL16Ivan Magalhaes
1002Arvin V MarrierIndia2024-06-13Chanay, Jeffrey A Esq NEGOTIATION81Asiya Javayant
1003Tony H GauchoSpain2024-05-25Dorl, James J Esq PROPOSAL75Elwin Sharvill
1004Ricardo G WieserArgentina2024-06-15Chanay, Jeffrey A Esq NEW23Stephen Shaw
1005Clifford Y PaprockiJapan2024-06-10Feiner Bros RENEWAL25Elwin Sharvill
1006Murillo X StockhamSpain2024-06-13Chanay, Jeffrey A Esq NEGOTIATION37Amy Elsner
1007David H FerenczRussia2024-05-31Truhlar And Truhlar Attys PROPOSAL8Onyama Limba
1008Jefferson S OldroydSpain2024-05-29Chapman, Ross E Esq RENEWAL68Anna Fali
1009Jefferson Q IturbideJapan2024-06-07Printing Dimensions RENEWAL38Elwin Sharvill
1010Ivar J ShinkoIndia2024-06-15Feiner Bros UNQUALIFIED51Ivan Magalhaes
1011Jennifer J BowleyFrance2024-06-02Chapman, Ross E Esq UNQUALIFIED59Elwin Sharvill
1012Emily F KolmetzRussia2024-06-09Chemel, James L Cpa NEGOTIATION52Onyama Limba
1013Clifford F InouyeGermany2024-06-12Chemel, James L Cpa NEGOTIATION10Ivan Magalhaes
1014Clifford B PoquetteArgentina2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED10Onyama Limba
1015Clifford Z WhobreyIndia2024-06-12Chapman, Ross E Esq RENEWAL86Xuxue Feng
1016Rodrigues G VenereUnited Kingdom2024-06-20Chapman, Ross E Esq PROPOSAL51Ioni Bowcher
1017Leon H GlickUnited Kingdom2024-06-17Chanay, Jeffrey A Esq QUALIFIED71Ivan Magalhaes
1018James P RutaRussia2024-06-10Chapman, Ross E Esq NEGOTIATION80Ioni Bowcher
1019Juan R PaprockiBrazil2024-06-16Buckley Miller Wright QUALIFIED52Bernardo Dominic
1020Leon A SaylorsUnited Kingdom2024-05-24Feiner Bros UNQUALIFIED14Ivan Magalhaes
1021Greenwood O WaycottUnited Kingdom2024-06-21Chapman, Ross E Esq QUALIFIED56Ioni Bowcher
1022Smith C WieserJapan2024-05-25Rangoni Of Florence NEGOTIATION61Xuxue Feng
1023Isabel Z DilliardRussia2024-06-06Printing Dimensions RENEWAL55Asiya Javayant
1024Aika X FerenczGermany2024-06-09Truhlar And Truhlar Attys PROPOSAL24Stephen Shaw
1025Greenwood N PaprockiBrazil2024-06-07Buckley Miller Wright NEW62Ivan Magalhaes
1026Jefferson K DoeIndia2024-05-29Buckley Miller Wright RENEWAL47Ioni Bowcher
1027Munro X MarrierFrance2024-06-16Chemel, James L Cpa NEW45Amy Elsner
1028Aruna A IturbideArgentina2024-05-30Rangoni Of Florence QUALIFIED3Bernardo Dominic
1029David K SaylorsSpain2024-06-08Morlong Associates PROPOSAL99Bernardo Dominic
1030Julie O IturbideGermany2024-06-17Buckley Miller Wright NEW15Amy Elsner
1031Izzy W BriddickSpain2024-06-14Chemel, James L Cpa PROPOSAL8Ivan Magalhaes
1032Adams T GauchoRussia2024-05-24Chanay, Jeffrey A Esq PROPOSAL37Ivan Magalhaes
1033Mujtaba S GauchoFrance2024-06-02Printing Dimensions UNQUALIFIED79Ivan Magalhaes
1034Tony D FollerGermany2024-06-01Rangoni Of Florence PROPOSAL7Ivan Magalhaes
1035Morrow J DarakjyJapan2024-06-09Dorl, James J Esq PROPOSAL9Xuxue Feng
1036Aika Y WaycottSpain2024-06-11Printing Dimensions RENEWAL88Asiya Javayant
1037James L GarufiRussia2024-06-17King, Christopher A Esq NEGOTIATION65Asiya Javayant
1038Jefferson F AlbaresIndia2024-06-20Commercial Press QUALIFIED79Anna Fali
1039Maria G InouyeJapan2024-05-30Rangoni Of Florence UNQUALIFIED62Ioni Bowcher
1040Julie B AlbaresArgentina2024-06-14Printing Dimensions NEGOTIATION29Stephen Shaw
1041Maria I InouyeIndia2024-06-20Printing Dimensions NEGOTIATION25Bernardo Dominic
1042Tony U GauchoGermany2024-06-10Commercial Press QUALIFIED51Stephen Shaw
1043Leon E StockhamUnited Kingdom2024-06-06Buckley Miller Wright NEW73Asiya Javayant
1044Smith N KolmetzJapan2024-06-17Rousseaux, Michael Esq NEW50Elwin Sharvill
1045Julie T OstroskyItaly2024-06-11Buckley Miller Wright NEGOTIATION94Xuxue Feng
1046Alejandro E VenereAustralia2024-06-01Rangoni Of Florence RENEWAL41Amy Elsner
1047Mujtaba P CaudyIndia2024-06-03Truhlar And Truhlar Attys NEGOTIATION15Amy Elsner
1048Emily K SergiUnited Kingdom2024-06-16Dorl, James J Esq QUALIFIED63Bernardo Dominic
1049Aika W GarufiCanada2024-06-11Feiner Bros UNQUALIFIED40Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin M WaycottGermanyAmy Elsner QUALIFIED
Octavia W WhobreyUnited KingdomAsiya Javayant NEW
Ivar P MacleadArgentinaIoni Bowcher UNQUALIFIED
Maria P FollerArgentinaIoni Bowcher RENEWAL
Adams E VenereSpainIvan Magalhaes NEW
Costa I CaldareraIndiaElwin Sharvill RENEWAL
David V InouyeUnited KingdomIvan Magalhaes RENEWAL
Mujtaba I InouyeRussiaXuxue Feng PROPOSAL
Aditya Y DilliardArgentinaElwin Sharvill UNQUALIFIED
Leja A DilliardCanadaXuxue Feng UNQUALIFIED
Julie J BriddickBrazilAnna Fali NEW
Jefferson W TollnerRussiaOnyama Limba RENEWAL
Nicolas T WhobreyAustraliaXuxue Feng NEW
James H MarrierBrazilIoni Bowcher NEGOTIATION
Arvin T SlusarskiGermanyOnyama Limba QUALIFIED
Jefferson O GauchoAustraliaBernardo Dominic PROPOSAL
Leon X FigeroaSpainIvan Magalhaes UNQUALIFIED
Darci K GarufiAustraliaBernardo Dominic NEW
Ashley W IturbideCanadaIoni Bowcher RENEWAL
Chavez M DarakjyGermanyIoni Bowcher NEGOTIATION
Octavia S WaycottGermanyBernardo Dominic QUALIFIED
Aika Z InouyeArgentinaBernardo Dominic NEGOTIATION
Aruna G PaprockiJapanStephen Shaw UNQUALIFIED
Octavia V IturbideUnited KingdomBernardo Dominic PROPOSAL
Deepesh P MarrierGermanyBernardo Dominic NEGOTIATION
Rodrigues F SaylorsAustraliaAmy Elsner PROPOSAL
Smith U OldroydAustraliaXuxue Feng NEW
Tony P RutaArgentinaXuxue Feng UNQUALIFIED
David O IturbideRussiaAsiya Javayant NEW
Octavia I AmigonGermanyAnna Fali NEGOTIATION
Juan A FlosiJapanIvan Magalhaes UNQUALIFIED
Jeanfrancois Z MaletArgentinaIoni Bowcher RENEWAL
Octavia W GillianFranceIvan Magalhaes NEGOTIATION
Antonio S ChuiUnited KingdomIvan Magalhaes RENEWAL
Ivar K FollerCanadaAsiya Javayant UNQUALIFIED
Costa K AmigonSpainAsiya Javayant QUALIFIED
Emily T VenereAustraliaIvan Magalhaes RENEWAL
Leja Q KuskoIndiaElwin Sharvill NEW
Izzy K IturbideIndiaAmy Elsner NEGOTIATION
Mayumi F WhobreyBrazilElwin Sharvill RENEWAL
Morrow V PaprockiJapanIoni Bowcher QUALIFIED
Izzy D KuskoFranceAnna Fali NEGOTIATION
Misaki Y GauchoGermanyOnyama Limba RENEWAL
Mayumi G IturbideIndiaBernardo Dominic PROPOSAL
Claire K MaletSpainAnna Fali UNQUALIFIED
Leja V CaldareraIndiaStephen Shaw RENEWAL
Emily I SergiBrazilIoni Bowcher QUALIFIED
Kadeem U RutaAustraliaAsiya Javayant NEW
Antonio P BriddickIndiaOnyama Limba NEW
Cody W RoysterItalyAnna Fali RENEWAL
Frozen Columns
Name
Nicolas U Oldroyd
Leja A Doe
Chavez U Ferencz
Aruna U Foller
David C Iturbide
Rodrigues R Iturbide
Deepesh R Briddick
Johnson E Perin
Morrow J Gillian
Costa A Malet
Isabel C Malet
Stacey Z Waycott
Wickens L Slusarski
Antonio W Amigon
Silvio U Rim
Juan V Stenseth
Stacey C Stockham
Adams J Caldarera
Claire C Caudy
Ashley E Gaucho
Claire T Wieser
Kadeem P Flosi
Clifford S Foller
Kadeem N Butt
Rodrigues H Schemmer
Murillo U Perin
Ashley P Garufi
Ricardo B Wieser
Tony N Bolognia
Cody R Shinko
Jeanfrancois I Poquette
Nicolas S Campain
Mujtaba K Waycott
Aika X Saylors
Julie W Poquette
Aika L Malet
Francesco H Ferencz
Leon N Darakjy
Antonio K Garufi
Murillo J Malet
Maisha C Caudy
Adams Y Nestle
Aruna N Kusko
Salvatore H Tollner
David K Figeroa
Kaitlin I Whobrey
Maria M Paprocki
Aditya X Iturbide
Leja N Briddick
Greenwood T Morasca
IdCountryDate
1000Germany2024-06-11
1001Brazil2024-05-23
1002Australia2024-06-21
1003Spain2024-06-15
1004Canada2024-06-20
1005Australia2024-05-29
1006Italy2024-06-07
1007India2024-06-08
1008Germany2024-06-08
1009Brazil2024-06-05
1010Australia2024-06-03
1011Russia2024-05-26
1012Russia2024-05-23
1013Japan2024-05-25
1014Italy2024-06-14
1015Canada2024-05-23
1016United Kingdom2024-06-04
1017Argentina2024-06-10
1018Canada2024-06-21
1019Australia2024-06-19
1020Russia2024-05-24
1021Germany2024-06-03
1022France2024-05-24
1023France2024-05-31
1024Brazil2024-05-26
1025Argentina2024-06-14
1026Canada2024-06-16
1027Italy2024-06-01
1028United Kingdom2024-06-13
1029Italy2024-05-29
1030Australia2024-06-08
1031Australia2024-05-26
1032Canada2024-05-23
1033India2024-05-25
1034Canada2024-05-29
1035United Kingdom2024-05-27
1036Japan2024-06-19
1037Germany2024-06-20
1038Italy2024-06-03
1039Canada2024-05-30
1040France2024-06-12
1041Italy2024-06-14
1042Italy2024-06-18
1043Spain2024-06-10
1044Italy2024-05-29
1045Germany2024-06-02
1046France2024-06-02
1047Japan2024-05-31
1048India2024-06-07
1049Australia2024-05-24

On-Demand Data

NameIdCountryDate
Claire N Darakjy1000Canada2024-06-05
Wickens W Flosi1001Italy2024-06-20
Stacey A Gillian1002Russia2024-05-28
Ivar V Venere1003Spain2024-06-10
Kaitlin L Albares1004Germany2024-06-16
Aruna B Glick1005Canada2024-05-31
Antonio M Butt1006Italy2024-06-21
Johnson H Amigon1007India2024-06-03
Aika M Ferencz1008Spain2024-06-12
Aruna J Figeroa1009Australia2024-06-11
James N Kusko1010United Kingdom2024-06-07
Arvin O Perin1011India2024-06-05
Jeanfrancois D Waycott1012India2024-05-31
Julie C Whobrey1013Japan2024-06-09
Darci Q Caudy1014France2024-06-04
Izzy K Venere1015Japan2024-06-07
Maria J Malet1016Australia2024-06-14
Izzy H Iturbide1017India2024-06-16
Faith P Perin1018Germany2024-06-04
Johnson G Iturbide1019Germany2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Z FerenczArgentinaBernardo Dominic NEW
Kaitlin C GillianJapanElwin Sharvill RENEWAL
Salvatore L NestleJapanXuxue Feng UNQUALIFIED
Morrow O MaletItalyOnyama Limba UNQUALIFIED
Izzy W BowleyRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois D AmigonRussiaAsiya Javayant UNQUALIFIED
Antonio B FollerUnited KingdomIoni Bowcher PROPOSAL
Claire R BriddickArgentinaBernardo Dominic NEGOTIATION
Maria M MaletFranceAnna Fali RENEWAL
Tony Q WaycottRussiaIvan Magalhaes QUALIFIED
Darci K TollnerUnited KingdomXuxue Feng QUALIFIED
Faith R MacleadGermanyStephen Shaw NEW
Leon Q CaldareraJapanElwin Sharvill NEW
Tony C SlusarskiFranceStephen Shaw RENEWAL
Mayumi J OstroskyAustraliaOnyama Limba PROPOSAL
Greenwood R SlusarskiBrazilAnna Fali NEW
Greenwood B CaudyGermanyAnna Fali NEGOTIATION
Costa Q FlosiFranceAnna Fali UNQUALIFIED
Jefferson F CampainJapanIoni Bowcher PROPOSAL
Ricardo K PaprockiSpainAnna Fali PROPOSAL
Aika D CaudyBrazilElwin Sharvill NEGOTIATION
Johnson D GauchoAustraliaIoni Bowcher NEGOTIATION
Alejandro A PaprockiSpainBernardo Dominic PROPOSAL
Maisha Q BowleyBrazilOnyama Limba NEW
Arvin A ChuiSpainIvan Magalhaes RENEWAL
Aruna W GillianBrazilAmy Elsner NEW
Isabel W MacleadUnited KingdomStephen Shaw QUALIFIED
Alejandro X NestleRussiaAnna Fali PROPOSAL
Cody T BriddickFranceXuxue Feng UNQUALIFIED
Izzy A DoeAustraliaOnyama Limba QUALIFIED
Octavia G OldroydBrazilStephen Shaw NEGOTIATION
David K KolmetzSpainOnyama Limba RENEWAL
Isabel H GauchoFranceIvan Magalhaes PROPOSAL
Kadeem M MorascaArgentinaOnyama Limba NEW
Aika U WaycottCanadaXuxue Feng RENEWAL
Costa S WaycottSpainElwin Sharvill NEGOTIATION
Emily M IturbideArgentinaAnna Fali QUALIFIED
Stacey M KuskoItalyBernardo Dominic NEGOTIATION
Faith I RimIndiaAsiya Javayant UNQUALIFIED
Wickens B WieserJapanAmy Elsner QUALIFIED

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