加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AdvancedDataGrid高级数据网格加入自定义链接按钮LinkButton

发布时间:2020-12-15 03:37:44 所属栏目:百科 来源:网络整理
导读:1. 写一个继承自LinkButton的子类XjhLinkButton,代码如下: //XjhLinkButton.as package org.xjh.components{import flash.events.MouseEvent;import mx.controls.LinkButton;/** * 功能:重写LinkButton的状态颜色 * 样式: * color:字体颜色 * textDecora

1. 写一个继承自LinkButton的子类XjhLinkButton,代码如下:

//XjhLinkButton.as

package org.xjh.components{
	import flash.events.MouseEvent;
	import mx.controls.LinkButton;

	/**
	 * 功能:重写LinkButton的状态颜色 
	 * 样式:
	 * color:字体颜色
	 * textDecoration:下线划(无:normal,有:underline)
	 * textRollOverColor:鼠标滑过时字的颜色
	 * textSelectedColor:鼠标按下时字的颜色,即被选中时的颜色
	 * 创建时间:2014-9-24 上午11:51:28
	 * 修改时间:
	 * 作者:xujianhua
	 */
	public class XjhLinkButton extends LinkButton{
		
		public function XjhLinkButton(){
			super();
			this.alpha = 1; //设置透明度为1,即完全显示状态 
			this.setStyle("color","#0000FF"); //设置初始化字体颜色
		}
		
		//鼠标悬浮在字上
		override protected function rollOverHandler(event:MouseEvent):void{
			super.rollOverHandler(event);
			this.setStyle("textDecoration","underline");//显示下划线
			this.setStyle('textRollOverColor','#FF0000');//设置鼠标滑过时的字体颜色
		}
		
		//鼠标按下
		override protected function mouseDownHandler(event:MouseEvent):void{
			super.mouseDownHandler(event);
			this.setStyle('textDecoration','underline');
			this.setStyle('textRollOverColor','#0000FF');
			this.setStyle('textSelectedColor','#00000FF');//设置被选中时的字体颜色
		}
		
		//鼠标抬起
		override protected function mouseUpHandler(event:MouseEvent):void{
			super.mouseUpHandler(event);
			this.setStyle("color","#BC11C2");//鼠标抬起后更改字体颜色,表示已经点击过
		}
		
		//鼠标移出
		override protected function rollOutHandler(event:MouseEvent):void{
			super.rollOutHandler(event);
			this.setStyle('textDecoration','normal');
			this.setStyle('textRollOverColor','#0000FF');
		}
		
	}
}


2. 写一个含有AdvancedDataGrid的MXML应用AdvancedDataGridTest.mxml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!--
功能:高级数据网格加入自定义按钮测试
-->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   xmlns:xjh="org.xjh.components.*"
			   minWidth="955" minHeight="600">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			[Bindable]
			//定义一个水果数据源
			private var fruitList:ArrayCollection = new ArrayCollection(
				[
					{name:"苹果",count:"100",sprice:10,yprice:8},{name:"梨子",count:"200",sprice:11,yprice:10},{name:"葡萄",count:"300",sprice:6,yprice:4},{name:"香蕉",count:"400",sprice:9,{name:"桃子",count:"500",sprice:5,yprice:3},{name:"哈密瓜",count:"600",sprice:8,yprice:6},{name:"芒果",count:"360",sprice:7,yprice:9}
				]
			);
			
			public function addToShoppingCartBt_clickHandler(event:MouseEvent):void
			{
				Alert.show("这里可以做加入购物车的操作");
			}
		]]>
	</fx:Script>
	<!--Flex4与Flex3 定义布局的不同-->
	<s:layout>
		<s:HorizontalLayout verticalAlign="middle" horizontalAlign="center"/>
	</s:layout>
	<s:Panel title="水果价格一览表"
			 color="0x000000" 
			 borderAlpha="0.15"
			 width="600" >
		<!--定义AdvanceDataGrid组件并且设置相关属性和数据源-->
		<mx:AdvancedDataGrid id="fruitADG" 
							 width="100%" height="100%"
							 color="0X323232" 
							 dataProvider="{fruitList}" >
			<mx:groupedColumns>
				<mx:AdvancedDataGridColumn dataField="name" headerText="水果名字"/>
				<mx:AdvancedDataGridColumn dataField="count" headerText="数量" />
				<mx:AdvancedDataGridColumnGroup headerText="价格对比">
					<mx:AdvancedDataGridColumn dataField="sprice" headerText="市场价"/>
					<mx:AdvancedDataGridColumn dataField="yprice" headerText="优惠价格"/>
				</mx:AdvancedDataGridColumnGroup>
				<mx:AdvancedDataGridColumn headerText="操作">
					<mx:itemRenderer>
						<fx:Component>
							<xjh:XjhLinkButton label="加入购物车" 
							     click="outerDocument.addToShoppingCartBt_clickHandler(event)" />
						</fx:Component>
					</mx:itemRenderer>
				</mx:AdvancedDataGridColumn>
			</mx:groupedColumns>
		</mx:AdvancedDataGrid>
	</s:Panel>
</s:Application>


3. 测试

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读