<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" creationComplete="init()" ??????????? ?? xmlns:s="library://ns.adobe.com/flex/spark" ??????????? ?? xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> ??? <fx:Style> ??????? @namespace s "library://ns.adobe.com/flex/spark"; ??????? @namespace mx "library://ns.adobe.com/flex/mx"; ??????? .upPwdButton { ??????????? width:26px; ??????????? upSkin: Embed(source="../assets/images/icon/ico_lock.gif"); ??????????? overSkin: Embed(source="../assets/images/icon/ico_lock.gif"); ??????????? downSkin: Embed(source="../assets/images/icon/ico_lock.gif"); ??????? } ??????? .upUserInfoButton { ??????????? width:26px; ??????????? upSkin: Embed(source="../assets/images/icon/user_edit.png"); ??????????? overSkin: Embed(source="../assets/images/icon/user_edit.png"); ??????????? downSkin: Embed(source="../assets/images/icon/user_edit.png"); ??????? } ??????? ??????? .removeUserButton { ??????????? width:26px; ??????????? upSkin: Embed(source="../assets/images/icon/user_delete.png"); ??????????? overSkin: Embed(source="../assets/images/icon/user_delete.png"); ??????????? downSkin: Embed(source="../assets/images/icon/user_delete.png"); ??????? } ??? </fx:Style> ??? <fx:Script> ??????? <![CDATA[ ??????????? import mx.collections.ArrayCollection; ??????????? import mx.controls.Alert; ??????????? import mx.controls.Image; ??????????? import mx.rpc.events.FaultEvent; ??????????? import mx.rpc.events.ResultEvent; ??????????? ??????????? import spark.components.Button; ??????????? ??????????? [Bindable] ??????????? private var gridList:ArrayCollection =null; ??????????? ??????????? /** ??????????? ?* 页面加载完就要执行的函数/creationComplete,页面加载完执行的事件,什么叫事件?温习一下javascript先。 ??????????? ?*/ ??????????? private function init():void{ ??????????????? //调用RemoteObject标识为gridTestService的服务,这个服务通过remoting-config.xml定义指向了类,getUsers就是这个类的方法,返回的是Java List ??????????????? gridTestService.getUsers(0,0); ??????????? } ??????????? ??????????? /** ??????????? ?* 服务请求成功后函数 ??????????? ?*/ ??????????? protected function gridTestServiceFaultHandler(event:FaultEvent):void{ ??????????????? // TODO Auto-generated method stub ??????????????? Alert.show("你也有今天,失败了/n"+event.message.toString(),""); ??????????? } ??????????? ??????????? /** ??????????? ?* 服务失败后的函数 ??????????? ?*/ ??????????? protected function gridTestServiceResultHandler(event:ResultEvent):void{ ??????????????? //类型转一下 ??????????????? gridList = ArrayCollection(event.result); ??????????? } ??????????? ??????????? /***/ ??????????? ??????????? ??????? ]]> ??? </fx:Script> ??? <fx:Declarations> ??????? <!-- 将非可视元素(例如服务、值对象)放在此处 --> ??????? <s:RemoteObject id="gridTestService" destination="TestGridSimple" fault="gridTestServiceFaultHandler(event)" result="gridTestServiceResultHandler(event)"> ??????????? <s:method name="updateUserPwdHandler"/> ??????? </s:RemoteObject> ??? </fx:Declarations> ??? <mx:AdvancedDataGrid id="user_adg1" x="6" y="10" width="1186" height="532" ??????????????????????? ?dataProvider="{gridList}" designViewDataType="flat"> ??????? <mx:columns> ??????????? <!--name对应User的属性--> ??????????? <mx:AdvancedDataGridColumn dataField="name" headerText="用户姓名"/> ??????????? <!--数字1为男,女士优先吧,itemRenderer呈示器,renderer.SexItemRenderer为自定义呈示器,在headerText属性结束的位置按alt加“/”可以自动创建一个,进去后修改一下,对于sex这样的渲染,可以更简单,这里只为先适应后面复杂的应用--> ??????????? <mx:AdvancedDataGridColumn dataField="sex" headerText="性别" textAlign="left" width="56" itemRenderer="renderer.SexItemRenderer"/> ??????????? <mx:AdvancedDataGridColumn dataField="qq" headerText="qq"/> ??????????? <mx:AdvancedDataGridColumn dataField="email" headerText="email"/> ??????????? <mx:AdvancedDataGridColumn dataField="msn" headerText="msn"/> ??????????? <mx:AdvancedDataGridColumn dataField="address" headerText="详细地址"/> ??????????? ??????????? <mx:AdvancedDataGridColumn dataField="duty" headerText="职务"/> ??????????? <mx:AdvancedDataGridColumn dataField="phone" headerText="联系电话"/> ??????????? <mx:AdvancedDataGridColumn dataField="company" headerText="公司名称"/> ??????????? <mx:AdvancedDataGridColumn dataField="description" headerText="说明"/> ??????????? <!--login是对象,后面会把他解析为可以修改密码按钮--> ??????????? <mx:AdvancedDataGridColumn dataField="login" headerText="操作" textAlign="center" width="86"> ??????????????? <mx:itemRenderer> ??????????????????? <fx:Component> ??????????????????????? <mx:HBox textAlign="center" x="1" horizontalAlign="center" horizontalGap="3" ??????????????????????????????? ?verticalAlign="middle"> ??????????????????????????? <mx:Button click="updateUserPwdHandler(data)" label="" styleName="upPwdButton"> ??????????????????????????????? <fx:Script> ??????????????????????????????????? <![CDATA[ ??????????????????????????????????????? public function updateUserPwdHandler(item:Object):void{ ??????????????????????????????????????? ??? trace(item.id,item.login.username); ??????????????????????????????????????? } ??????????????????????????????????? ]]> ??????????????????????????????? </fx:Script> ??????????????????????????? </mx:Button> ??????????????????????????? <mx:Button label="" styleName="removeUserButton"> ??????????????????????????????? ??????????????????????????? </mx:Button> ??????????????????????????? ??????????????????????????? <mx:Button label="" styleName="upUserInfoButton"> ??????????????????????????????? ??????????????????????????? </mx:Button> ??????????????????????? </mx:HBox> ??????????????????? </fx:Component> ??????????????? </mx:itemRenderer> ? ??????????? </mx:AdvancedDataGridColumn> ??????? </mx:columns> ??? </mx:AdvancedDataGrid> </s:Application> |