2

我正在尝试在要转换为 XPage 的应用程序中简化现有的 Notes 表单。Notes 表单上有超过 240 个字段和一堆我想要清理的逻辑。此外,该表单具有各种显示格式,这使得查看它变得复杂。所以我一直在尝试编写一个代理,它将获取 FormA 并循环遍历所有字段并将它们复制到 FormB。然后,我将使用 FormB 将我的 XPage 绑定到,并且尝试跟踪数据问题会简单得多。如果 FormA 没有这么多字段,我会手动重新创建它,但我敢肯定,如果有超过 240 个字段,我会引入一些新的拼写错误。

4

2 回答 2

2

您无需对表单执行任何操作即可为其创建 XPage 布局。XPages 根本不需要表单,尽管它使开发更容易,因为在创建数据绑定后,表单中的所有字段都可用并且可以拖放到 Xpage。表单上没有的字段必须在 xpage 的源代码中手动创建(例如,复制并粘贴现有字段并更改绑定/名称)

如果你想清理你的文件,代理人甚至可以在不接触表格的情况下完成这项工作。

对于此任务,请考虑“表格”和“文档”之间的区别。表单是定义文档外观的设计元素。表单包含定义您可以在文档中放入什么类型的数据的字段。文档是项目(而不是字段)的愚蠢“容器”。它包含创建/上次保存文档时表单中存在的任何字段的项目。PLUS 以任何其他方式创建的项目(例如,使用配方或 Lotusscript 代理)或在早期开发阶段已在表单上。

如果您从表单中删除一个字段,它不会从相应的文档中删除,即使保存它们也不会。但是,如果您将字段添加到表单,则文档将在保存后包含该字段的项目(永远,如果您不使用代理手动删除它)。

With this knowledge you can simply create a new, "cleaner" form with the same name as the old one and rename the old one. From this time on, document will be displayed with the new Form and you can develop your XPage using it as your data source.

If you need to accumulate the data in the documents, this can be done with an agent without using a form: just manipulate the document DIRECTLY.

Here is an example in formula to put two fields together:

FIELD NewFieldName := OldField_1 : OldField_2;
FIELD OldField_1 := @DeleteField;
FIELD OldField_2 := @DeleteField;
于 2013-07-20T06:51:12.317 回答
1

我认为,在大多数情况下,拥有一个包含 240 个字段的表单并不是一个好主意。当没有可用的嵌入式视图并且一对多的关系被放入索引为 1 到 20 的字段中时,它看起来像旧 Notes 3 或 4 次中的表单。

也许,重新设计是更好的方法。

此外,您不需要创建和维护包含所有 240 个字段的表单来开发您的 XPage。实际上,您根本不需要表格。使用基于“Domino 文档”的数据源定义,您可以定义表单名称以及创建新文档或查找现有文档的方式。而已。然后,您可以在 XPage 中创建您的字段。给他们一个名字和一个类型。您可以在 Designer UI 中执行此操作。只需将新字段名写入所选“数据源”的“绑定到”。在“显示类型”中选择字段类型(字符串、数字、日期/时间)。这不仅对显示有效,而且还将字段作为选定类型保存到文档中。在此示例中,它将创建一个新字段“YourNewField”并将其保存为整数。 在此处输入图像描述

当您提交页面时,所有字段都将在文档中创建或设置。您可以使用文档属性框检查 Notes 客户端中的字段及其类型。

不过,一个好方法是创建具有最重要字段的表单。然后您可以在 Notes 客户端中打开文档并检查 XPage 设置的字段。

于 2013-07-19T19:46:45.670 回答