XPages:单页应用程序数据视图刷新
我有一个单页应用程序,它有两个页面-第一个页面包含数据视图控件(我使用向导创建页面-我没有创建任何自定义控件,因为整个应用程序只包含4个页面!),第二个页面然后显示在数据视图控件中选择的文档。这很好用!我的问题是数据视图控件中显示的文档没有被刷新-我需要手动刷新它们才能显示。我想这不是问题,只要每5秒自动刷新一次(只有大约20个用户在使用该应用程序):XPages:单页应用程序数据视图刷新,xpages,Xpages,我有一个单页应用程序,它有两个页面-第一个页面包含数据视图控件(我使用向导创建页面-我没有创建任何自定义控件,因为整个应用程序只包含4个页面!),第二个页面然后显示在数据视图控件中选择的文档。这很好用!我的问题是数据视图控件中显示的文档没有被刷新-我需要手动刷新它们才能显示。我想这不是问题,只要每5秒自动刷新一次(只有大约20个用户在使用该应用程序): 这将完美地刷新页面-如果用户位于第二页,他/她将使用数据视图控件(即第1页)跳回页面,而不会停留在打开的文档上(即第2页) 如何使数据视图控
这将完美地刷新页面-如果用户位于第二页,他/她将使用数据视图控件(即第1页)跳回页面,而不会停留在打开的文档上(即第2页)
如何使数据视图控件定期刷新而不返回到数据视图控件
先谢谢你
ursus我不认为您真的希望每n秒刷新一次视图,因为这有可能成为一个巨大的性能问题,再加上您指出的奇怪的原因。有两种方法可以实现这一点:
- 在应用程序页属性中,将resetContent设置为true
- 创建onAfterTransitionIn事件以对数据视图或其容器执行XSP.partialRefreshGet。这样,当有人登陆视图时,它将刷新其内容。以下是一个例子:
var widget = dijit.byId("#appPageName"); dojo.connect(widget, "onAfterTransitionIn", function(moveTo, dir, transition, context, method){ console.log("onAfterTransitionIn args=",arguments); var appPageChildren = dojo.query("[id='" + appPageName + "']").children()[0]; var contentId = appPageChildren.id; console.log("contentId=",contentId); setTimeout(function() { XSP.partialRefreshGet(contentId, {}); },200); });
var widget = dijit.byId("#appPageName");
dojo.connect(widget, "onAfterTransitionIn", function(moveTo, dir, transition, context, method){
console.log("onAfterTransitionIn args=",arguments);
var appPageChildren = dojo.query("[id='" + appPageName + "']").children()[0];
var contentId = appPageChildren.id;
console.log("contentId=",contentId);
setTimeout(function() {
XSP.partialRefreshGet(contentId, {});
},200);
});