History | Log In     View a printable version of the current page.  
Issue Details (XML)

Key: SDK-16908
Type: Bug Bug
Status: Closed Closed
Resolution: Cannot Reproduce
Priority: None None
Assignee: Robert Vollmar (Adobe)
Reporter: Andy Goldstein
Votes: 3
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Flex SDK

Error #1009 when tabbing between custom item editors in a DataGrid

Created: 09/17/08 02:30 PM   Updated: 10/09/08 07:18 PM
Component/s: mx: DataGrid
Security Level: Public (All JIRA Users )

File Attachments: 1. File DataGridItemEditorTabBug.mxml (1 kb)
2. Zip Archive DataGridItemEditorTabBug.zip (561 kb)
3. File MyItemEditor.mxml (0.1 kb)


Severity: Runtime Error
Reproducibility: Every Time
Discoverability: High
Found in Version: SDK Flex 3.2.0
Affected OS(s): Windows - XP
Steps to Reproduce:
Using Flex 3.2.0 build 3238 and 9/11 AIR drop

Steps to reproduce:
1. Create editable DataGrid and editable columns with a custom ItemRenderer (e.g. a TextInput) and rendererIsEditor=true
2. Try to tab from one editable cell to the next
 
 Actual Results: RTE below
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.controls::DataGrid/itemEditorItemEditBeginHandler()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\controls\DataGrid.as:4792]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:9294]
at mx.controls::DataGrid/commitEditedItemPosition()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\controls\DataGrid.as:3683]
at mx.controls::DataGrid/updateDisplayList()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\controls\DataGrid.as:1500]
at mx.controls.listClasses::ListBase/validateDisplayList()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:3280]
at mx.managers::LayoutManager/validateDisplayList()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:622]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:695]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8624]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8564]

 
 
 Expected Results: No RTE
 
 Workaround (if any): none that I know of
Language Found: English
Bugbase Id: none
QA Owner: Robert Vollmar (Adobe)
Resolved by: Robert Vollmar (Adobe)
Participants: Andy Goldstein and Robert Vollmar (Adobe)


 All   Comments      Sort Order:
Andy Goldstein - [09/17/08 04:32 PM ]
The zip file I attached contains an incorrect version of the code that I was using to verify the issue wasn't in Flex 3/AIR 1.0. Please use the attached source files instead.

Thanks!
Andy

Andy Goldstein - [10/06/08 09:57 AM ]
I am able to reproduce this in 3.1.0 (build 2710) as well.

Andy Goldstein - [10/06/08 10:50 AM ]
This seems to happen only if you tab between two columns that are both editable and set up with itemRenderer="MyItemRendererClass" and rendererIsEditor="true". If you have 4 columns, with the first and third set up using the custom item renderer, and the 2nd and 4th columns set up using some other itemRenderer (e.g. mx.controls.CheckBox) with rendererIsEditor="true", the RTE doesn't occur when tabbing between them.

I put (or uncommented) some trace statements in some methods in DataGrid. Here is what happens for an editable DataGrid without custom itemRenderers (i.e. it uses the default TextInput editor built in to the DataGrid):

itemEditorItemEditEndHandler
destroyItemEditor
itemEditorItemEditBeginningHandler
commitEditedItemPosition 0 0
itemEditorItemEditBeginHandler
itemEditorFocusOut null

Here is what happens for an editable DataGrid with multiple sequential columns configured with a custom itemRenderer (as simple as an MXML file containing a TextInput component) and rendererIsEditor set to true:

itemEditorItemEditEndHandler
destroyItemEditor
itemEditorItemEditBeginningHandler
commitEditedItemPosition 0 0
itemEditorItemEditBeginHandler
itemEditorItemEditEndHandler
destroyItemEditor
itemEditorItemEditBeginningHandler (last trace statement before RTE)

I'm not sure if this means anything, but the methods that are called are different when using a custom itemRenderer/rendererIsEditor vs. when using the standard default TextInput item editor.

Andy

Robert Vollmar (Adobe) - [10/09/08 07:16 PM - edited ]
Able to repro. in the build Andy filed it for, but no longer able to repro. in 3.2.0.3474 or 4.0.0.3516. Closing.