Добрый день.
После закрытие edit формы с помощью closeWithDefaultAction();
Как обновить таблицу на browse форме?
Как вы вызывали edit-экран из browse-экрана?
через стандартный create action
Через “стандартный” в browse-экран все добавляется само.
Не понятен ваш ответ.
Попробую описать задачу.
У меня есть форма browse и edit, с browse формы попадаю(через create|edit actions) на форме (edit) редактирования . На форме (edit) редактирования есть кастомная кнопка/action, которая должна сохранить и закрыть форму. После закрытия формы (edit) редактирования, возвращаюсь на browse форму и тут таблица должна обновиться
В стандартных табличных действиях create и edit есть хуки: afterCloseHandler и afterCommitHandler. AfterCloseHandler срабатывает после любого закрытия редактора.
Обработчик получает AfterCloseEvent , в котором есть доступ к экрану редактору и к CloseAction - объекту, который передается в метод close() редактора.
Метод, который вы сейчас вызываете - closeWithDefaultAction() - возвращает из редактора CloseAction, который означает “Экран закрыт без изменений”, поэтому стандартное действие и не обновляет таблицу.
Screen.java
/**
* Closes the screen with {@link #WINDOW_CLOSE_ACTION} action.
*
* @return result of close request
*/
public OperationResult closeWithDefaultAction() {
return close(WINDOW_CLOSE_ACTION);
}
Чтобы дать понять экрану-браузеру, что были изменения, следует вызвать:
close(WINDOW_COMMIT_AND_CLOSE_ACTION);
(константа из класса com.haulmont.cuba.gui.screen.FrameOwner)