ExtJs 3.3 GridPanel no restaurar la configuración de columna con el proveedor de almacenamiento en búfer más Http

StackOverflow https://stackoverflow.com/questions/4148173

Pregunta

He actualizado a 3.3 Ext y de repente mi columna de GridPanel " anchura " y " oculta " configuración no es restaurado más, que permanezcan en su configuración por defecto. Yo uso la versión más reciente del búfer Http Proveedor . Realmente no sé la razón de la falla, si es porque de esta aplicación Proveedor de Estado o el mecanismo de estado underyling Ext.

"ahorro" la configuración parece funcionar correctamente, se llama al controlador y la configuración se almacenará correctamente a la base de datos. Los ajustes también se leen correctamente desde la base de datos de nuevo, y mi salida al cliente contiene la configuración correcta.

Mi (parte del servidor-generado) código no ha cambiado recientemente, y se ve algo como esto:

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, ... });

¿Hubo algo importante cambio en los mecanismos estatales que me perdí? La documentación dice que no necesito especificar un IdentificadorEstado cuando me puse un id para un componente. Pero veo que ahora hay un columna en la documentación objeto Ext que no existía antes. Tal vez estos necesidad de un id ahora?

Alguna pista y ayuda sería muy apreciada.

¿Fue útil?

Solución

Tienes la respuesta en un mensaje en el foro, el problema está en ExtJs 3.3 en sí. Esta anulación funciona para mí:

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

Actualización:. Se fija ahora en 3.3.1

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top