Gridview ExtJS 4网格标题中未显示子菜单项

Gridview ExtJS 4网格标题中未显示子菜单项,gridview,extjs,extjs4,submenu,Gridview,Extjs,Extjs4,Submenu,我正在尝试创建一个在网格标题中包含一些子菜单的菜单,但是现在显示了子菜单项。下面是我如何在Ext.grid.header.Container中重写getColumnMenu(): Ext.override(Ext.grid.header.Container{ /** *返回与已配置为可隐藏的传递容器的所有直接子级相对应的菜单检查项数组。 */ getColumnMenu:函数(headerContainer){ //调试器 var xmenu=新的Ext.menu.menu({ 风格:{ 溢出:

我正在尝试创建一个在网格标题中包含一些子菜单的菜单,但是现在显示了子菜单项。下面是我如何在
Ext.grid.header.Container
中重写
getColumnMenu()

Ext.override(Ext.grid.header.Container{
/**
*返回与已配置为可隐藏的传递容器的所有直接子级相对应的菜单检查项数组。
*/
getColumnMenu:函数(headerContainer){
//调试器
var xmenu=新的Ext.menu.menu({
风格:{
溢出:“可见”
},
项目:[{
正文:“第1类”,
菜单:[{
正文:“第1.1项”,
核对:对,
checkHandler:this.onColumnCheckChange
}, {
正文:“第1.2项”,
勾选:假,
checkHandler:this.onColumnCheckChange
}]
}, {
正文:“第2类”,
菜单:[{
正文:“第2.1项”,
核对:对,
checkHandler:this.onColumnCheckChange
}, {
正文:“第2.1项”,
勾选:假,
checkHandler:this.onColumnCheckChange
}]
}]
});
var检验=[];
xmenu.items.each(功能(项){
试验.推(项);
});
回归试验;
}
});
类别1和类别2的菜单如下所示:

但当我试图显示它们的子菜单时,我收到一个错误:


菜单
parentMenu
属性未定义。有什么建议吗?

老实说,我不太清楚你的代码为什么不起作用。我只是试着组织菜单和菜单项的创建,结果成功了。我使用了以下代码

getColumnMenu: function(headerContainer) {
    var menuItems = [];

        /* CATEGORY 1 */
        var itemsOneMenu = Ext.create('Ext.menu.Menu', {
            items: [{
                text: 'Item 1.1',
                checked: true,
                checkHandler: this.onColumnCheckChange
            },{
                text: 'Item 1.2',
                checked: false,
                checkHandler: this.onColumnCheckChange
            }]
        });

         categoryOneMenuItem = Ext.create('Ext.menu.Item', {
            text: 'Category 1',
            hideOnClick: false,
            menu: itemsOneMenu
        });

        /* CATEGORY 2 */
        var itemsTwoMenu = Ext.create('Ext.menu.Menu', {
            items: [{
                text: 'Item 2.1',
                checked: true,
                checkHandler: this.onColumnCheckChange
            },{
                text: 'Item 2.1',
                checked: false,
                checkHandler: this.onColumnCheckChange
            }]
        });

        categoryTwoMenuItem = Ext.create('Ext.menu.Item', {
            text: 'Category 2',
            hideOnClick: false,
            menu: itemsTwoMenu
        });

    menuItems.push(categoryOneMenuItem,categoryTwoMenuItem);
    return menuItems;
}

在这里,您可以找到一个运行示例。唯一的观察结果是,EXT将继续侦听CheckItemcheckchange事件,以显示或隐藏所选列。

在尝试查看子菜单(位于工具栏的菜单中)时,我也会遇到同样的错误。我试着组织菜单和菜单项的创建,但没有帮助。