Ajax 如何重新提交a4j:repeat中的rich:dataTable?
我有这样的东西:Ajax 如何重新提交a4j:repeat中的rich:dataTable?,ajax,jsf,datatable,richfaces,uirepeat,Ajax,Jsf,Datatable,Richfaces,Uirepeat,我有这样的东西: <a4j:repeat value="#{results}" var="hdr" rowKeyVar="idx"> <rich:dataTable var="item" value="#{results}" id="tbl#{idx}" first="#{idx}" rows="1"> <a4j:commandButton value="update this table only" reRender="tbl#{idx}" /
<a4j:repeat value="#{results}" var="hdr" rowKeyVar="idx">
<rich:dataTable var="item" value="#{results}" id="tbl#{idx}" first="#{idx}" rows="1">
<a4j:commandButton value="update this table only" reRender="tbl#{idx}" />
</rich:dataTable>
</a4j:repeat>
当我从输出html中进行检查时,数据表具有类似于表单0:tbl的id,其末尾没有idx
当结果中只有一行时,重新渲染器将工作
下面是一些问题:
事实上,我已经成功地重新渲染了整个由s:div包围的a4j:repeat块。但是刷新整个块会重置滚动条,因此它不是所需的。…对于1,表的生命周期可能处于不同的阶段 对于2,它实际上引用UIComponent.findComponent来查找给定ID的组件 对于3,可以尝试使用UIComponent.findComponent()或#{rich:clientId('id')}来查看是否要检索a4j:repeat嵌入的rich:dataTable的实际HTML元素id
如果是的话,那么不知何故,可以让重新启动程序工作。如果没有,请查看是否有任何内容可以覆盖reRender查找组件的方式。好的,最新的实验表明,只需使用rich:dataTable id即可 要记住的关键点: