XPages:单页应用程序数据视图刷新

时间:2014-03-03 15:38:08

标签: xpages

我有一个单页应用程序有两个页面 - 第一页包含一个数据视图视图控件(我使用向导创建页面 - 我没有创建任何自定义控件,因为整个应用程序只包含4页!) ,然后第二页显示在数据视图控件中选择的文档。这很完美!我的问题是数据视图控件中显示的文档没有刷新 - 我需要手动刷新它们才能显示。这不是问题,我只需每5秒进行一次自动刷新(只有大约20个用户使用该应用程序):

<meta http-equiv="refresh" content="5; URL="></meta>

这样可以完美地刷新页面 - 如果用户在第二页上,他/他会被带回数据视图控件的页面(即第1页),并且不会停留在打开的文档上(即第2页)。

如何定期刷新数据视图控件而不会碰到数据视图控件?

提前感谢你 熊属

1 个答案:

答案 0 :(得分:1)

我认为你真的不想每隔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);
    });