ExtJs 3.3 GridPanel pas la restauration des paramètres de colonne avec le fournisseur Buffering Http plus

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

Question

I mis à jour Ext 3.3 et tout à coup ma colonne de GridPanel " largeur " et " caché " paramètres ne sont pas restaurés plus, ils restent à leurs paramètres par défaut. J'utilise la version la plus récente de la Buffering Http Fournisseur . Je ne sais pas vraiment la raison de la faute, si elle est à cause de cette mise en œuvre du fournisseur d'État ou le mécanisme d'état de poste Sous-jacent.

« Enregistrement » les paramètres semble fonctionner correctement, le gestionnaire sera appelé et les paramètres seront stockés correctement à la base de données. Les paramètres sont également lus correctement à partir de la base de données à nouveau, et ma sortie au client contient les paramètres corrects.

Mon code (en partie généré par le serveur) n'a pas changé récemment, et il ressemble à ceci:

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

at-il eu changement important dans les mécanismes de l'Etat que je manqué? La documentation dit que je ne ai pas besoin de spécifier un stateid quand je mets un id pour un composant. Mais je vois qu'il ya maintenant un colonne objet dans la documentation de poste qui n'était pas là avant. Peut-être que ceux-ci besoin d'un id maintenant?

Les conseils et aide serait grandement appréciée.

Était-ce utile?

La solution

a obtenu la réponse dans un Ce forum , la question est en elle-même ExtJs 3.3. Cette dérogation fonctionne pour moi:

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

Mise à jour. Il est maintenant corrigé dans 3.3.1

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top