dataGrid中动态设置行颜色

来源:互联网 发布:sql语句包含关键字 编辑:程序博客网 时间:2024/05/19 19:14

主要是重写drawRowBackground 如下

 

<?xml version="1.0" encoding="utf-8"?>
<mx:DataGrid xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
   <mx:Script>
     <![CDATA[
       override  protected function drawRowBackground(s:Sprite, rowIndex:int,
                                            y:Number, height:Number, color:uint, dataIndex:int):void
       {
          if(dataIndex < dataprovider.length){
           color = uint(dataprovider[dataIndex].color);
          }
                                      
         super.drawRowBackground(s,rowIndex,y,height,color,dataIndex);
       }
     ]]>
      </mx:Script>
  <mx:columns>
   <mx:DataGridColumn headerText="Column 1" dataField="name"/>
   <mx:DataGridColumn headerText="Column 2" dataField="value"/>
   <mx:DataGridColumn headerText="Column 3" dataField="color"/>
  </mx:columns>
  <mx:dataProvider>
   <mx:ArrayCollection id="dataprovider">
       <mx:Object>
        <mx:name>dd</mx:name>
        <mx:value>10</mx:value> 
        <mx:color>0xFFAA00</mx:color>
       </mx:Object>
    <mx:Object>
        <mx:name>aa</mx:name>
        <mx:value>200</mx:value> 
        <mx:color>0x00FF12</mx:color>
       </mx:Object>
       <mx:Object>
        <mx:name>cc</mx:name>
        <mx:value>110</mx:value> 
        <mx:color>0x5500FF</mx:color>
       </mx:Object>
   </mx:ArrayCollection>
  </mx:dataProvider> 
</mx:DataGrid>

 

效果如下

效果

 

原创粉丝点击