动态可编辑和不可编辑的一些 ag-grid 单元格
Editable and non-editable some ag-grid cells dynamically
我必须根据数据类型 selection 实现特定行中相应单元格的 editable/non-editable。当我们 select datatype="NUMERIC" 时,它应该是可编辑的,特别是行中的单元格仅在最小和最大列下而不是完整列下。
Example
```
$scope.gridOptions.onCellValueChanged = function(event) {
if (event.colDef.field === 'validation_type') {
if (event.newValue.name === 'NUMERIC') {
event.columnApi.getColumn('min_value').editable = true;
}
}
}
```
然后它允许该列的所有单元格可编辑。但根据我的要求,它应该只能编辑一个特定的单元格。请建议。
截图:
执行此操作最简单的地方是在您的列定义中:
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';
},
},
// ...
];
我必须根据数据类型 selection 实现特定行中相应单元格的 editable/non-editable。当我们 select datatype="NUMERIC" 时,它应该是可编辑的,特别是行中的单元格仅在最小和最大列下而不是完整列下。
Example
```
$scope.gridOptions.onCellValueChanged = function(event) {
if (event.colDef.field === 'validation_type') {
if (event.newValue.name === 'NUMERIC') {
event.columnApi.getColumn('min_value').editable = true;
}
}
}
```
然后它允许该列的所有单元格可编辑。但根据我的要求,它应该只能编辑一个特定的单元格。请建议。
截图:
执行此操作最简单的地方是在您的列定义中:
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';
},
},
// ...
];