Итак, у меня есть таблица, в которой показаны записи. Пользователи нажимают кнопку, чтобы открыть страницу фрагмента для редактирования данных.
app.datasources.SystemOrders.selectKey(widget.datasource.item._key);
app.showDialog(app.pageFragments.SystemOrders_Edit);
Эта часть работает нормально.
Я изменил свой источник данных на Ручной режим сохранения, чтобы иметь возможность использовать функции «уведомления об изменениях по электронной почте», которые используются в примере Project Tracker. Чтобы пользователь мог внести изменения, нажмите кнопку «Сохранить (закрыть)», и электронное письмо будет отправлено с указанием изменений.
Проблема в том, что когда пользователь закрывает фрагмент, таблица не обновляется (у них один и тот же источник данных). Когда я был в режиме автоматического сохранения, я мог использовать следующее, чтобы принудительно перезагрузить таблицу, чтобы она отражала любые изменения:
var datasource = app.datasources.SystemOrders_HideComplete;
datasource.load();
app.closeDialog();
Поэтому я решил, что мне просто нужно добавить widget.datasource.saveChanges(); вариант кнопки «Закрыть».
widget.datasource.saveChanges();
var datasource = app.datasources.SystemOrders_HideComplete;
datasource.load();
app.closeDialog();
К сожалению, когда я использую вышеизложенное, я получаю следующую ошибку, и кажется, что таблица застревает, пытаясь перезагрузить (спиннер продолжает вращаться).
"Невозможно запросить записи в моделях с изменениями."
Я предполагаю, что это может быть связано с тем, что источник данных не закончил сохранение нового изменения, прежде чем пытаться перезагрузить источник данных?
Как я могу иметь кнопку «Сохранить (закрыть)»:
Сохраните изменения
Закрыть диалог
Обновить таблицу, чтобы она отражала изменения?
Спасибо за помощь.