禁用 Slick 网格中的特定单元格编辑

Posted

技术标签:

【中文标题】禁用 Slick 网格中的特定单元格编辑【英文标题】:Disabling specific cell edit in Slick grid 【发布时间】:2012-05-16 12:39:15 【问题描述】:

有没有办法禁用单元格进行编辑?我们可以在列级别定义编辑器,但我们可以为特定行禁用该编辑器吗?

【问题讨论】:

【参考方案1】:
grid.onBeforeEditCell.subscribe(function(e,args) 
  if (!isCellEditable(args.row, args.cell, args.item)) 
    return false;
  
);

【讨论】:

+1 - 更好的解决方案!我以前从未使用过这个网格,所以我立即求助于“破解”它。 Here's a fiddle 恭维您的回答。它只是在第 4 行禁用编辑。 很棒的解决方案!!我应该想到的:P【参考方案2】:

您可以使用getItemMetadata 方法禁用甚至更改编辑器/格式化程序/验证器...或其他单元格属性。这个here 有很好的文档。示例:

$scope.data.data.getItemMetadata = function (row) 
  var item = $scope.data.data.getItem(row);
  if (item.some_condition) 
    return 
      columns : 
        yourColumnId : 
          editor : null,
          formatter : function ()  return 'custom formater if some_condition'; 
        
      
    ;
  
;

【讨论】:

以上是关于禁用 Slick 网格中的特定单元格编辑的主要内容,如果未能解决你的问题,请参考以下文章

ExtJs - 通过单击行中的相应图像来编辑网格单元格

光滑的网格标题行单元格对齐

禁用具有给定类的网格单元的干净方法

在 Ext 网格中切换时如何跳过特定的单元格?

在extjs经典网格中开始编辑单元格

如何使用 javascript 引用剑道网格中的特定单元格?