assim eu consegui fazer, mas na base da gambiarra, vou postar o codigo pra q vcs possam perceber o q eu kero fazer
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:itens="services.itens.*"> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.events.DragEvent; import mx.events.FlexEvent; import mx.events.ListEvent; [Bindable] var itenscasa:ArrayCollection = new ArrayCollection(); protected function mostraitem_creationCompleteHandler(event:FlexEvent):void { getItensResult.token = itens.getItens(); } protected function recebeitem_changeHandler(event:ListEvent):void { Alert.show(recebeitem.automationValue.toString()); } protected function dragDropHandler(event:DragEvent):void { var dgRow:Object = new Object(); dgRow = event.dragSource.dataForFormat("items"); recebeitem.dataProvider.addItem(dgRow[0]); event.preventDefault(); } function clickHandler(event:Event):void { var dgRow:Object = new Object(); dgRow =recebeitem.dataProvider; var string:String = ""; for(var i:int = 0;i<itenscasa.length;i++) { string += dgRow[i].item+":"; string += dgRow[i].qtd+";"; } Alert.show(string); } function removeitem(event:Event):void { itenscasa.removeItemAt(recebeitem.selectedIndex); } ]]> </fx:Script> <fx:Declarations> <s:CallResponder id="getItensResult"/> <itens:Itens id="itens" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <mx:DataGrid click="clickHandler(event)" dragEnabled="true" x="75" y="45" id="mostraitem" creationComplete="mostraitem_creationCompleteHandler(event)" dataProvider="{getItensResult.lastResult}"> <mx:columns> <mx:DataGridColumn headerText="Item" dataField="item" /> <mx:DataGridColumn visible="false" headerText="qtd" dataField="qtd"/> </mx:columns> </mx:DataGrid> <mx:DataGrid x="200" y="45" doubleClick="clickHandler(event)" id="recebeitem" dataProvider="{itenscasa}" dropEnabled="true" editable="true" dragDrop="dragDropHandler(event)"> <mx:columns> <mx:DataGridColumn headerText="Item" dataField="item" editable="false"/> <mx:DataGridColumn id="qtd" headerText="Quantidade" dataField="qtd" itemEditor="mx.controls.NumericStepper" editorDataField="value" editable="true"/> </mx:columns> </mx:DataGrid> <s:Button x="445" y="45" label="Remove Item" enabled="{recebeitem.selectedIndex != -1}" click="removeitem(event)"/> </s:WindowedApplication> o data grid mostraitem recebe um array multidimensional do php com os itens onde alguns sao selecionados pelo usuario para arrastar e soltar no datagrid recebeitem, e deste recebeitem ser interidos seus itens no banco de dados... Em 22 de julho de 2010 17:20, Igor Carvalho de Paula < [email protected]> escreveu: > vc teria um exemplo? por favor... > > Em 22 de julho de 2010 13:16, Helio Antonio Francisco Silva < > [email protected]> escreveu: > > Entao brother, antes de inserir no dataprovier, coloca em um array B e ai >> manupular o array e nao o dg. muito melhor. >> >> 2010/7/22 Principe borodin <[email protected]> >> >> Assim, eu tenho 2 datagrid, um pega do banco de dados, o seus dados, e >>> eh preenchido, desse datagrid, q vou chamar de A, eu dou um >>> draganddrop para o outro datagrid, onde o dataprovider eh alimentado >>> pelo drag and drop... >>> >>> o q eu kero fazer, talvez simplifique, eh pegar determinados dados de >>> um datagrid, colocar num outro, onde eu tenho esses dados, itens, e >>> indico ao lado sua quantidade, e com estes itens e suas quantidade eu >>> insira no banco de dados... >>> >>> On Jul 21, 12:15 pm, Helio Antonio Francisco Silva >>> <[email protected]> wrote: >>> > Cara sempre que eu mexo com datagrid eu crio um array dele assim tenho >>> as >>> > informações de forma facil e rapida para pegar e ainda posso bindar >>> essa >>> > informações com um grafico por exemplo. >>> > >>> > Na hora que eu reordeno o array ele ja muda o grafico e assim vai. >>> > >>> > ai voce sempre trabalha o array e o datagrid e o fragico ja mudam :) >>> > >>> > 2010/7/21 Principe borodin <[email protected]> >>> > >>> > >>> > >>> > > eu sou novo com flex, mas antigo na programacao, tenho um livro da >>> > > adobe mas nao sana todas as duvidas, e eu vi num post daki q eu >>> > > deveria pegar o dataProvider q alimenta o datagrid, porem, em um >>> > > documento ele pega td, com outro data grid tambem, mas num terceiro >>> > > ele nao pega nada, td em branco, dae num outro documento ele pega, >>> mas >>> > > como objeto, eu dei um alert.show e ele retorna como object object >>> > >>> > > eu fiz um click pra mandar um alert com os dados q ele ta pegando >>> > >>> > > Alert.show(itens.dataProvider.toSting()); >>> > >>> > > e mesmo assim ele retorna apenas um objeto por linha, quando sao 2 >>> > > colunas, num outro data grid, q da certo, eu pego todos os dados de >>> > > todas as colunas... >>> > >>> > > -- >>> > > 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 emhttp:// >>> groups.google.com/group/flexdev >>> > >>> > -- >>> > Desenvolvedor Web >>> >>> -- >>> 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 >>> >> >> >> >> -- >> Desenvolvedor Web >> >> -- >> 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
