English 中文(简体)
ExtJs 3.3 GridPanel not restoring column settings with the Buffering Http Provider anymore
原标题:

I updated to Ext 3.3 and suddenly my GridPanel s column "width" and "hidden" settings are not restored anymore, they remain at their default settings. I use the most recent version of the Buffering Http Provider. I don t really know the reason of the fault, if it s because of this State Provider implementation or the underyling state mechanism of Ext.

"Saving" the settings seems to work correctly, the handler will be called and the settings will be stored correctly to the database. The settings are also being read correctly from the database again, and my output to the client contains the correct settings.

My (partly server-generated) code hasn t changed recently, and it looks something like this:

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

Did anything important change in the state mechanisms that I missed? The documentation says I don t need to specify a stateId when I set an id for a component. But I see that there is now a Column object in the Ext documentation that wasn t there before. Maybe these need an id now?

Any hints and help would be greatly appreciated.

最佳回答

Got the answer in a forum post, the issue is in ExtJs 3.3 itself. This override works for me:

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

Update: It s fixed now in 3.3.1.

问题回答

暂无回答




相关问题
ExtJS load form items/fields from database

I am using ExtJS 3 here. I would like to populate a formpanel from database with fields to be submitted. Basically, I don t know witch fields my form will have and I want to generate all formpanel ...

How to use Ext JS for role based application

I am planning to use Ext JS for a large application. The application s features are role based. When user login, they only see menu and screen features related to them. My server side technology will ...

Dynamically adding a TabPanel to a Panel Region

I have a Panel layout with a TreePanel in one region. A user clicks on an node in the tree and a TabPanel should be displayed in another region with information, editing tools etc. for that tree node....

How to embed Json result within Extjs Panel?

I have some issues with Json result and embed it within the html of the Extjs Panel. Here s that I have managed to get so far. myPanel is embedded within a mainPanel, and I have some shows/hide of ...

Ajax data update. Extjs

I need to keep certain data ( in a grid) up to date and was gonna do a poll to the server every 15 seocnds or so to get the data and refresh the grid, however it feels a bit dirty ( the grid will have ...

Better way to call superclass method in ExtJS

All the ExtJS documentation and examples I have read suggest calling superclass methods like this: MyApp.MyPanel = Ext.extend(Ext.Panel, { initComponent: function() { // do something MyPanel ...

Merged Headers in Ext JS Grid

Is it possible to have two headers in Ext JS grids? I have to show my grid as grouped data.. for example product types and products. In my case I need a grid like this: Field | Product Type A ...

热门标签