2010-12-23 45 views
1

我試圖做這種方式,但不`噸工作如何從RichFaces的modalPanel重新渲染數據表?

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

回答

1

嘗試使用<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="..."/> 
0

你可以查看你的代碼,看看id所呈現的html <table>對應你的datatable了。或者你可以使用這個Firefox的插件Firebug

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

,將結束與ID將myForm:myId

因爲你已經包括你在一個DataTable這樣我建議這一點。所以,你必須:

  • 使用reRender="myForm:myId"
  • 使用prependId="true"在表格上,以防止它附加了自己的ID給它包含的組件。
0

您擁有的代碼應該可以工作。嘗試添加a4j:log並檢查是否找到用於重新渲染的id(節點)。