简单地说,我想要db.UnprocessedNotesViewEntries之类的东西,就像db.UnprocessedDocuments。
[问题是,向用户显示一个具有两个月1类类别的Notes视图:如“ Jan / 2019”等,然后是2帐单类型,如HVAC或电力或维护等。
该视图不应具有UnProcessedDocuments。用户应该选择一个或多个类别,而我想掌握所选类别,然后继续进行处理。
如下代码使我可以获取类别,但是无法仅获取所选类别:
Dim workspace As New NotesUIWorkspace
Dim session As New notessession
Dim db As notesdatabase
Dim view As NotesUIView
Dim nav As NotesViewNavigator
Dim entry As NotesViewEntry
Set db = session.CurrentDatabase
Set view = workspace.CurrentView
Set nav = view.View.CreateViewNav()
Set entry = nav.GetFirst
''Navigate through the selected entries (categories and detail rows) one by one.
Do Until entry Is Nothing
If entry.IsCategory Then
''just a debugging code which works as expected.
Print entry.IndentLevel
Print entry.ColumnValues(0)
Print entry.ColumnValues(1)
Print entry.ColumnValues(2)
Print entry.ColumnValues(3)
End If
Set entry = nav.GetNext(entry)
Loop
请帮助!
我认为不可能。视图条目是从后端视图生成的,没有指向用户选择的链接。在uiView中,您只能进入caretNoteId,其中包含突出显示的文档的ID(而非类别)。您还具有caretCategory,但这仅返回(再次)突出显示的文档的最低类别级别。
要做类似的事情,我们使用以下(()解决方法:创建一个视图,将“ ODBC访问”设置为“在索引中生成唯一键”。
在此视图中,创建类别列和一个包含固定文本的单列(类似于“选择此类别”)。
创建具有相同分类但未选中'ODBC Access'的第二个视图。
让用户在第一个视图中选择“选择此类别”行。然后,在脚本中使用“ unprocessedDocuments”以获取选定的行。现在,您可以在第二个视图中进行搜索(getdocumentbykey),以获取与所选文档具有相同类别的所有文档。
不幸的是,这仅在使用单个值字段来生成类别时起作用(否则,您不知道选择了哪个值)