2009-07-03 11 views
3

Ich versuche, die Zeilenhintergrundfarbe für das erweiterte Datenraster-Steuerelement in Flex 3 festzulegen. Weiß jemand, ob dies mit einer Style-Funktion möglich ist? Momentan sieht meine Style-Funktion wie folgt aus:Flex Advanced DataGrid Condition Row Hintergrundfarbe

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

Die Hintergrundfarbe ändert sich jedoch nicht.

Ich habe auf der Weinrebe gehört, dass ich möglicherweise einige Methoden überschreiben muss, um die Hintergrundfarbe Eigenschaft zu aktivieren.

Jede Hilfe wäre willkommen.

Grüße Karl

Antwort

9

Ich habe einige Sache wie das getan, aber in meinem Fall Farbe auch von kommenden Daten wurde auch, aber es wird Ihnen helfen. Sie müssen die Datagrid außer Kraft setzen und überschreiben drawRowBackground Methode

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

Damit Sie alle Daten aus der Reihe zu bekommen und sie nach der Farbe.

+0

Ich habe das genauso gemacht. Es funktioniert wirklich gut. –

Verwandte Themen