如何从RichFaces的modalPanel重新渲染数据表?

时间:2010-12-23 10:32:19

标签: richfaces

我试图这样做,但不起作用

<h:panelGroup id="panel">
<rich:dataTable id="table">
...
</rich:dataTable>
</h:panelGroup>


<rich:modalPanel>
<h:form>
...
...
<a4j:commandButton value="Update dataTable" ajaxSingle="true" reRender="panel" process="..."/>
</h:form>
</rich:modalPanel>

3 个答案:

答案 0 :(得分:2)

尝试使用<a4j:outputPanel>来重新审视panelGroup

<a4j:outputPanel id="myOutPanel">
   <h:panelGroup id="panel">
      <rich:dataTable id="table">
      ...
      </rich:dataTable>
   </h:panelGroup>
</a4j:outputPanel>

模态按钮......

<a4j:commandButton value="Update dataTable" ajaxSingle="true" reRender="myOutPanel" process="..."/>

答案 1 :(得分:0)

您可以查看代码,了解与id对应的呈现的html <table> datatable。或者你也可以使用Firefox的Firebug插件。

我建议这样做,因为你已经在这样的地方包含了数据表:

<form id="myForm">
    <rich:dataTable id="myId">
    </rich:dataTable>
</form>

,它最终会得到的ID为myForm:myId。所以你必须:

  • 使用reRender="myForm:myId"
  • 使用表单上的prependId="true"来阻止它将自己的ID附加到其包含的组件中。

答案 2 :(得分:0)

您拥有的代码应该有效。尝试添加a4j:log并检查是否找到了重新呈现的id(节点)。