EXT-JS 4.1:在没有默认菜单的情况下将自定义菜单添加到网格列标题

时间:2013-11-17 08:45:53

标签: extjs grid extjs4.1

我想将自定义菜单项添加到网格列标题 - 我可以这样做,但显然它只有在自定义菜单可用时才可用。但如果我不希望我的列可以排序或隐藏,则不会显示自定义菜单。 我创建自定义菜单的方式如下:

    var menu = Ext.getCmp('pairsGrid').headerCt.getMenu();
    var customEls = menu.add([{
        xtype: 'menu',
        floating: false,
        items:[
            {
                text: 'Management',
                iconCls: 'edit',
                menu: {
                    xtype: "menu",
                    items: [
                        {
                            text: 'Start'
                        },{
                            text: 'Stop'
                        }
                    ]
                }                   
            }
        ]
    }]);

如果在我的专栏配置中我有sortable: falsehideable: false我的自定义菜单将不会显示;否则,就在那里。 是否还有其他方法来创建菜单,或者在没有默认菜单的情况下以某种方式显示它? 干杯, 埃雷兹

1 个答案:

答案 0 :(得分:0)

您可以通过覆盖列上的beforeRender方法强制显示菜单:

{
    text     : 'xxx',
    sortable : false,
    hideable : false,
    dataIndex: 'xxx',
    beforeRender: function() {
        Ext.grid.column.Column.prototype.beforeRender.call(this);
        this.menuDisabled = false;
    }
},

示例:http://jsfiddle.net/sg9w7/1/