在我的component.js文件中,实例化我的oData模型并将其设置为'donorList':
var oDonorTable = new sap.ui.model.odata.v2.ODataModel(sServiceUrl, true);
this.setModel(oDonorTable, "donorList");
在我的视图控制器的'onInit方法中,我从后端实体集中读取组合框值并将其设置为'视图模型':
var oDnrDoc = this.getOwnerComponent().getModel();
oDnrDoc.read("/DonorDocs", {
success: function(oData) {
var oDonorDocList = new sap.ui.model.json.JSONModel();
oDonorDocList.setData(oData);
this.getView().setModel(oDonorDocList, "donorList");
}.bind(this),
error: function(oError) {
// MessageToast.show("Read Failed");
}
});
在我的xml视图中,我将oData值绑定到xml视图中的组合框:
<ComboBox items="{path: 'donorList>/results'}">
<c:ListItem key="{DocCode}" text="{DocDesc}"/>
</ComboBox>
我有来自后端oData服务的'9个键值对',用于实体集'DonorDocs'。但是,在xml视图中呈现时,通过单击下拉菜单选择“组合框下拉列表”时,尽管组合框下拉列表中填充了9条记录(其组合框),但我在视图中看不到结果(仅显示空值)就像我可以看到9条记录,但它们不可见)
empty dropdown display(9 records)
我可以感觉到一些绑定问题...大括号中的动态变量是否引起问题?有语法问题吗?
由于您已将模型命名为donorList,因此必须在绑定中也使用该名称,例如
<c:ListItem key="{donorList>DocCode}" text="{donorList>DocDesc}"/>
问候,
Dominic