Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отследить click по полю datagird? (http://www.flasher.ru/forum/showthread.php?t=116397)

motoroller 29.09.2008 17:19

Отследить click по полю datagird?
 
Поле создаётся с помощью cellRenderer, в поле вставляется картинка, собственно как отследить клик по картинку, в событиях dataGrid ничего подходящего нету :(

silin 29.09.2008 22:32

можно на саму картинку и повесить обработку клика
Код:

public class MyCellRenederer extends CellRenderer
{
       
        public function MyCellRenederer()
        {
                super();
                mouseChildren = true;
                icon = new MyPic();
                icon.addEventListener(MouseEvent.CLICK, iconClick);
        }
       
        private function iconClick(event:MouseEvent):void
        {
                trace( "itemLabel : " + label );
        }
       
}


s8000_1 30.09.2008 02:57

Цитата:

Сообщение от silin (Сообщение 767144)
можно на саму картинку и повесить обработку клика

Этот не правильный способ проектировать такие вещи. Чреват тем, что возникнет путаница в сложных структурах.

Клик надо вешать извне на событие Event.CHANGE или ListEvent.ITEM_CLICK.

motoroller 30.09.2008 11:46

ListEvent.ITEM_CLICK. скажите а как повесить событие на dataGrid Так разве можно?

silin 30.09.2008 12:47

ага, если нужен клик по ячейке, а не именно по картинке, то и впрям незачем такой огород городить, что я предложил..
достаточно смотреть target в MouseEvent.CLICK

motoroller 30.09.2008 12:59

нет суация же такая, я в datagrid вставляю картинку, так вот надо чтобы по клику происходило удаление, мне как минимум, надо отловить, что клик по картинке произошёл, и отловить какая строка в dataGrid

motoroller 30.09.2008 13:09

Попробовал событие ListEvent.ITEM_CLICK, оно работает везде, кроме моего отрендер. поля, там вообще клик не срабатывает :(

motoroller 30.09.2008 14:18

Всем спасибо ListEvent.ITEM_CLICK.
Сработало :-)

Код:

dg.addEventListener(ListEvent.ITEM_CLICK, deleteRow);

function deleteRow(e:ListEvent):void {
  trace("You are above row: " + e.rowIndex + " column: " + e.columnIndex);   
}


iNils 30.09.2008 14:49

Пользователь motoroller забанен на неделю за мультипостинг.

Squtter 02.10.2008 13:33

спасибо за код, Мотороллер!


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

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