--- In [email protected], "parkerwhirlow" 
<[EMAIL PROTECTED]> wrote:
>
> DUDE! what the heck ?
> 
> You must have copied out the labelFunction... thats not
> sortCompareFunction... it definitely requires two objects to 
compare!
> 
> Your example implementation even does a simple number format =)
> 
> Nice try though.
> PW
> 
> In the Language Reference, the only documentation for 
sortCompareFunction
> 
> --- In [email protected], "michael_ramirez44"
> <michael_ramirez44@> wrote:
> >
> > --- In [email protected], "parkerwhirlow" 
> > <parkerwhirlow@> wrote:
> > >
> > > 
> > > Its amazing how complicated something so seemingly easy can 
be...
> > > 
> > > All I want to do is provide a numeric sort for columns that 
contain
> > > numeric data. (by default the sorting is all text based)
> > > 
> > > I found the DataGridColumn.sortCompareFunction and tried this.
> > > 
> > > The problem I have is that the objects passed to the function 
are 
> > the
> > > entire row, and I have no context of which column the sort is 
for.
> > > 
> > > It seems like they left out some key information in the 
signatures 
> > of
> > > some of the DataGrid functions... for instance labelFunction 
> > signature
> > > has the column being rendered but dataTipFunction does not. 
> > Therefore
> > > I have the same issue with dataTipFunction as I do with
> > > sortCompareFunction... how do you know what column you're 
working 
> > with?
> > > 
> > > Anyone know any tricks? How have others implemented custom 
sorting 
> > of
> > > datagrids?
> > > 
> > > thanks,
> > > PW
> > >
> > 
> > The signature on the SortCompareFunction:
> > 
> > private function sortNumber
(item:Object,column:DataGridColumn):String
> > {
> >     return numFormatter.format(item[column.dataField]);
> > }
> >
>

Sorry! Your right I gave you the labelFunction. For the 
SortCompateFunction I had to capture the headerRelease event and 
store the column that was sorted.

<mx:DataGrid id="dgResults" dataProvider="{results}" width="100%" 
height="100%" headerRelease="sortHeader(event)" />

private function sortHeader(event:DataGridEvent):void
{
    columnToSort = event.dataField;
}

private function sortColumnNumber( x:Object, y:Object):int
{
    x[columnToSort] > y[columnToSort]
    return ...
}

Reply via email to