内联编辑重复使用的视图数据

时间:2013-05-17 15:46:55

标签: xpages

我有一个重复控件,使用视图作为数据源,在重复中使用自定义控件。自定义控件由带有两个表的面板组成。一个表使用“编辑”按钮计算字段,另一个表具有带“保存”和“取消”按钮的可编辑字段。 “编辑”和“取消”按钮根据需要工作,但“保存”按钮提供NotesDocument.save()为空错误。我已经通过注释掉所有先前的行,将问题缩小到edoc.save()行发生的错误。我甚至试图做一个edoc.lock(),但得到了同样的错误。

var edoc:NotesDocument = database.getDocumentByUNID(viewScope.get('docid'));
edoc.replaceItemValue('Ext_1',viewScope.get('ext_1'));
edoc.replaceItemValue('DID',viewScope.get('did'));
edoc.replaceItemValue('Mobile',viewScope.get('mobile'));
try {
edoc.save();
} catch(e) {
print(e.toString());
}

1 个答案:

答案 0 :(得分:1)

在viewScope中存储DocID和重复控件似乎不对。您想要将自定义属性添加到名为DocID的自定义控件中,而不是

    database.getDocumentByUNID(viewScope.get("docid"));

你这样做:

    database.getDocumentByUNID(compositeData.DocID);

这是您可以确定您获得该视图中该行的文档。 您还可以考虑的是,而不是所有手动步骤(您注释掉的那些)都有一个带有DocumentDataSource的面板,然后简单地将输入字段绑定到那个。通过自定义属性和“IgnoreRequestParameter = true

移交id

然后你只需要一个rowDoc.save()(假设你命名了数据源rowDoc),你不需要回收任何东西。让我们知道它是怎么回事。