ExtJs 3.3 GridPanel больше не восстанавливает настройки столбца с помощью буферизующего Http-провайдера

Я обновился до 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?

Любые подсказки и помощь будут с благодарностью.


person herzmeister    schedule 10.11.2010    source источник


Ответы (1)


Ответ получен в сообщении на форуме, проблема в самом ExtJs 3.3. Это переопределение работает для меня:

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

Обновление: теперь это исправлено в 3.3.1.

person herzmeister    schedule 10.11.2010
comment
Как раз то, что мне было нужно. Очень ценится ответ на ваш вопрос! - person Josh Johnson; 10.12.2010