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

表格中有direct(ComboBox类型),load,credit字段。当direct=0,load可编辑,credit不可编辑;当direct=1,credit可编辑... 表格中有direct(ComboBox类型),load,credit字段。当direct = 0,load可编辑,credit不可编辑;当direct = 1,credit可编辑,load不可编辑。有人说,可以用beforeedit事件,但具体代码是怎么实现的。求教各位大神。 展开
 我来答
cqh46
推荐于2017-09-29 · TA获得超过3292个赞
知道大有可为答主
回答量:2149
采纳率:100%
帮助的人:1241万
展开全部

对,就是用 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
})]
luffy1201
2013-11-01 · TA获得超过1523个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:570万
展开全部
{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();//让你逻辑的某个组件启用    
}
}

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式