xpages保存/取消操作方案

时间:2014-06-25 05:36:54

标签: xpages xpages-ssjs

我将简要介绍一下我的小项目申请:

主要文件。内容为Cdoc(数据源包含字段+按钮)。此按钮显示一个Pdoc(数据源)对话框 - 在显示按钮之前,我将保存文档。获取UNID,然后我将其传递给Pdoc,我想将CdocPdoc与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

    < / LI>

Save的{​​{1}}按钮应该如何?我是否应该从Cdoc按钮更改Save

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

我相信save =&#34; true&#34;在按钮上将提交并保存页面上的所有数据源。这可以解释虚假的Pdoc文件。您在脚本中调用了保存,因此您不需要save =&#34; true&#34; - 你可以使用普通的Button类型而不是按钮的提交类型。

保存文档后,不会更改UNID。