我有一個數據表。表中的每一行都有一個commandButton
,稱爲'刪除',它應該從模型和視圖中刪除該行並就地執行更新。作爲頁腳,我還有另一個commandButton
,名爲'刪除每行'。成功的Ajax調用後Datatable不會更新
最後一個按鈕的作品。我點擊它,每行都從模型中刪除(即包含元素的ArrayList
變爲空),並且dataTable
和footer facet
在視圖中被重新渲染(或更新)。
另一方面,當我單擊其中一行上的按鈕時,將其刪除,它會部分工作。相應的元素將從模型中刪除,但視圖不會更新。該行仍然存在於dataTable
和footer facet
未更改。我的users.xhtml
中有以下一段代碼。
<f:metadata>
<f:viewParam name="id" value="#{users.id}" />
<f:event type="preRenderView" listener="#{users.init}" />
</f:metadata>
...
<h:form id="usersForm">
<p:outputPanel>
<p:dataTable id="userTable" value="#{users.user.friendList}" var="friend">
<p:column>
<h:outputText value="#{friend.name}" />
</p:column>
<p:column>
<p:commandButton action="#{users.user.removeFriend(friend)}"
ajax="true"
update="userTable somethingElse" process="@this"
onerror="errorDialog.show();"
icon="ui-icon-delete"
title="delete user">
</p:commandButton>
</p:column>
<f:facet id="somethingElse" name="footer">
aye: ${users.user.xxx}
</f:facet>
</p:dataTable>
</p:outputPanel>
<p:commandButton action="#{users.user.removeAllFriends()}" ajax="true"
update="userTable somethingElse"
process="@this"
icon="ui-icon-close"
value="delete all friends?">
</p:commandButton>
</h:form>
那麼,你認爲這裏的問題是什麼?
我3.0
不要在一個問題中提出多個問題。每個問題的一個問題,請:)我已經編輯了另一個問題。此外,關聯的前一個問題根本就沒有關係。也許是相同的代碼,但問題是絕對不一樣的。至於你目前的問題:你使用的是哪個PF版本?如果你使用'update =「@ form」'而不是? – BalusC 2012-01-10 12:51:50
對不起,但非常感謝你,再次:)關於多個問題,我會盡力在下次:) – 2012-01-10 13:12:42
我轉發它爲答案:) – BalusC 2012-01-10 13:15:44