动态地编辑和不可编辑某些ag-grid单元

时间:2018-08-02 11:39:25

标签: ag-grid

我必须根据数据类型选择来实现特定行中相应单元格的可编辑/不可编辑。当我们选择datatype =“ NUMERIC”时,它应该是可编辑的,特别是该行只能在Min和Max列下而不是整列下行。

Example
```
    $scope.gridOptions.onCellValueChanged = function(event) {
        if (event.colDef.field === 'validation_type') {
            if (event.newValue.name === 'NUMERIC') {
                event.columnApi.getColumn('min_value').editable = true;
            }
        }
    }
```

然后,它允许该列的所有单元格都可编辑。但是根据我的要求,它只能是一个特定的单元格。请提出建议。 屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:1)

最简单的方法是在列定义中:

const columnDefs = [
    // ...
    {
        headerName: 'Data Type',
        field: 'validation_type',
    },
    {
        headerName: 'min',
        field: 'min_value',
        editable: function(params) {
            // allow `min_value` cell to be edited for rows with correct `validation_type`
            return params.node.data.validation_type === 'NUMERIC';
        },
    },
    {
        headerName: 'max',
        field: 'max_value',
        editable: function(params) {
            return params.node.data.validation_type === 'NUMERIC';
        },
    },
    // ...
];