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

问题描述 投票:2回答:2

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

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

如果输入启用是实现这一点的方法,而不是LotusScript,那么有没有办法让a)设置输入启用条件的公式加上b)获取一些视觉输出的方法,可以是状态栏还是消息盒子,要么只是表明公式已被触发或 - 甚至更好 - 让我知道一些我想检查的变量的值?

formula lotus-notes lotus-domino lotusscript domino-designer-eclipse
2个回答
4
投票

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

但你可以这样做:

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

像这样你可以很容易地“看到”条件是什么(在InputEnabled字段中)并使用公式或脚本进行更改。


0
投票

老派的方式禁用单选按钮字段:

如果公式为真,你将不得不使用**隐藏段落。。定义一个字段:MyButEnabled按照你启用(显示)或禁用(隐藏)字段的方式。对于UI方便显示一条互补线,只显示值您的单选按钮(您也可以使用计算单选按钮,但它不是很漂亮)。

在post open中设置MyButEnabled字段的适当值。不要忘记调用uidoc.Refresh隐藏公式方法。

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.