在LotusScript中禁用表单字段或使用输入已启用公式

时间:2015-06-01 08:45:27

标签: formula lotus-notes lotus-domino lotusscript domino-designer-eclipse

使用Domino Designer 8.5。如果我有一个带有单选按钮字段的表单,是否可以在LotusScript中禁用该字段,可能在Postopen中甚至是表单?

到目前为止,我能够实现这一点的唯一方法是使用字段本身的输入启用公式,但我很难理解何时触发...如果我尝试放置@StatusBar或@Prompt公式调用也在那里,然后从来没有任何关于Input Enabled被触发的通知。

如果输入已启用是实现此目的的方法,而不是LotusScript,那么我可以使用 a)设置输入已启用条件 <的公式strong> b)一种获取视觉输出的方法,可以是状态栏或消息框,只是表明公式已被触发,或者 - 甚至更好 - 让我知道某些变量的值I& #39;我想检查一下吗?

2 个答案:

答案 0 :(得分:4)

在每次刷新文档时触发输入启用公式(F9,Save,NotesUIDocument.Refresh等),它不能包含与用户“交互”的任何代码。

但你可以这样做:

  1. 创建字段“InputEnabled”
    拥有“控制”字段的最佳方法是使其“计算显示”。这样它就不会存储在文档中。作为公式,您只需输入@ThisValue,然后它不会自行更改其值,可以使用LotusScript进行设置。如果您想拥有“初始”值,则公式为:@If( @ThisValue = "" ; "YES" ; @ThisValue )
  2. 在其他字段的“已启用输入”公式中,请编写代码:

    InputEnabled =“YES”

  3. 使用LotusScript填充“InputEnabled” - 字段(NotesDocument.ReplaceItemValue(“InputInabled”,“YES”),或直接在字段中使用公式。

  4. 就像你可以轻松地“看到”条件是什么(在InputEnabled字段中)并使用公式或脚本进行更改。

答案 1 :(得分:0)

守校方式以禁用单选按钮字段:

如果公式为真,您将必须使用**隐藏段落。。定义一个字段: MyButEnabled ,根据您的字段启用(显示)或禁用(隐藏)字段。显示一条仅显示单选按钮值的互补线(您也可以使用计算出的单选按钮,但它不是很漂亮)。

在帖子中打开设置字段 MyButEnabled 的适当值。别忘了调用uidoc.RefreshHideFormulas方法。

注释输入启用方式 :(另请参阅:http://www-01.ibm.com/support/docview.wss?uid=swg21173862) 注释输入启用公式是(例如)

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

当您打开表格时,会计算公式,如果结果为0,则该字段将不可编辑,1将允许编辑字段。

如果更改MyButEnabled的值,则需要创建UIdocument.refresh以便更改以反映在UI中。