我有一个文件数据源(创建没有父ID文件)结合到面板。 在面板我还有其他2个板。 在完成在面板1的字段我点击一个链接,显示第二面板和上有一个保存按钮。 一旦保存的文档出现在DB正确。
保存按钮做了DDS保存,然后清除所有字段并做外面板上的部分更新和面板上的部分执行过,因为我有我的主面板之外的其他的XPage DDS。
如果我现在就创建另一个文件中以前的文档进行了更新,而不是创建一个新文档。 我已经试过了DDS和其它选项的范围。 不知道下一个尝试的东西。
任何人都知道是什么问题?
我有一个文件数据源(创建没有父ID文件)结合到面板。 在面板我还有其他2个板。 在完成在面板1的字段我点击一个链接,显示第二面板和上有一个保存按钮。 一旦保存的文档出现在DB正确。
保存按钮做了DDS保存,然后清除所有字段并做外面板上的部分更新和面板上的部分执行过,因为我有我的主面板之外的其他的XPage DDS。
如果我现在就创建另一个文件中以前的文档进行了更新,而不是创建一个新文档。 我已经试过了DDS和其它选项的范围。 不知道下一个尝试的东西。
任何人都知道是什么问题?
下面是一个例子,你如何可以添加新的数据源与局部刷新:
<xp:panel id="myPanel">
<xp:this.data>
<xp:dominoDocument var="document1"></xp:dominoDocument>
</xp:this.data>
<xp:br></xp:br>
<xp:inputText id="inputText1" value="#{document1.Test}"></xp:inputText>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:button value="Save" id="buttonSave">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="myPanel">
<xp:this.action>
<xp:actionGroup>
<xp:saveDocument var="document1"></xp:saveDocument>
<xp:executeScript>
<xp:this.script>
<![CDATA[#{javascript:
var panel = getComponent("myPanel");
var ds = new com.ibm.xsp.model.domino.DominoDocumentData();
ds.setComponent(panel);
ds.setVar("document1");
panel.getData().clear();
panel.addData(ds);
}]]>
</xp:this.script>
</xp:executeScript>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:panel>
希望这可以帮助
斯文
编辑:
增加了一个明确的(),从面板中删除所有以前定义的数据源。
这是默认的行为。 如果您不想重装整个一个页面选择是摆脱数据源,并点击保存按钮时创建SSJS事件的新文档。
我用斯文的答案成功地,然而,我不得不在部份服务器端JavaScript添加一个额外的行
<xp:executeScript>
<xp:this.script>
<![CDATA[#{javascript:
var panel = getComponent("myPanel");
var ds = new com.ibm.xsp.model.domino.DominoDocumentData();
ds.setComponent(panel);
ds.setVar("document1");
ds.setFormName('form1');
panel.getData().clear();
panel.addData(ds);
}]]>
</xp:this.script>
</xp:executeScript>