簡體   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