Just comment on the livedocs and it will get dealt with.
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of Jurgen Beck
Sent: Monday, May 21, 2007 2:05 PM
To: flexcoders@yahoogroups.com
Subject: Re: {Disarmed} RE: {Disarmed} [flexcoders]
ListCollectionView.addItemAt Bug?
Hey Matt,
The Flex reference will definitely need to be updated then. Should I
create a report, or are you passing it along to the right person/team?
Jurgen
Matt Chotin wrote:
The docs are wrong if that's what it says. Only
addItemAt(length()) will allow it to grow.
From: flexcoders@yahoogroups.com
[mailto:[EMAIL PROTECTED] On Behalf Of Jurgen Beck
Sent: Monday, May 21, 2007 1:38 PM
To: flexcoders@yahoogroups.com
Subject: Re: {Disarmed} [flexcoders]
ListCollectionView.addItemAt Bug?
Well, it looks like either the documentation is wrong, or the
code. The ListCollectionView class has the following method defined:
public function addItemAt(item:Object, index:int):void
{
if (index 0 || !list || index length)
throw new
RangeError(StringUtil.substitute(resourceOutOfBounds, index));
var listIndex:int = index;
//if we're sorted addItemAt is meaningless, just add to
the end
if (localIndex sort)
{
listIndex = list.length;
}
list.addItemAt(item, listIndex);
}
Makes it very clear that the list isn't grown when the index
exceeds the length of the list. :-)
Anyone concur? If so, I'll submit a report to Adobe.
Jurgen
Jurgen Beck wrote:
It seems that there is a problem with the
ListCollectionView class when
using it with an ArrayCollection. Using the addItemAt
method produces an
index out of bounds error when an item is added with an
index that is
beyond the length of the collection.
However, the Flex Reference states that:
If the list is shorter than the specified index, it
will grow to
accommodate the new item.
Is this a confirmed bug, or am I overlooking something?
Here is some test code to check it out:
?xml version=1.0 encoding=utf-8?
mx:Application xmlns:mx=http://www.adobe.com/2006/mxml
http://www.adobe.com/2006/mxml
creationComplete=initApp()
layout=vertical
mx:Script
![CDATA[
import mx.collections.ArrayCollection;
private var collection:ArrayCollection = new
ArrayCollection();
private function initApp():void {
var newObject:Object = new Object();
newObject.test1 = test1;
newObject.test2 = test2;
collection.addItem(newObject);
newObject = new Object();
newObject.test1 = test3;
newObject.test2 = test4;
collection.addItemAt(newObject, 3);
}
]]
/mx:Script
/mx:Application
Anyone run into this too?
Jurgen