繁体   English   中英

LightSwitch HTML客户端无需刷新整个页面即可自动运行查询

[英]LightSwitch HTML Client to automatically run queries without refreshing entire page

在Lightswitch HTML客户端中,我们创建了一个屏幕来显示特定业务流程的进行中的工作。

这将在大屏幕上显示,就像您去Argos收集订单时一样。 这是截图...

在此处输入图片说明

我们正在使用一些Java脚本每30秒刷新一次页面。

setTimeout(function () {
    window.location.reload(1);
}, 30000);

但是,这有两个问题。

  1. 用户输入的“最大结果数”文本在刷新时丢失。
  2. 刷新整个页面看起来并不好。

因此,是否有可能仅触发每个查询而不是整个页面来重新加载?

(数据由WCF RIA服务提供给LightSwitch)

在JavaScript中,使用screen.MyList.load() 它将异步地重新加载列表。

请注意,IntelliSense并不总是在screen对象上建议列表名称,但是如果您键入名称,它将识别它们。

结合setTimeout()方法和created屏幕事件,它应该可以工作。

我遇到了同样的问题,终于找到了解决方案。 我在创建的事件中添加了此代码:

myapp.BrowseMembers.created = function (screen) {
    setInterval(function () {screen.Members.load(true);}, 1000);
};

我的作品,只是屏幕闪烁重新加载数据时闪烁。 setTimeout将仅触发一次,但setInterval将每1秒钟触发一次。

我在LightSwitch VS2012 Update 3上遇到了同样的问题,因为我的情况就是无效就足够了,所以我总是可以使用一个新的实体。 此代码在输入屏幕上运行一次,每30秒使加载的实体无效,并在需要时强制进行重新提取。

myapp.aaHome.created = function (screen) {
    setInterval(function () { 
        screen.details.dataWorkspace.ApplicationData.Currencies._loadedEntities = {};
    }, 30000);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM