2013-08-13 3 views
0

Я пробовал Интернет в течение недели, пытаясь понять, почему я не могу заставить простой rowexpander работать. Кажется, я пробовал практически все.Невозможно заставить RowExpander работать в Ext JS

Вот мой код:

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` 

пару вещей, чтобы отметить: -I не имеют веб-сервер (т.е. Tomcat) настроить с использованием версии -Я 4.1.1 -I» m, создавая этот вид, используя «xtype:« metadalist »в моем приложении.

Любые идеи будут очень благодарны, спасибо!

ответ

0

Загружен ли класс Ext.grid.plugin.RowExpanderView?

Не уверен, как подстановочные работать, но вы должны попытаться потребовать точный класс:

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

Edit: Кроме того, вы должны использовать pluginId вместо id для плагина.

+0

Я пробовал это, безрезультатно :( –

+0

Я предлагаю вам использовать отладчик Chrome или FF (нажмите F12> панель сценариев/источников). Убедитесь, что выполнение скриптов запутывается при ошибках. Затем вы можете найти отсутствующий класс в стоп-кадре Вы можете найти дополнительную информацию об отладке ExtJs здесь: http://www.sencha.com/learn/debugging-ext-js-applications –

Смежные вопросы