如何在rich:dataTable中有条件地设置一行样式

Luc*_*eni 21 jsf seam richfaces

如何根据条件更改特定行的样式?我可以在rich:column样式类属性中使用JSF EL,但我必须为每列编写.我想改变整行.

谢谢

小智 30

专门针对每一栏:

<rich:column styleClass="#{someBean.isSomething ? 'styleIfTrue' : 'styleIfFalse' }">
Run Code Online (Sandbox Code Playgroud)


Dam*_*amo 5

我就像你已经提到的那样做,并将样式放在列上.

但是,您总是可以尝试将所有列包装在一个<rich:columnGroup>应该输出的列中<tr>,并将条件样式放在该列上.

编辑:(作为对评论的回应):如果列中的标题构面被破坏,那么您也可以将它们分成列组.应该工作 - 您可能甚至不需要标题中的列组?

例如.

<rich:dataTable>
  <f:facet name="header">
    <rich:columnGroup>
      <rich:column>Header 1</rich:column>
      <rich:column>Header 1</rich:column>
    </rich:columnGroup>
  </f:facet>
  <rich:columnGroup>
    <rich:column>Data</rich:column>
    <rich:column>Data</rich:column>
  </rich:columnGroup>
</rich:dataTable>
Run Code Online (Sandbox Code Playgroud)