- 浏览: 610823 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
fei33423:
同意你的说法. hbase 的强一致性分为两部分来说. 数据分 ...
浅谈Hbase 的强一致性 -
zengwenbo5566:
,高人,刚安装了 genymotion 那个附带 virtu ...
VirtualBox报错Unable to load R3 module GetLastError=1790 (VERR_UNRESOLVED_ERROR -
kabike:
QQ1289714862 写道这代码有问题吧 bar1 bar ...
AtomicBoolean运用 -
QQ1289714862:
这代码有问题吧 bar1 bar2 那来的 你是不是new了两 ...
AtomicBoolean运用 -
DEMONU:
需要依赖这么多东西啊
hbase 0.96和hadoop 2.2 java 客户端的jar依赖
http://kabike.iteye.com/blog/1851032里我们已经有了列表页面,下面弄个简单的"列表-查看"页面.在传统的web程序中,查看页面往往是url的跳转.在flash中,页面的迁移则可以用组件的显示与隐藏来进行.
先看一个半成品.
列表页面和查看页面就这么暴露在光天化日之下.为了实现web页面那种效果,我们可以用viewStack那一套把这两个容器装进一个更大的容器中,控制大容器子容器的显示,或者用view state,这里我们用一下页面state.
最终代码如下:
注意到我们一开始用
定义了这个application所能够切换的所有状态.其中列表里的第一个将作为这个页面的初始状态.
在列表和详细容器上,则利用includeIn这个属性指定这个容器应该在哪个状态时出现.而this.currentState="list";这样的语句则将当前的application的状态进行切换,
这个是列表页面
这个是详细页面
先看一个半成品.
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()"> <fx:Declarations> <s:RemoteObject id="studentRO" destination="student"> <s:method name="findStudentList" result="studentList=event.result as ArrayCollection"/> </s:RemoteObject> </fx:Declarations> <fx:Script> <![CDATA[ import com.crap.event.CrapEvent; import com.crap.model.Student; import mx.collections.ArrayCollection; import mx.controls.Alert; [Bindable] private var currentStudent:Student; [Bindable] private var studentList:ArrayCollection; private function init():void{ this.addEventListener("edit",foo); this.addEventListener("show",onShow); } private function onShow(event:CrapEvent):void{ var student:Student=event.data as Student; this.currentStudent=student; } private function onShowReturn():void{ } private function foo(event:CrapEvent):void{ var student:Student=event.data as Student; Alert.show(event.type+student.id); } ]]> </fx:Script> <s:VGroup> <s:Button label="刷新" click="studentRO.findStudentList()"/> <s:DataGrid id="studentDG" width="100%" dataProvider="{studentList}"> <s:columns> <s:ArrayList> <s:GridColumn dataField="id" headerText="ID"/> <s:GridColumn dataField="name" headerText="姓名"/> <s:GridColumn headerText="操作"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer> <fx:Script> <![CDATA[ import com.crap.event.CrapEvent; import com.crap.model.Student; private function sendEvent(type:String,data:Student):void{ var event:CrapEvent=new CrapEvent(type,true); event.data=data; this.dispatchEvent(event); } ]]> </fx:Script> <s:layout> <s:HorizontalLayout/> </s:layout> <s:Button label="编辑" click="sendEvent('edit',data as Student)"/> <s:Button label="查看" click="sendEvent('show',data as Student);"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> </s:ArrayList> </s:columns> </s:DataGrid> </s:VGroup> <s:VGroup width="100%" x="30" y="400"> <s:Label text="{currentStudent.name}"/> <s:Button label="返回" click="onShowReturn()"/> </s:VGroup> </s:Application>
列表页面和查看页面就这么暴露在光天化日之下.为了实现web页面那种效果,我们可以用viewStack那一套把这两个容器装进一个更大的容器中,控制大容器子容器的显示,或者用view state,这里我们用一下页面state.
最终代码如下:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()"> <fx:Declarations> <s:RemoteObject id="studentRO" destination="student"> <s:method name="findStudentList" result="studentList=event.result as ArrayCollection"/> </s:RemoteObject> </fx:Declarations> <fx:Script> <![CDATA[ import com.crap.event.CrapEvent; import com.crap.model.Student; import mx.collections.ArrayCollection; import mx.controls.Alert; [Bindable] private var currentStudent:Student; [Bindable] private var studentList:ArrayCollection; private function init():void{ this.addEventListener("edit",foo); this.addEventListener("show",onShow); } private function onShow(event:CrapEvent):void{ var student:Student=event.data as Student; this.currentStudent=student; this.currentState="show"; } private function onShowReturn():void{ this.currentState="list"; } private function foo(event:CrapEvent):void{ var student:Student=event.data as Student; Alert.show(event.type+student.id); } ]]> </fx:Script> <s:states> <s:State name="list"/> <s:State name="add"/> <s:State name="edit"/> <s:State name="show"/> </s:states> <s:VGroup includeIn="list"> <s:Button label="刷新" click="studentRO.findStudentList()"/> <s:DataGrid id="studentDG" width="100%" dataProvider="{studentList}"> <s:columns> <s:ArrayList> <s:GridColumn dataField="id" headerText="ID"/> <s:GridColumn dataField="name" headerText="姓名"/> <s:GridColumn headerText="操作"> <s:itemRenderer> <fx:Component> <s:GridItemRenderer> <fx:Script> <![CDATA[ import com.crap.event.CrapEvent; import com.crap.model.Student; private function sendEvent(type:String,data:Student):void{ var event:CrapEvent=new CrapEvent(type,true); event.data=data; this.dispatchEvent(event); } ]]> </fx:Script> <s:layout> <s:HorizontalLayout/> </s:layout> <s:Button label="编辑" click="sendEvent('edit',data as Student)"/> <s:Button label="查看" click="sendEvent('show',data as Student);"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> </s:ArrayList> </s:columns> </s:DataGrid> </s:VGroup> <s:VGroup width="100%" includeIn="show"> <s:Label text="{currentStudent.name}"/> <s:Button label="返回" click="onShowReturn()"/> </s:VGroup> </s:Application>
注意到我们一开始用
<s:states> <s:State name="list"/> <s:State name="add"/> <s:State name="edit"/> <s:State name="show"/> </s:states>
定义了这个application所能够切换的所有状态.其中列表里的第一个将作为这个页面的初始状态.
在列表和详细容器上,则利用includeIn这个属性指定这个容器应该在哪个状态时出现.而this.currentState="list";这样的语句则将当前的application的状态进行切换,
这个是列表页面
这个是详细页面
发表评论
-
actionscript3里的as关键字和强制类型转换
2013-09-11 10:45 1696原来一直以为as是用来类型强制转换的,结果发现用as不能把st ... -
flex中datagrid使用itemrender后的排序
2013-09-02 17:21 607一直以为设置了labelfunction或者使用了itemre ... -
flex组件在鼠标悬浮时变成手型
2013-08-28 14:09 847只需要设置useHandCursor和buttonMode两个 ... -
设置itemCreationPolicy使页面创建时元素已经创建
2013-08-28 14:07 911<?xml version="1.0" ... -
flex rpc通信时,使鼠标处于busy状态
2013-08-28 14:04 685可以使用CursorManager来控制.但是remoteOb ... -
flex 移除dataprovider里的项目时,ItemRenderer set方法传值为null
2013-08-28 13:52 1702<?xml version="1.0" ... -
actionscript package level function 包级别函数
2013-07-30 16:04 963在java中,所有的函数只能定义在类中,而as中,functi ... -
不同语言中的字符串split
2013-07-30 16:01 929javascript中 function bar() { ... -
flex只读属性Bindable
2013-07-30 15:59 1318flex中,属性上标记Bindable,在属性变化时能进行数据 ... -
flex图表坐标标签旋转(Rotating chart axis labels)
2013-07-09 08:41 1455flex图表的横坐标可以旋转90度,尽可能节省空间. 具体方法 ... -
flex中的变量
2013-06-11 18:53 1740<?xml version="1.0" ... -
flex中利用Spacer布局
2013-05-19 21:22 2047比如在html中,为了让一个元素靠左,一个元素靠右,可以依靠f ... -
as的this和js的this
2013-05-19 20:54 952在js中,我们会随手写下这样的代码 <html> ... -
Flex的一点入门经验(9)--强制更新datagrid
2013-05-19 20:14 3924比如我们有个如下的VO [Bindable] pub ... -
Flex的一点入门经验(8)--itemRenderer与外部组件的通信
2013-05-19 19:39 3417比如我们有个如下的VO package com.cra ... -
Flex的一点入门经验(7)--spark组件的滚动条
2013-05-19 14:32 2831在原来的mx组件中,如果子元素大小超过了container的大 ... -
Flex的一点入门经验(6)--spark ButtonBar组件的问题
2013-05-15 23:52 3240运行以下代码 <?xml version=&quo ... -
Flex的一点入门经验(5)--flex的DataGrid中自定义显示项目
2013-05-04 11:58 1239有如下一个简单的VO,有两个属性name和capacity. ... -
Flex的一点入门经验(4)--分页,又见分页
2013-05-01 11:19 1835基本各种列表都和分页有着密不可分的关系. 在barServer ... -
Flex的一点入门经验(2)--itemRenderer的使用
2013-04-28 13:03 6248http://kabike.iteye.com/blog/18 ...
相关推荐
本实例主要探讨的是FLEX中`transition`和`state`的综合应用,这两个特性是FLEX界面动态效果和组件状态管理的核心。 首先,让我们深入理解`transition`和`state`的概念: 1. **Transition(过渡效果)**: 过渡...
标题 "FLEX入门实例--------各种Effect的综合运用" 指的是一个介绍Adobe Flex中Effect使用的教程。Flex是一个开源框架,用于构建富互联网应用程序(RIA),它基于ActionScript和MXML语言。本教程可能着重于如何在...
flex-messaging-core-4.7.3.jar 最新版,下载了好长时间才下载下来,亲测可用!
本教程将引导你入门 Flex 中的位图切割和人物行走动画的实现,这是许多2D游戏中的基本技术。 一、位图切割(Bitmap Data Cutting) 位图切割是将大的图像资源分割成多个小的、可独立操作的部分,这在游戏开发中...
请下载part1 博文链接:https://hacker47.iteye.com/blog/182250
非常好DEMO参考,这个项目已经转到Apache名下了,最新的版本1.2,308个例子,已经全站打包,搜索:flex-tour-de-flex-component-explorer-1.2-308demo。开源代码http://flex.apache.org/download-tourdeflex.html
离线安装包,亲测可用
资源包含flex-2.5.4+bison-2.4.1+mingw,此外包含本人写的测试源码,编译命令及详细过程,另附一些有用的文章pdf,用于编译原理课程学习。详细使用参考文章:...
flex-messaging-core-amf1.7