hehehehhe... Que isso... Estamos aqui pra se ajudar! Me f... um pouco com isso também...
Valeu! On 28/06/07, Jackson Ferreira de Andrade Mafra <[EMAIL PROTECTED]> wrote: > > Andrey, cara vc salvou minha vida... =) > Eu precisava de uma forma pra Retornar o Status de Um projeto em um grid e > nao encontrava uma forma inteligente.... > vc me salvou com seu codigo... > > eu esqueci da possibilidade das labelfunctions pra isso > =) > > Valews > > On 6/28/07, Andrey Wischneski <[EMAIL PROTECTED]> wrote: > > > Talvez te ajude, da uma olhadinha aí... > > > > > > <?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> > > > > > > On 28/06/07, Andrey Wischneski <[EMAIL PROTECTED] > wrote: > > > > > > Tem um tópico que eu tive que fazer isso... > > > > > > Mas da maneira que fiz ele da um sort na array que contém os dados... > > > > > > Da uma procurada que você acha... > > > > > > > > > On 28/06/07, Leandro Rodrigues Chaves <[EMAIL PROTECTED] > > > > wrote: > > > > > > > > > > > > Fala galera, > > > > > > > > Estou iniciando no Flex. Desenvolvi um DataGrid que mostra os dados > > > > do > > > > banco usando PHP (com AMFPHP), um componente paginador e sobrescrevi > > > > a > > > > ordenação das colunas, para que fosse possível ordenar considerando > > > > todos os dados da tabela, e não somente os que estão na tela, como > > > > faz > > > > a ordenação padrão do DataGrid. > > > > > > > > Para isso usei o evento headerRelease do DataGrid e escrevi uma > > > > função > > > > para fazer novamente a requisição dos dados trazendo-os ordenados > > > > pela > > > > coluna clicada. Está funcionando bem, mas como eu sobrescrevi a > > > > ordenação padrão e evitei o Flex de usá-la com > > > > event.preventsDefault(), a setinha pra cima ou pra baixo não aparece > > > > mais. > > > > > > > > Alguém sabe como posso colocar a setinha ou, se necessário, colocar > > > > essas imagens de setinhas dentro do cabeçalho da coluna na marra a > > > > cada ordenação? Por exemplo, se a ordenação escolhida for > > > > Ascendente, > > > > coloca a imagen seta1.gif dentro da célula do cabeçalho, se for > > > > descendente coloco seta2.gif e se for retirada a ordenação da coluna > > > > retirar a imagem também. > > > > > > > > Alguém pode me ajudar? > > > > > > > > > > > > > > > > > > > > > > > > > Designer and Developer, Consultant > > > > > > --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] 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 -~----------~----~----~----~------~----~------~--~---
