繁体   English   中英

sapui5 ui表如何通过取消选中行复选框来取消选择行

[英]sapui5 ui table how to unselect the rows by unchecking the row checkbox

我在UI表中面临一个小问题。 如果我们取消选中某行的复选框,如何删除选定的行? 要使用以下代码获取行数据即时消息,它可以正常工作而不会出现任何问题。

在此处输入图片说明

getEnterDetailCount:function(oEvent){
            var oRowContext = oEvent.getParameter("rowContext");
            var oContextObject = oRowContext.getObject();
            roomsArray.push(oContextObject);
        };

使用以上方法,如果我选择的行无法获取完整行数据。 但是,如果我取消选择该行,它仍在考虑作为行选择,并且计数正在增加。

在XML im中,使用rowSelectionChange事件来检查和取消选中行上的复选框

有人可以帮我解决此问题吗? 先感谢您。

问候,帕万特

对于sap.m.table ,可以使用getSelectedItems从表中获取所有选定的行。 循环所有选定的行,并将其放入数组中。

getEnterDetailCount:function(oEvent){
  var oContextObject;
  var roomsArray = [];
  var oTable = this.getView().byId("myTable");
  var aSelectedItems = oTable.getSelectedItems();

  aSelectedItems.forEach( function(v,i){
     oContextObject = v.getBindingContext().getObject();
     roomsArray.push(oContextObject);
  });
};

对于sap.ui.table ,可以使用getSelectedIndices()

getEnterDetailCount:function(oEvent){
  var oContextObject;
  var roomsArray = [];
  var oTable = this.getView().byId("myTable");
  var aSelectedIndices = oTable.getSelectedIndices();

  aSelectedIndices.forEach( function(v,i){ 
     oContextObject = oTable.getContextByIndex(v).getObject();
     roomsArray.push(oContextObject);
  });
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM