Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Как отработать click по button в datagrid? Поймать в ArrayCollection событие CHANGE (http://www.flasher.ru/forum/showthread.php?t=126766)

AlexStukoff 26.06.2009 16:18

Как отработать click по button в datagrid? Поймать в ArrayCollection событие CHANGE
 
Привет всем.

Есть DataGrid в одной из колонок которого задан itemRenderer в виде Button.

При нажатии на него я диспатчу собственное, кастомное событие "PressButtonInMyDataGrid" и оно ловится листнером в основном приложении. И все бы хорошо, но проблема в том, что я не знаю на какой строчке был нажат button! Т.е. то что нажали КАКОЙ-ТО батон я узнал, а как понять какой именно - ума не приложу :(
(грид создается динамически если что)

И второй вопрос, тот же самый грид отображает данные из ArrayCollection куда они заносятся напрямую методом AddItem. Затем, уже в самом itemRenderer я меняю эти данные, например в CheckBox change="data.field1 = selected" но событие CollectionEvent.COLLECTION_CHANGE на это изменение не срабатывает, хотя потом, трэйсом я проверяю его и убеждаюсь, что данные изменены.

Заранее спасибо за любые комментарии по любому вопросу.

И, да, я гуглил и пользовался поиском по ключевым словам "datagrid" (просмотрел все топики на трех страницах) и "ArrayCollection" и "СOLLECTION_CHANGE", читал документацию на flex от adobe и т.д.

P.S.: Как прошить себе в мозг английский? :D

Добавлено через 67 часов 52 минуты
По поводу COLLECTION_CHANGE:

данные в ArrauCollection заносятся не напрямую а используя отдельный класс, поля которого сделаны Bindable

Код AS3:

package
{
 
public class UserDataVO extends Object
{
        [Bindable]
        public var userName:String;
        [Bindable]
        public var isGuest:Boolean;
        [Bindable]
        public var isKick:Boolean;
 
        function  UserDataVO():void
        {
        }
}
 
}

Сразу-же заработало и событие стало вызываться. Про Button до сих пор никакой ясности :(


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

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