2012-03-08 4 views
0

Я довольно новичок в ExtJS, но смог получить GridPanel, работающий с связанной панелью поискового вызова. Все работает нормально, пока я не закрою всплывающее окно и не открою другое. На последующих загрузках окна я получаю сообщение «me.dom is undefined». Если я удалю панель инструментов пейджинга, все будет хорошо. Я использую версию 4.0.7.ExtJS 4 PagingToolbar бросает ошибки dom при последующих загрузках страниц

Заранее спасибо.

определение магазина:

Ext.define('VIMS.store.TOs',{ 
    extend:'Ext.data.Store', 
    model:'VIMS.model.TO', 
    requires: 'VIMS.model.TO', 
    sorter:{property:'StartDate', direction:'DESC'}, 
    buffered: true, 
    pageSize: 10, 

    listeners:{ 
    beforeload: function(store,options) { 
     if(options.params && options.params.id){ 
      store.getProxy().extraParams.id = options.params.id; 
     } 
    }, 
}, 
}); 

определение GridPanel:

Ext.define('VIMS.view.TaskOrderList' ,{ 
    extend: 'Ext.grid.Panel', 
    alias : 'widget.taskorderlist', 
    title : 'Task Orders', 
    store: 'TOs', 
    requires:'Ext.toolbar.Paging', 
    height:'100%', 
    columnLines:true, 
/* removed this code --------------------------------------- 
    dockedItems :[{ 
       xtype: 'pagingtoolbar', 
       store: 'TOs', // same store GridPanel is using 
       pageSize:10, 
       dock: 'bottom', 
       displayInfo: false,}], 
-------------------------------------------- */    
initComponent: function() { 

    this.columns = [ 

     {header: 'Description', dataIndex: 'Description', flex: 1}, 
     . . . 
     {header: 'Id', dataIndex: 'TaskOrderId', hidden:true}, 
    ]; 

    // added from here --------------------------------- 
     var PagingBar = new Ext.PagingToolbar({ 
     pageSize: 10, 
     store: 'TOs', 
     displayInfo: true, 

     }); 
     this.bbar = PagingBar; 

    // to here --------------------------------------- 

    this.callParent(arguments); 
} 

}); 

Чтобы открыть окно, из моего контроллера я использую следующее:

var view = Ext.widget('contractedit'); 
    view.modal = true; 
    view.down('form').loadRecord(record); 

Тесное обрабатывается с помощью следующие:

closeMe: function(button) { 
     var win = button.up('window'); 
     win.close(); 
    }, 

ответ

0

у вас есть дополнительная Запятая, что возможно получить в пути:

displayInfo: false, 

также как г у управляющего окном?

+0

Dmitry, Снятие конечной запятой не изменило поведения. Я управляю окнами с помощью контроллера. Я добавил код выше с контроллера, показывающий, как я открываю и закрываю окно. – scoDubblT

+0

поэтому окно содержит форму, а не сетку, правильно? Итак, существует ли связь между окном и сеткой? – dbrin

+0

Да, окно содержит форму, содержащую панель вкладок, которая содержит несколько сеток, каждая из которых содержит панели инструментов поискового вызова. Если я удаляю панели инструментов пейджинга из сеток, все работает нормально (за исключением пейджинга, конечно). – scoDubblT

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