Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   HorizontalList и removeItemAt() (http://www.flasher.ru/forum/showthread.php?t=111777)

MyChemic 07.05.2008 18:59

HorizontalList и removeItemAt()
 
Добрый день, использую HorizontalList с наполнением из ArrayCollection. HorizontalList является компонентом, который я добавляю в руте:

Код:

<mx:HorizontalList id="myList" itemRenderer="components.Frame" />
<mx:Script>
        <![CDATA[
                import mx.collections.*;
                private var _this:Object;
                private function initApp():void {
                        myList.addEventListener("itemDelete", onItemDelete);
                        _this = this.parent.parent;
                }
                private function onItemDelete(e:Event):void{
                        var r:Frame = e.target as components.Frame;
                        var targetIndex:int = myList.itemRendererToIndex(r);
                        myList.removeChildAt(targetIndex);
                        _this.mn.dataFrame.removeItemAt(targetIndex);
                }
        ]]>
        </mx:Script>

Но строчка, выделенная болдом удаляет у меня весь(!!!) компонент HorizontalList. Трейс targetIndex выдает правильное значение, то есть тот индекс, элемент которого надо удалить.

Дело в том, что у меня есть две кнопки, добавить элемент и удалить, добавляет хорошо, но если я удалю элемент, то из ArrayCollection он удаляется, а из HorizontalList нет, поэтому, когда я снова начинаю добавлять элементы, то визуально их не видно:

Пример:

я добавил 3 элемента:
[] [] []
и нажал удалить первый элемент. В коллекции я получаю:
[][]
а в HorizontalList
*[][] - то есть вместо звездочки что-то есть
и когда я снова добавляю один элемент, то я его не вижу, т.е.:
*[][]
а добавим потом еще один, то
*[][][]


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

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