Я обновил до Ext 3.3, и внезапно настройки моего столбца GridPanel " width " и " hidden " больше не восстанавливаются, они остаются с настройками по умолчанию. Я использую самую последнюю версию Буферизирующего провайдера Http . Я действительно не знаю причину ошибки, если это из-за реализации этого 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 сейчас?
Любые советы и помощь будут с благодарностью.