Somehow, between the time the DG sends the ITEM_EDIT_BEGIN event and the
DG default handler runs (itemEditorItemEditBeginHandler), the
editedItemPosition is being set to null.  Do you have any custom handler
for that event?  If so, calling preventDefault() on the event might be
required.

 

________________________________

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of mr_j_harris
Sent: Sunday, February 10, 2008 4:05 PM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Re: Browser Sensitive Editable DataGrid

 


Hi Alex, 

Here's a stack trace. When you say 'we' do you mean 'we software
engineers at Adobe'? Who y'all can do something to get 'er fixed up?

captureItemPosition: set myeditedItemPosition r/c=5,12
TypeError: Error #1009: Cannot access a property or method of a null
object reference.
at
mx.controls::DataGrid/itemEditorItemEditBeginHandler()[C:\dev\flex_201_g
mc\sdk\frameworks\mx\controls\DataGrid.as:4741]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at
mx.core::UIComponent/dispatchEvent()[C:\dev\flex_201_gmc\sdk\frameworks\
mx\core\UIComponent.as:8323]
at
mx.controls::DataGrid/commitEditedItemPosition()[C:\dev\flex_201_gmc\sdk
\frameworks\mx\controls\DataGrid.as:3358]
at
mx.controls::DataGrid/updateDisplayList()[C:\dev\flex_201_gmc\sdk\framew
orks\mx\controls\DataGrid.as:1239]
at
mx.core::UIComponent/validateDisplayList()[C:\dev\flex_201_gmc\sdk\frame
works\mx\core\UIComponent.as:5760]
at
mx.managers::LayoutManager/validateDisplayList()[C:\dev\flex_201_gmc\sdk
\frameworks\mx\managers\LayoutManager.as:600]
at
mx.managers::LayoutManager/doPhasedInstantiation()[C:\dev\flex_201_gmc\s
dk\frameworks\mx\managers\LayoutManager.as:673]
at Function/http://adobe.com/AS3/2006/builtin::apply
<http://adobe.com/AS3/2006/builtin::apply> ()
at
mx.core::UIComponent/callLaterDispatcher2()[C:\dev\flex_201_gmc\sdk\fram
eworks\mx\core\UIComponent.as:7909]
at
mx.core::UIComponent/callLaterDispatcher()[C:\dev\flex_201_gmc\sdk\frame
works\mx\core\UIComponent.as:7852]

And here is the function with line numbers where the things goes awry:

DataGrid.as

Line#4703: /**
* @private
* focus an item renderer in the grid - harder than it looks
*/
private function
itemEditorItemEditBeginHandler(event:DataGridEvent):void
{
trace ('jgharris put this here');
// weak reference for deactivation
if (stage)
stage.addEventListener(Event.DEACTIVATE,
deactivateHandler, false, 0, true);

// if not prevented and if data is not null (might be from
dataservices)
if (!event.isDefaultPrevented() &&
listItems[actualRowIndex][actualColIndex].data != null)
{
createItemEditor(event.columnIndex, event.rowIndex);

if (editedItemRenderer is IDropInListItemRenderer &&
itemEditorInstance is IDropInListItemRenderer)
IDropInListItemRenderer(itemEditorInstance).listData =
IDropInListItemRenderer(editedItemRenderer).listData;
// if rendererIsEditor, don't apply the data as the data
may have already changed in some way.
// This can happen if clicking on a checkbox
rendererIsEditor as the checkbox will try to change
// its value as we try to stuff in an old value here.
if (!columns[event.columnIndex].rendererIsEditor)
itemEditorInstance.data = editedItemRenderer.data;

if (itemEditorInstance is IInvalidating)
IInvalidating(itemEditorInstance).validateNow();

if (itemEditorInstance is IIMESupport)
IIMESupport(itemEditorInstance).imeMode =
(columns[event.columnIndex].imeMode == null) ?
_imeMode : columns[event.columnIndex].imeMode;

var fm:IFocusManager = focusManager;
// trace("setting focus to item editor");
if (itemEditorInstance is IFocusManagerComponent)
fm.setFocus(IFocusManagerComponent(itemEditorInstance));
fm.defaultButtonEnabled = false;

var event:DataGridEvent =
Line#4741: new DataGridEvent(DataGridEvent.ITEM_FOCUS_IN);

event.columnIndex = _editedItemPosition.columnIndex;
event.rowIndex = _editedItemPosition.rowIndex;
event.itemRenderer = itemEditorInstance;
dispatchEvent(event);
}
}

===================================================

It bonks out at:

Line#4741
var event:DataGridEvent =
new DataGridEvent(DataGridEvent.ITEM_FOCUS_IN);

==============================================================

Is that useful to you?

They say in the real world, 'Money talks and bullshit walks.'
They don't say whether it walks away or walks around, though.
I think it's around.

-- John

--- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
, "Alex Harui" <[EMAIL PROTECTED]> wrote:
>
> Please use a debug build so we get line numbers in the stack trace,
then
> post the stack trace.
> 
> 
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
[mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
] On
> Behalf Of Jon Harris
> Sent: Saturday, February 09, 2008 10:20 AM
> To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> 
> Subject: [flexcoders] Browser Sensitive Editable DataGrid
> 
> 
> 
> 
> This is my own response to my sourpuss missive re mx:DataGrid and it
> erupting in a RTE on a simple "hold down the tab key stress test"
> 
> My app WORKS* in MSIE 6.xxxxyyyyzzzzz (that is, no RTE dialog)
> 
> The same URL fails in Mozilla Firefox 2.0.0.12 and Opera 9.25 - pretty
> much identically.
> 
> 
> I am unwilling to present the URL here because it's a work in progress
> and I don't have time to slice out the minimal code to produce the
> error.
> 
> However, let it be known, "computers suck" and they suck more or less
> depending on what software you're running.
> 
> 
> * well, on this test MSIE goes into a mode where it starts
> tabbing-backtabbing between columns one, two and three on the second
> data row, but after clicking away from there, the test runs normally.
> 
> 
> ==============================================
> 
> How can ppl confuse "their" and "there" - "there" has "here" in it,
and
> tho! se are both prepositional pronouns (i.e., places). That should be
> enough clue. Likewise with "were" and "where"
> 
> I have many more grammar lessons, but no-one cares.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> TypeError: Error #1009: Cannot access a property or method of a null
> object reference.
> at mx.controls::DataGrid/itemEditorItemEditBeginHandler()
> at flash.events::EventDispatcher/dispatchEventFunction()
> at flash.events::EventDispatcher/dispatchEvent()
> at mx.core::UIComponent/dispatchEvent()
> at mx.controls::DataGrid/commitEditedItemPosition()
> at mx.controls::DataGrid/updateDisplayList()
> at mx.core::UIComponent/validateDisplayList()
> at mx.managers::LayoutManager/validateDisplayList()
> &nbs! p; at mx.managers::LayoutManager/doPhasedInstantiation()
> at Function/http://adobe.com/AS3/2006/builtin::apply
<http://adobe.com/AS3/2006/builtin::apply> ()
> at mx.core::UIComponent/callLaterDispatcher2()
> at mx.core::UIComponent/callLaterDispatcher()
> 
> 
> 
> ________________________________
> 
> Looking for last minute shopping deals? Find them fast with Yahoo!
> Search.
>
<http://us.rd.yahoo.com/evt=51734/*http:/tools.search.yahoo.com/newsearc
<http://us.rd.yahoo.com/evt=51734/*http:/tools.search.yahoo.com/newsearc
> 
> h/category.php?category=shopping>
>

 

Reply via email to