微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css – 根据条件着色primefaces表格单元格

这是我的第一个带有primefaces的项目,我无法找出为什么我的细胞没有着色.
我的X HTML文件包含以下内容
<h:head>
<title>Job Status Reporter</title>
<link rel="stylesheet" type="text/css" href="/jobstatusreport/colors.css" />
</h:head>

 ...

 <h:dataTable var="myJob" value="#{workPackage.jobs}"
    rowStyleClass="#{myJob.jobStatus == 'SUCCESS' ? 'green' : 
  (myJob.jobStatus == 'PARTIAL SUCCESS' ? 'yellow' : (myJob.jobStatus == 'FAILURE' ? 'red'   :'white'))}">
<h:column>
    <h:outputText value="#{myJob.jobId}" />
</h:column>
<h:column>
        <h:outputText value="#{myJob.jobType}" />
</h:column>
    <h:column>
    <h:outputText value="#{myJob.jobStatus}" />
    </h:column>
</h:dataTable>

我的colors.css文件在WebContent / resources / css /文件夹中创建,定义如下:

.green.ui-datatable { background: green;}

.red.ui-datatable {background: red;}

.yellow.ui-datatable {background: yellow;}

.white.ui-datatable {background: white;}

但我仍然在我的网络浏览器上获得无色细胞,有人能告诉我这是什么问题吗?

编辑:

当我将h:dataTable …更改为p:dataTable时…我收到以下消息:

/globalReport.xhtml @32,169 rowStyleClass="#{myJob.jobStatus == 'SUCCESS' ? 'green' : (myJob.jobStatus == 'PARTIAL SUCCESS' ? 'yellow' : (myJob.jobStatus == 'FAILURE' ? 'red' : 'white'))}": Property 'jobStatus' not found on type org.hibernate.collection.internal.AbstractPersistentCollection$SetProxy

有人可以帮忙吗?

解决方法

我终于找到了解决方案:
在myJob类中,我添加了以下方法
public String createLabel(){

    switch (jobStatus){

    case "SUCCESS":
        return "SUCCESS";

    case "PARTIAL SUCCESS":
        return "PARTIAL_SUCCESS";

    case "FAILURE":
        return "FAILURE";

    default: 
        return "DEFAULT";   
    }
}

在我的globalReport.xhtml中,我更改了以下内容

<h:head>
<title>Job Status Reporter</title>
<h:outputStylesheet library="css" name="colors.css" target="head" />
</h:head> 

....

<h:dataTable var="myJob" value="#{workPackage.jobs}">
    <h:column>
    <h:outputText value="#{myJob.jobId}"/>
</h:column>
    <h:column>
    <h:outputText value="#{myJob.jobType}"/>
</h:column>
    <h:column>
        <h:outputText value="#{myJob.jobStatus}" styleClass="#{myJob.createLabel()}"/>
</h:column>
</h:dataTable>

和我的colors.css是:

.SUCCESS{
background-color : green !important;
}

.FAILURE{
background-color: red !important; 
}

.PARTIAL_SUCCESS{
background-color: yellow !important;
}

.DEFAULT{
background-color: white !important; 
}

它完美无缺.非常感谢@Lukasz的宝贵帮助.

原文地址:https://www.jb51.cc/css/215017.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。