2016-08-03 3 views
0

Прежде всего, я использую Primefaces. У меня есть диалог с такими полями, как inputText, selectOneMenu, selectCheckboxMenu. Но у меня также есть поле, где у меня есть что-то вроде этого:Обновить значение outputText после выбора в другом диалоговом окне

<p:row> 
    <p:column styleClass="addLabelColumn addLabel"> 
     <p:outputLabel value="Pracownik: " /> 
    </p:column> 
    <p:column styleClass="addLabel addEmployeeLabelColumn"> 
     <h:outputText id="employeeValue" value="#{accountModel.account.employee}" /> 
    </p:column> 
    <p:column> 
     <p:commandButton type="button" id="employee" value="Wybierz" 
         onclick="PF('chooseEmployeeDlg').show()"/> 
    </p:column> 
</p:row> 

CommandButton открывает диалоговое окно с DataTable, где пользователь может выбрать грести Employee, а затем нажмите кнопку ОК, так что outputText обновляется с строковым представлением selectedObject.

<p:commandButton value="OK!" onclick="PF('chooseEmployeeDlg').hide()" update="accountAssignGrid" /> 

accountAssignGrid - это окружающая панельGrid, где расположены все поля. Моя проблема в том, что outputText обновляется только при успешной проверке всех полей. Если я не пишу что-то правильно в проверенные поля, outputText employeeValue не обновляется. Я хочу, чтобы outputText обновлялся всегда, когда изменяется accountModel.account.employee или когда пользователь нажимает кнопку «ОК» в диалоговом окне с данными Employee datatable.

Так что мой последний вопрос: Как обновить только выходной текст без отправки и проверки всей формы?

+1

Подробнее об атрибуте процесса: http://stackoverflow.com/questions/25339056/understanding-process-and-update-attributes-of-primefaces – Kukeltje

ответ

0

Для тех, кто будет искать ответ на этот вопрос: в данном конкретном случае решение заключалось в том, чтобы диалог с datatable в другую форму.

+1

Не нужно вообще (читайте мой комментарий). И если вы это сделаете, вам нужно обновить атрибут обновления. Пожалуйста, улучшите свой вопрос (покажите форму), и вы ответите (покажите «исправленный код») – Kukeltje