Bom, de qualquer forma eu consegui o que queria, e como pode ser útil a mais alguém eu vou deixar a minha contribuição...
<?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 sortByData: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(); } if (event.dataField=="Data") { 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. sortByData = new SortField("Data", 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. sortByData = new SortField("Data", true, false, true); event.target.columns[event.columnIndex ].sortDescending=false; } sortA.fields=[sortByData]; sortA.fields[0] = sortByData; MyArray.sort=sortA; MyArray.refresh(); myGrid.dataProvider=MyArray; myGrid.rowCount=MyArray.length +1; event.preventDefault(); } } public function FormatData(Row:Object, Coluna:DataGridColumn) : String { return _DateFormatter.format(Row.Data); } public function FormataValor(Row:Object, Coluna:DataGridColumn) : String { return _CurrencyFormatter.format(Row.Valor); } ]]> </mx:Script> <mx:DateFormatter id="_DateFormatter" formatString="DD/MM/YYYY" /> <mx:CurrencyFormatter id="_CurrencyFormatter" currencySymbol="R$ " decimalSeparatorTo="," thousandsSeparatorTo=" ." precision="2" /> <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:Object Data="{new Date(2008, 01, 01)}" Valor="1000" /> <mx:Object Data="{new Date(2009, 08, 01)}" Valor="250" /> <mx:Object Data="{new Date(2001, 01, 02)}" Valor="300" /> <mx:Object Data="{new Date(2002, 10, 10)}" Valor="900" /> <mx:Object Data="{new Date(2003, 12, 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" labelFunction="{FormatData}"/> <mx:DataGridColumn dataField="Valor" headerText="Valor" labelFunction="{FormataValor}"/> </mx:columns> </mx:DataGrid> </mx:Application> Valeu! On 20/06/07, Andrey Wischneski <[EMAIL PROTECTED]> wrote: > > Ah tah! Pensei que era tudo em 1, desculpa :) > > > On 20/06/07, SaintBr <[EMAIL PROTECTED]> wrote: > > > > eu não mandei a solução da ordenação ! > > > > SaintBr. =] > > blog.saintbr.com.br > > > > ----- Original Message ----- > > *From:* Andrey Wischneski <[EMAIL PROTECTED]> > > *To:* flexdev@googlegroups.com > > *Sent:* Wednesday, June 20, 2007 8:18 AM > > *Subject:* [flexdev] Re: Ordenar Datagrid! > > > > 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 -~----------~----~----~----~------~----~------~--~---