微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

flex datagrid column itemRenderer


工厂

package com.gwtjs.renderer.grid
{
	import mx.core.IFactory;
	
	//必须要实现IFactory接口
	public class EnableItemIFactory implements IFactory{
		public function EnableItemIFactory(){
			super();
		}
		
		public function newInstance():*{
			//实例化渲染器,实现具体功能
			return new EnableItemRenderer();
		}
	}
}



视图

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" backgroundAlpha="0.0" width="100%" horizontalAlign="center">
	<!--
	使用参考:
	[Bindable] //定义渲染器 - 是否
	private var enabledRender:IFactory = new EnableItemIFactory();
	<mx:DataGridColumn datafield="enabled" headerText="是否启用" width="86" itemRenderer="{enabledRender}" />
	-->
	<mx:Style>
		.upText{color:#00661A; textAlign:right;}
		.downText{color:#FF0000; textAlign:right;}
	</mx:Style>
	<mx:Script>
		<![CDATA[
			[Embed(source='assets.png')]
			private static const tick:Class;
			[Embed(source='assets.png')]
			private static const cross:Class;
			
			[Bindable]
			private var class_name:String;
			private function getimage(data:Object):Object {if('1'==data.enabled||true==data.enabled||'true'==data.enabled||1==Number(data.enabled)){
				class_name='upText';
				return tick;
			}else{
				class_name='downText';
				return cross;
			}
			}
			
			public function getState(value:String):String{
				if('1'==value){
					return "是";//"../assets/images/icon/user_female.png";}
					return "否";//"../assets/images/icon/user_suit.png";
				}]]>
	</mx:Script>
	<mx:Image id="stateImage" source="{getimage(this.data)}"/>
</mx:HBox>



引用:


[Bindable] //定义渲染器 - 是否
	private var enabledRender:IFactory = new EnableItemIFactory();
	<mx:DataGridColumn datafield="enabled" headerText="是否启用" width="86" itemRenderer="{enabledRender}" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐