具有功能的settingflex数据字段

时间:2010-02-06 19:38:21

标签: flex

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

所以基本上我只需要将catId传递给数据域中的函数,但无法使其工作。

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

查看此datagrid列的dataField =“getCategoryName(@catId)”部分。

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


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

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

更新2: 好的,还有一次。外部文档确实有效,只需记住要创建任何想要访问Public的变量。

1 个答案:

答案 0 :(得分: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>