【问题标题】:Disabling entire column in extjs 4.2.1在 extjs 4.2.1 中禁用整个列
【发布时间】:2020-01-29 12:28:22
【问题描述】:

我有一个简单的多列网格和每列可编辑字段。当我调用column.disable() 时,只有列的标题被禁用,并且列中的字段仍然可以编辑。如何禁用列中的所有字段?

【问题讨论】:

    标签: extjs extjs4 extjs4.2


    【解决方案1】:

    结合 beforeedit 事件处理程序,您可以使用渲染器来更改单元格的 tdStyle 以指示它已禁用:

    renderer: function(value, meta, record, rowIdx, colIdx, store, view) {
        var column = this.getHeaderContainer().getHeaderAtIndex(colIdx);
        if (column.disabled) {
            meta.tdStyle = "opacity: 0.4;";
        }
    
        return value;
    }
    

    tdCls 更好,可以对外观进行更多微调。

    【讨论】:

      【解决方案2】:

      你必须在渲染你的editor 之后调用disable 方法。 我使用beforeedit 事件来禁用我的字段 例如:

      beforeedit: function (editor, context) {
          ...
          editor.editor.down('onetomanyeditor').disable()
          ...
      },
      

      【讨论】:

      • 感谢您的快速帮助。我可以禁用字段的编辑,但是如何像在标题中一样使用灰色掩码(表示它们不可编辑)?
      • 我上面写的代码应该做到这一点。您只需指明字段的路径
      • 用您的字段和编辑器显示更详细的示例
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 2013-06-01
      • 1970-01-01
      • 2014-06-10
      • 2014-12-10
      • 1970-01-01
      相关资源
      最近更新 更多