点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家,
我正在使用Master-Detail应用程序。 我有一个带有列表控件的视图,并且将其与来自名为" entityset1"的实体集的数据绑定。
来自实体集1的 Odata->数据
122333
在同一服务中,我确实有另一个称为entityset2的实体集。
来自实体集2的 Odata->数据
isActive
仅来自实体集2的数据将通过过滤器(/sap/opu/odata/sap/My_SRV/entityset2?$ filter =(serialno = 122333)
检索我现在正尝试从entityset2中检索值,并将其绑定到列表中的一个属性。 此列表已与entityset1数据绑定。
Myview.xml。
<属性>
Controller.js(使用以下几行进行绑定)
this.oList.bindAggregation(" items",{
路径:"/img/entityset1",模板:this.oListItem,
过滤器:this.searchFilters
}); var oserialnum = this.getView()。getBindingContext()。getObject()。serialno; var oHdata = new sap.ui.model.Filter(" serialno"," EQ",oserialnum); this.searchFilters = new sap.ui.model.Filter([oserialnum],true); this.oList.bindAggregation(" items",{
路径:"/img/entityset2",
过滤器:this.searchFilters
});
但是,在" this.getView()。getBindingContext()。getObject()。serialno"这一行上,我收到错误消息"无法读取未定义的属性'getObject'"。
有人可以建议如何从entity2中检索数据并将其绑定到列表吗?
里约热内卢
最好将两个实体集合并为一个或使用两者创建深层结构。 对于列表,您只能绑定一个实体来形成项目。
我希望它是一个oData服务..比起您可以使用$ expand在一个请求中获取两个值并可以将其绑定 到控件的聚合。
很少有知识-
1。 您不能像目前那样将2个不同的实体绑定到同一聚合"项目"。
2。 而且也不要像现在那样绑定聚合-只需将模型和元素绑定到控制器中的视图,并使用实体路径将items属性添加到列表中即可。
谢谢
Viplove ..
在您的代码中,您仅绑定列表,我想视图仍未绑定,因此getBindingContext()返回未定义
无论如何,正如其他人所说,您不能将聚合绑定到2个不同的实体,最好的选择是更改模型并将它们组合在一起
谢谢大家,基本上该应用是 标准Fiori App,我才开始扩展它。 请允许我澄清一下。
在我的控制器中,以下代码将odata-> entityset1绑定到Masterview上的Listitem。
但是,在将其自身绑定之前,我需要从entityset1获取值(serialno),以便使用该值查询entityset2并从entityset2获取一个值并将其绑定到其他控件或可能是另一个列表。 我的第一个任务是在绑定到列表之前获取值(serialno)。
我已经检查了标准应用程序,但没有定义模型,因此它是一个未命名的模型。
我已经尝试过使用this.getView()。getModel()并得到未定义的错误。 你们其中之一可以建议如何从entityset1获取值吗?
一周热门 更多>