ag-grid:禁用按键编辑单元格并使用编辑按钮以编程方式启用行编辑(Angular 2)

ag-grid : Disable cell edit on key press and pro grammatically enable row edit with edit button (Angular 2)

我在每一行都有一个编辑按钮,我已经设置了

  defaultColDef: {
    editable: false,
  } 

在网格选项中

我希望在单击编辑按钮时该行处于编辑模式。如果我设置

,我的编辑按钮可以正常工作
  defaultColDef: {
    editable: true,
  } 

但它启用了我不想要的按键编辑。

我应该如何在不将我的 defaultColdef 中的 editable 设置为 true 的情况下动态编辑该特定行?

点击编辑后,我启用了 this.gridOptions.defaultColDef.editable = true,但没有成功!

定义 columnDefs 时,给出 editable: false

单击编辑按钮后,要动态编辑行中的特定 Column/Cell,请使用:

this.GridOptions.columnApi.getColumn('employeeName').getColDef().editable = true;

完成编辑后使用:

 this.GridOptions.columnApi.getColumn('employeeName').getColDef().editable = false;

您可以实现ag-grid的onCellClicked方法来监听编辑按钮的点击事件,然后使用startEditing方法开始编辑相应行。示例代码如下:

onCellClicked(value): void {
    if (value.colDef.colId === '<YOUR_EDIT_BUTTON_COL_ID>') {
        this.gridOptions.api.startEditing({
            rowIndex: value.rowIndex,
            colKey: '<col_id_of_first_editbale_col_in_the_row>'
        });
  }
}