我有一个输入字段:
<xp:inputText value="#{Cdoc.txt_UNID}" id="txt_UNID1"></xp:inputText>
字段txt_UNID
的计算值为@Text(@DocumentUniqueID)
。
我注意到即使我只是撰写包含文档内容的xpage,inputText已经包含一些UNID,即使未保存包含doc内容的xpage。
有一个按钮显示包含字段的对话框。我希望此字段的值为txt_UNID
Cdoc.save(); // I must save first the Cdoc datasource ?
getComponent('exampleDialog').show()
该字段的代码:
<xp:inputText value="#{Pdoc.txt_CompanieUNID}"
id="txt_CompanieUNID1" defaultValue="#{Cdoc.txt_UNID}">
</xp:inputText>
感谢您的时间。
答案 0 :(得分:1)
如果您的问题是您是否必须先保存文件才能获得UNID,我的回答是肯定的。在我的测试中,UNID已从新文档更改为刚刚保存的文档。所以,如果当前文档是新的,请在获取UNID之前保存。至少它是一个NotesXspDocument。
我通常也会使用JavaScript,
cdoc.getDocument().getUniversalId();
否则,我不确定你在问什么。
答案 1 :(得分:0)
如果PDoc在与CDoc相同的层次结构中可用,例如两者都是分配给XPage / Custom Control或同一Panel的数据源,您可以使用PDoc.replaceItemValue(&#34; txt_CompanieUNID&#34;,Cdoc.getDocument()。getUniversalID())在保存时更新PDoc。 setValue也应该有效。那你就不需要默认值了。
它只是帮助将所有业务逻辑保持在一个位置。您还可以检查是否已设置值。