具有导航属性的UploadCollection

2020-08-22 19:35发布

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

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


一起打招呼

我使用一个UploadCollection来显示导航链接中的数据。 到目前为止,该显示器可以工作。 不幸的是,我通过OData的删除功能存在一些问题。

随附了XML视图的代码:

 ...
 
     
         
     
 
 ... 

控制器:

 onFileDeleted:function(oEvent){
 this.deleteItemById(oEvent.getParameter(" documentId"));;
 MessageToast.show(" FileDeleted事件已触发。");
 },

 deleteItemById:function(sItemToDeleteId){
 var oData = this.byId(" UploadCollection")。getModel()。getData();
 var aItems = jQuery.extend(true,{},oData).items;
 jQuery.each(aItems,function(index){
 if(aItems [index] && aItems [index] .documentId === sItemToDeleteId){
 aItems.splice(index,1);
 }
        });
       this.byId(" UploadCollection")。getModel()。setData({
        "项目":aItems
        });
     this.byId(" attachmentTitle")。setText(this.getAttachmentTitleText());
 },

 ... 

问题在于getModel()函数不会返回任何数据。 这可能是由于导航属性造成的,还是有人无所事事?这是怎么回事?

最好的问候

Uwe

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

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


一起打招呼

我使用一个UploadCollection来显示导航链接中的数据。 到目前为止,该显示器可以工作。 不幸的是,我通过OData的删除功能存在一些问题。

随附了XML视图的代码:

 ...
 
     
         
     
 
 ... 

控制器:

 onFileDeleted:function(oEvent){
 this.deleteItemById(oEvent.getParameter(" documentId"));;
 MessageToast.show(" FileDeleted事件已触发。");
 },

 deleteItemById:function(sItemToDeleteId){
 var oData = this.byId(" UploadCollection")。getModel()。getData();
 var aItems = jQuery.extend(true,{},oData).items;
 jQuery.each(aItems,function(index){
 if(aItems [index] && aItems [index] .documentId === sItemToDeleteId){
 aItems.splice(index,1);
 }
        });
       this.byId(" UploadCollection")。getModel()。setData({
        "项目":aItems
        });
     this.byId(" attachmentTitle")。setText(this.getAttachmentTitleText());
 },

 ... 

问题在于getModel()函数不会返回任何数据。 这可能是由于导航属性造成的,还是有人无所事事?这是怎么回事?

最好的问候

Uwe

付费偷看设置
发送
3条回答
昵称总是被占用
1楼 · 2020-08-22 20:10.采纳回答

你好

谢谢您的回答。 使用getItems方法,我将获得正确的项目:

 onFileDeleted:function(oEvent){
 var oData = this.getOwnerComponent()。getModel();
 var oItems = this.byId(" UploadCollection")。getItems();
 var ltItems = oEvent.getParameters();
 var sDocId = ltItems.documentId;

 var sPath ="/img/FilesSet('" + sDocId +"')";
 oData.remove(sPath);
 },
 

最好的问候
Uwe

能不能别闹
2楼-- · 2020-08-22 20:11

嗨,

为什么不使用标准方法: addItems getItems

此致

约瑟夫

d56caomao
3楼-- · 2020-08-22 19:50

嗨,Uwe,

尝试调试 ,并找到模型数据,

还可以尝试使用event.getSource()。getModel()(如果其中包含数据),然后继续。

一切顺利

一周热门 更多>