在网格上实现beforeedit侦听器

时间:2014-09-29 15:33:06

标签: extjs extjs4

我正在尝试在我的表中实现 beforeedit 侦听器。我想在允许用户对单元格做某事之前做一些检查。

    Ext.define('myGrid', {
        extend: 'Ext.grid.Panel',

        listeners: {
          beforeedit: function (e) {
            alert('hi')
          },
        }

当我尝试编辑单元格时,不会调用此警告(..)。为什么这不会进入听众?如果我在网上看到有很多Ext.grid.Panel和beforeedit的例子。

无论如何,我试图用 Ext.grid.EditorGridPanel 进行扩展。

    Ext.define('myGrid', {
        extend: 'Ext.grid.EditorGridPanel',

        listeners: {
          beforeedit: function (e) {
            alert('hi')
          }
        }

现在我在典型的extjs时尚中出现了一个模糊的错误:

http://jsfiddle.net/S8Tgm/13/

我做错了什么?为什么要在普通网格上使用EditorGridPanel?是否像Excel一样属性?

编辑:是的。对不起,我忘了在'听众'中加入。问题仍然存在。

1 个答案:

答案 0 :(得分:1)

listeners: {
    beforeedit: function (e) {
        alert('hi')
    }
},
plugins: [
  Ext.create('Ext.grid.plugin.RowEditing', { //or even better - use ptype here
     clicksToEdit: 1
})],

http://jsfiddle.net/S8Tgm/12/ - 工作小提琴

你错过了一些事情:

网格没有' beforeedit'事件。您需要在网格Example is here

中添加编辑器

事件应放在"听众"对象

(使用stackoverflow标记遇到很大麻烦)