Looks like there’s a bug in the DG editing code. Please open a bug with a test case.
Try not calling event.preventDefault (but still call destroyItemEditor). On 7/22/10 8:18 AM, "Rajan" <ilikef...@yahoo.com> wrote: I looked at your sample but it does not contain nested properties.So event.preventDefault(); is not required and everything works fine. --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> , Alex Harui <aha...@...> wrote: > > You might want to compare the popup editor example from my blog with your > example > > > On 7/22/10 6:59 AM, "Rajan" <ilikef...@...> wrote: > > > > > > > No, i have not borrowed the code for popup editorut yes i am using the popup > editor. > > Please see the code for Pop up at > http://ilikeflex.blogspot.com/ > > Under 'Code for PopUp' > > But my itemEditEnd event handler code is below. > > private function onitemEditEnd(event:DataGridEvent):void > { > //trace(event.reason); > var datGrid:CheckBoxDataGrid=(event.currentTarget as > CheckBoxDataGrid); > event.preventDefault(); > datGrid.destroyItemEditor(); > } > > > I cannot remove event.preventDefault(); because my datagrid column has nested > datafield. > > <renderer:CustomDataGridColumn dataField="periodPackage.id" > headerText="Period Package Code" > width="150" > refDataType="{RDSConstants.RSS_PERIOD_PACKAGE}" > labelFunction="ServiceLabelFunctions.labelPPCode" > isPopupEditor="true" > rendererIsEditor="true" > editorDataField="editValue" > itemRenderer="com.SpyGlassFieldEditor"/> > > I am almost there.. > > Any clue... > Secondly what should i look in event.target and event.relatedObject > > Thanks > ilikeflex > > > > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> , > Alex Harui <aharui@> wrote: > > > > I noticed your editor looks like it is a popup. Have you borrowed the code > > from the popup editor example as well? > > > > > > On 7/21/10 11:43 AM, "Rajan" ilikeflex@ wrote: > > > > > > > > > > > > > > Actually itemEditEnd in the real sceanrio looks like below. > > > > Since i am uisng the nested datafield i am calling the > > > > event.preventDefault(); > > datGrid.destroyItemEditor(); > > datGrid.dataProvider.itemUpdated(event.itemRenderer.data); > > > > So my dataprovider gets updated with the new value when i use the mouse but > > with the key board focus does not move from column1 to column2 > > > > Any pointers.... > > > > private function onitemEditEnd(event:DataGridEvent):void > > { > > var datGrid:CheckBoxDataGrid=(eve! nt.currentTarget as CheckBoxDataGrid); > > if (event.reason == DataGridEventReason.CANCELLED) > > return; > > > > var selectedObject:Object=datGrid.dataProvider[event.rowIndex]; > > var > > customDataGridColumn:CustomDataGridColumn=datGrid.columns[event.columnIndex] > > as CustomDataGridColumn; > > var field:String=datGrid.columns[event.columnIndex].dataField; > > var array:Array=field.split("."); > > > > if (customDataGridColumn.isPopupEditor) > > { > > event.preventDefault(); > > datGrid.destroyItemEditor(); > > return; > > } > > > > if (array != null && array.length >= 2) > > { > > event.preventDefault(); > > var object:Object=selectedObject[array[0]]; > > var textEnteredByUser:String; > > if (datGrid.itemEditorInstance is IEditorValue) > > { > ! > textEnteredByUser=IEditorValue(datGrid.itemEdit! orI nstance).editValue; > > object[array[1]]=textEnteredByUser; > > } > > else > > { > > textEnteredByUser=TextInput(datGrid.itemEditorInstance).text; > > object[array[1]]=textEnteredByUser; > > } > > datGrid.destroyItemEditor(); > > datGrid.dataProvider.itemUpdated(event.itemRenderer.data); > > } > > } > > > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> , "Rajan" ilikeflex@ wrote: > > > > > > Hi > > > > > > I have created simple test case to identify the issue. > > > > > > If i remove itemEditEnd then i have no issues with the focus. It works > > > cleanly and focus moves from one column to another. > > > > > > But if add itemEditEnd then focus does not move from 1st column to 2 nd > > > column. > > > > > > So event.preventDefault(); statement is the c! ulprit. > > > but i cannot remove this because in the real scenario i am using nested > > > datafield. > > > > > > So how to make the focus move from colimn1 to column2. > > > > > > any pointers are higly appreciated. > > > > > > <?xml version="1.0"?> > > > <!-- itemRenderers\inline\CBInlineCellEditor.mxml --> > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> > > > > > > <mx:Script> > > > <![CDATA[ > > > import mx.events.DataGridEvent; > > > import mx.collections.ArrayCollection; > > > > > > [Bindable] > > > public var ac:ArrayCollection = new ArrayCollection( > > > [{dateString:"11/12/2006", contact:"ABD DEF", dt: new Date(2003,10,23)}, > > > {dateString:"11/12/2007", contact:"GHI", dt:new Date(2004,11,2)}, > > > {dateStr! ing:"10/10/2007", contact:"JKL MNOP", dt:new Date(20! 07,4,14)}, > > > {dateString:"09/12/2007", contact:"QRSTUV W XY Z", dt:new > > > Date(2006,1,1)}]); > > > > > > private function onitemEditEnd(event:DataGridEvent):void > > > { > > > event.preventDefault(); > > > } > > > ]]> > > > </mx:Script> > > > > > > <mx:DataGrid id="myDG" > > > dataProvider="{ac}" > > > variableRowHeight="true" > > > width="500" height="250" > > > itemEditEnd="onitemEditEnd(event)" > > > editable="true"> > > > <mx:columns> > > > <mx:DataGridColumn headerText="DateString" dataField="dateString" > > > width="120" > > > itemEditor="com.DateEditor" > > > editorDataField="text" /> > > > <mx:DataGridColumn headerText="Date" dataField="dt" width="120" > > > itemRenderer="mx.controls.DateField" > > > rendererIs! Editor="true" > > > editorDataField="selectedDate"/> > > > <mx:DataGridColumn headerText="Contact" dataField="contact" width="80"/> > > > </mx:columns > > > > </mx:DataGrid> > > > </mx:Application> > > > > > > > > > > > > Source Code for com.DateEditor is at > > > http://blogcode.flexmonkeypatches.com/__FMP_datagrid_datefield_editor_asString/srcview/index.html > > > > > > > > > > > > > > > > > > > > > > > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > > > <mailto:flexcoders%40yahoogroups.com> , "Rajan" <ilikeflex@> wrote: > > > > > > > > I have put the following code in the datagrid and found that couple of > > > > times 'itemEditorInstance' is null.So the focus does not move ahead. > > > > > > > > Any pointer.. > > &! gt; > > > > > override protected function keyDown! Handler( event:KeyboardEvent):void > > > > { > > > > // this is technically illegal, but works > > > > //event.ctrlKey = true; > > > > //event.shiftKey = false; > > > > trace( 'Datagerid keyDownHandler itemEditorInstance ' + > > > > itemEditorInstance); > > > > trace( 'Datagerid keyDownHandler event.target ' + event.target + '\n > > > > event.currentTarget ' + event.currentTarget + ( event.target != > > > > event.currentTarget )); > > > > //trace("Datagerid keyDownHandler " + event.keyCode + " " + > > > > event.shiftKey + " " + event.ctrlKey); > > > > super.keyDownHandler(event); > > > > trace("Datagerid keyDownHandler gefocus" + getFocus()); > > > > trace( 'Datagerid keyDownHandler itemEditorInstance > > > > -------------------------------------------------------'); > > > > } > > > > > > > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > > > > <mailto! :flexcoders%40yahoogroups.com> , Alex Harui <aharui@> wrote: > > > > > > > > > > Add a focusIn handler on the app that displays the event.target and > > > > > event.relatedObject. Maybe that will generate some clues. > > > > > > > > > > > > > > > On 7/20/10 10:25 AM, "Rajan" <ilikeflex@> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Actually, i have same itemeditor in different columns. > > > > > > > > > > Column1 > > > > > 1.One Tab - focus on textinput > > > > > 2.Second Tab - focus on image. > > > > > > > > > > 3.Third Tab - Don't know where does the focus goes. > > > > > > > > > > Column2 > > > > > 4.Fourth Tab - focus on textinp! ut > > > > > 5.Fifth Tab - focus on image. > >! ; > & gt; > > > > > > I want to fix that on third tab it show go to textinput of another > > > > > column. As it works for you on your sample > > > > > > > > > > So how to fix this. > > > > > > > > > > Thanks > > > > > ilikeflex > > > > > > > > > > --- In flexcoders@yahoogroups.com > > > > > <mailto:flexcoders%40yahoogroups.com> > > > > > <mailto:flexcoders%40yahoogroups.com> > > > > > <mailto:flexcoders%40yahoogroups.com> , Alex Harui <aharui@> wrote: > > > > > > > > > > > > Your item editor has two focusable components? Then you should have > > > > > > to tab twice in each column. Are you having to tab more than that? > > > > > > > > > > > > > > > > > > On 7/20/10 7:03 AM, "Rajan" <ilikeflex@> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > &g! t; > > > > > > > > > > > > Hi > > > > > > > > > > > > http://blogs.adobe.com/aharui/category/item-renderers > > > > > > > > > > > > http://blogs.adobe.com/aharui/DataGridMultiFieldEditor/DataGridMultiFieldEditorTest.swf > > > > > > > > > > > > I looked to this example and i am using the custom item editor. My > > > > > > itemeditor has two components( text input + image ). Everything > > > > > > works fine and i am able to navigate through the componnets in the > > > > > > item editor using key board also. I have exactly same piece of the > > > > > > code as in url. > > > > > > > > > > > > The problem i am facing is that i have to press Tab Key multiple > > > > > > times to move form one datagrid column to another if both the > > > > > > column has same custom itemeditor. > > > > > > > > > > > > Any pointers???> > > > > > > > > > > > >! ; > & gt; > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Alex Harui > > > > > > Flex SDK Team > > > > > > Adobe System, Inc. > > > > > > http://blogs.adobe.com/aharui > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Alex Harui > > > > > Flex SDK Team > > > > > Adobe System, Inc. > > > > > http://blogs.adobe.com/aharui > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Alex Harui > > Flex SDK Team > > Adobe System, Inc. > > http://blogs.adobe.com/aharui > > > > > > > > -- > Alex Harui > Flex SDK Team > Adobe System, Inc. > http://blogs.adobe.com/aharui > -- Alex Harui Flex SDK Team Adobe System, Inc. http://blogs.adobe.com/aharui