Показать сообщение отдельно
Старый 29.04.2008, 12:40
Захаров вне форума Посмотреть профиль Отправить личное сообщение для Захаров Найти все сообщения от Захаров
  № 21  
Ответить с цитированием
Захаров

Регистрация: Oct 2007
Сообщений: 66
в itemRenderer в методе set data удаляйте все предыдущие настройки редерера и будет вам счастье!
Вот пример одного из моих айтимов смысл его в том что бы показывать в виде цветных прямоугольников историю перемещения объекта

Код:
package su.quarta.kadry
{
	import flash.events.Event;
	import mx.containers.Canvas;
	import mx.core.UIComponent;
	import su.quarta.kadry.webservices.GetRemoveHistoryResultEvent;
	import su.quarta.kadry.webservices.KadryWebService;
	import mx.core.IDataRenderer;
    
	public class HistoryPanel extends Canvas //DataGridItemRenderer 
	{
		private var c:Canvas = new Canvas();
		private var _lineWidth:int=10;
		private var _lineHeight:int=20;
		private var _data:XML;
		private var _dataXML:XML;
		private var actualItemRenderer:IDataRenderer
		private var kws:KadryWebService = new KadryWebService();
		
		public function HistoryPanel()
		{
			super();
			init();
		}
		private function init():void
		{
			kws.addEventListener(GetRemoveHistoryResultEvent.GetRemoveHistory_RESULT,onResult);
		}
		override public function get data():Object
    	{
        	return _data;
    	}

    	override public function set data(value:Object):void
    	{
       		_data = value as XML ;
       		removeAllChildren();
			create()
    	}

		private function onResult(evt:Event):void
		{
			create()
		}
	
		private function create():void
		{
			var x:int;
			for(var i:int=0;i<this._data.History.item.length();i++)
			{
				x=i*(_lineWidth+1);
				var item:XML = new XML(this._data.History.item[i]);//подставить цвет
				var  color:String = String(item.@color).replace("#","0x");
				var myUIComponent:UIComponent = new UIComponent();
				myUIComponent.graphics.beginFill(uint(color));//
				myUIComponent.graphics.drawRect(x,0,_lineWidth,_lineHeight);
				this.addChild(myUIComponent);
			}
		}
	}
}