gpt4 book ai didi

javascript - 来自两个实体集的 xml View 绑定(bind)数据

转载 作者:行者123 更新时间:2023-11-30 11:16:59 26 4
gpt4 key购买 nike

我正在开发主从应用程序。我有一个带有列表控件的 View ,我将其与来自名为“entityset1”的实体集的数据绑定(bind)。

Odata -> data from the entityset1
<serialno>122333</serialno>

我在同一服务中有另一个名为 entityset2 的实体集。

Odata -> data from the entityset2
<hdata>is Active</hdata>

只有使用过滤器 (/sap/opu/odata/sap/My_SRV/entityset2?$filter=(serialno=122333) 才能检索来自上述 entityset2 的数据

我现在正尝试从 entityset2 中检索值并尝试将其绑定(bind)到列表中的一个属性。此列表已与 entityset1 数据绑定(bind)。

Myview.xml。

<List id="list" select="_handleSelect">
<ObjectListItem id="MAIN_LIST_ITEM" press="_handleItemPress" title="{Name}">
<attributes>
<ObjectAttribute id="ATTR1" text="{serialno}" />
<ObjectAttribute id="ATTR2" text="{entityset2/hdata}" />
</attributes>
</ObjectListItem>
</List>

Controller.js(使用以下行绑定(bind))

this.oList.bindAggregation("items", {
path: '/entityset1',
template: this.oListItem,
filters: 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",{
path : "/entityset2",
filters :this.searchFilters
});

然而,我在“this.getView().getBindingContext().getObject().serialno”这一行收到错误“无法读取未定义的属性‘getObject’”。

有人可以建议如何从 entity2 中检索数据并将其绑定(bind)到列表吗?

最佳答案

您无法使用 View 获取 BindingContext。 Read more about binding Context - 它是指向模型数据中对象的指针。

此外,serialNo(您尝试从模型中检索的参数也是上下文相关的,即它因每个行项目而异)。

一种方法是:

onListeItemPress 列表事件

<ObjectListItem ... ... press="onListItemPress" >

在对应的Controller中

`onListItemPress : function(oEvent){

var oserialnum = Event.getSource().getBindingContext("mainODataModel")..getProperty("serialNo")`

如果这有帮助,请告诉我。

关于javascript - 来自两个实体集的 xml View 绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51179526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com