N sei se é o caso, mas uma coisa q ja me deu problemas é ficar trocando de collection no result, pq ai pode ferrar se vc tiver listners com por exemplo o evento CollectionChange.
dpConsultores=event.result.data AS ArrayCollection toda vez tem q fazer: dpConsultores.addEventListner(bla bla bla... Prefiro trocar o source do ArrayCollection dpConsultores.source = event.result.data as Array; On May 24, 9:09 am, Antonio Pasqualli <antonio.pasqua...@gmail.com> wrote: > Ola, consegui, agora deu certo, obrigado pela dica, usei o search e vi que > ficou melhor, mas agora tenho uma outra duvida, fiz algun teste deu certo em > 50%, eu tambem preciso fazer um filtro por centro de treinamento, na minha > aplicação eu carrego os consultores, inicialmente faço um filtro por regiao, > depois por tipo e por ultimo seria por centro de treinamento, eu tenho 10 > centros de treinamento, e gostaria de ficar apenas com consultores de por > exemplo 2 ou mais, como poderia fazer este filtro, no meu datagrid posso > selecionar mais de um indice, as o filtro funciona apenas para o ultimo > seleciona(marquei a opção 001 e 002, mas, o filtro fica apenas na 002), > estou usando o search como me indicou. > > Em 17 de maio de 2011 09:06, Rodrigo Valentim > <rodrigo.valen...@gmail.com>escreveu: > > > Pode ser por vários motivos. > > > Sugiro leitura da documentação para seu melhor entendimento. > > >http://livedocs.adobe.com/flex/3/html/help.html?content=about_datapro... > > > Acredito que exista algo errado por não aparecer para você o filterFunction > > > fiz o teste e aparece instanciando o objeto ou não, porém, precisa saber se > > você fez o import. Sem esse, não aparece opção nenhuma. > > > var x:ArrayCollection = new ArrayCollection(); > > x.filterFunction = find; > > > seu exemplo contem erros. Dentro do seu FiltroTopSae tem uma chamada para > > filtrar o DP usando o filtroTopSae... ficou uma chamada com redundancia e > > não resultará em nada... Use algum click de botão ou eventos change para > > fazer filtros no dataprovider. > > > Aí vai um exemplo > > > private function > > btnPesquisa_clickHandler(event:MouseEvent):void > > { > > if (nmPrestador.text != null || cdPrestador.text != null) { > > //Chamando o find atraves do click do botão > > __model.prestador.filterFunction = find; > > __model.prestador.refresh(); > > > } > > } > > > private function find(item:Object):Boolean { > > if (nmPrestador.text != "") { > > return > > (item.nmPrestador.toLowerCase()search(nmPrestador.text.toLowerCase()) != > > -1); > > } else { > > return > > (item.cdPrestador.toLowerCase()search(cdPrestador.text.toLowerCase()) != > > -1); > > } > > } > > > Novamente sugiro leitura da documentaçao para seu melhor entendimento > > > Em 17 de maio de 2011 08:36, Antonio Pasqualli < > > antonio.pasqua...@gmail.com> escreveu: > > > Obrigado amigo, > >> Mas tenho um segundo problema, se o meu dataprovider for arraycolleciont, > >> não consigo carregar os dados no dataprovider(não sei porq) > >> e com array ou object consigo trazer os dados mas nãt tenho a > >> filterFunction, sabe oq pode estar fazendo de errado? > > >> public function filtroTopSae():void{ > >> dpConsultores.filterFunction=filtrarTopSae; // filterFunction isso > >> não aparece nas "opções" tenho que digitar "manualmente" > >> dpConsultores.refresh(); // isso não aparece nas "opções" tenho que > >> digitar "manualmente" > >> dgConsultores.dataProvider=dpConsultores; > >> } > > >> Em 16 de maio de 2011 22:47, Rodrigo Valentim <rodrigo.valen...@gmail.com > >> > escreveu: > > >> o search vai procurar o texto que você deseja. > > >>> Nesse exemplo passado é a mesma coisa, você vai filtrar um dos itens que > >>> deseja através desta função. > > >>> Exemplo de uma funcionalidade que fiz > > >>> Tenho um conjunto de informações que o usuário irá filtrar. Como essas > >>> informações já estão em algum objeto no flex, não preciso ir no banco > >>> buscar, então, eu sempre faço o filter function no meu DP antes de ir no > >>> banco, caso não encontre, vou no banco e alimento novamente o meu DP com > >>> novas informações... > > >>> Vai de acordo com sua imaginação... referente a sintaxe, é igual ao que > >>> postei no exemplo anterior, claro, mudando alguma besteira... > > >>> Não testei o Search pra ListBox ou algo assim... mas pra textinput, > >>> funciona 100% > > >>> Em 16/05/2011, às 08:42, Antonio Pasqualli escreveu: > > >>> Ola obrigado pela dica, mas tire uma duvida, > >>> neste caso oq tenho é um datagrid, faço uma consulta no banco e trago > >>> varios itens como por exemplo nome do cliente idade, sexo, email e tal... > >>> tudo isso fica em um dataprovider, no mesmo formulario tenho alguns > >>> combobox para realizar o filtro, exemplo, quero listar apenas os do sexo > >>> feminino da região X com idade entre X e Y, neste caso o search se > >>> comportaria bem? como seria a melhor forma de usa lo? digo como seria a > >>> sintax > >>> Obrigado > > >>> Em 14 de maio de 2011 01:20, Rodrigo Valentim < > >>> rodrigo.valen...@gmail.com> escreveu: > > >>>> Não li todo o histórico.. mas vi que você usa o indexof.... Precisa usar > >>>> o indexof mesmo? eu utilizo o search > > >>>> private function find(item:Object):Boolean { > >>>> if (item.nmAluno.toLowerCase().search(aluno.text.toLowerCase()) != -1) > >>>> return true; > >>>> else > >>>> return false; > >>>> } > > >>>> Em 13/05/2011, às 16:56, Antonio Pasqualli escreveu: > > >>>> Ola, > >>>> Bom fiz as alterações, mas não carregou os dados no datagrid, algo que > >>>> posso alterar para corrigir? > >>>> Obrigado > > >>>> <mx:Canvas x="0" top="163" width="100%" height="100%"> > >>>> <mx:DataGrid x="0" height="90%" width="2000" id="dgConsultores" > >>>> y="0" dataProvider="{dpConsultores}"> > >>>> <mx:columns> > >>>> <mx:DataGridColumn headerText="Enviar" width="50" > >>>> dataField="col1"> > >>>> <mx:itemRenderer> > >>>> <fx:Component> > >>>> <mx:HBox horizontalAlign="center" verticalAlign="middle"> > >>>> <s:CheckBox id="chkConsultores0"/> > >>>> </mx:HBox> > >>>> </fx:Component> > >>>> </mx:itemRenderer> > >>>> </mx:DataGridColumn> > >>>> <mx:DataGridColumn headerText="Editar" width="60" > >>>> dataField="col1"> > >>>> <mx:itemRenderer> > >>>> <fx:Component> > >>>> <mx:HBox horizontalAlign="center" verticalAlign="middle"> > >>>> <mx:Image > >>>> source="@Embed(source='../../assets/btn/24/edit.png')" toolTip="Editar ou > >>>> cadastrar novo endereço de email" width="20" height="20"/> > >>>> </mx:HBox> > >>>> </fx:Component> > >>>> </mx:itemRenderer> > >>>> </mx:DataGridColumn> > >>>> <mx:DataGridColumn headerText="Salvar" width="60" > >>>> dataField="col1"> > >>>> <mx:itemRenderer> > >>>> <fx:Component> > >>>> <mx:HBox horizontalAlign="center" verticalAlign="middle"> > >>>> <mx:Image > >>>> source="@Embed(source='../../assets/btn/24/Inserir.png')" toolTip="Salvar > >>>> alteraçao realizada" width="20" height="20"/> > >>>> </mx:HBox> > >>>> </fx:Component> > >>>> </mx:itemRenderer> > >>>> </mx:DataGridColumn> > >>>> <mx:DataGridColumn headerText="I.D Eluxcity" dataField="col1" > >>>> width="120"/> > >>>> <mx:DataGridColumn headerText="Nome da conta" dataField="aut_nome" > >>>> width="450"/> > >>>> <mx:DataGridColumn headerText="Nome Fantasia" > >>>> dataField="nome_fantasia" width="450"/> > >>>> <mx:DataGridColumn headerText="Consultor de Serviços" > >>>> dataField="log_nome" width="300"/> > >>>> <mx:DataGridColumn headerText="Região" dataField="col1" > >>>> width="200"/> > >>>> <mx:DataGridColumn headerText="UF" dataField="aut_uf" width="80"/> > >>>> <mx:DataGridColumn headerText="Centro de Treinamento" > >>>> dataField="ctr_nome" width="300"/> > >>>> <mx:DataGridColumn headerText="Top/Sae" dataField="aut_tipo" > >>>> width="100"/> > >>>> <mx:DataGridColumn headerText="Exclusivo Split" > >>>> dataField="aut_exclusivo_split" width="100"/> > >>>> <mx:DataGridColumn headerText="Funcão" dataField="col1" > >>>> width="250"/> > >>>> <mx:DataGridColumn headerText="Email 1" dataField="log_email" > >>>> width="250"/> > >>>> <mx:DataGridColumn headerText="Enviar" width="80" > >>>> dataField="col1"> > >>>> <mx:itemRenderer> > >>>> <fx:Component> > >>>> <mx:HBox horizontalAlign="center" verticalAlign="middle"> > >>>> <s:CheckBox id="chkConsultores1"/> > >>>> </mx:HBox> > >>>> </fx:Component> > >>>> </mx:itemRenderer> > >>>> </mx:DataGridColumn> > >>>> <mx:DataGridColumn headerText="Email 2" dataField="aut_email" > >>>> width="250"/> > >>>> </mx:columns> > >>>> </mx:DataGrid> > >>>> </mx:Canvas> > > >>>> Em 13 de maio de 2011 15:38, bruno bg <bruno...@ig.com.br> escreveu: > > >>>>> troque o > > >>>>> public var dpConsultores:Array=new Array(); > >>>>> por > >>>>> public var dpConsultores:ArrayCollection=new ArrayCollection(); > > >>>>> e onde está > >>>>> dpConsultores=event.result.data; > >>>>> coloque > >>>>> dpConsultores=event.result.data AS ArrayCollection; > > >>>>> testa aê. > > >>>>> brunobg > >>>>> -- > >>>>> **************************************************** > >>>>>www.brbsoftware.com.br > >>>>> bruno...@ig.com.br (MSN & Skype) > >>>>> blogflex.brunobg.com > >>>>> @brunogrohs > >>>>> (21) 9913-2397 > > >>>>> Em 13 de maio de 2011 14:38, Antonio Pasqualli < > >>>>> antonio.pasqua...@gmail.com> escreveu: > > >>>>> Ola, > > >>>>>> <s:RemoteObject id="roSisMail" > >>>>>> fault="OnFault(event)" > >>>>>> destination="amfphp" > >>>>>> source="SisMail" > >>>>>> showBusyCursor="true"> > >>>>>> <s:method name="listarConsultor" > >>>>>> result="OnResultListaConsultor(event)"/> > >>>>>> </s:RemoteObject> > >>>>>> </fx:Declarations> > >>>>>> <fx:Script source="../../actionscripts/Padrao.as"/> > >>>>>> <fx:Script> > >>>>>> <![CDATA[ > >>>>>> import mx.collections.ArrayCollection; > >>>>>> import mx.controls.Alert; > >>>>>> import mx.controls.Text; > >>>>>> import mx.rpc.events.FaultEvent; > >>>>>> import mx.rpc.events.ResultEvent; > > >>>>>> //eventos relacionado ao sistema > >>>>>> public function OnFault(event:FaultEvent):void{ > > ... > > read more » -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev