- 浏览: 610874 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
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/1850988里我们已经产生了一个列表,不过列表的最后一列往往都是操作,现在我们在最后一列添加几个按钮
现在看到后面出现按钮了,
下面要添加一些事件
首先在barClient.mxml(就是我们一直用的这个文件)中定义一个函数,然后期望在按钮的click事件中触发它
结果发现两个错误,指出"调用的方法 foo 可能未定义。"
这是怎么回事呢?
在flex中,每个mxml文件最终会编译为as文件来执行,我们先在barClient这个工程加上-keep-generated-actionscript选项,保留产生的as文件
会发现barClient和它的那个itemRenderer会分别编译成一个类,
事实上,我们用的这种itemRenderer是inline itemRenderer,它和一个外部的itemRenderer没什么本质的区别.
为了在itemRenderer中引用那个foo函数,我们可以把foo首先改成public,然后button改成如下形式
outerDocument是向外面这个document的引用...
突然想起如果是java的话,itemRenderer应该编译成outerDocument的内部类,那么那个foo方法就不用搞成public的了
现在已经可以工作了,不过每次看着那个public的foo方法总是感觉不爽.因此更好的方案是利用event.itemRenderer的职责应该是显示,然后产生一个event,让外部组件来处理这个事件.
改进后代码如下
这样foo方法摇身一变,成了一个eventhandler,但是它仍然是private的,注意
var event:CrapEvent=new CrapEvent(type,true);
其中第一个true表示这个事件是冒泡的,因为事件是itemRenderer发出的,而handler注册在application上,因此冒泡是必须的.
CrapEvent是一个普普通通的自定义事件.
<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> <s:layout> <s:HorizontalLayout/> </s:layout> <s:Button label="编辑"/> <s:Button label="查看"/> </s:GridItemRenderer> </fx:Component> </s:itemRenderer> </s:GridColumn> </s:ArrayList> </s:columns> </s:DataGrid>
现在看到后面出现按钮了,
下面要添加一些事件
首先在barClient.mxml(就是我们一直用的这个文件)中定义一个函数,然后期望在按钮的click事件中触发它
结果发现两个错误,指出"调用的方法 foo 可能未定义。"
这是怎么回事呢?
在flex中,每个mxml文件最终会编译为as文件来执行,我们先在barClient这个工程加上-keep-generated-actionscript选项,保留产生的as文件
会发现barClient和它的那个itemRenderer会分别编译成一个类,
事实上,我们用的这种itemRenderer是inline itemRenderer,它和一个外部的itemRenderer没什么本质的区别.
为了在itemRenderer中引用那个foo函数,我们可以把foo首先改成public,然后button改成如下形式
<s:Button label="编辑" click="outerDocument.foo();"/> <s:Button label="查看" click="outerDocument.foo();"/>
outerDocument是向外面这个document的引用...
突然想起如果是java的话,itemRenderer应该编译成outerDocument的内部类,那么那个foo方法就不用搞成public的了
现在已经可以工作了,不过每次看着那个public的foo方法总是感觉不爽.因此更好的方案是利用event.itemRenderer的职责应该是显示,然后产生一个event,让外部组件来处理这个事件.
改进后代码如下
<?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 studentList:ArrayCollection; private function init():void{ this.addEventListener("edit",foo); this.addEventListener("show",foo); } 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:Application>
这样foo方法摇身一变,成了一个eventhandler,但是它仍然是private的,注意
var event:CrapEvent=new CrapEvent(type,true);
其中第一个true表示这个事件是冒泡的,因为事件是itemRenderer发出的,而handler注册在application上,因此冒泡是必须的.
CrapEvent是一个普普通通的自定义事件.
发表评论
-
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 1456flex图表的横坐标可以旋转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的一点入门经验(3)--利用state进行页面切换
2013-04-28 13:38 2734http://kabike.iteye.com/blog/18 ...
相关推荐
在深入学习Flex的ItemRenderer时,我们还可以探索更高级的主题,如使用States管理不同视图,或者利用Effects进行动态效果的实现。总的来说,熟练掌握ItemRenderer能帮助我们创建更具吸引力和交互性的Flex应用,特别...
### Flex ItemRenderer 的详细教程 #### 一、ItemRenderer 概述 在 Flex 开发中,ItemRenderer 是一种非常强大的工具,它允许开发者...掌握 ItemRenderer 的使用方法将大大提高 Flex 应用程序的灵活性和功能多样性。
2. 自定义列定义:如何配置列的宽度、标题、数据类型等属性,以及如何通过itemRenderer自定义单元格的显示。 3. 多级表头:AdvancedDataGrid的多级表头功能,如何设置多级表头以更好地组织和分类数据。 4. 数据...
在Flex手机项目开发中,创建自定义的List组件ItemRenderer是一项常见的需求,目的是为了提供更加丰富和个性化的显示效果。本文将深入探讨如何利用IconItemRenderer来实现这一目标,同时结合具体的实例,介绍两种不同...
本文将深入探讨Flex项呈示器(ItemRenderer)的概念、使用方法,以及如何根据需求定制它来展示用户信息,如头像和等级。 ## 一、Flex项呈示器(ItemRenderer)简介 Flex项呈示器是Adobe Flex框架中的一个组件,其...
在本文中,将首先介绍内联itemRenderer的概念和使用方法,然后探讨itemRenderer的设计目的和Flex框架中的重用机制。接着,会通过示例代码来展示如何创建和使用itemRenderer,以及如何根据数据动态地更改itemRenderer...
Flex中的itemRenderer是一种关键的组件渲染机制,它允许开发者自定义列表或数据集项的显示方式。在Flex应用中,特别是在处理数据集如ArrayCollection时,我们常常需要以不同的方式展示每个项目,例如图片、文本或者...
本文将深入探讨如何使用Flex4创建一个ItemRenderer,以实现类似雅虎聊天界面的效果,并介绍相关的核心概念和技术。 首先,让我们了解ItemRenderer的基本概念。ItemRenderer是Flex中的一种组件,它的主要任务是将...
本文将深入探讨Flex中ItemRenderer的使用方法。 首先,我们需要理解ItemRenderer的基本概念。ItemRenderer是一个轻量级组件,用于呈现数据列表中的单一数据项。当数据提供者中的每一项数据都需要不同的外观或行为时...
2. **创建自定义MXML组件**:MXML是基于XML的标记语言,用于定义Flex应用中的界面布局。通过编写MXML代码,开发者可以设计布局、放置组件,并编写与组件交互的事件处理代码。此外,可以通过ActionScript或MXML创建...
### 理解 Flex_itemRenderer #### 一、Flex_itemRenderer 概述 Flex_itemRenderer 是 Flex 框架中的一个重要概念,它主要用于定义列表、数据网格等控件中的每一项是如何呈现的。通过自定义 itemRenderer,开发者...
flex中经常会使用到渲染器,这里简要介绍一下渲染器的一些知识
在描述中提到的博客链接(由于实际无法访问,此处无法提供具体内容),通常会包含关于如何创建和使用Flex ItemRenderer的教程或技巧。通常,一个教程可能会涵盖以下几点: 1. **创建ItemRenderer**: 你可以通过Flex...
Flex内联itemRenderer是Adobe Flex框架中的一种技术,用于...总之,掌握Flex内联itemRenderer的使用,对于提升Flex应用的用户体验和视觉效果至关重要。通过实践和探索,你可以创造出更加生动、交互丰富的数据展示效果。
综上所述,这个项目可能涉及到一个使用Flex DataGrid展示节目或课程播表的应用,播表数据存储在XML文件中,每个节目单元格通过自定义的ItemRenderer展现,可能包含Flash播放器,并且可以通过点击单元格触发页面跳转...
在Flex开发中,ItemRenderer是一种强大的机制,它允许开发者自定义数据列表或组合框等容器中每一项的显示方式。ItemRenderer是ActionScript类,它扩展了MX或Spark的基类,如mx.controls.listClasses.ItemRenderer或s...
Flex 4 ColumnChart 图表使用实例ColumnChart_RIA前线-Flex富应用、Flex中文教程、Flex实例源码 Flex实现ColumnChart柱图为圆角矩形的itemRenderer - 代码分享 - 开源中国社区 flex 动态生成柱状图,折线图_IT空间_...
### Flex 中获取 ItemRenderer 内容的方法 在 Flex 开发中,经常需要处理列表或集合中的数据,并且根据这些数据创建对应的用户界面元素。ItemRenderer 是一个非常重要的概念,在 Flex 中用于表示列表项的视觉外观。...
在Flex4中,动态生成DataGrid以及应用客户化itemRenderer是一项关键技能,它允许开发者根据运行时的数据结构灵活地创建用户界面。以下是对这个主题的详细解释: 首先,`DataGrid`组件是Flex中用于展示表格数据的...
- MXML文件可以继承自`MX:ListBase`的`ItemRenderer`类或者Spark的`ListBase`的`ItemRenderer`类,具体取决于你使用的Flex版本。 - 在内渲染器中,可以使用数据绑定将数据模型的属性与组件的属性关联起来。 3. **...