【问题标题】:Editable and non-editable some ag-grid cells dynamically可动态编辑和不可编辑的一些 ag-grid 单元格
【发布时间】:2019-01-10 04:06:33
【问题描述】:

我必须根据数据类型选择来实现特定行中相应单元格的可编辑/不可编辑。当我们选择 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;
            }
        }
    }
```

然后它允许该列的所有单元格可编辑。但根据我的要求,它应该只能编辑一个特定的单元格。请建议。 截图:

【问题讨论】:

    标签: ag-grid


    【解决方案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';
            },
        },
        // ...
    ];
    

    【讨论】:

    • 非常感谢,三十点。它工作得很好。
    • @bilen:我不确定编辑透视数据是否有意义,因为它往往是基础数据中的值的总和。您不想编辑基础数据吗?也许我不明白你的意思。
    • @thirtydot 是的,你是对的,我将只编辑基本成员。我在现有控件上使用的类似。我在后端有一些标记为 IS_BASE = X 的行。因此,我使该行仅可编辑,并在任何值更改后聚合其父母。如果我能在这个网格中做类似的方法,那就太好了。用户希望以树视图样式输入数据,但需要复制粘贴和自动聚合选项。
    • 在这种情况下,如果您更改validation_type,网格会自动更新以反映这一点吗?例如,如果您想根据可编辑性更改单元格内容。
    • @Arttu:我希望如此,前提是您以网格知道的方式更改 validation_type。不过我不确定。
    猜你喜欢
    • 2019-08-09
    • 2018-10-24
    • 2020-06-14
    • 1970-01-01
    • 2019-04-22
    • 2018-01-03
    • 2019-08-24
    • 2021-09-10
    • 1970-01-01
    相关资源
    最近更新 更多