zoukankan      html  css  js  c++  java
  • Flex的数据基本操作(二)

    Flex中remoting-config.xml内加入的内容:

    	<destination id="GetClasses">
    		<properties>
    			<source>com.stud.ClassesHome</source>
    		</properties>
    	</destination>
    	<destination id="GetStudents">
    		<properties>
    			<source>com.stud.StudentsHome</source>
    		</properties>
    	</destination>

    界面的布局数据:

    	<mx:Panel width="820" height="458" layout="absolute" horizontalCenter="0" y="54" title="学生管理">
    		<mx:Tree x="10" y="10" width="209" height="396" id="treeClasses" labelField="classname"></mx:Tree>
    		<mx:DataGrid x="227" y="13" width="563" height="361" id="_dataGrid">
    			<mx:columns>
    				<mx:DataGridColumn headerText="Column 1" dataField="id" visible="false"/>
    				<mx:DataGridColumn headerText="姓名" dataField="sname"/>
    				<mx:DataGridColumn headerText="年龄" dataField="age"/>
    				<mx:DataGridColumn headerText="家庭住址" dataField="address"/>
    				<mx:DataGridColumn headerText="班级" dataField="classes.id"/>
    			</mx:columns>
    		</mx:DataGrid>
    		<mx:Button x="273" y="382" label="新 增"/>
    		<mx:Button x="342" y="382" label="删 除"/>
    		<mx:Button x="415" y="382" label="修 改"/>
    		<mx:Button x="729" y="382" label="刷 新" click="this.refData();"/>
    	</mx:Panel>
    

    注册出错信息的接收事件:

    			private function rError(evt:FaultEvent):void{
    				Alert.show(evt.fault.toString());
    			}
    接收班级数据的方法及事件:
    			private function getClasses():void{
    				var obj:RemoteObject = new RemoteObject("GetClasses");
    				obj.addEventListener(FaultEvent.FAULT, rError);
    				obj.addEventListener(ResultEvent.RESULT, rClassesAll);
    				obj.GetAll();								
    			}
    			private function rClassesAll(evt:ResultEvent):void{
    				this.treeClasses.dataProvider = evt.result as ArrayCollection;
    			}
    

    接收学生数据的方法及事件:

    			private function getStudents(cid:int):void{
    				var obj:RemoteObject = new RemoteObject("GetStudents");
    				obj.addEventListener(FaultEvent.FAULT, rError);
    				obj.addEventListener(ResultEvent.RESULT, rStudents);
    				if (cid<=0)
    					obj.getAll();
    				//else					
    			}
    			private function rStudents(evt:ResultEvent):void{
    				this._dataGrid.dataProvider = evt.result as ArrayCollection;
    			}
    

    刷新时,一起调用两个方法:

    			private function refData():void{
    				this.getClasses();
    				this.getStudents(0);
    			}

    将refData()方法指定给“刷新”按钮及页面的初始调用事件creationComplete,在程序启动或选择“刷新”功能时,将重新调用班级及学生的数据。

    未能解决的问题:

    1、在dataGrid内显示的数据中,关联字段显示为Object,此数据应该为一个Classes的实例,将数据指定为classes.id,应该是正确,但显示却为空,未能解。

     
  • 相关阅读:
    扫描线算法
    [Baltic 2001]Mars Maps
    Lost Cow
    李超线段树
    多种方法求解Pku3468 A Simple Problem with Integers
    陈老师的福利
    leetcode 673. 最长递增子序列的个数
    #10043.「一本通 2.2 例 1」剪花布条
    PTA7-1
    6-1 实验三哈夫曼树 (15分)
  • 原文地址:https://www.cnblogs.com/wjhx/p/1757191.html
Copyright © 2011-2022 走看看