Объект успешно сохранен, но все еще показывает "Операция сохранения не удалась"

По сути, у меня есть экран AddEdit (загруженный с экрана просмотра), с которого сохраняется сущность. При нажатии на иконку сохранения, сущность была фактически сохранена, но я все еще получаю сообщение "Операция сохранения не удалась, ОК", которое препятствует обновлению на экране просмотра таблицы, содержащей список сохраненных сущностей.

По-видимому, изменение не становится постоянным или что-то.

1 ответ

Экран добавления / редактирования проверяет данные перед вставкой / обновлением.

Если вы обновляете существующую запись, в которой есть столбец DateTime (например, DateTime регистрации, DateTime создания записи и т. Д.), И если вы используете элемент управления DateTime LightSwitch, может возникнуть ошибка проверки.

Устройство выбора даты и времени LightSwitch не может прочитать некоторые форматы DateTime, поэтому не может присвоить значение (полученное из БД) для управления. Обычно это показывает ошибку валидации, которая является хорошей, однако если вы установите false для видимости элемента управления, вы никогда не увидите ошибку, вызванную скрытым элементом управления.

Ошибка игнорируется в большинстве браузеров, кроме IE.

Это своего рода ошибка.

Решение состоит в том, чтобы временно показать все скрытые элементы управления на экране и проверить функциональность вставки / обновления. Вы увидите ошибку и контроль, вызвавший эту ошибку.

Вы можете изменить тип элемента управления на "Текст" или "Редактировать" или назначить ему значение вручную (код ниже).

Вы можете написать свой собственный метод для вставки / обновления записи. Посмотрите следующий код:

myapp.BrowseProducts.EditProduct_execute = function (screen) {    
    myapp.showAddEditProduct(null, {
        beforeShown: function (editNewProductScreen) {
           var selectedProduct = screen.products.selectedItem;            
           editNewProductScreen.product= selectedProduct;
        },
        afterClosed: function () {
           screen.products.refresh();
        }
    });
};

добавить обновление в функцию afterClosed, которая решает проблему обновления данных.

Другие вопросы по тегам