Don't forget about listData.rowIndex as well. -TH
--- In flexcoders@yahoogroups.com, "Tracy Spratt" <tspr...@...> wrote: > > Yes, leave off renderIseditor="true". > > > > Your renderer will know which item it is currently associated with, since > that reference gets passed into the renderer any time the underlying data > changes in the set data() function. Further, if the renderer implements the > IDropInListItemrrenderer interface, you will als have access to the listData > and thus dataProvider, should you need to get the itemIndex using > getItemIndex. > > > > _____ > > From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On > Behalf Of Gal Afik > Sent: Saturday, March 07, 2009 12:48 PM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: drag&drop inside itemEditor in dataGrid...a tricky > question > > > > Hmm... > > Thanks for the response...nice idea... but how do I access the right row in > the dataprovider XMLListCollection? (rowIndex?) > and if I choose this approach I simply turn the editor to renderer? > > Thanks > Afik > > --- In flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com, > "Tracy Spratt" tspratt@ wrote: > > > > For a renderer of that complexity, I would not use the DGs native editable > > process, but would handle the dataProvider item updates within the > renderer > > itself. > > > > > > > > Tracy > > > > > > > > _____ > > > > From: flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com > [mailto:flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com] > On > > Behalf Of Gal Afik > > Sent: Saturday, March 07, 2009 10:42 AM > > To: flexcod...@yahoogro <mailto:flexcoders%40yahoogroups.com> ups.com > > Subject: [flexcoders] drag&drop inside itemEditor in dataGrid...a tricky > > question > > > > > > > > Hello all > > > > I'd really appreciate your help on this. > > I have a itemEditor in my datagrid (see attached code).. this is a > drag&drop > > text input... I drag words inside and it concatenates them to a comma > > separated string... > > I've embedded it in the grid like that: > > <mx:DataGridColumn headerText="Prevent ctx" dataField="@prevent_ctxs" > > rendererIsEditor="true" width="200" > > itemRenderer="CtxTI" editable="true"/> > > > > The problem is that the grid does not sense the itemBegin/itemEnd events > > when I drag things inside.. > > and therefore does not activate the editor/automatically "pull" the data > of > > the itemEditor and puts it into the grid.. > > > > Can anyone figure a way to correct/around this? > > > > Thanks in advance > > Afik Gal > > > > <============== CtxTI.mxml ===> > > <?xml version="1.0" encoding="utf-8"?> > > <mx:TextInput xmlns:mx="http://www.adobe. <http://www.adobe. > <http://www.adobe.com/2006/mxml> com/2006/mxml> > > com/2006/mxml" > > dragDrop="dragDrop(event)" dragEnter="dragAccept(event)"> > > <mx:Script> > > <![CDATA[ > > > > import mx.events.DragEvent; > > import mx.managers.DragManager; > > import mx.controls.listClasses.ListData; > > import mx.controls.dataGridClasses.DataGridListData; > > import mx.controls.listClasses.BaseListData; > > > > override public function set data(value:Object):void > > { > > super.data=value; > > var attrib:String= > > > DataGridListData(listData).dataField.substr(1,-1+DataGridListData(listDa\ ta). > > dataField.length); > > var input:String; > > if (value) input=XML(value).attribute(attrib)[0].toString(); > > if (input!="") this.text=input; > > } > > > > > > private function dragAccept(event:DragEvent):void > > { > > var dropTarget:TextInput = event.currentTarget as TextInput; > > DragManager.acceptDragDrop(dropTarget); > > } > > private function dragDrop(event:DragEvent):void > > { > > if (!event.dragSource.hasFormat("treeItems")) return; > > var arr:Array = event.dragSource.dataForFormat("treeItems") as Array; > > var str:String = XML(arr[0])....@label.tostring(); > > if ((this.text.substr(-1)!=",") && (this.text.length>0)) this.text+=","; > > this.text+=str+","; > > } > > ]]> > > </mx:Script> > > </mx:TextInput> > > >