Flex: ItemEditor теряет фокус! - PullRequest
2 голосов
/ 19 июля 2011

Вот изображение моей проблемы: Я использую поле со списком в качестве редактора элементов данных Datagrid (не только средство рендеринга, мой рендер - это метка, двойной щелчок по ячейке делает поле со списком видимым, как в случае со всеми редакторами элементов)

Теперь, выбор одной из записей в поле со списком не является проблемой. Но моя проблема только тогда, когда я выбираю «Фрукты», который в свою очередь открывает другой слой под названием «Выбор фруктов»

Вопросы:

Как сохранить редактор элементов, пока фокус находится на слое; Прямо сейчас, как только я нажимаю на фрукт, мой обработчик выскакивает диалоговое окно «Выбрать фрукт», и фокус находится на слое. Как только фокус исчезает из редактора, ItemEditor исчезает и возвращается метка ItemRenderer.

Я хочу сохранить ItemEditor в живых! где я могу подключить промежуточные события, такие как начало / конец ItemEdit и т. д.?

Flex: Item editor, losing focus!

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Вы можете поддержать ваш itemEditor, прослушивая DataGridEvent.ITEM_EDIT_END.Тогда у вас будет намного больше контроля, чтобы делать то, что вы хотите.Некоторые FYI из моего блога:

DataGridEvent.ITEM_EDIT_END - Отправляется при удалении фокуса из ячейки - прослушиватель событий элемента управления на основе списка по умолчанию

1) использует свойство .editorDataFrield для определения свойстваредактора элементов для хранения отредактированных данных;В редакторе элементов элемента управления TextInput по умолчанию свойство «text» будет содержать новые данные.

2) Вызвать destoryItemEditor () в зависимости от причины события

  • Вы можете прерватьпрослушиватель событий по умолчанию для элемента управления по умолчанию на основе списка с помощью event.preventDefault () для

a) Изменить данные, возвращенные из редактора элементов

b) Изучить / проверить введенные данныев редактор предметов;Если данные неверны, вы можете остановить Flex, передав данные обратно из редактора элементов в элемент управления на основе списка

http://knowledge.lapasa.net/?p=153

0 голосов
/ 08 мая 2014

Попробуйте потерять фокус вашего ItemEditor. Goto Combo Box Change Listener

protected function comboBox_changeHandler(event:ListEvent):void
{
// set focus out event on datagrid. Its like clicking outside the datagrid
event.target.parent.parent.parent.dispatchEvent(new FocusEvent(FocusEvent.FOCUS_OUT);

}
...