0

我已经在互联网上搜索了一个星期,试图弄清楚为什么我不能让一个简单的行扩展器工作。我相信我已经尝试了几乎所有的东西。

这是我的代码:

Ext.define('AM.view.metadata.List' ,{
    extend: 'Ext.grid.Panel',
    alias: 'widget.metadatalist',
    title: '<center>Results</center>',
    store: 'Metadata', 
    requires: ['Ext.*'],
    collapsible: true,
    dockedItems: [{
        xtype: 'toolbar',
        dock: 'bottom',
        items: [
            { xtype: 'tbtext',  text: 'Loading...', itemId: 'recordNumberItem'  },
            '->',
            { text: 'Print', itemId: 'print' },
            '-',
            { text: 'Export', itemId: 'export' }
        ]
    }],
    initComponent: function() {
        this.columns = [
            {header: 'Technical Name',  dataIndex: 'TECH_NAME', flex: 4, tdCls: 'grid_cell'},
            {header: 'Privacy', dataIndex: 'PRIVACY_INDICATOR', flex: 3, tdCls: 'grid_cell'}
        ];

        this.callParent(arguments); //Calls the parent method of the current method in order to override 

        var store = this.getStore(); //Retrieving number of records returned
            textItem = this.down('#recordNumberItem');
            textItem.setText('Number of records: ' + store.getCount());

            var val = Ext.getCmp('criteria_1_input').getValue();
            store.filter('KBE_ID', val); 

    },

    plugins: [{
        ptype: 'rowexpander',
        id: 'rowexpangder',
            rowBodyTpl : [
                '<p>Name <b>{KBE_ID}</b></p>'
            ]
       }]
});

在 Firefox(使用 Firebug)中,当我尝试将插件放到网格上时,我的整个应用程序都会中断。在 IE9 中,它告诉我:

`SCRIPT5007: Unable to get value of the property 'substring': object is null or undefined` 

需要注意的几件事:-我没有设置 Web 服务器(即 Tomcat)-我使用的是 4.1.1 版-我在我的 app.js 中使用“xtype: 'metadalist'”创建此视图

任何想法将不胜感激,谢谢!

4

1 回答 1

0

Ext.grid.plugin.RowExpanderView类加载了吗?

不确定通配符是如何工作的,但您应该尝试要求确切的类:

//...    
requires: ['Ext.*', 'Ext.grid.plugin.RowExpanderView'],
//...

编辑:另外,您应该使用pluginId而不是id插件。

于 2013-08-13T18:51:26.257 回答