我正在将ag-grid-angular组件注入父组件,该组件知道何时将数据添加到网格中 . 当我通过onAddRow()方法调用网格组件时,我发现this.gridOptions.api未定义 . 这不是网格准备就绪的问题,因为在调用组件之前,onGridReady事件会正常触发 .
这似乎是一个范围问题 . 出于某种原因,父组件知道gridOptions,但不知道gridOptions.api .
constructor(private mcService: MonteCarloService) {
this.gridOptions = <GridOptions>{
rowData: MCInputGridComponent.createRowData(),
columnDefs: MCInputGridComponent.createColumnDefs(),
singleClickEdit: true,
onGridReady: function(event) { this.api.setFocusedCell(0, "histDataType", null); },
};
}
onAddRow() {
var newItem = this.createNewRowData();
console.log(this.gridOptions.api); // undefined when calling onAddRow() from parent component into which my grid component was injected
this.gridOptions.api.updateRowData({add: [newItem]});
}
createNewRowData() {
var newData = {sprint: "5", histDataType: null};
return newData;
}