PrimeFaces DataTable行着色不起作用

时间:2014-04-23 10:24:41

标签: css jsf primefaces xhtml datatables

我想根据状态列更改行的颜色。 我看过primefaces网站上的例子 http://www.primefaces.org/showcase/ui/datatableColoring.jsf
并在线查找示例但我似乎无法使用我的代码。 问题是它突出显示所有内容,而不仅仅是状态设置为“已关闭”的行

这是我的代码

<p:dataTable id="ComplaintTable" var="complainer"
                    rowKey="#{complainer.id}"
                    selection="#{bigComplaintsDAO.selectedComplaintRow}"
                    widgetVar="complaintsTableSearch"
                    paginator="True" rows="15" 
                    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                    rowsPerPageTemplate="15,20,30,40,50,100"
                    resizableColumns="true"
                    filteredValue="#{bigComplaintsDAO.filteredComplaintRow}"
                    selectionMode="single" value="#{bigComplaintsDAO.complaintList}"
                    style="font-size:10px;width:100%;"
                    rowStyleClass="#{(complaint.status) eq Closed ? 'Closed' : null}">

和CSS

<style type="text/css">
            .Closed 
            {
                background-color: #6CE26C !important;
                background-image: none !important;
                color: #000000 !important;
            }
</style>

3 个答案:

答案 0 :(得分:1)

解决了! 我将代码更改为

rowStyleClass="#{(complainer.status) eq 'Closed' ? 'Closed' : null}"   

希望将来帮助其他人!

答案 1 :(得分:0)

在我的情况下,如果将数据表放在p:panelGrid中,则rowStyleClass不起作用。 我切换到p:panel,然后它起作用了。

答案 2 :(得分:-1)

对我来说,以下代码有效:

DataTable(HTML)

<p-dataTable [rowStyleClass]="getRowClass">

组件(TS)

  getRowClass() {
    return 'my-new-class';
  }