Depois de muito apanhar, tirei o "As Cliente" e funcionaou. * <s:CallResponder id="Clientes" result="cliente = Clientes.lastResult[0] as Cliente"/>
Vl Xará..... * Em 17 de outubro de 2010 09:55, bruno bg <[email protected]> escreveu: > você mudou o parâmetro no método java. Atualizar_Cliente2(Cliente); ??? > > > -- > **************************************************** > www.brunobg.com > [email protected] (MSN & Skype) > blogflex.brunobg.com > @brunogrohs > (21) 9913-2397 > > > > Em 16 de outubro de 2010 16:15, Bruno Ribeiro > <[email protected]>escreveu: > > Quando Eu faço isso, não salva, e é me apresenta um erro. >> *Multiple markers at this line: >> -Atualizar_Cliente2Result >> -1067: Coerção implícita de um valor do tipo valueObjects:Cliente para um >> tipo mx.collections:ArrayCollection não relacionado. >> >> . >> * >> Em 16 de outubro de 2010 13:41, bruno bg <[email protected]> escreveu: >> >> poh, passa como parâmetro então somente o objeto CLIENTE, vc tem o form >>> todo para edição dos campos. >>> Já está montando o objeto. passa somente ele. Não precisa passar o >>> Array de 1 só. >>> passa somente o objeto. >>> >>> protected function atualizar_Cliente():void >>> { >>> * // dados = ArrayCollection([cliente]); >>> // Certifique-se que o objeto CLIENTE está atualizado, de >>> acordo com os campos (textInput) alterados !! >>> * >>> Atualizar_Cliente2Result.token = >>> Service_Cliente.Atualizar_Cliente2(*cliente*); >>> } >>> >>> e no JAVA receba o objeto Cliente e l[a joga para o BD. >>> >>> >>> >>> -- >>> **************************************************** >>> www.brunobg.com >>> [email protected] (MSN & Skype) >>> blogflex.brunobg.com >>> @brunogrohs >>> (21) 9913-2397 >>> >>> >>> >>> Em 16 de outubro de 2010 13:36, Bruno Ribeiro >>> <[email protected]>escreveu: >>> >>> *Desculpa pela sequencia de email´s. >>>> >>>> Segue todo código.. >>>> <?xml version="1.0" encoding="utf-8"?> >>>> <s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" >>>> xmlns:s="library://ns.adobe.com/flex/spark" >>>> xmlns:mx="library://ns.adobe.com/flex/mx" width="1150" >>>> height="794" xmlns:services="services.*" >>>> xmlns:valueObjects="valueObjects.*"> >>>> <s:layout> >>>> <s:HorizontalLayout/> >>>> </s:layout> >>>> >>>> <fx:Declarations> >>>> <s:CallResponder id="Clientes" result="cliente = >>>> Clientes.lastResult[0] as Cliente"/> >>>> <services:Cliente1 id="Service_Cliente" >>>> fault="Alert.show(event.fault.faultString + '\n' + >>>> event.fault.faultDetail)" >>>> showBusyCursor="true"/> >>>> <valueObjects:Cliente id="cliente"/> >>>> <s:CallResponder id="Atualizar_Cliente2Result"/> >>>> <!-- Place non-visual elements (e.g., services, value objects) >>>> here --> >>>> </fx:Declarations> >>>> >>>> >>>> <fx:Script> >>>> <![CDATA[ >>>> import mx.collections.ArrayCollection; >>>> import mx.controls.Alert; >>>> import mx.events.FlexEvent; >>>> import mx.managers.PopUpManager; >>>> import mx.validators.EmailValidator; >>>> >>>> public var dados:ArrayCollection; >>>> >>>> protected function >>>> BuscarCliente(pCampo:String,pValor:String):void >>>> { >>>> Clientes.token = >>>> Service_Cliente.ListarCliente(pCampo,pValor); >>>> } >>>> >>>> public function Popular_Dados():void >>>> { >>>> BuscarCliente('id_cliente','49'); >>>> >>>> } >>>> >>>> protected function atualizar_Cliente():void >>>> { >>>> dados = ArrayCollection([cliente]); >>>> >>>> Atualizar_Cliente2Result.token = >>>> Service_Cliente.Atualizar_Cliente2(dados); >>>> } >>>> >>>> ]]> >>>> </fx:Script> >>>> <s:NavigatorContent label="Principal" width="100%" height="100%" >>>> id="nvgtPrincipal" > >>>> <s:Label text="id_cliente" x="5" y="10"/><s:TextInput >>>> text="{cliente.id_cliente}" x="5" y="25" width="52"/> >>>> <s:Label text="nome" x="61" y="10"/><s:TextInput >>>> text="@{cliente.nome}" x="61" y="25" width="380"/> >>>> <s:Label text="cpf_cnpj" x="448" y="10"/><s:TextInput >>>> text="@{cliente.cpf_cnpj}" x="447" y="25" width="164"/> >>>> <!-- >>>> <s:Label text="data_nascimento" x="621" >>>> y="10"/><mx:DateField text="@{toString(cliente.data_nascimento)}" x="619" >>>> y="25"/> >>>> --> >>>> <s:Label text="cep" x="500" y="98"/><s:TextInput >>>> text="@{cliente.cep}" x="500" y="113"/> >>>> <s:Label text="denominacao" x="10" y="53"/><s:TextInput >>>> text="@{cliente.denominacao}" x="10" y="69" width="427"/> >>>> <s:Label text="numero" x="449" y="54"/><s:TextInput >>>> text="@{cliente.numero}" x="449" y="69" width="67"/> >>>> <s:Label text="complemento" x="526" y="55"/><s:TextInput >>>> text="@{cliente.complemento}" x="523" y="68" width="226"/> >>>> <s:Label text="cidade" x="3" y="100"/><s:TextInput >>>> text="@{cliente.cidade}" x="1" y="114" width="209"/> >>>> <s:Label text="estado" x="223" y="101"/><s:TextInput >>>> text="@{cliente.estado}" x="223" y="114"/> >>>> <s:Label text="uf" x="366" y="97"/> <s:TextInput >>>> text="@{cliente.uf}" x="361" y="115"/> >>>> >>>> <s:Label text="ddi" x="8" y="152"/> <s:TextInput >>>> text="@{cliente.ddi}" x="5" y="162" width="73"/> >>>> <s:Label text="ddd" x="91" y="147"/> <s:TextInput >>>> text="@{cliente.ddd}" x="88" y="162" width="76"/> >>>> <s:Label text="numero_tel" x="175" y="141"/><s:TextInput >>>> text="@{cliente.numero_tel}" x="172" y="161"/> >>>> <s:Label text="ramal" x="315" y="147"/><s:TextInput >>>> text="@{cliente.ramal}" x="307" y="164"/> >>>> <s:Label text="id_cliente_categoria" x="8" y="195"/><s:TextInput >>>> text="{cliente.id_cliente_categoria}" x="6" y="216"/> >>>> <s:Button x="25" y="264" label="Popular Dados" >>>> click="Popular_Dados()"/> >>>> <s:Button x="141" y="266" label="Altarar Dados" >>>> click="atualizar_Cliente()"/> >>>> </s:NavigatorContent> >>>> </s:TitleWindow> >>>> * >>>> >>>> Em 16 de outubro de 2010 13:01, bruno bg <[email protected]> escreveu: >>>> >>>> parece que você está fazendo o CRUD direto no dataGrid !?!? é isso mesmo >>>>> ?? >>>>> não é o recomendável, mas é possível sim fazer desse jeito. >>>>> O usual é enviar para o JAVA somente o objeto Cliente (contendo um só >>>>> cliente), e não uma lista de clientes, como você está criticando e >>>>> validando >>>>> os campos. >>>>> >>>>> no seu exemplo vc criou um ArrayCollection protected e na verdade seria >>>>> melhor colocar como public e bindabled. >>>>> no seu result do ListarCliente() , "setar" o event.result no "dados"; >>>>> no seu dataGrid =>dataProvider colocar esse "dados" >>>>> >>>>> abraço >>>>> -- >>>>> **************************************************** >>>>> www.brunobg.com >>>>> [email protected] (MSN & Skype) >>>>> blogflex.brunobg.com >>>>> @brunogrohs >>>>> (21) 9913-2397 >>>>> >>>>> >>>>> >>>>> Em 16 de outubro de 2010 12:44, Bruno Ribeiro >>>>> <[email protected]>escreveu: >>>>> >>>>>> Prezados, >>>>>> >>>>>> Em minhas andanças, futucando em tutoriais, artigos, etc, a >>>>>> integração java e flex, me deparei com uma situação que não sei se é >>>>>> possível. Caso isso já tenha sito discutido no grupo, favor me apontar >>>>>> como >>>>>> devo procurar por essa situação. Minha itenção não é pegar já pronto, mas >>>>>> não encontrei nada, ou talvez procurei errado. >>>>>> >>>>>> No java tenho minha classe cliente, que tem 2 métodos, >>>>>> listar_cliente *public static List<Cliente> ListarCliente()* >>>>>> e atualizar_cliente *public static void >>>>>> Atualizar_Cliente(List<Cliente> Lista_CLiente)* >>>>>> >>>>>> No listar_cliente passo para o flex uma lista que consigo apresentar >>>>>> na grid. >>>>>> No método atualizar_cliente, no java Eu recebo um cliente, Tem como >>>>>> passar um array de cliente do Flex para Java? >>>>>> >>>>>> >>>>>> >>>>>> No Flex criei uma variável. >>>>>> protected var dados:ArrayCollection = new >>>>>> ArrayCollection([cliente]); >>>>>> >>>>>> * <fx:Declarations> >>>>>> <s:CallResponder id="Clientes" result="cliente = >>>>>> Clientes.lastResult[0] as Cliente"/> >>>>>> <services:Cliente1 id="Service_Cliente" >>>>>> fault="Alert.show(event.fault.faultString + '\n' + >>>>>> event.fault.faultDetail)" >>>>>> showBusyCursor="true"/> >>>>>> <valueObjects:Cliente id="cliente"/> >>>>>> <s:CallResponder id="Atualizar_Cliente2Result"/> >>>>>> <!-- Place non-visual elements (e.g., services, value >>>>>> objects) here --> >>>>>> </fx:Declarations> >>>>>> * >>>>>> >>>>>> E depois que altero o valor de alguns campos, chamo o método >>>>>> protected function atualizar_Cliente():void >>>>>> { >>>>>> Atualizar_Cliente2Result.token = >>>>>> Service_Cliente.Atualizar_Cliente2(dados); >>>>>> } >>>>>> >>>>>> Tem como pegar isso no Java? Isso é uma boa prática? >>>>>> >>>>>> >>>>>> VL, >>>>>> >>>>>> >>>>>> Bruno >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> 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 >>>> >>>> >>>> -- >>>> 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 >>>> >>> >>> >>> -- >>> 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 >>> >> >> -- >> 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 >> > -- > 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 > -- 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
