-
6 Mar 2012 6:58 AM #21
-
9 Aug 2012 7:51 AM #22
-
2 Oct 2012 7:20 AM #23
Still there in 4.1.1...
The issue is that sometimes records[i] is outside of the bounds of the collection.
here
It can be fixed withCode:ns[i].viewRecordId = records[i].internalId;
It is a problem with ItemSelector. Just try to update a store for an ItemSelector then the index records[i] is out of bounds.Code:endIndex = endIndex || ((endIndex === 0) ? 0 : (ns.length < records.length?(ns.length - 1):records.length-1) );
-
31 Oct 2012 1:26 PM #24
I had to use the override that mkkhailt suggested in order to be able to load a node. I am using EXT JS 4.1.3 which I believe is the latest as of today.
One clue may be that if didn't seem to happen for nodes that were not that deep. Nodes that were 2 levels done could be loaded fine without the override. Nodes 5 levels down could not. I didn't test what happens for nodes 3 or 4 levels down because my tree isn't setup that.
-
5 Dec 2012 3:12 AM #25
Hi,
Just keeping this post alive, as I'm still experiencing this problem in 4.1.1a:
http://jsfiddle.net/beB7N/
Open the A node, then open the B node.
The console output is:
Uncaught TypeError: Cannot read property 'internalId' of undefined
The error occurs in Ext.view.AbstractView.updateIndexes()
Thanks
Mike
-
5 Dec 2012 4:40 AM #26
The id's in the tree need to be unique, that's why you're seeing the error.
Evan Trimboli
Sencha Developer
Twitter - @evantrimboli
Don't be afraid of the source code!
-
5 Dec 2012 5:46 AM #27
Thanks, you're right, it's not a bug
-
23 Jan 2013 5:36 AM #28
In my case the problem is caused by some of the suspended store events.
I had the following code:
My store was a local filtered store so I couldn't use store.removeAll() and also the events happening with respect to the removal of a record were too costly. So I suspended the store events, did what I had to do (later changed this to store.remove(store.getRange())), and resumed the store events. After that, I thought firing the datachanged event of the store and refreshing the grid view was enough in order to make things right.Code:store.suspendEvents(); while (store.getCount() > 0) { store.remove(store.last()); } store.resumeEvents(); store.fireEvent("datachanged", store); grid.getView().refresh();
It seems it's not. Because as seen below, Ext.view.AbstractView does not listen to the datachanged event of its store.
Because of my interference with store events, the grid view does not get informed with the record changes, and updateIndexes method fails weirdly.Code:getStoreListeners: function() { var me = this; return { refresh: me.onDataRefresh, add: me.onAdd, remove: me.onRemove, update: me.onUpdate, clear: me.refresh }; }
I think AbstractView should also listen to the datachanged event of the store.
Wait! Looks like we don't have enough information to add this to bug database. Please follow this template bug format.
Similar Threads
-
[2.0??][DUP][SOLVED] DataView bug in updateIndexes()
By Egor in forum Ext 2.x: BugsReplies: 2Last Post: 26 Nov 2007, 5:40 PM -
[2.0rc1][SOLVED][DUP] Ext.DataView, refreshNode, updateIndexes
By christocracy in forum Ext 2.x: BugsReplies: 3Last Post: 17 Nov 2007, 9:27 AM



Reply With Quote
great guy!