如何使用现有表收集和刷新功能添加其他项目数据?

2020-09-01 21:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在从事SAPUI...

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

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


大家好,

我正在从事SAPUI5应用程序开发。 在我使用的应用程序中,sap.ui.table。 从OData服务中,我得到了一个消耗的集合,并为我的进一步需求设置了本地json模型。 我将本地json绑定到sapui5表中,我能够看到数据。

后来根据我的应用场景,我需要向表行中添加更多数据(通过表工具栏上的按钮)。一旦我向表中添加了新行,我在顶部就有了一个保存按钮 应该将最新添加的条目更新到OData集合,并且我的表也应该刷新。

我有一个问题:

1.如何在表中添加具有现有collection(json)的新记录?

2.添加后,我称为创建实体集。 如何更新本地json模型和表绑定?

谢谢

此致

JK。

4条回答
太Q了
2020-09-01 21:27

您好 Jayakrishnan Chandramohan

这是我的代码,用于添加一个表的简单行 json本地模型:

 addToTable:函数(oData){
//oData是新对象


 var updateElementPath = this.getView()。getModel()。createKey(path,{
 "国家/地区":oData.country,
 "品牌":oData.brand
 });
 var promiseNewCountryBrand = new Promise(function(resolve,reject){
 sap.ui.core.BusyIndi​​cator.show(0);
 this.getModel()。update(updateElementPath,oData,{
 成功:功能(){
 解决();
 },
 错误:函数(msg){
 拒绝();
 }
 });
 } .bind(this));
 promiseNewCountryBrand.then(function(){
                                        //这里我在BE系统中添加了新对象
//现在我要添加至表(json模型) MessageToast.show("正确更新"); sap.ui.core.BusyIndi​​cator.hide(); var oDataTotal = this._countriesModel.getData(); //json模型 oDataTotal.countryList.unshift(oData); var oDataTotalNew = jQuery.extend(true,{},oDataTotal); oDataTotal.countryList = []; this._countriesModel.setData(oDataTotal); this._countriesModel.refresh(true); //超时用于同步调用(我知道可能没用,但是可以工作) setTimeout(function(){ this._countriesModel.setData(oDataTotalNew); setTimeout(function(){ this._countriesModel.refresh(true); } .bind(this),150); } .bind(this),150); } .bind(this))。catch(function(aError){ sap.ui.core.BusyIndi​​cator.hide(); }); };

如果您听不懂,请问我。 :)

Sebastiano

一周热门 更多>