我需要在Lotus Notes对话框中更改嵌入视图的列的名称和公式。当对话框中的组合框值发生更改时,我需要更改此列名称和公式。我添加了Lotus脚本来更改组合框值的列名和公式更改并添加代码以重新打开对话框。
Dim w As New NotesUIWorkspace
Dim view As NotesView
Dim col As NotesViewColumn
Set view = db.GetView("Test")
For j= 0 To UBound(SboxColName)
Set col=view.Columns(j)
col.Title=SboxColName(j)
col.Formula=SboxColFormula(j)
Next
Call w.Viewrefresh()
但是视图列在下次打开时不会更新,只有在我在设计器中打开视图并保存视图时它才会更新。当我在设计器中打开此视图时,我可以看到列在设计中更新。 有没有办法让这个嵌入式视图列在运行时更新
答案 0 :(得分:0)
过去我在服务器代理中使用过这段代码,工作正常。 我在列中更改了DateTime值以着色行(复制列和更改公式)。 之后我发送了命令来重建db中的视图。
Set view = db.Getview(*viewName*)
Set clm = view.Columns(3)
Set Newclm = view.Copycolumn(clm, 5)
Call view.Refresh()
Newclm.Formula = {@If( [} & Today & {] > @Date(DTContol); 255:0:0;-1 : -1 : -1 : -1 : -1 : -1)}
Call view.Removecolumn(4)
CommandText = {load updall } & db.Filepath & { -t } & view.Name & { -r}
Call session.Sendconsolecommand(db.Server, CommandText)
在客户端:也许调用ws.Viewrefresh()就足够了