如果隐藏表格单元格的内容也无济于事。即使所有单元格内容都被隐藏,表格行仍然可见。这与 Notes 客户端表不同。在浏览器中,您必须隐藏整个表格行<tr>
...。</tr>
服务器端表格行显示/隐藏
您可以将隐藏代码放入<tr>
标签中:
<xp:table>
<xp:tr rendered="#{....}">
如果代码返回,则整个表格行将不可见false
。
客户端表格行显示/隐藏
对于客户端显示/隐藏,您将为<tr>
标签提供一个 id:
<xp:table>
<xp:tr id="row1">
然后,您可以使用 id 寻址表行并使用例如隐藏行
dojo.style(dojo.byId("#{id:row1}"), "display", "none")
并再次显示
dojo.style(dojo.byId("#{id:row1}"), "display", "")
扩展库表单表控件的客户端表行显示/隐藏
不幸的是,我们不能使用 id ,xe:formRow
因为它在渲染过程中会丢失。这意味着,该 id 不可用于客户端设置。
但是我们可以指定一个styleClass
.
<xe:formTable
id="formTable1">
<xe:formRow
id="formRow1"
styleClass="classRow1">
此类名称在渲染中“存活”,我们可以使用它来获取具有此类的所有 id 并隐藏表格行
dojo.query(".classRow1").forEach(function(node, index, nodelist){
dojo.style(node, "display", "none")
});
并再次展示
dojo.query(".classRow1").forEach(function(node, index, nodelist){
dojo.style(node, "display", "")
});