使用行编辑器进行编辑时,如何在 extjs 4.1.1 中禁用行的特定单元格?

Posted

技术标签:

【中文标题】使用行编辑器进行编辑时,如何在 extjs 4.1.1 中禁用行的特定单元格?【英文标题】:How can I disable a particular cell of a row in extjs 4.1.1 when edit using row editor? 【发布时间】:2012-12-10 11:01:35 【问题描述】:

如何在 extjs 4.1.1 中编辑时禁用一行的特定单元格?我正在使用网格编辑器。我有一个网格,它有 2 列,名称和年龄。点击编辑时,我必须禁用姓名字段,用户只能编辑年龄。

【问题讨论】:

请尽快帮助我... 【参考方案1】:

如果您只能使用行编辑器进行编辑,则不要在列上指定编辑器配置。 如果您也可以添加,那么您可以尝试以下方法(我自己从未做过,但应该可以):

grid.on('beforeedit', function(editor, e, eOpts) 
     // if editing.. 
     this.down('column[dataIndex=name]').setEditor(null);
     // else
     this.down('column[dataIndex=name]').setEditor(/* editor config */);
, grid);

【讨论】:

【参考方案2】:

你可以用这个

grid.on('beforeedit', function(editor, e, eOpts) 
         // if editing.. 
         if(e.field == "name")
               e.cancel = true;  
          
    );

将 e.cancel 设置为 true 将禁用该字段的编辑。

【讨论】:

以上是关于使用行编辑器进行编辑时,如何在 extjs 4.1.1 中禁用行的特定单元格?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ExtJS 4.1 中禁用网格中的某些行

extjs 4.1 页面在行更新时滚动到 Internet Explorer 中的网格顶部

可编辑的网格 ExtJS,如何在网格上编辑行后更新数据库中的行

如何在 extjs3 网格中捕获最后一行编辑事件

使用extjs ,直接在grid上编辑后,如何将整个修改的数据行 传到后台并解析成datatable

获取选定行的 ExtJS4 可编辑网格返回空