任何人都知道是否可能,以及如何绑定像“ObjectHeader”这样的控件,其中属性“Title”从一个实体绑定,并且此控件的聚合如ObjectStatus从另一个实体绑定。
以下是代码:
bindObjectHeader: function() {
var objectHeader = this.getView().byId("objectHeader");
objectHeader.bindElement({
path: "/Products"
});
objectHeader.bindProperty("title", "Products/ToCategory/Description");
},
嗯,实体产品有 CategoryId 属性,而 ToCategory 是实体产品之间的关联和实体类别 ...我想要给定类别和产品的对应描述
谢谢!
答案 0 :(得分:1)
如果您的实体集包含多个实体,如下面的JSON对象中所述:
var oJson={"rootNode":{
"node1":[
{"name":"myName"}
],
"node2":[
{"age":"15"}
],
"node3":[
{"subnode":"value1"},
{"subnode":"value2"},
]
}};
您可以创建一个JSON模型并将此数据设置到模型中,然后将JSON模型设置在核心,如下所述:
var oModel=new sap.ui.model.json.JSONModel();
oModel.setData(oJson);
sap.ui.getCore().setModel(oModel,"myModel");
您现在可以使用一个实体和聚合(状态)使用另一个实体绑定标题,如下所述:
var objectHeader=sap.ui.getCore().byId("objectheader");
var objectStatus=new sap.m.ObjectStatus("objectstatus",{
title:"{myModel>subnode}"
});
objectHeader.bindProperty("title", "myModel>/rootNode/node1/0/name");
objectHeader.bindAggregation("statuses","myModel>/rootNode/node3",objectStatus);
希望这个答案可以帮到你。