我有一些当前可用的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>
Run Code Online (Sandbox Code Playgroud)
基本上,所说的#{com.rendered}行将有条件地显示单个单元格的内容,当com.rendered为false 时生成空单元格.但是我想在某些条件下跳过显示器的整行 - 我该怎么做呢?
Nag*_*alf 13
行对应于表集合中的数据对象.如果您不想要该行,请不要将该对象放入集合中.
或者,您可以使用rowClassesdataTable 的参数.
Bean代码:
public String getRowClasses() {
StringBuilder sb = new StringBuilder();
for (Data data : myData) {
sb.append(data.hide ? 'hide,' : 'show,');
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
CSS:
tr.hide {display:none;}
Run Code Online (Sandbox Code Playgroud)
小智 5
对于使用richFaces的人,您可以使用rich:column的filterExpression属性.
<rich:column filterExpression="#{put your expression here}">
...
</rich>
Run Code Online (Sandbox Code Playgroud)
如果不满足条件,则过滤掉整行.
例子是使用seam EL!
| 归档时间: |
|
| 查看次数: |
28701 次 |
| 最近记录: |