<?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>