ExtJS 4 PagingToolbar выбрасывает ошибки dom при последующих загрузках страницы - PullRequest
0 голосов
/ 09 марта 2012

Я довольно плохо знаком с 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();
    },

1 Ответ

0 голосов
/ 09 марта 2012

у вас есть дополнительная запятая, которая может мешать:

displayInfo: false,

также, как вы управляете окном?

...