Sap.m.Table模式=" Multiselect"

2020-08-27 03:50发布

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

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


你好,

https://prnt.sc/q842no

Iam卡在了这里,我的流程就像在链接中看到的那样,表上将有多个数据,并且通过选择所有下拉列表值,然后单击分配,然后从表中选择选定的值,它应该获取" "任务ID"和所有下拉列表中的值都应在该选定的行表ID中进行更新。

在"分配按钮事件"中,我的代码是 this.it 不起作用。

 var Entity = this.getView()。byId(" Entity_Combobox")。getValue();
 var Unit = this.getView()。byId(" Combo_Unit2")。getValue();

 var Function_name = this.getView()。byId(" Combo_Fun")。getValue();
 var Executor_name = this.getView()。byId(" Executor_Combo")。getValue();
 var Evaluator_name = this.getView()。byId(" Evaluator_Combo")。getValue();
 var FunHead_name = this.getView()。byId(" Fun-Head_Combo")。getValue();

 if(Entity ==="" || Unit ==="" || Function_name ==="" || Executor_name ==="" || Evaluator_name ==="" || FunHead_name ===""){

 sap.m.MessageToast.show("选择所有必填字段!");

 }其他{

 var oTable = this.getView()。byId(" tasks");
 var itemIndex = oTable.indexOfItem(oTable.getSelectedItem());
 如果(itemIndex!== -1){
 var oItems = oTable.getSelectedItems();
 for(var i = 0; i 

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

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


你好,

https://prnt.sc/q842no

Iam卡在了这里,我的流程就像在链接中看到的那样,表上将有多个数据,并且通过选择所有下拉列表值,然后单击分配,然后从表中选择选定的值,它应该获取" "任务ID"和所有下拉列表中的值都应在该选定的行表ID中进行更新。

在"分配按钮事件"中,我的代码是 this.it 不起作用。

 var Entity = this.getView()。byId(" Entity_Combobox")。getValue();
 var Unit = this.getView()。byId(" Combo_Unit2")。getValue();

 var Function_name = this.getView()。byId(" Combo_Fun")。getValue();
 var Executor_name = this.getView()。byId(" Executor_Combo")。getValue();
 var Evaluator_name = this.getView()。byId(" Evaluator_Combo")。getValue();
 var FunHead_name = this.getView()。byId(" Fun-Head_Combo")。getValue();

 if(Entity ==="" || Unit ==="" || Function_name ==="" || Executor_name ==="" || Evaluator_name ==="" || FunHead_name ===""){

 sap.m.MessageToast.show("选择所有必填字段!");

 }其他{

 var oTable = this.getView()。byId(" tasks");
 var itemIndex = oTable.indexOfItem(oTable.getSelectedItem());
 如果(itemIndex!== -1){
 var oItems = oTable.getSelectedItems();
 for(var i = 0; i   
付费偷看设置
发送
7条回答
打个大熊猫
1楼-- · 2020-08-27 04:36

您好,

不确定您为什么不能获得itemIndex,但是尝试以下不同的条件方式并检查

//var itemIndex = oTable。  indexOfItem(oTable.getSelectedItem());  - 去掉
 var oItems = oTable.getSelectedItems();  -添加
//if(itemIndex!== -1){-删除
  如果(oItems.length> 0){-添加

可能会有所帮助。

Tong__Ming
2楼-- · 2020-08-27 04:37
不是错误,但是如果我没有选择任何项目,则它会打印("未选择任何项目 。请选择一个项目"); 但是当我选择singlw值时,它会直接在调试器上调用错误函数的所有值并建模所有事情都正常运行
DafaDDDa
3楼-- · 2020-08-27 04:29

,您至少应提供详细错误msg

奄奄一息的小鱼
4楼-- · 2020-08-27 04:55

嗨,

如果您一次要更新1条记录,我认为您的一条记录将被多次更新,因为for循环在更新语句之前关闭。

ClientTaskID被覆盖的次数与所选项目数一样多。

Rakesh

Bunny_CDM
5楼-- · 2020-08-27 04:33

hi Rakesh Singh

如果选择多个表项,则取决于用户,然后应在此表中选择的行中更新相同的下拉值,

但是在更新代码上,当我选择的值多于一个时,则它应该只打印任何一个任务ID,但更新不起作用,它会进入错误功能。

追夢秋陽
6楼-- · 2020-08-27 04:29

是的,我最近声明了一个数组,它存储客户端任务ID,但只能一个接一个地存储,并非所有值都要更新,并且oEntry部分是所有Id的第二优先级。

一周热门 更多>