请问,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事件,但具体代码是怎么实现的。求教各位大神。
展开
2个回答
展开全部
对,就是用 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
})]
展开全部
{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();//让你逻辑的某个组件启用
}
}
大概这意思,你自己完善一下试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询