我将简要介绍一下我的小项目申请:
主要文件。内容为Cdoc
(数据源包含字段+按钮)。此按钮显示一个Pdoc
(数据源)对话框 - 在显示按钮之前,我将保存文档。获取UNID,然后我将其传递给Pdoc
,我想将Cdoc
和Pdoc
与UNID联系起来。
我的按钮显示对话框:
<xp:button value="Adding Pdoc from the dialog" id="button3"
styleClass="lotusFormButton" refreshMode="partial">
<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()}]]></xp:this.action>
</xp:eventHandler>
对话框/ Pdoc
只包含1个按钮:Save
(因为X
按钮隐式添加到对话框中)
<xp:button value="Salvare" id="button6" styleClass="lotusFormButton">
<xp:eventHandler event="onclick"
submit="true" refreshMode="partial" immediate="false"
save="false" refreshId="viewPanel1">
<xp:this.action><![CDATA[#{javascript:Pdoc.save();
getComponent('exampleDialog').hide();
}]]>
</xp:this.action>
</xp:eventHandler>
因此,它保存了文档。来自Pdoc
,它们显示在Cdoc
的嵌入式视图中。
主要。 doc Cdoc
还包含2个(操作)按钮:
Cancel: redirect to Previous Page.
和
Save
<xp:button value="Salvare" id="buttonSave" styleClass="lotusFormButton" rendered="#{javascript:currentDocument.isEditable()}">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" immediate="false" save="true"
id="eventHandler1">
<xp:this.action><![CDATA[#{javascript:if (Cdoc.getItemValueString("txt_UNID")!= "") {
Cdoc.save();
}
facesContext.getExternalContext().redirect("http://ourserver.ro/XApp.nsf/view.xsp")
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
问题是:
假设我要创建3个文档。来自对话框的Pdoc
,Cdoc。已经保存(因为获得了UNID)。如果我保存,然后使用Cdoc
Save,
我的view.xsp
主视图面板将显示:
一份文件。 Cdoc
及其3个Pdoc
文档。 (我只需要显示这个案例)
另一个Cdoc
(我想当我第一次获得UNID并保存Cdoc
以获取UNID时,在这种情况下这是Cdoc
。顺便说一下,如果我使用Cdoc
按钮再次保存Save
,UNID是否会更改?)以及对话框中的一个空(不知道原因)Pdoc
。
Save
的{{1}}按钮应该如何?我是否应该从Cdoc
按钮更改Save
?
感谢您的时间。
答案 0 :(得分:1)
我相信save =&#34; true&#34;在按钮上将提交并保存页面上的所有数据源。这可以解释虚假的Pdoc文件。您在脚本中调用了保存,因此您不需要save =&#34; true&#34; - 你可以使用普通的Button类型而不是按钮的提交类型。
保存文档后,不会更改UNID。