繁体   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