单击提交按钮时,如何计算表格中已选中的复选框的数量?

2020-09-15 10:45发布

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

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


谁能告诉我单击提交按钮时如何计算已选中的复选框。

controller.js

//Length ---->新闻事件
 长度:功能(oEvent)
   {var i = 0,count = 0;  var flag = false;
   $ .each(this.getView()。byId(" Ranjith"),

 函数(索引,行){
   如果(row.getChecked()== true)
     {flag = true; 计数+ = 1;  }});
   alert(" count =" + count);  }
 

view.xml:

 <表id =" Ranjith" inset =" true">
   <列>
      
     
       
     
     
       
     
     
       
     
     
        
     
     
        
     
     
       
     
     
        
     
     
        
     
   
 
 

(219.6 kB)

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

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


谁能告诉我单击提交按钮时如何计算已选中的复选框。

controller.js

//Length ---->新闻事件
 长度:功能(oEvent)
   {var i = 0,count = 0;  var flag = false;
   $ .each(this.getView()。byId(" Ranjith"),

 函数(索引,行){
   如果(row.getChecked()== true)
     {flag = true; 计数+ = 1;  }});
   alert(" count =" + count);  }
 

view.xml:

 <表id =" Ranjith" inset =" true">
   <列>
      
     
       
     
     
       
     
     
       
     
     
        
     
     
        
     
     
       
     
     
        
     
     
        
     
   
 
 

(219.6 kB)
付费偷看设置
发送
8条回答
三十六小时_GS
1楼 · 2020-09-15 11:37.采纳回答

最后,我使用此代码来计算复选框的数量和选中的复选框的值。

1)我删除了复选框列,并将表格模式更改为" MultiSelect"

2)然后我在控制器中应用了此代码

var oTable = this.getView()。byId(" idProductsTable"); //阅读

var oModel2 = oTable.getModel(); //获取表格模型

var aRows = oModel2.getData()。data; //从模型中读取数据

var aContexts = oTable.getSelectedContexts(); //找到选中的项目

alert(aContexts.length); //找到所选复选框的长度

for(var i = aContexts.length-1; i> = 0; i--){

var oThisObj = aContexts [i] .getObject();

警报(oThisObj.Date); //日期是我的表格列值

}

野沐沐
2楼-- · 2020-09-15 11:40

将来,发布代码时,请使用编辑器上的"代码"按钮,并确保其格式正确且易于阅读。

木偶小白
3楼-- · 2020-09-15 11:43

不知道为什么使用此复选框...您可以只使用表格的标准MultiSelect

 <表模式=" MultiSelect"项目=".。
 

有些方法类似于 getSelectedItems ,但无论如何,对于您 用例中,您可以循环所有项目,并获取第一个单元格,然后检查复选框的状态是否为true。

 var vCountSelected = 0;
 var vSelected = this.getView()。byId(" Ranjith")。getItems()[i] .getCells()[0] .getSelected();
 如果(vSelected){
     vCountSelected ++;
 } 

希望这会有所帮助,

关于

奄奄一息的小鱼
4楼-- · 2020-09-15 11:23

好,这是另一个问题,也许您更改了表ID,或者拼写错误,不知道。

但这只是基本的调试器,至少需要开发UI5。

hengyuye
5楼-- · 2020-09-15 11:24

通常不要尝试访问ui5控件。

如果控件绑定到模型,则您始终可以遍历模型以找出问题

wang628962
6楼-- · 2020-09-15 11:36

我会检查的。

DafaDDDa
7楼-- · 2020-09-15 11:47

Ranjith,

正如克里斯蒂安所说,请删除复选框的其他列,并将表设为多选。

 <表模式=" MultiSelect"项目=" .. 

然后,使用下面的代码获取所选项目的数量。

 var vCount = this.getView('Ranjith')。getSelectedItems()。length;
 

检查以下屏幕截图:

一周热门 更多>