在 Lotus Script 或 Lotus Formula 的视图中显示表单中的所有字段
Display all Fields from a Form in a View in Lotus Script or Lotus Formula
是否有任何简单的方法来创建包含表单中所有可用字段的视图?
我有一个包含 100 多个字段的表单,创建包含所有字段的视图将花费太多时间。目的是在视图中导出数据。
也许你可以使用
ReadViewEntries
使用此命令访问 XML 形式的视图数据,不带外观属性,例如字体、列表分隔符、日期格式、HTML 设置、视图模板和框架重定向。
语法:
http://Host/Database/ViewName?ReadViewEntries
Link: http://www.ibm.com/developerworks/lotus/library/ls-Domino_URL_cheat_sheet/
您可以打开使用表单创建的文档并遍历 NotesItems。在那里你可以得到字段名称。
代码可能如下所示:
Dim field List As String
Forall i in doc.Items
field(i.Name) = i.Text
End Forall
您现在有一个列表,其中包含字段的文本表示形式作为值,字段名称作为列表标记。
或者您可以对每个文档执行此操作并导出所有类似的值。创建一个包含 100 列的视图将创建一个巨大的视图索引。不是个好主意。
您可以使用 NotesDatabase.CreateView
method, and create columns to this View
by using NotesView.CreateColumn
. The list of all fields in Form
you can get from NotesForm.Fields
property. The Form
itself you can get from NotesDatabase.GetForm
方法创建 View
。
这是示例:
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim form As NotesForm
Dim view As NotesView
Set db = ses.CurrentDatabase
formName$ = "YourFormName"
Set form = db.GetForm(formName$)
Set view = db.CreateView(formName$ & "Fields", {Form = "} & formName$ & {"})
Forall field In form.Fields
Call view.CreateColumn(, field, field)
End Forall
是否有任何简单的方法来创建包含表单中所有可用字段的视图?
我有一个包含 100 多个字段的表单,创建包含所有字段的视图将花费太多时间。目的是在视图中导出数据。
也许你可以使用
ReadViewEntries 使用此命令访问 XML 形式的视图数据,不带外观属性,例如字体、列表分隔符、日期格式、HTML 设置、视图模板和框架重定向。 语法:
http://Host/Database/ViewName?ReadViewEntries
Link: http://www.ibm.com/developerworks/lotus/library/ls-Domino_URL_cheat_sheet/
您可以打开使用表单创建的文档并遍历 NotesItems。在那里你可以得到字段名称。
代码可能如下所示:
Dim field List As String
Forall i in doc.Items
field(i.Name) = i.Text
End Forall
您现在有一个列表,其中包含字段的文本表示形式作为值,字段名称作为列表标记。
或者您可以对每个文档执行此操作并导出所有类似的值。创建一个包含 100 列的视图将创建一个巨大的视图索引。不是个好主意。
您可以使用 NotesDatabase.CreateView
method, and create columns to this View
by using NotesView.CreateColumn
. The list of all fields in Form
you can get from NotesForm.Fields
property. The Form
itself you can get from NotesDatabase.GetForm
方法创建 View
。
这是示例:
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim form As NotesForm
Dim view As NotesView
Set db = ses.CurrentDatabase
formName$ = "YourFormName"
Set form = db.GetForm(formName$)
Set view = db.CreateView(formName$ & "Fields", {Form = "} & formName$ & {"})
Forall field In form.Fields
Call view.CreateColumn(, field, field)
End Forall