import mx.graphics.IFill;
import mx.graphics.SolidColor;
import mx.collections.ArrayCollection;
import mx.charts.ChartItem;
import mx.charts.series.items.ColumnSeriesItem;
[Bindable]
public var sales:ArrayCollection = new ArrayCollection([
{ Name:"Reiner", CurrentAmount:69000 },
{ Name:"Klaus", CurrentAmount:38000 },
{ Name:"Alan", CurrentAmount:44000 },
{ Name:"Wolfgang", CurrentAmount:33000 },
{ Name:"Francis", CurrentAmount:20000 },
{ Name:"Klaus-Jurgen", CurrentAmount:55000 },
{ Name:"Martin", CurrentAmount:70000 },
{ Name:"Mac", CurrentAmount:35000 },
{ Name:"Friedemann", CurrentAmount:38000 },
{ Name:"Bruno", CurrentAmount:40000 }
]);
private function myFillFunction(element:ChartItem, index:Number):IFill
{
// Default to green.
var c:SolidColor = new SolidColor(0x00FF00);
var item:ColumnSeriesItem = ColumnSeriesItem(element);
var sales:Number = Number(item.yValue);
if (index == 0) {
// The first column should be green, no matter the value.
return c;
} else {
var prevVal:Number = Number(currSalesSeries.items[index - 1].yValue);
var curVal:Number = Number(currSalesSeries.items[index].yValue);
var diff:Number = curVal - prevVal;
if (diff >= 0) {
// Current column's value is greater than the previous.
return c;
} else {
// Previous column's value is greater than the current.
c.color = 0xFF0000;
}
}
return c;
}
showDataTips="true">
yField="CurrentAmount" fillFunction="myFillFunction"
displayName="Current Sales" />