2011-06-21 93 views
1

我使用primefaces聯編輯datatable.which由primefaces RowEditor和一個命令來刪除record.My問題是當我從數據庫中刪除任何記錄,該行被成功刪除和刪除的記錄顯示,當我點擊編輯按鈕編輯下一個record.This編輯問題繼續所有記錄。它顯示h:outputText中的當前值和h:inputText中的舊值,當我們點擊編輯按鈕。 任何人都可以幫助我嗎? 謝謝全部。Primefaces內聯數據表刪除功能

回答

5

有很多記錄的<p:dataTable>組件Primefaces錯誤的,所以我不打算通過所有的人進行搜索。

不過我知道Primefaces 2.2.1有一個開放的bug,說明一行<p:dataTable>中的組件不會正確更新(刷新)dataTable中的相應值。這個問題可以在Primefaces 3.0中修復。如果你有興趣,你可以搜索已知的錯誤here

好在我已經想出了一個辦法解決這個。您需要從<p:dataTable>以外的組件執行異步操作,並確保該組件將dataTable的id設置爲其update屬性中的id。

<h:form id="form1"> 
    <p:commandButton widgetVar="updateButton" update="form1:table1" ... /> 
    <p:dataTable id="table1" ...> 
    <p:column ...> 
     <p:commandButton id="deleteButton" action="#{managedBean.doDelete}" oncomplete="javascriptFunction();" ... /> 
    </p:column> 
    </p:dataTable> 
</h:form> 

而且在一個javascript:

function javascriptFunction() { 
    updateButton.jq.click(); 
} 
+1

非常有用的答案,如果有人想隱藏按鈕,並有功能,只需在按鈕添加'風格= 「visibility:hidden的」'心連心 – goodprg

+2

@HTH是的,然而'visibility:hidden'在所有瀏覽器上都無法正常工作。隱藏按鈕的更好的選擇是'display:none;' –