Добрый день. Нахожусь в процессе изучения работы с jmix.
Создал свой экран и вывел значения сущности Department в таблицу через dataLoader
Создал готовый экран editor по модели Department
Вызываю экран editor из своего экрана по нажатию кнопки Добавить
Вношу изменения и нажимаю ок
Данные обновляются в модели, но в таблице на моем экране без изменений
Каким образом обновить данные в таблице? Как я понимаю нужно запустить метод departmentDl.load(). Но как его вызвать из экрана editor? Как правильно получать доступ к контроллеру другого экрана и вызывать его методы?
А как вы сделали кнопку Добавить на экране Department.browse?
Просто если вызывать стандартный экран создания/редактирования через Стандартное действиecreate, то вы получите нужное поведение вообще без кода.
По ссылке выше есть пример дескриптора экрана для GroupTable со стандартными действиями. Действие create/ edit и кнопку добавит на экран над таблицей и автоматом нужным образом вызовет стандартный экран редактирования для той сущности, которую отображает таблица.
И после сохранения нового экземпляра он автоматом вернется и отобразится на экране Department.browse.
Если стандартные действия не использовали, а добавили на экран свою кнопку “Добавить”, то вернет экран редактирования новую сущность на вызывающий экран или нет - зависит от того, как вы вызвали экран редактирования в обработчике нажатия кнопки.
В разделе Открытие экранов редактирования есть два примера вызова экрана редактирования: с возвратом результата на вызывающий экран и без него.
Экран для вывода данных я набрасывал свой с нуля. Помог последний вариант с передачей таблицы в аргументы метода editor класса ScreenBuilders.
Спасибо за помощь!