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
