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

Responder a