======== CustomBackgroundComp.as ===========
package {
import mx.controls.Label;
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.*;
import flash.display.Graphics;
public class CustomBackgroundComp extends Label {
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
var g:Graphics = graphics;
g.clear();
var grid1:DataGrid = DataGrid(DataGridListData(listData).owner);
if (grid1.isItemSelected(data) || grid1.isItemHighlighted(data))
return;
if (data[DataGridListData(listData).dataField] > 100)
{
g.beginFill(0xFF0033);
g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill();
}
}
}
}
// ======== Main.mxml ===========
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="600" height="600" xmlns="*" creationComplete="srv.send();" >
<mx:Script>
import mx.collections.ArrayCollection;
import mx.rpc.events.*;
public var rowData : ArrayCollection;
private function resultHandler(event: ResultEvent) : void
{
rowData = event.result.coordinates.values;
myDatagrid.dataProvider = rowData;
}
</mx:Script>
<mx:HTTPService id="srv" url="coordinateValues.xml" useProxy="false" result="resultHandler(event)"/>
<mx:DataGrid id="myDatagrid" width="300" height="300">
<mx:columns>
<mx:Array>
<mx:DataGridColumn dataField="xval" headerText="x value" itemRenderer="CustomBackgroundComp"/>
<mx:DataGridColumn itemRenderer="CustomBackgroundComp" headerText="y value" dataField="yval" />
</mx:Array>
</mx:columns>
</mx:DataGrid>
</mx:Application>
//====== coordinateValues.xml ============
<?xml version="1.0" encoding="utf-8"?>
<coordinates>
<values xval="51" yval="54" />
<values xval="142" yval="225" />
<values xval="3" yval="148" />
<values xval="254" yval="13" />
<values xval="785" yval="18" />
<values xval="46" yval="61" />
<values xval="117" yval="183" />
<values xval="8" yval="111" />
</coordinates>
改变DataGrid单元格颜色
最新推荐文章于 2022-09-08 18:10:03 发布