2015-06-01 29 views
1

使用Domino Designer 8.5。如果我有一個帶有單選按鈕字段的表單,是否可以在LotusScript中禁用該字段,甚至可能在Postopen中禁用該表單?在LotusScript中禁用表單域或使用輸入啓用公式

到目前爲止,看到實現這一目標的唯一方法是使用字段本身的輸入啓用公式,但我很難理解何時觸發了這個公式......如果我嘗試將@StatusBar或@Prompt公式調用,那麼從來沒有任何通知輸入啓用被觸發。

如果輸入使能是實現這一目標的方式,而不是LotusScript中,那麼有沒有一種方法可以讓我有一),設置能夠輸入的條件B)一個得到一些直觀的方式公式輸出,無論是狀態欄或消息框,要麼只是表明公式已被觸發或 - 甚至更好 - 讓我知道我想檢查一些變量的值?

回答

3

在文檔的每次刷新(F9,保存,NotesUIDocument.Refresh等)上觸發輸入啓用公式,它不能包含與用戶「交互」的任何代碼。

但是你可以做這樣的事情:

  1. 創建一個字段「INPUT啓用」
    最好的辦法有一個「控制」領域是使「計算了顯示」。這樣它就不會存儲在文檔中。作爲一個公式,您只需輸入@ThisValue,然後它不會自行更改其值,並且可以使用LotusScript進行設置。如果你想有一個「初始」值,則公式爲:@If(@ThisValue = "" ; "YES" ; @ThisValue)
  2. 在你的其他領域的公式編寫代碼的「輸入使能」:

    INPUT啓用=「YES」

  3. 填寫「INPUT啓用」 - 現場使用的LotusScript(NotesDocument.ReplaceItemValue(「InputInabled」,「YES」),或直接在外地使用公式

就像你可以很容易地「看到」了什麼條件是(在InputEnabl字段中)編輯)並使用公式或腳本進行更改。

+0

是的,我已經到了隱藏領域。我可以在Designer中將其值設置爲「YES」或「NO」,我想在Postopen事件中包含的LotusScript中將其設置爲「YES」或「NO」。這是可能的 - 我沒有能夠通過調用Source.FieldSetText做到這一點,因爲我被警告文檔需要處於編輯模式,文檔正在視圖模式下打開以供用戶使用......用戶仍然需要*看到*該特定字段在此時被禁用以進行編輯。 – Hippogriff

+1

你有沒有試過Call Source.Document.ReplaceItemValue(「InputEnabled」,「NO」) –

+0

我現在有。這似乎很奇妙 - 非常感謝。 – Hippogriff

0

老同學的方式來禁用單選按鈕字段:

你將不得不使用**隱藏段落,如果公式爲真」定義一個字段:MyButEnabled accorting你啓用的(秀)或禁用(隱藏)字段。對於UI易用性顯示一條補充行,它只顯示您單選按鈕的值(您也可以使用計算單選按鈕,但不是很漂亮)

在後置打開設置該字段的撥款值爲MyButEnabled。不要忘記c所有uidoc.RefreshHideFormulas方法。

該票據輸入啓用方式:(也參見:http://www-01.ibm.com/support/docview.wss?uid=swg21173862) 音符輸入使式爲(例如)

@if(MyButEnabled="Y" ; 1 ; 0) 

當形成被openned,該公式被計算,如果結果爲0該字段將不可編輯,1將允許字段進行編輯。

如果更改了MyButEnabled的值,那麼您需要創建一個UIdocument.refresh以便更改爲在UI中反映出來。