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

时间:2017-11-17 06:48:51

标签: angular typescript ag-grid ag-grid-react ag-grid-ng2

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

  defaultColDef: {
    editable: false,
  } 

在网格选项中

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

在定义columnDefs时,请提供editable: false

单击编辑按钮,用于动态编辑行中的特定列/单元格:

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

完成编辑后使用:

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

答案 1 :(得分:0)

您可以实现ag-grid的onCellClicked方法来侦听您的编辑按钮上的click事件,然后使用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>'
        });
  }
}