基本上,我有一个 AddEdit 屏幕(从浏览屏幕加载),从中保存一个实体。单击保存图标时,实体实际上已保存,但仍然弹出“保存操作失败”消息,这阻止了浏览屏幕刷新包含已保存实体列表的表。
看起来,改变并没有得到持续或什么。
基本上,我有一个 AddEdit 屏幕(从浏览屏幕加载),从中保存一个实体。单击保存图标时,实体实际上已保存,但仍然弹出“保存操作失败”消息,这阻止了浏览屏幕刷新包含已保存实体列表的表。
看起来,改变并没有得到持续或什么。
添加/编辑屏幕在插入/更新之前验证数据。
如果您更新其中包含 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”功能中添加刷新,解决数据刷新问题。