2009-07-03 11 views
3

Flex 3で高度なデータグリッドコントロールの行の背景色を設定しようとしています。現在、私のスタイルの機能は次のようになります。Flexアドバンストデータグリッドの条件行の背景色

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

私はそのようないくつかのことを行ってきたが、私の場合には色もまた、データから来ていたが、それはあなたを助けるでしょう。 あなたが行からデータを取得し、それに応じて色を与えることができますデータグリッドを無効にし、これにより方法

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);   
     }   
    } 

をdrawRowBackground上書きする必要があります。

+0

私はこれを同じようにしました。それは本当にうまくいく。 –

関連する問題