2009-07-03 56 views
3

我試圖設置在Flex 3中的先進數據網格控件的行背景顏色有誰知道這是否使用樣式的功能是可能的。目前我的款式功能如下:的Flex高級的Datagrid條件的行背景顏色

public function myStyleFunc(data:Object, col:AdvancedDataGridColumn):Object 
     { 
      if (data["status"] == "PRICING") 
       return {color:0xFF0000 , fontWeight:"bold" , backgroundColor:0xFF0000}; 


      // Return null if the Artist name does not match. 
      return null;  
     }  

但是背景顏色不變。

我已經聽到我可能需要重寫一些方法,使背景顏色屬性的葡萄藤。

任何幫助,將不勝感激。

問候卡爾

回答

9

我做了一些事情一樣,但對我來說顏色也從數據來還,但它會幫助你。 你必須重寫DataGrid和覆蓋drawRowBackground方法

public class CustomDataGrid extends AdvancedDataGrid 
    { 

     protected override function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void{ 
       var XMLdata:XML=rowNumberToData(dataIndex) as XML;    
       if(XMLdata!=null){   
         if(XMLdata.attribute(Constants.col) != undefined && XMLdata.attribute(Constants.col) != ""){ 
          color=XMLdata.attribute(Constants.col);   
         }else{ 
          color=0xFFFFFF; 
         }        
       }    
       super.drawRowBackground(s,rowIndex,y,height,color,dataIndex);   
     }   
    } 

通過這個,你可以從該行得到任何數據,並根據給它的顏色。

+0

我已經這樣做了同樣的方式。它工作得很好。 – 2009-07-03 16:23:46