Pelo que estou vendo, vc nao esta passando o argumento para a função.
*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");
}
}
Em 31 de julho de 2012 09:17, aojunioro <[email protected]> escreveu:
> 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 [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
--
*Fabio Luciano Goes dos Santos
Analista Desenvolvedor
[email protected]*
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev