【问题标题】:disable the Row in ExtJS Grid禁用 ExtJS 网格中的行
【发布时间】:2015-02-18 10:02:37
【问题描述】:

我有一个检查列作为网格中的最后一列,一旦选中该复选框,我想禁用该行。

onCheckcolumnCheckChange: function(checkcolumn,rowIndex,checked){
//disable row code here
}

禁用意味着,用户不应该能够编辑该特定行的单元格。

感谢任何帮助。

谢谢

【问题讨论】:

    标签: extjs extjs4.1


    【解决方案1】:

    仅仅切换到 RowEditing 并不能解决您的问题。您需要做什么,无论是哪种编辑,行或单元格,您都必须收听beforeedit event,并且在侦听器中您需要检查记录是启用还是禁用。如果它被禁用,那么您从侦听器返回 false:

    伪代码:

    beforeedit:function(editor, context) {
        var disabled = context.record.get('disabled');
        return !disabled;
    } 
    

    【讨论】:

    • 编辑不是我的问题,我知道我可以在 beforeedit 事件中处理它,我的问题是如何在选中复选框后将记录标记为禁用/将禁用的 Cls 添加到整行。
    • 啊这样!如果有帮助,请查看this example
    【解决方案2】:

    尝试为此使用 rowEditing

    var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
        clicksToEdit: 2,
        clicksToMoveEditor: 1,
        listeners: {
            'validateedit': function(editor, e) {},
            'afteredit': function(editor, e) {
                email_field.setReadOnly(true);}
        }
    });
    

    查看this演示。

    【讨论】:

      猜你喜欢
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      • 2014-02-04
      • 2018-07-25
      相关资源
      最近更新 更多