Инициировать событие itemEditEnd внутри itemEditor
Это может быть легко для вас экспертов DataGrid там. Я следовал примеру для добавления строк в DataGrid динамически из строки
http://www.switchonthecode.com/tutorials/adding-dynamic-rows-to-flex-datagrid
Мой трюк, который я пытаюсь найти, заключается в том, чтобы иметь собственный itemEditor, который представляет собой форму с двумя TextInputs и кнопкой OK. На всю жизнь я не могу заставить эту кнопку вызвать событие itemEditEnd объекта DataGrid, где у меня есть некоторая обработка, прежде чем я вызову destroyItemEditor. Я попытался отправить событие непосредственно, но получил странную ошибку в updateDisplayList от DataGrid, в которой говорится, что editedItemPosition было нулевым (editedItemPosition.rowIndex). Есть идеи?
2 ответа
Я понял, "дух" ответ. В основном, в itemEditor получить ссылку на DataGrid с помощью listData.owner, а затем установить editedItemPosition и selectedIndex DataGrid. Этот способ позволяет компоненту беспокоиться об очистке itemEditor.
var grid:DataGrid = listData.owner as DataGrid;
grid.editedItemPosition = null;
grid.selectedIndex = -1;
itemEditEnd
будет срабатывать при нажатии за пределами редактора элементов. Если вы отправляете его самостоятельно, вам нужно установить rowIndex
Свойство события до соответствующего значения перед отправкой.