如何指定代理/公式以按标准检索文档

时间:2015-04-20 20:52:19

标签: lotus-notes lotus-domino domino-designer-eclipse

表单包含“searchInputField”和简单的按钮。按钮下方有一个视图。

如何根据searchInputCriteria在VIEW中指定SELECT公式?我想在设置“searchInputField”后单击按钮时刷新VIEW。它应该像简单的自定义搜索。

点击按钮,我已完成:

@SetEnvironment("criteria", "searchInputField");
@Command([RunAgent];"searchAgent");
@Command([ViewRefreshFields]);

我的经纪人:

SELECT @Like(propertyA, @Environment("criteria"));

但它没有做任何事情。我是Lotus Notes的新手。请给我一些指导意见

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以在按钮内使用此脚本,但它不会以动态,实时的方式工作:

Dim db As NotesDatabase
Dim session As New NotesSession
Dim uiw As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim formula As String
Dim doc As NotesDocument
Dim view As NotesView       
Set db=session.CurrentDatabase
Set uidoc=uiw.CurrentDocument
Set doc=uidoc.Document
Set view=db.GetView("MyEmbeddView")     
formula$={SELECT  @Like(criteria;  "} & doc.searchInputField(0) & {")}
view.SelectionFormula=formula

以可靠的方式查看更改的唯一方法是关闭并重新打开数据库。它在性能方面也是一种非常昂贵的工作方式。 我建议你不要使用这种工作方式来改变观看选择的动态'。在更改后更改保持静态一段时间的视图会很有用。例如,您可以编写一个代理,定期更改选择公式(例如,每月或每天在非高峰时间或维护窗口期间)。

在您的情况下,我建议使用单个类别视图或动态填充文件夹。 单个类别视图比动态计算用于填充文件夹的DocumentCollection要快得多。