Oops. I used grid.selectedItems[x] instead of
grid.selectedItems[idx]. I don't know why "x" exists.

So the conclusion is: Overwriting selectedItems works. Pushing 
elements onto selectedItems does not.


--- In [email protected], "whatabrain" <[EMAIL PROTECTED]> wrote:
>
> I tried your suggestion (using selectedItems, since selectedIndices 
> is all but meaningless in a tree-view AdvancedDataGrid). Now the 
> problem is even stranger. I add a bunch of items from the 
> dataProvider into a new array. Then I assign the array to 
> selectedItems. By the next line of code, selectedItems is down to 
> just the clicked item, and the first item that was programmatically 
> selected.
> 
> 
> // On click of a top-level item:
> private function onGridClick(event:ListEvent):void
> {
> ...
> var items:Array = new Array();
> 
> // Preserve currently clicked items
> for (var idx:int=0; idx<grid.selectedItems.length; idx++)
> items.push(grid.selectedItems[x]);
> 
> // Add all of the clicked item's children to the list
> var children:ArrayCollection = gridData[clickedItemIdx].children;
> for (idx=0; idx<children.length; idx++)
> {
> items.push(children[x]);
> }
> 
> // Overwrite selectedItems
> grid.selectedItems = items;
> 
> // BUG: At this point, both "grid.selectedItems" and "items" 
contain 
> // only two elements: the clicked item, and the first of the item's 
> // children.
> 
> }
> 
> 
> 
> --- In [email protected], "fourctv" <fourctv@> wrote:
> >
> > adg.selectedItems and adg.selectedIndices are arrays.
> > 
> > selectedItems is an array of objects from adg's dataProvider taht 
> are currently selected, 
> > and it is a read/write property.
> > selectedINdices otoh is an array of ints with indices for those 
> same objects in 
> > selectedItems.
> > 
> > so, to make it simple, if you want to select rows 2,4,6 you'd do 
> something like:
> > var mySelection:Array = [2,4,6];
> > adg.selectedINdices = mySelection;
> > 
> > hth
> > julio
> > 
> > --- In [email protected], "whatabrain" <junk1@> wrote:
> > >
> > > Sorry. I missed a detail... I tried to do:
> > >   grid.selectedItems.push(o).
> > > It did not cause the item to be selected.
> > > 
> > > 
> > > --- In [email protected], "fourctv" <fourctv@> wrote:
> > > >
> > > > You have 2 options, set either adg.selectedItems or 
> > > adg.selectedIndices.
> > > > 
> > > > --- In [email protected], "whatabrain" <junk1@> 
wrote:
> > > > >
> > > > > Another old question, I'm sure, but I can't find an answer 
> > > anywhere on 
> > > > > the web.
> > > > > 
> > > > > How do I cause a row to be selected in an AdvancedDataGrid? 
> > > Basically, 
> > > > > when a top-level element is clicked, I want all of its 
child 
> > > elements 
> > > > > to be selected.
> > > > >
> > > >
> > >
> >
>


Reply via email to