Saint, tomei a liberdade de editar seu exemplo, ficou algo assim:

Funciona a parte dos valores numéricos, mas a data eu ainda não consegui
formatar... E acho que este código está meio bagunçado, talvez tenha uma
forma mais fácil de fazer isto...


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute">
    <mx:Script>
        <![CDATA[
            import mx.events.DataGridEvent;
            import mx.collections.*;
            private var MyArray:ArrayCollection;
            [Bindable]
            private var sortA:Sort;
            private var sortByDate:SortField;
            private var sortByValor:SortField;

            private function headClick(event:DataGridEvent):void
            {
                if (event.dataField=="Valor")
                {
                    MyArray = new ArrayCollection(dados);
                    sortA = new Sort();
                    if(event.target.columns[event.columnIndex
].sortDescending==false)
                    {
                        // O primeiro parâmetro é o nome do campo.
                        // O segundo parâmetro especifíca uma ordenação por
caso-insensitivo.
                        // O terceiro parâmetro especifíca se a ordem é desc
ou asc.
                        // O quarto parâmetro especifíca se é ordem
numérica.
                        sortByValor = new SortField("Valor", true, true,
true);
                        event.target.columns[event.columnIndex
].sortDescending=true;
                    }
                    else
                    {
                        // O primeiro parâmetro é o nome do campo.
                        // O segundo parâmetro especifíca uma ordenação por
caso-insensitivo.
                        // O terceiro parâmetro especifíca se a ordem é desc
ou asc.
                        // O quarto parâmetro especifíca se é ordem
numérica.
                        sortByValor = new SortField("Valor", true, false,
true);
                        event.target.columns[event.columnIndex
].sortDescending=false;
                    }
                    sortA.fields=[sortByValor];
                    sortA.fields[0] = sortByValor;
                    MyArray.sort=sortA;
                    MyArray.refresh();
                    myGrid.dataProvider=MyArray;
                    myGrid.rowCount=MyArray.length +1;
                    event.preventDefault();
                }
            }
        ]]>
    </mx:Script>

    <mx:Array id="dados">

        <mx:Object Data="{new Date(2007, 01, 01)}" Valor="1000" />

        <mx:Object Data="{new Date(2006, 01, 01)}" Valor="250" />

        <mx:Object Data="{new Date(2006, 05, 02)}" Valor="300" />

        <mx:Object Data="{new Date(2005, 06, 10)}" Valor="900" />

        <mx:Object Data="{new Date(2007, 04, 02)}" Valor="3000" />

    </mx:Array>

    <mx:DataGrid horizontalCenter="0" verticalCenter="0.5" id="myGrid"
dataProvider="{dados}" headerRelease="headClick(event);" width="814"
height="220">

        <mx:columns>

            <mx:DataGridColumn dataField="Data" headerText="Data"/>

            <mx:DataGridColumn dataField="Valor" headerText="Valor"/>

        </mx:columns>

    </mx:DataGrid>

</mx:Application>


On 20/06/07, Andrey Wischneski <[EMAIL PROTECTED]> wrote:
>
> Tentei setar o valor da função ShowValor como int e no retorno tentei usar
> o número sem formatação( return int(Row.Valor); )e mesmo assim ele não
> ordena como número...
>
> Acho que tem algo aqui:
>
>
> http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=dpcontrols_062_18.html
>
> Mas ainda não consegui resultados...
>
>
> On 20/06/07, Andrey Wischneski <[EMAIL PROTECTED]> wrote:
> >
> > Ah! Saint, desculpe lhe incomodar novamente com isso, mas no exemplo que
> > você fez não deu muito certo a ordem da coluna "Valor"...
> >
> >
> > On 20/06/07, SaintBr <[EMAIL PROTECTED]> wrote:
> > >
> > >  http://saintbr.com.br/labs/MMC/bin/myDataGrid.html
> > >
> > > SaintBr.     =]
> > > blog.saintbr.com.br
> > >
> > > ----- Original Message -----
> > >  *From:* Andrey Wischneski <[EMAIL PROTECTED]>
> > > *To:* flexdev@googlegroups.com
> > > *Sent:* Tuesday, June 19, 2007 8:51 PM
> > > *Subject:* [flexdev] Ordenar Datagrid!
> > >
> > > Olá pessoal,
> > >
> > > Estou criando uma datagrid com várias colunas, primeiramente vem a
> > > data, depois um campo numérico e depois um campo de texto e assim por
> > > diante...
> > >
> > > O problema é que sempre quando eu clico para ordenar na coluna ela
> > > ordena como se fosse uma string, exemplo:
> > >
> > > Crescente:
> > > 89
> > > 75
> > > 659
> > > 58
> > > 1289
> > >
> > > Tem como eu setar uma coluna como campo numérico?
> > >
> > > Outra pergunta:
> > >
> > > É possível colocar algo dentro da datagrid junto com o valor que vem
> > > do banco de dados? Exemplo:
> > >
> > > Valor do banco de dados: 9999
> > >
> > > Valor com o símbolo R$ 9999
> > >
> > > E ainda sim formatar como se fosse um número?
> > >
> > > Outra dúvida, a data do mysql vem como yyyy-mm-dd, tem como eu
> > > formatar dentro do "dataField" como dd/mm/yyyy?
> > >
> > >
> > > Estou pegando os valores desta forma:
> > >
> > > <mx:DataGrid dataProvider="{dadosInput}" width="100%" height="100%">
> > >           <mx:columns>
> > >                   <mx:DataGridColumn textAlign="center"
> > > dataField="date" headerText="Data"/>
> > >                   <mx:DataGridColumn textAlign="center"
> > > dataField="hosts" headerText="Hosts"/>
> > >                   <mx:DataGridColumn textAlign="center"
> > > dataField="sites" headerText="Sites"/>
> > >                   <mx:DataGridColumn textAlign="right"
> > > dataField="bytes" headerText="Bytes"/>
> > >                   <mx:DataGridColumn textAlign="right"
> > > dataField="cachePercent" headerText="Cache"/>
> > >           </mx:columns>
> > > </mx:DataGrid>
> > >
> > >
> > > Muito Obrigado pela ajuda e peço desculpas se alguma dessas perguntas
> > > já foram respondidas em algum outro tópico, não encontrei exatamente o que
> > > eu queria ainda...
> > >
> > > > > >
> > >
> >
>

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a