Steve,

Thanks for the offer. I'll narrow it down to a fairly simple test component
later today and get back to you.

On Tue, Dec 15, 2009 at 11:59 AM, valdhor <valdhorli...@embarqmail.com>wrote:

>
>
> Tom
>
> If you post a small runnable example with sample data, I would be willing
> to take a look.
>
> Best Regards
>
> Steve
>
>
> --- In flexcoders@yahoogroups.com <flexcoders%40yahoogroups.com>, Tom
> McNeer <tmcn...@...> wrote:
> >
> > Hi,
> >
> > I posted this issue earlier, but got no replies. I'm really hoping
> someone
> > familiar with ADG oddities can help me out.
> >
> > I have an Advanced DataGrid which receives an array collection of sales
> > information as a data provider. The data is in a flat grouping, and the
> only
> > GroupingField is "Office," which contains either "Atlanta" or "Dallas" as
> a
> > value. The rest of the data in each "row" of the data provider contains a
> > variety of sales statistics for a given month.
> >
> > With no compareFunction at all, the ADG correctly groups the records into
> > two groups, with Atlanta first. But as expected, the ordering of the
> records
> > within the group doesn't reflect the contents of the original data, i.e.,
> > it's not ordered by month.
> >
> > However, when I add a compareFunction which compares a SortDate value
> within
> > each object in the array (which is not displayed - it's simply a date
> > signifying the first of each month, to provide a sorting mechanism), a
> > strange thing happens.
> >
> > Instead of two groupings, I have 6. And the ordering of the offices has
> been
> > reversed. So I get Dallas>Atlanta>Dallas>Atlanta>
> > Dallas>Atlanta.
> >
> > Within each grouping, the records are correctly sorted by descending date
> > values. And the groups themselves, when expanded, show that all the
> records
> > in Dallas and Atlanta groups are sorted correctly - but they're broken
> into
> > all those extra groups.
> >
> > I have verified that the records coming into the application all have the
> > correct values for the Office and SortDate fields, so the problem isn't
> > there.
> >
> > Here's the ADG:
> >
> > <mx:AdvancedDataGrid width="1125" height="265" id="monthlyTotalGrid"
> > defaultLeafIcon="{null}" wordWrap="true"
> > variableRowHeight="true" initialize="rc.refresh();"
> > selectionColor="#fcffcd" sortableColumns="false" sortExpertMode="true">
> > <mx:dataProvider>
> > <mx:GroupingCollection id="rc" source="{monthlyTotals}">
> > <mx:grouping>
> > <mx:Grouping>
> > <mx:GroupingField name="Office"
> > groupingFunction="createGroupLabel" compareFunction="compareDate" />
> > </mx:Grouping>
> > </mx:grouping>
> > </mx:GroupingCollection>
> > </mx:dataProvider>
> > <mx:columns>
> > <mx:AdvancedDataGridColumn dataField="Month"
> > headerWordWrap="true" width="150" />
> > <mx:AdvancedDataGridColumn dataField="Total Cases"
> > headerWordWrap="true" textAlign="center" />
> > ... several other columns go here
> >
> > </mx:columns>
> > </mx:AdvancedDataGrid>
> >
> > ... and here's my compareFunction:
> >
> > private function compareDate(a:Object,b:Object):int{
> > var aTime:Number = a.SortDate.getTime();
> > var bTime:Number = b.SortDate.getTime();
> > if(aTime < bTime){
> > return 1;
> > }
> > if(aTime>bTime){
> > return -1;
> > }
> > else return 0;
> >
> > }
> >
> > I'm very inexperienced with the ADG, so it's probably something simple
> I'm
> > missing. Any help would be appreciated.
> >
> >
> > --
> > Thanks,
> >
> > Tom
> >
> > Tom McNeer
> > MediumCool
> > http://www.mediumcool.com
> > 1735 Johnson Road NE
> > Atlanta, GA 30306
> > 404.589.0560
> >
>
>  
>



-- 
Thanks,

Tom

Tom McNeer
MediumCool
http://www.mediumcool.com
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560

Reply via email to