【问题标题】:Repeat control refresh error重复控制刷新错误
【发布时间】:2012-05-09 13:37:41
【问题描述】:

我有一个奇怪的问题。

我有一个带有重复控件的 XPage,其中数据源是一个视图。 此视图按类别名称过滤。 XPage 中有一个带有以下脚本的按钮:

doc = session.getCurrentDatabase().createDocument();            
doc.replaceItemValue("form", "myForm");
doc.replaceItemValue("docId", "myID");
doc.save();

按钮在重复控件上进行部分刷新,但总是在第一次单击按钮时(打开 XPage 之后)不会刷新重复器。第二次单击按钮后,我可以看到两个新文档。

当我从视图中删除文档时,我遇到了同样的问题,但在这种情况下,我收到以下错误消息:

javax.faces.el.PropertyNotFoundException: Error testing property 'label' in bean of type null
Error testing property 'label' in bean of type null

任何想法如何重新加载重复控件会更好(没有错误)?

【问题讨论】:

    标签: lotus-notes xpages


    【解决方案1】:

    问题是您在后端创建文档,因此运行时不知道创建了新文档,因此依赖于索引器将文档添加到视图中,然后再将其添加到刷新中,这通常会在稍有延迟后发生,这就是为什么在下一次刷新后,您会看到两个文档。我过去解决它的方法是使用 setTimeout() 执行刷新,延迟大约 300-500 毫秒。

    希望这会有所帮助。

    【讨论】:

    • 您好,感谢您的回答。你有一个小例子给我看看 setTimeout 是如何工作的?
    • 我在按钮的客户端事件中使用它,但它不起作用setTimeout(function(){ XSP.partialRefreshGet("#{id:myElement}", {}); },1000);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    相关资源
    最近更新 更多