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 flexcoders@yahoogroups.com, "Eric Jones" <[EMAIL PROTECTED]> wrote:
>
> Did you ever figure out how to do this?
> 
> jonese
> 
> 
> --- In flexcoders@yahoogroups.com, "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>
> >
>


Reply via email to