不,视图选择公式不能包含 LotusScript
不是有一个观点,但你在那里找到了一些东西。我过去曾使用文件夹来做到这一点。视图包含一组与视图选择公式匹配的文档。另一方面,文件夹可以包含由用户或代码放置在其中的文档集合。在 Lotusscript 世界中,您可以使用 NotesView 类以与视图相同的方式访问文件夹。然后,您可以调用文档的 PutInFolder 方法或 documentcollection 的 PutAllInFolder 方法将文档添加到该文件夹。
不可以。不过,您可以通过 SelectionFormula 属性以编程方式指定视图使用的公式。但是该属性需要一个用公式语言编写的字符串。
我对 C API 不是很熟悉,但我敢打赌你只能做与 #3 相同的事情——指定用作选择公式的公式。它不会帮助您根据 LotusScript 代码选择文档。
我之前在几个项目中一直在这条路上,我找到的最佳解决方案是我在答案#2中建议的。也就是说,您可以以编程方式清除然后填充文件夹,然后将用户带到该文件夹作为代码的最后一步。使用该方法,您可以自由地使用 LotusScript 过滤文档并构建您的“查询结果”视图。
您可以使用的另一种不太理想但实用的方法是在所有文档中标记一个具有特殊值的项目,然后过滤视图以仅显示具有等于该特殊值的项目的文档。例如,您可以在 LotusScript 中运行搜索以使用 db.Search 方法构建文档集合。然后使用 documentcollection.StampAll 方法将“SHOWME”项设置为“YES”。然后您的视图只需设置为仅显示 SHOWME = "YES" 的文档。当然,作为此代码的第一步,您需要从数据库中的所有文档中删除该 SHOWME 项,因此您每次都从一个干净的状态开始。如果您拥有的文档越多,这种方法会变得越来越慢,但是如果您只有几百个文档,它会工作得很好。
希望这可以帮助!