我更新到 Ext 3.3,突然我的 GridPanel 的列“宽度”和“隐藏”设置不再恢复,它们保持默认设置。我使用最新版本的Buffering Http Provider。我真的不知道故障的原因,是因为这个 State Provider 实现还是因为 Ext.
“保存”设置似乎正常工作,将调用处理程序并将设置正确存储到数据库中。这些设置也再次从数据库中正确读取,并且我到客户端的输出包含正确的设置。
我的(部分服务器生成的)代码最近没有改变,它看起来像这样:
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 文档中现在有一个以前不存在的Column对象。也许这些现在需要一个ID?
任何提示和帮助将不胜感激。