2

我在 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:对不起我的英语不好

4

2 回答 2

2

将您的代码放入事件 afterPageLoad 中,它应该可以工作(有关事件的执行顺序,请查看XPage Cheat Sheet #1 - The Page Lifecycle)。

于 2013-08-07T10:42:00.457 回答
2

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

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

(现在拿起玻璃杯,注意正确的语法)

于 2013-08-07T11:34:52.393 回答