<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
         今天有人問我flex中怎樣向DataGrid添加背景圖片,以及怎樣使表格透明。
       其實這個查下文檔就知道,可以如下用setStyle設置:

    dataGrid.setStyle('backgroundAlpha',alpha)
      
        但是,沒多久又告訴我,表頭并不透明,看不到后面的背景圖片,查了下api,簡單繼承下DataGrid,重寫drawHeaderBackground方法就行,如:

    override protected function drawHeaderBackground(headerBG:UIComponent):void
     
    {
       
    //透明參數
       headerBG.alpha = _headerAlpha;
      
    //是否可見
       headerBG.visible = _headerVisible;
       
       
    super.drawHeaderBackground(headerBG);
     }

    效果如下:
    1,未處理的DataGrid,表格不透明


    2,處理DataGrid后


    測試效果可以點擊:http://www.munkiihouse.com/flexapps/StyleDataGrid/StyleDataGridDemo.html

    代碼:
    1、繼承于DataGrid:
    package com.mh.components
    {
     
    import mx.controls.DataGrid;
     
    import mx.core.UIComponent;
     
    public class StyleDataGrid extends DataGrid
     
    {
      
      
    private var _headerBGAlpha:Number = 1;  
      
    public function set headerBGAlpha(value:Number):void
      
    {
       _headerBGAlpha 
    = value;
       invalidateDisplayList();
      }

      
      
    private var _headerBGVisible:Boolean = true;  
      
    public function set headerBGVisible(value:Boolean):void
      
    {
       _headerBGVisible 
    = value;
       invalidateDisplayList();
      }

    2、測試用例:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:mhc="com.mh.components.*" backgroundColor="#FF8000" backgroundGradientColors="[#ff8040, #e14900]">

     
     
    <mx:Panel x="10" y="10" width="550" height="500" layout="absolute" title="Albums" paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10" backgroundImage="@Embed('bg.jpg')">
      
    <mhc:StyleDataGrid id="sdg_albums" dataProvider="{Catalog.cataglog}" left="10" right="10" top="10" bottom="10">  
       
    <mhc:columns>
        
    <mx:DataGridColumn dataField="ARTIST" headerText="Artist" width="200" />
        
    <mx:DataGridColumn dataField="TITLE" headerText="Title" />
        
    <mx:DataGridColumn dataField="YEAR" headerText="Year" width="60" />
       
    </mhc:columns>  
      
    </mhc:StyleDataGrid>
     
    </mx:Panel>
     
     
     
    <mx:Panel x="568" y="10" width="300" height="200" layout="vertical" title="Controls" paddingTop="10" paddingRight="10" paddingBottom="10" paddingLeft="10">
      
    <mx:FormItem label="Header Alpha:"  width="100%" labelWidth="120">
       
    <mx:HSlider id="hs_h_alpha" value="1" minimum="0" maximum="1" snapInterval="0.1" allowTrackClick="true" change="{sdg_albums.headerBGAlpha = hs_h_alpha.value}" width="100"/>   
      
    </mx:FormItem>
      
      
    <mx:FormItem label="Header Visable:"  labelWidth="120">
       
    <mx:CheckBox id="cb_visible" label="Visable" selected="true" change="{sdg_albums.headerBGVisible = cb_visible.selected}"/>     
      
    </mx:FormItem>
      
    <mx:FormItem label="Background Alpha:"  width="100%" labelWidth="120">
       
    <mx:HSlider id="hs_bg_alpha" value="0.5" minimum="0" maximum="1" snapInterval="0.1" allowTrackClick="true" change="{sdg_albums.setStyle('backgroundAlpha',hs_bg_alpha.value)}" width="100"/>   
      
    </mx:FormItem>
     
    </mx:Panel>
     
    </mx:Application>


    3、測試數據:
    package
    {
     public class Catalog
     {
      
      public static function get cataglog():XMLList
      {
       return catalog..CD;
      }
      
      private static var catalog:XML = 
    <CATALOG>
         
    <CD>
           
    <TITLE>Empire Burlesque</TITLE>
           
    <ARTIST>Bob Dylan</ARTIST>
           
    <COUNTRY>USA</COUNTRY>
           
    <COMPANY>Columbia</COMPANY>
           
    <PRICE>10.90</PRICE>
           
    <YEAR>1985</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>Hide your heart</TITLE>
           
    <ARTIST>Bonnie Tylor</ARTIST>
           
    <COUNTRY>UK</COUNTRY>
           
    <COMPANY>CBS Records</COMPANY>
           
    <PRICE>9.90</PRICE>
           
    <YEAR>1988</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>Greatest Hits</TITLE>
           
    <ARTIST>Dolly Parton</ARTIST>
           
    <COUNTRY>USA</COUNTRY>
           
    <COMPANY>RCA</COMPANY>
           
    <PRICE>9.90</PRICE>
           
    <YEAR>1982</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>Romanza</TITLE>
           
    <ARTIST>Andrea Bocelli</ARTIST>
           
    <COUNTRY>EU</COUNTRY>
           
    <COMPANY>Polydor</COMPANY>
           
    <PRICE>10.80</PRICE>
           
    <YEAR>1996</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>When a man loves a woman</TITLE>
           
    <ARTIST>Percy Sledge</ARTIST>
           
    <COUNTRY>USA</COUNTRY>
           
    <COMPANY>Atlantic</COMPANY>
           
    <PRICE>8.70</PRICE>
           
    <YEAR>1987</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>Black angel</TITLE>
           
    <ARTIST>Savage Rose</ARTIST>
           
    <COUNTRY>EU</COUNTRY>
           
    <COMPANY>Mega</COMPANY>
           
    <PRICE>10.90</PRICE>
           
    <YEAR>1995</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>1999 Grammy Nominees</TITLE>
           
    <ARTIST>Many</ARTIST>
           
    <COUNTRY>USA</COUNTRY>
           
    <COMPANY>Grammy</COMPANY>
           
    <PRICE>10.20</PRICE>
           
    <YEAR>1999</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>For the good times</TITLE>
           
    <ARTIST>Kenny Rogers</ARTIST>
           
    <COUNTRY>UK</COUNTRY>
           
    <COMPANY>Mucik Master</COMPANY>
           
    <PRICE>8.70</PRICE>
           
    <YEAR>1995</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>Big Willie style</TITLE>
           
    <ARTIST>Will Smith</ARTIST>
           
    <COUNTRY>USA</COUNTRY>
           
    <COMPANY>Columbia</COMPANY>
           
    <PRICE>9.90</PRICE>
           
    <YEAR>1997</YEAR>
         
    </CD>
         
    <CD>
           
    <TITLE>Tupelo Honey</TITLE>
           
    <ARTIST>Van Morrison</ARTIST>
           
    <COUNTRY>UK</COUNTRY>
           
    <COMPANY>Polydor</COMPANY>
           
    <PRICE>8.20</PRICE>
           
    <YEAR>1971</YEAR>
         
    </CD>

       
    </CATALOG>;
     }
    }
    posted on 2009-03-27 22:59 kissjava 閱讀(4550) 評論(4)  編輯  收藏 所屬分類: Flex

    評論

    # re: DataGrid透明顯示背景圖片,及表頭透明 2009-04-30 11:54 謝謝
    flex3沒試成功,源程序是flex2版的
    樓主請指點: xwy55555@msn.com  回復  更多評論
      

    # re: DataGrid透明顯示背景圖片,及表頭透明 2009-05-02 23:49 枯寬
    沒用過flex2,不知道有什么錯誤?  回復  更多評論
      

    # 就好玩小游戲 2009-06-03 11:01 www.9haowan.com
    http://www.munkiihouse.com/flexapps/StyleDataGrid/srcview/index.html

    這有源碼:flex3可以成功的。  回復  更多評論
      

    # 請求幫個忙 2012-08-23 19:33 李志奎
    這個文章的解決方案,麻煩您能不能指導一下,郵箱lsksll@163.com

    急用,謝謝  回復  更多評論
      

    主站蜘蛛池模板: 91香焦国产线观看看免费| 无码高潮少妇毛多水多水免费| 亚洲日产2021三区在线 | 搜日本一区二区三区免费高清视频 | 久久爰www免费人成| 亚洲综合激情五月丁香六月| 亚洲 自拍 另类小说综合图区| 久久午夜夜伦鲁鲁片免费无码| 亚洲色少妇熟女11p| 国产∨亚洲V天堂无码久久久| 成全高清视频免费观看| a级毛片免费播放| 亚洲精品成a人在线观看☆| 亚洲国产精品一区第二页 | 亚洲AV日韩AV高潮无码专区| 日韩成人在线免费视频| 久久免费视频观看| 免费福利资源站在线视频| 亚洲欧洲日本精品| 亚洲伊人久久大香线蕉综合图片| 最近2019中文免费字幕| 国产精品免费福利久久| 噜噜噜亚洲色成人网站| 亚洲一区二区三区无码国产| 亚洲精品乱码久久久久久按摩 | 国产精品亚洲精品观看不卡| 亚洲综合无码AV一区二区| 日韩免费福利视频| 1000部羞羞禁止免费观看视频| 国产精品免费久久久久久久久| 亚洲色精品三区二区一区| 亚洲特级aaaaaa毛片| 国产亚洲精品a在线观看app| 波多野结衣免费视频观看| 老司机在线免费视频| 91大神免费观看| 久久永久免费人妻精品| 99精品免费视品| 国产A∨免费精品视频| 狼人大香伊蕉国产WWW亚洲| 亚洲色偷偷综合亚洲av78|