5

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

现在我已经用 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(),
4

2 回答 2

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 );
        }
    },
    // ...
});
于 2011-08-22T13:29:17.223 回答
2

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

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

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

于 2015-04-16T16:50:14.823 回答