Файл который открывает диалог - находится прямо в эдиторе. Получается что результат открытия файла у меня в эдиторе. В итоге я открываю файл провожу с ним манипуляции всё ок.
Во-первых я лочу эдитор от закрытия если диалог сейчас открыт.

Код AS3:
private function onItemEditEnd(event:AdvancedDataGridEvent):void
{
var data:NodeModel = event.itemRenderer ? event.itemRenderer.data as NodeModel : null;
if (event.currentTarget.itemEditorInstance.wait)
{
event.preventDefault();
if (event.reason == DataGridEventReason.OTHER)// этот ризон при потере фокуса приходит.
{
_editorInstance = itemEditorInstance;
_editorPosition = editedItemPosition;
}
}
}
override public function destroyItemEditor():void
{
if (_editorInstance && _editorInstance.wait)
{
return;
}
else
{
if(itemEditorInstance) super.destroyItemEditor();
_editorInstance = null;
}
}
Потом по получении фокуса гридом обратно - удаляю старый эдитор и добавляю новый с теми же данными.

Код AS3:
private function onFocusIn(event:FocusEvent):void
{
if (_editorPosition)
{
var pos:Object = CeaUtills.cloneObject(_editorPosition);
if(_editorInstance) createItemEditor(pos.columnIndex, pos.rowIndex);
}
}
Это работает если я умещаюсь в первую страницу прокрутки (с первого по 2-й элемент) а уже на 21-м вылетает какая-то внутрення ошибка грида. так как он запакован во внешний компонент я не вижу что там и как. Говорит что где-то там он нулл получил. А какой нулл я не знаю.
Добавлено через 1 минуту
Это мой первый проект на флексе, я вообще пур-ас3 пишу обычно. Так что не исключено что тут полная шляпа. Буду рад любым комментариям.
репо на битбакете
Добавлено через 5 минут
Эта схема редактирует текущую ячейку нормально. Но при переходе на другую вылетает. При условии что текущая находится вне этих 20-и строк. Ошибка где-то внутри грида в editEnd().