我有一个Xpages应用程序从另一个.nsf文件中提取数据。我有一个视图面板链接到该数据库中的视图。视图中包含多种不同形式的文档。我希望能够以自己的形式(xpage)打开每个文档。
如何编写计算机运行时,使用:语句打开所选文档,该语句将选择正确的X页来显示文档。
答案 0 :(得分:2)
您有两个选择:
使用“使用与表单关联的xpage”并编辑表单的属性
使用SSJS公式计算表单。您在视图控件 var 中提供变量名称,以XSPViewEntry的形式访问视图行。如果表单在视图列中,即使您不显示,也可以使用.getColumnValue,否则getDocument.getItemValueString
这对你有用吗?
答案 1 :(得分:2)
如果使用数据视图组件而不是视图面板,则可以计算pageName
属性,引用var
属性,以根据行所代表的文档为每行返回不同的值。 Data View组件的灵活性还使您可以更轻松地使您的应用看起来更像现代Web应用程序,而不像Excel电子表格。作为额外的奖励,移动主题调用渲染器,使每个数据视图实例看起来像本机移动列表,因此使用数据视图而不是视图面板简化了移动开发。
答案 2 :(得分:1)
答案 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