我试图在XML视图中显示由Odata模型检索的一些数据。 在Component.js中,我创建了一个包含服务Url的模型,它的工作原理与往常一样。绑定要控制的元素SAPUI5
var oDataModel = new sap.ui.model.odata.v2.ODataModel("http://server:port/sap/opu/odata/SAP/ZWYMB_SRV", {
user:"abapleader",
password: "[email protected]",
headers: {
"sap-client": 300
},
useBatch:false
});
this.setModel(oDataModel, "oDataModel");
到目前为止,我已经成功地获取数据使用model.read()
功能掌握。
现在我需要显示详细视图。我给onInit
事件代码如下:
this.router.getRoute("zwm01detail").attachPatternMatched(this._onObjectMatched.bind(this));
},
_onObjectMatched: function(oEvent) {
var that = this;
var MaWorkDoc = oEvent.getParameter("arguments").MaWorkDoc;
this.getModel("oDataModel").metadataLoaded().then(function() {
var sPath = that.getModel("oDataModel").createKey("/WorkDocList", {
MaWorkDoc: MaWorkDoc,
Pernr: "0001"
});
console.log(sPath);
that.getView().bindElement({
path:sPath
});
});
的sPath
如我打印出使用console.log(sPath)
:/ WorkDocList(MaWorkDoc = '1110000001',PERNR = '0001'),我认为是正确的。我也使用这个路径来实现和测试后端,基本上没有问题。但我不知道为什么我不能在视图上显示数据。
Detail.view.xml:
<Text text="{/MaWorkDoc}" maxLines="0"/>
任何建议,好吗?
请问您能详细先生吗?我如何在代码中实现_onObjectMatched事件?对不起,如果它让你感到不舒服,但我是全新的。 –
更新了答案 – krisho