【发布时间】:2011-12-20 10:59:39
【问题描述】:
如果需要,我同时使用 JSF 2.0 和 jQuery/javaScript。
我正在尝试以动态方式从数据表中添加和删除列。 问题是 - 据我所知,我必须重新渲染整个表以添加或删除列,这需要获取表中的所有数据,而事实上,在大多数情况下,这是不必要的。
例如(出于问题说明的目的键入此,可能存在语法错误但假设它们不存在):
<h:dataTable id="table">
<h:column id="cul1" rendered="#{mrBean.isCul1_rendered} >
...
</h:column>
<h:column id="cul2" rendered="#{mrBean.isCul2_rendered} >
...
</h:column>
</h:dataTable>
<f:ajax render="table" />
<h:commandButton action="#{mrBean.switchIsCul1}" >Switch Cul1</h:commandButton>
<h:commandButton action="#{mrBean.switchIsCul2}" >Switch Cul2</h:commandButton>
</f:ajax>
如图所示,在渲染和取消渲染列时,整个表格都会重新渲染。有没有办法只渲染变化的列? (据我所知,render="cul1 不起作用)
谢谢!
【问题讨论】: