ExtJs 3.3 GridPanel不再使用缓冲Http提供程序恢复列设置

ExtJs 3.3 GridPanel不再使用缓冲Http提供程序恢复列设置,extjs,state-management,gridpanel,Extjs,State Management,Gridpanel,我更新到Ext3.3,突然我的GridPanel的列“宽度”和“隐藏”设置不再恢复,它们保持默认设置。我使用的是最新版本的。我真的不知道故障的原因,如果是因为这个状态提供程序实现或Ext的underyling状态机制 “保存”设置似乎工作正常,将调用处理程序,并将设置正确存储到数据库中。设置也将再次从数据库中正确读取,并且我对客户端的输出包含正确的设置 我的(部分由服务器生成的)代码最近没有更改,看起来是这样的: var someState = [{"name":"someGridPanel",

我更新到Ext3.3,突然我的GridPanel的列“宽度”和“隐藏”设置不再恢复,它们保持默认设置。我使用的是最新版本的。我真的不知道故障的原因,如果是因为这个状态提供程序实现或Ext的underyling状态机制

“保存”设置似乎工作正常,将调用处理程序,并将设置正确存储到数据库中。设置也将再次从数据库中正确读取,并且我对客户端的输出包含正确的设置

我的(部分由服务器生成的)代码最近没有更改,看起来是这样的:

var someState = [{"name":"someGridPanel","value":"o%3Acolumns%3Da%253Ao%25253Aid%25253Ds%2525253ADate%25255Ewidth%25253Dn%2525253A80%255Eo%25253Aid%25253Ds%2525253AMailSender%25255Ewidth%25253Dn%2525253A100%25255Ehidden%25253Db%2525253A1%255Eo%25253Aid%25253Ds%2525253ASubject%25255Ewidth%25253Dn%2525253A286%255Eo%25253Aid%25253Ds%2525253A ... "} ...];

Ext.state.Manager.setProvider(new Ext.ux.state.HttpProvider({saveUrl: 'someHandler.ashx'}));
Ext.state.Manager.getProvider().initState(someState);

// later...

var someGridPanel = new Ext.grid.GridPanel({"id":"someGridPanel","colModel":someColumnModel, ... });
我错过的国家机制有什么重要变化吗?文档中说,当我为组件设置id时,我不需要指定stateId。但是我看到Ext文档中现在有一个以前没有的对象。也许现在这些需要一个id

任何提示和帮助都将不胜感激。

在a中得到了答案,问题在ExtJS3.3中。此覆盖适用于我:

Ext.override(Ext.grid.ColumnModel, {
    setState: function (col, state) {
        Ext.apply(this.lookup[col], state);
    }
});


更新:在3.3.1中已修复。

正是我所需要的。非常感谢您的提问!