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
