0
我正在嘗試執行停用方法,該方法將在commandbutton上顯示帳戶的狀態(「DEACTIVATED」,「ACTIVATED」),並且當我單擊commandButton,它將根據當前狀態激活或停用帳戶。一旦我確認,commandButton將立即更新爲當前狀態。更新p:commandButton在完成actionListener的p:列中
我有下面的代碼,我想在我的actionlistener完成後在「confirmDeactivateDialog」或「confirmActivateDialog」中更新我的commandButton。我嘗試在這兩個confirmDialog標記處使用update="a,b"
,但它不起作用。有什麼建議麼?
<p:column headerText="Status" style="text-align: center">
<p:commandButton id='a' rendered="#{bean.isActivated(account_status)==true}" oncomplete="PF('deactivateDialog').show();" value="Activated">
<f:setPropertyActionListener value="#{searchEmployeeResultList}" target="#{bean.selectedEmployee}"/>
</p:commandButton>
<p:confirmDialog id="confirmDeactivateDialog" header="Confirm Deactivation" widgetVar="deactivateDialog">
<p:commandButton id="Deactivate" value="Ok" oncomplete="PF('deactivateDialog').hide();" actionListener="#{AccountManagedBean.deactivate}"/>
</p:confirmDialog>
<p:commandButton id="b" rendered="#{bean.isActivated(account_status)==false}" oncomplete="PF('activateDialog').show();" value="Deactivate">
<f:setPropertyActionListener value="#{searchEmployeeResultList}" target="#{bean.selectedEmployee}"/>
</p:commandButton>
<p:confirmDialog id="confirmActivateDialog" header="Confirm Activation" widgetVar="activateDialog">
<p:commandButton id="Activate" value="Ok" oncomplete="PF('activateDialog').hide();" actionListener="#{AccountManagedBean.activate}"/>
</p:confirmDialog>
</p:column>
「它不工作?」 - 什麼沒有工作?任何錯誤消息?也許像「組件」一個'找不到'? – Manuel 2014-09-05 11:47:50
@Manuel:提示:OP在列中聲明對話框。 – BalusC 2014-09-05 11:48:12
對。然後生成的'p:commandButton'的id不會只是'a'或'b'。檢查JSF生成的HTML源代碼。 JSF將爲數據表中的每一行生成一個唯一的ID,這個ID將成爲'a'元素的前綴。使用'a'和'b'的相對更新路徑。 – Manuel 2014-09-05 11:51:01