" suggestionRows"的绑定聚合时出错(sap.m.Input的定制表格建议)

2020-09-16 05:23发布

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

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


我正在尝试扩展SmartField,特别是我需要为SmartField中嵌入的sap.m.Input创建自定义表格建议。 但是,当我尝试为表格建议绑定聚合(suggestionRows和suggestionColumns)时,将显示以下错误:

未捕获的错误:"元素sap.ui.core.Item #__ item1 -__ input0-popup-table-0"对于元素sap.m.Table #__ input0-popup-table的聚合"项目"无效
     在f.h.validateAggregation(sap-ui-core.js:480)
     在f.h.addAggregation(sap-ui-core.js:485)
     在f.addItem(sap-ui-core.js:556)
     在你(sap-ui-core.js:513)
     在f.h.updateAggregation(sap-ui-core.js:513)
     在f.L.updateItems(ListBase.js:6)
     在f._oSuggestionTable.updateItems(Input.js:6)
     在builder.m(sap-ui-core.js:511)
     在builder.a.fireEvent(sap-ui-core.js:449)
     B._fireChange(sap-ui-core.js:1280)

有人可以指出正确的方向吗?
这是我的XML的摘录

 
 />
  

这是我的control.js简化代码:
 sap.ui.define([
 " sap/ui/comp/smartfield/SmartField"
 ],功能(SmartField){
 "使用严格";
 return SmartField.extend(" SmartfieldTest.controls。MyCustomSmartComponent",{
 元数据:{
 属性:{
    .....
 }
 },
 渲染器:{},
//私有属性
 this._innerControl;
 ...

//私有方法的重新定义
 初始化:function(){
   SmartField.prototype.init.apply(this,arguments);
   this.setShowSuggestion(false);
   this.setShowValueHelp(false);
   this.attachInnerControlsCreated(this.onInnerControlCreated,this);
 },

 onInnerControlCreated:function(oEvent){
 /* @类型sap.m.输入*/
   this._innerControl = this.getInnerControls()[0];
   this._innerControl.setShowSuggestion(true);
   this._innerControl.setShowValueHelp(false);

   this._innerControl.insertSuggestionColumn(新sap.m.Column({
     hAlign:"开始",
     标头:new sap.m.Label({
     文字:" Col1"
     })
    })
   );

   this._innerControl.insertSuggestionColumn(新sap.m.Column({
     hAlign:"开始",
     标头:new sap.m.Label({
     文字:" Col2"
     })
    })
   );

  this._innerControl.insertSuggestionColumn(新sap.m.Column({
    hAlign:"开始",
    标头:new sap.m.Label({
    文字:" Col3"
    })
   })
  );

   this._innerControl.insertSuggestionColumn(新sap.m.Column({
     hAlign:"开始",
     标头:new sap.m.Label({
     文字:" Col4"
     })
    })
   );

   var oTableItemTemplate = new sap.m.ColumnListItem({
     类型:"有效",
     vAlign:"中间",
     细胞 : [
      新的sap.m.Label({
       文字:" {Property1}"
      }),
      新的sap.m.Label({
       文字:" {Property2}",
       包装:真
      }),
      新的sap.m.Label({
       文字:" {Property3}"
      }),
      新的sap.m.Label({
       文字:" {Property4}"
      })
     ]
   });

 this._innerControl.bindAggregation(" suggestionRows","/img/SuggestionEntitySet",oTableItemTemplate);
  }});
 }); //onInnerControlCreated方法的结尾

 

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

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


我正在尝试扩展SmartField,特别是我需要为SmartField中嵌入的sap.m.Input创建自定义表格建议。 但是,当我尝试为表格建议绑定聚合(suggestionRows和suggestionColumns)时,将显示以下错误:

未捕获的错误:"元素sap.ui.core.Item #__ item1 -__ input0-popup-table-0"对于元素sap.m.Table #__ input0-popup-table的聚合"项目"无效
     在f.h.validateAggregation(sap-ui-core.js:480)
     在f.h.addAggregation(sap-ui-core.js:485)
     在f.addItem(sap-ui-core.js:556)
     在你(sap-ui-core.js:513)
     在f.h.updateAggregation(sap-ui-core.js:513)
     在f.L.updateItems(ListBase.js:6)
     在f._oSuggestionTable.updateItems(Input.js:6)
     在builder.m(sap-ui-core.js:511)
     在builder.a.fireEvent(sap-ui-core.js:449)
     B._fireChange(sap-ui-core.js:1280)

有人可以指出正确的方向吗?
这是我的XML的摘录

 
 />
  

这是我的control.js简化代码:
 sap.ui.define([
 " sap/ui/comp/smartfield/SmartField"
 ],功能(SmartField){
 "使用严格";
 return SmartField.extend(" SmartfieldTest.controls。MyCustomSmartComponent",{
 元数据:{
 属性:{
    .....
 }
 },
 渲染器:{},
//私有属性
 this._innerControl;
 ...

//私有方法的重新定义
 初始化:function(){
   SmartField.prototype.init.apply(this,arguments);
   this.setShowSuggestion(false);
   this.setShowValueHelp(false);
   this.attachInnerControlsCreated(this.onInnerControlCreated,this);
 },

 onInnerControlCreated:function(oEvent){
 /* @类型sap.m.输入*/
   this._innerControl = this.getInnerControls()[0];
   this._innerControl.setShowSuggestion(true);
   this._innerControl.setShowValueHelp(false);

   this._innerControl.insertSuggestionColumn(新sap.m.Column({
     hAlign:"开始",
     标头:new sap.m.Label({
     文字:" Col1"
     })
    })
   );

   this._innerControl.insertSuggestionColumn(新sap.m.Column({
     hAlign:"开始",
     标头:new sap.m.Label({
     文字:" Col2"
     })
    })
   );

  this._innerControl.insertSuggestionColumn(新sap.m.Column({
    hAlign:"开始",
    标头:new sap.m.Label({
    文字:" Col3"
    })
   })
  );

   this._innerControl.insertSuggestionColumn(新sap.m.Column({
     hAlign:"开始",
     标头:new sap.m.Label({
     文字:" Col4"
     })
    })
   );

   var oTableItemTemplate = new sap.m.ColumnListItem({
     类型:"有效",
     vAlign:"中间",
     细胞 : [
      新的sap.m.Label({
       文字:" {Property1}"
      }),
      新的sap.m.Label({
       文字:" {Property2}",
       包装:真
      }),
      新的sap.m.Label({
       文字:" {Property3}"
      }),
      新的sap.m.Label({
       文字:" {Property4}"
      })
     ]
   });

 this._innerControl.bindAggregation(" suggestionRows","/img/SuggestionEntitySet",oTableItemTemplate);
  }});
 }); //onInnerControlCreated方法的结尾

 
付费偷看设置
发送
1条回答
三十六小时_GS
1楼-- · 2020-09-16 05:28

我刚刚回答了自己...。这是SAPUI5版本的问题。

有了1.38.31,就没有机会使它工作.....升级到1.54可以完美地工作。

一周热门 更多>