Lotus notes 在带有对话框列表的Notes字段中,我如何将空白显示为";无”;例如

Lotus notes 在带有对话框列表的Notes字段中,我如何将空白显示为";无”;例如,lotus-notes,lotus-formula,Lotus Notes,Lotus Formula,我有一个字段,其中“是”和“否”是对话框列表中的有效选择,该字段的有效值使用同义词设置,例如“是”是Y,“否”是空值/空白/无 Yes|Y No| 保存文档时,此字段选择“否”并重新打开。当字段为空时,如何使表单字段显示“否”一词?您似乎遇到了边缘情况,您可能需要为“否”指定一些值作为别名 如果在用户选择“否”时让值为空非常重要,则可以创建第二个保留别名值的计算字段。假设对话框列表字段名为“YesNo”,则计算字段的公式可以是: @If(YesNo = "Yes"; "Y"; ""); 仅仅

我有一个字段,其中“是”和“否”是对话框列表中的有效选择,该字段的有效值使用同义词设置,例如“是”是Y,“否”是空值/空白/无

Yes|Y
No|

保存文档时,此字段选择“否”并重新打开。当字段为空时,如何使表单字段显示“否”一词?

您似乎遇到了边缘情况,您可能需要为“否”指定一些值作为别名

如果在用户选择“否”时让值为空非常重要,则可以创建第二个保留别名值的计算字段。假设对话框列表字段名为“YesNo”,则计算字段的公式可以是:

@If(YesNo = "Yes"; "Y"; "");

仅仅用别名定义是不可能做到这一点的

您可以使用两个字段获得“否”的空字段:

您当前的字段,比如说对话框列表类型的“TestUI”,将有选择

    Yes|Y
    No|N
以及一个附加的计算文本字段“Test”,其中包含公式

@Replace(TestUI; "N"; "")

将“N”替换为空字符串。

您可以通过使用PostOpen公式避免双字段解决方案:

FIELD MyDialogList := @If(MyDialogList="";"No";MyDialogList);
@All

另外,我不确定您的意图是什么,但这实际上是一个不错的方法来处理这样的情况:您正在向旧表单添加一个新字段,并且您不想运行代理将新字段添加到所有以前保存的文档中。由于公式只是将缺少的字段视为空字符串,@If将按预期工作

有一点需要澄清:如果您这样做是为了避免在向现有表单添加新字段后运行代理来更新文档,那么这实际上并不是一种糟糕的处理方式,除非您有(或将有)针对文档的代理。尽管您应该始终对代理进行编码以调用NotesDocument.hasItem()以确保字段存在,但有时您可能会忘记。运行代理是防止未来问题的最佳保险。我知道有时候我们的想法是避免大规模的重复,但从长远来看,这可能是有风险的。