Angular6 angular 2 ag网格无法读取getSelectedRow()未定义的属性“api”

Angular6 angular 2 ag网格无法读取getSelectedRow()未定义的属性“api”,angular6,ag-grid,Angular6,Ag Grid,我在一个项目中工作,需要构建一些表格模板来显示员工信息,协调员选择了一名员工来做一些事情。我在来自AgGridModule的API中遇到了一些问题,但当我尝试选择行以便它可以在控制台日志中显示它时。 但我面临一个问题: StoreComponent.html:2错误类型错误:无法读取未定义的属性“api” 在StoreComponent.push../src/app/Component/store/store.Component.ts.StoreComponent.getSelectedRows

我在一个项目中工作,需要构建一些表格模板来显示员工信息,协调员选择了一名员工来做一些事情。我在来自AgGridModule的API中遇到了一些问题,但当我尝试选择行以便它可以在控制台日志中显示它时。 但我面临一个问题:

StoreComponent.html:2错误类型错误:无法读取未定义的属性“api” 在StoreComponent.push../src/app/Component/store/store.Component.ts.StoreComponent.getSelectedRows

有人能帮我解决吗

这是我的密码:-

您需要将agGrid添加到HTML模板中,使其看起来像:


.

这个问题是因为您没有定义gridApi;您必须在网格HTML中的gridReady=onGridReady$event事件中定义griApi;您可以在ts中使用onGridReady,如下所示:

onGridReady(params) {
    this.gridApi = params.api;
    this.gridColumnApi = params.columnApi;
}
然后,您可以获取所选行:

  getSelectedRows() {
    const selectedRow = this.gridApi.getSelectedRows();
    console.log(selectedRow);
  }

如果您卡住了,当您将Gridoptions与rowData一起使用时,您可以检查angular 6与ag grid 20中的示例,并且您正在使用setRowData设置rowData,您可能会看到此问题。解决这个问题的一个方法是,一旦您从API接收到数据,就不要配置它并设置行数据。您好。请检查我的答案-它必须对您有所帮助!