使用多个实例时,不会保存网格状态

时间:2014-07-02 14:16:41

标签: extjs extjs4

如果我有一个以上的网格实例,我会遇到很多问题。一个问题是状态的节省(即分类,过滤器宽度等)不能正常工作。当我导航到同一网格的另一个实例时,将重置状态保存。但是,如果我只在一个网格的页面上,我可以点击刷新,并改变一切,一切都保存好。它就在我导航到具有我的网格的另一个实例的屏幕时。

是的,我为这两个实例设置了不同的 stateId ,我在应用程序开始时调用 Ext.state.Manager :< / p>

Ext.state.Manager.setProvider(Ext.create('Ext.state.CookieProvider'));

实例的创建如下所示:

this.packageGrid = Ext.create('js.grid.PackageGrid', {
    stateId: 'CompletePackageGrid', //for my other instance I obviously use a different string here
    width: 979,
    height: 400,

});

我的网格代码如下所示:

Ext.define('js.grid.PackageStore', {
    extend: 'Ext.data.JsonStore',
    model: 'js.model.Package',
    remoteFilter : false,
    remoteSort: false
});


var createColumns = function () {

    var columns = [{
        dataIndex: 'id',
        text: 'ID',
        width: 80,
        filter: {
            type: 'int'
        }
    }, {
        dataIndex: 'packageName',
        text: 'Name of Packet',
        width: 300,
        filter: {
            type: 'string'
        }
    }, {
    }];

    return columns;
};



Ext.define('js.grid.PackageGrid', {

    extend: 'Ext.grid.Panel',
    title: '',
    multiSelect: true,
    autoExpandColumn: 'name',
    loadMask: true,
    stateful: true, //*******STATEFUL!!!!

    filterable: true,

    initComponent : function (){

        this.columns = createColumns();

        this.initialConfig.columns = this.columns;

        this.store = new js.grid.PackageStore();

        this.plugins = {
            ptype: 'bufferedrenderer',
            trailingBufferZone: 20,  // Keep 20 rows rendered in the table behind scroll
            leadingBufferZone: 50   // Keep 50 rows rendered in the table ahead of scroll
        };

        this.viewConfig = {
            stripeRows: true,
            enableTextSelection: true
        };

        this.features = {
            ftype: 'filters',
            encode: false,
            local: true
        };

        this.callParent();
    }

});

我试图在我的 initComponent 方法中加入尽可能多的代码,因此共享对象的风险较小。

我的网格代码如何显示?有没有什么可以解释这个问题?

0 个答案:

没有答案