【问题标题】:settingflex datafield with a function使用函数设置flex数据字段
【发布时间】:2011-01-13 22:33:31
【问题描述】:

我似乎无法做到这一点,我读到的所有内容都有点像我的问题,但不完全是。这似乎很容易。我要做的就是使用函数设置数据字段的值。我调用了一个 xml 文件,并且可以从该 xml 设置数据字段的值(在这种情况下,它是一个类别 ID 作为数字)。但是我想通过将它与不同的数据数组相关联来将该数字转换为名称。

所以基本上我只需要将 catId 传递给数据字段中的一个函数,但不能让它工作。

        <mx:DataGridColumn color="0x00101F"  textAlign="center" editable="true" id="categoryField"  headerText="CATEGORY" dataField="getCategoryName(@catId)"  editorDataField="text"></mx:DataGridColumn>

查看此数据网格列的 dataField="getCategoryName(@catId)" 部分。

执行此操作的正确语法是什么?


好的,还有一个问题,我如何从 itemrenderer 访问我在主应用程序中定义的变量。我尝试了outerdocument,但这似乎不起作用。

更新: 没关系,必须使用 parentDocument.. 感谢您的帮助。

更新 2: 好的,再来一次。 Outerdocument 确实有效,只需要记住将您想要访问的任何变量设为 Public。

【问题讨论】:

标签: apache-flex


【解决方案1】:

最快、最简单的选择是使用内联项渲染器:

<mx:DataGridColumn color="0x00101F"  textAlign="center" editable="true" id="categoryField" headerText="CATEGORY" editorDataField="text">
    <mx:itemRenderer>
        <mx:Component>
            <mx:Label text="{foo(data)}" />
            <mx:Script>
            <![CDATA[
                private function foo(data:Object):String
                {
                     // do something with data.@catId and return it..
                }
            ]]>
            </mx:Script>
        </mx:Component>
    </mx:itemRenderer>
</mx:DataGridColumn>

【讨论】:

    猜你喜欢
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    相关资源
    最近更新 更多