<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

    急用,謝謝  回復  更多評論
      

    主站蜘蛛池模板: 亚洲白嫩在线观看| 拍拍拍无挡视频免费观看1000 | 亚洲午夜电影在线观看| 亚洲成av人片在线观看天堂无码| 最近2022中文字幕免费视频 | 亚洲精品成a人在线观看夫| 好男人看视频免费2019中文| 国产免费一区二区三区不卡| 亚洲a无码综合a国产av中文| 亚洲成AV人综合在线观看| 免费无码AV电影在线观看| 日本高清免费观看| 香蕉免费看一区二区三区| 日韩亚洲翔田千里在线| 亚洲中文无码卡通动漫野外| 亚洲人成网站在线观看青青| 久久久久久久99精品免费| 色爽黄1000部免费软件下载| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲精品自拍视频| 亚洲日本中文字幕| 免费看少妇作爱视频| 久久久久久久91精品免费观看| 美女视频黄频a免费观看| 亚洲午夜精品一区二区麻豆| 亚洲人6666成人观看| 亚洲精品在线视频观看| 久久久久久a亚洲欧洲AV| 亚洲av永久无码精品古装片| 最新国产AV无码专区亚洲| 亚洲无码精品浪潮| 亚洲中文字幕伊人久久无码| 亚洲AV无码乱码在线观看牲色| 日本a级片免费看| 国产乱子影视频上线免费观看| 青青青国产免费一夜七次郎| 日本黄页网站免费| 国产免费直播在线观看视频| 四虎永久在线精品免费观看地址| 国产高清视频在线免费观看| 又大又硬又爽免费视频|