网格创建上下文菜单

网格创建上下文菜单

本文介绍了我如何为 extjs 网格创建上下文菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以为树创建上下文菜单并附加到上下文菜单"事件.代码:

I can create context menu for tree and attach to 'contextmenu' event.Code:

contextMenu = new Ext.menu.Menu({
  items: [{
    text: 'Edit',
    iconCls: 'edit',
    handler: edit
  },...]
})

Ext.getCmp('tree-panel').on('contextmenu', function(node) {
  contextMenu.show(node.ui.getAnchor());
})

但是如何为网格元素创建上下文菜单?

But how I can create context menu for grid elements?

推荐答案

首先定义上下文菜单

mnuContext = new Ext.menu.Menu({
    items: [{
        id: 'do-something',
        text: 'Do something'
    }],
    listeners: {
        itemclick: function(item) {
            switch (item.id) {
                case 'do-something':
                    break;
            }
        }
    }
});

然后为所需的事件创建一个监听器.记住停止事件的默认行为非常重要,这样您就可以将其替换为您自己的行为.如果你不调用 event.stopEvent() 方法来阻止事件冒泡,那么无论你做什么,浏览器的默认上下文菜单都会出现.

rowcontextmenu: function(grid, index, event){
     event.stopEvent();
     mnuContext.showAt(event.xy);
}

这篇关于我如何为 extjs 网格创建上下文菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 18:47