如何防止数据源dominoview的自动更新?

时间:2017-06-01 17:12:24

标签: xpages

我有一个dominoview的重复控件作为数据源,显示主要文档。

对于重复中的每个条目,用户可以发表评论,这些评论是参考doc /条目保存的。当用户保存评论时,我使用doc的universalID作为参考。我从底层dominoview的列值获得此unID。

我们正在努力应对基础视图的变化(创建新文档,从其他用户中删除)。当然,xpage仍然显示页面加载的情况,但是当您在重复(添加注释)中执行时,rowindex引用后端视图,而不是xpage中显示的数据。

也许一个例子有助于说清楚:

用户A打开xpage,读取它(...?),然后决定对entry / doc No 3发表评论。同时用户B创建了另一个主文档(这样在后端视图中,用户A的条目已移至第4行。现在,当用户A保存其评论时,它将被引用到前第2行文档。

有没有办法阻止这种查找?

thx任何帮助,Uwe

1 个答案:

答案 0 :(得分:0)

请勿使用索引

使用基础重复行文档

重复定义变量,例如var="row"并使用row.getDocument()获取文档 这样您就可以确保更改了正确的文档。

<xp:repeat
    id="repeat1"
    rows="30"
    value="#{view1}"
    var="row">
    ...
    <xp:button
        value="change document"
        id="button1">
        <xp:eventHandler
            event="onclick"
            submit="true"
            refreshMode="complete">
            <xp:this.action><![CDATA[#{javascript:
                var doc = row.getDocument();
                doc.replaceItemValue("comment", "my comment");
                doc.save();
        }]]></xp:this.action>
        </xp:eventHandler>
    </xp:button>
</xp:repeat>