PDA

View Full Version : sorting bug extending GridPanel in 3.3.0



carstep
14 Oct 2010, 1:36 AM
Hi there,

I extended the gridPanel components as the following:


InterPont.Hitel.UgynokLejelentoGrid = function( config )
{
InterPont.Hitel.UgynokLejelentoGrid.superclass.constructor.call(this,config);
}

Ext.extend( InterPont.Hitel.UgynokLejelentoGrid, Ext.grid.GridPanel, {
initComponent: function()
{
var ds = new Ext.data.JsonStore({
url: 'return JSON string'
,storeId: 'stUgynokok'
,root: 'ugynokok'
,fields: [
{name: 'ID', type: 'string'}
,{name: 'Nev', type: 'string'}
,{name: 'Iroda', type: 'string'}
]
});
// var sm = new InterPont.ux.CtrlCheckboxSelectionModel();
var sm = new Ext.grid.RowSelectionModel({singleselect:false});
var columns = [
// sm,
{header: 'Ügynök neve', dataIndex: 'Nev', sortable: true, resizable: true}
,{header: 'Iroda', dataIndex: 'Iroda', sortable: true}
];
Ext.apply( this, {
store: ds
// ,cm: new Ext.grid.ColumnModel( columns )
,columns: columns
// ,sm: sm
});

InterPont.Hitel.UgynokLejelentoGrid.superclass.initComponent.apply(this,arguments);
}
});

using it the following way:


var grid = new InterPont.Hitel.UgynokLejelentoGrid({
id: 'gridUgynokLejelento',
bbar: [intezetek,{
text: 'Sz?rés'
,handler: this.filterByIntezetek
},'->',{
text: 'Generál'
,handler: this.generateExcel
,scope:this
},'|',{
text: 'PSZAF formátum'
,handler: this.generatePSZAF
,scope:this
}]
});


Ext.StoreMgr.get('stUgynokok').load();

Whatever I change or do the sorting doesn't work anymore. This is the simplest example I could cut off the code.
Does anybody know where to look further?

This code worked well in 3.2.x

r. Sandor

carstep
14 Oct 2010, 4:50 AM
I could find out that this only happens when the grid is in a Window ( or at least in an extended window )

r. Sandor

carstep
14 Oct 2010, 4:58 AM
further info I came across is, when I delete the cookies the functionality becomes active again until I refresh the site!

r. Sandor

carstep
14 Oct 2010, 5:12 AM
disabling statefullness on the Window object didn't solved the problem instead disabling it in the Grid did.

r. Sandor

plalx
14 Oct 2010, 5:22 AM
You should post in bugs if you think this is one.

By the way,





//This part of code is useless since you are not doing anything else than calling the parent constructor...
InterPont.Hitel.UgynokLejelentoGrid = function( config ) {
InterPont.Hitel.UgynokLejelentoGrid.superclass.constructor.call(this,config);
}

//Should be
InterPont.Hitel.UgynokLejelentoGrid = Ext.extend(Ext.grid.GridPanel, {
....
/*If you really need to override the constructor, you can do it here*/,
constructor: function(config) {
//Do some stuff
InterPont.Hitel.UgynokLejelentoGrid.superclass.constructor.call(this, config);
}
});

carstep
18 Oct 2010, 8:22 AM
thanks for the info scarsick, is there any inforamation about this? I couldn't find any hints in the 2.x to 3.x migration guide

r. Sandor

plalx
20 Oct 2010, 9:50 AM
Post a test case in bugs if you think it's one... ;)