You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Angular SlickGrid中禁用指定列?已尝试方法未生效

在 Angular-Slickgrid 中禁用特定列

方法一:静态禁用(直接在列定义中配置)

如果不需要动态控制权限,最直接的方式是在目标列的columnDefinitions里设置editable: false,示例如下:

this.columnDefinitions = [
  { id: 'name', name: '姓名', field: 'name', editable: true }, // 可编辑列
  { id: 'age', name: '年龄', field: 'age', editable: false }, // 禁用编辑的列
  // 其他列配置...
];

方法二:动态控制(通过onBeforeEditCell事件)

如果需要根据业务逻辑动态决定是否禁用列编辑,你之前的写法缺少针对特定列的判断逻辑,修改后的代码如下:

verifyCellIsEditableBeforeEditing(e, args): boolean {
  // 检查当前列的field是否是你要禁用的目标列(示例为'age')
  if (args.column.field === 'age') {
    return false; // 禁用该列的编辑权限
  }
  // 其他列保持原有可编辑状态
  return args.column.editable !== false;
}

注意:如果目标列的columnDefinitions中硬设了editable: true,事件返回的false会覆盖这个配置,确保逻辑生效。


内容的提问来源于stack exchange,提问作者Sankalp Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:12:18