请问,extjs中怎样才能动态的设置EditorGridPanel的单元格不可编辑?

发布网友 发布时间:2024-10-24 16:17

我来回答

2个回答

热心网友 时间:2024-10-30 20:25

对,就是用 beforeedit。

比如表里只有你说的三个字段,并且顺序为  direct , load, credit


listeners : {
    beforeedit : function(editor, e) {
        if(e.colIdx== 1 && e.record.data.direct == 0)){
            return true;
        }else if(e.colIdx == 2 && e.record.data.direct == 1){
            return true;
        }else{
            return false;
        }
    }
}
// 你的grid 中要编辑的 column 必须要有 editor ,这个知道吧?
editor : {
    xtype : 'numberfield', // 数字 ,字符 xtype : 'textfield' 字符
}
// 更重要的是,你的GRID 必须要有 PLUGIN
plugins : [Ext.create('Ext.grid.plugin.CellEditing', {
    clicksToEdit : 1  //单击 ,双击 2
})]

热心网友 时间:2024-10-30 20:22

{header : "ddd",width : 100,sortable : true,align : "center",dataIndex : "bbb",
 editor : new Ext.form.TextField({id:'tfId'}),可编辑grid单元格的组件。
renderer : function(v,m,r,i){//v是单元格的值,r是record对象,i是行索引 
    if(v...)//如果你的什么什么条件
     Ext.getCmp('xxx').disable();//让你逻辑的某个组件禁用,这里的xxx就是editor:这里的id,如:tfId 
      Ext.getCmp('xxx').enable();//让你逻辑的某个组件启用    
}
}

 大概这意思,你自己完善一下试试吧

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com