Cara, era isso mesmo!

Obrigado a todos!

Airton

Em 2 de março de 2010 10:01, GuiSjlender <[email protected]> escreveu:

> Fiz um pequeno exemplo pra vc... já que está com um pouco de pressa...
> Acho que é isso mesmo que vc precisa!
>
> eu criei um arrey com alguns dados e simulei um RescultEvent com o
> createComplite do Application ok?
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> layout="vertical"
>        creationComplete="getDataCont(null)">
>        <mx:Script>
>                <![CDATA[
>                        import mx.rpc.events.ResultEvent;
>                        import mx.collections.ArrayCollection;
>                        [Bindable]
>                        var listaTabNavigator:ArrayCollection = new
> ArrayCollection([
>                                {tela:"tela1", texto:"Texto1"},
>                                {tela:"tela2", texto:"Texto2"},
>                                {tela:"tela3", texto:"Texto3"},
>                                {tela:"tela2", texto:"Texto4"},
>                                {tela:"tela2", texto:"Texto5"},
>                                {tela:"tela3", texto:"Texto6"}]);
>                        private function getDataCont(e:ResultEvent):void
>                        {
>                                /**
>                                 * A idéia é os dados serem recebidos para
> um arrayCollection
>                             * e depois ligados ao dataGrid
>                                 */
>                                //listaTabNavigator = e.result as
> ArrayCollection;
>
>                        dg.dataProvider = listaTabNavigator;
>                        }
>                        private function addFiltro(event:Event):void
>                        {
>                                listaTabNavigator.filterFunction =
> filterByKeyWord;
>                                listaTabNavigator.refresh();
>
>                                dg.dataProvider = listaTabNavigator;
>                        }
>                        private function
> filterByKeyWord(objeto:Object):Boolean
>                        {
>                                return
> (objeto.tela.toUpperCase().indexOf(tabNav.selectedChild.id.toUpperCase())
> >= 0);
>                        }
>                ]]>
>        </mx:Script>
>        <mx:TabNavigator id="tabNav" width="100%" height="100%"
> change="addFiltro(event)">
>                <mx:Canvas label="Tela1" id="tela1" width="100%"
> height="100%">
>                </mx:Canvas>
>                <mx:Canvas label="Tela2" id="tela2" width="100%"
> height="100%">
>                </mx:Canvas>
>                <mx:Canvas label="Tela3" id="tela3" width="100%"
> height="100%">
>                </mx:Canvas>
>        </mx:TabNavigator>
>        <mx:DataGrid width="100%" height="100%" id="dg">
>                <mx:columns>
>                        <mx:DataGridColumn headerText="Tela"
> dataField="tela"/>
>                        <mx:DataGridColumn headerText="Texto"
> dataField="texto"/>
>                </mx:columns>
>        </mx:DataGrid>
> </mx:Application>
>
> Espero ter ajudado...
> Bons estudos
>
> GuiSjlender 8)
>
>
> On 2 mar, 09:42, Airton Toyansk <[email protected]> wrote:
> > Criei a função com filterFunction e um ArrayCollection Bindable.
> > Mas ainda não funcionou...
> >
> > O efeito prático do que preciso (com outros componentes) pode ser
> > visto neste link:http://www.brandonellis.org/?p=69(o código fonte está
> com
> > problemas, já tentei baixar...).
> >
> > Sobre o tabNavigator, estou usando o change para chamar a função, mas não
> tá
> > dando certo...
> >
> > Obrigado!
> >
> > Airton
> >
> > Em 2 de março de 2010 09:23, Abner P. Campanha <[email protected]>
> escreveu:
> >
> > > ainda não precisei usar isso mas pela documentação você tem o evento
> > > change do tabnavigator para quando o child for alterado:
> >
> > > "Whenever the user changes the current child, the TabNavigator
> > > container broadcasts a change event."
> >
> > > fonte:
> > >http://livedocs.adobe.com/flex/3/html/help.html?content=navigators_4..
> ..
> >
> > > crie uma função para tratar o disparo desse evento e nela faça o
> > > filterFunction no ArrayCollection que precisa usando o
> > > tabnavigator.selectedChild.id <http://tabnavigator.selectedchild.id/><
> http://tabnavigator.selectedchild.id/>.
> >
> > > lembrando que o ArrayCollection deve estar como Bindable para o filtro
> > > ser refletido no DataGrid.
> >
> > > 2010/3/2 José Alexandre D'Abruzzo Pereira <[email protected]>:
> > >  > O que tem no ArrayCollection? Os ids das abas do tabNavigator?
> >
> > > > Ficou meio confuso...
> >
> > > > 2010/3/2 Airton Toyansk <[email protected]>
> >
> > > >> Pessoal,
> >
> > > >> Desculpa a insistência, mas alguém tem alguma solução?
> > > >> Preciso entregar isso ainda hoje...
> >
> > > >> Em 1 de março de 2010 17:28, Airton Toyansk <[email protected]>
> > > escreveu:
> >
> > > >>> Pessoal,
> >
> > > >>> Tenho um RemoteObject que retorna dados a um Datagrid, dessa
> maneira:
> > > >>> public function getDataCont(e:ResultEvent):void
> > > >>> {
> > > >>>     dg.dataProvider = e.result as ArrayCollection;
> > > >>> }
> >
> > > >>> Agora tenho um tabNavigator, e, para cada item selecionado, quero
> > > aplicar
> > > >>> um filterFunction dos dados naquele Datagrid.
> > > >>> Explicando: os dados possuem, entre outras coisas, um campo chamado
> > > >>> idAba, que são os mesmos dos ids das abas selecionadas do
> tabNavigator
> > > >>> (tabnavigator.selectedChild.id<http://tabnavigator.selectedchild.id/><
> http://tabnavigator.selectedchild.id/>
> > > ).
> >
> > > >>> O que preciso é aplicar um filterFunction naquele resultado acima,
> para
> > > >>> que o usuário veja no Datagrid apenas conteúdos onde idAba =
> > > >>> tabnavigator.selectedChild.id<http://tabnavigator.selectedchild.id/><
> http://tabnavigator.selectedchild.id/>.
> >
> > > >>> Como posso fazer isso?
> >
> > > >>> Airton Toyansk
> >
> > > >> --
> > > >> 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 emhttp://
> groups.google.com/group/flexdev
> >
> > > > --
> > > > José Alexandre D'Abruzzo Pereira
> >
> > > > --
> > > > 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 emhttp://
> groups.google.com/group/flexdev
> >
> > > --
> > > Abner Campanha
> >
> > > --
> > > 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 emhttp://groups.google.com/group/flexdev
>
> --
>  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
>

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