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_dataproviders_1.html 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{ >>>>> Alert.show(event.fault.message, "erro inicial", 4, null, null, >>>>> Pare); >>>>> } >>>>> //carrega dados no dpProvider >>>>> [Bindable] >>>>> public var dpConsultores:Array=new Array(); >>>>> public function OnResultListaConsultor(event:ResultEvent):void{ >>>>> dpConsultores=event.result.data; >>>>> } >>>>> public function carregaGD():void{ >>>>> roSisMail.listarConsultor.send(); >>>>> } >>>>> >>>>> //filtro top sae >>>>> 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; >>>>> } >>>>> public function filtrarTopSae(objeto:Object):Boolean{ >>>>> return >>>>> (objeto.aut_tipo.toUpperCase().indexOf(txt_topsae.text.toUpperCase()) >= >>>>> 0); >>>>> >>>>> } >>>>> >>>>> >>>>> Em 13 de maio de 2011 13:37, bruno bg <bruno...@ig.com.br> escreveu: >>>>> >>>>>> quem tem o refresh(). é o DataProvider. >>>>>> >>>>>> veja aê, qq coisa manda o trecho do código. >>>>>> >>>>>> brunobg >>>>>> -- >>>>>> **************************************************** >>>>>> www.brbsoftware.com.br >>>>>> bruno...@ig.com.br (MSN & Skype) >>>>>> blogflex.brunobg.com >>>>>> @brunogrohs >>>>>> (21) 9913-2397 >>>>>> >>>>>> >>>>>> >>>>>> Em 13 de maio de 2011 13:31, Antonio Pasqualli < >>>>>> antonio.pasqua...@gmail.com> escreveu: >>>>>> >>>>>>> Ola pessoal >>>>>>> >>>>>>> Estou me batendo com o filterfunction, preciso realizar uma serie de >>>>>>> filtros, então resolvi trazer tudo em um dp do tipo >>>>>>> array(arrayCollection da >>>>>>> erro) mas não estou conseguindo fazer o filterfunction por exemplo ele >>>>>>> não >>>>>>> traz a propriedade refresh, alguem tem alguma dica ou sugestão? >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. >>>>>>> É necessário também a ação" - William Shakespeare >>>>>>> >>>>>>> -- >>>>>>> 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 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É >>>>> necessário também a ação" - William Shakespeare >>>>> >>>>> -- >>>>> 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 >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> 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 >>>> >>> >>> >>> >>> -- >>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É >>> necessário também a ação" - William Shakespeare >>> >>> -- >>> 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 >>> >>> >>> >>> -- >>> 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 >>> >> >> >> >> -- >> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É >> necessário também a ação" - William Shakespeare >> >> -- >> 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 >> >> >> -- >> 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 >> > > > > -- > "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É > necessário também a ação" - William Shakespeare > > -- > 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 > -- Atenciosamente, Rodrigo Valentim -- 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