Я обновился до Ext 3.3, и неожиданно настройки столбца GridPanel «width» и «hidden» больше не восстанавливаются, они остаются с настройками по умолчанию. Я использую самую последнюю версию 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, ... });
Изменилось ли что-то важное в государственных механизмах, что я пропустил? В документации сказано, что мне не нужно указывать stateId, когда я устанавливаю id для компонента. Но я вижу, что в документации Ext теперь есть объект Column, которого раньше не было. Может быть, сейчас им нужен id?
Любые подсказки и помощь будут с благодарностью.