如何在ExtJS4中设置带有手风琴标题的动作列

如何在ExtJS4中设置带有手风琴标题的动作列,extjs,extjs4,Extjs,Extjs4,我有一个手风琴,上面显示一年中的月份。现在我想在手风琴标题的右侧添加一个pdf图标作为一个动作栏,它将打印一年中的所有记录。但是我做不到。谁能帮我一下吗。下面是我的代码: Ext.define('Ext4Example.view.attendence.Timeperiod', { extend: 'Ext.form.Panel', alias: 'widget.timeperiod', id: 'timeperiod', region: 'west', b

我有一个手风琴,上面显示一年中的月份。现在我想在手风琴标题的右侧添加一个pdf图标作为一个动作栏,它将打印一年中的所有记录。但是我做不到。谁能帮我一下吗。下面是我的代码:

Ext.define('Ext4Example.view.attendence.Timeperiod', {
    extend: 'Ext.form.Panel',
    alias: 'widget.timeperiod',
    id: 'timeperiod',
    region: 'west',
    border: true,
    width: 150,
    height: 396,
    split: true,
    layout: {
        // layout-specific configs go here
        type: 'accordion',
        titleCollapse: true,
        animate: true,
        activeOnTop: true,
        hideCollapseTool: true
    },
    initComponent: function () {
        var me = this;
        me.items = me.maccord();
        me.callParent(arguments);
    },
    mstore: function (year) {
        var data = [
            [1, year, 'January'],
            [2, year, 'February'],
            [3, year, 'March'],
            [4, year, 'April'],
            [5, year, 'May'],
            [6, year, 'June'],
            [7, year, 'July'],
            [8, year, 'August'],
            [9, year, 'September'],
            [10, year, 'October'],
            [11, year, 'November'],
            [12, year, 'December']
        ];
        var store = Ext.create('Ext.data.ArrayStore', {
            storeId: 'mstore',
            fields: [{
                name: 'id',
                type: 'int'
            }, {
                name: 'year',
                type: 'int'
            }, {
                name: 'month',
                type: 'string'
            }],
            data: data
        });
        return store;
    },
    mpanel: function (year) {
        var me = this,
            mpanel = new Ext.grid.Panel({
                border: false,
                viewConfig: {
                    stripeRows: true
                },
                hideHeaders: true,
                columns: [{
                    text: 'month',
                    dataIndex: 'month',
                    flex: 1]
                }],
            store: me.mstore(year),
            width: 150
            });
    return mpanel;
},
maccord: function () {
    var year = $ {
        (new Date()).format('yyyy')
    },
    limit = year - 5,
        me = this,
        maccord = [];
    for (year; year > limit; year--) {
        maccord.push({
            title: 'Year ' + year + {
                menuDisabled: true,
                sortable: false,
                xtype: 'actioncolumn',
                align: 'right',
                flex: 1,
                width: 22,
                items: [{
                    icon: "${resource(dir: 'images', file: 'PDF01001.png')}",
                    hide: true,
                    tooltip: 'Print Report of this Month?',
                    handler: function (grid, rowIndex, colIndex) {
                        alert('Printing');
                    }
                }]
            },
            ident: 'accordion-panel',
            items: me.mpanel(year)
        });
    }
    return maccord;
}
});

你想做的肯定是行不通的。就我所见,您试图通过将标题连接到标题,将网格添加到标题。 您可以为每个手风琴项目提供
标题
配置。在该标题中,您可以放置组件,但它们将显示在标题之前。 另一种方法是处理
afterrender
事件,然后向标题中添加一些内容


示例:

明确地说,你试图做的事情是行不通的。就我所见,您试图通过将标题连接到标题,将网格添加到标题。 您可以为每个手风琴项目提供
标题
配置。在该标题中,您可以放置组件,但它们将显示在标题之前。 另一种方法是处理
afterrender
事件,然后向标题中添加一些内容


示例:

你能在创建一个样本吗?我从来没有这样做过。但是,在ExtJS4.1中,是否可以在手风琴标题旁边设置一个动作列?您可以在创建一个示例吗?我从来没有这样做过。但是,在ExtJS4.1中,是否可以在手风琴标题旁边设置一个动作栏?非常感谢。这正是我想要的。现在我将编辑这个来完成我的工作。正在寻求您的进一步帮助。再见,非常感谢你。这正是我想要的。现在我将编辑这个来完成我的工作。正在寻求您的进一步帮助。再见