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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问,extjs中怎样才能动态的设置EditorGridPanel的单元格不可编辑?相关的知识,希望对你有一定的参考价值。

表格中有direct(ComboBox类型),load,credit字段。当direct = 0,load可编辑,credit不可编辑;当direct = 1,credit可编辑,load不可编辑。有人说,可以用beforeedit事件,但具体代码是怎么实现的。求教各位大神。

对,就是用 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
)]

参考技术A 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();//让你逻辑的某个组件启用    

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

展开 extjs 树以查看一个元素

【中文标题】展开 extjs 树以查看一个元素【英文标题】:Expanding extjs tree to see one element 【发布时间】:2014-02-14 10:27:27 【问题描述】:

我可以在 extjs 中将元素添加到树中,我想在添加后立即查看它。我怎样才能专注于比元素(展开它之前的所有内容并对其进行选择)?

【问题讨论】:

有什么消息吗?我很想知道你是否能做到你想做的事 是的,一切都很好,非常感谢 请问您能否将此问题标记为已解决? ;)(抱歉乞求)。提供有关您的成功或失败的反馈将有助于下一个读者 【参考方案1】:

您可以在您的TreePanel 上使用selectPath 方法,详见此处:

http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.tree.Panel-method-selectPath

此方法将打开访问您的元素所需的每个节点并选择此元素。你表达路径的方式如下:

Ext.getCmp('treePanel').selectPath('/Root/Leaf/Element', 'text')

在这里,我的TreeModeltext 属性已被使用(第二个参数),但您可以将其更改为任何内容,例如id

Ext.getCmp('treePanel').selectPath('/1/16/42', 'id')

要构建这个path,更好的方法是在要选择的特定项目上使用方法getPath

item.getPath('text')

【讨论】:

我注意到,即使树已展开并选择了正确的元素,我也必须向下滚动才能看到所选元素。如何自动滚动? 这更多地与一般面板有关,特别是树。但是这里有一个有趣的话题:***.com/questions/2036775/… 他们似乎可以做你想做的事。

以上是关于请问,extjs中怎样才能动态的设置EditorGridPanel的单元格不可编辑?的主要内容,如果未能解决你的问题,请参考以下文章

请问怎样设置SQL Server 2000,使其能支持远程连接?

上任何网站都会留下ip地址吗?怎样才能隐藏ip地址,有说用代理服务器的,请问怎么才能隐藏

js中怎样设置动态tr的属性

如何在extjs中动态设置url和root

extjs中怎样为一个panel设置背景色???

ceph搭建,动态增加osd,增加的osd状态是down,怎样才能up