从另一个自定义控件访问数据源的一种简单方法是使用范围变量。
在第一个自定义控件中将视图范围变量设置为事件中的数据mainDoc
源beforePageLoad
:
<xp:this.beforePageLoad>
<![CDATA[#{javascript:viewScope.sourceMainDoc = mainDoc}]]>
</xp:this.beforePageLoad>
然后您可以使用此视图范围在第二个自定义控件中工作,例如保存mainDoc
:
<xp:this.action>
<![CDATA[#{javascript:viewScope.sourceMainDoc.save()}]]>
</xp:this.action>
选择
使用Sven Hasselbach 的方式从自定义控件中获取数据源。你会得到一个 instance 的对象com.ibm.xsp.model.domino.DominoDocumentData
。如果您想使用与普通数据源 Domino 文档对象 (= NotesXspDocument) 相同的方法,则必须首先获取实例com.ibm.xsp.model.domino.wrapped.DominoDocument
对象getDataObject()
。你可以这样做:
function getDatasource( componentId:String, dataSourceName:String ):com.ibm.xsp.model.domino.DominoDocumentData {
...
}
var mainDoc:com.ibm.xsp.model.domino.wrapped.DominoDocument = getDatasource("idDSComponent", "mainDoc").getDataObject();
mainDoc.save()