title: Change Background Color of datagrid cell based on more than one condition in Flex
body: <p>Hi I'm very new to Adobe Flex, apologize if my question sounds stupid. Anyhow here it is.
  I am trying simple datagrid which checks basically 2 conditions
  1) If the Artist is 01 and Album is 'Album 01' set Background to corresponding cell in Column 'Year'.</p>
  
  <p>With my below code 'set Style' to Background Color as property is not working but changing the font color is working and secondly i am not sure how to write the code to get the above nested conditions working? If anybody could help me in this aspect i would be really be grateful.
  Thank you! in Advance. </p>
  
  <p>Below is the code:
  Newdatagrid.mxml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
             xmlns:s="library://ns.adobe.com/flex/spark" 
  
             xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955"          minHeight="600" &gt;
  &lt;fx:Script&gt;
      &lt;![CDATA[
          import mx.collections.ArrayCollection;
          import mx.controls.Alert;
          [Bindable]
          public static var initDG:ArrayCollection = new ArrayCollection([
              {Artist:'01', Album:'Album 01', Year:'2008'},
              {Artist:'01', Album:'Album 02', Year:'2009'},
              {Artist:'03', Album:'Album 03', Year:'2007'},
              {Artist:'03', Album:'Album 04', Year:'2003'},
  
          ]); 
  
      ]]&gt;
  
  &lt;/fx:Script&gt;
  
  
  &lt;s:VGroup&gt;
      &lt;s:DataGrid id="myGrid" width="360" dataProvider="{initDG}"&gt;   
          &lt;s:columns&gt;
              &lt;s:ArrayList&gt;
                  &lt;s:GridColumn dataField="Artist"    headerText="Artist" itemRenderer="CellRenderer"/&gt;
                  &lt;s:GridColumn dataField="Album" headerText="Album" itemRenderer="CellRenderer"/&gt;
                  &lt;s:GridColumn dataField="Year" headerText="Year" itemRenderer="CellRenderer"/&gt;
              &lt;/s:ArrayList&gt;
          &lt;/s:columns&gt;       
      &lt;/s:DataGrid&gt; 
  &lt;/s:VGroup&gt;
  &lt;/s:Application&gt;
  </code></pre>
  
  <p>Renderer:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                  xmlns:s="library://ns.adobe.com/flex/spark" 
                  xmlns:mx="library://ns.adobe.com/flex/mx" 
                      implements="mx.controls.listClasses.IDropInListItemRenderer"&gt;
  &lt;fx:Script&gt;
      &lt;![CDATA[
          import mx.controls.dataGridClasses.DataGridListData;
          import mx.controls.listClasses.BaseListData;
          import mx.controls.Alert;
  
          private var _listData:BaseListData;
  
          [Bindable]private var isSelected:Boolean = false;
  
          override public function set data( value:Object ) : void 
          {
              super.data = value;
              lblData.text = data[column.dataField];
  
              if (data[column.dataField].valueOf() &gt;= 2008){
                  //styleName="myStyles.BgColor";
                  setStyle('backgroundColor',0xFFFF00);
              }else{
                  setStyle('backgroundColor',0x32CD32);
              }
  
          }
  
          [Bindable]public function get listData() : BaseListData
          {
              return _listData;
          }
          public function set listData( value:BaseListData ) : void
          {
              _listData = value;
          }
  
      ]]&gt;
  &lt;/fx:Script&gt;
  &lt;s:Label id="lblData" top="9" left="7" width="100%" height="100%"    textAlign="center"/&gt;
  
  &lt;/s:GridItemRenderer&gt;
  </code></pre>
  
  <p>My Desired Output: Condition: If Artist=01 and Year >= 2008 then cell Background of Year change to Red</p>