2014-09-05 5 views
0

Я пытаюсь сделать способ деактивации, который покажет статус («ДЕАКТИВИРОВАН», «АКТИВИРОВАН») учетной записи в командной строке, и когда я нажал commandButton, он либо активирует, либо деактивирует учетную запись на основе текущего состояния. Как только я подтвержу, commandButton будет немедленно обновлен до его текущего состояния.Обновление p: commandButton in p: column по завершению actionListener

У меня есть следующий код, и я хотел бы обновить свой commandButton после завершения моего actionlistener в «confirmDeactivateDialog» или «confirmActivateDialog». Я попытался использовать update="a,b" в этих двух тегах confirmDialog, но он не работает. Какие-либо предложения?

<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> 
+0

"Это не работает?" - Что именно не сработало? Любые сообщения об ошибках? Может быть, что-то вроде «Компонент» «не найден»? – Manuel

+0

@Manuel: hint: OP объявляет диалог внутри столбца. – BalusC

+0

Справа. Тогда сгенерированный идентификатор 'p: commandButton' будет не просто' a' или 'b'. Проверьте сгенерированный исходный код HTML JSF. JSF будет генерировать уникальный идентификатор для каждой строки в datatable, и этот идентификатор будет префиксом вашего элемента 'a'. Используйте относительный путь обновления для 'a' и' b'. – Manuel

ответ

0

попробовать update="a b"

, без запятой между ними