理解 Flex itemRenderer 第 3 部分: 通信
原文地址:http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt3.html
在本系列的第 2 部分中, 我向您展示了如何使用 MXML 和 ActionScript 创建外部 itemRenderer。在我用过的示例中, 有一个调度自定事件 BuyBookEvent 的 Button-这样应用程序可以对它作出响应。本文进一步讨论与 itemRenderer 的通信。
我坚信有一条规则是永远不能违背的: 不能抓住 itemRenderer 的实例不放, 更改它 (设置公共属性) 或调用它的公共方法。这对我而言是一个禁忌。itemRenderer 是很难弄清的, 我在第 1 部分中说到了其中的缘由: itemRenderer 是循环使用的。抓住一个会破坏 Flex 框架。
请将这条规则谨记在心, 您可以使用 itemRenderer 完成以下操作:
itemRenderer 可以通过它的列表所有者调度事件。 (您已经看到过冒泡; 这个做法更好, 接下来您就会看到。)
itemRenderer 可以使用静态类成员。其中包括 Application.application。如果您的值“全局”存储在应用程序对象中, 您可以通过这种方式获得它们。
itemRenderer 可以使用拥有它的列表的公共成员。接下来您就会看到。
itemRenderer 可以使用数据记录中的任何内容。例如, 记录中的某个项目不用于直接显示, 但它却影响 itemRenderer 的行为方式。
本系列包含以下文章:
第 1 部分: 内联渲染器
第 2 部分: 外部渲染器
第 3 部分: 通信
第 4 部分: 状态和过渡
第 5 部分: 效率
要求
为了充分利用本文, 您需要以下软件和文件:
Flex Builder 3
必要条件
要从本文中受益, 您最好熟悉 Flex Builder 和 ActionScript 3.0。
动态更改 itemRenderer
以下是上一篇文章中用于 TileList 的 MXML itemRenderer。我将使它对外部源 (我将这个文件称为 BookItemRenderer.mxml) 的更改作出反应, 从而使它更生动:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="250" height="115" >
<mx:Script>
<!--[CDATA[
]]>
</mx:Script>
<mx:Image id="bookImage" source="{data.image}" />
<mx:VBox height="115" verticalAlign="top" verticalGap="0">
<mx:Text text="{data.title}" fontWeight="bold" width="100%"/>
<mx:Spacer height="20" />
<mx:Label text="{data.author}" />
<mx:Label text="Available {data.date}
相关文档:
Flex的事件其实很容易明白,象JAVA语言一样,给某个控件注册一个listener,然后事件发生的时候触发相应的函数,这点我相信大多数人都能够明白。今天我想要说的不是这个,而是更加细节的一些东西。
1.事件的传播过程。
Flex事件有下面三个阶段,当事件发生时依次为:
1.capturing(捕捉)
2.targeting(目标)
3.bubbli ......
1-首先写一个加载外部swf文件的类
package Package
{
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.events.*;
import flash.net.URLRequest;
import mx.core.UIComponent;
import mx.events.FlexEvent;
public class CtmOb ......
Datagrid headerRenderer checkbox to select checkboxes in the row
flex Datagrid checkbox全选
Cookbooks
原文:http://cookbooks.adobe.com/post_Datagrid_headerRenderer_checkbox_to_select_checkbo-7262.html
下载 :src1.zip
CheckBoxHeaderColumn.as
package
{
import mx.controls.dataGridClasses.DataG ......
刚接触flex. 在用HTTPService获取XML格式数据再绑定给DataGrid时.遇到一个很"奇怪"的问题 就是当xml的条目小于等于1时,就会出错. 很是郁闷了一段时间 后来才发现. 问题即不是出在HTTPService上,也不是出在DataGrid上. 而是出在 RESULT_FORMAT_E4X 型数据类型转化为ArrayCollection上 原来 event.result 返回的是ob ......