【发布时间】:2014-10-17 05:43:03
【问题描述】:
名称文本框绑定到相关备注表单中的名称字段。 保存XPage时如何使文本框中的值自动转换为CANONICALIZE?
我尝试了以下方法,但都失败了。 A) 使用 currentDocument.save() 保存表单 B)使用简单的操作“保存文档” C) 在输入验证、输入翻译甚至计算字段下的相关备注表单字段中添加@Name([CANONICALIZE], @ThisValue)。
【问题讨论】:
标签: xpages
名称文本框绑定到相关备注表单中的名称字段。 保存XPage时如何使文本框中的值自动转换为CANONICALIZE?
我尝试了以下方法,但都失败了。 A) 使用 currentDocument.save() 保存表单 B)使用简单的操作“保存文档” C) 在输入验证、输入翻译甚至计算字段下的相关备注表单字段中添加@Name([CANONICALIZE], @ThisValue)。
【问题讨论】:
标签: xpages
OpenNTF Domino API 有一个 openntfNABNamePicker 数据提供程序,您可以在提供此功能的名称选择器控件上使用它。它有一个 returnNameFormat 属性,允许您定义名称是否应存储为 Abbreviated、Common 或 Canonical。
也可以使用转换器,以便名称在浏览器和服务器之间转换为规范格式。
【讨论】:
试试
document1.replaceItemValue("yourField", @Name("[CANONICALIZE]",document1.yourField));
在您的 xpage 的 querySaveDocument 事件中,
document1:
<xp:this.data>
<xp:dominoDocument var="document1" ... />
</xp:this.data>
【讨论】:
您还可以在保存脚本中使用以下代码:
var name:NotesName = session.createName(getComponent("inputText1").value)
document1.replaceItemValue("NameNA", name.getCanonical())
document1.save()
NameNA 是“名称”类型的备注字段,“document1”是您的数据源。
【讨论】:
规范化需要一些东西来处理。 “John Doe”不会神奇地变成“CN=John Doe/OU=ThePitt/O=GI”
如果没有目录来查找名称,只有“John Doe/ThePitt/GI”之类的名称才能正确规范化。
您可以使用@NameInfo 检查是否可以从目录中取回全名。
【讨论】: