我在Primefaces 3.2中使用JSF 2.1的Mojarra實現。如何從外部更新dataTable裏面的組件
我的問題大致是這樣的:
<p:dialog id="someDialog">
..
<h:form id="dialogForm">
<p:commandLink action=".."update=":someForm:someUIRepeat:someDataTable:someInputTextArea"/>
</h:form>
</p:dialog>
<h:form id="someForm">
<ui:repeat id="someUIRepeat" value=".." ..>
<p:dataTable id="someDataTable" value=.. >
<p:column>
<p:inputTextarea id="someInputTextarea" value=../>
<p:column>
.. here go other columns
<ui:repeat>
</h:form>
的問題是,當我在對話框中單擊commandLink的inputTextarea不會被更新。但是,如果我寫這篇文章的commandLink的更新: 更新= 「:someForm:someUIRepeat:someDataTable,:someForm:someUIRepeat:someDataTable:someInputTextArea」
那麼整個dataTable的更新,並且在inputTextarea更新爲好,但是在點擊對話框中的commandLink後,位於其他列的字段中的值會被刪除。
爲什麼我把dataTable放在ui裏面的原因是:我需要綁定一個dataTable與一個集合的每一行,我認爲它與我的問題沒有關係。
任何想法如何我可以解決這個問題?
在此先感謝,
Nurzhan。
嘗試添加過程=「someForm: someUIRepeat:someDataTable「和設置更新=」:someForm:someUIRepeat:someDataTable「,這不應該清除表中的數據和更新表... – Daniel 2012-04-10 09:37:38
@Daniel感謝您的回覆。我試過你的解決方案,但它並沒有奏效。當我將command =「..」添加到commandLink時,它並沒有更新任何內容,甚至沒有更新整個dataTable。 – Nurjan 2012-04-10 09:51:54
對不起我的不好......它的原因
Daniel 2012-04-10 09:57:18