我有2套的代码:
- 保存数据
myapp.activeDataWorkspace.ProjectHandlerData.saveChanges();
2.Refreshes页面
window.location.reload();
有没有办法让这两个上一个按钮一起工作,因为目前当我点击保存,浏览器识别变化并沿着这些线路的(你确定要离开页面)消息或东西啪啪起来..
干杯
我有2套的代码:
myapp.activeDataWorkspace.ProjectHandlerData.saveChanges();
2.Refreshes页面
window.location.reload();
有没有办法让这两个上一个按钮一起工作,因为目前当我点击保存,浏览器识别变化并沿着这些线路的(你确定要离开页面)消息或东西啪啪起来..
干杯
这是HTML客户端,对不对? 假定是这种情况:
调用SaveChanges()是一个异步操作,所以你想做的事:
myapp.activeDataWorkspace.ProjectHandlerData.saveChanges().then(function () {
window.location.reload();
});
这样,它会等待,直到它完成保存更改它重新加载整个屏幕。
然而,有一个平滑的方式做到这一点,至少从用户的角度来看它的顺畅。 在编辑屏幕上,保留保存方法出来,让LightSwitch的搞定。 当用户点击保存,它将关闭编辑屏幕,并返回到他们在那里了。 使用showScreen方法的选择参数,我们可以改变这种行为。
更改调用编辑屏幕这样的方法:
myapp.showEditProject(screen.Project, {
afterClosed: function (editScreen) {
myapp.showViewProject(editScreen.Project);
}
});
这样一来,经过编辑画面关闭,并已办理了更改保存操作你的应用程序会自动定位到细节查看最近编辑的项目的画面。
如果您是不是想添加一个新的实体后刷新浏览屏幕:
myapp.showAddEditProject(null, {
beforeShown: function (addEditScreen) {
addEditScreen.Project = new myapp.Project();
},
afterClosed: function () {
screen.Projects.load();
}
});
这两个选项,beforeShown和afterClosed,给你很多很酷的能力来影响你的应用程序导航。
我了解到,您可以从添加/编辑窗口中保存,并重新加载你通过执行以下操作回到主界面:
例如:(加入以便将订单屏幕)
commitChanges();
在下面的行写: screen.OrderLine.OrderTable.details.refresh();
“这需要适用于您的方案” 希望这可以帮助...