农业网格行选择
Ag-grid Row selection
在单元格选择的帮助下选择 ag-grid
的行时使用:this.gridOptions.rowMultiSelectWithClick = true
;
是否可以仅访问最后选择的行进行计算并保持先前选择的行状态不变。
当然,您必须为此使用 onRowSelected
事件,您将在其中获得所需的数据作为 event
参数。
onRowSelected(event) {
console.log("row " + event.node.data + " selected = " + event.node.selected);
}
The data: event.node.data
Selected or not: 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');
}
除了 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()
方法获取最后选择的节点。
在单元格选择的帮助下选择 ag-grid
的行时使用:this.gridOptions.rowMultiSelectWithClick = true
;
是否可以仅访问最后选择的行进行计算并保持先前选择的行状态不变。
当然,您必须为此使用 onRowSelected
事件,您将在其中获得所需的数据作为 event
参数。
onRowSelected(event) {
console.log("row " + event.node.data + " selected = " + event.node.selected);
}
The data: event.node.data
Selected or not: 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');
}
除了 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()
方法获取最后选择的节点。