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
-~----------~----~----~----~------~----~------~--~---

Responder a