Ag Grid 单击复选框调用函数
Ag Grid Call a function on click of checkbox
在 Angular 和 Javascript 中,我在其中一列中使用了带有 checkboxSelection: true
的 Ag-Grid。
每当单击任何行的复选框时,我都需要调用一个函数...
怎么做 ??再一次Ag-Grid中选中复选框时如何调用函数?
我假设只有一列有复选框 selection.
您可以使用 selectionChanged
事件绑定。每当您 select 或 deselect 复选框时,都会发出此事件。您可以通过 here 阅读更多相关信息。
但是,如果您想检查 selected 行是否被选中,最好绑定到 rowSelected
事件。
例如,在 component.html 上,您可以将方法 onSelectionChanged()
绑定到 selectionChanged
事件。
<ag-grid-angular
#agGrid
style="width: 100%; height: 100%;"
id="myGrid"
class="ag-theme-balham"
[columnDefs]="columnDefs"
[defaultColDef]="defaultColDef"
[suppressRowClickSelection]="true"
[rowSelection]="rowSelection"
[rowData]="rowData"
(gridReady)="onGridReady($event)"
(rowSelected)="onRowSelected($event)"
(selectionChanged)="onSelectionChanged($event)"
></ag-grid-angular>
并且在您的 component.ts 上,您将定义 onSelectionChanged()
方法
onRowSelected(event) {
console.log(event);
console.log(event.node.selected);
console.log(event.rowIndex);
}
onSelectionChanged(event) {
console.log(event); // verify that the method is fired upon selection
// do the rest
}
这里是 demo。
this.DategridOptions = {
columnDefs: [
{ headerName: 'Name', field: 'Name', width: 500, filter: 'agTextColumnFilter' },
{ headerName: 'Relationship', field: 'Relationship',
filter:'agNumberColumnFilter', type: ''},
{ headerName: 'FromDate', field: 'FromDate', width: 200, filter:
'agTextColumnFilter', type: 'Date'},
{ headerName: 'ToDate', field: 'ToDate', width: 200, filter: 'agTextColumnFilter',
type: 'Date'},
{ headerName:'TicketsClaimed', field: 'TicketsClaimed', width: 200, filter:
'agTextColumnFilter'},
{ headerName: 'TicketstobeCancelled', field: 'TicketstobeCancelled', width: 200,
filter: 'agTextColumnFilter'}
],
apiDataUrl: this.service.CancelTicket_URL + '/GetModel',
showSerialNoColumn: true,
showRowSelection: true,
checkboxSelection: false,
onSelectionChanged: (event) => this.onSelectionChanged(event),
};
onSelectionChanged(event){
console.log(event);
}
在 Angular 和 Javascript 中,我在其中一列中使用了带有 checkboxSelection: true
的 Ag-Grid。
每当单击任何行的复选框时,我都需要调用一个函数... 怎么做 ??再一次Ag-Grid中选中复选框时如何调用函数?
我假设只有一列有复选框 selection.
您可以使用 selectionChanged
事件绑定。每当您 select 或 deselect 复选框时,都会发出此事件。您可以通过 here 阅读更多相关信息。
但是,如果您想检查 selected 行是否被选中,最好绑定到 rowSelected
事件。
例如,在 component.html 上,您可以将方法 onSelectionChanged()
绑定到 selectionChanged
事件。
<ag-grid-angular
#agGrid
style="width: 100%; height: 100%;"
id="myGrid"
class="ag-theme-balham"
[columnDefs]="columnDefs"
[defaultColDef]="defaultColDef"
[suppressRowClickSelection]="true"
[rowSelection]="rowSelection"
[rowData]="rowData"
(gridReady)="onGridReady($event)"
(rowSelected)="onRowSelected($event)"
(selectionChanged)="onSelectionChanged($event)"
></ag-grid-angular>
并且在您的 component.ts 上,您将定义 onSelectionChanged()
方法
onRowSelected(event) {
console.log(event);
console.log(event.node.selected);
console.log(event.rowIndex);
}
onSelectionChanged(event) {
console.log(event); // verify that the method is fired upon selection
// do the rest
}
这里是 demo。
this.DategridOptions = {
columnDefs: [
{ headerName: 'Name', field: 'Name', width: 500, filter: 'agTextColumnFilter' },
{ headerName: 'Relationship', field: 'Relationship',
filter:'agNumberColumnFilter', type: ''},
{ headerName: 'FromDate', field: 'FromDate', width: 200, filter:
'agTextColumnFilter', type: 'Date'},
{ headerName: 'ToDate', field: 'ToDate', width: 200, filter: 'agTextColumnFilter',
type: 'Date'},
{ headerName:'TicketsClaimed', field: 'TicketsClaimed', width: 200, filter:
'agTextColumnFilter'},
{ headerName: 'TicketstobeCancelled', field: 'TicketstobeCancelled', width: 200,
filter: 'agTextColumnFilter'}
],
apiDataUrl: this.service.CancelTicket_URL + '/GetModel',
showSerialNoColumn: true,
showRowSelection: true,
checkboxSelection: false,
onSelectionChanged: (event) => this.onSelectionChanged(event),
};
onSelectionChanged(event){
console.log(event);
}