flex RemoteObject 的两种使用方法
这里使用的是django1.6 和 postgreSQL9.0 FlashBuilder4.5
django方面就不说了,根据文档来做,建好模块,配置好数据库等等


创建 gateway 和 times_get


在url.py加上路径




现在来看 RemoteObject 的两种方法
第一种
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.rpc.AbstractOperation;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.remoting.mxml.RemoteObject;
import mx.formatters.DateFormatter; private function init():void{
var ro:RemoteObject = new RemoteObject();
ro.destination = "times_get";
ro.endpoint = "http://127.0.0.1:8000/gateway/";
var operation:AbstractOperation = ro.getOperation("get");
ro.addEventListener(ResultEvent.RESULT, resultHandler);
ro.addEventListener(FaultEvent.FAULT, faultHandler);
operation.send(); function resultHandler(event:ResultEvent):void{
trace(event.result);
dg.dataProvider = event.result;
} function faultHandler(event:FaultEvent):void{
trace(event.fault);
}
} private function data_function(self:Object, column:DataGridColumn):String{
var df:DateFormatter = new DateFormatter();
//df.formatString = "YYYY-MM-DD JJ:NN:SS";
df.formatString = "YYYY-MM-DD";
return df.format(self.times);
}
]]>
</fx:Script> <mx:DataGrid id="dg" width="100%" height="100%">
<mx:columns>
<mx:DataGridColumn dataField="times" headerText="时间" labelFunction="data_function"/>
</mx:columns>
</mx:DataGrid> </s:WindowedApplication>
如果要使用其他方法 只要把
ro.getOperation("get");的get换成你想要的方法名就行。
operation.send();把想传送的数据放到括号里就行。
第二种
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()"
>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:ChannelSet id="channels">
<s:AMFChannel id="pyamf" uri="http://127.0.0.1:8000/gateway/"/>
</s:ChannelSet> <s:RemoteObject id="ro"
channelSet="{channels}"
destination="times_get"
showBusyCursor="true"
> <s:method name="get"
result="Success(event)"
fault="onFault(event)"/> </s:RemoteObject>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.formatters.DateFormatter; private function init():void{
ro.get();
} private function Success(event:ResultEvent):void{
trace(event.result);
dg.dataProvider = event.result;
} private function onFault(event:FaultEvent):void{
trace(event.fault);
} private function data_function(self:Object, column:DataGridColumn):String{
var df:DateFormatter = new DateFormatter();
//df.formatString = "YYYY-MM-DD JJ:NN:SS";
df.formatString = "YYYY-MM-DD";
return df.format(self.times);
}
]]>
</fx:Script>
<mx:DataGrid id="dg" width="100%" height="100%">
<mx:columns>
<mx:DataGridColumn dataField="times" headerText="时间" labelFunction="data_function"/>
</mx:columns>
</mx:DataGrid>
</s:WindowedApplication>
结果:

flex RemoteObject 的两种使用方法的更多相关文章
- angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用
今天我们要讲的是ng2的路由系统. 例子
- git两种合并方法 比较merge和rebase
18:01 2015/11/18git两种合并方法 比较merge和rebase其实很简单,就是合并后每个commit提交的id记录的顺序而已注意:重要的是如果公司用了grrit,grrit不允许用m ...
- 两种Ajax方法
两种Ajax方法 Ajax是一种用于快速创建动态网页的技术,他通过在后台与服务器进行少量的数据交换,可以实现网页的异步更新,不需要像传统网页那样重新加载页面也可以做到对网页的某部分作出更新,现在这项技 ...
- mysql in 的两种使用方法
简述MySQL 的in 的两种使用方法: 他们各自是在 in keyword后跟一张表(记录集).以及在in后面加上字符串集. 先讲后面跟着一张表的. 首先阐述三张表的结构: s(sno,sname. ...
- C#中的两种debug方法
这篇文章主要介绍了C#中的两种debug方法介绍,本文讲解了代码用 #if DEBUG 包裹.利用宏定义两种方法,需要的朋友可以参考下 第一种:需要把调试方法改成debug代码用 #if DEBU ...
- Service的两种启动方法
刚才看到一个ppt,介绍service的两种启动方法以及两者之间的区别. startService 和 bindService startService被形容为我行我素,而bindService被形容 ...
- jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...
- android studio gradle 两种更新方法更新
android studio gradle 两种更新方法更新 第一种.Android studio更新 第一步:在你所在项目文件夹下:你项目根目录gradlewrappergradle-wrapper ...
- iOS学习——UITableViewCell两种重用方法的区别
今天在开发过程中用到了UITableView,在对cell进行设置的时候,我发现对UITableViewCell的重用设置的方法有如下两种,刚开始我也不太清楚这两种之间有什么区别.直到我在使用方法二进 ...
随机推荐
- Trustie站点代码托管使用指南
"中国人的github"猛击Trustie官网,開始代码托管... 1. 新建项目 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...
- 转:iPhone libxml2 not found during build
在新建的一个项目中,出现编译错误,发现是缺少了libxml2.dylib,后面将这个资源包添加了,编译还是出现标题上所说的问题 #import <libxml/tree.h> //#imp ...
- bzoj4873: [Shoi2017]寿司餐厅(最大权闭合子图)
4873: [Shoi2017]寿司餐厅 大难题啊啊!!! 题目:传送门 题解:一眼题是网络流,但还是不会OTZ,菜啊... %题解... 最大权闭合子图!!! 好的...开始花式建边: 1.对于每个 ...
- Git-如何将已存在的项目提交到git
1.首先在码云或者github上创建一个不带README.md的项目,然后复制远程库的地址(下面以码云为例): 2.进入本地已存在的项目目录:house touch README.md //新建说明 ...
- 设计url 通过分发的方式 Xadmin_demo
如 urlpatterns = [ url(r'^Xadmin/',([ url(r'^add/$', views.add) url(r'^delete/$', views.delete) ], No ...
- IE11 补丁 KB2929437[已过期]
2014年4月 请更新此补丁 KB2929437 开发人员工具有重要更新 DOM 面板右侧新增 "更改"面板,用于记录调试时修改的 CSS Rules: JS 调试面板,新增 so ...
- PostgreSQL中流复制pg_basebackup做了什么
解压PostgreSQL源代码包后可以到如下路径:postgresql-9.2.4\src\backend\replication下可以看到,basebackup.c,另外还可以看到walreceiv ...
- MFC 创建新项目
本文主要介绍如何是使用vc++创建MFC项目,并简单介绍整个项目的基本框架.文件–>新建,会弹出以下新建文件(项目)类型的界面,如下 按上图的步骤u,创建一个MFC工程.其中步骤3中的CardD ...
- 通过浏览器地址进行 post get 请求
首先安装curl 1.post chcp 65001 title 接口测试脚本 d: cd D:\curl\ curl -l -X POST -d "params" url ech ...
- GIMP类似于PhotoShop的开源免费软件
首先我们先看看他的界面如何,都有哪些功能!而且它支持多种平台,可以在MacOS.Windows.Linux操作系统上使用.非常值得推荐! 1.官方地址下载地址: https://www.gimp. ...