José Carlos! Tente validar o produto quando o Focus estiver no TextInput do produto (utilize o FocusIn ou o FocusOut que são propriedades do componente TextInput). Acho que é isso!
Em 3 de novembro de 2010 10:23, José Carlos <jcleo...@gmail.com> escreveu: > Ninguem ....... > > On 1 nov, 11:19, Jose Carlos Leoner <jcleo...@gmail.com> wrote: > > Pessoal > > Tenho no código abaixo um datagrid com itens de um pedido de venda. > > Quando clico no datagrid ele joga as colunas para os campos de edição. > > No campo produto tenho uma validação contra o cadastro de produto. Se não > > existir erro, pego a descrição, a unidade e o preço unitário. > > Até aí, tudo bem, está funcionando. > > Meu problema é que quando clico em um item do datagrid, ele joga as > > informações para o campo e imediatamente executa > > a validade do cadastro. Caso o usuário tenha alterado o preço unitário, > ele > > sobre com o preço do cadastro. > > Eu queria que essa validalação só ocorrese quando eu desse um TAB no > campo > > "produto" e não a cada click do datagrid. > > Tem como ? Já fiz várias pesquisas e não achei resposta ou não entendi > uma > > solução para o que preciso. > > Será que teria que colocar um botão para fazer essa validação ? > > > > <mx:DataGrid id="brw_itens" dataProvider="{gridItens}" > > click="selecionaItem(event)" y="190" left="10" right="16" height="140" > > rowHeight="18"> > > <mx:columns> > > <mx:DataGridColumn headerText="Produto" dataField="produto" > width="80" > > textAlign="left" /> > > <mx:DataGridColumn headerText="Descrição" dataField="des_prod" > > width="300" /> > > <mx:DataGridColumn headerText="Und" dataField="unidade" width="25" > /> > > <mx:DataGridColumn headerText="Qtd" dataField="quant" width="60" > > textAlign="right" /> > > <mx:DataGridColumn headerText="Unitário" dataField="pr_unit" > width="60" > > textAlign="right" /> > > <mx:DataGridColumn headerText="Total" dataField="pretot" width="60" > > textAlign="right"/> > > </mx:columns> > > </mx:DataGrid> > > <mx:TextInput id="produto" x="36" y="338" width="100" textAlign="left" > > editable="false" height="20" maxChars="12" color="#000000"/> > > <mx:TextInput id="des_prod" x="135" y="338" width="335" textAlign="left" > > editable="false" tabEnabled="false" height="20" maxChars="6" > > color="#000000"/> > > <mx:TextInput id="unidade" x="478" y="337" width="33" textAlign="left" > > editable="false" tabEnabled="false" height="20" maxChars="6" > > color="#000000"/> > > <mx:TextInput id="quant" x="519" y="337" width="58" textAlign="right" > > editable="false" height="20" maxChars="12" color="#000000"/> > > <mx:TextInput id="pr_unit" x="585" y="337" width="63" textAlign="right" > > editable="false" height="20" maxChars="12" color="#000000"/> > > <mx:TextInput id="pretot" x="656" y="337" width="43" textAlign="right" > > editable="false" tabEnabled="false" height="20" maxChars="12" > > color="#000000"/> > > <mx:ArrayCollection id="validadores"> > > <mx:StringValidator source="{produto}" property="text" > > valid="busca_Produto()" /> > > </mx:ArrayCollection> > > > > private function selecionaItem(e:Event):void{ > > itemSelecionado = e.currentTarget.selectedItem ; > > produto.text = itemSelecionado.produto; > > des_prod.text = itemSelecionado.des_prod; > > unidade.text = itemSelecionado.unidade; > > quant.text = itemSelecionado.quant; > > pr_unit.text = itemSelecionado.pr_unit; > > pretot.text = itemSelecionado.pretot;} > > > > private function busca_Produto(e):void{ > > var remote:AcessoRemoto = > AcessoRemoto.getInstance("vtgestor.produtos"); > > cArg = produto.text ; > > remote.pesquisar(cArg,buscaRet_Produto);} > > > > private function buscaRet_Produto(e:ResultEvent):void{ > > itemSelecionado = e.result ; > > if(itemSelecionado.erro =="0"){ > > des_prod.text = itemSelecionado.descricao; > > unidade.text = itemSelecionado.unidade; > > pr_unit.text = itemSelecionado.prvenda; > > quant.setFocus(); > > } else { > > S_Mensa("Produto não cadastrado","Erro na pesquisa",produto); > > } > > > > > > > > }- Ocultar texto das mensagens anteriores - > > > > - Mostrar texto das mensagens anteriores - > > -- > 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