部分更新...为什么我需要2次刷新才能看到变化?

时间:2012-08-29 07:01:57

标签: xpages xpages-ssjs

我有一个简单的问题:

我有一个带有我视图的ViewPanel,我有3个名为

的按钮(动作按钮)
  • 删除录入
  • MARK UNREAD
  • MARK READ

每3个动作在SSJS例程之后执行我的视图的部分更新

  • 删除录入:调用一个简单的SSJS doc.remove(true); ,但我的ViewPanel会在刷新此操作后显示该条目(但是如果执行另一个部分刷新,则该条目不会正确显示到ViewPanel中)
  • MARK READ:调用一个简单的SSJS document1.getDocument()。markRead(); ,并在部分刷新按钮事件处理程序后正常工作!
  • MARK UNREAD:调用一个简单的SSJS document1.getDocument()。markUnread(); 但是我有同样的动作REMOVE ENTRY问题(在事件处理程序自动部分刷新BUTTON之后我不知道看到ViewPanel的任何变化......我需要在......之后执行另一次部分更新,并且我看到未经注册的条目)

有人建议吗?

1 个答案:

答案 0 :(得分:1)

我遇到过类似的问题。我不是说我找到的解决方案很好......但至少它对我有用。

完成您在viewpanel上执行的每个操作后,在事件处理程序内部尝试输入以下代码:

<xp:this.onComplete><![CDATA[XSP.partialRefreshGet("#{id:viewPanel1}", {
    onComplete: function() {
        //
    }
});]]></xp:this.onComplete>

一旦您的操作完成,这将刷新视图面板。