xpages为什么我的字段值没有被正确复制

时间:2014-07-15 12:22:07

标签: xpages xpages-ssjs

我在前一段时间添加了这个问题xpages passing the UNID to other field ......目前它似乎有效。

在我创建<xe:dialog>结构(使用单个数据源:Pdoc)之后,我观察到我无法获得其他数据源的正确UNID:{{1} }。此对话框显示的是具有数据源Cdoc

的xpages

在主Xpage(具有数据源:Cdoc.)上有一个计算字段:( Cdoc位于具有公式@text(@uniquedocumentid)的表单上

txt_UNID

和一个显示对话框的按钮:

<xp:text escape="true" id="computedField3" value="#{Cdoc.txt_UNID}"></xp:text>

对话框的<xp:button value="Adding a Pdoc structure inside my dialog" id="button3" styleClass="lotusFormButton" refreshMode="partial" rendered="#{javascript:currentDocument.isEditable()}"> <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="computedField3"> <xp:this.action><![CDATA[#{javascript: if ( Cdoc.isNewNote() ) { Cdoc.save(); Cdoc.setValue("computedField3",Cdoc.getDocument().getUniversalID()); getComponent('exampleDialog').show() } else { Cdoc.setValue("computedField3",Cdoc.getDocument().getUniversalID()); getComponent('exampleDialog').show()} }]]></xp:this.action> </xp:eventHandler> </xp:button> 设置为refreshOnShow。在对话框中,有一个字段(绑定到true源),我想在其中显示存储在我的主XPage的先前计算字段中的Pdoc的UNID:

Cdoc

我认为问题出在这里......我确实尝试添加 <xp:inputText value="#{Pdoc.txt_CompanieUNID}" id="inputText1" defaultValue="#{Cdoc.txt_UNID}"> </xp:inputText> 作为上面#{Cdoc.txt_UNID}的默认值,而不是getComponent("computedField3").getValue(),但是我得到了一个错误,考虑到事实上,我想,inputText不在对话框内? 我做错了什么?

顺便说一句,该对话框包含许多字段(绑定到Pdoc),具有默认值:

computedField3

它运作正常。我不知道为什么在Cdoc.<field_name> 的情况下它不起作用。 谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

您正在混合字段名称和组件名称。在显示对话框的按钮中执行此操作,以使用期望值更新字段txt_UNID:

Cdoc.setValue("txt_UNID", Cdoc.getDocument().getUniversalID());