2013-01-24 140 views
1

我正在處理Lotusscript,在$ Inbox上放置一個操作菜單(從而從該設計派生任何文件夾)。這個操作菜單有幾個項目,選擇「隱藏動作,如果公式爲真」。所有這些背後的邏輯完美地工作,但是現在我需要重新評估這些公式,如果用戶在文件夾中執行某些操作(例如:如果由於設置了特定標誌而導致操作被隱藏,並且該標誌是改變,然後我想重新評估公式,以便現在顯示該操作)。我似乎無法找到任何方式來重新加載文件夾或重新評估這些公式。有誰知道一種方法來做到這一點?刷新Lotus Notes文件夾

回答

2

對於NotesUIDocument有一個RefreshHideFormulas方法,但不適用於視圖。您可以可能能夠調用NotesUIWorkspace的ReloadWindow()方法,所以值得一試。

作爲替代,觸發調用@Command RefreshHideFormulas也可以爲你工作的代理:

下面是一些代碼(從http://ideajam.net/ideajam/p/ij.nsf/0/3BBA7E25A972ABD88625759600445A50?OpenDocument借用)

1)創建@Formula代理稱爲「RefreshActions 」代理列表觸發用下面的代碼:

@SetTargetFrame("YourFrame"); 
@UpdateFormulaContext; 
@Command([RefreshHideFormulas]); 

2)在您的LotusScript中,要插入一個‘刷新框架’的號召,補充一點:

Dim agent As NotesAgent 
Set agent = db.Getagent("RefreshActions") 
Call agent.Run() 
+0

它看起來應該可以工作,但目前我所得到的只是Lotus提供的非常有用的錯誤消息之一:「@Function在此上下文中無效」。 – Adrian

+0

確保代理已設置爲「運行一次」(可使用@Commands) –

+0

謝謝。我會在星期一嘗試一下,讓你知道。 – Adrian

0

您可以在視圖屬性[i]選項卡中使用屬性「評估每個文檔更改的操作」。文檔的每個選擇(單擊,箭頭)都會觸發重新評估操作的隱藏時間。也許它會在通過一些行動刷新視圖之後起作用。