有很多記錄的<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();
}
非常有用的答案,如果有人想隱藏按鈕,並有功能,只需在按鈕添加'風格= 「visibility:hidden的」'心連心 – goodprg
@HTH是的,然而'visibility:hidden'在所有瀏覽器上都無法正常工作。隱藏按鈕的更好的選擇是'display:none;' –