Lotus notes lotusnotes中的运行时设计更改

Lotus notes lotusnotes中的运行时设计更改,lotus-notes,lotusscript,Lotus Notes,Lotusscript,我需要在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) S

我需要在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()
但是视图列不会在下一次打开时更新,它只有在我在designer中打开视图并保存视图时才会更新。当我在designer中打开此视图时,我可以看到该列在设计中已更新。
是否有任何方法可以在运行时更新此嵌入式视图列

过去,我在server agent中使用了此代码,但效果很好。 我更改了列中为行着色的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()就足够了

如果两个或多个用户同时为同一个视图运行代码怎么办?是的,我知道当我们更改lotus notes中的设计元素时,这是一个问题。但是我在想,假设一个用户一次更新一个设计,有什么解决方案吗?您的用户有数据库的设计器访问权限吗?