`
ycy303
  • 浏览: 190968 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Flex 3 cookbook翻译: 2.6 设置控件的labelFunction

    博客分类:
  • flex
阅读更多

 

2.6 设置 控件的 labelFunction

2.6.1 问题

你需要综合 data provider 中的不同部分来定制 comboBox 组件里面的标签。

2.6.2 解答

comboBox labelFunction 属性来指派一个自定义的函数,这个函数定义了显示的标签。

2.6.3 讨论

默认情况下, Flex 里的列表组件是在 dataProvider 的项目里寻找 label 属性作为显示的内容。可是,在某些情况下, dataProvider 没有 label 属性,或者你需要显示的内容是从 dataProvider 的项目里的多个部分组合起来的。 labelFunction 属性允许为 dataProvider 的项引用一个用户定义的方法,并为每项返回一个显示标签。

在如下的例子中, comboBox labelFunction 属性包含了对 getFullName 函数的引用,那个函数将 dataProvider 的每项里的 fName lName 部分连接起来并返回这个全名字符串。请看:

 

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="horizontal">

    <mx:ComboBox dataProvider="{myDP}" labelFunction="getFullName"/>

    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            [Bindable]
            private var myDP:ArrayCollection = new ArrayCollection([{id:1,fName:
"Lucky", lName:"Luke"}, {id:2, fName:
"Bart", lName:"Simpson"}]);

            private function getFullName(item:Object):String{
                return item.fName + " " + item.lName;
            }

        ]]>
    </mx:Script>
</mx:Application>
 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics