0

基本上,我有一个 AddEdit 屏幕(从浏览屏幕加载),从中保存一个实体。单击保存图标时,实体实际上已保存,但仍然弹出“保存操作失败”消息,这阻止了浏览屏幕刷新包含已保存实体列表的表。

看起来,改变并没有得到持续或什么。

4

1 回答 1

0

添加/编辑屏幕在插入/更新之前验证数据。

如果您更新其中包含 DateTime 列的现有记录(例如:注册 DateTime、记录创建 DateTime 等),并且如果您使用 LightSwitch 的 dateTime 选择器控件,则可能会出现验证错误。

LightSwitch 的日期时间选择器无法读取某些日期时间格式,因此无法分配值(来自数据库)来控制。通常它会显示很好的验证错误,但是如果您将控件可见性设置为 false,您将永远不会看到由隐藏控件引起的错误。

除 IE 外,大多数浏览器都会忽略错误。

这是一种错误。

解决方案是暂时在屏幕上显示所有隐藏的控件并检查插入/更新功能。您将看到导致该错误的错误和控制。

您可以将控件类型更改为 Text 或 Edit 或手动为其赋值(如下代码)。

您可以编写自己的方法来插入/更新记录。看看下面的代码:

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”功能中添加刷新,解决数据刷新问题。

于 2015-07-16T14:46:52.170 回答