Я довольно плохо знаком с ExtJS, но смог заставить GridPanel работать со связанной панелью инструментов подкачки. Все работает нормально, пока я не закрою всплывающее окно и не открою еще одно. При последующих загрузках окна я получаю ошибку «me.dom is undefined». Если я удаляю панель инструментов подкачки, все работает нормально. Я использую версию 4.0.7.
Заранее спасибо.
Определение магазина:
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();
},