Ola, depois de muito sumido aqui do Blog, quase 6 dias direto sem parar em um projeto Flex(Chocolate e Flex), resolvi parar um pouco e escrever este Post.
Este projeto faz busca no AMFPHP toda vês que digita alguma palavra. Isso graças ao Timer que implementei para aguardar um pouco a cada chamada.
Arquivo main.mxmlprivate function init():void { // Timer para aguardar quando digita time.addEventListener("timer", TimeEnd); // Evento para quando digitar campoBusca.addEventListener(Event.CHANGE, changeFiltro) // Carrega o DataGrid PesquisarMensagens(); } private function changeFiltro(e:Event):void { // Para o Timer, se já estiver parado, não faz nada time.stop(); // Inicia o Timer time.start(); } private function TimeEnd(e:TimerEvent):void { // se o evento for executado, chama a função que faz a busca PesquisarMensagens(); } public function PesquisarMensagens():void { var remote:RemoteObject = new RemoteObject("RemotingMessage"); remote.showBusyCursor = true; remote.source = "099.cidadeService"; remote.addEventListener(ResultEvent.RESULT, ResultBusca) remote.getOperation("BunscaMensagens").send(campoBusca.text); } private function ResultBusca(e:ResultEvent):void { dgCidades.dataProvider = e.result as Array; }
Veja que a cada interação com o campo de pesquisa, o Flex para a contagem anterior e inicia uma nova contagem. Utilizei uma base de cidades de Santa Catarina com mais de 300 registros.
Veja o resultado:
Cara estou tentando fazer isso agora mesmo. Vou testar sua aplicação
[...] galera. Em um exemplo anterior havia mostrado como filtrar dinamicamente dados do Flex. Neste vou usar a mesma estrutura e apenas [...]
Nao consegui aplicar. o meu amfphp ja esta hospedado e funcionando bem. o funcionamento da funcao ("BunscaMensagens").send no meu browse amfphp tambem esta funcionando perfeiramente com minha tabela. Mas a aplicacao no flex nao funciona...
Essa aplicacao e muito importante.
Help-me please.
Onde esta a "RemotingMessage"?
O sistema ficou um pouquinho lento por ter de fazer uma requisição ao servidor cada vez que o filtro muda (o que acontece muitas vezes) desse modo, ao meu ver, seria mais rápido de início, jogar os dados em um array no flex, mostrá-lo no datagrid e a partir daí ir fazendo a filtragem no array... teriamos aqui, menos tráfego com o servidor e maior rapidez no retorno dos dados...
Bom tutorial... irei precisar disso...valeu