Hippogriff
Hippogriff

Reputation: 295

Disable a form field in LotusScript or using Input Enabled formula

Using Domino Designer 8.5. If I have a form with a radio button field, is it possible to disable that field in LotusScript, possibly in the Postopen even of the form?

The only way I can, so far, see of achieving this is by using the Input Enabled formula of the field itself, but I am struggling to understand when this is triggered... if I try to put a @StatusBar or @Prompt formula call in there as well then there is never any notification of Input Enabled being triggered.

If Input Enabled is the way to achieve this, not LotusScript, then is there a way I can have a) a formula that sets the Input Enabled condition plus b) a way of getting some visual output, either to the Status Bar or a Message Box, to either just indicate the formula has been triggered or - even better - to let me know the value of some variable I'd like to check?

Upvotes: 2

Views: 2865

Answers (2)

Tode
Tode

Reputation: 12060

The Input Enabled Formula is triggered on every refresh of the document (F9, Save, NotesUIDocument.Refresh, etc.), it can not contain any code "interacting" with the user.

But you could do something like this:

  1. Create a Field "InputEnabled"
    The best way to have a "controlling" field is to make it "Computed for Display". That way it is not stored in the document. As a formula you simply enter @ThisValue, then it does not change its value by itself and can be set using LotusScript. If you want to have an "initial" value, then the formula would be: @If( @ThisValue = "" ; "YES" ; @ThisValue )
  2. In the "Input enabled" Formula of your other field write the code:

    InputEnabled = "YES"

  3. Fill the "InputEnabled"- Field using a LotusScript (NotesDocument.ReplaceItemValue( "InputInabled", "YES" ), or using a Formula directly in the field.

Like that you can easily "see" what the conditions are (in the field InputEnabled) and change it using formula or script.

Upvotes: 4

Emmanuel Gleizer
Emmanuel Gleizer

Reputation: 2018

Old school way to Disabling the radio button field:

You will have to use the **Hide paragraph if formula is true". Define a field: MyButEnabled accorting to which you enable (show) or disable (hide) the field. for UI convience display a complementary line that only display the value of your radio button (you can also use a computed radio button but it's not very pretty).

In the post open set the appropriated value for the field MyButEnabled. Dont forget to call uidoc.RefreshHideFormulas method.

The notes input enabled way: (see also: http://www-01.ibm.com/support/docview.wss?uid=swg21173862) the notes input enabled formula is (for example)

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

When you form is openned, the formula is computed, if the result is 0 the field won't be editable, 1 will allow field to be edited.

If you change the value of MyButEnabled, then you need to make a UIdocument.refresh in order to change to be reflected in the UI.

Upvotes: 0

Related Questions