使用oDATA模型从组合框中将数据提取到JavaScript中的SAPUI5中。

2020-09-20 11:00发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在view.js和controller.js中开发了一个SAPUI5页面,在SPAUI5页面中具有多个组合框控件。

有人可以建议如何使用odata模型获取该特定组合框的数据吗?我不希望在两者之间包含任何JSON,也不想在SAPUI5中使用view.xml。

我已经很累了,但是如果我将KEY和Text字段的值保持为空白,那么我将得到的列表为[object Object];否则,如果我在KEY和Text字段中填写了任何值,我就会得到组合 框中显示为空列表,如附图所示,而此处的空列表计数与表格中的列相同。

View.js:

var oComboBox_FunArea = new sap.m.ComboBox({项目:{路径:"/img/EntitySet_Name",模板:new sap.ui.core.Item({键:'{Table_Field_column_name}',文本:'{ 字段}'})};

Controller.js:

var sServiceUrl =("代理/http/____________:8000/sap/opu/odata/SAP/YREQSUB_SRV/");

var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl,true);

this.getView()。setModel(oModel);

sap.ui.getCore()。setModel(oModel);

您能告诉我,sap.core.item中的KEY字段究竟是做什么用的,我可以

在KEY和Text字段中保持相同的值。

请尽快帮助我!

(1.5 kb)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我在view.js和controller.js中开发了一个SAPUI5页面,在SPAUI5页面中具有多个组合框控件。

有人可以建议如何使用odata模型获取该特定组合框的数据吗?我不希望在两者之间包含任何JSON,也不想在SAPUI5中使用view.xml。

我已经很累了,但是如果我将KEY和Text字段的值保持为空白,那么我将得到的列表为[object Object];否则,如果我在KEY和Text字段中填写了任何值,我就会得到组合 框中显示为空列表,如附图所示,而此处的空列表计数与表格中的列相同。

View.js:

var oComboBox_FunArea = new sap.m.ComboBox({项目:{路径:"/img/EntitySet_Name",模板:new sap.ui.core.Item({键:'{Table_Field_column_name}',文本:'{ 字段}'})};

Controller.js:

var sServiceUrl =("代理/http/____________:8000/sap/opu/odata/SAP/YREQSUB_SRV/");

var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl,true);

this.getView()。setModel(oModel);

sap.ui.getCore()。setModel(oModel);

您能告诉我,sap.core.item中的KEY字段究竟是做什么用的,我可以

在KEY和Text字段中保持相同的值。

请尽快帮助我!

(1.5 kb)
付费偷看设置
发送
9条回答
四川大学会员
1楼-- · 2020-09-20 11:15

你好维杰,

是的,您可以为键文本提供相同的值,键的用途之一是用于验证,如果用户在组合框中输入任何值,我们可以使用键属性来验证该值。

您可以一次尝试以下代码吗?

this._oView = this.getView();

var OModel = this._oView.getModel(" dataset");

sap.ui.getCore()。setModel(OModel); //清单中定义的模型

sap.ui.getCore()。byId(" combo")。setModel(OModel);

var oItemTemplate1 =新的sap.ui.core.ListItem();

oItemTemplate1.bindProperty(" text"," Desg");

oItemTemplate1.bindProperty(" key"," Desg");

sap.ui.getCore()。byId(" combo")。bindItems("/img/DesignationSet",oItemTemplate1); //引用实体集

木偶小白
2楼-- · 2020-09-20 11:18

嗨,Jun

不是那样的,我是位主义者,但是我们已经在JS中开发了所有View,并且我们在ODATA模型中拥有了数据,所以想将数据引入视图。

> {Table_Field_column_name}是实体下的字段吗?

是的,它在实体集中,并且能够在ODATA模型中查看数据初始化。

土豆飞人
3楼-- · 2020-09-20 11:40

嗨,

分享您的视图代码和网络截图。

CJones
4楼-- · 2020-09-20 11:15

此处plantuser是模型的名称。

请用您的实体集名称替换" d/结果"。

路亽曱_Ryan
5楼-- · 2020-09-20 11:17

再次问好! 为什么使用不推荐使用的ODataModel版本? 请改用sap.ui.model.odata.v2.ODataModel。 并将settig模型设置为Core是不好的做法。 在视图上设置模型就足够了。

野沐沐
6楼-- · 2020-09-20 11:34

我会再次建议您使用不推荐使用的OData模型。 使用V2。

您可以向您的集合提供请求有效负载(带有模拟数据)吗?

一周热门 更多>