単純な行エキスパンダーを動作させることができない理由を突き止めようと、1 週間インターネットを精査してきました。私はほぼすべてを試したと思います。
これが私のコードです:
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' 」を使用してこのビューを作成しています
どんなアイデアでも大歓迎です、ありがとう!