【问题标题】:How to change row color in p:dataTable depending on column value如何根据列值更改 p:dataTable 中的行颜色
【发布时间】:2019-03-09 19:17:13
【问题描述】:
            <p:dataTable id="test" value="#{test.attLogList}"
                 var="item" 
                 selection="#{test.searchedAttLogList}"
                 rowStyleClass="#{item.name eq 'abb' ? 'Closed' : null}"
                 rowKey="#{item.employeeNumber}">

            <p:column sortBy="#{item.employeeNumber}"
                headerText="#{o:translate('Employee')}">
                <h:outputText value="#{item.employeeNumber} " />
            </p:column>

css标签是

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

我想根据条件更改数据表中的行颜色。以下代码有效,但仅适用于第一行,不适用于剩余行。条件适用于数据表的第一行。请帮助我。

关闭是一个css标签

【问题讨论】:

  • 用浏览器开发者工具检查它是否被覆盖......最好有替代品''而不是null。并且使用更具体的选择器也比使用 !important 更好。见stackoverflow.com/questions/8578494/…
  • 数据依赖的事物是业务事物。您应该在test bean 中进行这种格式化。 (列表来自哪里)将表格组件绑定到这个bean中的一个变量,并调用一个方法(例如getRowClass(rowIndex))来格式化表格行。

标签: jsf primefaces


【解决方案1】:

这对我有用

.yellowRaw{
     background: yellow  !important;
 }


<p:dataTable ... rowStyleClass="#{not empty position.replacedBy?'yellowRaw':''}"

【讨论】:

  • 如副本中所述 ;-)
猜你喜欢
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 2013-01-04
  • 2013-05-07
  • 2021-12-26
  • 1970-01-01
  • 2019-05-29
相关资源
最近更新 更多