Scott and Jonese:
I am currently trying to deal with the same issue. I was
actually ALMOST there, but I think I have discovered a bug in Flex.
So the problem: Keeping the AdvancedDataGrid nodes that were already
expanded, open after a filter and refresh (specifically
a 'GroupCollection' refresh).
First, I got a nice array of objects containing the 'nodes' for the
grid nodes that were opened, "adg.dataProvider.openNodes"
Next, I did the filter and gc.refresh().
The final step was to iterate through all the nodes, find out which
ones had the same "GroupLabel," and expand them
using "adg.dataProvider.openNode(node:Object)".
This is where I ran into problems. When I tried to re-open a node
using openNode, the node would expand, but the nodes below it would
not be in the right tree level (it seems as if they were stepping
down in level one by one, even though they were supposed to be all on
the same level below it). Now here is a real kicker! If I go to
click on anything in the grid after that, the display automatically
corrects itself! So odd.
If anyone has seen the same thing, or know what I'm even talking
about please let me know. Thanks!
rockstar
--- In [email protected], "Eric Jones" <[EMAIL PROTECTED]> wrote:
>
> Did you ever figure out how to do this?
>
> jonese
>
>
> --- In [email protected], "smelbyfastlane" <smelby@> wrote:
> >
> > Hello -
> >
> > I am using an AdvancedDataGrid to display data that is retrieved
> > periodically from a HTTPService. When handling the result event I
> > parse the lastResult e4x into typed objects and put them into an
> > ArrayCollection which is the source for a GroupingCollection as
laid
> > out below. After doing all of this I call groupedData.refresh()
to
> > get my new data displayed. All of this works fine, except that
after
> > calling groupedData.refresh() my group nodes (in the grid) are all
> > collapsed. I have tried saving workItemsGrid.openItems into a
temp
> > variable, then setting it back after calling refresh... but that
does
> > not work. I am guessing that this is due to the fact that my data
> > provider has entirely different object instances than it had
> > previously. But, I am open to the idea that I just did it
incorrectly
> > somehow. Based on my thought that I have different objects in
the DP
> > than I did before I figured I could just save off the value of
> > "GroupLabel" for each openItem, call refresh(), then iterate over
the
> > group objects and call workItemsGrid.expandItem() for each that
has a
> > GroupLabel that was previously open. The problem with this
approach
> > is that I have not yet been able to figure out how to iterate
over the
> > groups.
> >
> > Any help in getting my previously open items to re-open is greatly
> > appreciated.
> >
> > Thanks in advance
> > Scott
> >
> >
> >
> > <mx:AdvancedDataGrid id="workItemsGrid" width="100%"
> > height="100%">
> > <mx:dataProvider>
> > <mx:GroupingCollection id="groupedData"
> > source="{flatWorkItemsAC}">
> > <mx:Grouping>
> > ...
> > </mx:Grouping>
> > </mx:GroupingCollection>
> > </mx:dataProvider>
> > ...
> > </mx:AdvancedDataGrid>
> >
>