1

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

如何编写一个计算的在运行时,使用以下语句打开选定的文档:该语句将选择正确的 Xpage 来呈现文档。

4

5 回答 5

2

您有 2 个选项:

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

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

那对你有用吗?

于 2013-06-02T15:17:33.660 回答
2

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

于 2013-06-03T10:11:59.987 回答
1

也许这个mothed可以帮助你:无法获取文档页面名称

希望这可以帮助

标记

于 2013-06-03T02:07:55.827 回答
1

我今天遇到了类似的问题。我只使用一个表单,但使用 3 个不同的 xpage 与此表单相关联。我在视图中有 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"
}

因此,对于您的视图,您可以使用表单的值创建一个列,然后您可以使用它。

于 2015-10-15T14:23:12.573 回答
0

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

请注意,在 8.5.3(我还没有升级)中,如果您为 onColumnClick 添加或编辑 eventHandler,它将作为 xe:eventHandler 添加到 XPages 源...它需要是 xp:eventHandler 才能工作。这样做的方法是从退出事件复制源中的代码并将其删除。重新创建事件并更新代码。然后回到源代码,将 eventHandler 中的标签更改为 xp:....

新人

于 2013-06-01T20:31:13.350 回答