xpages保存/取消操作场景
我将简要介绍我的小项目应用程序: 主要医生。内容是Cdoc(包含字段和按钮的数据源)。此按钮显示一个对话框,即xpages保存/取消操作场景,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我将简要介绍我的小项目应用程序: 主要医生。内容是Cdoc(包含字段和按钮的数据源)。此按钮显示一个对话框,即Pdoc(数据源)-在显示按钮之前,我将保存文档。要获取UNID,然后将其传递给Pdoc,我想将Cdoc和Pdoc与UNID链接起来。 显示对话框的“我的”按钮: <xp:button value="Adding Pdoc from the dialog" id="button3" styleClass="lotusFormButton" refreshMode="
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
,它们显示在Cdoc
的嵌入式视图中
主要的。文档Cdoc
还包含2个(操作)按钮:
及
保存
问题是:
假设我将创建3个文档。从Pdoc
对话框中,Cdoc。已保存(因为已获取UNID)。如果使用Cdoc
save保存,则view.xsp
中的我的主视图面板将显示:
- 一个医生<代码>Cdoc
及其3个Pdoc
文档。(我只需要展示这个箱子)
另一个Cdoc
(我想当我第一次获取UNID并保存Cdoc
以获取UNID时,这就是本例中的Cdoc
。顺便说一句,如果我再次使用save
按钮保存Cdoc
,UNID会改变吗?)对话框中的Pdoc
我的Cdoc
中的保存
按钮应该是什么样的?我是否也应该从Pdoc
按钮更改Save
谢谢您的时间。我相信按钮上的save=“true”将提交并保存页面上的所有数据源。这可以解释伪造的Pdoc文件。您正在调用save-in脚本,因此不需要save=“true”-您只需为按钮使用普通按钮类型而不是提交类型
文档保存后,UNID将不会更改。My Cdoc:谢谢,它现在似乎正在工作,但关于显示对话框的我的按钮有一个问题:如果我打开一个现有Cdoc(已保存),然后添加一个新的Pdoc(从对话框中,使用按钮),我的包含UNID的计算文本正在更改,单击按钮时。我的按钮代码:if(Cdoc.isNewNote(){Cdoc.save();}Cdoc.setValue(“computedField3”,Cdoc.getDocument().getUniversalID());getComponent('exampleDialog').show()您的Cdoc与上面的注释完全相同吗?如果是这样,则在Cdoc上设置ignoreRequestParams,而根本不设置documentId属性。这意味着无论您是从视图打开文档还是创建新文档,Cdoc都将始终是新文档。因此,大学会发生变化也就不足为奇了。我建议查看dominoDocument数据源,可能是《掌握XPages第二版》第7章开头的部分。我在两个月前订购了掌握XPages,本周我收到了回复,它将在本周到达。我还在等。那么,我应该将ignoreRequestParams设置为false吗?我的按钮代码是:if(Cdoc.isNewNote()){Cdoc.save();Cdoc.setValue(“computedField3”,Cdoc.getDocument().getUniversalID());getComponent('exampleDialog').show()}else{Cdoc.setValue(“computedField3”,Cdoc.getDocument().getUniversalID());getComponent('exampleDialog').show())。是的,使用默认的ignoreRequestParams=“false”。祝你好运掌握XPages。它看起来令人畏惧,因为它的大小,但它的伟大的内容充分。
<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>
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>