从视图面板打开不同的xpages表单

时间:2013-06-01 12:43:38

标签: xpages

我有一个Xpages应用程序从另一个.nsf文件中提取数据。我有一个视图面板链接到该数据库中的视图。视图中包含多种不同形式的文档。我希望能够以自己的形式(xpage)打开每个文档。

如何编写计算机运行时,使用:语句打开所选文档,该语句将选择正确的X页来显示文档。

5 个答案:

答案 0 :(得分:2)

您有两个选择:

  • 使用“使用与表单关联的xpage”并编辑表单的属性

  • 使用SSJS公式计算表单。您在视图控件 var 中提供变量名称,以XSPViewEntry的形式访问视图行。如果表单在视图列中,即使您不显示,也可以使用.getColumnValue,否则getDocument.getItemValueString

这对你有用吗?

答案 1 :(得分:2)

如果使用数据视图组件而不是视图面板,则可以计算pageName属性,引用var属性,以根据行所代表的文档为每行返回不同的值。 Data View组件的灵活性还使您可以更轻松地使您的应用看起来更像现代Web应用程序,而不像Excel电子表格。作为额外的奖励,移动主题调用渲染器,使每个数据视图实例看起来像本机移动列表,因此使用数据视图而不是视图面板简化了移动开发。

答案 2 :(得分:1)

也许这个词可以帮助你:Unable to get document page name for

希望这有帮助

标记

答案 3 :(得分:1)

我今天遇到了类似的问题。我只使用一种形式,但使用3种不同的xpages与此表单相关联。我在视图中有3种不同的文档类型。我使用rowData获取文档的类型。

try{
    var v=rowData.getColumnValue("form");
    if(v.indexOf("x")> -1){var page ="x.xsp"}
    else if(v.indexOf("y") > -1){var page = "y.xsp"}
    else{var page = "z.xsp"}
}catch(e){
    var page = "x.xsp"
}

因此,在您的视图中,您可以创建一个包含表单值的列,您可以使用它。

答案 4 :(得分:0)

我使用了扩展库动态视图控件,它有一个事件,你可以编写代码来获取所选的NotesViewEntry的句柄。请参阅演示数据库页面Domino_DynamicView.xsp和自定义事件处理程序选项卡以获取示例...

注意,在8.5.3(我尚未升级)中,如果为onColumnClick添加或编辑eventHandler,它将作为xe:eventHandler添加到XPages源...它需要是一个xp:eventHandler to工作。这样做的方法是从exiting事件中复制源代码并删除它。重新创建事件并更新代码。然后返回源代码并将eventHandler中的标记更改为xp:....

Newbs