【问题标题】:How can I rerender a datatable from a RichFaces' modalPanel?如何从 RichFaces 的 modalPanel 重新呈现数据表?
【发布时间】:2010-12-23 10:32:18
【问题描述】:

我正在尝试这样做,但不起作用

<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>

【问题讨论】:

    标签: richfaces


    【解决方案1】:

    尝试使用&lt;a4j:outputPanel&gt;重新渲染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="..."/>
    

    【讨论】:

      【解决方案2】:

      您可以检查您的代码以查看与您的datatable 对应的呈现的html &lt;table&gt; 具有什么id。或者您可以为此使用 Firefox 的 Firebug 插件。

      我建议这样做是因为您已将数据表包含在这样的格式中:

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

      ,它最终的 id 将是 myForm:myId。所以你必须:

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

      【讨论】:

        【解决方案3】:

        您拥有的代码应该可以工作。尝试添加 a4j:log 并检查是否找到重新渲染的 id(节点)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-10-24
          • 2011-05-31
          • 1970-01-01
          • 1970-01-01
          • 2011-07-02
          • 1970-01-01
          • 2012-08-24
          相关资源
          最近更新 更多