extjs有状态网格删除排序

时间:2011-08-22 11:12:31

标签: gridview extjs stateful

我遇到状态网格问题。我不想保存排序状态,但我想保存所有其他选项(列位置,列宽,分组等)。

现在我已尝试使用stateEvents选项,但是当偶数触发时它会保存整个网格状态。

是否有任何选项可以排除排序状态?

网格配置的一部分:

this.gridPanel = new Ext.grid.GridPanel({
                id:'grid'+this.id,
                region:region,
                layout:'fit',
                stateful:true,
                stateEvents: ['columnmove', 'columnresize', 'groupchange', 'bodyresize'],
                loadMask:true,
                split:true,
                store: this.stores['root'+this.id],
                cm: this.getRootColumnModel(),
                sm: this.getRootSelectionModel(),

2 个答案:

答案 0 :(得分:4)

您可以简单地覆盖网格的applyState方法(并删除其中的sort状态):

this.gridPanel = new Ext.grid.GridPanel({
    // ...,
    // ...,
    applyState: function(state) {
        if (state) {
            var newState = Ext.apply({}, state);
            delete newState['sort'];
            Ext.apply(this, newState );
        }
    },
    // ...
});

答案 1 :(得分:2)

这不是我的解决方案,似乎来自Sencha支持团队,该示例有效。

https://fiddle.sencha.com/#fiddle/dlc

http://www.sencha.com/forum/showthread.php?294920