簡體   English   中英

Ag-grid行選擇

[英]Ag-grid Row selection

在使用以下單元格選擇的幫助下選擇ag-grid的行: this.gridOptions.rowMultiSelectWithClick = true ; 是否可以僅訪問最后選定的行進行計算,並保持先前​​選定的行狀態不變。

添加Paritosh提到的內容,您可以監聽rowSelected事件並維護一組節點。

<ag-grid-angular
   [rowSelection]="rowSelection"
   (rowSelected)="onRowSelected($event)"
   [rowMultiSelectWithClick]="true"
   (selectionChanged)="onSelectionChanged($event)"></ag-grid-angular>
selectedNodes: RowNode[];     

onRowSelected(event) {
   if(event.node.selected) {
      this.selectedNodes.push(event.node);
   }
}

getLastItem() {
   return this.selectedNodes[this.selectedNodes.length - 1];
} 

您可以根據需要隨時調用getLastItem()方法並獲取最后選擇的節點。

當然,你必須使用onRowSelected事件,在其中你將獲得所需的數據作為event參數。

onRowSelected(event) {
  console.log("row " + event.node.data + " selected = " + event.node.selected);
}

數據:event.node.data
是否選中:event.node.selected

<ag-grid-angular
  .....
  [rowSelection]="rowSelection"
  (rowSelected)="onRowSelected($event)"
  [rowMultiSelectWithClick]="true"
  (selectionChanged)="onSelectionChanged($event)"
  ></ag-grid-angular>

以下是實例: Plunk - ag-grid rowMultiSelectWithClick


更新

您可以使用gridApi然后獲取最后選擇的節點。 當您取消選擇行時,這甚至可以工作。 它將為我們提供在取消選擇最新行之前選擇的最后一行。

getLastSelectedNode(){
  let rows = this.gridApi.getSelectedRows();
  if(rows.length > 0)
    console.log(rows[rows.length - 1]);
  else
    console.log('No rows selected');
}

更新了Plunk

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM