我已经在互联网上搜索了一个星期,试图找出为什么我不能让一个简单的rowexpander工作。我相信我已经尝试了一切。
这是我的代码:
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''创建了这个视图非常感谢任何想法,谢谢!
答案 0 :(得分:0)
是否加载了Ext.grid.plugin.RowExpanderView
类?
不确定通配符的工作原理,但您应该尝试使用完全相同的类:
//...
requires: ['Ext.*', 'Ext.grid.plugin.RowExpanderView'],
//...
修改:此外,您应该使用pluginId
代替id
来插件。