Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаление Sprite из DataGrid (http://www.flasher.ru/forum/showthread.php?t=170059)

x1v3r 17.10.2011 20:44

Удаление Sprite из DataGrid
 
В датагриде надо в зависимости от поля загружать одно или не загружать изображение.
Помогите написать код:) Я загружаю изображение в каждую ячейку а потом в ненужной просто ставлю прозрачность 0(ясно что это тупой способ), но ничего больше придумать не могу.
Код AS3:

package
{
        import fl.controls.listClasses.CellRenderer;
        import fl.controls.listClasses.ListData;       
        import flash.display.Sprite;
        import flash.net.URLLoader;
        import flash.net.URLRequest;
        import flash.events.Event;
 
        /**
        * Наш рендерер, которым мы заменяем стандартный
        */

        public class MyCellRenderer extends CellRenderer
        {
                /**
                * Вспомогательный объект для размещения картинок в нём, не мешая тексту
                */

                var cellSprite:Sprite = new Sprite();
                /**
                * Конструктор
                */

                public function MyCellRenderer() {
                        addChildAt(this.cellSprite, 0); // Добавляем в 0-ю позицию будущие картинки (под текст)
                }
                /**
                * Наследуем метод, чтобы добавить картинку
                */

                override public function set listData(newListData:ListData):void {
 
                        _listData = newListData;
                        _label = _listData.label;
                        var image;
                        image = new mcL();                               
                        image.x = 170; ячейки                       
                        this.cellSprite.addChild(image);
 
 
                        if((root as Table).getTableType(_label) == "L"){                               
                                this.cellSprite.alpha = 1;                               
                        }else{
                                this.cellSprite.alpha = 0;                               
                        }
 
                }
        }
}


DaFive 18.10.2011 11:13

А зачем делать во все addChild(image), если можно только в этом куске:
Код AS3:

if((root as Table).getTableType(_label) == "L"){                                
      this.cellSprite.addChild(image);                               
}


x1v3r 18.10.2011 16:54

если в datagrid сделать сортировку то изображение останится на своей позиции,а не будет перемещаться вместе с заданной строчкой.


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

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