Lotus Notes:设置可编辑对话框列表的默认值



我有一个可编辑的对话框列表,用于choices Use formula for choices。它在视图上使用DbLookup

如果在@DbLookup之后有3个值,第一个值是否已经设置为对话框列表的默认值?

感谢您的时间和帮助!

首先:为了优化性能并最小化查找,我会使用一个单独的字段来查找值(我们称之为ValueList,它可以为Display计算,必须允许多个值)。然后,作为对话框的公式,只需输入字段ValueList的名称在对话框字段的默认值公式中输入:

@Subset( ValueList ; 1 );

如果您的ValueList如下所示:

SomeValue |1
AnotherValue |2

那么默认值中的公式看起来像:

@Word( @Subset( ValueList ; 1 ); "|" ; 2 )

如果您的查找依赖于表单中的另一个字段,并且可能会更改,那么"默认值"公式是不够的,因为它只在打开新文档的第一个文档上计算一次。然后你的输入验证-公式可能看起来像:

@If( @IsMember( @ThisValue; ValueList ); @ThisValue; @Subset( ValueList ; 1 ) )

这将确保,如果您的查找公式发生更改,并且当前值不再在可能更改的列表中,它将再次从(新)列表中选择第一个值。。。

当然,所有这些都需要一些"微调",但基本上应该可以解决您的问题。

您可以使用DBLookup为字段的默认值使用默认值公式。在这种情况下,将设置字段值,因此也将在对话框中选择该值。您可以使用@子集(@DbLookup(…);1)

也有类似的情况,我使用了带有@prompt和ProfileDocument的解决方案。

@Prompt([OkCancelList]:[NoSort];Title;Prompt;DefaultChoice;@GetProfileField(profilename;fieldname));

DefaultChoice必须是配置文件文档中的值。

这对我很有效,在对话框Form的PostOpen公式中,为字段设置默认字段值。例如,FormerFirstName是对话框表单上的另一个字段。

@SetField( "Firstname"; FormerFirstName ); 

最新更新