Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   В компаненте List подсветить текущего пользователя. (http://www.flasher.ru/forum/showthread.php?t=208163)

firefedot 10.06.2014 16:24

В компаненте List подсветить текущего пользователя.
 
Доброе....
Искал по форуму про смену цвета и прочего у List'a (import fl.controls.List;).
Не могу сообразить как правильно подсветить текущего пользователя.
У меня из базы берется и генерится XML, затем он заливается в List.
Вот так:
Код AS3:

function updateBals(){
                var result:String = "http://sait.ru/rating.php?rand="+Math.round(Math.random()*uint.MAX_VALUE);
                    var myRequest:URLRequest = new URLRequest(result);
                    var loader:URLLoader = new URLLoader();
                  var myParams:URLVariables = new URLVariables();
 
                    myRequest.data = myParams;
                    loader.dataFormat = URLLoaderDataFormat.TEXT;
 
                    myRequest.method = URLRequestMethod.POST;
                loader.addEventListener(Event.COMPLETE, insertAdvertisementHandler, false, 0, true);
                    loader.load(myRequest);       
}
 
        function insertAdvertisementHandler(event:Event) : void{
        var dataMy = (event.target.data);
        var myxml:XML = XML(event.target.data);
        var nameOrg:String = myxml.user[0].name.text();
        var totalbal:uint = parseInt(myxml.user[0].total.text(),10);
 
        var myDataProvider:DataProvider = new DataProvider();
 
        myList.y=80;
        myList.alpha=0.7;
        myList.setSize(200,80);
        myList.dataProvider = myDataProvider;
        myList.labelFunction = myLabelFunction;
        myList.rowCount =26;
 
        trace(nameOrg+" - "+totalbal);
        var productElements:XMLList = myxml.user;
        var len:int = productElements.length();
        var a:int;
        for (var i:int = 0; i < len; i++) {
        a=i+1;
        myDataProvider.addItem({label:a+". "+productElements[i].name.text(), price:parseInt(productElements[i].total.text(),10)});
        }
 
        }
 
        function myLabelFunction(item:Object):String {
            return item.label + " -  (" + item.price.toFixed(0) + ")";
                }


Планирую поиском найти нужную строку и ее сделать (подсветить), ну пусть, оранжевой.

Нашел тут небольшой пример с заменой шрифта, но он у меня не подключился, ругаясь:
Код AS3:

var list:List = new List();
list.setStyle('cellRenderer', MyCellRenderer);
list.addItem(  { label:'red', bgColor:0xFF0000 } );
list.addItem(  { label:'green', bgColor:0x00FF00 } );
addChild(list);
 
//Ниже код Класса:
 
public class MyCellRenderer extends CellRenderer
{
        override protected function drawBackground():void{
 
                super.drawBackground();
                var clrTransform:ColorTransform = new ColorTransform();
                clrTransform.color = data.bgColor;
                background.transform.colorTransform = clrTransform;
 
        }               
}

Подскажите как менять. В хелпе Адоба не нашел подобного ....
Или только путь один сделать свой стиль, расширенный от базового?
Если да, то как его правильно подключать?
Спасибо.


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

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