2010-09-29 4 views
2

Это может быть легко для вас специалистами DataGrid. Я следующий пример для добавления строк в DataGrid динамически в строкеЗапуск события itemEditEnd в элементе itemEditor

http://www.switchonthecode.com/tutorials/adding-dynamic-rows-to-flex-datagrid

Мой твик, что я пытаюсь acoomlish, чтобы иметь собственный itemEditor, что это форма с двумя TextInputs и кнопкой ОК , Для жизни меня я не могу получить эту кнопку, чтобы вызвать событие itemEditEnd объекта DataGrid, где у меня есть некоторая обработка, прежде чем я вызову destroyItemEditor. Я попытался отправить событие непосредственно, но получил странную ошибку в updateDisplayList в DataGrid, сказав, что editItemPosition был null (отредактированItemPosition.rowIndex). Есть идеи?

ответ

0

itemEditEnd будет запущен, когда вы выйдете за пределы редактора элементов. Если вы отправляете его самостоятельно, вам необходимо установить rowIndexproperty of the event на соответствующее значение перед отправкой.

+0

У меня на самом деле был rowIndex (и все остальные свойства DatGridEvent), но он продолжал получать эту нечетную ошибку. – user461305

3

Я выяснил ответ «duh». В основном, в itemEditor получить ссылку на DataGrid с помощью listData.owner, а затем установить отредактированный DataGridItemPosition и selectedIndex. Этот способ позволяет компоненту беспокоиться об очистке itemEditor.

var grid:DataGrid = listData.owner as DataGrid; 
grid.editedItemPosition = null; 
grid.selectedIndex = -1;