Flex Datagrid的使用

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
		 creationComplete="init();"
		 verticalAlign="middle"
		 horizontalAlign="center"
		 backgroundColor="#C3E2EE"
		 height="100%"
		 width="100%"   >
	<mx:RemoteObject id="service"
					 destination="userService"
					 showBusyCursor="true"/>
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.events.CloseEvent;
			import mx.managers.PopUpManager;
			import mx.rpc.events.ResultEvent;
			import mx.utils.StringUtil;
			[Bindable]
			private var list:Array;

			public function init():void
			{

				list = [{rowNum:"1", passIdS:"1", deptNameS:"d1",roleNameS:"r1",stateS:"正常"},
					{rowNum:"2", passIdS:"2", deptNameS:"d2",roleNameS:"r2",stateS:"异常"}];
			}

			
			//第一种获取值的方式: itemRenderer的获取方式
			//事件触发方式: 点击itemRenderer中的控件
			public function getValue(obj:Object):void
			{
				//需要说明的是,在取值的过程中,obj后面所跟的那个列的名称需要跟
				//在datagird里面定义的名称大小写完全一样才行,比如要取某一列的序号,必须要使用rowNum
				//其他的都不行,这一点跟Datagrid的取值不太一样,因为Datagrid在从dataProvider里面取值
				//的时候大小写就没有限制
				Alert.show(obj.rowNum.toString()+obj.deptNameS.toString());
				
			}
			
			//第二种获取值的方式: 根据Datagird id值获取选中列的值 
			//事件触发方式: Datagrid的某列被点击
			public function getValue1():void
			{
				//需要说明的是,在取值的过程中,obj后面所跟的那个列的名称需要跟
				//在datagird里面定义的名称大小写完全一样才行,比如要取某一列的序号,必须要使用rowNum
				//其他的都不行,这一点跟Datagrid的取值不太一样,因为Datagrid在从dataProvider里面取值
				//的时候大小写就没有限制
				Alert.show(dg1.selectedItem.rowNum.toString());
				
			}

		]]>
	</mx:Script>
	<mx:VBox width="80%"
			 height="100%">
		<mx:ApplicationControlBar width="100%">
			<mx:Label text="系统管理->用户管理"/>
		</mx:ApplicationControlBar>

		<mx:DataGrid id="dg1"
					 width="100%"
					 height="100%"
					 dataProvider="{this.list}" click="getValue1()">
			<mx:columns>
				<mx:DataGridColumn headerText="序号"
								   width="50"
								   dataField="rowNum"/>
				<mx:DataGridColumn headerText="姓名"
								   dataField="nameS"/>

				<mx:DataGridColumn headerText="账号"
								   dataField="passIdS"/>
				<mx:DataGridColumn headerText="部门"
								   dataField="deptNameS"/>
				<mx:DataGridColumn headerText="角色"
								   dataField="roleNameS"/>

				<mx:DataGridColumn headerText="状态"
								   dataField="stateS"/>
				<mx:DataGridColumn headerText="操作"
								   width="100">
					<mx:itemRenderer>
						<mx:Component>
							<mx:HBox width="100%"
									 horizontalAlign="center"
									 verticalAlign="middle">

								<mx:Label buttonMode="true"
										  useHandCursor="true"
										  mouseChildren="false"
										  text="更新"
										  click="outerDocument.getValue(data)"/>

							</mx:HBox>
						</mx:Component>
					</mx:itemRenderer>
				</mx:DataGridColumn>
			</mx:columns>
		</mx:DataGrid>

	</mx:VBox>
</mx:Application>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值