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
