【问题标题】:set <td> color in <h:column> from backing bean从 backing bean 在 <h:column> 中设置 <td> 颜色
【发布时间】:2011-11-26 14:44:51
【问题描述】:

有什么方法可以在 jsf 中设置表格数据中文本的颜色?我希望#{_component.displayName} 有不同的颜色,具体取决于支持 bean 方法的返回值。

    <h:dataTable styleClass="mytable" value="#{cart.items}" var="_component"> 

        <h:column>
            <f:facet name="header"><h3>Item</h3></f:facet>
            #{_component.displayName}
        </h:column>

    </h:dataTable>  

谢谢

【问题讨论】:

    标签: css jsf facelets managed-bean


    【解决方案1】:

    如果要在&lt;td&gt; 元素上设置样式类,则必须使用&lt;h:dataTable&gt;columnClasses 属性:

    <h:dataTable columnClasses="col1,col2,col3">
    

    它接受以逗号分隔的 CSS 类名字符串,这些类名将按顺序应用于各个列。您甚至可以让它引用自动填充所需字符串的 bean 属性:

    <h:dataTable columnClasses="#{bean.columnClasses}">
    

    然而,每个样式类都将应用于 整个 列。如果您想独立设置单个单元格的样式,最好将其包装在 &lt;h:outputText&gt; 中:

    <h:outputText value="#{_component.displayName}" styleClass="#{_component.styleClass}" />
    

    <h:outputText value="#{_component.displayName}" styleClass="#{bean.styleClass}" />
    

    <h:outputText value="#{_component.displayName}" styleClass="#{bean.styleClass(component)}" />
    

    或者,如果单元格包含多个组件,请将它们包裹在 &lt;h:panelGroup&gt; 中,并在其上设置 styleClass

    【讨论】:

      猜你喜欢
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 2014-08-10
      • 2012-07-02
      • 2018-12-25
      • 2019-05-15
      • 1970-01-01
      相关资源
      最近更新 更多