0

我有一个这样的数据表:

  <h:dataTable  styleClass="pretty"   value="#{ftController.ftDataModel}" var="item">
                    <h:column headerClass="left">
                        <f:facet name="header">
                            <h:outputText value="Amount"/>
                        </f:facet>
                        <h:outputLink   value="index.jsf"><h:outputText value="#{item.ftType}"/></h:outputLink><br />
                        <h:outputText class="red" id="amount"   value="#{item.amount}"></h:outputText> <h:outputText value="&#160;" /><h:outputText  style="font-size:12px" class="gray" value="TL" />
                    </h:column>
                    <h:column headerClass="right" >
                        <f:facet  name="header">
                            <h:outputText value="Date"/>
                        </f:facet> 
                        <h:outputText value="#{item.date}" />
                    </h:column>
                </h:dataTable>

我想给这个<h:outputText value="#{item.date}" />class="right" 我怎样才能在这一行上使用 class 属性?

4

2 回答 2

0

如何将输出文本包装在 h:panelGroup 这将生成一个跨度标记并使用 styleclass 您可以分配所需的 css 类

于 2013-04-19T18:36:06.030 回答
0

我可能误解了您的问题,但我怀疑您的问题可能是基于对数据表的错误假设。以这个数据表为例:

<h:dataTable value="#{foo.selectedWidgets}" var="widget">
    <h:column>
         #{widget.name}
    </h:column>
</h:dataTable>

标记的内容<h:column>(标题方面除外)——在我的示例中 #{widget.name}——不是一行。相反,它是<td>为给定列生成的所有标签的模板。对于这个 dataTable 循环的每个小部件,它将打印小部件的 name 属性——这就是我所说的“模板”。所以你对 h:column 所做的任何事情都会影响整个 column,而不是任何特定的行。

我对此的解决方案是非 JSF。使用 CSS 表,并使用first-childnth-child选择器选择您想要设置样式的行。

于 2013-04-19T18:26:45.863 回答