XPages - 我们如何在选定的视图文档中设置字段值

XPages - how do we set a field value in selected view documents

这是我对一个超级简单的问题的回答,该问题在互联网上有许多分散的部分答案。有点要点。

我不再使用 xpages,但在家里我仍然有我的 TDL 应用程序 运行。我从一些示例模板编译了一个非常简单的待办事项列表视图。 "mark done" 按钮多年来一直作为虚拟按钮使用 - 从未找到实现该功能的简单方法。

在通过谷歌搜索一些 Stack-O 和 Developerworks 以及一些 Domino 博主问答线程之后,我将这一小堆 SSJS 放到了适当的位置,然后 ta-da!这里没有原创作品,只有胶合和管道胶带 - 请参阅答案:

这发生在我的视图 "Complete Selected" 按钮的 onClick 事件中。 Status 字段是我的目标,“3”映射到应用程序中的 "Done":

sessionScope.put("myIdList", getComponent("viewPanel1").getSelectedIds());
var docsForAction = sessionScope.get("myIdList")
var doc:NotesDocument;
for(i=0; i < docsForAction.length; i++){
    var unid=database.getDocumentByID(docsForAction[i]).getUniversalID();
    doc = database.getDocumentByUNID(unid);
    doc.replaceItemValue("Status","3");
    doc.save();   
    }
docsForAction = [];
viewScope.put("myIdList", docsForAction); 
context.reloadPage();