将值绑定到Sap.m.Table后,如何从MultiCombobox中取消选择所有选定值?

2020-09-16 02:22发布

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

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


大家好,

我有一个带有硬编码项目的MultiCombobox。 我有一个sap.m.Table,其中我需要将来自multicombobox的选定键作为单独的行绑定到表。

这是多组合框的查看代码:

 
    <项目>
  
   
    
   
    
   
   
   
   
   
  
 

表格代码

 <表id =" idhusbservTabel1" items ="" fixedLayout =" false" class =" sapUiSizeCompact">
   
  
 <列>
 <专栏>
 

用于选择更改和删除表行功能的控制器代码:

 husinput1function:function(){
 var hustable = this.getView()。byId(" idhusbservTabel1");
 var Array2 = [];
 var valueofhusb = this.getView()。byId(" husinput1")。getSelectedKeys()。toString();
 var valueofhusb2;  var isplit;
 if(valueofhusb!=="" && iselectcount!== 0)
 {
 isplit = valueofhusb.split(",");
 var isplitval1 = isplit [iselectcount];  console.log(" isplitval1:",isplitval1);
 valueofhusb2 = isplitval1;
 }其他{
    valueofhusb2 = valueofhusb;  }
 obj1 = {sername:valueofhusb2,qty:"",rate:" 200",rem:""}};
 Array1.push(obj1);
 var arlength = Array1.length;
 Array2 = {"" Array2":Array1};
   oModelarr = new sap.ui.model.json.JSONModel(Array2);
 hustable.setModel(oModelarr);
  var titems2 = new sap.m.ColumnListItem({type:sap.m.ListType.Active,
  单元格:[new sap.m.Text({text:" {sername}"}),
 new sap.m.Input({value:" {qty}",type:" Number"}),
 new sap.m.Input({value:" {rate} USD",editable:false}),
 new sap.m.Input({value:" {rem}"}),
 新的sap.m.Button({图标:" sap-icon://decline",键入:"拒绝",按:this.onDeletefunc})]
 });
 hustable.bindItems("/img/Array2",titems2);
 iselectcount ++;
 },

 onDeletefunc:function(oEvent)
 {
  var deleteRecord = oEvent.getSource()。getBindingContext()。getObject();
 for(var i = 0; i 
 

我将屏幕截图附加在这里。

现在的问题是,如果我删除任何表行,则需要取消选择组合框中的所选选项,或者如果我取消选择组合框中的任何项目,则会在表中添加一个空行。

有人可以帮我吗?

(36.6 kB)

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

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


大家好,

我有一个带有硬编码项目的MultiCombobox。 我有一个sap.m.Table,其中我需要将来自multicombobox的选定键作为单独的行绑定到表。

这是多组合框的查看代码:

 
    <项目>
  
   
    
   
    
   
   
   
   
   
  
 

表格代码

 <表id =" idhusbservTabel1" items ="" fixedLayout =" false" class =" sapUiSizeCompact">
   
  
 <列>
 <专栏>
 

用于选择更改和删除表行功能的控制器代码:

 husinput1function:function(){
 var hustable = this.getView()。byId(" idhusbservTabel1");
 var Array2 = [];
 var valueofhusb = this.getView()。byId(" husinput1")。getSelectedKeys()。toString();
 var valueofhusb2;  var isplit;
 if(valueofhusb!=="" && iselectcount!== 0)
 {
 isplit = valueofhusb.split(",");
 var isplitval1 = isplit [iselectcount];  console.log(" isplitval1:",isplitval1);
 valueofhusb2 = isplitval1;
 }其他{
    valueofhusb2 = valueofhusb;  }
 obj1 = {sername:valueofhusb2,qty:"",rate:" 200",rem:""}};
 Array1.push(obj1);
 var arlength = Array1.length;
 Array2 = {"" Array2":Array1};
   oModelarr = new sap.ui.model.json.JSONModel(Array2);
 hustable.setModel(oModelarr);
  var titems2 = new sap.m.ColumnListItem({type:sap.m.ListType.Active,
  单元格:[new sap.m.Text({text:" {sername}"}),
 new sap.m.Input({value:" {qty}",type:" Number"}),
 new sap.m.Input({value:" {rate} USD",editable:false}),
 new sap.m.Input({value:" {rem}"}),
 新的sap.m.Button({图标:" sap-icon://decline",键入:"拒绝",按:this.onDeletefunc})]
 });
 hustable.bindItems("/img/Array2",titems2);
 iselectcount ++;
 },

 onDeletefunc:function(oEvent)
 {
  var deleteRecord = oEvent.getSource()。getBindingContext()。getObject();
 for(var i = 0; i 
 

我将屏幕截图附加在这里。

现在的问题是,如果我删除任何表行,则需要取消选择组合框中的所选选项,或者如果我取消选择组合框中的任何项目,则会在表中添加一个空行。

有人可以帮我吗?

(36.6 kB)
付费偷看设置
发送
2条回答
哎,真难
1楼 · 2020-09-16 02:41.采纳回答

您好 Ramya Ramasamy

如果您使用json模型,则可以轻松处理,而不是将项目硬编码到多组合框中,

这里是样本。 我已经完成了,

示例

蓋茨
2楼-- · 2020-09-16 02:34

您好 Vedaradhya Agrahar

感谢您的快速回复。 这真的对我有用! :)

此致

Ramya

一周热门 更多>