Bom dia a todos, estou estudando Flex e estou apanhando para fazer uma 
simples *Pesquisa no Banco*.

Usei Flex + Zend + PHP + MySQL

Se puderem me ajudar, ficarei imensamente grato.

O caso é que tenho uma DataGrid que apresenta as informações do banco.
Nesta DataGrid quero fazer uma pesquisa (no Banco) pelo número do Pedido.

                <s:TextInput id="campoBusca" x="286" y="27" width="79"/>
                <s:Label x="243" y="34" text="Pedido"/>
                
                <s:BorderContainer x="242" y="57" width="619" height="348">
                    <mx:DataGrid id="dgFech" x="12" y="11" width="594" 
height="324"
                                 contentBackgroundAlpha="1.0"
                                
 itemClick="{carregaDadosFech(dgFech.selectedIndex)}">
                        <mx:columns>
                            <mx:DataGridColumn dataField="idPedido" 
headerText="ID" width="31" />
                            <mx:DataGridColumn dataField="nPedido" 
headerText="Nº Pedido"/>
                            <mx:DataGridColumn dataField="vlrPedido" 
headerText="Vlr Pedido"/>
                            <mx:DataGridColumn dataField="vlrApagarPed" 
headerText="Vlr a Pagar"/>
                            <mx:DataGridColumn dataField="dtEntrega" 
headerText="Data Entrega"/>
                            <mx:DataGridColumn dataField="vlrPagoFech" 
headerText="Vlr Pago"/>
                            <mx:DataGridColumn dataField="frmPgtoFech" 
headerText="Frm Pgto"/>
                            <mx:DataGridColumn dataField="statusFech" 
headerText="Status"/>
                        </mx:columns>
                    </mx:DataGrid>
                </s:BorderContainer>


Para isso fiz assim, mas está apresentando erro, logo no click, portanto 
não sei se o restante está certo:

*no click*
<s:Button id="btnBuscar" x="373" y="27" label="buscar" 
click="{buscarPedidos();}"/>

o erro encontra-se justamente aqui:
*1136: Incorrect number of arguments.  Expected 1.*


*Ele deveria chamar a AS:*

public function buscarPedidos(campoBusca:Number):void{
    if(campoBusca > 0){
        RemotePedidos.buscarPedidos.arguments.campoBusca = nPedido;
        RemotePedidos.buscarPedidos.send();  
    }
    else{
        Alert.show("N. Pedido Inválido");
    }
}

*que chama o Remote Object:*

<s:RemoteObject id="RemotePedidos" destination="zend" source="Pedidos" 
fault="Alert.show(event.fault.faultString)">

           * <s:method name="buscarPedidos" 
result="{trataDadosBusca(event)}"/>*

</s:RemoteObject>


*PHP tenta inserir:*

 function buscarPedidos(){
  $banco = new Banco();
  $resultado = new stdClass();
  $linha = 0;
  $sql = "SELECT * FROM Pedidos WHERE *campoBusca* = *$nPedido*"; // 
dúvida: pode ser assim, Id do ImputText e nome do campo no banco diferentes 
?
  $res = mysql_query($sql);
  if($res){
    $resultado->busca="OK";
    while ($dados=mysql_fetch_object($res)){
    $resultado->detalhes[$linha] = $dados;
    $linha++;
    }
  }
  else{
    $resultado->busca="ERRO";
    $resultado->detalhes=mysql_error();
  }
  return $resultado;
}


*retorna o Resultado ao Remote Object*

que trata os dados enviando para o AS:

private function trataDadosBusca(event:ResultEvent):void{
    if (event.result.busca == "OK"){
        dataGridFech = new Object();
        dataGridFech = event.result.detalhes;
        dgFech.dataProvider = dataGridFech;
    }
    else
        Alert.show("Dados não encontrados!!\n Erro:" + 
event.result.detalhes);
}

obrigado a todos, tenho acompanhando o Grupo diariamente, e tem me ajudado 
muito neste aprendizado.








-- 
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