Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2010, 11:33
spacecadet вне форума Посмотреть профиль Отправить личное сообщение для spacecadet Найти все сообщения от spacecadet
  № 1  
Ответить с цитированием
spacecadet

Регистрация: Dec 2009
Сообщений: 41
По умолчанию Редактирование List по doubleClick

Доброго времени суток всем!

Возник следующий вопрос: как реализовать редактирование списка List по двойному щелчку? Свойство editable для List ставлю в false, так как он служит списком выбора, и одиночный щелчок обрабатывается для изменения порядка отображения неких данных. Делаю примерно вот так:

Код AS3:
<mx:List ... dataProvider="{comboList}" labelField="ObjExName" id="lstObj" doubleClickEnabled="true" click="selectObj()" doubleClick="changeList()" editable="false"></mx:List>
 
...
 
private function changeList():void
{
    if (lstObj.selectedIndex != -1)
    {
        lstObj.createItemEditor(0,lstObj.selectedIndex);
        (lstObj.itemEditorInstance as TextInput).text = comboList[lstObj.selectedIndex].ObjExName;
        (lstObj.itemEditorInstance as TextInput).setFocus();
        (lstObj.itemEditorInstance as  TextInput).addEventListener(FocusEvent.FOCUS_OUT,editEnd);
     }
}
 
private function editEnd(e:FocusEvent):void
{
     comboList[lstObj.selectedIndex].ObjExName = (lstObj.itemEditorInstance as TextInput).text; 	
     lstObj.destroyItemEditor();
}
 
...
То есть по даблклику создаю итемедитор, добаляю прослушку к событию потери фокуса, что по моему мнению должно означать конец редактирования и соответственно в конце уничтожаю итемедитор. Создается он успешно, но вот при окончании редактирования возникает ошибка "Не удается вызвать свойство или метод со ссылкой на объект "null". Помогите разобраться!

Старый 15.01.2010, 18:44
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
вот тут, делают похожее с DataGrid, думаю разница небольшая.

Старый 19.01.2010, 07:46
lighto вне форума Посмотреть профиль Отправить личное сообщение для lighto Найти все сообщения от lighto
  № 3  
Ответить с цитированием
lighto
[+1 17.02.10]
 
Аватар для lighto

Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
хм.... а почему бы у листа на дабл клик не вешать эдиттабле равного трул??? ну а потом что нить придумать на что опять фалс его ставить, типа когда лист не активен) или при нажатии ентер, ескейпа иль ишо чего?
__________________
Flex+AS3 good)

Старый 20.01.2010, 12:06
spacecadet вне форума Посмотреть профиль Отправить личное сообщение для spacecadet Найти все сообщения от spacecadet
  № 4  
Ответить с цитированием
spacecadet

Регистрация: Dec 2009
Сообщений: 41
Цитата:
Сообщение от alatar Посмотреть сообщение
вот тут, делают похожее с DataGrid, думаю разница небольшая.
- спасибо за ссылочку, буду разбираться!

Цитата:
Сообщение от lighto Посмотреть сообщение
хм.... а почему бы у листа на дабл клик не вешать эдиттабле равного трул??? ну а потом что нить придумать на что опять фалс его ставить, типа когда лист не активен) или при нажатии ентер, ескейпа иль ишо чего?
- да, это первое, что пришло мне в голову но в таком случае после даблклика придется сделать еще одиночный клик мышкой, чтобы начать редактирование, а это не комильфо. Наверняка есть способ вручную сгенерировать событие типа ListEvent.ITEM_EDIT_BEGIN после даблклика, чтобы еще раз не жамкать мышкой по листу, но я его не знаю как это сделать и очень надеюсь на помощь уважаемых форумчан!

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.