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