我有一些当前有效的 JSF 代码(如下所示),我需要修改它以有条件地抑制表中某些行的显示。我知道如何有条件地抑制特定单元格的显示,但这似乎会创建一个空单元格,而我想做的是根本不显示该行。
有什么建议么?
<h:dataTable styleClass="resultsTable" id="t1" value="#{r.common}" var="com" headerClass="headerBackgrnd" rowClasses="rowOdd, rowEven" columnClasses="leftAlign, rightAlign, leftAlign">
<h:column>
<h:outputText rendered="#{com.rendered}" styleClass="inputText" value="#{com.description}: " />
</h:column>
<h:column>
<h:outputText styleClass="outputText" value="#{com.v1}" />
</h:column>
<h:column>
<h:inputText styleClass="inputText" value="#{com.v2}" />
</h:column>
</h:dataTable>
基本上,这行说#{com.rendered}
将有条件地显示单个单元格的内容,当com.rendered
是假的。但我想在某些条件下跳过显示的整行 - 我该怎么做?
行对应于表集合中的数据对象。如果您不需要该行,请不要将该对象放入集合中。
或者,您可以使用rowClasses
数据表的参数。
豆代码:
public String getRowClasses() {
StringBuilder sb = new StringBuilder();
for (Data data : myData) {
sb.append(data.hide ? 'hide,' : 'show,');
}
return sb.toString();
}
CSS:
tr.hide {display:none;}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)