在ibm Notes中我有一个文档,其中有人打开文档时有一个字段(例如价格),该字段将预先填充来自其他地方的数据。因此,我将此字段设为计算字段以显示'但我希望用户也让他们编辑该字段,但这是不可能的。那么如何让用户可以编辑计算字段呢?
答案 0 :(得分:4)
你可以通过几种方式解决这个问题。
首先,您必须考虑用户体验。默认情况下会计算相同的字段,并在需要时进行编辑。
实现这一目标的一种方法是始终计算字段,并提供一个编辑按钮,启动对话框弹出窗口以允许您编辑值。您计算出的公式会查找被覆盖的值,如果它不存在则只会进行计算。
另一种解决方案是让它始终可编辑,并在其他字段更改时设置值。其代码将放在计算中使用的字段上。
可能有其他方法可以解决问题,从用户开始考虑是有帮助的。
答案 1 :(得分:1)
典型的解决方案是有两个字段,一个是可编辑的,当文档打开以进行读取和打印时隐藏,另一个是为显示计算的,当文档打开进行编辑时隐藏。
答案 2 :(得分:1)
这取决于您的字段计算显示的原因。
为显示而计算的字段不会写入磁盘,这意味着每次打开文档时都会执行公式,而不仅仅是在您打开新文档或刷新/保存正在处理的文档时编辑。
如果这是您的意图,那么您将无法拥有任何其他字段,并且需要一个不同的可编辑字段以允许用户覆盖该数字。如果您计算的显示字段名为ExamplePrice,我可能会做的是
@If(ExamplePrice_Mode = ""; 0; @Return(ExamplePrice_Edit));
或@If(ExamplePrice_Mode = "";
和ExamplePrice_Edit);
另一方面,如果它没有问题,如果ExamplePrice没有改变,除非文档被编辑并再次保存,那么你仍然可以通过上述方式进行,或者你可以减少一个允许您的ExamplePrice字段可编辑,然后使用输入启用公式。
@If(ExamplePrice_Mode = ""; 0; @Return(@ThisValue));
或@If(ExamplePrice_Mode = "";
和@ThisValue);
ExamplePrice_Mode != ""
答案 3 :(得分:0)
如果您真的想要一个字段,可以在表单事件的帮助下使其工作,但是当您需要显示最新的价格时,它不起作用。当文档再次打开时。
一种方法是拥有3个字段