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

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

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

    有才華的人,別忘記給滋潤你的那塊土壤施肥

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      28 隨筆 :: 5 文章 :: 147 評論 :: 0 Trackbacks
         寫過Swing的人都知道,如果使用List的組件或包含List組件如JComboBox,他們的item需要顯示幾個字段的時候,需要做額外的動作,比如
    在List需要顯示的對象添加一個toString方法便能組合顯示出想要的效果,但是有時候一個POJO或VO又不允許你添加這么一個方法。這個時候就需要在Renderer中利用反射的機制能解決所需要的方法。
      
         但是在Flex中就能很方便的解決這樣的問題,對于顯示一個字段,只需要指定對應字段屬性給labelField即可,當需要上述所需要的功能的時候就得做個轉換了,在Flex的基于List的組件都有一個labelFunction方法能很簡單指定所需要顯示的內容。
      
         如有這么一個例子,有一個對象他包含一個name和age,現在需要一個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的測試例子"/>
        
    <mx:ComboBox id="cbx" labelFunction="cbxDisplayFunction" 
           dataProvider
    ="{cbxDataProvider}"    x="30" y="60"/>
    </mx:Application>
          測試結果圖為:
      

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

    評論

    # re: Flex Hack 01:labelFunction的使用 2009-08-16 11:04 凡客誠品
    不錯哦  回復  更多評論
      

    主站蜘蛛池模板: 中文字幕免费观看全部电影| 亚洲欧洲日产国码www| 亚洲天堂免费在线视频| 免费中文字幕不卡视频| 亚洲无码一区二区三区| 国产精品成人免费福利| 亚洲AV无码一区二区乱孑伦AS| 一个人晚上在线观看的免费视频| 一本久到久久亚洲综合| 日韩在线观看免费完整版视频| 四虎永久免费影院| 永久免费无码日韩视频| 久久久久亚洲爆乳少妇无| 国精产品一区一区三区免费视频 | 亚洲色中文字幕无码AV| 3344在线看片免费| 亚洲va无码专区国产乱码| 日本高清高色视频免费| 99亚洲精品高清一二区| 131美女爱做免费毛片| 精品久久亚洲中文无码| 啦啦啦www免费视频| 国产成人亚洲精品91专区高清| va亚洲va日韩不卡在线观看| 男女一边摸一边做爽的免费视频| 亚洲老妈激情一区二区三区| 99精品视频免费观看| 成人亚洲国产va天堂| 亚洲AV无码乱码在线观看牲色| a毛片在线还看免费网站| 亚洲精品电影在线| 成人影片一区免费观看| 亚洲午夜电影一区二区三区| 久久久国产精品福利免费| 亚洲综合激情另类小说区| 免费无码又爽又刺激高潮| 亚洲第一男人天堂| 亚洲综合另类小说色区色噜噜| 最近免费视频中文字幕大全| 色一情一乱一伦一视频免费看| 亚洲精品无码成人AAA片|