Eu vo dar uma procurada no meu favoritos, eu vi um post que tem exemplos de
filtros personalizado bem simples....
ja respondo...


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


-- 
Jackson F. de A. Mafra
Designer e Desenvolvedor, Consultor
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