<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    有才華的人,別忘記給滋潤(rùn)你的那塊土壤施肥

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      28 隨筆 :: 5 文章 :: 147 評(píng)論 :: 0 Trackbacks
         寫(xiě)過(guò)Swing的人都知道,如果使用List的組件或包含List組件如JComboBox,他們的item需要顯示幾個(gè)字段的時(shí)候,需要做額外的動(dòng)作,比如
    在List需要顯示的對(duì)象添加一個(gè)toString方法便能組合顯示出想要的效果,但是有時(shí)候一個(gè)POJO或VO又不允許你添加這么一個(gè)方法。這個(gè)時(shí)候就需要在Renderer中利用反射的機(jī)制能解決所需要的方法。
      
         但是在Flex中就能很方便的解決這樣的問(wèn)題,對(duì)于顯示一個(gè)字段,只需要指定對(duì)應(yīng)字段屬性給labelField即可,當(dāng)需要上述所需要的功能的時(shí)候就得做個(gè)轉(zhuǎn)換了,在Flex的基于List的組件都有一個(gè)labelFunction方法能很簡(jiǎn)單指定所需要顯示的內(nèi)容。
      
         如有這么一個(gè)例子,有一個(gè)對(duì)象他包含一個(gè)name和age,現(xiàn)在需要一個(gè)ComboBox顯示為:“name,age”,下面看例子代碼:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
         creationComplete
    ="init()" backgroundColor="white">
        
    <mx:Script>
            
    <![CDATA[
                
                [Bindable]
                private 
    var cbxDataProvider:Array;
                
                private 
    function init():void
                
    {
                    cbxDataProvider 
    = [
                                
    {name:"kissjava", age:"100"},
                                
    {name:"rocky", age:"88"},
                                
    {name:"jiang", age:"99"}
                    ];
                }

                
                private 
    function cbxDisplayFunction(data:Object):String
                
    {
                    
    var label:String = "";
                    
    if(data.hasOwnProperty("name")){
                        label 
    += data.name + ",";
                    }

                    
    if(data.hasOwnProperty("age")){
                        label 
    += data.age;
                    }

                    
                    
    return label;
                }

            ]]
    >
        
    </mx:Script>
        
    <mx:Text id="text" x="30" y="30" text="這是labelFunction的測(cè)試?yán)?/span>"/>
        
    <mx:ComboBox id="cbx" labelFunction="cbxDisplayFunction" 
           dataProvider
    ="{cbxDataProvider}"    x="30" y="60"/>
    </mx:Application>
          測(cè)試結(jié)果圖為:
      

          這個(gè)labelFunction方法也可用于DataGrid中,如果有時(shí)候需要國(guó)際化之類(lèi)的需求的時(shí)候,labelFunction也還是能派上用處的。
    posted on 2009-08-16 10:32 kissjava 閱讀(1686) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): Flex

    評(píng)論

    # re: Flex Hack 01:labelFunction的使用 2009-08-16 11:04 凡客誠(chéng)品
    不錯(cuò)哦  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 午夜免费福利影院| 亚洲精品无码不卡在线播放| 国外成人免费高清激情视频| 久久精品视频免费播放| 无人视频免费观看免费视频| 麻豆狠色伊人亚洲综合网站| 久久久久久亚洲精品成人| 国产成人综合亚洲AV第一页| 国产成人免费福利网站| 在线观看无码AV网站永久免费| 特级精品毛片免费观看| a在线视频免费观看在线视频三区 a毛片成人免费全部播放 | 永久免费毛片手机版在线看| 久久99热精品免费观看牛牛| www免费黄色网| 男性gay黄免费网站| 亚洲一区二区三区丝袜| 91午夜精品亚洲一区二区三区| 亚洲av丰满熟妇在线播放 | 亚洲免费在线观看| 亚洲爆乳大丰满无码专区| 国产.亚洲.欧洲在线| 亚洲福利一区二区精品秒拍| 亚洲AV无码专区电影在线观看| 国产日产亚洲系列| 亚洲欧洲自拍拍偷精品 美利坚| 免费一区二区三区四区五区 | 91亚洲自偷在线观看国产馆| 久久亚洲免费视频| 亚洲av日韩av高潮潮喷无码| 久久亚洲精品中文字幕三区| 久久精品国产亚洲麻豆| 亚洲啪啪综合AV一区| 好看的亚洲黄色经典| 亚洲大尺度无码专区尤物| 亚洲精品中文字幕乱码三区| 亚洲va中文字幕无码久久不卡| 亚洲AV无码乱码在线观看富二代| 国产亚洲精品岁国产微拍精品| 亚洲AV永久青草无码精品| 亚洲国产老鸭窝一区二区三区|