当我在XPage上创建新文档时,如何从其他文档获取数据?

时间:2013-08-07 10:19:09

标签: xpages document session-scope domino-designer-eclipse

我已经开始在7周前开发XPage了,我遇到了问题"获取数据"。

在我的第一页上,我有一个包含大量文档的视图,以及一个在新页面上重定向我的按钮,用于创建新文档。在我的第一页上,我可以选择一个文档,当我点击按钮时,我将我的id文档选择在sessionSCope上。

按钮脚本:

var viewPanel=getComponent("viewPanel1");
var docIDArray=viewPanel.getSelectedIds();
var docUID=database.getDocumentByID(docIDArray[0]).getUniversalID();
sessionScope.put("docUID", docUID); 
context.redirectToPage("AjoutSuivi");

在我的新XPage上,我希望获取所选文档的一些数据,以便在XPage的clientLoad上执行此脚本:

var docUID = sessionScope.get("docUID");
var doc:NotesDocument = database.getDocumentByUNID(docUID);
getComponent("contactname1").setValue(doc.getItemValueString("ContactName"));

在我的数据库中,我有一个字段" ContactName"在我的XPage上我有一个字段contactname1。我试过" database.getDocumentByID(docUID)"我确信"数据库"是数据库的良好链接。

当我尝试它时,该字段上没有任何内容contactname1让您知道为什么它不起作用?

非常感谢你能帮助我

PS:抱歉我的英文不好

2 个答案:

答案 0 :(得分:2)

将您的代码放入事件afterPageLoad后它应该有效(对于事件的执行顺序,请查看XPage Cheat Sheet #1 - The Page Lifecycle)。

答案 1 :(得分:2)

Y4nn欢迎来到XPages俱乐部。将控件绑定到数据源时,最好设置数据源中的值而不是控件中的值。所以你写道:

 document1.getDocument().replaceItemvalue(...)

(现在在玻璃上挑选,注意正确的语法)