【发布时间】:2014-04-02 17:09:40
【问题描述】:
我一直在开发基于 Adobe Flex (v3.5 Flex SDK) 的应用程序,我有一个关于如何从 ItemRenderer 文件访问(调用)以 MXML 文件(嵌入脚本标签)编写的方法的问题。
MXML 组件有一个数据网格,对于其中一列,itemrenderer 是我自己的自定义项渲染器。
在我的自定义项渲染器中,对于某些事件,我需要调用其父 MXML 组件中存在的方法。我们如何访问它的父 MXML 实例?
我在 google 中对此进行了探索,发现我们可以访问引用数据网格的 dataProvider 的“数据”对象。但我想访问具有数据网格的 MXML 组件实例(以便我可以在其中调用方法)。
AdvancedDataGrid中的AdvancedDataGridColumn是这样的
<mx:AdvancedDataGridColumn dataField="total" headerText="Total" width="120" itemRenderer="renderers.MyItemRenderer"/>
这里MyItemRenderer是一个单独的动作脚本文件。
感谢您的回复。
谢谢
拉古
【问题讨论】:
-
您是否在数据网格中使用内部 MXML 组件作为 MXML 组件中的项目渲染器?
-
顺便说一句,您应该发布您的代码。
-
没有。我有 ItemRenderer 的单独操作脚本文件
-
您可以从项目渲染器中调度 AdvancedDataGrid 上的自定义事件并监听它。就我个人而言,我不喜欢在我的项目渲染器中包含太多逻辑:它们只是渲染器而不是组件。这样您就可以在其他情况下轻松地重用您的项目渲染器(并且不实施分叉,因为行为不一样)。
-
好的。明白你的意思了。我也可以这样使用吗?在 ItemRenderer 的 listData(value:BaseListData) 方法中,AdvancedDataGridListData(value).owner.owner ?第一个所有者是指 AdvancedDataGrid,它的所有者是指 MXML 组件?
标签: apache-flex mxml itemrenderer advanceddatagrid