Locale

Change the locale of the datepicker, schedule and client side validation messages.

Input Style

Free Themes

Built-in component themes created by the PrimeFaces Theme Designer.

PrimeOne Design

Saga Saga
Vela Vela
Arya Arya

Premium Themes

Premium themes are only available exclusively for PrimeFaces Theme Designer subscribers and therefore not included in PrimeFaces core.

Bootstrap light blue and dark blue themes are also included in PrimeFaces 10.x builds for Elite subscribers.

bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple

Legacy Free Themes

Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink
Nova Nova
Nova Nova Alt
Nova Nova Accent

PREMIUM TEMPLATES

Create awesome applications in no time using the premium templates and impress your users.

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Jennifer AmigonRussiaXuxue Feng QUALIFIED
Jefferson SchemmerFranceBernardo Dominic QUALIFIED
Cody SaylorsJapanStephen Shaw NEW
Jeanfrancois VenereFranceXuxue Feng QUALIFIED
Julie StensethRussiaElwin Sharvill NEGOTIATION
Munro FerenczGermanyElwin Sharvill PROPOSAL
Jennifer AmigonJapanOnyama Limba NEW
Rodrigues CampainItalyIoni Bowcher UNQUALIFIED
Tony FollerAustraliaOnyama Limba NEGOTIATION
Morrow RutaFranceBernardo Dominic RENEWAL
Silvio SlusarskiUnited KingdomAmy Elsner RENEWAL
Silvio SlusarskiCanadaIvan Magalhaes PROPOSAL
Nicolas IturbideCanadaAsiya Javayant RENEWAL
Alejandro PerinJapanXuxue Feng PROPOSAL
Octavia MaletFranceIoni Bowcher PROPOSAL
Sinclair WaycottFranceAmy Elsner QUALIFIED
Francesco ShinkoFranceOnyama Limba PROPOSAL
Smith GlickCanadaStephen Shaw QUALIFIED
Murillo MaletGermanyIoni Bowcher UNQUALIFIED
Wickens NestleRussiaOnyama Limba RENEWAL
Ashley DoeCanadaXuxue Feng QUALIFIED
Jefferson SchemmerJapanAsiya Javayant RENEWAL
Tony FollerBrazilBernardo Dominic NEGOTIATION
Kadeem FlosiIndiaAsiya Javayant RENEWAL
Clifford RimArgentinaIoni Bowcher RENEWAL
Leon OldroydUnited KingdomAmy Elsner NEGOTIATION
Tony FollerRussiaAmy Elsner RENEWAL
Clifford RimCanadaElwin Sharvill RENEWAL
James ButtCanadaStephen Shaw QUALIFIED
Aika InouyeArgentinaElwin Sharvill UNQUALIFIED
Stacey MacleadBrazilIoni Bowcher PROPOSAL
Emily WhobreyIndiaStephen Shaw NEGOTIATION
Jones VocelkaUnited KingdomOnyama Limba NEW
Leja CaldareraAustraliaElwin Sharvill QUALIFIED
Greenwood BologniaAustraliaXuxue Feng UNQUALIFIED
Darci PoquetteGermanyAmy Elsner PROPOSAL
Silvio SlusarskiBrazilIoni Bowcher NEW
Murillo MaletUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair WaycottUnited KingdomAnna Fali RENEWAL
Ashley DoeGermanyXuxue Feng NEW
Octavia MaletBrazilIvan Magalhaes QUALIFIED
Arvin AlbaresUnited KingdomXuxue Feng NEGOTIATION
Stacey MacleadFranceAmy Elsner QUALIFIED
James ButtCanadaAmy Elsner UNQUALIFIED
Munro FerenczCanadaStephen Shaw NEGOTIATION
Francesco ShinkoCanadaAsiya Javayant RENEWAL
Izzy GarufiAustraliaAnna Fali QUALIFIED
Jefferson SchemmerBrazilIvan Magalhaes PROPOSAL
Kaitlin OstroskyGermanyAmy Elsner QUALIFIED
Izzy GarufiUnited KingdomAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley DoeItalyAmy Elsner UNQUALIFIED
Misaki RoysterIndiaXuxue Feng PROPOSAL
Murillo MaletFranceXuxue Feng PROPOSAL
Octavia MaletAustraliaOnyama Limba UNQUALIFIED
Morrow RutaItalyAmy Elsner NEGOTIATION
Rodrigues CampainSpainStephen Shaw PROPOSAL
Tony FollerArgentinaAnna Fali NEGOTIATION
Jefferson SchemmerJapanBernardo Dominic NEGOTIATION
David DarakjyCanadaBernardo Dominic UNQUALIFIED
Maisha RulapaughUnited KingdomAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair WaycottUnited Kingdom2021-05-01Feltz Printing Service NEGOTIATION83Elwin Sharvill
1001Tony FollerItaly2021-04-24Commercial Press QUALIFIED9Onyama Limba
1002Chavez BriddickAustralia2021-05-02Rangoni Of Florence NEW40Amy Elsner
1003Morrow RutaGermany2021-04-28Feiner Bros QUALIFIED74Elwin Sharvill
1004Stacey MacleadArgentina2021-04-30Buckley Miller Wright PROPOSAL72Elwin Sharvill
1005Rodrigues CampainFrance2021-04-22Printing Dimensions UNQUALIFIED24Asiya Javayant
1006Stacey MacleadItaly2021-04-17Benton, John B Jr RENEWAL76Onyama Limba
1007Deepesh ChuiIndia2021-05-06Morlong Associates QUALIFIED82Asiya Javayant
1008Greenwood BologniaGermany2021-05-01Feiner Bros UNQUALIFIED15Xuxue Feng
1009Mujtaba NickaAustralia2021-04-20Rousseaux, Michael Esq PROPOSAL45Asiya Javayant
1010Mujtaba NickaArgentina2021-04-21Truhlar And Truhlar Attys UNQUALIFIED26Xuxue Feng
1011Arvin AlbaresIndia2021-05-09Truhlar And Truhlar Attys QUALIFIED52Anna Fali
1012Jones VocelkaAustralia2021-04-27Rousseaux, Michael Esq RENEWAL90Stephen Shaw
1013Aruna FigeroaArgentina2021-04-26Benton, John B Jr UNQUALIFIED84Ioni Bowcher
1014Stacey MacleadBrazil2021-05-10Chanay, Jeffrey A Esq NEW27Bernardo Dominic
1015Emily WhobreyIndia2021-04-27Chapman, Ross E Esq PROPOSAL11Ioni Bowcher
1016Jefferson SchemmerCanada2021-04-25Dorl, James J Esq RENEWAL16Amy Elsner
1017Kadeem FlosiCanada2021-05-05Buckley Miller Wright UNQUALIFIED32Xuxue Feng
1018Leon OldroydArgentina2021-04-26Dorl, James J Esq RENEWAL42Stephen Shaw
1019Murillo MaletBrazil2021-05-03Commercial Press PROPOSAL63Elwin Sharvill
1020Jeanfrancois VenereRussia2021-04-28Benton, John B Jr NEGOTIATION52Stephen Shaw
1021Isabel BowleyJapan2021-04-26Rangoni Of Florence PROPOSAL75Ivan Magalhaes
1022Jones VocelkaItaly2021-04-18Benton, John B Jr NEW11Asiya Javayant
1023Cody SaylorsJapan2021-04-15Chemel, James L Cpa UNQUALIFIED99Ioni Bowcher
1024Emily WhobreyFrance2021-05-04Truhlar And Truhlar Attys RENEWAL91Bernardo Dominic
1025Rodrigues CampainCanada2021-05-12Benton, John B Jr NEGOTIATION57Ioni Bowcher
1026Clifford RimItaly2021-05-10Dorl, James J Esq NEGOTIATION94Onyama Limba
1027Arvin AlbaresItaly2021-05-11Rangoni Of Florence UNQUALIFIED54Elwin Sharvill
1028Maria MarrierIndia2021-05-04Rousseaux, Michael Esq UNQUALIFIED39Ioni Bowcher
1029Smith GlickUnited Kingdom2021-05-09Feiner Bros NEW2Xuxue Feng
1030Aditya KuskoGermany2021-04-16Printing Dimensions NEW3Ioni Bowcher
1031Alejandro PerinFrance2021-05-01Chapman, Ross E Esq RENEWAL16Amy Elsner
1032Alejandro PerinIndia2021-04-24Chanay, Jeffrey A Esq UNQUALIFIED93Ioni Bowcher
1033Johnson SergiArgentina2021-05-08Rousseaux, Michael Esq QUALIFIED71Amy Elsner
1034Kadeem FlosiGermany2021-04-21Chapman, Ross E Esq RENEWAL47Anna Fali
1035Jennifer AmigonCanada2021-04-19Chemel, James L Cpa QUALIFIED42Ioni Bowcher
1036Kaitlin OstroskyIndia2021-04-22Chapman, Ross E Esq NEGOTIATION33Elwin Sharvill
1037Rodrigues CampainFrance2021-04-14Dorl, James J Esq RENEWAL34Bernardo Dominic
1038Kadeem FlosiIndia2021-04-15Feltz Printing Service NEGOTIATION77Onyama Limba
1039Clifford RimArgentina2021-04-24Feltz Printing Service UNQUALIFIED63Amy Elsner
1040Arvin AlbaresCanada2021-05-04Commercial Press PROPOSAL13Ioni Bowcher
1041Mayumi KolmetzFrance2021-04-18Dorl, James J Esq RENEWAL2Bernardo Dominic
1042Costa DilliardUnited Kingdom2021-04-19Chanay, Jeffrey A Esq QUALIFIED4Stephen Shaw
1043Wickens NestleUnited Kingdom2021-05-06Rangoni Of Florence NEGOTIATION13Asiya Javayant
1044Arvin AlbaresFrance2021-04-27Buckley Miller Wright NEGOTIATION15Anna Fali
1045Johnson SergiIndia2021-04-25Benton, John B Jr QUALIFIED11Xuxue Feng
1046Stacey MacleadCanada2021-04-18Chapman, Ross E Esq QUALIFIED9Asiya Javayant
1047Antonio CaudyBrazil2021-04-20Truhlar And Truhlar Attys PROPOSAL71Xuxue Feng
1048Greenwood BologniaArgentina2021-05-05Morlong Associates PROPOSAL86Xuxue Feng
1049Rodrigues CampainFrance2021-05-03Feiner Bros RENEWAL62Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie StensethBrazilElwin Sharvill RENEWAL
Misaki RoysterArgentinaIoni Bowcher QUALIFIED
Cody SaylorsJapanAnna Fali RENEWAL
Morrow RutaBrazilIoni Bowcher UNQUALIFIED
Antonio CaudyBrazilElwin Sharvill PROPOSAL
Maria MarrierItalyOnyama Limba NEGOTIATION
Silvio SlusarskiRussiaStephen Shaw PROPOSAL
Maria MarrierItalyAnna Fali PROPOSAL
Adams MorascaRussiaAnna Fali NEGOTIATION
Emily WhobreyGermanyBernardo Dominic QUALIFIED
Misaki RoysterBrazilAmy Elsner NEGOTIATION
Salvatore StockhamGermanyElwin Sharvill RENEWAL
Deepesh ChuiFranceIvan Magalhaes PROPOSAL
Morrow RutaAustraliaBernardo Dominic PROPOSAL
Ivar PaprockiSpainIoni Bowcher QUALIFIED
Mujtaba NickaArgentinaStephen Shaw RENEWAL
Deepesh ChuiAustraliaBernardo Dominic NEW
Clifford RimBrazilIoni Bowcher QUALIFIED
Wickens NestleFranceXuxue Feng RENEWAL
Aika InouyeIndiaAnna Fali UNQUALIFIED
Salvatore StockhamItalyOnyama Limba RENEWAL
Adams MorascaGermanyAmy Elsner RENEWAL
Juan WieserFranceElwin Sharvill UNQUALIFIED
Munro FerenczUnited KingdomElwin Sharvill NEGOTIATION
Chavez BriddickGermanyElwin Sharvill QUALIFIED
Aika InouyeBrazilIvan Magalhaes QUALIFIED
Emily WhobreySpainIoni Bowcher NEW
Salvatore StockhamAustraliaStephen Shaw NEW
Silvio SlusarskiJapanStephen Shaw NEW
Maria MarrierSpainAsiya Javayant UNQUALIFIED
Murillo MaletGermanyStephen Shaw RENEWAL
Rodrigues CampainFranceIoni Bowcher QUALIFIED
Jeanfrancois VenereIndiaElwin Sharvill PROPOSAL
Costa DilliardIndiaBernardo Dominic RENEWAL
Aika InouyeItalyElwin Sharvill NEW
Arvin AlbaresBrazilAmy Elsner PROPOSAL
Silvio SlusarskiRussiaAmy Elsner NEGOTIATION
James ButtSpainAmy Elsner PROPOSAL
Juan WieserAustraliaAmy Elsner UNQUALIFIED
Faith GillianItalyAmy Elsner RENEWAL
Francesco ShinkoIndiaXuxue Feng NEGOTIATION
Salvatore StockhamSpainIvan Magalhaes QUALIFIED
Jeanfrancois VenereArgentinaOnyama Limba NEW
Misaki RoysterJapanOnyama Limba RENEWAL
Antonio CaudyGermanyOnyama Limba RENEWAL
Ivar PaprockiSpainAsiya Javayant RENEWAL
Adams MorascaFranceBernardo Dominic PROPOSAL
Mayumi KolmetzBrazilAnna Fali PROPOSAL
Alejandro PerinUnited KingdomAsiya Javayant NEGOTIATION
Aruna FigeroaRussiaXuxue Feng RENEWAL
Frozen Columns
Name
Silvio Slusarski
Tony Foller
Jeanfrancois Venere
Morrow Ruta
Antonio Caudy
Morrow Ruta
Maria Marrier
Maisha Rulapaugh
Greenwood Bolognia
Julie Stenseth
Clifford Rim
Munro Ferencz
Jeanfrancois Venere
Aditya Kusko
Jennifer Amigon
Ivar Paprocki
Ivar Paprocki
James Butt
James Butt
Morrow Ruta
Mujtaba Nicka
Maisha Rulapaugh
Maisha Rulapaugh
James Butt
Kadeem Flosi
Maisha Rulapaugh
Octavia Malet
Leja Caldarera
Morrow Ruta
Arvin Albares
Alejandro Perin
Emily Whobrey
Clifford Rim
Claire Tollner
Kaitlin Ostrosky
Jefferson Schemmer
Antonio Caudy
Munro Ferencz
Juan Wieser
Aruna Figeroa
Aika Inouye
Jefferson Schemmer
Leja Caldarera
Murillo Malet
Leon Oldroyd
Jefferson Schemmer
Munro Ferencz
Izzy Garufi
Wickens Nestle
Wickens Nestle
IdCountryDate
1000Italy2021-04-30
1001Japan2021-04-30
1002United Kingdom2021-05-08
1003Germany2021-04-20
1004Germany2021-04-23
1005United Kingdom2021-04-24
1006Argentina2021-05-07
1007Germany2021-04-15
1008Australia2021-04-19
1009Canada2021-05-03
1010Australia2021-04-30
1011Russia2021-05-02
1012Germany2021-04-17
1013United Kingdom2021-04-27
1014Argentina2021-04-23
1015Russia2021-05-07
1016Germany2021-05-10
1017Russia2021-05-06
1018United Kingdom2021-05-08
1019Spain2021-04-30
1020Australia2021-04-19
1021Argentina2021-05-07
1022Spain2021-04-28
1023Brazil2021-04-28
1024United Kingdom2021-05-01
1025Germany2021-04-24
1026Germany2021-05-06
1027Japan2021-05-08
1028India2021-04-14
1029Argentina2021-05-09
1030Spain2021-04-18
1031Russia2021-04-30
1032Brazil2021-04-15
1033Italy2021-05-02
1034Italy2021-04-18
1035Argentina2021-04-16
1036Argentina2021-05-02
1037Canada2021-05-01
1038Germany2021-05-09
1039Argentina2021-05-04
1040Japan2021-05-01
1041Canada2021-04-16
1042Italy2021-05-10
1043United Kingdom2021-04-28
1044United Kingdom2021-04-20
1045Japan2021-04-15
1046Australia2021-05-13
1047Italy2021-04-16
1048Canada2021-04-30
1049Russia2021-04-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa DilliardRussiaOnyama Limba PROPOSAL
Tony FollerUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin OstroskyAustraliaAmy Elsner PROPOSAL
Darci PoquetteBrazilIoni Bowcher UNQUALIFIED
Murillo MaletArgentinaXuxue Feng RENEWAL
Silvio SlusarskiSpainIoni Bowcher NEGOTIATION
Mayumi KolmetzCanadaXuxue Feng RENEWAL
Arvin AlbaresRussiaStephen Shaw NEGOTIATION
Deepesh ChuiGermanyAmy Elsner UNQUALIFIED
Stacey MacleadJapanStephen Shaw NEW
Alejandro PerinAustraliaOnyama Limba UNQUALIFIED
Claire TollnerCanadaIoni Bowcher RENEWAL
David DarakjyArgentinaAmy Elsner RENEWAL
Ricardo GauchoGermanyBernardo Dominic NEW
Kadeem FlosiAustraliaAnna Fali UNQUALIFIED
Juan WieserRussiaStephen Shaw NEGOTIATION
Faith GillianItalyStephen Shaw NEW
Jefferson SchemmerUnited KingdomElwin Sharvill QUALIFIED
Aika InouyeGermanyAnna Fali QUALIFIED
Costa DilliardFranceElwin Sharvill UNQUALIFIED
Munro FerenczUnited KingdomBernardo Dominic RENEWAL
Antonio CaudyJapanAnna Fali NEW
Stacey MacleadCanadaIvan Magalhaes NEGOTIATION
Murillo MaletIndiaIoni Bowcher UNQUALIFIED
Leon OldroydJapanIvan Magalhaes PROPOSAL
Munro FerenczAustraliaBernardo Dominic RENEWAL
Costa DilliardCanadaAmy Elsner PROPOSAL
Ricardo GauchoFranceIvan Magalhaes RENEWAL
Jones VocelkaBrazilOnyama Limba NEGOTIATION
Wickens NestleCanadaAnna Fali QUALIFIED
Aruna FigeroaRussiaElwin Sharvill NEGOTIATION
Misaki RoysterItalyStephen Shaw PROPOSAL
Misaki RoysterRussiaAnna Fali PROPOSAL
Misaki RoysterAustraliaAmy Elsner QUALIFIED
Alejandro PerinIndiaBernardo Dominic UNQUALIFIED
Izzy GarufiIndiaOnyama Limba RENEWAL
Salvatore StockhamGermanyOnyama Limba UNQUALIFIED
Morrow RutaUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood BologniaFranceIoni Bowcher UNQUALIFIED
Faith GillianBrazilAnna Fali UNQUALIFIED

<style type="text/css">
    .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">
        <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>