关于extjs:在网格上实现beforeedit监听器 | 珊瑚贝

Implementing beforeedit listener on a grid


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

1
2
3
4
5
6
7
8
    Ext.define(‘myGrid’, {
        extend: ‘Ext.grid.Panel’,

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

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

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

1
2
3
4
5
6
7
8
    Ext.define(‘myGrid’, {
        extend: ‘Ext.grid.EditorGridPanel’,

        listeners: {
          beforeedit: function (e) {
            alert(‘hi’)
          }
        }

现在我得到了一个典型的 extjs 方式的模糊错误:

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

我做错了什么?为什么要在普通网格上使用 EditorGridPanel?是否适用于类似 Excel 的属性?

编辑:是的。抱歉,我忘了在”听众”中添加 beforeedit。问题仍然存在。


1
2
3
4
5
6
7
8
9
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\\’ 事件。您需要在网格中添加一个编辑器示例在这里

事件应该放在”listeners”对象中

(在使用 stackoverflow 标记时遇到了大麻烦)

  • 如果没有 RowEditing 插件,有没有办法做到这一点?
  • 我有点错过了这里的重点..您可以改用 CellEditor。单击复选框时是否需要触发事件?没有实际的行编辑?这是网格上的 sencha 文档:http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.Panel – 检查”事件”下拉列表以查看所有可用的事件网格(没有任何插件)
  • 是的。如果没有一个,您就不能内联编辑网格记录;)
  • @РоманГуйван 你怎么能做到这一点?


来源:https://www.codenong.com/26103537/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?