PDA

View Full Version : GroupingStore error in IE - Object doesn't support this property or method



kiranpatil
30 Nov 2009, 3:57 AM
Hi,

I am using GroupingStore as defined follows, which works fine with firefox however gives an error with IE 8 as Line: 30113 Error: Object doesn't support this property or method using ext-all-debug.js.

Line: 30113: this.reader.onMetaChange = this.onMetaChange.createDelegate(this);

Code goes here:



ds = new Ext.data.GroupingStore({
proxy: new Ext.data.HttpProxy({
url: 'index.php',
directory: '<? echo $defaultaccount ?>:INBOX',
method: 'GET',
params:{start:0, limit:50,sendWhat:this.sendWhat,
dir: this.directory, action:'getdircontents' }
}),
directory: '<? echo $defaultaccount ?>:INBOX',
sendWhat: 'emails',
rech: '',
rechWhat: 'SUBJECT',
sortInfo:{field: 'jour', direction: "DESC"},
groupBy:'jour',
groupField:'jour',
//groupOnSort:true,
reader: new Ext.data.JsonReader({
root: 'items',
totalProperty: 'totalCount'
},
Ext.data.Record.create([
{name: 'name'},
{name: 'idf'},
{name: 'attachement'},
{name: 'sender'},
{name: 'dist'},
{name: 'is_seen'},
{name: 'is_copy'},
{name: 'flagged'},
{name: 'size'},
{name: 'priority'},
{name: 'date'},
{name: 'jour'},
{name: 'status'},
{name: 'Type'}

])),
// turn on remote sorting
remoteGroup:true,
remoteSort: true
});
*/

ds.paramNames['dir'] = 'direction';
ds.paramNames['sort'] = 'order';
Ext.Ajax.timeout = 500000;
ds.on('beforeload', function(ds, options) {
options.params.dir = options.params.dir ? options.params.dir : ds.directory;
options.params.sendWhat = options.params.sendWhat ? options.params.sendWhat : ds.sendWhat;
options.params.limit = options.params.limit ? options.params.limit : 50;
options.params.start = options.params.start ? options.params.start : 0;
options.params.rech = options.params.rech ? options.params.rech : ds.rech;
options.params.rechWhat = options.params.rechWhat ? options.params.rechWhat : ds.rechWhat;
options.params.action = 'getemails';
}
);

ds.on('load',function(ds){
preview.clear();
updateColumns(ds.directory,grid.getView().showPreview);
}
);
Please help.

mw-flow
3 Feb 2010, 10:09 AM
I've got the same problem when i try to instanciate a very simple JsonStore:



var combostore = new Ext.data.JsonStore({
autoDestroy: true,
url: 'cgi-bin/blabla.pl',
totalProperty: 'totalCount',
root: 'searchResults',
idProperty: 'nodeId',
fields: [
{name:'tplNodeText', mapping: 'nodeText'},
{name:'tplNodeDescription', mapping:'nodeDescription'},
{name:'bgClass', mapping:'bgClass'}
]
});
Strangely enough, the problem persists until i remove every single line of config options... Does our code have something strange in common? BTW: Using 3.0 or 3.1... doesn't make a difference.

mw-flow
4 Feb 2010, 1:45 AM
Very very strange...

To check the irrational I moved the instanciation of the store to some other places within my code. I discovered that if I moved it to the very beginning of my initApplication function (according to http://extjs.com/learn/Tutorial:Application_Layout_for_Beginners) it worked. I began moving it down until it didn't work any longer. And... tadaaaa... after moving it below

Ext.QuickTips.init();
it no longer worked. So after removing that line it all worked as desired...

By the way: If I don't instaciate the store the code continues to work until the instaciation of an Ext.Window element where the call to this.addTool within the initTools function of the Window class fails for a similarly irrational cause. WTF?

conorarmstrong
25 Mar 2011, 8:57 AM
I've only ever seen this error once caused by an extending component not calling the correct superclass in it's initComponent method - happened to me through careless Cut & Paste. Not sure if this is similar to you. Error was to an undefined initTools method in the Window class ???