【发布时间】:2014-09-19 15:52:16
【问题描述】:
我的场景:
xpage(文档内容)具有复杂的结构。我有一个打开此 xpage 的第一个按钮,在 postNewDocument 中:
Contr.replaceItemValue("txt_codformularmain","01") // I use this field as a flag.
现在,有另一个按钮组成相同的 xpage ...但在这种情况下,我确实希望 xpage 有所不同,换句话说,有一些额外的/显示的字段。
我可以在 postNewDocument 中添加另一个代码,如下所示:
Contr.replaceItemValue("txt_codformularmain2","01")
稍后,在某些视图中,我将按这 2 个字段过滤列出的文档:某些视图将列出 txt_codformularmain=01 的文档,其他视图将列出 txt_codformularmain2=01 的文档,依此类推。
所有字段都在同一个表单元素上。 (我可以轻松创建 2 个不同的 xpage,包含 2 个文档内容,但在 onOpen 和 onWebAccess 设置的表单属性中,我只能添加一个 xpage)
但是,我认为这不是最好的方法。因为在这两种情况下,都会发生postNewDocument,并且这两个字段的值都是01。
在经典的 lotus notes 编程中,我只使用了一个字段(标志),并且对于每个不同的按钮,在按钮的代码中,我只是在组成 newDocument 之前更改了字段值:01、02 等。
我应该使用另一种/更好的方法吗?
我可能会创建一个包含所需字段的新表单,并创建一个绑定到该表单的新 XPage...
【问题讨论】:
-
可能更好的方法是在页面加载前打开页面时设置范围变量。接下来使用不同的文档进行视图。并根据作用域变量加载这些视图
-
但是如何将范围变量设置为一个值 - 取决于单击了哪个按钮?
-
按钮不在同一个页面上
-
当您单击一个按钮时,您可以设置一个 sessionScop 变量,该变量可以在整个应用程序中使用。并且 Viewpanel 应该被包裹在一个面板中,这样您就可以执行部分刷新来加载正确的数据。
标签: xpages