`
fx05062219
  • 浏览: 19254 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Flex 优化Renderer(不使用HGroup)

    博客分类:
  • flex
阅读更多
package 
{

	import mx.controls.dataGridClasses.DataGridListData;
	import mx.controls.listClasses.BaseListData;
	import mx.controls.listClasses.IDropInListItemRenderer;
	import mx.controls.listClasses.IListItemRenderer;
	import mx.core.UIComponent;
	import mx.events.FlexEvent;

	public class BaseRenderer extends UIComponent implements Tabable, IListItemRenderer, IDropInListItemRenderer
	{
		private var _dataIndex:int=-1;
		private var _listData:DataGridListData;
		private var _data:Object;

		public function BaseRenderer()
		{
			super();
		}

		public function get dataIndex():int
		{
			return _dataIndex;
		}

		public function set dataIndex(value:int):void
		{
			_dataIndex=value;
		}

		[Bindable("dataChange")]
		public function get data():Object
		{
			return _data;
		}

		public function get listData():BaseListData
		{
			return _listData;
		}

		public function set listData(value:BaseListData):void
		{
			_listData=DataGridListData(value);
		}

		public function set data(value:Object):void
		{
			_data=value;
			this.dataIndex=(listData.owner).dataProvider.getItemIndex(data);
			this.invalidateProperties();
			dispatchEvent(new FlexEvent("dataChange"));
		}

		override protected function createChildren():void
		{
			super.createChildren();
		}

		override protected function commitProperties():void
		{
			super.commitProperties();
			updateRenderer();
		}

		override protected function measure():void
		{
			super.measure();
//			this.measuredHeight=22;
		}

		protected function updateRenderer():void
		{
		}

		public function get text():Object
		{
			return "";
		}

		public function getFocusable():UIComponent
		{
			return null;
		}

		/**
		 * initialize a new instance
		 */
		public function newInstance():*
		{
			return new BaseRenderer();
		}
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics