Flex4中ItemRenderer组件如何向主Application中传递数据?设想用分派事件的方法,望大师指教~

我想实现的功能是,在DataGroup中用ItemRenderer展示人物简要信息(包括头像和姓名,其DataProvider为一个名为membersData的Array... 我想实现的功能是,在DataGroup中用ItemRenderer展示人物简要信息(包括头像和姓名,其DataProvider为一个名为membersData的ArrayCollection对象,其渲染器为一个名为MembersItemRenderer.mxml的外部ItemRenderer组件),当点击其中任一个人物,则弹出一个展示了该人物详细信息的Panel。设想是使用自定义事件类的方法,但不知从ItemRenderer中向主Application中传递数据具体该如何实现。下面先贴出代码,请大神们看看。

主Application中:
import events.ShowMembersInfo; 我的自定义事件类
private var membersData:ArrayCollection;
private function initMembersInfo():void
{
membersDisplay.addEventListener("showMembersInfo",showMembersInfo_EventHandler);
}
public function showMembersInfo_EventHandler(event:Event):void
{
MembersInfoPanel.visible = true;
}
<s:DataGroup id="membersDisplay" x="400" y="250"
dataProvider="{membersData}"
itemRenderer="Components.MembersItemRenderer"
creationComplete="initMembersInfo()">
</s:DataGroup>

MembersItemRenderer.mxml文件中:
<fx:Metadata>
[Event(name="showMembersInfo", type="events.ShowMembersInfo")]
</fx:Metadata>

<fx:Script>
<![CDATA[
import events.ShowMembersInfo;
protected function bordercontainer1_clickHandler(Event:MouseEvent):void
{
var eventObject:ShowMembersInfo = new ShowMembersInfo("showMembersInfo",***某一数据***);
dispatchEvent(eventObject);
}
]]>
</fx:Script>
下面的BorderContainer块中包含了人物的头像和姓名,以及click="bordercontainer1_clickHandler(event)"

自定义事件类ShowMembersInfo.as文件中: 下面很囧,请宽容。。。
public class ShowMembersInfo extends Event
{
public var ***某一数据***;
public function ShowMembersInfo(type:String, ***某一数据***)
{
super(type);
this.某一数据 = 某一数据;
}
}

我主要是不了解从ItemRenderer中向主Application中传递数据用的什么方法,数据是什么类型,所以自定义事件中也不知道如何定义,只是凭直觉应由***传递,不会写就先空着了......

刚刚开始学Flex,很多知识都一知半解,自学能力也不强,希望大师们指导一下,最好解答得详细些,帮我完善代码,或者有什么其他更简便的方法也欢迎提供,感激不尽~~~
展开
 我来答
heyu200709
2011-12-31 · TA获得超过158个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:101万
展开全部
用数据绑定嘛,建个单例model,绑定点击的实例(即你要显示的东东Object),再将其在页面上显示就是了!其他一般渲染器都有一个owner属性,其指向的是被渲染的组件,你获取到了主Application的组件,获取页面上其他东西也不难了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式